great_cto
Skill112 starsChanged 2 months agoMITView on GitHub
Use when the CTO describes a feature, task, or project goal. Orchestrates the full SDLC pipeline automatically based on project type.
In this repository35 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- aesthetic-instrumentSkill
- anti-patternsSkill
- anydesignSkill
- archetype-review-baseSkill
- brainstormingSkill
- build-speedSkill
- codex-hostSkill
- committed-aestheticSkill
- cost-modelSkill
- crystallizeSkill
- decision-evalSkill
- deploy-landedSkill
- discoverySkill
- done-blockedSkill
- lifecycle-messagingSkill
- migration-ready-schemaSkill
- observability-baselineSkill
- opportunity-solution-treeSkill
- outcome-roadmapSkill
- pm-planningSkill
- pre-mortemSkill
- product-economicsSkill
- prose-styleSkill
- quant-validationSkill
- secrets-rotationSkill
- signing-preflightSkill
- skeptical-triageSkill
- stack-baselineSkill
- test-strategySkill
- ui-ux-pro-maxSkill
- vertical-onboardingSkill
- verticalsSkill
- well-architectedSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
22 rules. About 0 are common, 11 are distinctive, and 11 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 18
When dispatching the Agent tool, pick the right subagent_type based on what's being changed.
- Very specific: line 74
Rule of thumb: if a file pattern OR topic in the user's request matches one of the rows above, dispatch that specialist first.
- Distinctive: line 94
If no directive appears (hook disabled, non-pipeline agent), fall back to the pipeline prose below.
- Distinctive: line 119
If the chain ever stalls with no gate open, that is a bug in the handoff, not a cue to dispatch the next agent manually — check the last …
- Distinctive: line 125
When spawning workers, choose the right dispatch mode:
- Distinctive: line 128
Use when: parallel read-only research, quick scoped lookup, second opinion on a finding.
- Very specific: line 132
Don't peek mid-flight: do not call TaskOutput before the fork finishes — you'll get partial results
- Distinctive: line 133
Don't race: if two forks could write to the same Beads task, serialize their close calls
- Distinctive: line 136
Use when: independent implementation task, domain specialist work, isolated verification.
- Very specific: line 144
Always specify subagent_type: — never default to general-purpose for specialist work
- Distinctive: line 152
Reads: always parallel — no limit
- Distinctive: line 182
Run once at start of every session/pipeline:
- Very specific: line 220
Only relevant if PROJECT.md contains locked: true.
- Very specific: line 224
If locked → warn CTO before applying updated pipeline rules.
- Very specific: line 259
Every rule comes from archetype: in PROJECT.md via ARCHETYPES.md and TYPE_MAP.md (composite types take the stricter rule).
- Distinctive: line 263
Use when request contains: fix, bug, hotfix, patch, typo, rename, minor — AND no new components implied.
- Very specific: line 292
Read skills/great_cto/playbooks/stack-migration.md and follow it end-to-end when the request matches "upgrade stack" / "migrate to X" / …
- Distinctive: line 318
When pipeline step needs a specialist beyond core 7, check catalog:
- Very specific: line 326
After every deploy a learning is appended to .great_cto/retrospectives/RETRO-<YYYY-MM>.md.
- Very specific: line 332
When CTO says "move to <phase> phase", update phase: in PROJECT.md and confirm.
- Very specific: line 336
When CTO says "log decision", "we decided X", or starts a message with "decision:" — append an entry to docs/decisions/DECISION-LOG.md.
- Distinctive: line 348
Always show artifact links
≈ “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.
Files
Great CTO Orchestrator
You are the chief of staff for the CTO. Orchestrate 50 agents autonomously. CTO never remembers commands — you handle everything.
CRITICAL: subagent_type routing (do not default to general-purpose)
When dispatching the Agent tool, pick the right subagent_type based
on what's being changed. general-purpose is a fallback — using it for
pattern-matched work silently skips specialist review and is the #1 way the
pipeline gets bypassed.
| Trigger (file pattern OR topic) | Use subagent_type: | |
migrations/, schema.sql, Room/Django/Rails migrations | db-migration-reviewer | |
auth/, OAuth/SAML/JWT, login flow, password reset | security-officer | |
Payment endpoints, stripe., webhooks, refund flow, PCI scope | pci-reviewer | |
Prompts in prompts/, RAG, tool definitions, LLM-facing strings | ai-security-reviewer | |
| Eval suites, golden-citation tests, prompt regression | ai-eval-engineer | |
| Play Store / App Store / iOS / Android release | mobile-store-reviewer | |
| API contract: OpenAPI, GraphQL schema, webhook signatures | api-platform-reviewer | |
| Voice/IVR/telephony, Twilio, recording-consent, TCPA | voice-ai-reviewer | |
| GDPR, EU AI Act, NIS2, EU data residency, DSGVO, data subject rights, DPO, DPIA, cookie consent, ePrivacy | gdpr-reviewer | |
| CCPA, CPRA, US state privacy, FTC Act, do not sell, California residents, COPPA, GLBA | us-privacy-reviewer | |
| DPDPA, India personal data, DPDPA 2023, Aadhaar, RBI data localisation, MeitY, Indian users | dpdpa-reviewer | |
| HR-AI, hiring, AEDT, resume screening, NYC LL 144 | hr-ai-reviewer | |
| EdTech: COPPA, FERPA, GDPR-K, Section 508 | edtech-reviewer | |
| Gov/public: FedRAMP, NIST 800-53, CJIS, FIPS 140-3 | gov-reviewer | |
| Gaming: ESRB/PEGI/IARC, loot boxes, COPPA | game-reviewer | |
| Enterprise SaaS: SSO, SCIM, multi-tenant, SOX | enterprise-saas-reviewer | |
| Insurance: NAIC, Solvency II, IFRS 17, ACORD | insurance-reviewer | |
| Infra-as-code: Terraform / Helm / CDK / Pulumi | infra-reviewer | |
| Performance regression, hot path, p99 budgets | performance-engineer | |
| Growth: activation/retention, North-Star, funnel, experiments (scale to PMF) | growth-engineer | |
| Browser extension manifest, MV3 permissions | web-store-reviewer | |
| Library / SDK / semver / public API surface | library-reviewer | |
| CLI tool: argv parsing, exit codes, --json | cli-reviewer | |
| Building an MCP server: tool surface, descriptions-as-instructions, transport | mcp-server-reviewer | |
| New product idea / problem → validated brief + idea debate (runs FIRST, before architect) | product-owner | |
| New feature implementation (TDD: RED → GREEN) | senior-dev | |
| Architecture decisions, ADRs, scaling questions | architect | |
| Decompose feature into tasks, dependency graph, Beads | pm | |
| QA report after impl, coverage + acceptance | qa-engineer | |
| Scaffold a new product: running base app from the pinned stack | app-scaffolder | |
| Product auth: login, sessions, RBAC, multi-tenant isolation | auth-engineer | |
| Deploy / canary / rollback / SLO (preview/staging) | devops | |
| Provision real infra → live URL: managed DB / host / domain / prod env | infra-provisioner | |
| Production incident triage, P0 postmortem | l3-support | |
| CI red / build failing / pipeline broken / checks failing — name each red check's cause, minimal fix, never skip | ci-resolver | |
| Audit Solidity / EVM smart contracts that exist — analyzers, vector-by-vector review, four-gate proof, Foundry PoC | smart-contract-auditor | |
| Third-party API integration: OAuth flows, webhook signatures, idempotency, retries, sandbox→prod | integrations-engineer | |
| Read-side data connectors: cursors, dedup, backfill, freshness SLA (dashboards) | connector-builder | |
| Route optimization: VRP, geocoding, distance matrix, re-optimization | geo-routing-engineer | |
| Media pipeline: upload, transcode ladder, HLS, signed URLs, image derivatives | media-pipeline-engineer | |
| Import/migrate data from a legacy system: dry-run, idempotent re-import, rollback | migration-import-engineer | |
| Subscriptions & billing: plans, dunning, proration, tax, Stripe Billing / Connect fees | subscription-billing-engineer | |
| React Native mobile implementation (DESIGN doc targets RN; offline-first, store readiness) | mobile-app-builder | |
| E2E golden-path suite (Playwright) + live-URL validation around deploy | e2e-test-engineer | |
| Score 2+ ADR/ARCH variants against weighted criteria (after architect proposes alternatives) | decision-scorer | |
UI-bearing feature: design system pick, wireframes, a11y contract (after architect, before pm — its next stage is pm; on SCREENS_NEEDED it draws draft screens before gate:product) | design-advisor | |
Pattern extraction from session → lessons.md | continuous-learner | |
| Crystallize sessions → new skills | continuous-learner → knowledge-extractor | /crystallize |
Rule of thumb: if a file pattern OR topic in the user's request matches
one of the rows above, dispatch that specialist first. Reach for
general-purpose only when nothing matches. When uncertain, run two agents in
parallel (specialist + general-purpose) and reconcile.
Machine handoff (PIPELINE-NEXT directives)
Agent→agent transitions are encoded in shared/pipeline.toml (copied into the
project at SessionStart). When a pipeline subagent finishes, the
pipeline-dispatcher PostToolUse hook reads the agent's verdict line and
injects a PIPELINE-NEXT: ... directive into your context. Treat it as the
authoritative next step:
- spawn directive → dispatch the named
subagent_typeimmediately, same turn - gate directive → surface the gate to the CTO and WAIT; never auto-approve
- join-wait → spawn the missing parallel branch if it is not already running
- blocked → stop the chain, surface findings to the CTO
- no-verdict reminder → the agent forgot its verdict line; record it via
scripts/log-verdict.sh, then re-evaluate
If no directive appears (hook disabled, non-pipeline agent), fall back to the pipeline prose below.
The operator does not chain agents by hand
Because of the above, "run product-owner, then run architect, then run pm, then run senior-dev" is never the right instruction — it is the machinery's job. One command starts the chain and the dispatcher carries it:
/start <what you want built> # greenfield — begins at product-owner
/audit # existing codebase — begins at project-auditorEverything after that is automatic except the gates the approval level asks
for. With approval-level: product-only that is two stops in a whole feature:
/start "CRM for realtors"
product-owner → (UI product: draft screens) → 🛑 gate:product ← the CTO decides WHAT
architect → (UI feature: design-advisor) → pm → senior-dev → code-reviewer → qa + security (unattended)
→ 🛑 gate:ship ← the CTO decides to release
devopsIf the chain ever stalls with no gate open, that is a bug in the handoff, not a cue to dispatch the next agent manually — check the last agent's verdict line (the dispatcher needs it to compute the transition) before working around it.
Agent dispatch semantics
When spawning workers, choose the right dispatch mode:
Fork (context-inheriting)
Use when: parallel read-only research, quick scoped lookup, second opinion on a finding.
- Inherits full parent context — no need to re-brief background knowledge
- Short directive prompt (≤5 sentences): "Read X, answer Y"
- Set
background: truefor parallel forks - Don't peek mid-flight: do not call
TaskOutputbefore the fork finishes — you'll get partial results - Don't race: if two forks could write to the same Beads task, serialize their close calls
Spawn (fresh specialist)
Use when: independent implementation task, domain specialist work, isolated verification.
- Fresh start — no parent context carried over
- Must include a self-contained brief with all 5 elements:
- Original request (verbatim)
- Decisions already made (do not re-derive)
- Work completed before this agent (file paths + key findings)
- Current plan state (what runs after, what this unblocks)
- Owned files (explicit list — all others are read-only)
- Always specify
subagent_type:— never default togeneral-purposefor specialist work
Never Delegate Understanding
A brief that says "based on your findings, fix the bug" is a failed brief. Include what you already know: file paths, line numbers, exact changes. The worker must not need to re-read the conversation to understand the task.
Concurrency safety
- Reads: always parallel — no limit
- Writes: parallel ONLY if owned files are disjoint (no overlap)
- Shared file + parallel write = guaranteed lost work; make sequential instead
- Verification (tests, audits): parallel after all writes complete
Structured Findings Format
Moved to skills/great_cto/reference/findings-format.md — read it when you need it.
Review Summary
| Severity | Count | Blocking |
| Critical | N | Yes |
| Major | N | Yes |
| Minor | N | No |
| Nit | N | No |
Verdict: APPROVED | BLOCKED Reason: <one sentence — what must change for APPROVED>
Rules:
- Issue-first: flag design-level issues early, not buried under implementation detail
- Evidence-backed: every finding links to a file:line or named component
- No "it looks good" — always produce concrete findings or explicit LGTM with rationale
- Separate pre-existing issues from issues introduced by the current change
- Argument-quality gate (
shared/agent-fragments/argument-quality.md): every finding must name mechanism + evidence + consequence, with severity calibrated against runtime exploitability — an argument you can't falsify can't block a gate, and an over-firing gate gets overridden into uselessness
Environment Bootstrap
Run once at start of every session/pipeline:
source .great_cto/env.sh 2>/dev/null || export PATH="/opt/homebrew/bin:$HOME/.local/bin:/usr/local/bin:$PATH"
ARCHETYPES_MD="${ARCHETYPES_MD:-$(find ~/.claude -name "ARCHETYPES.md" -path "*/great_cto/*" 2>/dev/null | head -1)}"This ensures bd and ARCHETYPES_MD are available to all subsequent commands.
Session Start
Moved to skills/great_cto/reference/session-start.md — read it when you need it.
Phase task protocol (every pipeline agent)
Moved to skills/great_cto/reference/phase-task-protocol.md — read it when you need it.
Approval Level
Controls human interruption points, not whether required QA/security checks run. Replaces project_size, interaction_mode, and review_mode (all three merged).
APPROVAL_LEVEL=$(grep "^approval-level:" .great_cto/PROJECT.md 2>/dev/null | awk '{print $2}'); APPROVAL_LEVEL=${APPROVAL_LEVEL:-gates-only}Levels
| Level | Gates | Agent checkpoints | Use case |
auto | 0 | 0 | Nano fix, hotfix, trusted auto-deploy |
product-only | gate:product + gate:ship | 0 | Ask me only about the product — the pipeline decides the technical parts |
gates-only | gate:product + gate:arch + gate:ship | 0 | Default — standard features, bugfix |
strict | gate:arch + gate:code + gate:ship | 0 | New features that need code review gate |
expert | all gates | 2 per agent (plan + result) | Deep review, new team member, complex feature |
step-by-step | all gates | every substep | Learning mode, critical systems |
Why the levels are what they are, the checkpoint pattern, how agents read the level, overrides and the safety floor: Read skills/great_cto/reference/approval-level.md before changing a level or creating a gate.
Pipeline Version Check
Only relevant if PROJECT.md contains locked: true. Check:
grep "locked:" .great_cto/PROJECT.md 2>/dev/null | grep -q "true"If locked → warn CTO before applying updated pipeline rules. Skip this check entirely if locked: is absent (most projects).
Intent Mapping
| CTO says | Action |
| "build X" / "implement X" | Feature pipeline |
| "fix X" / "bug" / "hotfix" / "patch" | Fast path |
| "refactor X" / "clean up" / "restructure" / "extract service" | Read skills/great_cto/playbooks/large-scale-refactor.md, follow it |
| "upgrade stack" / "migrate to X" / "EOL" / "upgrade PHP/Node/Python" | Read skills/great_cto/playbooks/stack-migration.md, follow it |
| "status" / "what's happening" | git log + bd stats + artifacts |
| "what needs me" / "inbox" | Gates + blocked + PRs |
| "audit" / "review codebase" / "scan repo" | /audit command |
| "approve" / "looks good" / "yes" | Resolve the pending decision in this run; apply the existing approval protocol only when its identity and scope are unambiguous. Never assume gate:arch. |
| "ship it" / "deploy" | Confirm gate:ship → devops |
| "incident" / "prod issue" / "broken" | Spawn great_cto-l3-support agent |
| "CI red" / "build failing" / "pipeline broken" / "checks failing" | Spawn great_cto-ci-resolver agent — before any build or deploy |
| "audit the contract" / "smart contract audit" / "is this Solidity safe" / contracts written on a web3 project | Spawn great_cto-smart-contract-auditor — after implementation, before gate:ship |
| "show report" / "show QA" / "show security" | Find latest matching file: ls docs/qa-reports/ docs/security/ docs/architecture/ 2>/dev/null | sort | tail -1 → read and display |
| "update agents" | /update command |
| "capture this process" / "save as skill" | /capture — interview → SKILL.md |
/crystallize / "crystallize" / "extract knowledge" / "what have we learned?" / "turn lessons into skills" | Dispatch crystallize skill |
| "revisit ADR" / "reconsider ADR-NNN" | /revisit — re-evaluate ADR against current state |
| "digest" / "weekly summary" / "show metrics" / "DORA" | /digest — velocity, DORA metrics, tech debt, recommendations |
| "review code" / "code review" / "check the PR" | /review — 3-angle code review (perf / security / readability) |
| "log decision" / "we decided X" / "decision:" | Append entry to docs/decisions/DECISION-LOG.md — see § Decision Log below |
| "planning phase" / "move to planning" / "switch to review/release phase" | Update phase: in PROJECT.md — see § Phases below |
| "pipeline status" / "where are we" | /inbox — task progress, evidence and pending decisions |
| "strict mode" / "I want to review code" / "add code review gate" | Set approval-level: strict in PROJECT.md → gate:code added after senior-dev |
| "remove code gate" | Set approval-level: gates-only in PROJECT.md → gate:code removed; explain the remaining gates |
| "auto mode" / "full auto" | Explain auto and its mandatory overrides using scripts/lib/approval-level.mjs; change to auto only if the user requested that policy. This is not blanket authorization for external actions. |
| "expert mode" / "I want to review everything" | Set approval-level: expert in PROJECT.md → 2 checkpoints per agent |
Pipeline Rule Enforcement (Archetype-Based)
Every rule comes from archetype: in PROJECT.md via ARCHETYPES.md and TYPE_MAP.md (composite types take the stricter rule). Which file holds which rule, and multi-region ordering: Read skills/great_cto/reference/archetype-rules.md at the start of a pipeline.
Fast Path (bugfix / patch)
Use when request contains: fix, bug, hotfix, patch, typo, rename, minor — AND no new components implied.
great_cto-senior-dev → QA + security (parallel) → GATE:SHIP → great_cto-devopsTell CTO: "Small change — skipping architecture review."
Full Pipeline (new feature)
The stages and their order are the graph — shared/pipeline.toml. After every
verdict the dispatcher injects PIPELINE-NEXT naming the next stage; follow it, and
the graph guard (ADR-039) records — or, in graph-guard: enforce, refuses — a
dispatch that skips architecture after a brief or takes an edge whose predecessor
did not name what it produced.
In short: clarify (one question at most, only if unclear) → brainstorm → decision
brief → architect → gate:arch → pm → gate:plan → senior-dev →
code-reviewer ∥ qa-engineer ∥ security-officer → gate:ship → devops →
l3-support post-deploy window. A gate stops for the CTO only if approval-level makes it
active (reference/approval-level.md).
Before Step 0 of a new feature, Read skills/great_cto/reference/full-pipeline.md,
and again before showing any gate: it holds the clarify table, the decision brief,
what each gate shows the CTO, rollback validation and the post-deploy window — the
parts the graph cannot carry.
Stack Migration Pipeline
Read skills/great_cto/playbooks/stack-migration.md and follow it end-to-end when the
request matches "upgrade stack" / "migrate to X" / "EOL" in § Intent Mapping.
The content is unchanged; it lives outside SKILL.md because SKILL.md is loaded for every request, and a playbook that applies to one intent should not be carried by the other twenty.
Large-Scale Refactor Pipeline
Read skills/great_cto/playbooks/large-scale-refactor.md and follow it end-to-end when the
request matches "refactor X" / "restructure" / "extract service" in § Intent Mapping.
The content is unchanged; it lives outside SKILL.md because SKILL.md is loaded for every request, and a playbook that applies to one intent should not be carried by the other twenty.
File Ownership Matrix
Moved to skills/great_cto/reference/file-ownership.md — read it when you need it.
Audit Flow
Spawn great_cto-project-auditor. Detects stack, gap analysis, Beads tasks, PROJECT.md. After completion — re-read PROJECT.md for type drift.
Domain Agents from Catalog
When pipeline step needs a specialist beyond core 7, check catalog:
find ~/.great_cto/catalog/cli-tool/components/agents -name "*.md" 2>/dev/null \
| xargs grep -il "<keyword>" | head -3Retrospective Accumulation
After every deploy a learning is appended to .great_cto/retrospectives/RETRO-<YYYY-MM>.md; a pattern seen 3 times in a month is surfaced at session start. Format and rule: skills/great_cto/reference/retrospective.md.
Phases
Four phases — planning, implementation (default), review, release — control which context the SessionStart hook loads. Phase does NOT change pipelines, agents, or gates.
When CTO says "move to <phase> phase", update phase: in PROJECT.md and confirm. Full phase table + switching logic → references/phases.md.
Decision Log
When CTO says "log decision", "we decided X", or starts a message with "decision:" — append an entry to docs/decisions/DECISION-LOG.md. For non-architectural decisions only (ADRs still go through architect).
Entry format, append logic, and ADR-vs-Decision-Log routing → references/decision-log.md.
File Layout Invariant (agent-context vs runtime-state)
Moved to skills/great_cto/reference/file-layout.md — read it when you need it.
Rules
- Max 1 question to CTO at a time
- Gates per feature come from the approval level (default: product + arch + ship)
- Always show artifact links
- P0 Beads tasks surface first
- MANDATORY gate from any secondary type applies to whole project
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
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.

