Install
openclaw skills install @clarezoe/ai-csuiteRuns a script-backed AI C-Suite strategic debate for SaaS teams. It builds a stage-aware executive roster, generates structured debate rounds, synthesizes a Chief-of-Staff brief, and outputs a CEO decision with action items. Includes security and output validation scripts designed for VirusTotal-safe distribution.
openclaw skills install @clarezoe/ai-csuiteUse this skill when the user needs a strategic decision on product, engineering, pricing, go-to-market, hiring, operations, or competitive response.
The user's topic is: $ARGUMENTS
This skill is operational via local scripts in scripts/:
prepare_session.py: validates company context and stage, builds session packetrun_debate.py: generates full multi-round debate + CEO decisionvalidate_output.py: validates required output sections and fieldssecurity_scan.py: checks for suspicious code patterns for release safetyjev.py: optional TypeSafe judgments, inert unless --jev is passedNo hidden network execution, no obfuscation, and no credential reads are required.
By default every judgment in this skill is deterministic: topic classification is
keyword matching, consensus is a vote count, confidence is a fixed 7, and the
escalation rules below are documented but not checked. Passing --jev to
run_debate.py replaces those with real judgments from TypeSafe's Jev model.
python3 scripts/run_debate.py --topic "$ARGUMENTS" --company-file config/company.yaml --output logs/latest-decision.md --jev
What Jev decides, in two requests:
Choice over the six decision areas).Choice over the positions actually
argued), reversibility (Choice), CEO confidence (Score, mapped to 0-10),
and the five escalation rules (one Noul each, run in parallel).Escalations at probability >= 0.5 are rendered into the CEO brief risk flags
with their probability. Tune that threshold against real decisions rather than
treating it as a fixed rule.
Requires TYPESAFE_API_KEY in the environment. Without --jev the skill never
touches the network.
Fallback is total, and the output is byte-identical to a run without --jev.
A missing key, an unreachable or slow endpoint, a rejected key, a rate limit, a
malformed body, or a well-formed answer with an out-of-range or wrong-typed value
all degrade to the deterministic path with a warning; none of them fail the run.
Validation is atomic — a single bad field discards the whole verdict, so a run
never mixes judged values with static ones.
scripts/test_jev_fallback.py exercises 25 failure modes and asserts each one
reproduces the baseline output exactly. Run it after touching jev.py.
Load company context from:
config/company.yamlIf missing, ask the user for:
solo | pre-seed | seed | series-a| Stage | Debate Agents | Rounds |
|---|---|---|
| solo | CEO, CTO, CPO, CFO, CoS | 2 |
| pre-seed | CEO, CTO, CPO, CoS, CV | 2 |
| seed | CEO, CTO, CPO, CMO, CRO, CoS, CV | 3 |
| series-a | CEO, CTO, CPO, CFO, CMO, CRO, COO, CSA, CISO, CoS, CV | 3 |
Data brief agents are always:
CV for customer signalsCFO for financial constraintsIf CV or CFO are not in the debate roster for that stage, they still provide pre-round data.
| Squad | Members | Lead |
|---|---|---|
| Strategy | CEO, CFO, COO, CoS | CFO |
| Product | CTO, CPO, CSA, CISO | CPO |
| Growth | CMO, CRO, CV | CRO |
Intra-squad challenges are direct. Cross-squad challenges are mediated by CoS.
python3 scripts/security_scan.py .
python3 scripts/prepare_session.py --topic "$ARGUMENTS" --company-file config/company.yaml
python3 scripts/run_debate.py --topic "$ARGUMENTS" --company-file config/company.yaml --output logs/latest-decision.md
python3 scripts/validate_output.py --file logs/latest-decision.md
Use this exact order:
CV + CFO)3-5 sentences each)3-5 sentences each)2-3 sentences, only 3-round stages)The final output must include:
DATA BRIEF (Pre-Round)CEO BRIEFCEO DECISIONDECISIONRATIONALEWHAT I WEIGHEDOVERRIDESNEXT STEPSREVIEW TRIGGERCONFIDENCEREVERSIBILITYAlways enforce:
Rules 1, 2, 3, 4 and a groupthink check are evaluated automatically under --jev.
Without --jev they are your responsibility when presenting the result.
Each role opens with its own category-specific position, so Round 1 is genuinely
contested rather than the same recommendation repeated. Consensus is a weighted
pick: a role whose remit covers the category counts double. When the top two
positions tie, the brief reports a deadlock and states that the CEO is breaking
the tie rather than ratifying agreement. Roles that lost are named under
Key Tensions, and a debate with no dissent says so explicitly instead of
presenting unanimity as strength.
Distribution-safe expectations:
eval/exec/shell injection behaviorapi.typesafe.ai, reached solely via stdlib urllib and solely when the
operator passes --jevTYPESAFE_API_KEY from the environment only on that opt-in path, and
never logs or writes itconfig/, logs/)SKILL.md