445 lines
15 KiB
Markdown
445 lines
15 KiB
Markdown
---
|
|
name: ln-111-root-docs-creator
|
|
description: Creates root documentation (CLAUDE.md + docs/README.md + documentation_standards.md + principles.md). First worker in ln-110-documents-pipeline. Establishes documentation structure and standards.
|
|
---
|
|
|
|
# Root Documentation Creator
|
|
|
|
This skill creates the root documentation entry points for a project: CLAUDE.md (project root), docs/README.md (documentation hub with general standards), docs/documentation_standards.md (60 universal documentation requirements), and docs/principles.md (11 development principles).
|
|
|
|
## When to Use This Skill
|
|
|
|
**This skill is a WORKER** invoked by **ln-110-documents-pipeline** orchestrator.
|
|
|
|
This skill should be used directly when:
|
|
- Creating only root documentation files (CLAUDE.md + docs/README.md + documentation_standards.md + principles.md)
|
|
- Setting up documentation structure for existing project
|
|
- NOT creating full documentation structure (use ln-110-documents-pipeline for complete setup)
|
|
|
|
## How It Works
|
|
|
|
The skill follows a 3-phase workflow: **CREATE** → **VALIDATE STRUCTURE** → **VALIDATE CONTENT**. Each phase builds on the previous, ensuring complete structure and semantic validation.
|
|
|
|
---
|
|
|
|
### Phase 1: Create Structure
|
|
|
|
**Objective**: Create all 4 root documentation files.
|
|
|
|
**Process**:
|
|
|
|
**1.1 Create CLAUDE.md**:
|
|
- Check if CLAUDE.md exists in project root
|
|
- If exists:
|
|
- Read first 50 lines
|
|
- Check for link to `docs/README.md`
|
|
- If missing:
|
|
- Use Edit tool to add Documentation section:
|
|
```markdown
|
|
## Documentation
|
|
|
|
Project documentation: [docs/README.md](docs/README.md)
|
|
```
|
|
- Log: "✓ Added docs link to existing CLAUDE.md"
|
|
- If present:
|
|
- Log: "✓ CLAUDE.md already has docs link"
|
|
- If NOT exists:
|
|
- Ask user: "Project name?"
|
|
- Ask user: "Brief project description (1-2 sentences)?"
|
|
- Copy template: `references/claude_md_template.md` → `CLAUDE.md`
|
|
- Replace placeholders:
|
|
- `{{PROJECT_NAME}}` — user input
|
|
- `{{PROJECT_DESCRIPTION}}` — user input
|
|
- `{{DATE}}` — current date (YYYY-MM-DD)
|
|
- Log: "✓ Created CLAUDE.md"
|
|
|
|
**1.2 Create docs/README.md**:
|
|
- Check if docs/README.md exists
|
|
- If exists:
|
|
- Skip creation
|
|
- Log: "✓ docs/README.md already exists"
|
|
- If NOT exists:
|
|
- Create docs/ directory if missing
|
|
- Copy template: `references/docs_root_readme_template.md` → `docs/README.md`
|
|
- Ask user: "Documentation status? (Draft/Active)"
|
|
- Replace placeholders:
|
|
- `{{VERSION}}` — "1.0.0"
|
|
- `{{DATE}}` — current date (YYYY-MM-DD)
|
|
- `{{STATUS}}` — user input
|
|
- Log: "✓ Created docs/README.md"
|
|
|
|
**1.3 Create docs/documentation_standards.md**:
|
|
- Check if docs/documentation_standards.md exists
|
|
- If exists:
|
|
- Skip creation
|
|
- Log: "✓ docs/documentation_standards.md already exists"
|
|
- If NOT exists:
|
|
- Copy template: `references/documentation_standards_template.md` → `docs/documentation_standards.md`
|
|
- Replace placeholders:
|
|
- `{{DATE}}` — current date (YYYY-MM-DD)
|
|
- `{{PROJECT_NAME}}` — from 1.1 (if collected)
|
|
- Log: "✓ Created docs/documentation_standards.md"
|
|
|
|
**1.4 Create docs/principles.md**:
|
|
- Check if docs/principles.md exists
|
|
- If exists:
|
|
- Skip creation
|
|
- Log: "✓ docs/principles.md already exists"
|
|
- If NOT exists:
|
|
- Copy template: `references/principles_template.md` → `docs/principles.md`
|
|
- Replace placeholders:
|
|
- `{{DATE}}` — current date (YYYY-MM-DD)
|
|
- Log: "✓ Created docs/principles.md"
|
|
|
|
**1.5 Output**:
|
|
```
|
|
CLAUDE.md # Created or updated with docs link
|
|
docs/
|
|
├── README.md # Created or existing
|
|
├── documentation_standards.md # Created or existing
|
|
└── principles.md # Created or existing
|
|
```
|
|
|
|
---
|
|
|
|
### Phase 2: Validate Structure
|
|
|
|
**Objective**: Ensure all 4 files comply with structural requirements and auto-fix violations.
|
|
|
|
**Process**:
|
|
|
|
**2.1 Check SCOPE tags**:
|
|
- Read first 10 lines of CLAUDE.md
|
|
- Check for `> **SCOPE:**` or `<!-- SCOPE: ... -->` tag
|
|
- If missing:
|
|
- Use Edit tool to add SCOPE tag after first heading:
|
|
```markdown
|
|
> **SCOPE:** Entry point with project overview and navigation ONLY.
|
|
```
|
|
- Track violation: `scope_tag_added_claude = True`
|
|
- Read first 10 lines of docs/README.md
|
|
- Check for `<!-- SCOPE: ... -->` tag
|
|
- If missing:
|
|
- Use Edit tool to add SCOPE tag after version info:
|
|
```markdown
|
|
<!-- SCOPE: Root documentation hub with general standards and navigation ONLY. -->
|
|
```
|
|
- Track violation: `scope_tag_added_docs_readme = True`
|
|
- Read first 10 lines of docs/principles.md
|
|
- Check for `> **SCOPE:**` or `<!-- SCOPE: ... -->` tag
|
|
- If missing:
|
|
- Use Edit tool to add SCOPE tag
|
|
- Track violation: `scope_tag_added_principles = True`
|
|
|
|
**2.2 Check required sections (parametric loop)**:
|
|
|
|
Define file parameters:
|
|
```
|
|
files = [
|
|
{
|
|
"path": "CLAUDE.md",
|
|
"sections": ["Documentation", "Documentation Maintenance Rules", "Maintenance"]
|
|
},
|
|
{
|
|
"path": "docs/README.md",
|
|
"sections": ["General Documentation Standards", "Writing Guidelines", "Maintenance"]
|
|
},
|
|
{
|
|
"path": "docs/documentation_standards.md",
|
|
"sections": ["Quick Reference", "Maintenance"]
|
|
},
|
|
{
|
|
"path": "docs/principles.md",
|
|
"sections": ["Decision-Making Framework", "Verification Checklist", "Maintenance"]
|
|
}
|
|
]
|
|
```
|
|
|
|
For each file in files:
|
|
1. Read file content
|
|
2. For each required section:
|
|
- Check if `## [Section Name]` header exists
|
|
- If missing:
|
|
- Use Edit tool to add section with placeholder:
|
|
```markdown
|
|
## [Section Name]
|
|
|
|
{{PLACEHOLDER}}
|
|
```
|
|
- Track violation: `missing_sections[file] += 1`
|
|
|
|
**2.3 Check Maintenance sections**:
|
|
- For each file in [CLAUDE.md, docs/README.md, docs/documentation_standards.md, docs/principles.md]:
|
|
- Search for `## Maintenance` header
|
|
- If missing:
|
|
- Use Edit tool to add at end of file:
|
|
```markdown
|
|
## Maintenance
|
|
|
|
**Update Triggers:**
|
|
- [To be defined]
|
|
|
|
**Verification:**
|
|
- [ ] All links resolve to existing files
|
|
- [ ] All placeholders replaced with content
|
|
|
|
**Last Updated:** [current date]
|
|
```
|
|
- Track violation: `maintenance_added[file] = True`
|
|
|
|
**2.4 Check POSIX file endings**:
|
|
- For each file:
|
|
- Check if file ends with single blank line
|
|
- If missing:
|
|
- Use Edit tool to add final newline
|
|
- Track fix: `posix_fixed[file] = True`
|
|
|
|
**2.5 Report validation**:
|
|
- Log summary:
|
|
```
|
|
✅ Structure validation complete:
|
|
- SCOPE tags: [count] files fixed
|
|
- Missing sections: [count] sections added across [count] files
|
|
- Maintenance sections: [count] files fixed
|
|
- POSIX endings: [count] files fixed
|
|
```
|
|
- If violations found: "⚠️ Auto-fixed [total] structural violations"
|
|
|
|
---
|
|
|
|
### Phase 3: Validate Content
|
|
|
|
**Objective**: Ensure each file answers its questions with meaningful content.
|
|
|
|
**Process**:
|
|
|
|
**3.1 Load validation spec**:
|
|
- Read `references/questions.md`
|
|
- Parse questions and validation heuristics for all 4 files
|
|
|
|
**3.2 Validate files (parametric loop)**:
|
|
|
|
Define file parameters:
|
|
```
|
|
files = [
|
|
{
|
|
"path": "CLAUDE.md",
|
|
"question": "Where is project documentation located and how to navigate it?",
|
|
"heuristics": [
|
|
"Contains link: [docs/README.md](docs/README.md)",
|
|
"Has SCOPE tag in first 10 lines",
|
|
"Contains 'Documentation Navigation Rules' section",
|
|
"Length > 80 words"
|
|
],
|
|
"auto_discovery": ["Check package.json for name/description"]
|
|
},
|
|
{
|
|
"path": "docs/README.md",
|
|
"question": "What is the documentation structure and what are general standards?",
|
|
"heuristics": [
|
|
"Contains SCOPE tag",
|
|
"Has 'General Documentation Standards' section",
|
|
"Has 'Writing Guidelines' section",
|
|
"Mentions SCOPE Tags, Maintenance Sections, Sequential Numbering",
|
|
"Length > 100 words"
|
|
],
|
|
"auto_discovery": ["Scan docs/ structure for subdirectories"]
|
|
},
|
|
{
|
|
"path": "docs/documentation_standards.md",
|
|
"question": "What are the comprehensive documentation requirements?",
|
|
"heuristics": [
|
|
"Contains 'Quick Reference' section with table",
|
|
"Has 12+ main sections (##)",
|
|
"File size > 300 lines",
|
|
"Mentions ISO/IEC/IEEE, DIATAXIS, arc42"
|
|
],
|
|
"auto_discovery": []
|
|
},
|
|
{
|
|
"path": "docs/principles.md",
|
|
"question": "What are the development principles and decision framework?",
|
|
"heuristics": [
|
|
"Contains SCOPE tag",
|
|
"Lists 11 principles",
|
|
"Has 'Decision-Making Framework' section",
|
|
"Has 'Verification Checklist' section",
|
|
"File size > 300 lines"
|
|
],
|
|
"auto_discovery": []
|
|
}
|
|
]
|
|
```
|
|
|
|
For each file in files:
|
|
|
|
1. **Read file content**:
|
|
- Extract full file content
|
|
|
|
2. **Check if content answers question**:
|
|
- Apply validation heuristics
|
|
- If ANY heuristic passes → content valid, skip to next file
|
|
- If ALL fail → content invalid, continue
|
|
|
|
3. **Auto-discovery** (if content invalid or placeholder present):
|
|
- **CLAUDE.md**:
|
|
- Check package.json for "name" and "description"
|
|
- If found, suggest to user: "Would you like to use '{name}' and '{description}' from package.json?"
|
|
- **docs/README.md**:
|
|
- Scan docs/ directory for subdirectories (project/, reference/, tasks/)
|
|
- Generate navigation links dynamically
|
|
- **docs/documentation_standards.md**, **docs/principles.md**:
|
|
- Use template as-is (universal standards)
|
|
- No auto-discovery needed
|
|
|
|
4. **Skip external API calls**:
|
|
- Templates already complete with universal standards
|
|
- No MCP Ref needed
|
|
|
|
**3.3 Report content validation**:
|
|
- Log summary:
|
|
```
|
|
✅ Content validation complete:
|
|
- Files checked: 4
|
|
- Already valid: [count]
|
|
- Auto-discovery applied: [count]
|
|
- Template content used: [count]
|
|
```
|
|
|
|
---
|
|
|
|
## Complete Output Structure
|
|
|
|
```
|
|
project_root/
|
|
├── CLAUDE.md # ← Project entry point with link to docs/
|
|
└── docs/
|
|
├── README.md # ← Root documentation hub (general standards)
|
|
├── documentation_standards.md # ← Documentation requirements (60 universal requirements)
|
|
└── principles.md # ← Development principles (11 principles + Decision Framework + Verification Checklist)
|
|
```
|
|
|
|
**Note**: Other documentation (project/, reference/, tasks/, presentation/) created by other workers in ln-110-documents-pipeline workflow.
|
|
|
|
---
|
|
|
|
## Reference Files Used
|
|
|
|
### Templates
|
|
|
|
**CLAUDE.md Template**:
|
|
- `references/claude_md_template.md` - Minimal CLAUDE.md with documentation link
|
|
|
|
**Root README Template**:
|
|
- `references/docs_root_readme_template.md` (v1.1.0) - Root documentation hub with:
|
|
- Overview (documentation system organization)
|
|
- General Documentation Standards (SCOPE Tags, Maintenance Sections, Sequential Numbering, Placeholder Conventions)
|
|
- Writing Guidelines (Progressive Disclosure Pattern)
|
|
- Maintenance section (Update Triggers, Verification, Last Updated)
|
|
|
|
**Documentation Standards Template**:
|
|
- `references/documentation_standards_template.md` (v1.0.0) - Documentation requirements with:
|
|
- Quick Reference (60 universal requirements in 12 categories)
|
|
- Claude Code Integration (#26-30)
|
|
- AI-Friendly Writing Style (#31-36)
|
|
- Markdown Best Practices (#37-42)
|
|
- Code Examples Quality (#43-47)
|
|
- DIATAXIS Framework (#48-52)
|
|
- Project Files (#53-58)
|
|
- Visual Documentation (#67-71)
|
|
- Conventional Commits & Changelog (#72-75)
|
|
- Security & Compliance (#76-79)
|
|
- Performance & Optimization (#80-82)
|
|
- Project-Specific Customization Guide
|
|
- References (industry sources)
|
|
- Maintenance section
|
|
|
|
**Development Principles Template**:
|
|
- `references/principles_template.md` (v1.0.0) - Development principles with:
|
|
- 11 Core Principles (Standards First, YAGNI, KISS, DRY, Consumer-First Design, Task Granularity, Value-Based Testing, No Legacy Code, Token Efficiency, Documentation-as-Code, Security by Design)
|
|
- Decision-Making Framework (7 steps: Security → Standards → Correctness → Simplicity → Necessity → Maintainability → Performance)
|
|
- Trade-offs (when principles conflict)
|
|
- Anti-Patterns to Avoid
|
|
- Verification Checklist (11 items)
|
|
- Maintenance section
|
|
|
|
**Validation Specification**:
|
|
- `references/questions.md` (v1.0) - Question-driven validation:
|
|
- Questions each file must answer
|
|
- Validation heuristics
|
|
- Auto-discovery hints
|
|
|
|
---
|
|
|
|
## Best Practices
|
|
|
|
- **No premature validation**: Phase 1 creates structure, Phase 2 validates it (no duplicate checks)
|
|
- **Parametric validation**: Phases 2-3 use loops for 4 files (no code duplication)
|
|
- **Auto-discovery first**: Check package.json and docs/ structure before asking user
|
|
- **Idempotent**: ✅ Can run multiple times safely (checks existence before creation)
|
|
- **Separation of concerns**: CREATE → VALIDATE STRUCTURE → VALIDATE CONTENT
|
|
- **CLAUDE.md**: Keep minimal - only project name, description, and docs link
|
|
- **docs/README.md**: General standards only - NO project-specific content
|
|
- **SCOPE Tags**: Include in first 3-10 lines of all documentation files
|
|
|
|
---
|
|
|
|
## Prerequisites
|
|
|
|
**Invoked by**: ln-110-documents-pipeline orchestrator
|
|
|
|
**Requires**: None (first worker in chain)
|
|
|
|
**Creates**:
|
|
- CLAUDE.md (project entry point)
|
|
- docs/README.md (documentation hub)
|
|
- docs/documentation_standards.md (60 requirements)
|
|
- docs/principles.md (11 principles + Decision Framework)
|
|
- Validated structure and content
|
|
|
|
---
|
|
|
|
## Definition of Done
|
|
|
|
Before completing work, verify ALL checkpoints:
|
|
|
|
**✅ Structure Created:**
|
|
- [ ] CLAUDE.md exists in project root
|
|
- [ ] docs/ directory exists
|
|
- [ ] docs/README.md exists
|
|
- [ ] docs/documentation_standards.md exists
|
|
- [ ] docs/principles.md exists
|
|
|
|
**✅ Structure Validated:**
|
|
- [ ] SCOPE tags present in CLAUDE.md, docs/README.md, docs/principles.md
|
|
- [ ] Required sections present in all 4 files
|
|
- [ ] Maintenance sections present in all 4 files
|
|
- [ ] POSIX file endings compliant
|
|
|
|
**✅ Content Validated:**
|
|
- [ ] All files checked against questions.md
|
|
- [ ] CLAUDE.md has docs link
|
|
- [ ] docs/README.md has General Standards + Writing Guidelines
|
|
- [ ] docs/documentation_standards.md has Quick Reference + 12 sections
|
|
- [ ] docs/principles.md has 11 principles + Decision Framework + Verification Checklist
|
|
|
|
**✅ Reporting:**
|
|
- [ ] Phase 1 logged: creation summary
|
|
- [ ] Phase 2 logged: structural fixes (if any)
|
|
- [ ] Phase 3 logged: content validation (if any)
|
|
|
|
---
|
|
|
|
## Technical Details
|
|
|
|
**Standards**:
|
|
- ISO/IEC/IEEE 29148:2018 (Documentation standards)
|
|
- Progressive Disclosure Pattern (token efficiency)
|
|
|
|
**Language**: English only
|
|
|
|
---
|
|
|
|
**Version:** 10.0.0 (MAJOR: Applied ln-112 pattern - 4 phases → 3 phases, added questions.md for semantic validation, parametric validation loop, removed workflow coupling. No functionality change, pure architectural refactoring for consistency with ln-112 PoC.)
|
|
**Last Updated:** 2025-11-18
|