product-management-skills
AGENTS.md0 starsChanged 30 days agoMITView on GitHub
Guidance for AI coding agents working in this repository (Codex, Claude Code, Cursor, Copilot and others). Product management skills for Claude Code and Codex: PRDs, story slicing, RICE/ICE prioritisation, acceptance criteria, stakeholder updates and spec reviews, with a deterministic linter and scorer. Entry points: cli/pm-skills.mjs Run these locally before pushing; CI runs the same checks. - .github/workflows/ci.yml (CI): npm test, npm run lint:examples <!-- repo-onboarding:end --> Two halves: skills an agent follows, and a zero-dependency CLI that does the parts…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,700 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository7 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- acceptance-criteriaSkill
- prioritizeSkill
- review-specSkill
- slice-storiesSkill
- stakeholder-updateSkill
- write-prdSkill
The file
We split this AGENTS.md into the rules it gives an agent
6 rules. About 0 are common, 1 is distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 41
Run these locally before pushing.
- Very specific: line 59
No runtime dependencies; Node.js 18.17 built-ins only.
- Very specific: line 61
Every lint rule has a stable rule id, a message that says what is wrong, and a hint that says what to write instead.
- Very specific: line 62
Prefer missing a problem to flagging a correct document: a new rule must leave examples/good/ clean.
- Very specific: line 68
Run npm test and npm run lint:examples.
- Very specific: line 70
Add a CHANGELOG.md entry for user-visible changes.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md
Guidance for AI coding agents working in this repository (Codex, Claude Code, Cursor, Copilot and others).
Project
Product management skills for Claude Code and Codex: PRDs, story slicing, RICE/ICE prioritisation, acceptance criteria, stakeholder updates and spec reviews, with a deterministic linter and scorer.
<!-- repo-onboarding:begin sha=ae2bd6802318 · generated from the repository; edit outside this block, refresh with `repo-onboarding update` -->Stack
- Languages: JavaScript
- Runtime: Node.js >=18.17
- Package manager: npm (package.json). Use it; do not mix in another one.
- License: MIT
Commands
| Task | Command | Defined in |
| Install dependencies | npm install | package.json |
| Test | npm test | package.json |
lint:examples | npm run lint:examples | package.json |
Layout
.claude-plugin/Claude Code plugin manifest.codex-plugin/Codex plugin manifest.github/GitHub workflows and templatescli/command-line entry pointdocs/documentationexamples/usage examplesskills/agent skillssrc/source codetest/tests
Entry points: cli/pm-skills.mjs
CI
Run these locally before pushing; CI runs the same checks.
.github/workflows/ci.yml(CI):npm test,npm run lint:examples
<!-- repo-onboarding:end -->Architecture
Two halves: skills an agent follows, and a zero-dependency CLI that does the parts that must be exact.
skills/<name>/SKILL.mdis the method for one job (write a PRD, slice stories, prioritise, write acceptance criteria, write an update, review a spec).skills/<name>/template.mdis that job's output shape;pm-skills template <name>prints it.cli/pm-skills.mjsdispatcheslint,scoreandtemplate. Start here.src/markdown.mjsreads Markdown into lines (with code-fence state), heading sections and pipe tables, all with 1-based line numbers.src/lint.mjsholds every lint rule, the English and Turkish vague-word lists with their suggested rewrites, and document-type detection (front mattertype:first, then the title).src/score.mjsparses RICE or ICE tables, does the arithmetic, ranks, finds close calls and writes Score and Rank columns back.examples/good/must lint clean;examples/before/shows what the linter catches. Both are used by the tests.
Conventions
- No runtime dependencies; Node.js 18.17 built-ins only.
- The model never does arithmetic: any scoring or counting a skill needs goes into the CLI, and the skill tells the agent to run it.
- Every lint rule has a stable
ruleid, a message that says what is wrong, and ahintthat says what to write instead. Add English and Turkish wording together. - Prefer missing a problem to flagging a correct document: a new rule must leave
examples/good/clean. - Skills are written as instructions to the agent, in English. They tell the agent to write output in the user's language.
- Examples use a fictional store. Never put a real company, real customer data or internal tool names in examples or tests.
Before you finish
- Run
npm testandnpm run lint:examples. - A new rule or skill comes with tests in
test/and, if it changes output, an updated example. - Add a
CHANGELOG.mdentry for user-visible changes.
Gotchas
- JavaScript
\bdoes not treat Turkish letters as word characters. Word rules use\p{L}boundaries with theuflag instead; keep it that way when adding words. - RICE confidence written as
80means 80%; anything above 1 is divided by 100. ${CLAUDE_PLUGIN_ROOT}is substituted in skill text by Claude Code but not by Codex, so every skill also gives the relative path to the CLI.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

