Docs project management
Skill endorphin-ai/hasbrains-agent-kit/agent-engineering/skills/docs-project-management
The battle-tested Claude Code kit behind HasBrainsAI — agent skills, subagents & slash commands for production multi-agent systems. Install in one command.
npx -y skills add endorphin-ai/hasbrains-agent-kit --skill docs-project-managementAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Universal, project-agnostic playbook for managing an ENTIRE project inside the repo's docs/ folder — the docs/-native system of record, reusable in any project, new or existing, with no external issue tracker. Defines WHAT it manages: the work-item TAXONOMY (Roadmap → docs/ROADMAP.md + docs/roadmap.json, PRD → docs/prd/, TRD → docs/trd/, Epic → docs/epics/, User Story → docs/user_stories/, Test Case → docs/test_cases/, Bug → docs/bugs/, per-session team reports → docs/sessions/, feature work-log → docs/reports/), the cross-document LINK GRAPH written as relative-markdown links (User Story part-of Epic; Test Case is-tested-by User Story; Bug blocks its story; PRD↔TRD), the YAML-frontmatter STATUS lifecycle + the bookend rule (transition status: forward before starting work, again when done), required frontmatter fields, the mandatory Test Case Template and the Bug+RCA report format, the TEAM WORK-REPORTING convention (one session folder per run; every agent bookends a start/completion report there + appends to its feature log), and the docs/ vs .ai_log/ split — durable records are committed markdown in docs/; .ai_log/ holds ONLY temporary git-ignored evidence (screenshots, run logs, scratch payloads, pipeline-state handoff JSON) passed by path and PROMOTED to docs/ if it turns out durable. Attached to EVERY agent.
SKILL.md
12.7 KB, as published. Nobody here has run it
TASKLANG TYPE SKILL
IDENTITY "Docs Project Management (the docs/-native system of record)"
A universal, reusable playbook for running a whole project — requirements, planning, build tracking, testing, bugs, and team reporting — as committed markdown inside the repo's
docs/folder. It works in ANY project, in any stack, from day one of a NEW project: no external issue tracker, no ticket system, no proprietary tooling. A work item is a markdown file with YAML frontmatter; a relationship is a relative markdown link; a status change is a frontmatter edit; the full history is git.It does three jobs:
- WORK-ITEM MODEL — WHAT document types exist (PRD, TRD, Epic, User Story, Test Case, Bug, Roadmap), WHERE each lives, HOW they link, and HOW status is tracked.
- TEAM WORK-REPORTING — HOW every agent/contributor reports its work so anyone can see, in one committed place, everything that was done (who, what, when, with which evidence).
- DURABLE vs TEMPORARY — WHAT belongs in committed
docs/versus the git-ignored.ai_log/temp-evidence folder, and when to promote content from one to the other.
§1 Document types — WHAT the system manages
Every work item is a committed markdown file in its
docs/subfolder: descriptive kebab-case filename (never an opaque ID), YAML frontmatter for status/metadata, relative-markdown links for relationships. Full field-level detail: [[work-item-taxonomy]].
TABLE document-types
COLUMNS: Type, Lives in, What it is / holds
ROW: Project brief | docs/project_brief.md | The product spec — the SOURCE OF TRUTH the whole project derives from; wins over any assumption
ROW: Project config| docs/project_config/info.md | The single home for project-specific FACTS (product name, app name, stack, domain, scope, success scenarios) — agents read it instead of hard-coding facts
ROW: Roadmap | docs/ROADMAP.md + docs/roadmap.json | The milestone/release plan (human file) + a machine-readable MIRROR of every work item's current status (JSON cache, regenerated from docs/, committed)
ROW: PRD | docs/prd/ | Product Requirements Document — WHAT to build and WHY: objectives, in-scope / out-of-scope, testable acceptance criteria per success scenario
ROW: TRD | docs/trd/ | Technical Requirements Document — HOW to build it: architecture, data model, migrations, jobs, authz. Canonical TRD home; keep index.json (machine registry, one entry per TRD) + index.md (human index) beside the files
ROW: Epic | docs/epics/ | A large feature/theme grouping related User Stories; carries goal + scope + its story list
ROW: User Story | docs/user_stories/ | The smallest shippable requirement — "as a <user> I want <capability>" + numbered acceptance criteria; filename NNN-<kebab-title>.md
ROW: Test Case | docs/test_cases/ | A verification script for ONE behavior — numbered navigate→action→expected steps; filename tc-NNN-<kebab-behavior>.md; MUST follow the [[test-case-template]] and link its story "is tested by"
ROW: Bug | docs/bugs/ | A defect AND its Root-Cause-Analysis in ONE file — Symptom/Reproduction + 5-Whys RCA + Preventative Action at detection; Fix/diff/Resolved sections completed by whoever fixes it ([[bug-rca-report]]); blocks its story
ROW: Session report| docs/sessions/<YYYY-MM-DD>-<slug>/ | Per-run team work folder — a README manifest + one bookended report per agent/phase ([[session-reporting]])
ROW: Feature log | docs/reports/feature-log.md + feature-log/ | The team work-log split by feature: one lean index row per feature, linking a per-feature file where each run appends a row
RULES
- Filenames: descriptive kebab-case, never opaque IDs. External refs (ticket numbers), when they
exist, go in frontmatter + the title line — not the filename.
- Each subfolder may carry a template_<type>.md seed; new items copy its shape.
- Only APPROVED/final content advances status; drafts stay in their lifecycle state.
§2 The link graph — HOW documents relate
Every relationship is a labelled RELATIVE-MARKDOWN link in a
## Linked Documentssection, written in BOTH files (add the reciprocal link). No link-type IDs, no tracker mechanics — the label carries the semantic. Full table + exact syntax: [[link-graph]].
- User Story is part of its Epic; the Epic lists it back (realized by).
- Test Case ↔ User Story is ALWAYS "is tested by" (story side) / "tests" (test-case side) — never "relates to" or "part of".
- Bug blocks the User Story it breaks; the story links the bug back.
- PRD ↔ TRD cross-link (specified by); User Story is derived from its PRD.
§3 Status lifecycle — HOW progress is tracked
Status lives in each file's YAML frontmatter
status:field; changing status = editing that field. Full lifecycle, required frontmatter fields, and the signature convention: [[status-lifecycle]].
LIFECYCLE status VALUES: backlog → ready → in_progress → in_review → qa → done (blocked = orthogonal flag)
Pick the closest value per item type: a Bug walks open → in_progress → fixed → verified → closed; a Test Case walks draft → ready → automated.
BOOKEND both-ends
- ON START: set
status: in_progressBEFORE touching the work; stampupdated:. - ON COMPLETION: set the next appropriate state (
in_review/qa/done); stampupdated:. - NEVER leave a worked file on its old status — that is an incomplete bookend.
SIGNATURE
- Sign every file update / report entry:
— <agent-name> v<version> (<passport-id>).
§4 Team work-reporting — HOW work becomes visible
One committed place per run where anyone can see all work done. Full layout, report schema, and per-role sections: [[session-reporting]].
- The orchestrator (or the first agent of a run) CREATES the session folder
docs/sessions/<YYYY-MM-DD>-<slug>/with aREADME.mdmanifest (request, plan, a phase→agent→status→report table) and passessession_dirto every worker. - EVERY agent bookends its run there —
<session_dir>/<phase-N>-<agent>.md, created with a STARTING entry, updated on COMPLETION (work done, work items touched as links, evidence links), flipping its row in the session README. - Each agent ALSO appends a run-row to its feature's log
docs/reports/feature-log/<slug>.md(indexed by the leandocs/reports/feature-log.md). - Reports carry the role-specific section: QA → coverage report; security → findings + verdict; devops → deploy/CI status; architect → gate verdict; PM → acceptance verdict.
§5 docs/ vs .ai_log/ — durable vs temporary
The one split that keeps context lean AND the record complete. Never confuse the two.
docs/ — durable, committed, the system of record. Anything with lasting value lives here:
specs, decisions, work items, reports, audits, backlog/deferred-work notes, coverage summaries.
.ai_log/ — temporary, git-ignored, evidence offload ONLY. The folder is tracked via
.gitkeep; its CONTENTS are ignored and therefore never committed — anything left only there is
effectively lost. Belongs in .ai_log/:
- screenshots / diff images / browser captures taken as run evidence
- run logs, test-run output, scratch files, intermediate payloads too big for context
- the per-session pipeline-state handoff JSON (
.ai_log/session-<id>-<name>.json) — the machine bus that carries key fields + PATHS between phases - naming:
.ai_log/<phase-N>-<agent>-<artifact>.<ext>
RULES
- Hand off by PATH, never by inlining a blob into a prompt or a state file.
- PROMOTE anything durable that lands in .ai_log/ into the right docs/ subfolder (with
frontmatter + links) before relying on it — a decision or report parked only in .ai_log/
does not exist as a record.
- Reports in docs/ may LINK to .ai_log/ evidence, knowing it is ephemeral.
§6 Adopting in a NEW project — bootstrap
CHECKLIST bootstrap
[ ] Create the skeleton: docs/{prd,trd,epics,user_stories,test_cases,bugs,sessions,reports/feature-log,project_config}/ + docs/ROADMAP.md
[ ] Write docs/project_brief.md (the spec) and docs/project_config/info.md (the project facts)
[ ] Create .ai_log/ with a tracked .gitkeep; git-ignore its contents (/.ai_log/* + !/.ai_log/.gitkeep)
[ ] Seed docs/reports/feature-log.md (empty index) and docs/roadmap.json (empty mirror)
[ ] Drop a template_<type>.md into each work-item subfolder if you want enforced shapes
Nothing else is required — the model is just folders + markdown + frontmatter + relative links.
The Map — load the one reference you need
This SKILL.md is a MAP. Deep detail lives in atomized
references/notes; load only what the task needs. Machine-readable nav:maps/index.json(+tags.json,links.json,manifest.json).
TABLE references COLUMNS: Note, Owns, Load when ROW: [[work-item-taxonomy]] | §1 detail — folder, filename pattern, owner per work item | You need a work item's folder, filename pattern, or owner ROW: [[link-graph]] | §2 detail — every relationship's semantic, direction, exact syntax | Linking two work items / checking a relationship's direction ROW: [[status-lifecycle]] | §3 detail — lifecycle values, bookend, required frontmatter fields, signature | Starting/finishing work, setting status, filling frontmatter ROW: [[test-case-template]] | The mandatory Test Case Template (all fields) | Authoring/reviewing a docs/test_cases/ file ROW: [[bug-rca-report]] | The Bug+RCA format — detection sections (Symptom/Repro/5-Whys/Preventative Action) + fix sections (Fix/diff/Resolved) | Authoring/completing a docs/bugs/ Bug file ROW: [[session-reporting]] | §4 detail — session folder layout, report schema, role sections, feature log | Bookending your run as a report; organizing a session folder ROW: [[conventions-recap]] | The non-negotiables checklist + the Knowledge Strategy | A one-glance rule check; rules for updating this skill
Non-negotiables (one-glance)
CHECKLIST conventions
[ ] Every work item = a committed markdown file in its §1 subfolder, kebab-named, frontmatter'd
[ ] Every relationship = a labelled relative-markdown link, written reciprocally in both files
[ ] Status bookended at BOTH ends by editing frontmatter status: — never left stale
[ ] Test Cases follow the template AND link their story "is tested by"
[ ] Bugs are one Bug+RCA file: detection sections at filing, fix sections completed by the fixer
[ ] Every run bookends a report in docs/sessions/<session>/ + a feature-log row
[ ] Durable content in docs/ (committed); ONLY temporary evidence in .ai_log/ (git-ignored);
promote anything durable that lands in .ai_log/
[ ] No external tracker mechanics — everything is a local docs/ file, linked by relative paths
Knowledge Strategy
- Patterns to capture: recurring item shapes, link-graph edge cases, report sections that proved useful.
- Update permission: agents may freely add/update files in
references/; changes to THIS SKILL.md map require user approval. Full strategy: [[conventions-recap]].