Project Docs — Standard Document Ecosystem

SkillDocs & knowledge

Use when starting a new project, onboarding to an existing product, or setting up a documentation ecosystem for any initiative. Scaffolds the standard document set, folder structure, project memory, and doc-sync config. Works for software products, consulting engagements, platform implementations, and governance programs.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Project Docs — Standard Document Ecosystem skill

What this skill tells your AI

The instructions your AI receives, as published by coco-research/coco in skills/project-docs/SKILL.md and read by ahel’s review.

Purpose

Every project needs the same core set of interconnected documents. This skill scaffolds a complete documentation ecosystem from day one so that:

  • Nothing gets lost between meetings, decisions, and deliverables
  • Every document has a clear owner, purpose, and update trigger
  • The doc-sync watcher can automatically detect when documents go stale
  • New team members can onboard by reading the folder structure alone

When to Use

  • /project-docs init — Scaffold a new project from scratch
  • /project-docs init --type consulting — Use consulting template (meetings-heavy)
  • /project-docs init --type product — Use product template (PRD-heavy)
  • /project-docs init --type implementation — Use implementation template (vendor + config)
  • /project-docs audit — Check an existing project against the standard and report gaps

The Standard Document Set

Every project should have these 16 document types organized in 6 categories. Not every project needs all 16 — the skill asks which ones apply and only scaffolds what's needed. Documents 11-16 are generated on demand via dedicated slash commands in the pm-ops skill category.

Category 1: Source of Truth (Root Documents)

These are authoritative — all other documents derive from them.

#DocumentFile PatternPurposeUpdate Trigger
1PRD / RequirementsPRD/ or Requirements/What we're building and whyDecisions, research findings, stakeholder feedback
2Project MemoryCLAUDE.local.mdAI context — architecture, decisions, recent changesEvery session (auto-maintained)

Category 2: Source Documents (Inputs)

Raw inputs that feed the root documents. These are append-only — never edited after creation.

#DocumentFile PatternPurposeUpdate Trigger
3Meeting NotesMeeting-Notes/YYYY-MM-DD-Name.mdDecisions, action items, context from callsAfter every meeting
4ResearchResearch/Topic-Name.mdDeep dives, competitive analysis, technical researchAs needed
5Source DocumentsSource-Documents/Contracts, emails, vendor docs, screenshotsWhen received

Category 3: Derived Documents (Outputs)

Generated from root + source documents. These go stale and need syncing.

#DocumentFile PatternPurposeUpdate Trigger
6Presentation / DeckPresentations/Name-vN.htmlStakeholder-facing summaryPRD changes, new meetings, new decisions
7PRD PresentationPRD/PRD-Presentation.htmlSlide version of PRD for reviewsPRD changes
8Architecture MapArchitecture/System diagrams, data flows, integration mapsDesign decisions, technical research
9ARB ReviewARB/Architecture Review Board presentation (Coco Inc 11-slide format)Architecture changes, pre-go-live

Generate with: /arb-review — auto-populates from PRD + architecture + project registry data.

Category 4: Operational Documents

Living documents that track ongoing state.

#DocumentFile PatternPurposeUpdate Trigger
10Verification / AuditVerification/Data verification, gap analysis, compliance checksBefore milestones
11Stakeholder DirectoryData/Stakeholder-Directory.xlsxContact list with roles, groups, ownershipNew people mentioned in meetings
12Change LogChange-Log.mdRunning log of product/platform changes (config, users, modules)After every change
13NFR Tracker.nfr-status.jsonCross-cutting readiness dashboard — tracks status of all document typesContinuous

Generate with: /change-log (init or append) and /nfr-tracker (audit readiness).

Category 5: Compliance & Resilience

Required for production systems. Generated on demand as go-live approaches.

#DocumentFile PatternPurposeUpdate Trigger
14DR PlanOperations/DR-Plan.mdDisaster Recovery — RTO/RPO targets, failover, manual fallbacksPre-go-live, annually
15IRPOperations/IRP.mdIncident Response Plan — severity matrix, escalation, SOX implicationsPre-go-live, annually
16Recovery PlanOperations/Recovery-Plan.mdStep-by-step restoration runbooks per failure scenarioAfter DR + IRP created

Generate with: /dr-plan/irp/recovery-plan (in dependency order).

Category 6: Communications

Templates for stakeholder announcements. Generated on demand.

DocumentFile PatternPurposeGenerate With
Stakeholder CommsComms/Stakeholder-Comms.htmlPre-filled templates: go-live, status, onboarding, incident, SteerCo/stakeholder-comms

