Docs Project Management
docs-project-management/
Manage a whole project inside the repo's docs/ folder: roadmap, PRDs, epics, user stories, test cases and bugs as linked Markdown files with a status lifecycle. No issue tracker needed.

Run an entire project from the repo's
docs/folder, no external issue tracker, no ticket system.
Why use it
- Project state lives in a tracker the code doesn't know about, and the two drift apart the day after kickoff.
- Agents invent their own folders, link wording and status values, so nothing cross-references.
- "What was actually done?" has no answer that a reviewer can read in the diff.
What it does
- The work-item taxonomy: roadmap → PRD → TRD → epics → user stories → test cases → bugs, each in its own
docs/folder. - The link graph as relative markdown links, user story
part ofepic, test caseis tested bystory, bugblocksstory, PRD↔TRD. - The YAML-frontmatter status lifecycle + the bookend rule: move
status:forward when you start, again when you finish. - 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.
Benefits
- Your tracker ships with your code. Work item = markdown file. Status = a diff. History = git.
- Nothing drifts. Requirements, tests and bugs live next to what they describe.
- Reviewable progress. "What got done?" is answered by the PR itself.
- Still navigable at 300 files, because every agent writes to the same model.
- Zero tooling cost. No tracker, no license, no sync job, day one of a new project.
Install
Download this skill and copy the docs-project-management folder to .claude/skills/docs-project-management/ in your project, or to ~/.claude/skills/docs-project-management/ to use it in every project. Claude Code finds it on its own; you can also call it with /docs-project-management.
Part of the Agent Engineering bundle. To get the whole set as a Claude Code plugin: /plugin marketplace add endorphin-ai/hasbrains-agent-kit, then /plugin install agent-engineering@hasbrains-agent-kit.
Source: endorphin-ai/hasbrains-agent-kit. License: MIT.
Files (16)
Files
---
id: link-graph
title: The Link Graph (relative-markdown links)
summary: Every work-item relationship as a labelled, bidirectional relative-markdown link; Test Case is-tested-by User Story, Bug blocks its story, PRD↔TRD.
tags: [docs-pm/links, docs-pm/model]
load_when: When linking two work items, or checking which relationship semantic and direction to write.
links: [[work-item-taxonomy]], [[test-case-template]], [[status-lifecycle]]
---
# The Link Graph (relative-markdown links)
> Express EVERY relationship as a relative-markdown link in a "Linked Documents" / "Links" section of
> the file. There are no tracker link-type names or IDs — the SEMANTIC below is carried by a labelled
> relative link. Links are bidirectional by CONVENTION: when you link A→B, add the reciprocal B→A.
TABLE links
COLUMNS: From, Semantic, To, How it is written
ROW: User Story | is **part of** | Epic | `**Epic**: [Membership & Billing](../epics/membership-billing.md)`
ROW: Epic | **realized by** | User Story | `**User Stories**: [001 …](../user_stories/001-….md)`
ROW: Test Case | **is tested by** | User Story | Story file: `**is tested by**: [TC-001](../test_cases/tc-001-….md)`
ROW: User Story | **tests** (inverse) | Test Case | TC file: `**Linked User Story**: [001 …](../user_stories/001-….md)`
ROW: Bug | **blocks** | User Story | Bug file: `**Blocks**: [001 …](../user_stories/001-….md)`
ROW: Test Case | **found by** | Bug | `**Bugs**: [paywall-leak](../bugs/paywall-leak.md)`
ROW: PRD | **specified by** | TRD | `**TRD**: [feature-trd](../trd/feature-trd.md)`
ROW: User Story | **derived from** | PRD | `**PRD**: [feature-prd](../prd/feature-prd.md)`
!!! OVERRIDE: a Test Case ↔ User Story link is ALWAYS **"is tested by"** — NEVER "relates to" or
"part of". The User Story `is tested by` the Test Case; the Test Case `tests` the story.
!!! A Bug ALWAYS `blocks` the User Story it breaks.
> The items being linked live where [[work-item-taxonomy]] says. Test Cases carry the mandatory
> shape in [[test-case-template]].