Doccraft session wrap
Skill alexpialetski/doccraft/.claude/skills/doccraft-session-wrap
Documentation and project-story skills (ADR, story, queue-audit, session-wrap) for Claude Code and Cursor, layered on OpenSpec.
npx -y skills add alexpialetski/doccraft --skill doccraft-session-wrapAssembled 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
After a design, research, business, or prioritisation thread, evaluate whether the conversation produced durable insight worth capturing in docs/, then propose only the artifacts that are clearly justified (ADR, research note, reference doc, business update, story, backlog/queue edit). Use when the user says "wrap this session", "propose docs artifacts", "what should we capture", "summarize this into docs", "end-of-session", or similar close-out phrasing. If nothing warrants capture, say so in one sentence and stop. Never write files unless the user explicitly asks to create or update them in the same turn — propose drafts only.
SKILL.md
10.3 KB, as published. Nobody here has run it
Managed by doccraft —
doccraft updateregenerates this file. Local edits will be overwritten. Seedoccraft.jsonto override project-specific vocabulary and paths without touching this file.
doccraft — session wrap (propose docs artifacts)
When to use
- The user invokes this skill or asks to wrap this session / propose docs artifacts / what should we capture / summarize this discussion into docs from the current conversation.
- Typical triggers: architecture or product discussion concluded (or deferred with rationale), research synthesis, or reprioritisation — not every casual Q&A.
Default: propose artifacts only if necessary. Do not invent work to document.
NEVER write files unless the user explicitly asks to create or update them in the same turn. Propose drafts only.
Configuration
Read doccraft.yaml at invocation. The sessionWrap.capture: block
controls which artifact categories are in scope for this project — skip
rows entirely in the proposals table when their category is disabled.
Relevant keys:
docsDir— root folder for all docs. Default:docs. All artifact paths below are relative to{docsDir}/.sessionWrap.capture.research— defaulttrue.sessionWrap.capture.reference— defaulttrue.sessionWrap.capture.business— defaultfalse. Projects that track strategy under{docsDir}/business/set this totrue; most projects leave it off.
If doccraft.yaml is missing, apply the defaults above. The ADR,
Story, and Backlog / queue categories are always in scope — they
are the load-bearing set.
Package routing
For monorepo projects (a Known package roots block appears above when
packages are declared), artifact proposals route to the package whose
body the conversation referenced most. Default to the project root when
no single package dominates. The paths in the docs map below resolve
relative to the chosen package's docs/ (or the project-root
docs/ for single-root projects).
Docs map (where things go)
Authoritative overview, if the project has one: docs/README.md.
| Kind | Path | Use for |
|---|---|---|
| ADR | docs/adr/NNN-slug.md | A decision to freeze (chosen option, explicit deferral, or rejected approach you do not want re-litigated). See doccraft-adr if installed. |
| Research | docs/research/<topic>.md | Exploration / comparison / notes (tools, papers, datasets) without a single "we decided X" — synthesis for humans and future agents. |
| Reference | docs/reference/<topic>.md | Long-form engineering notes (runbooks, eval harnesses, pricing) that are not framed as an ADR. If the project has a docs/reference/README.md, add a link there when adding a new file. |
| Business | docs/business/<topic>.md | Business strategy — target audience, business model, competitive landscape, marketing, unit economics, legal, launch sequence. Only propose if the project already tracks business docs under docs/business/; prefer updating existing topics over creating new ones. |
| Story | docs/stories/<slug>.md | Trackable scope with acceptance criteria and optional depends_on. Follow doccraft-story if installed. |
| Backlog / queue | docs/backlog.md, docs/queue.md | P-tier rows, status column, ordered "pick next" — not every chat. If the thread defined new dependencies, point the user at doccraft-queue-audit (Agent mode applies mechanical fixes). |
Gate checklist (run mentally before proposing)
Answer each only from the visible thread (and optional repo files the user already opened). If the answer is "no" for all actionable rows, go to Exit.
- ADR — Did the thread reach (or explicitly record) an architecture / process / stack conclusion worth git history? (Includes "we will not do X".)
- Research — Is there durable synthesis (comparisons, constraints, citations) that is not a single sharp decision?
- Reference — Is there operational or eval depth better as a living doc than an ADR or a story?
- Business — If the project tracks business strategy under
docs/business/: did the thread produce business insights (audience, pricing, competitive, marketing, legal, economics) that MUST update or extend those docs? Prefer updating existing docs over creating new ones. Skip this row entirely if the project has nodocs/business/tree. - Story — Is there a bounded deliverable with testable acceptance criteria not already covered by an existing story?
- Backlog / queue — Did priorities or P-tier status change in a way that belongs in the tables (rare for a pure discussion thread)?
If none of the above apply, go to Exit.
Output format
MUST use these sections in this order:
-
Summary — One short paragraph: what (if anything) is worth capturing.
-
Proposals table (omit rows with no proposal):
Artifact Proposed path Why (one line) Follow ADR / Research / Reference / Story / Backlog / Queue e.g. docs/adr/004-foo.md... link to relevant skill or docs overview -
Do not write files unless the user explicitly asks to create or update them in the same turn. Offer drafts only when useful.
-
If proposing an ADR, remind: next
NNN-, no renumbering; usedoccraft-adr. -
If proposing a story, remind: use
doccraft-story; consider updatingdocs/backlog.md(status column) anddocs/queue.md(pick-next order) when priorities shift, and invokedoccraft-queue-auditin the same turn if newdepends_onedges were introduced.
Example output
**Summary:** This thread established a caching strategy for API responses
and identified a follow-up task for cache invalidation testing.
| Artifact | Proposed path | Why (one line) | Follow |
|----------|---------------|----------------|--------|
| ADR | `docs/adr/012-api-response-caching.md` | Decided on Redis with 5-min TTL over in-memory; worth freezing | `doccraft-adr` |
| Story | `docs/stories/p2-cache-invalidation-tests.md` | Bounded deliverable with clear acceptance criteria from discussion | `doccraft-story` |
- ADR: next number is 012. Use `doccraft-adr` to write.
- Story: use `doccraft-story`. If `depends_on` edges are added, invoke
`doccraft-queue-audit` in the same turn.
Exit (nothing to capture)
If no row in the proposals table applies, respond with one or two sentences
only, e.g. "No durable decisions or synthesis in this thread; nothing to add
to docs/." — then stop (no filler table, no speculative ADRs).
Pre-execution validation
Before proposing any artifacts, MUST complete these checks:
- Thread scan — review the entire visible conversation thread. NEVER propose artifacts from assumptions about what was discussed.
- Existing artifacts — check
docs/adr/,docs/stories/,docs/research/, anddocs/reference/for existing files that already cover the topic. Prefer updating existing docs over creating duplicates. - Config check — read
doccraft.yamlto determine which categories are enabled. NEVER propose a Research artifact whensessionWrap.capture.researchisfalse, or a Business artifact whensessionWrap.capture.businessisfalse. - ADR numbering — if proposing an ADR, scan
docs/adr/NNN-*.mdto determine the next unused number. MUST include the correct next number in the proposal. - Story uniqueness — if proposing a story, scan
docs/stories/*.mdfrontmatter to confirm no existing story already covers the same scope.
Invalid examples (do not use)
- Proposing an ADR when the thread only explored options without reaching a conclusion — use Research instead, or propose nothing.
- Proposing artifacts for a casual Q&A or debugging session with no durable insight — use Exit instead.
- Writing files without the user explicitly asking in the same turn — NEVER; propose only.
- Proposing a Business artifact when
docs/business/does not exist and the project has not opted in via config — NEVER. - Proposing speculative stories for work that was not discussed in the thread — NEVER invent work to document.
- Including a filler table with empty rows when nothing warrants capture — use the one-sentence Exit instead.
- Proposing a Reference doc when the content is a single sharp decision — use an ADR instead.
- Proposing an ADR when the content is a broad comparison without a conclusion — use Research instead.
Done condition
The task is complete when:
- The full conversation thread has been reviewed against the gate checklist.
- Either a proposals table has been presented with concrete paths, one-line justifications, and follow links for each proposed artifact, or the Exit response has been given.
- No files have been written (unless the user explicitly asked to create or update them in the same turn).
- If an ADR was proposed, the next available
NNN-number is included. - If a story was proposed, a reminder to use
doccraft-storyand considerdoccraft-queue-auditis included.
Workflow reminders
- After the user approves a proposed ADR, invoke
doccraft-adrto write it — do not write the ADR manually. - After the user approves a proposed story, invoke
doccraft-storyto write it — do not write the story manually. - If the user asks to create multiple proposed artifacts in one turn, invoke each relevant skill in sequence.
- If the proposals table includes both an ADR and a story that references
it, create the ADR first so the story's
adr_refscan reference it.