ln-110-project-docs-coordinator
Scannednpx machina-cli add skill levnikolaevich/claude-code-skills/ln-110-project-docs-coordinator --openclawPaths: File paths (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.
Project 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:
"single"(default): No deploy.replicas, no scaling keywords in README"multi": deploy.replicas > 1 OR load balancer mentioned"auto-scaling": auto-scaling keywords in README/docker-compose"gpu-based": runtime: nvidia in docker-compose
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
LEGACY_CONTENTwas passed from ln-100 Phase 0 - If exists, merge into Context Store:
contextStore.LEGACY_CONTENT = input.LEGACY_CONTENT - Merge priority for workers:
LEGACY_CONTENT.legacy_architecture→ used by ln-112 for architecture.mdLEGACY_CONTENT.legacy_requirements→ used by ln-112 for requirements.mdLEGACY_CONTENT.legacy_tech_stack→ merged with auto-discovered TECH_STACKLEGACY_CONTENT.legacy_principles→ used by ln-111 for principles.mdLEGACY_CONTENT.legacy_api→ used by ln-113 for api_spec.mdLEGACY_CONTENT.legacy_database→ used by ln-113 for database_schema.mdLEGACY_CONTENT.legacy_runbook→ used by ln-115 for runbook.md
- If no LEGACY_CONTENT: workers use auto-discovery + template defaults
Phase 2: Delegate to Workers
2.1 Always invoke (parallel):
ln-111-root-docs-creatorwith Context Storeln-112-project-core-creatorwith full Context Store
2.2 Conditionally invoke:
ln-113-backend-docs-creatorif hasBackend OR hasDatabaseln-114-frontend-docs-creatorif hasFrontendln-115-devops-docs-creatorif hasDocker
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
- Actuality verified: all document facts match current code (paths, functions, APIs, configs exist and are accurate)
- Summary returned to ln-100
Reference Files
- Guides:
references/guides/automatic_analysis_guide.md,critical_questions.md,troubleshooting.md
Version: 2.1.0 Last Updated: 2025-01-12
Source
git clone https://github.com/levnikolaevich/claude-code-skills/blob/master/ln-110-project-docs-coordinator/SKILL.mdView on GitHub Overview
ln-110 acts as a L2 Coordinator that gathers project context once, detects project type, and delegates documentation tasks to five L3 workers. It aggregates the workers’ outputs to produce a coherent doc set. It is invoked by ln-100 as part of the documentation pipeline.
How This Skill Works
Phase 1 collects context from Legacy_CONTENT and auto-discovery, building a Context Store and detecting hasBackend, hasDatabase, hasFrontend, and hasDocker. Phase 2 delegates to five workers: ln-111-root-docs-creator (4 root docs), ln-112-project-core-creator (3 core docs), ln-113-backend-docs-creator (2 docs if hasBackend/hasDatabase), ln-114-frontend-docs-creator (1 doc if hasFrontend), and ln-115-devops-docs-creator (1 doc if hasDocker). Phase 3 aggregates worker results into a final summary returned to the caller.
When to Use It
- Starting a new project and needing a one-time context gathering for documentation
- Projects with mixed tech stacks (backend, frontend, database, Docker) requiring coordinated doc sets
- Migrating legacy materials into a modern, centralized docs suite
- Automatically detecting project type to decide which documents to generate
- Integrating doc generation into an existing pipeline (ln-100) with a clear Phase 3 aggregation
Quick Start
- Step 1: Trigger ln-110 via ln-100-documents-pipeline to start Phase 1
- Step 2: Allow Phase 1 to auto-discover, detect project type, and build the Context Store
- Step 3: Dispatch to ln-111–ln-115 and aggregate results into the final documentation set
Best Practices
- Run Phase 1 once to establish a stable Context Store and prevent context loss
- Validate hasBackend, hasDatabase, hasFrontend, and hasDocker before delegating to workers
- Pass the complete Context Store to all workers without re-gathering data
- Honor the input priority: Legacy_CONTENT > Auto-discovery > Template defaults
- Thoroughly validate and reconcile worker outputs in Phase 3 for a coherent summary
Example Use Cases
- A monorepo with Express backend, PostgreSQL, Docker Compose, and a React frontend
- A legacy Django project migrating to a modern docs suite with root and core docs
- A microservices setup with multiple tech stacks requiring backend, frontend, and devops docs
- A project with a frontend (Vue) and no backend or Docker, generating frontend docs only
- An app with no existing docs, where ln-110 creates root, core, and optional docs based on detected signals