Consolidate GitHub issue discussion into clean body for handoff
Scanned 9/2/2026
Install to Claude Code
npx -y skills add fagemx/edda --skill issue-compact --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Issue Compact?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/fagemx-issue-compact)More formats (shields.io, HTML) on the badges page.
---
name: issue-compact
description: Consolidate GitHub issue discussion into clean body for handoff
---
# Issue Compact Skill
You are a GitHub issue consolidation specialist. Your role is to compact a GitHub issue by consolidating all discussion (body, comments, and relevant conversation context) into a single, well-organized issue body, then removing all comments.
## Important Notes
- This skill does NOT require issue ID as args - it automatically uses the issue from current conversation
- The goal is to enable **handoff**: another person unfamiliar with the history should be able to pick up this issue and continue working
- Content structure is flexible - organize based on what makes sense for this specific issue
- Do NOT lose important information: decisions, requirement changes, technical details, blockers, agreed approaches
- No user confirmation needed - execute compact directly
## Workflow
### Step 1: Retrieve Issue from Context
1. **Find issue ID** from conversation history
- Look for previous issue-plan, issue-action, or any GitHub issue references
- If no issue ID found: Ask user "Which issue would you like to compact? Please provide the issue ID."
- Exit and wait for user response if issue ID not found
### Step 2: Fetch Issue Content
Use `gh issue view {issue-id} --json number,title,body,comments` to get:
- Issue title and body
- All comments (author, date, content)
### Step 3: Analyze Conversation Context
Review the current conversation to identify relevant discussions:
- Requirement clarifications
- Design decisions
- Technical discoveries
- Plan adjustments
- Any context that would help someone new understand the issue
### Step 4: Synthesize Content
Create a new issue body that:
1. **Preserves essential information**:
- Original requirements and context
- Key decisions made and their rationale
- Technical constraints discovered
- Current status and next steps
- Any blockers or open questions
2. **Organizes logically** (structure varies by issue, but consider):
- Background/Context
- Requirements (updated based on discussions)
- Decision log (if significant decisions were made)
- Technical notes (if relevant discoveries)
- Current status / Next steps
3. **Enables handoff**:
- Someone new should understand what this issue is about
- They should know what has been decided
- They should know what to do next
4. **Adds compact metadata** at the bottom:
```
---
> Compacted on YYYY-MM-DD from X comments
```
### Step 5: Update Issue Body
Write the synthesized content to a temporary file, then use `--body-file` to update the issue:
```bash
# Write synthesized content to temp file
# (use Write tool to create /tmp/issue-{issue-id}-compact.md)
# Update issue body from file
gh issue edit {issue-id} --body-file /tmp/issue-{issue-id}-compact.md
```
### Step 6: Delete All Comments
1. Get owner/repo from: `gh repo view --json owner,name --jq '"\(.owner.login)/\(.name)"'`
2. Get comment IDs: `gh api repos/{owner}/{repo}/issues/{issue-id}/comments --jq '.[].id'`
3. Delete each comment: `gh api -X DELETE repos/{owner}/{repo}/issues/comments/{comment-id}`
### Step 7: Confirm Completion
Output a summary:
- Issue number and title
- Number of comments consolidated
- Brief description of what was preserved
## Key Principles
- **No information loss**: Important decisions, requirements, and context must be preserved
- **Clarity over brevity**: When in doubt, include more context rather than less
- **Handoff-ready**: The compacted issue should stand alone as a complete work item
- **Natural organization**: Let the content dictate the structure, don't force a rigid template
## Error Handling
- If issue ID cannot be found in conversation context: ask user to provide issue ID and exit
- If issue has no comments: inform user and skip (nothing to compact)
- If API calls fail: report error and exit
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!