[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71NHQTSGC9B5GQ2VE9GVS17":3,"skill-same:01M71NHQTSGC9B5GQ2VE9GVS17":132},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M71NHQTSGC9B5GQ2VE9GVS17","ln-120-reference-docs-creator",null,"Creates reference docs (ADRs, guides, manuals) for nontrivial tech stack choices. Use when project needs justified architecture decision records.","vitalikpestov\u002FSkills-Catalog","vitalikpestov","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13882997?v=4","01M71N4QG0CWRXX4R24JQZXDDQ","Vitalik Pestov","01M71N4QGMSYRW607DDSE0CQMM",2,"MIT","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"ln","ln 120 reference docs creator","reference","docs","creator","docs creator","manuals","architecture decision","use","records","for","tech","tech stack","architecture decision records","stack","guides","architecture","when","decision","project","2026-11-10 10:56:23",false,"---\nname: ln-120-reference-docs-creator\ndescription: \"Creates reference docs (ADRs, guides, manuals) for nontrivial tech stack choices. Use when project needs justified architecture decision records.\"\nlicense: MIT\n---\n\n> **Paths:** File paths (`references\u002F`, `..\u002Fln-*`) are relative to this skill directory.\n\n# Reference Documentation Creator\n\n**Type:** L2 Worker\n\nThis skill creates the reference documentation structure (docs\u002Freference\u002F) and **smart documents** (ADRs, Guides, Manuals) based on project's TECH_STACK. Documents are created only when justified (nontrivial technology choices with alternatives).\n\n## Purpose\n\nCreate the reference documentation directory structure (docs\u002Freference\u002F) with README hub, then generate ADRs, Guides, and Manuals only for justified (nontrivial) technology choices based on TECH_STACK from Context Store.\n\n## When to Use This Skill\n\n**This skill is a L2 WORKER** invoked by **ln-100-documents-pipeline** orchestrator.\n\nThis skill should be used directly when:\n- Creating only reference documentation structure (docs\u002Freference\u002F)\n- Setting up directories for ADRs, guides, and manuals\n- NOT creating full documentation structure (use ln-100-documents-pipeline for complete setup)\n\n## Inputs\n\n**From ln-100 (via ln-110 Context Store):**\n```json\n{\n  \"context_store\": {\n    \"PROJECT_NAME\": \"my-project\",\n    \"TECH_STACK\": {\n      \"frontend\": \"React 18\",\n      \"backend\": \"Express 4.18\",\n      \"database\": \"PostgreSQL 15\",\n      \"orm\": \"Prisma 5.0\",\n      \"auth\": \"JWT\",\n      \"cache\": \"Redis 7\"\n    },\n    \"DEPENDENCIES\": [...],\n    \"flags\": { \"hasBackend\": true, \"hasDatabase\": true, \"hasFrontend\": true }\n  }\n}\n```\n\n**TECH_STACK** is used for smart document creation in Phase 2.\n\n**MANDATORY READ:** Load `references\u002Fdocs_quality_contract.md`, and `references\u002Fmarkdown_read_protocol.md`.\nOptional rule catalog: load `references\u002Fdocs_quality_rules.json` only when exact rule IDs, path matrices, or allowlisted placeholder exceptions are needed.\n\n## Workflow\n\nThe skill follows a 4-phase workflow: **CREATE STRUCTURE** → **SMART DOCUMENT CREATION** → **VALIDATE STRUCTURE** → **VALIDATE CONTENT**. Phase 2 creates documents only for justified technology choices.\n\n---\n\n### Phase 1: Create Structure\n\n**Objective**: Establish reference documentation directories and README hub.\n\n**Process**:\n\n**1.1 Check & create directories**:\n- Check if `docs\u002Freference\u002Fadrs\u002F` exists → create if missing\n- Check if `docs\u002Freference\u002Fguides\u002F` exists → create if missing\n- Check if `docs\u002Freference\u002Fmanuals\u002F` exists → create if missing\n- Check if `docs\u002Freference\u002Fresearch\u002F` exists → create if missing\n- Log for each: \"✓ Created docs\u002Freference\u002F[name]\u002F\" or \"✓ docs\u002Freference\u002F[name]\u002F already exists\"\n\n**1.2 Check & create README**:\n- Check if `docs\u002Freference\u002FREADME.md` exists\n- If exists:\n  - Skip creation\n  - Log: \"✓ docs\u002Freference\u002FREADME.md already exists, proceeding to validation\"\n- If NOT exists:\n  - Copy template: `ln-120-reference-docs-creator\u002Freferences\u002Ftemplates\u002Freference_readme_template.md` → `docs\u002Freference\u002FREADME.md`\n  - Replace placeholders:\n    - `{{VERSION}}` — \"1.0.0\"\n    - `{{DATE}}` — current date (YYYY-MM-DD)\n    - `{{ADR_LIST}}` — `- No ADRs yet. Add the first ADR when a nontrivial decision is accepted.`\n    - `{{GUIDE_LIST}}` — `- No project guides yet. Add guides when patterns need project-specific explanation.`\n    - `{{MANUAL_LIST}}` — `- No package manuals yet. Add manuals only for complex external APIs.`\n    - `{{RESEARCH_LIST}}` — `- No research notes yet. Add research only when a concrete question is investigated.`\n  - Preserve the shared opening contract and standard top sections from the template\n  - Log: \"✓ Created docs\u002Freference\u002FREADME.md from template\"\n\n**1.3 Output**:\n```\ndocs\u002Freference\u002F\n├── README.md         # Created or existing\n├── adrs\u002F            # Empty, ready for ADRs\n├── guides\u002F          # Empty, ready for guides\n├── manuals\u002F         # Empty, ready for manuals\n└── research\u002F        # Empty, ready for research documents\n```\n\n---\n\n### Phase 2: Smart Document Creation\n\n**Objective**: Create ADRs, Guides, and Manuals for justified technology choices. Skip trivial\u002Fobvious selections.\n\n**2.1 Check Context Store**:\n- If no `context_store` provided → skip Phase 2, proceed to Phase 3\n- If no `TECH_STACK` in context_store → skip Phase 2, proceed to Phase 3\n- Log: \"Context Store received with TECH_STACK: [categories count]\"\n\n**2.2 Load Justification Rules**:\n- Read `references\u002Ftech_justification_rules.md`\n- Parse category → justified\u002Fskip conditions\n\n**2.3 Analyze TECH_STACK for ADRs**:\n\nFor each category in TECH_STACK (frontend, backend, database, orm, auth, cache):\n\n1. **Check if justified** (from justification rules):\n   - `frontend`: Justified if React\u002FVue\u002FAngular\u002FSvelte (multiple options exist)\n   - `backend`: Justified if Express\u002FFastify\u002FNestJS\u002FKoa (multiple options exist)\n   - `database`: Justified if PostgreSQL\u002FMySQL\u002FMongoDB (multiple options exist)\n   - `auth`: Justified if JWT\u002FOAuth\u002FSession (decision required)\n   - `orm`: Justified if Prisma\u002FTypeORM\u002FSequelize (multiple options exist)\n   - `cache`: Justified if Redis\u002FMemcached (decision required)\n\n2. **Skip if trivial**:\n   - jQuery-only frontend (no framework choice)\n   - Simple http server (no framework)\n   - SQLite for dev only\n   - No auth required\n   - Raw SQL only\n   - In-memory cache only\n\n3. **Create ADR if justified**:\n   - Determine next ADR number: `adr-NNN-{category}.md`\n   - Use template: `references\u002Ftemplates\u002Fadr_template.md`\n   - MCP Research: `mcp__context7__resolve-library-id(technology)`\n   - Fill template:\n     - Title: \"ADR-NNN: {Category} Selection\"\n     - Context: Why decision was needed\n     - Decision: Technology chosen with version\n     - Rationale: 3 key reasons from research\n     - Alternatives: 2 other options with pros\u002Fcons\n   - Save: `docs\u002Freference\u002Fadrs\u002Fadr-NNN-{category}.md`\n   - Log: \"✓ Created ADR for {category}: {technology}\"\n\n4. **Skip if not justified**:\n   - Log: \"⊘ Skipped ADR for {category}: trivial choice\"\n\n**2.4 Analyze TECH_STACK for Guides**:\n\nFor each technology with complex configuration:\n\n1. **Check if justified**:\n   - Has config file with >20 lines\n   - Uses custom hooks\u002Fmiddleware\u002Fdecorators\n   - Has 3+ related dependencies\n\n2. **Create Guide if justified**:\n   - Determine next guide number: `NN-{technology-slug}-patterns.md`\n   - Use template: `references\u002Ftemplates\u002Fguide_template.md`\n   - MCP Research: `mcp__Ref__ref_search_documentation(\"{technology} patterns {current_year}\")`\n   - Fill template:\n     - Principle: Industry standard from research\n     - Our Implementation: How project uses it\n     - Patterns table: 3 Do\u002FDon't\u002FWhen rows\n   - Save: `docs\u002Freference\u002Fguides\u002FNN-{technology}-patterns.md`\n   - Log: \"✓ Created Guide for {technology}\"\n\n3. **Skip if standard usage**:\n   - Log: \"⊘ Skipped Guide for {technology}: standard usage\"\n\n**2.5 Analyze TECH_STACK for Manuals**:\n\nFor each package with complex API:\n\n1. **Check if justified**:\n   - Package has >10 exported methods\n   - Has breaking changes in current version\n   - NOT in trivial list: lodash, uuid, dotenv\n\n2. **Create Manual if justified**:\n   - Use template: `references\u002Ftemplates\u002Fmanual_template.md`\n   - MCP Research: `mcp__context7__get-library-docs(topic: \"API\")`\n   - Fill template:\n     - Package info with version\n     - 2-3 most used methods\n     - Configuration section\n   - Save: `docs\u002Freference\u002Fmanuals\u002F{package}-{version}.md`\n   - Log: \"✓ Created Manual for {package}\"\n\n3. **Skip if trivial API**:\n   - Log: \"⊘ Skipped Manual for {package}: trivial API\"\n\n**2.6 Report Smart Creation**:\n```\n✅ Smart Document Creation complete:\n  - ADRs created: [count] (justified: frontend, backend, database)\n  - ADRs skipped: [count] (trivial: cache=in-memory)\n  - Guides created: [count]\n  - Guides skipped: [count]\n  - Manuals created: [count]\n  - Manuals skipped: [count]\n```\n\n---\n\n### Phase 3: Validate Structure\n\n**Objective**: Ensure reference\u002FREADME.md complies with structural requirements and auto-fix violations.\n\n**Process**:\n\n**2.1 Check opening contract**:\n- Read `docs\u002Freference\u002FREADME.md` (first 5 lines)\n- Check for `\u003C!-- SCOPE: ... -->` tag and metadata markers\n- Expected: `\u003C!-- SCOPE: Reference documentation hub (ADRs, Guides, Manuals) with links to subdirectories -->`\n- If missing:\n  - Use Edit tool to add missing opening markers near the top of the file\n  - Track violation: `opening_contract_fixed = True`\n\n**2.2 Check required sections**:\n- Load expected sections from `references\u002Fquestions.md`\n- Required sections:\n  - \"Architecture Decision Records (ADRs)\"\n  - \"Project Guides\"\n  - \"Package Manuals\"\n  - \"Research\"\n- For each section:\n  - Check if `## [Section Name]` header exists\n  - If missing:\n    - Use Edit tool to add section with placeholder:\n      ```markdown\n      ## [Section Name]\n\n      {{PLACEHOLDER}}\n      ```\n    - Track violation: `missing_sections += 1`\n\n**2.3 Check Maintenance section**:\n- Search for `## Maintenance` header\n- If missing:\n  - Use Edit tool to add at end of file:\n    ```markdown\n    ## Maintenance\n\n    **Last Updated:** [current date]\n\n    **Update Triggers:**\n    - New ADRs added to adrs\u002F directory\n    - New guides added to guides\u002F directory\n    - New manuals added to manuals\u002F directory\n\n    **Verification:**\n    - [ ] All ADR links in registry are valid\n    - [ ] All guide links in registry are valid\n    - [ ] All manual links in registry are valid\n    - [ ] Placeholders {{ADR_LIST}}, {{GUIDE_LIST}}, {{MANUAL_LIST}} synced with files\n    ```\n  - Track violation: `maintenance_added = True`\n\n**2.4 Check POSIX file endings**:\n- Check if file ends with single blank line\n- If missing:\n  - Use Edit tool to add final newline\n  - Track fix: `posix_fixed = True`\n\n**2.5 Report validation**:\n- Log summary:\n  ```\n  ✅ Structure validation complete:\n    - SCOPE tag: [added\u002Fpresent]\n    - Missing sections: [count] sections added\n    - Maintenance section: [added\u002Fpresent]\n    - POSIX endings: [fixed\u002Fcompliant]\n  ```\n- If violations found: \"⚠️ Auto-fixed [total] structural violations\"\n\n---\n\n### Phase 4: Validate Content\n\n**Objective**: Ensure each section answers its questions with meaningful content and populate registries from auto-discovery (including documents created in Phase 2).\n\n**Process**:\n\n**4.1 Load validation spec**:\n- Read `references\u002Fquestions.md`\n- Parse questions and validation heuristics for all 3 sections\n\n**4.2 Validate sections (parametric loop)**:\n\nDefine section parameters:\n```\nsections = [\n  {\n    \"name\": \"Architecture Decision Records (ADRs)\",\n    \"question\": \"Where are architecture decisions documented?\",\n    \"directory\": \"docs\u002Freference\u002Fadrs\u002F\",\n    \"empty_state\": \"No ADRs yet.\",\n    \"glob_pattern\": \"docs\u002Freference\u002Fadrs\u002F*.md\",\n    \"heuristics\": [\n      \"Contains link: [ADRs](adrs\u002F) or [adrs](adrs\u002F)\",\n      \"Mentions 'Architecture Decision Record' or 'ADR'\",\n      \"Has actual list or empty-state note\",\n      \"Length > 30 words\"\n    ]\n  },\n  {\n    \"name\": \"Project Guides\",\n    \"question\": \"Where are reusable project patterns documented?\",\n    \"directory\": \"docs\u002Freference\u002Fguides\u002F\",\n    \"empty_state\": \"No project guides yet.\",\n    \"glob_pattern\": \"docs\u002Freference\u002Fguides\u002F*.md\",\n    \"heuristics\": [\n      \"Contains link: [Guides](guides\u002F) or [guides](guides\u002F)\",\n      \"Has actual list or empty-state note\",\n      \"Length > 20 words\"\n    ]\n  },\n  {\n    \"name\": \"Package Manuals\",\n    \"question\": \"Where are third-party package references documented?\",\n    \"directory\": \"docs\u002Freference\u002Fmanuals\u002F\",\n    \"empty_state\": \"No package manuals yet.\",\n    \"glob_pattern\": \"docs\u002Freference\u002Fmanuals\u002F*.md\",\n    \"heuristics\": [\n      \"Contains link: [Manuals](manuals\u002F) or [manuals](manuals\u002F)\",\n      \"Has actual list or empty-state note\",\n      \"Length > 20 words\"\n    ]\n  },\n  {\n    \"name\": \"Research\",\n    \"question\": \"Where are research\u002Finvestigation documents stored?\",\n    \"directory\": \"docs\u002Freference\u002Fresearch\u002F\",\n    \"empty_state\": \"No research notes yet.\",\n    \"glob_pattern\": \"docs\u002Freference\u002Fresearch\u002F*.md\",\n    \"heuristics\": [\n      \"Contains link: [Research](research\u002F) or [research](research\u002F)\",\n      \"Has actual list or empty-state note\",\n      \"Length > 20 words\"\n    ]\n  }\n]\n```\n\nFor each section in sections:\n\n1. **Read section content**:\n   - Extract section from reference\u002FREADME.md\n\n2. **Check if content answers question**:\n   - Apply validation heuristics\n   - If ANY heuristic passes → content valid, skip to next section\n   - If ALL fail → content invalid, continue\n\n3. **Auto-discovery** (if content invalid or empty-state present):\n   - Scan directory using Glob tool (section.glob_pattern)\n   - If files found:\n     - Extract filenames\n     - Generate dynamic list:\n       ```markdown\n       - [ADR-001: Frontend Framework](adrs\u002Fadr-001-frontend-framework.md)\n       - [02-Repository Pattern](guides\u002F02-repository-pattern.md)\n       - [Axios 1.6](manuals\u002Faxios-1.6.md)\n       ```\n     - Use Edit tool to replace empty-state text with generated list\n     - Track change: `sections_populated += 1`\n   - If NO files:\n     - Keep concise empty-state note\n     - Track: `empty_states_kept += 1`\n\n4. **Skip external API calls**:\n   - Do NOT use MCP Ref search (template already has format examples)\n\n**4.3 Report content validation**:\n- Log summary:\n  ```\n  ✅ Content validation complete:\n    - Sections checked: 4\n    - Populated from auto-discovery: [count]\n    - Placeholders kept (no files): [count]\n    - Already valid: [count]\n  ```\n\n---\n\n## Complete Output Structure\n\n```\ndocs\u002F\n└── reference\u002F\n    ├── README.md                     # Reference hub with registries\n    ├── adrs\u002F                         # Empty or with ADR files\n    ├── guides\u002F                       # Empty or with guide files\n    ├── manuals\u002F                      # Empty or with manual files\n    └── research\u002F                     # Empty or with research files\n```\n\n---\n\n## Reference Files\n\n### Templates\n\n**Reference README Template**:\n- `references\u002Ftemplates\u002Freference_readme_template.md` (v2.0.0) - Reference hub with:\n  - SCOPE tags (reference documentation ONLY)\n  - Three registry sections with placeholders\n  - Maintenance section\n\n**Document Templates** (for Phase 2 Smart Creation):\n- `references\u002Ftemplates\u002Fadr_template.md` - Nygard ADR format (7 sections)\n- `references\u002Ftemplates\u002Fguide_template.md` - Pattern documentation (Do\u002FDon't\u002FWhen)\n- `references\u002Ftemplates\u002Fmanual_template.md` - API reference format\n- `references\u002Ftemplates\u002Fresearch_template.md` - Research\u002FSpike documentation\n\n**Justification Rules**:\n- `references\u002Ftech_justification_rules.md` - Mapping: category → create\u002Fskip conditions\n\n**Validation Specification**:\n- `references\u002Fquestions.md` (v2.0) - Question-driven validation:\n  - Q1-Q3: Registry sections (ADRs, Guides, Manuals)\n  - Q4-Q7: Smart document validation (ADR context, alternatives, patterns)\n  - Auto-discovery hints\n\n- **MANDATORY READ:** Load `references\u002Fresearch_tool_fallback.md`\n\n---\n\n## Best Practices\n\n- **No premature validation**: Phase 1 creates structure, Phase 3 validates it\n- **Smart creation**: Phase 2 creates documents only for justified choices\n- **Parametric validation**: Phase 4 uses loop for 3 sections (no code duplication)\n- **Auto-discovery first**: Scan actual files before external API calls\n- **Idempotent**: ✅ Can run multiple times safely (checks existence before creation)\n- **Separation of concerns**: CREATE → SMART DOCS → VALIDATE STRUCTURE → VALIDATE CONTENT\n\n### NO_CODE_EXAMPLES Rule (MANDATORY for Guides)\nGuides document **patterns**, NOT implementations:\n- **FORBIDDEN:** Full function implementations, code blocks > 5 lines\n- **ALLOWED:** Do\u002FDon't\u002FWhen tables, method signatures (1 line), pseudocode (1-3 lines)\n- **INSTEAD OF CODE:** Reference source location: \"See src\u002Fhooks\u002FusePlan.ts:15-30\"\n- **TEMPLATE RULE:** guide_template.md includes `\u003C!-- NO_CODE_EXAMPLES: ... -->` tag - FOLLOW IT\n\n### Stack Adaptation Rule (MANDATORY)\n- ADRs must reference stack-appropriate alternatives (Compare React vs Vue, not React vs Django)\n- Guides must link to correct platform docs (Microsoft for .NET, MDN for JS)\n\n### Format Priority (MANDATORY)\nTables (Do\u002FDon't\u002FWhen) > ASCII diagrams > Lists > Text\n\n---\n\n## Prerequisites\n\n**Invoked by**: ln-100-documents-pipeline orchestrator\n\n**Requires**:\n- `docs\u002F` directory (created by ln-111-root-docs-creator or already present in target project)\n\n**Creates**:\n- `docs\u002Freference\u002F` directory structure with README hub\n- Validated structure and content (auto-discovery from existing files)\n\n---\n\n## Critical Rules\n\n- **Justified creation only:** Documents are created only for nontrivial technology choices with real alternatives; trivial\u002Fobvious selections are skipped\n- **NO_CODE_EXAMPLES:** Guides document patterns (Do\u002FDon't\u002FWhen tables), not implementations; no code blocks >5 lines\n- **Stack adaptation:** ADR alternatives must be stack-appropriate (React vs Vue, not React vs Django); links must match platform docs\n- **Format priority:** Tables (Do\u002FDon't\u002FWhen) > ASCII diagrams > Lists > Text\n- **Idempotent:** Checks existence before creation; safe to run multiple times\n\n## Runtime Summary Artifact\n\n**MANDATORY READ:** Load `references\u002Fdocs_generation_summary_contract.md`\n\nAccept optional `summaryArtifactPath`.\n\nSummary kind:\n- `docs-generation`\n\nRequired payload semantics:\n- `worker = \"ln-120\"`\n- `status`\n- `created_files`\n- `skipped_files`\n- `quality_inputs`\n- `validation_status`\n- `warnings`\n\nWrite the summary to the provided artifact path or return the same envelope in structured output.\n\n## Definition of Done\n\nBefore completing work, verify ALL checkpoints:\n\n**✅ Phase 1 - Structure Created:**\n- [ ] `docs\u002Freference\u002F` directory exists\n- [ ] `docs\u002Freference\u002Fadrs\u002F` directory exists\n- [ ] `docs\u002Freference\u002Fguides\u002F` directory exists\n- [ ] `docs\u002Freference\u002Fmanuals\u002F` directory exists\n- [ ] `docs\u002Freference\u002Fresearch\u002F` directory exists\n- [ ] `docs\u002Freference\u002FREADME.md` exists (created or existing)\n\n**✅ Phase 2 - Smart Documents Created (if Context Store provided):**\n- [ ] ADRs created for justified technology choices (nontrivial)\n- [ ] ADRs skipped for trivial choices (logged)\n- [ ] Guides created for technologies with complex config\n- [ ] Manuals created for packages with complex API\n- [ ] Each created document has real content (not placeholders)\n\n**✅ Phase 3 - Structure Validated:**\n- [ ] SCOPE tag and metadata markers present near top\n- [ ] Quick Navigation, Agent Entry, and Maintenance sections present\n- [ ] Four registry sections present (ADRs, Guides, Manuals, Research)\n- [ ] Maintenance section present at end\n- [ ] POSIX file endings compliant\n\n**✅ Phase 4 - Content Validated:**\n- [ ] All sections checked against questions.md\n- [ ] Empty-state notes or actual entries present in all registries (no raw placeholders)\n- [ ] No validation heuristic failures\n\n**✅ Reporting:**\n- [ ] Phase 1 logged: creation summary\n- [ ] Phase 2 logged: smart creation (created\u002Fskipped counts)\n- [ ] Phase 3 logged: structural fixes (if any)\n\n## Return Contract\n\nReturn normalized status to ln-100:\n\n```json\n{\n  \"created_files\": [\"docs\u002Freference\u002FREADME.md\", \"docs\u002Freference\u002Fadrs\u002Fadr-001-frontend.md\"],\n  \"skipped_files\": [],\n  \"quality_inputs\": {\n    \"doc_paths\": [\"docs\u002Freference\u002FREADME.md\", \"docs\u002Freference\u002Fadrs\u002Fadr-001-frontend.md\"],\n    \"owners\": {\n      \"docs\u002Freference\u002FREADME.md\": \"ln-120-reference-docs-creator\",\n      \"docs\u002Freference\u002Fadrs\u002Fadr-001-frontend.md\": \"ln-120-reference-docs-creator\"\n    }\n  },\n  \"validation_status\": \"passed\"\n}\n```\n\n**✅ Reporting (continued):**\n- [ ] Phase 4 logged: content updates (if any)\n\n## Meta-Analysis\n\nOptional reference: load `references\u002Fmeta_analysis_protocol.md` only when the user asks for post-run meta-analysis or protocol-formatted run reflection.\n\nSkill type: `documentation-creator`. When requested, run after all phases complete. Output to chat using the `documentation-creator` format.\n\n---\n\n## Technical Details\n\n**Standards**:\n- Michael Nygard's ADR Format (7 sections)\n- ISO\u002FIEC\u002FIEEE 29148:2018 (Documentation standards)\n\n**Language**: English only\n\n---\n\n**Version:** 8.2.0\n**Last Updated:** 2025-01-12\n","> **Paths:** File paths (`references\u002F`, `..\u002Fln-*`) are relative to this skill directory.\n\n# Reference Documentation Creator\n\n**Type:** L2 Worker\n\nThis skill creates the reference documentation structure (docs\u002Freference\u002F) and **smart documents** (ADRs, Guides, Manuals) based on project's TECH_STACK. Documents are created only when justified (nontrivial technology choices with alternatives).\n\n## Purpose\n\nCreate the reference documentation directory structure (docs\u002Freference\u002F) with README hub, then generate ADRs, Guides, and Manuals only for justified (nontrivial) technology choices based on TECH_STACK from Context Store.\n\n## When to Use This Skill\n\n**This skill is a L2 WORKER** invoked by **ln-100-documents-pipeline** orchestrator.\n\nThis skill should be used directly when:\n- Creating only reference documentation structure (docs\u002Freference\u002F)\n- Setting up directories for ADRs, guides, and manuals\n- NOT creating full documentation structure (use ln-100-documents-pipeline for complete setup)\n\n## Inputs\n\n**From ln-100 (via ln-110 Context Store):**\n```json\n{\n  \"context_store\": {\n    \"PROJECT_NAME\": \"my-project\",\n    \"TECH_STACK\": {\n      \"frontend\": \"React 18\",\n      \"backend\": \"Express 4.18\",\n      \"database\": \"PostgreSQL 15\",\n      \"orm\": \"Prisma 5.0\",\n      \"auth\": \"JWT\",\n      \"cache\": \"Redis 7\"\n    },\n    \"DEPENDENCIES\": [...],\n    \"flags\": { \"hasBackend\": true, \"hasDatabase\": true, \"hasFrontend\": true }\n  }\n}\n```\n\n**TECH_STACK** is used for smart document creation in Phase 2.\n\n**MANDATORY READ:** Load `references\u002Fdocs_quality_contract.md`, and `references\u002Fmarkdown_read_protocol.md`.\nOptional rule catalog: load `references\u002Fdocs_quality_rules.json` only when exact rule IDs, path matrices, or allowlisted placeholder exceptions are needed.\n\n## Workflow\n\nThe skill follows a 4-phase workflow: **CREATE STRUCTURE** → **SMART DOCUMENT CREATION** → **VALIDATE STRUCTURE** → **VALIDATE CONTENT**. Phase 2 creates documents only for justified technology choices.\n\n---\n\n### Phase 1: Create Structure\n\n**Objective**: Establish reference documentation directories and README hub.\n\n**Process**:\n\n**1.1 Check & create directories**:\n- Check if `docs\u002Freference\u002Fadrs\u002F` exists → create if missing\n- Check if `docs\u002Freference\u002Fguides\u002F` exists → create if missing\n- Check if `docs\u002Freference\u002Fmanuals\u002F` exists → create if missing\n- Check if `docs\u002Freference\u002Fresearch\u002F` exists → create if missing\n- Log for each: \"✓ Created docs\u002Freference\u002F[name]\u002F\" or \"✓ docs\u002Freference\u002F[name]\u002F already exists\"\n\n**1.2 Check & create README**:\n- Check if `docs\u002Freference\u002FREADME.md` exists\n- If exists:\n  - Skip creation\n  - Log: \"✓ docs\u002Freference\u002FREADME.md already exists, proceeding to validation\"\n- If NOT exists:\n  - Copy template: `ln-120-reference-docs-creator\u002Freferences\u002Ftemplates\u002Freference_readme_template.md` → `docs\u002Freference\u002FREADME.md`\n  - Replace placeholders:\n    - `{{VERSION}}` — \"1.0.0\"\n    - `{{DATE}}` — current date (YYYY-MM-DD)\n    - `{{ADR_LIST}}` — `- No ADRs yet. Add the first ADR when a nontrivial decision is accepted.`\n    - `{{GUIDE_LIST}}` — `- No project guides yet. Add guides when patterns need project-specific explanation.`\n    - `{{MANUAL_LIST}}` — `- No package manuals yet. Add manuals only for complex external APIs.`\n    - `{{RESEARCH_LIST}}` — `- No research notes yet. Add research only when a concrete question is investigated.`\n  - Preserve the shared opening contract and standard top sections from the template\n  - Log: \"✓ Created docs\u002Freference\u002FREADME.md from template\"\n\n**1.3 Output**:\n```\ndocs\u002Freference\u002F\n├── README.md         # Created or existing\n├── adrs\u002F            # Empty, ready for ADRs\n├── guides\u002F          # Empty, ready for guides\n├── manuals\u002F         # Empty, ready for manuals\n└── research\u002F        # Empty, ready for research documents\n```\n\n---\n\n### Phase 2: Smart Document Creation\n\n**Objective**: Create ADRs, Guides, and Manuals for justified technology choices. Skip trivial\u002Fobvious selections.\n\n**2.1 Check Context Store**:\n- If no `context_store` provided → skip Phase 2, proceed to Phase 3\n- If no `TECH_STACK` in context_store → skip Phase 2, proceed to Phase 3\n- Log: \"Context Store received with TECH_STACK: [categories count]\"\n\n**2.2 Load Justification Rules**:\n- Read `references\u002Ftech_justification_rules.md`\n- Parse category → justified\u002Fskip conditions\n\n**2.3 Analyze TECH_STACK for ADRs**:\n\nFor each category in TECH_STACK (frontend, backend, database, orm, auth, cache):\n\n1. **Check if justified** (from justification rules):\n   - `frontend`: Justified if React\u002FVue\u002FAngular\u002FSvelte (multiple options exist)\n   - `backend`: Justified if Express\u002FFastify\u002FNestJS\u002FKoa (multiple options exist)\n   - `database`: Justified if PostgreSQL\u002FMySQL\u002FMongoDB (multiple options exist)\n   - `auth`: Justified if JWT\u002FOAuth\u002FSession (decision required)\n   - `orm`: Justified if Prisma\u002FTypeORM\u002FSequelize (multiple options exist)\n   - `cache`: Justified if Redis\u002FMemcached (decision required)\n\n2. **Skip if trivial**:\n   - jQuery-only frontend (no framework choice)\n   - Simple http server (no framework)\n   - SQLite for dev only\n   - No auth required\n   - Raw SQL only\n   - In-memory cache only\n\n3. **Create ADR if justified**:\n   - Determine next ADR number: `adr-NNN-{category}.md`\n   - Use template: `references\u002Ftemplates\u002Fadr_template.md`\n   - MCP Research: `mcp__context7__resolve-library-id(technology)`\n   - Fill template:\n     - Title: \"ADR-NNN: {Category} Selection\"\n     - Context: Why decision was needed\n     - Decision: Technology chosen with version\n     - Rationale: 3 key reasons from research\n     - Alternatives: 2 other options with pros\u002Fcons\n   - Save: `docs\u002Freference\u002Fadrs\u002Fadr-NNN-{category}.md`\n   - Log: \"✓ Created ADR for {category}: {technology}\"\n\n4. **Skip if not justified**:\n   - Log: \"⊘ Skipped ADR for {category}: trivial choice\"\n\n**2.4 Analyze TECH_STACK for Guides**:\n\nFor each technology with complex configuration:\n\n1. **Check if justified**:\n   - Has config file with >20 lines\n   - Uses custom hooks\u002Fmiddleware\u002Fdecorators\n   - Has 3+ related dependencies\n\n2. **Create Guide if justified**:\n   - Determine next guide number: `NN-{technology-slug}-patterns.md`\n   - Use template: `references\u002Ftemplates\u002Fguide_template.md`\n   - MCP Research: `mcp__Ref__ref_search_documentation(\"{technology} patterns {current_year}\")`\n   - Fill template:\n     - Principle: Industry standard from research\n     - Our Implementation: How project uses it\n     - Patterns table: 3 Do\u002FDon't\u002FWhen rows\n   - Save: `docs\u002Freference\u002Fguides\u002FNN-{technology}-patterns.md`\n   - Log: \"✓ Created Guide for {technology}\"\n\n3. **Skip if standard usage**:\n   - Log: \"⊘ Skipped Guide for {technology}: standard usage\"\n\n**2.5 Analyze TECH_STACK for Manuals**:\n\nFor each package with complex API:\n\n1. **Check if justified**:\n   - Package has >10 exported methods\n   - Has breaking changes in current version\n   - NOT in trivial list: lodash, uuid, dotenv\n\n2. **Create Manual if justified**:\n   - Use template: `references\u002Ftemplates\u002Fmanual_template.md`\n   - MCP Research: `mcp__context7__get-library-docs(topic: \"API\")`\n   - Fill template:\n     - Package info with version\n     - 2-3 most used methods\n     - Configuration section\n   - Save: `docs\u002Freference\u002Fmanuals\u002F{package}-{version}.md`\n   - Log: \"✓ Created Manual for {package}\"\n\n3. **Skip if trivial API**:\n   - Log: \"⊘ Skipped Manual for {package}: trivial API\"\n\n**2.6 Report Smart Creation**:\n```\n✅ Smart Document Creation complete:\n  - ADRs created: [count] (justified: frontend, backend, database)\n  - ADRs skipped: [count] (trivial: cache=in-memory)\n  - Guides created: [count]\n  - Guides skipped: [count]\n  - Manuals created: [count]\n  - Manuals skipped: [count]\n```\n\n---\n\n### Phase 3: Validate Structure\n\n**Objective**: Ensure reference\u002FREADME.md complies with structural requirements and auto-fix violations.\n\n**Process**:\n\n**2.1 Check opening contract**:\n- Read `docs\u002Freference\u002FREADME.md` (first 5 lines)\n- Check for `\u003C!-- SCOPE: ... -->` tag and metadata markers\n- Expected: `\u003C!-- SCOPE: Reference documentation hub (ADRs, Guides, Manuals) with links to subdirectories -->`\n- If missing:\n  - Use Edit tool to add missing opening markers near the top of the file\n  - Track violation: `opening_contract_fixed = True`\n\n**2.2 Check required sections**:\n- Load expected sections from `references\u002Fquestions.md`\n- Required sections:\n  - \"Architecture Decision Records (ADRs)\"\n  - \"Project Guides\"\n  - \"Package Manuals\"\n  - \"Research\"\n- For each section:\n  - Check if `## [Section Name]` header exists\n  - If missing:\n    - Use Edit tool to add section with placeholder:\n      ```markdown\n      ## [Section Name]\n\n      {{PLACEHOLDER}}\n      ```\n    - Track violation: `missing_sections += 1`\n\n**2.3 Check Maintenance section**:\n- Search for `## Maintenance` header\n- If missing:\n  - Use Edit tool to add at end of file:\n    ```markdown\n    ## Maintenance\n\n    **Last Updated:** [current date]\n\n    **Update Triggers:**\n    - New ADRs added to adrs\u002F directory\n    - New guides added to guides\u002F directory\n    - New manuals added to manuals\u002F directory\n\n    **Verification:**\n    - [ ] All ADR links in registry are valid\n    - [ ] All guide links in registry are valid\n    - [ ] All manual links in registry are valid\n    - [ ] Placeholders {{ADR_LIST}}, {{GUIDE_LIST}}, {{MANUAL_LIST}} synced with files\n    ```\n  - Track violation: `maintenance_added = True`\n\n**2.4 Check POSIX file endings**:\n- Check if file ends with single blank line\n- If missing:\n  - Use Edit tool to add final newline\n  - Track fix: `posix_fixed = True`\n\n**2.5 Report validation**:\n- Log summary:\n  ```\n  ✅ Structure validation complete:\n    - SCOPE tag: [added\u002Fpresent]\n    - Missing sections: [count] sections added\n    - Maintenance section: [added\u002Fpresent]\n    - POSIX endings: [fixed\u002Fcompliant]\n  ```\n- If violations found: \"⚠️ Auto-fixed [total] structural violations\"\n\n---\n\n### Phase 4: Validate Content\n\n**Objective**: Ensure each section answers its questions with meaningful content and populate registries from auto-discovery (including documents created in Phase 2).\n\n**Process**:\n\n**4.1 Load validation spec**:\n- Read `references\u002Fquestions.md`\n- Parse questions and validation heuristics for all 3 sections\n\n**4.2 Validate sections (parametric loop)**:\n\nDefine section parameters:\n```\nsections = [\n  {\n    \"name\": \"Architecture Decision Records (ADRs)\",\n    \"question\": \"Where are architecture decisions documented?\",\n    \"directory\": \"docs\u002Freference\u002Fadrs\u002F\",\n    \"empty_state\": \"No ADRs yet.\",\n    \"glob_pattern\": \"docs\u002Freference\u002Fadrs\u002F*.md\",\n    \"heuristics\": [\n      \"Contains link: [ADRs](adrs\u002F) or [adrs](adrs\u002F)\",\n      \"Mentions 'Architecture Decision Record' or 'ADR'\",\n      \"Has actual list or empty-state note\",\n      \"Length > 30 words\"\n    ]\n  },\n  {\n    \"name\": \"Project Guides\",\n    \"question\": \"Where are reusable project patterns documented?\",\n    \"directory\": \"docs\u002Freference\u002Fguides\u002F\",\n    \"empty_state\": \"No project guides yet.\",\n    \"glob_pattern\": \"docs\u002Freference\u002Fguides\u002F*.md\",\n    \"heuristics\": [\n      \"Contains link: [Guides](guides\u002F) or [guides](guides\u002F)\",\n      \"Has actual list or empty-state note\",\n      \"Length > 20 words\"\n    ]\n  },\n  {\n    \"name\": \"Package Manuals\",\n    \"question\": \"Where are third-party package references documented?\",\n    \"directory\": \"docs\u002Freference\u002Fmanuals\u002F\",\n    \"empty_state\": \"No package manuals yet.\",\n    \"glob_pattern\": \"docs\u002Freference\u002Fmanuals\u002F*.md\",\n    \"heuristics\": [\n      \"Contains link: [Manuals](manuals\u002F) or [manuals](manuals\u002F)\",\n      \"Has actual list or empty-state note\",\n      \"Length > 20 words\"\n    ]\n  },\n  {\n    \"name\": \"Research\",\n    \"question\": \"Where are research\u002Finvestigation documents stored?\",\n    \"directory\": \"docs\u002Freference\u002Fresearch\u002F\",\n    \"empty_state\": \"No research notes yet.\",\n    \"glob_pattern\": \"docs\u002Freference\u002Fresearch\u002F*.md\",\n    \"heuristics\": [\n      \"Contains link: [Research](research\u002F) or [research](research\u002F)\",\n      \"Has actual list or empty-state note\",\n      \"Length > 20 words\"\n    ]\n  }\n]\n```\n\nFor each section in sections:\n\n1. **Read section content**:\n   - Extract section from reference\u002FREADME.md\n\n2. **Check if content answers question**:\n   - Apply validation heuristics\n   - If ANY heuristic passes → content valid, skip to next section\n   - If ALL fail → content invalid, continue\n\n3. **Auto-discovery** (if content invalid or empty-state present):\n   - Scan directory using Glob tool (section.glob_pattern)\n   - If files found:\n     - Extract filenames\n     - Generate dynamic list:\n       ```markdown\n       - [ADR-001: Frontend Framework](adrs\u002Fadr-001-frontend-framework.md)\n       - [02-Repository Pattern](guides\u002F02-repository-pattern.md)\n       - [Axios 1.6](manuals\u002Faxios-1.6.md)\n       ```\n     - Use Edit tool to replace empty-state text with generated list\n     - Track change: `sections_populated += 1`\n   - If NO files:\n     - Keep concise empty-state note\n     - Track: `empty_states_kept += 1`\n\n4. **Skip external API calls**:\n   - Do NOT use MCP Ref search (template already has format examples)\n\n**4.3 Report content validation**:\n- Log summary:\n  ```\n  ✅ Content validation complete:\n    - Sections checked: 4\n    - Populated from auto-discovery: [count]\n    - Placeholders kept (no files): [count]\n    - Already valid: [count]\n  ```\n\n---\n\n## Complete Output Structure\n\n```\ndocs\u002F\n└── reference\u002F\n    ├── README.md                     # Reference hub with registries\n    ├── adrs\u002F                         # Empty or with ADR files\n    ├── guides\u002F                       # Empty or with guide files\n    ├── manuals\u002F                      # Empty or with manual files\n    └── research\u002F                     # Empty or with research files\n```\n\n---\n\n## Reference Files\n\n### Templates\n\n**Reference README Template**:\n- `references\u002Ftemplates\u002Freference_readme_template.md` (v2.0.0) - Reference hub with:\n  - SCOPE tags (reference documentation ONLY)\n  - Three registry sections with placeholders\n  - Maintenance section\n\n**Document Templates** (for Phase 2 Smart Creation):\n- `references\u002Ftemplates\u002Fadr_template.md` - Nygard ADR format (7 sections)\n- `references\u002Ftemplates\u002Fguide_template.md` - Pattern documentation (Do\u002FDon't\u002FWhen)\n- `references\u002Ftemplates\u002Fmanual_template.md` - API reference format\n- `references\u002Ftemplates\u002Fresearch_template.md` - Research\u002FSpike documentation\n\n**Justification Rules**:\n- `references\u002Ftech_justification_rules.md` - Mapping: category → create\u002Fskip conditions\n\n**Validation Specification**:\n- `references\u002Fquestions.md` (v2.0) - Question-driven validation:\n  - Q1-Q3: Registry sections (ADRs, Guides, Manuals)\n  - Q4-Q7: Smart document validation (ADR context, alternatives, patterns)\n  - Auto-discovery hints\n\n- **MANDATORY READ:** Load `references\u002Fresearch_tool_fallback.md`\n\n---\n\n## Best Practices\n\n- **No premature validation**: Phase 1 creates structure, Phase 3 validates it\n- **Smart creation**: Phase 2 creates documents only for justified choices\n- **Parametric validation**: Phase 4 uses loop for 3 sections (no code duplication)\n- **Auto-discovery first**: Scan actual files before external API calls\n- **Idempotent**: ✅ Can run multiple times safely (checks existence before creation)\n- **Separation of concerns**: CREATE → SMART DOCS → VALIDATE STRUCTURE → VALIDATE CONTENT\n\n### NO_CODE_EXAMPLES Rule (MANDATORY for Guides)\nGuides document **patterns**, NOT implementations:\n- **FORBIDDEN:** Full function implementations, code blocks > 5 lines\n- **ALLOWED:** Do\u002FDon't\u002FWhen tables, method signatures (1 line), pseudocode (1-3 lines)\n- **INSTEAD OF CODE:** Reference source location: \"See src\u002Fhooks\u002FusePlan.ts:15-30\"\n- **TEMPLATE RULE:** guide_template.md includes `\u003C!-- NO_CODE_EXAMPLES: ... -->` tag - FOLLOW IT\n\n### Stack Adaptation Rule (MANDATORY)\n- ADRs must reference stack-appropriate alternatives (Compare React vs Vue, not React vs Django)\n- Guides must link to correct platform docs (Microsoft for .NET, MDN for JS)\n\n### Format Priority (MANDATORY)\nTables (Do\u002FDon't\u002FWhen) > ASCII diagrams > Lists > Text\n\n---\n\n## Prerequisites\n\n**Invoked by**: ln-100-documents-pipeline orchestrator\n\n**Requires**:\n- `docs\u002F` directory (created by ln-111-root-docs-creator or already present in target project)\n\n**Creates**:\n- `docs\u002Freference\u002F` directory structure with README hub\n- Validated structure and content (auto-discovery from existing files)\n\n---\n\n## Critical Rules\n\n- **Justified creation only:** Documents are created only for nontrivial technology choices with real alternatives; trivial\u002Fobvious selections are skipped\n- **NO_CODE_EXAMPLES:** Guides document patterns (Do\u002FDon't\u002FWhen tables), not implementations; no code blocks >5 lines\n- **Stack adaptation:** ADR alternatives must be stack-appropriate (React vs Vue, not React vs Django); links must match platform docs\n- **Format priority:** Tables (Do\u002FDon't\u002FWhen) > ASCII diagrams > Lists > Text\n- **Idempotent:** Checks existence before creation; safe to run multiple times\n\n## Runtime Summary Artifact\n\n**MANDATORY READ:** Load `references\u002Fdocs_generation_summary_contract.md`\n\nAccept optional `summaryArtifactPath`.\n\nSummary kind:\n- `docs-generation`\n\nRequired payload semantics:\n- `worker = \"ln-120\"`\n- `status`\n- `created_files`\n- `skipped_files`\n- `quality_inputs`\n- `validation_status`\n- `warnings`\n\nWrite the summary to the provided artifact path or return the same envelope in structured output.\n\n## Definition of Done\n\nBefore completing work, verify ALL checkpoints:\n\n**✅ Phase 1 - Structure Created:**\n- [ ] `docs\u002Freference\u002F` directory exists\n- [ ] `docs\u002Freference\u002Fadrs\u002F` directory exists\n- [ ] `docs\u002Freference\u002Fguides\u002F` directory exists\n- [ ] `docs\u002Freference\u002Fmanuals\u002F` directory exists\n- [ ] `docs\u002Freference\u002Fresearch\u002F` directory exists\n- [ ] `docs\u002Freference\u002FREADME.md` exists (created or existing)\n\n**✅ Phase 2 - Smart Documents Created (if Context Store provided):**\n- [ ] ADRs created for justified technology choices (nontrivial)\n- [ ] ADRs skipped for trivial choices (logged)\n- [ ] Guides created for technologies with complex config\n- [ ] Manuals created for packages with complex API\n- [ ] Each created document has real content (not placeholders)\n\n**✅ Phase 3 - Structure Validated:**\n- [ ] SCOPE tag and metadata markers present near top\n- [ ] Quick Navigation, Agent Entry, and Maintenance sections present\n- [ ] Four registry sections present (ADRs, Guides, Manuals, Research)\n- [ ] Maintenance section present at end\n- [ ] POSIX file endings compliant\n\n**✅ Phase 4 - Content Validated:**\n- [ ] All sections checked against questions.md\n- [ ] Empty-state notes or actual entries present in all registries (no raw placeholders)\n- [ ] No validation heuristic failures\n\n**✅ Reporting:**\n- [ ] Phase 1 logged: creation summary\n- [ ] Phase 2 logged: smart creation (created\u002Fskipped counts)\n- [ ] Phase 3 logged: structural fixes (if any)\n\n## Return Contract\n\nReturn normalized status to ln-100:\n\n```json\n{\n  \"created_files\": [\"docs\u002Freference\u002FREADME.md\", \"docs\u002Freference\u002Fadrs\u002Fadr-001-frontend.md\"],\n  \"skipped_files\": [],\n  \"quality_inputs\": {\n    \"doc_paths\": [\"docs\u002Freference\u002FREADME.md\", \"docs\u002Freference\u002Fadrs\u002Fadr-001-frontend.md\"],\n    \"owners\": {\n      \"docs\u002Freference\u002FREADME.md\": \"ln-120-reference-docs-creator\",\n      \"docs\u002Freference\u002Fadrs\u002Fadr-001-frontend.md\": \"ln-120-reference-docs-creator\"\n    }\n  },\n  \"validation_status\": \"passed\"\n}\n```\n\n**✅ Reporting (continued):**\n- [ ] Phase 4 logged: content updates (if any)\n\n## Meta-Analysis\n\nOptional reference: load `references\u002Fmeta_analysis_protocol.md` only when the user asks for post-run meta-analysis or protocol-formatted run reflection.\n\nSkill type: `documentation-creator`. When requested, run after all phases complete. Output to chat using the `documentation-creator` format.\n\n---\n\n## Technical Details\n\n**Standards**:\n- Michael Nygard's ADR Format (7 sections)\n- ISO\u002FIEC\u002FIEEE 29148:2018 (Documentation standards)\n\n**Language**: English only\n\n---\n\n**Version:** 8.2.0\n**Last Updated:** 2025-01-12\n",{"name":5,"license":15,"description":7},"main","fbfb242f793fdf040f3a1a6b100896c188c228c8","_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator",1,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog","https:\u002F\u002Fgithub.com\u002Fvitalikpestov","Listing on crypto exchanges","2026-06-15 22:12:56",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add vitalikpestov\u002FSkills-Catalog --skill ln-120-reference-docs-creator",{"tool":58,"command":59},"bunx","bunx skills add vitalikpestov\u002FSkills-Catalog --skill ln-120-reference-docs-creator",{"tool":61,"command":62},"pnpm","pnpm dlx skills add vitalikpestov\u002FSkills-Catalog --skill ln-120-reference-docs-creator","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002FSKILL.md",true,[66,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"references\u002Fcoordinator_summary_contract.md","REFERENCE","参考文档",1009,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Fcoordinator_summary_contract.md",{"path":73,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":74,"sourceHtmlUrl":75},"references\u002Fdocs_generation_summary_contract.md",535,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Fdocs_generation_summary_contract.md",{"path":77,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Fdocs_quality_contract.md",2236,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Fdocs_quality_contract.md",{"path":81,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fdocs_quality_rules.json",8029,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Fdocs_quality_rules.json",{"path":85,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fdocs_quality_rules.json.SOURCE.md",1283,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Fdocs_quality_rules.json.SOURCE.md",{"path":89,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fepistemic_protocol.md",3505,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Fepistemic_protocol.md",{"path":93,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fmarkdown_read_protocol.md",1505,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Fmarkdown_read_protocol.md",{"path":97,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Fmeta_analysis_protocol.md",1509,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Fmeta_analysis_protocol.md",{"path":101,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Fquestions.md",10555,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Fquestions.md",{"path":105,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Fresearch_tool_fallback.md",1214,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Fresearch_tool_fallback.md",{"path":109,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":110,"sourceHtmlUrl":111},"references\u002Ftech_justification_rules.md",5422,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Ftech_justification_rules.md",{"path":113,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":114,"sourceHtmlUrl":115},"references\u002Ftemplates\u002Fadr_template.md",2940,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Ftemplates\u002Fadr_template.md",{"path":117,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":118,"sourceHtmlUrl":119},"references\u002Ftemplates\u002Fguide_template.md",3177,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Ftemplates\u002Fguide_template.md",{"path":121,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":122,"sourceHtmlUrl":123},"references\u002Ftemplates\u002Fmanual_template.md",4692,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Ftemplates\u002Fmanual_template.md",{"path":125,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":126,"sourceHtmlUrl":127},"references\u002Ftemplates\u002Freference_readme_template.md",2700,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Ftemplates\u002Freference_readme_template.md",{"path":129,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":130,"sourceHtmlUrl":131},"references\u002Ftemplates\u002Fresearch_template.md",3100,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_AI-Automation\u002Fclaude-code-skills-levnikolaevich\u002Fplugins\u002Fdocumentation-pipeline\u002Fskills\u002Fln-120-reference-docs-creator\u002Freferences\u002Ftemplates\u002Fresearch_template.md",[133,177,201,218,240,273],{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":155,"publishedAt":176},"01M71V1MC994P553631JZSWVYD","solana-dev","Use when user asks to \"build a Solana dapp\", \"write an Anchor program\", \"create a token\", \"debug Solana errors\", \"set up wallet connection\", \"test my Solana program\", \"deploy to devnet\", or \"explain Solana concepts\" (rent, accounts, PDAs, CPIs, etc.). End-to-end Solana development playbook covering wallet connection, Anchor\u002FPinocchio programs, Codama client generation, LiteSVM\u002FMollusk\u002FSurfpool testing, and security checklists. Integrates with the Solana MCP server for live documentation search. Prefers framework-kit (@solana\u002Fclient + @solana\u002Freact-hooks) for UI, wallet-standard-first connection (incl. ConnectorKit), @solana\u002Fkit for client\u002FRPC code, and @solana\u002Fweb3-compat for legacy boundaries.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Web3\u002Fsolana-dev\u002Fskill\u002FSKILL.md",[139,144,147,150],{"categoryNo":140,"categoryName":141,"taxonomyType":142,"taxonomyTypeDesc":143},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":145,"categoryName":146,"taxonomyType":142,"taxonomyTypeDesc":143},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":148,"categoryName":149,"taxonomyType":142,"taxonomyTypeDesc":143},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":151,"categoryName":152,"taxonomyType":153,"taxonomyTypeDesc":154},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175],"dev","solana dev","solana","Wallet","search","testing","solana cli","kit","MCP","web3","react","create","server","write","playbook","live","security","ui","concepts","toolchain","2026-11-10 13:02:02",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":183,"publishedAt":176},"01M71TYQPHE2YGKTT7DG9QCW3K","generating-trading-signals","Generate trading signals using technical indicators (RSI, MACD, Bollinger Bands, etc.).\nCombines multiple indicators into composite signals with confidence scores.\nUse when analyzing assets for trading opportunities or checking technical indicators.\nTrigger with phrases like \"get trading signals\", \"check indicators\", \"analyze for entry\",\n\"scan for opportunities\", \"generate buy\u002Fsell signals\", or \"technical analysis\".","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Trading-Finance\u002Fgenerating-trading-signals\u002FSKILL.md",[],[184,185,186,187,188,189,29,190,191,192,193,194,27,36,195,196,197,198,199,200],"generating trading signals","signals","trading signals","trading","get","technical indicators","scan","rsi","trigger","python","technical","Bash","analysis","code","io","check","analyze",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":207,"publishedAt":176},"01M71TY4CR3GKGQ3M12X9WN95Y","prediction-monitor","Prediction Monitor - Auto-activating skill for ML Deployment.\nTriggers on: prediction monitor, prediction monitor\nPart of the ML Deployment skill category.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Trading-Finance\u002FAI Predictions\u002Fprediction-monitor\u002FSKILL.md",[],[208,209,210,29,211,212,169,213,214,215,216,217,195],"prediction","monitor","prediction monitor","deployment","read","edit","triggers","grep","auto","ml",{"skillNo":219,"name":220,"nameZh":6,"description":221,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":222,"categories":223,"keywords":224,"publishedAt":176},"01M71TXD9MYXZC39HCPP909HTZ","strategy-advisor","High-level strategic thinking and business decision guidance for planning and direction-setting.\nUse when: making strategic decisions, evaluating business options, setting direction, analyzing\ntrade-offs, or when user mentions strategy, business planning, competitive analysis, or long-term planning.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Fstrategy-advisor\u002FSKILL.md",[],[225,226,227,228,229,230,231,232,233,29,234,37,235,27,236,237,36,238,196,239],"strategy advisor","strategy","advisor","competitive","setting","thinking","planning","direction","trade-offs","long","strategic","business","apps","decisions","trade",{"skillNo":241,"name":242,"nameZh":6,"description":243,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":244,"sourceHtmlUrl":245,"categories":246,"keywords":253,"publishedAt":176},"01M71TWHBT2R1P1FNWTW67ZREP","app-paywall-pilot","Design, audit, debug, and implement App Store-compliant mobile paywalls, subscription flows, pricing screens, trials, offers, feature gates, and subscription lifecycle UX. Use when the user asks to audit my paywall, fix App Store 3.1.2 rejection, improve trial-to-paid, choose plans\u002Fprices\u002Ftrials, review RevenueCat\u002FAdapty\u002FApphud\u002FSuperwall setup, calculate LTV\u002FROAS, or build paywall implementation.","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffrom-dosesync\u002Fapp-paywall-pilot\u002FSKILL.md",[247,250],{"categoryNo":248,"categoryName":249,"taxonomyType":142,"taxonomyTypeDesc":143},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":251,"categoryName":252,"taxonomyType":153,"taxonomyTypeDesc":154},"01JBSEEDCAT000000000000032","设计师",[254,255,256,257,258,259,260,261,262,263,264,265,36,266,267,268,269,270,271,272],"app","paywall","app paywall pilot","paid","paywalls","prices","choose","flows","fix","improve","design","app store","review","audit","ux","subscription","mobile","my","calculate",{"skillNo":274,"name":275,"nameZh":6,"description":276,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":277,"licenseFileUrl":278,"sourceHtmlUrl":279,"categories":280,"keywords":283,"publishedAt":176},"01M71TWET8GFKEB7ZHJPMQX29V","figma","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffigma\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Product-Apps\u002Ffigma\u002FSKILL.md",[281,282],{"categoryNo":148,"categoryName":149,"taxonomyType":142,"taxonomyTypeDesc":143},{"categoryNo":251,"categoryName":252,"taxonomyType":153,"taxonomyTypeDesc":154},[275,284,285,286,287,192,264,164,27,36,288,289,197,290,168,291,292,293,294,295],"fetch","ids","mcp setup","translate","mcp server","Variables","task","Nodes","figma mcp","code implementation","node","assets"]