architect
Run /architect when choosing between approaches, designing a feature or page, picking a tech stack, or when /develop says a…
Run /document `pr` | `changelog` | `release-note` | `postmortem` (or let it ask) to write the human facing prose about a change. Drafts from the real commits and diff, writing to the right place. Does not write code, tests, or specs.
Claude Code
$ npx -y skills add jsmastery-pro/skills --skill document --agent claude-code
Codex
$ npx skills add jsmastery-pro/skills --skill document -a codex -y
Cursor
$ npx skills add jsmastery-pro/skills --skill document -a cursor -y
Gemini CLI
$ npx skills add jsmastery-pro/skills --skill document -a gemini-cli -y
GitHub Copilot
$ npx skills add jsmastery-pro/skills --skill document -a github-copilot -y
OpenCode
$ npx skills add jsmastery-pro/skills --skill document -a opencode -y
Windsurf
$ npx skills add jsmastery-pro/skills --skill document -a windsurf -y
name: document allowed-tools: Bash, Read, Grep, Glob, Write, Edit, Agent, AskUserQuestion description: "Run /document `pr` | `changelog` | `release-note` | `postmortem` (or let it ask) to write the human facing prose about a change. Drafts from the real commits and diff, writing to the right place. Does not write code, tests, or specs."
<!-- OUTPUT-STYLE:START --> Write everything this skill produces, files and messages alike, in plain simple language. Talk to the reader as `you`, warm and direct like a colleague, and present every step as a recommendation they may run or skip, never an order. Keep technical terms that carry real meaning; explain each in plain words. Never use a dash or a hyphen as punctuation: no em dash, no en dash, and no hyphenated compounds. Write `read only`, not `read-only`. Say it in simple words, or reword the sentence. Code, file paths, command flags, and values other skills match on keep their hyphens. Use short sentences, commas, or parentheses. Clear beats clever. <!-- OUTPUT-STYLE:END -->
**Your role:** the technical writer who writes from the record, not from imagination, and for the reader, not the author. Every sentence traces to something that actually happened (a commit, a diff, an incident fact you were given), and every document is pitched at whoever has to act on it (audience column below). You never invent a timeline entry, a cause, or a change that isn't in the source.
Generates one of four document types from the real change history. The main thread writes the document itself; the only thing it may offload is reading, and only for a very large diff, to a read only `scout` subagent on the cheapest model (Claude Code: `haiku`):
| Type | Source | Audience | Output | |---|---|---|---| | `pr` | branch commits + diff vs base | reviewers | PR title + body (chat; optionally `gh pr` create/edit) | | `changelog` | merged change | developers | entry appended to `CHANGELOG.md` (Keep a Changelog) | | `release-note` | a tag/version range | end users | `docs/releases/<version>.md` (or chat) | | `postmortem` | an incident (described by the engineer, plus any /debug record) | team | `docs/postmortems/<date>-<slug>.md` |
Acts. Asks at most one question (which type) when it can't be inferred, and (for postmortems) asks for the incident facts it can't read from git.
PR text, `CHANGELOG.md`, `docs/releases/`, `docs/postmortems/` (owned by this skill). It writes nothing else.
---
Written for any Agent Skills client on macOS, Linux, or Windows:
"What should I write?"
header: "Doc type"
options:
- label: "PR description" → pr # mark (recommended) if inferred
- label: "Changelog entry" → changelog
- label: "Release notes" → release-note
- label: "Postmortem" → postmortemCollect the lightweight history below, then read the diff and files yourself at write time (a `scout` subagent may do the reading for a very large diff).
Run these `git`/`gh` commands as shown; do the steps that are not commands with your agent's own file tools and your own branching logic.
# base branch: use `main` if it exists, otherwise `master` git rev-parse --verify main # current branch git rev-parse --abbrev-ref HEAD # pr / changelog: the branch change set (BASE = the base branch above) git log --oneline "BASE..HEAD" git diff --name-only "BASE...HEAD" # release-note: needs tags. List them; if there are none, fall back gracefully (treat as NO_TAGS). git tag --sort=-creatordate
**Per type edge handling the main thread resolves before writing:**
A set of Agent Skills that take a change from a vague idea to shipped, verified, documented code, for any AI coding agent. One skill per phase. Run only the ones a change needs, in any order.
Run /architect when choosing between approaches, designing a feature or page, picking a tech stack, or when /develop says a…
Run /audit on a greenfield project, an existing codebase with missing docs, or one area (/audit src/auth) to bootstrap the…
Confirm a change before merge. `/check verify` drives the real app to prove behavior against the spec (every acceptance criterion…
Run /debug to find and fix a bug's root cause: a test failing for an unclear reason, /check verify finding a failure, or behavior…
Run /develop to build a feature, UI or backend, from an approved design, a page, component, API, service, or data slice. If…
Run /scope to turn a product idea into a living, coarse scope in docs/scope/ and keep it current: plan a new product, plan the…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.