Claude-skill-registry ln-110-project-docs-coordinator
Coordinates project documentation creation. Gathers context once, detects project type, delegates to 5 L3 workers (ln-111-115). L2 Coordinator invoked by ln-100.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/ln-110-project-docs-coordinator" ~/.claude/skills/majiayu000-claude-skill-registry-ln-110-project-docs-coordinator && rm -rf "$T"
skills/data/ln-110-project-docs-coordinator/SKILL.mdProject Documentation Coordinator
L2 Coordinator that gathers project context once and delegates document creation to specialized L3 workers.
Purpose & Scope
- Single context gathering — analyzes project once, builds Context Store
- Project type detection — determines hasBackend, hasDatabase, hasFrontend, hasDocker
- Delegates to 5 workers — passes Context Store to each worker
- Aggregates results — collects status from all workers, returns summary
- Solves the "context loss" problem by gathering data once and passing explicitly
Invocation (who/when)
- ln-100-documents-pipeline: Invoked as first L2 coordinator in documentation pipeline
- Never called directly by users
Inputs
From ln-100 (via Phase 0 Legacy Migration):
{ "LEGACY_CONTENT": { "legacy_architecture": { "sections": [...], "diagrams": [...] }, "legacy_requirements": { "functional": [...] }, "legacy_principles": { "principles": [...], "anti_patterns": [...] }, "legacy_tech_stack": { "frontend": "...", "backend": "...", "versions": {} }, "legacy_api": { "endpoints": [...], "authentication": "..." }, "legacy_database": { "tables": [...], "relationships": [...] }, "legacy_runbook": { "prerequisites": [...], "install_steps": [...], "env_vars": [...] } } }
LEGACY_CONTENT is passed to workers as base content. Priority: Legacy > Auto-discovery > Template defaults.
Architecture
ln-110-project-docs-coordinator (this skill) ├── Phase 1: Context Gathering (ONE TIME) ├── Phase 2: Delegate to Workers │ ├── ln-111-root-docs-creator → 4 root docs (ALWAYS) │ ├── ln-112-project-core-creator → 3 core docs (ALWAYS) │ ├── ln-113-backend-docs-creator → 2 docs (if hasBackend/hasDatabase) │ ├── ln-114-frontend-docs-creator → 1 doc (if hasFrontend) │ └── ln-115-devops-docs-creator → 1 doc (if hasDocker) └── Phase 3: Aggregate Results
Workflow
Phase 1: Context Gathering (ONE TIME)
1.1 Auto-Discovery (scan project files):
| Source | Data Extracted | Context Store Keys |
|---|---|---|
| package.json | name, description, dependencies, scripts, engines, author, contributors | PROJECT_NAME, PROJECT_DESCRIPTION, DEPENDENCIES, DEV_COMMANDS, DEVOPS_CONTACTS |
| docker-compose.yml | services, ports, deploy.replicas, runtime:nvidia | DOCKER_SERVICES, DEPLOYMENT_SCALE, HAS_GPU |
| Dockerfile | runtime version | RUNTIME_VERSION |
| src/ structure | folders, patterns | SRC_STRUCTURE, ARCHITECTURE_PATTERN |
| migrations/ | table definitions | SCHEMA_OVERVIEW |
| .env.example | environment variables | ENV_VARIABLES |
| tsconfig.json, .eslintrc | conventions | CODE_CONVENTIONS |
| README.md | project description, scaling mentions | PROJECT_DESCRIPTION (fallback), DEPLOYMENT_SCALE (fallback) |
| CODEOWNERS | maintainers | DEVOPS_CONTACTS |
| git log | frequent committers | DEVOPS_CONTACTS (fallback) |
1.2 Detect Project Type:
| Flag | Detection Rule |
|---|---|
| hasBackend | express/fastify/nestjs/fastapi/django in dependencies |
| hasDatabase | pg/mongoose/prisma/sequelize in dependencies OR postgres/mongo in docker-compose |
| hasFrontend | react/vue/angular/svelte in dependencies |
| hasDocker | Dockerfile exists OR docker-compose.yml exists |
1.3 User Materials Request:
- Ask: "Do you have existing materials (requirements, designs, docs)?"
- If provided: Extract answers for Context Store
1.4 MCP Research (for detected technologies):
- Use Context7/Ref for best practices
- Store in Context Store for workers
1.5 Build Context Store:
{ "PROJECT_NAME": "my-project", "PROJECT_DESCRIPTION": "...", "TECH_STACK": { "frontend": "React 18", "backend": "Express 4.18", "database": "PostgreSQL 15" }, "DEPENDENCIES": [...], "SRC_STRUCTURE": { "controllers": [...], "services": [...] }, "ENV_VARIABLES": ["DATABASE_URL", "JWT_SECRET"], "DEV_COMMANDS": { "dev": "npm run dev", "test": "npm test" }, "DOCKER_SERVICES": ["app", "db"], "DEPLOYMENT_SCALE": "single", "DEVOPS_CONTACTS": [], "HAS_GPU": false, "flags": { "hasBackend": true, "hasDatabase": true, "hasFrontend": true, "hasDocker": true } }
DEPLOYMENT_SCALE detection rules:
(default): No deploy.replicas, no scaling keywords in README"single"
: deploy.replicas > 1 OR load balancer mentioned"multi"
: auto-scaling keywords in README/docker-compose"auto-scaling"
: runtime: nvidia in docker-compose"gpu-based"
DEVOPS_CONTACTS fallback chain:
- CODEOWNERS file → extract maintainers
- package.json author/contributors → extract names/emails
- git log → top 3 frequent committers
- If all empty →
[TBD: Provide DevOps team contacts]
1.6 Merge Legacy Content (if provided by ln-100):
- Check if
was passed from ln-100 Phase 0LEGACY_CONTENT - If exists, merge into Context Store:
contextStore.LEGACY_CONTENT = input.LEGACY_CONTENT - Merge priority for workers:
→ used by ln-112 for architecture.mdLEGACY_CONTENT.legacy_architecture
→ used by ln-112 for requirements.mdLEGACY_CONTENT.legacy_requirements
→ merged with auto-discovered TECH_STACKLEGACY_CONTENT.legacy_tech_stack
→ used by ln-111 for principles.mdLEGACY_CONTENT.legacy_principles
→ used by ln-113 for api_spec.mdLEGACY_CONTENT.legacy_api
→ used by ln-113 for database_schema.mdLEGACY_CONTENT.legacy_database
→ used by ln-115 for runbook.mdLEGACY_CONTENT.legacy_runbook
- If no LEGACY_CONTENT: workers use auto-discovery + template defaults
Phase 2: Delegate to Workers
2.1 Always invoke (parallel):
with Context Storeln-111-root-docs-creator
with full Context Storeln-112-project-core-creator
2.2 Conditionally invoke:
if hasBackend OR hasDatabaseln-113-backend-docs-creator
if hasFrontendln-114-frontend-docs-creator
if hasDockerln-115-devops-docs-creator
Delegation Pattern:
- Pass Context Store and flags to workers via direct Skill tool invocation
- Wait for completion
- Collect result (created, skipped, tbd_count, validation)
Phase 3: Aggregate Results
- Collect status from all workers
- Sum totals: created files, skipped files, TBD markers
- Report any validation warnings
- Return aggregated summary to ln-100
- Include Context Store for subsequent workers (ln-120 needs TECH_STACK)
Output:
{ "workers_invoked": 5, "total_created": 11, "total_skipped": 0, "total_tbd": 8, "validation_status": "OK", "files": [ "CLAUDE.md", "docs/README.md", "docs/documentation_standards.md", "docs/principles.md", "docs/project/requirements.md", "docs/project/architecture.md", "docs/project/tech_stack.md", "docs/project/api_spec.md", "docs/project/database_schema.md", "docs/project/design_guidelines.md", "docs/project/runbook.md" ], "context_store": { "PROJECT_NAME": "...", "TECH_STACK": { "frontend": "React 18", "backend": "Express 4.18", "database": "PostgreSQL 15" }, "DEPENDENCIES": [...], "flags": { "hasBackend": true, "hasDatabase": true, "hasFrontend": true, "hasDocker": true } } }
Critical Notes
- Context gathered ONCE — never duplicated in workers
- Context Store passed explicitly — no implicit state
- Workers self-validate — coordinator only aggregates
- Idempotent — workers skip existing files
- Parallel where possible — ln-111 and ln-112 can run in parallel
Documentation Standards (passed to workers)
- NO_CODE Rule: Documents describe contracts, not implementations
- Stack Adaptation: Links must match TECH_STACK (Context Store)
- Format Priority: Tables/ASCII > Lists > Text
Definition of Done
- Context Store built with all discovered data
- Project type flags determined
- All applicable workers invoked
- Results aggregated
- Summary returned to ln-100
Reference Files
- Guides:
,references/guides/automatic_analysis_guide.md
,critical_questions.mdtroubleshooting.md
Version: 2.1.0 (Added Documentation Standards passed to workers) Last Updated: 2025-01-12