Gh close plan
Claude Code skills for managing multi-step tasks as GitHub issues. Create, implement, update, and close execution plans that survive across sessions.
npx -y skills add gjoranv/claude-plan-skills --skill gh-close-planAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 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
Close a GitHub plan issue with a summary. Use when the user tells you to "close the github plan issue".
SKILL.md
3.7 KB, as published. Nobody here has run it
Never @mention other users in plan issues or comments.
Close the GitHub issue $ARGUMENTS (issue URL or owner/repo#number). If no argument is given, use the issue referenced earlier in this conversation. If no issue can be determined, ask the user.
Workflow for editing issue bodies and comments:
- Create a unique temp directory:
mktemp -d /tmp/plan-close-XXXXX - Fetch content from GitHub using
gh apiand capture the output. Use the Write tool to save it to files in the temp directory (e.g.body.md,comment-COMMENTID.md). Do NOT use shell redirects (>) to write files, as this triggers permission prompts. - Use the Read and Edit tools to modify the temp files (not shell commands like sed/awk).
- Upload using
--inputwithjqto properly JSON-encode the content:
- Edit issue body:
jq -Rs '{body: .}' <tempdir>/body.md | gh api repos/OWNER/REPO/issues/NUMBER -X PATCH --input - - Create comment:
jq -Rs '{body: .}' <tempdir>/comment.md | gh api repos/OWNER/REPO/issues/NUMBER/comments --input - - Edit comment:
jq -Rs '{body: .}' <tempdir>/comment-COMMENTID.md | gh api repos/OWNER/REPO/issues/comments/COMMENT_ID -X PATCH --input -
Never embed content directly in shell arguments or use -f body=@file (it uploads the literal string, not the file contents). Always fetch the latest from GitHub before making changes. Do not rely on previously fetched copies that may be stale.
-
Read the issue and its comments to understand the full history of the work.
-
Check off completed steps (
- [x]) based on the work done. Steps may be in a separate Steps comment (new format) or in the issue body (old format). Check both locations. -
Verify that all steps are checked off. If any are incomplete, ask the user whether to proceed or leave the issue open.
-
Finalize the PRs comment as a table:
| PR | What | Agent session |. PR column:org/repo#Nas a link. What column: brief description. Agent session column: the session that added the PR. If the existing comment uses a different format (bullet list, old-style table), reformat it to this table structure. -
Clean up comments: Non-structural comments fall into two categories based on their heading:
### Session:prefix: These are session summaries. Delete them and consolidate into a single Session Log comment with dated sections (### YYYY-MM-DD). Keep only key findings, decisions, and insights. Drop sessions with nothing noteworthy.- Any other heading (e.g. "Research:", "Considered:", "Implementation notes:", "Verification:"): These are standalone findings with lasting value. Keep them as separate comments, or merge into the Design comment if they are design decisions.
Never delete structural comments (Steps, Design, Diagram, Links, Useful commands, Agent sessions, PRs). See
gh-create-planfor the canonical list and order.
-
Capture learnings: Before closing, review the work for non-obvious discoveries worth persisting. If a durable-memory CLI is configured, offer its capture flow. Otherwise, ask the user "Anything worth capturing?" and propose where each belongs:
- Instructions file (CLAUDE.md, AGENTS.md, or similar): conventions, gotchas, build quirks
- Repo docs (
docs/or similar): architecture insights, design rationale - Memory: cross-project patterns, user preferences
Apply confirmed items. If the user says nothing to capture, move on.
-
Add a closing comment summarizing:
- What was accomplished
- Links to the final PR(s)
- Any follow-up work or known limitations
-
Close the issue.