The Dependency Graph

Meeting Notes ──┬──→ PRD ──────────→ PRD Presentation
                │     │
Research ───────┤     ├──→ Main Presentation
                │     │
Source Docs ────┘     ├──→ Architecture Map
                      │
                      ├──→ /arb-review (ARB presentation)
                      │
                      ├──→ /dr-plan ────→ /recovery-plan
                      │
                      ├──→ /irp ────────→ /recovery-plan
                      │
                      ├──→ /change-log (append mode)
                      │
                      └──→ /stakeholder-comms

/nfr-tracker ──────→ Reads ALL of the above, reports readiness

All changes ──────────→ CLAUDE.local.md
                ──────→ Stakeholder Directory (if new people)

Key rule: Source documents (meetings, research) flow INTO root documents (PRD). Root documents flow INTO derived documents (presentations, architecture, ops docs). Never the reverse. The NFR tracker is read-only — it audits but never modifies.

Staged Generation

Not all documents are needed on day one. The standard cadence:

WhenGenerateCommand
Day 1 (project start)Folder structure, CLAUDE.local.md, .sync-watch.json/project-docs init
Week 1 (after first meetings)PRD, Meeting Notes, Research/prd-generator
OngoingChange Log, Meeting Notes/change-log, manual
Pre-kickoffARB Review, Stakeholder Comms/arb-review, /stakeholder-comms
Pre-go-liveDR Plan → IRP → Recovery Plan/dr-plan/irp/recovery-plan
AnytimeReadiness check/nfr-tracker

Process

Step 1: Gather Project Context

