CAF — Current-State Teardown
Scope. A diagnostic snapshot of the Catalyst Assessment Framework as it stands today. Teardown only — no restructure recommendations in this document. Based on a close read of UNDERSTANDING.md, the root CONTRACTS.md, and a representative leaf skill (1-1-input-shape-classifier); details that need the live repo to confirm are flagged [verify-against-repo].
What CAF is
A library of 106 agent "skills" (markdown prompt-specs) that, run in sequence, walk a consultant through assessing a client engagement and emit a build manifest: a plan of what agents/skills should be built for that client. CAF plans; it does not build. Every skill declares allowed-tools: Read Grep; none carry Skill, Agent, or Task tools, so no skill can invoke another skill, spawn a sub-agent, or execute anything against a real system.
Architecture: 7 phases + Meta-Council
Phase structure (v4 numbering):
- Engagement Framing
- Pre-Engagement Discovery & Readiness
- Discovery / Classification / Archetype Tagging
- Prioritization / Governance / Platform-Native Inventory
- Skill Contracts / Composition / Validation Archetype
- Execution & Iteration
- Scale / Replicate / Productize
Above the phases sits a Meta-Council with cross-phase VETO/HALT authority: m-1 portfolio strategist (HALT authority), m-2 prioritization integrity, m-3 expectation steward. Some phases also carry per-phase meta-personas (2-m, 3-m).
Phase 4 additionally contains lettered sub-paths (4A, 4B, 4C, 4D, 4G, S4) whose naming scheme is not explained by the root docs — the selection logic between paths appears to live in operator judgment rather than in any router skill [verify-against-repo].
The handoff contracts (Contract 0–6)
Seven contracts govern the phase boundaries. They are structural-semantic rather than rigid schemas: each specifies the categories of information that must flow, carries confidence/provenance metadata and minimum completeness thresholds, and requires archetype tags, platform target, and domain rules to propagate unchanged downstream. Contracts exist only as YAML blobs inside the conversation; nothing is written to disk.
Four structural gaps
- No marketplace plugin. Install is a bespoke
bin/install.shcopyingskills/into~/.claude/skills/plus 6 other targets, with versioning via a custom.caf-skills.lock. The rootSKILL.mdis a catalog document, not an invokable command; there is no master/catalystentry point. - No persistence / not resumable. Because contracts flow as in-conversation YAML only — no manifest file, no
engagements/directory, no run ledger — a fresh session cannot resume an engagement unless the operator pastes prior YAML back in by hand. - No live orchestrator. "Orchestration" today means the operator runs 106 skills by hand in phase order. The two synthesizer skills (
2-10-orchestrator,3-10-readiness-synthesizer) aggregate a phase's outputs into the handoff contract but invoke nothing. - Skills are inert against real systems. Pure
Read/Grepplus YAML emission: the skills describe deterministic checks (SQL re-execution, lineage verification) but cannot perform them. The co-installedds-*/agent-*/sql-*CLI toolkit is not wired into CAF reasoning.
Migration debt (v3→v4)
A codemod renumbered phases (+2) and flattened nested phaseX/ directories into a flat skills/. The migration is half-finished:
- Frontmatter is correct, bodies are not. Skill bodies still contain old phase numbers (e.g.
1-1-input-shape-classifiersays "Phase 3 (3.1)" where it should read Phase 1). - At least one corrupted threshold. A naive numeric pass turned
0.7 → 2.7on a 0–1 confidence scale, so a Hard Constraint now reads "confidence below 2.7" — always true; that gate is effectively broken. - Stale root docs.
SKILL.md,README.md, andCONTRACTS.mdare still v3 and contradict the live v4 layout (skills/,CATALOG.md,docs/PHASE_TAXONOMY.md).CONTRACTS.mdis only half-renumbered: headers say Contract 0 = Phase 1→2 while frontmatter and body say Phase 6→7.
Per-skill anatomy (why the count is 106)
Each leaf skill is a multi-hundred-line specification for a single step: Overview, Key Questions, a Hard Constraint with a PROHIBITED-from list, Produces, a verbatim Role Prompt, Capabilities, a weighted Evaluation Criteria table, Instructions, and YAML I/O. This is heavy prescription of how rather than what — a prompting style tuned for older, less capable models. It is the direct cause of the 106-skill count: every judgment is decomposed into its own hand-walked micro-step.
Summary
CAF today is a thorough, well-thought-out planning rubric executed entirely by operator labor: rich phase taxonomy, real contract discipline, genuine HITL gates — but no install story beyond a copy script, no on-disk state, no orchestration, no execution capability, and unresolved v3→v4 migration debt that includes one silently broken quality gate. The intellectual content is strong; the delivery vehicle predates current agent-platform capabilities.
A companion restructure proposal (separate document) exists; this teardown intentionally stops at diagnosis.