← ClaudeAtlas

gh-update-planlisted

Update a GitHub plan issue with progress. Use when planning a task, or when the user tells you to "update the github plan issue".
gjoranv/claude-plan-skills · ★ 3 · AI & Automation · score 74
Install: claude install-skill gjoranv/claude-plan-skills
Exit plan mode before executing this skill. You must actually run `gh` commands to update the issue; do not just describe what you would do. Use `gh` to read, edit, and comment on issues. This includes using `gh api` to update issue bodies and edit or create comments. Do not ask for permission to update comments -- it is expected. **Workflow for editing issue bodies and comments:** 1. Use a stable temp directory per issue: `/tmp/plan-update-OWNER-REPO-NUMBER`. This allows reuse across invocations. 2. **Fetch or reuse**: If `--local` is passed and the temp directory already has files from a previous invocation, skip fetching and reuse the cached files. Otherwise, **always fetch fresh content** from GitHub using `gh api` and overwrite any existing temp files. Use the Write tool to save files. Do NOT use shell redirects (`>`). 3. Use the Read and Edit tools to modify the temp files (not shell commands like sed/awk). 4. Upload using `--input` with `jq` to 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 conte