agentleFS
serejarisserejaris/ris-claude-code/skills/ceo-council/SKILL.md

ceo-council

Skill243 starsChanged 3 months agoMITView on GitHub

Use when needing strategic project analysis from multiple independent expert perspectives. Triggers on business decisions, growth strategy, product direction, competitive analysis, or any situation where diverse C-level opinions reduce blind spots

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 7 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    DO NOT: use bash, shell scripts, or background commands to launch experts.

    line 23
  2. Distinctive:

    Before suggesting experts, understand the project:

    line 29
  3. Distinctive:

    Read CLAUDE.md (or README.md if absent)

    line 31
  4. Distinctive:

    MANDATORY: Ask the user before proceeding: Do not pick roles yourself.

    line 39
  5. Very specific:

    Use AskUserQuestion with multiSelect: true:

    line 41
  6. Distinctive:

    Minimum 2 experts: If user picks 1, suggest adding one more for productive disagreement

    line 44
  7. Distinctive:

    Wait for all experts to return results before proceeding to synthesis.

    line 108
  8. Distinctive:

    After all experts report, create a synthesis document:

    line 114

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

CEO Council — Independent Strategic Analysis

Launch parallel sub-agents as isolated C-level experts. Each analyzes the same project data from their perspective. No coordination between experts — isolation produces genuine diversity of opinion. Then synthesize consensus and disagreements.

Critical: How to Launch Experts

MUST use the Task tool with subagent_type: "general-purpose" and model: "opus".

Task(
  subagent_type: "general-purpose",
  model: "opus",
  prompt: "<expert prompt with data>",
  description: "CFO analysis"
)

DO NOT use bash, shell scripts, or background commands to launch experts. They will fail.

Launch all experts in a single message with multiple Task tool calls for true parallelism.

Step 1: Scan Project Context

Before suggesting experts, understand the project:

  1. Read CLAUDE.md (or README.md if absent)
  2. Scan .claude/rules/ for domain context
  3. Glance at top-level file structure

Based on findings, generate 4-6 expert roles tailored to THIS project. Roles must reflect the project's actual domain, challenges, and stage.

Step 2: Assemble the Council

MANDATORY: Ask the user before proceeding. Do not pick roles yourself.

Use AskUserQuestion with multiSelect: true:

  • Show 4-6 role options with short descriptions of their focus
  • User can always pick "Other" to define custom roles
  • Minimum 2 experts. If user picks 1, suggest adding one more for productive disagreement

Role Examples by Project Type

Don't copy these — generate fresh roles based on actual project context:

Project TypeTypical Roles
SaaSHead of Engineering, Head of Product, Head of Growth, CFO, UX Researcher
Open SourceCommunity Manager, Technical Architect, DevRel, Security Advisor
Content / MediaContent Strategist, Audience Analyst, Monetization Expert, Distribution Expert
EdTechCMO, CFO, CPO, COO, Growth Advisor
E-commerceHead of Supply Chain, Marketing Director, CTO, Customer Experience Lead
Agency / ConsultingSales Director, Delivery Lead, Talent Manager, CFO

Step 3: Gather Current Data

Collect project state to feed all experts. Stay focused on what's relevant:

Read:

  • Key metrics/data files identified during context scan
  • Strategy and planning documents
  • Recent decisions or changes (git log --oneline -10)
  • Previous council analyses (if any)

Skip: GitHub traffic stats, stargazer counts, clone data, contributor lists — these are vanity metrics, not strategic data.

All experts must receive identical data context. Prepare the data block ONCE, then paste it into each expert prompt.

Step 4: Generate Expert Prompts

For each selected expert, create a prompt with the SAME data block:

You are the [ROLE] for [PROJECT NAME]. Analyze the data below from a [DOMAIN] perspective.

Focus on:
- [3-6 specific focus areas relevant to role and project]

Data:
[CURRENT PROJECT DATA — identical for all experts]

[Role-specific instruction: "show the math", "be the contrarian", "prioritize by effort/impact", etc.]

Respond in the same language as the data provided.

Rules:

  • Each expert gets the SAME data block — prepare it once, reuse
  • Focus areas must be specific to the project, not generic
  • Include a personality instruction (contrarian, pragmatic, data-driven)
  • Mention project constraints the expert should know

Step 5: Execute

Launch ALL selected experts in one message using multiple Task tool calls:

# In a single response, call Task for each expert:
Task(subagent_type: "general-purpose", model: "opus", prompt: "<CFO prompt>", description: "CFO analysis")
Task(subagent_type: "general-purpose", model: "opus", prompt: "<CPO prompt>", description: "CPO analysis")
Task(subagent_type: "general-purpose", model: "opus", prompt: "<CTO prompt>", description: "CTO analysis")

Wait for all experts to return results before proceeding to synthesis.

Step 6: Synthesize

Do not skip this step. The synthesis is the entire value of the council.

After all experts report, create a synthesis document:

# Council Session: [DATE]

## Council Members
[List of selected experts and their focus]

## Context
[Current metrics/state snapshot — brief]

## [Expert 1 Name]
[Key findings and recommendations]

## [Expert 2 Name]
[Key findings and recommendations]

## Consensus (all agree)
1. ...
2. ...

## Disagreements
| Expert | Position | Argument |
|--------|----------|----------|
| ... | ... | ... |

## Decisions
_To be filled after discussion._

Save Results

Save to a logical location:

  • docs/council-[DATE].md — default
  • Or project-specific path if context suggests one

Common Mistakes

MistakeFix
Picking roles without asking userALWAYS use AskUserQuestion first
Using bash to launch expertsONLY use Task tool with subagent_type: "general-purpose"
Giving experts different dataPrepare ONE data block, paste into all prompts
Gathering vanity metricsFocus on project docs, strategy, actual metrics
Too many experts (6+)3-4 is optimal for signal-to-noise
Skipping synthesisThe synthesis IS the value — never skip

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.