Ask the user these questions (skip any they've already answered):

  1. Project name? (used for folder name and CLAUDE.local.md header)
  2. What type of project?
    • product — Building software (PRD-centric, Jira/Confluence integration)
    • consulting — Advisory/implementation engagement (meeting-notes-centric, stakeholder-heavy)
    • implementation — Deploying a vendor product (config-centric, vendor docs, phased rollout)
    • governance — Risk, compliance, controls (framework-centric, regulatory docs)
  3. One-line description? (goes in CLAUDE.local.md overview)
  4. Who are the key stakeholders? (seeds the stakeholder directory)
  5. What's the primary deliverable? (determines which Tier 1 doc to scaffold first)
  6. Is this a git repo? (affects .gitignore recommendations)

Step 2: Scaffold Folder Structure

Create the folder structure based on project type. Use the template from templates/folder-structures.md.

All types get:

Project-Name/
├── CLAUDE.local.md
├── .sync-watch.json
├── .nfr-status.json          # NFR tracker state (created by /nfr-tracker)
├── Meeting-Notes/
├── Research/
├── Source-Documents/
├── Data/
├── Operations/               # DR Plan, IRP, Recovery Plan (created by slash commands)
├── Comms/                    # Stakeholder communication templates
└── _temp/

Product type adds:

├── PRD/
│   ├── PRD-Name.html (or .md)
│   └── PRD-Presentation.html
├── Architecture/
└── Verification/

Consulting type adds:

├── Presentations/
│   ├── Name-v1.html
│   └── _archive/
├── PRD/ (optional)
└── Verification/

Implementation type adds:

├── PRD/
│   ├── PRD-Name.html
│   └── PRD-Presentation.html
├── Presentations/
│   ├── Name-v1.html
│   └── _archive/
├── ARB/                      # Created by /arb-review
├── Architecture/
├── Verification/
├── Change-Log.md             # Created by /change-log
└── Source-Documents/
    ├── Contracts/
    ├── Emails/
    └── Screenshots/

Governance type adds:

├── Framework/
│   ├── Controls/
│   ├── Risks/
│   └── Policies/
├── Presentations/
├── Architecture/
└── Verification/

Step 3: Create CLAUDE.local.md

Use the template from templates/project-memory.md. Pre-fill:

  • Project name and description from Step 1
  • Folder structure section (document what was created)
  • Routing guide table (map "I need X" → "Go to Y")
  • Empty sections for: Key Decisions, Recent Changes, Open Questions, Commands

Step 4: Create .sync-watch.json

Generate based on project type and folder structure. Map:

  • watch_dirs → all source document directories (Meeting-Notes, Research, etc.)
  • target_docs.tier1 → root + primary derived documents
  • target_docs.tier2 → secondary derived documents

Register the project in ~/.claude/sync-watch-projects.txt.

Step 5: Create Starter Files

For each document type the user selected, create a minimal starter:

  • Meeting Notes: Create Meeting-Notes/ with a _template.md file
  • PRD: Trigger /prd-generator or create empty PRD scaffold
  • Presentation: Create empty Presentations/Name-v1.html
  • Stakeholder Directory: Create Data/Stakeholder-Directory.xlsx or .md with initial contacts

Step 6: Report

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 PROJECT DOCS ► SCAFFOLDED ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Project: [Name]
Type: [product/consulting/implementation/governance]
Documents: [N] types configured
Sync watcher: Registered

Folder structure:
[tree output]

Next steps:
1. Start capturing meeting notes in Meeting-Notes/
2. Begin your PRD: /prd-generator
3. The doc-sync watcher will alert you when documents need updating

Audit Mode

When invoked with /project-docs audit:

  1. Read .sync-watch.json (if exists) or scan folder structure
  2. Check against the standard document set
  3. Report:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 PROJECT DOCS ► AUDIT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

| Document Type | Status | Path | Last Updated |
|---------------|--------|------|--------------|
| PRD | ✓ | PRD/ProductB-PRD.html | 2026-03-17 |
| Project Memory | ✓ | CLAUDE.local.md | 2026-03-17 |
| Meeting Notes | ✓ | Meeting-Notes/ (3 files) | 2026-03-13 |
| Research | ✓ | Research/ (4 files) | 2026-03-17 |
| Presentation | ✓ | Presentations/v5.html | 2026-03-12 |
| Architecture | ✓ | ProductB-Architecture-Map.html | 2026-03-13 |
| Verification | ✓ | Verification/ (2 files) | 2026-03-12 |
| Stakeholder Dir | ✗ MISSING | — | — |
| Source Documents | ✓ | Source-Documents/ | 2026-03-12 |
| Sync Config | ✓ | .sync-watch.json | 2026-03-17 |

Coverage: 9/10 (90%)
Missing: Stakeholder Directory

File Naming Conventions

TypePatternExample
Meeting notesYYYY-MM-DD-Attendee-or-Topic.md2026-03-17-{Stakeholder}-Kickoff.md
ResearchTopic-Name.md (no date suffix)Access-Management-Research.md
PRDProjectName-PRD.html or PRD-Name.htmlProductB-PRD-Control-Framework.html
PresentationName-vN.htmlAppName-v5.html
Source docsOriginal filename20251215-TGT-POC-Writeup.docx
ArchitectureArchitecture-Map.html or descriptiveProductB-Architecture-Map.html

Integration with Other Skills

pm-core (Document Creation & Sync)

SkillHow project-docs connects
/prd-generatorCalled in Step 5 if user wants PRD scaffolded
/doc-sync.sync-watch.json created in Step 4 enables automatic sync detection
/prd-masteryPRD folder structure follows prd-mastery's prds/ convention
CLAUDE.local.mdTemplate from core/memory/project-memory-template.md

pm-ops (Operational Documents — Generated On Demand)

SkillWhat it generatesWhen to run
/nfr-trackerReadiness dashboard across all 16 doc typesAnytime — audits what exists vs what's missing
/change-logRunning log of product/platform changesAfter project init, then ongoing
/stakeholder-commsPre-filled communication templates (6 types)Before kickoffs, go-lives, status cycles
/arb-reviewCoco Inc ARB presentation (11 slides)Pre-go-live or when architecture review required
/dr-planDisaster Recovery plan with RTO/RPOPre-go-live
/irpIncident Response Plan with escalation matrixPre-go-live (after DR plan)
/recovery-planStep-by-step restoration runbooksPre-go-live (after DR + IRP)

Dependency chain: /dr-plan/irp/recovery-plan (each builds on the previous). Meta-command: /nfr-tracker checks which of the above exist and reports gaps.

Critical Rules

  1. Don't over-scaffold. Only create directories the user confirmed they need. Empty folders are noise.
  2. Don't create placeholder content. An empty PRD.html with boilerplate headers is worse than no file. Either use /prd-generator to make a real one, or leave it for later.
  3. Date everything. CLAUDE.local.md entries use [YYYY-MM-DD] format. Meeting notes use date-first filenames.
  4. Archive, don't delete. When presentations get major updates, move old version to _archive/ before creating new one.
  5. Source docs are immutable. Meeting notes and research files are never edited after creation. New information goes in a new file.

Signals

GitHub stars
220
Forks
11
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
pmstudio-init
Source
github.com/coco-research/coco