Claude Code Plugins

Community-maintained marketplace

Feedback

Use when bootstrapping C3 documentation for any project - guides through Socratic discovery and delegates to layer skills for document creation

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name c3-adopt
description Use when bootstrapping C3 documentation for any project - guides through Socratic discovery and delegates to layer skills for document creation

C3 Adopt

⛔ CRITICAL GATE: Check Existing State First

STOP - Before ANY adoption work, execute:

ls -la .c3/ 2>/dev/null || echo "NO_C3_DIR"
cat .c3/README.md 2>/dev/null || echo "NO_CONTEXT"

Based on output:

  • If "NO_C3_DIR" → Fresh project, proceed with scaffolding
  • If .c3/ exists with content → Ask user: update, backup+recreate, or abort?
  • If .c3/ exists but empty → Proceed with scaffolding

⚠️ DO NOT read existing ADRs during adoption:

  • ADRs are historical records from past decisions
  • For fresh adoption, they add confusing context
  • If rebuilding, user will specify what to preserve

Why this gate exists: Blindly creating .c3/ can overwrite existing documentation.

Self-check before proceeding:

  • I executed the commands above
  • I know whether .c3/ exists
  • If exists: I asked user what to do

Overview

Bootstrap C3 architecture documentation through Socratic questioning and delegation. Works for existing codebases and fresh projects.

Announce: "I'm using the c3-adopt skill to initialize architecture documentation."


Scenario Detection

Scenario Signal Path
Fresh project No .c3/, no code Questions → Scaffold → Document
Existing codebase Code exists, no .c3/ Explore code → Questions → Document
Rebuild needed .c3/ exists, user wants reset Backup → Fresh start

V3 Structure (MANDATORY)

.c3/
├── README.md                     ← Context (c3-0) IS the README
├── TOC.md                        ← Table of contents
├── settings.yaml                 ← Project settings
├── c3-1-{slug}/
│   ├── README.md                 ← Container 1
│   └── c3-101-{slug}.md          ← Component inside container
├── c3-2-{slug}/
│   └── README.md                 ← Container 2
└── adr/
    └── adr-YYYYMMDD-{slug}.md    ← ADRs

File Path Rules:

Level Path Example
Context .c3/README.md .c3/README.md (ONLY this)
Container .c3/c3-{N}-{slug}/README.md .c3/c3-1-backend/README.md
Component .c3/c3-{N}-{slug}/c3-{N}{NN}-{slug}.md .c3/c3-1-backend/c3-101-api.md
ADR .c3/adr/adr-{YYYYMMDD}-{slug}.md .c3/adr/adr-20251216-auth.md

Process

Phase 1: Detect

Already done via Critical Gate.

Phase 2: Discover (Socratic Questions)

For fresh projects:

  • "What problem does this system solve?"
  • "Who are the users/actors?"
  • "What are the major deployable parts?"

For existing codebases:

  • Explore code structure first
  • "I see X, Y, Z directories. What are the major containers?"
  • "How do these parts communicate?"

Phase 3: Scaffold

# Create base structure
mkdir -p .c3/adr

# Create container folders based on discovery
mkdir -p .c3/c3-1-{slug}
mkdir -p .c3/c3-2-{slug}

# Create empty README (will be filled by c3-context-design)
touch .c3/README.md

Phase 4: Delegate to Layer Skills

INVOKE each skill in order:

Order Skill Creates
1 Use Skill tool → c3-context-design .c3/README.md
2 Use Skill tool → c3-container-design .c3/c3-{N}-*/README.md
3 Use Skill tool → c3-component-design .c3/c3-{N}-*/c3-{N}{NN}-*.md
4 Use Skill tool → c3-config .c3/settings.yaml

Phase 5: Generate TOC

After all docs created:

# Run TOC generator
./scripts/build-toc.sh
# Or manually create TOC.md

⛔ Enforcement Harnesses

Harness 1: V3 Structure (No V2 Patterns)

Rule: Use V3 hierarchical structure. V2 flat structure is prohibited.

Prohibited (V2) Required (V3)
context/c3-0.md .c3/README.md
containers/c3-1.md .c3/c3-1-{slug}/README.md
components/c3-101.md .c3/c3-1-{slug}/c3-101-{slug}.md

🚩 Red Flags:

  • Creating context/, containers/, or components/ folders
  • Any file named c3-0.md
  • Components outside their container folder

Harness 2: Skill Delegation (No Hallucination)

Rule: INVOKE layer skills. Never create C3 docs directly.

Anti-Pattern Correct Action
Writing .c3/README.md content directly Use Skill tool → c3-context-design
"c3-container-design would create..." Invoke the skill
Creating docs without skill invocation Always delegate to layer skill

🚩 Red Flag: Write tool used on .c3/ files without prior Skill tool invocation


Verification Checklist

Before claiming adoption complete, execute:

# Verify V3 structure
ls .c3/README.md                           # Context exists
ls -d .c3/c3-[1-9]-*/                       # Container folders exist
ls .c3/c3-[1-9]-*/README.md                 # Container READMEs exist

# Verify no V2 patterns
ls .c3/context/ 2>/dev/null && echo "ERROR: V2 context folder"
ls .c3/containers/ 2>/dev/null && echo "ERROR: V2 containers folder"
ls .c3/components/ 2>/dev/null && echo "ERROR: V2 components folder"
  • Critical gate executed (existing state checked)
  • User scenario confirmed (fresh/existing/rebuild)
  • Discovery questions completed
  • V3 structure scaffolded
  • Layer skills INVOKED (not described)
  • All verification commands pass
  • TOC generated

📚 Reading Chain Output

At the end of adoption, output a reading chain for the newly created docs.

Format:

## 📚 Your New C3 Documentation

**Start here:**
└─ .c3/README.md (c3-0) - System overview

**Then explore containers:**
├─ .c3/c3-1-{slug}/README.md - [description]
├─ .c3/c3-2-{slug}/README.md - [description]
└─ ...

**Key components to understand:**
├─ c3-101 - [why this is important]
└─ c3-201 - [why this is important]

*Reading chain generated from docs created during adoption.*

Rules:

  • List docs in logical reading order (context → containers → key components)
  • Explain WHY each doc matters (not generic)
  • Help user navigate their new documentation

Related

  • references/discovery-questions.md - Socratic question templates
  • references/v3-structure.md - File structure conventions
  • references/archetype-hints.md - Container type patterns