一键导入
xx-issues
Use when editing issues in workshop/issues/.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when editing issues in workshop/issues/.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when 🤖{} or 🤖[] or 🤖~~ markers appear in markdown documents
use to learn from existing coding sessions, or record hints
Use when the user is requesting an artifact (capture, save, record, create) AND the substance to preserve is conversational context they've already produced. Skip when the user is stating facts, asking questions, or asking the agent to generate substance from scratch. Also trigger when editing markdown with known frontmatter type:
Use to process interview feedback
apply a voice style
Generate a writing style guide
| name | xx-issues |
| description | Use when editing issues in workshop/issues/. |
Create and manage issues in workshop/issues/ with consistent format.
/xx-issues create <slug>
/xx-issues close <id>
Or invoked automatically when you are about to create an issue file.
Every issue file MUST follow this structure:
workshop/issues/NNNNNN-<slug>.md — zero-padded 6-digit ID, kebab-case slug.
To determine the next ID, find the highest existing ID in workshop/issues/ and workshop/history/ and increment by 1.
---
id: NNNNNN
status: open
deps: []
github_issue:
created: YYYY-MM-DD
updated: YYYY-MM-DD
estimate_hours: # optional at create; required when status flips to working
actual_hours: # required when status flips to done
---
# <Title>
## Problem
<What's wrong or what's needed>
## Spec
<Desired behavior, constraints, design decisions>
## Plan
- [ ] <step>
## Log
### YYYY-MM-DD — session summary
<one paragraph per major sitting (or milestone close): what was
attempted, what landed, what got deferred, in-flight design
decisions worth remembering. Replaces "you'd have to read
transcripts" with explicit handoff to future-you / future agent.>
### YYYY-MM-DD
<dated entries for individual decisions, discoveries, side-quests
that don't fit a session-summary block>
## Side quests
<optional; recommended for multi-day issues. One line per
unbudgeted-but-shipped piece of work — name + ~time + commit ref.
Example:
- Makefile dev-unsign rule (~30 min) — `802c1bf`
- OSC 8 hyperlinks on catalog URLs (~40 min) — `cb98234`
Pairs with the `side-quest:` commit verb (see ariadne AGENTS.md
§12). Lets retrospective + velocity calibration count effort that
otherwise dissolves into the diff.>
| Field | Required | Values |
|---|---|---|
id | Yes | 6-digit zero-padded integer matching filename |
status | Yes | open, working, blocked, done, wontfix, punt |
deps | Yes | List of issue IDs this depends on, e.g. [000005] |
github_issue | No | GitHub issue number if linked |
created | Yes | ISO date |
updated | Yes | ISO date |
estimate_hours | When status≥working | Single integer (P50 of estimate range). Pulled from a ## Estimate section if one exists; produced by the velocity skill or equivalent. Empty when an estimate hasn't been done yet (e.g., status=open). |
actual_hours | When status=done | Required at close. Feel-time across the issue's commit window, including side-quests it triggered. Without this the velocity calibration loop cannot close — see ariadne AGENTS.md §4 + §5 closing checklist. |
*(to be filled)*### YYYY-MM-DD — session summary heading for major-sitting wrap-ups (one paragraph each); plain ### YYYY-MM-DD for individual entries.side-quest: commit-verb convention (ariadne AGENTS.md §12).workshop/issues/ and workshop/history/ for the highest existing IDupdated date in frontmatter when making changesstatus field to reflect current stateRun make close-issue and follow the script's prompts:
make close-issue ISSUE=<N> [MILESTONE=Mx] ACTUAL=<hours> VERIFIED='<one-line evidence>'
The script enforces ariadne AGENTS.md §5: status: done, actual_hours: <N>, atlas/ change in the commit window, log entry. It refuses without ACTUAL or VERIFIED — its missing-arg explainer prints the exact active-time-v3.py command tailored to this issue's commit window (with peer issues auto-discovered, so the v3 attribution doesn't fall into mention-fallback). Run that command, read the # per-issue totals line for #<N>, re-run make close-issue with ACTUAL filled in.
What the script doesn't do — judgment steps the agent owns:
What the script does do automatically when invoked from a clean close:
## Plan (milestone close) or status: done flip (issue close)actual_hours, updated## Log entry with VERIFIED**actual:** and **closed:**FORCE=1 to bypass with VERIFIED rationale)Do NOT move the file to workshop/history/ — that happens during periodic cleanup, not at close.
The full v3 attribution method (commit-anchored segment-local, why we ditched v2.1's session-wide mention-weighting, calibration data points) lives in brain/data/life/42shots/velocity/baseline-v3.md for when you want the deep-dive.
When referencing an issue outside the current repo (e.g., a brain
note pointing at a parley issue, a parley issue depending on work in
ariadne), use the qualified form <repo>#<NNN>:
parley.nvim#123 — issue 123 in the parley.nvim repobrain#42 — issue 42 in the brain repoWithin the current repo, keep using bare #NNN. The qualifier exists
to disambiguate cross-repo references; using it everywhere is just
noise.
This mirrors GitHub's owner/repo#NNN convention for cross-repo issue
references — readers already parse it correctly. The repo slug is the
directory name (and matches the workspace layout where peers live as
sibling directories).
Why the bare form needs disambiguation across repos: issue numbers
restart at 1 in every repo, so #42 is ambiguous when context spans
multiple repos. It also collides badly with forked-upstream history
— a fork's git log can contain commits from before the fork-point that
mention the upstream's old #42 (a different issue entirely). Tools
like close-issue.py work around this with a 1-month window cap, but
qualified references are the principled fix going forward.
Where qualified refs apply:
deps: frontmatter for cross-repo dependencies: deps: [parley.nvim#119]#NNN is correct there)Transition note: existing bare #NNN references across the
codebase remain valid. Tools that grep for issue references should
match both #NNN and <repo>#<NNN> during the transition. Over time,
qualified refs accumulate naturally in cross-repo contexts without a
flag day.
deps to express blocking relationships between issues; use
qualified <repo>#<NNN> form when the dependency lives in a peer repo