Issue
Use GitHub issues as persistent cross-session resolution memory. Create, update, and re-read issues that are self-contained and re-readable cold, recording the hypothesis and the resolution. Triggers on "track this in an issue", "create an issue I can resume", "resume issue", "issue memory", "log this problem as an issue", or when work must survive a context reset via the GitHub tracker. NOT for ephemeral session snapshots (use remember) and NOT for the manual Obsidian vault (use brain). GitHub-native, auto-re-readable on resume.From its SKILL.md
npx -y skills add mirkobozzetto/arsenal --skill issueAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 12 stars12 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.
- runs commandsInstructs the agent to run 7 commands, including `gh issue create --title "<concise title>" --label claude-memory --body "<rendered template>"` and 6 more.
SKILL.md
4.3 KB, 889 tokens by cl100k_base, as published. Nobody here has run it
issue: GitHub issues as resolution memory
Persist problem-solving state in GitHub issues so a later session (or a fresh context) can re-read an issue cold and continue. Each issue records the problem, a self-contained Pickup Directive, the working hypothesis, attempts, and the final resolution.
Prerequisites
ghCLI authenticated (gh auth status).- Inside a GitHub repo (a remote with issues enabled). If not, stop and tell the user.
Natural-language routing
Interpret intent and route:
| User says | Action |
|---|---|
| "track this in an issue", "log this problem", "open an issue for this" | create |
| "update the issue", "note progress on #N", "I found the cause" | update |
| "resume issue #N", "what was I doing on #N", "pick up where I left off" | resume |
| "list my memory issues", "what issues am I tracking" | list |
Default when ambiguous and a number is present → resume #N; otherwise → create.
create
- Draft the issue body from
references/issue-template.md(Problem / Pickup Directive / Hypothesis / Attempts / Resolution). Fill Problem + Pickup Directive + initial Hypothesis from the current context; leave Attempts/Resolution as stubs. - Confirm with the user before opening (opening an issue is outward-facing). Show the drafted title + body.
- Create with the memory label so
resume/listcan filter:
If the label does not exist, create it once:gh issue create --title "<concise title>" --label claude-memory --body "<rendered template>"gh label create claude-memory --description "Claude resolution memory" --color BFD4F2. - Report the issue number + URL.
update
- Read before write:
gh issue view <N> --commentsto load current state. - Append progress as a comment (never overwrite the original body):
gh issue comment <N> --body "<progress / revised hypothesis / new attempt>" - When solved, append the resolution and close (confirm before closing):
gh issue comment <N> --body "Resolution: <what fixed it and why>" gh issue close <N> --reason completed
resume
- Load the issue cold:
If no number given:gh issue view <N> --commentsgh issue list --label claude-memory --state openand ask which. - Reconstruct context strictly from the Pickup Directive + Hypothesis + latest comments. Do not assume prior chat memory.
- State the recovered context back to the user, then continue the work.
list
gh issue list --label claude-memory --state open
Show number, title, and updated time.
Issue body template
The structure lives in references/issue-template.md. Read it before create so every issue is self-contained and re-readable cold. The Pickup Directive is mandatory: it is what makes the issue resumable without prior context.
Guardrails
- Read an issue (
gh issue view) before commenting or closing; never blow away existing content. - Confirm with the user before
gh issue createand beforegh issue close(outward-facing / state change). - Use
ghfor all issue operations, not raw git; this skill never commits or pushes. - Never modify a database; this skill only touches GitHub issues.
- Prose in English; technical terms and identifiers in English.
- Any web lookup uses Exa MCP only (web_search_exa, crawling_exa); never native WebSearch/WebFetch.
- No comments inside any generated code or scripts.
Delimitation
issue!=remember: remember is an ephemeral per-session snapshot. issue is durable and GitHub-native.issue!=brain: brain is manual Obsidian capture. issue is the repo's tracker, auto-re-read on resume.
What ships with it: 1 file
1.1 KB alongside SKILL.md
references/
- issue-template.md1.1 KB