ワンクリックで
triage-issue
Triage a GitHub issue by applying labels, setting project board fields, linking to epics, and identifying blockers.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Triage a GitHub issue by applying labels, setting project board fields, linking to epics, and identifying blockers.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Add a new device profile to podcast-tui's config.json so episodes sync to an MP3 player / DAP / USB drive with device-appropriate filenames and folder layout. Covers device research, field selection, and safe config editing.
Prepare a new release by finalizing CHANGELOG, tagging, and verifying builds. Covers everything before pushing the tag that triggers CI.
Query the GitHub project board to find the next stack-ranked issue to work on. Returns the top actionable Todo item from the Task List view, checking issue dependencies and filtering out epics, closed issues, and blocked items.
Reorder items on the Task List project board to reflect current priorities. Supports full strategic reranks and targeted insertions. Always shows proposed order for user confirmation before executing.
Write a checkpoint file at session end so the next session can pick up exactly where you left off. Captures what was done, what's next, key decisions, and reminders.
Bootstrap a new session from a previous session's checkpoint. Reads the handoff file, confirms the project board state, and prepares to continue work.
| name | triage-issue |
| description | Triage a GitHub issue by applying labels, setting project board fields, linking to epics, and identifying blockers. |
After an issue is created (or discovered untriaged), apply the correct metadata so it's properly prioritized and discoverable on the project board.
Understand the scope, impact, and intent before triaging. Check for:
Every issue gets exactly one type label:
| Label | When to use |
|---|---|
bug | Something is broken or behaves incorrectly |
enhancement | New feature, improvement, or capability |
documentation | Documentation-only change |
testing | Test infrastructure or coverage improvement |
Add one or more component labels based on which modules are affected:
| Label | Modules |
|---|---|
ui | src/ui/, buffers, keybindings, themes |
downloads | src/download/manager.rs download operations |
sync | src/download/manager.rs sync operations |
storage | src/storage/, JSON persistence |
rss | src/podcast/feed.rs, subscription management |
audio | Rodio integration (future) |
performance | Optimization, async efficiency |
| Priority | Criteria | Examples |
|---|---|---|
P0 | Blocker — data loss, crash, security vulnerability | Unsafe memory leak (#63) |
P1 | High — broken core workflow, bad UX for common path | Sync buffer non-functional (#74) |
P2 | Medium — improvement to existing feature, consistency fix | Normalize feedback messages (#64) |
P3 | Low — nice-to-have, cosmetic, future enhancement | Named sync targets |
| Effort | Criteria |
|---|---|
XS | < 30 min. Trivial one-liner or config change |
S | Half-day. Small feature or focused bug fix |
M | Full day. Feature with tests, or multi-file bug fix |
L | 2–3 days. Significant feature with design work |
XL | 3+ days. Major feature, likely needs phased breakdown |
If effort is XL, consider whether the issue should be an epic with sub-issues instead.
| Phase | Criteria |
|---|---|
Phase 1 | Foundation — must be done first, unblocks other work |
Phase 2 | Core functionality — the main feature work |
Phase 3 | Polish — advanced features, config, docs |
Backlog | Not scheduled — valid but not prioritized yet |
If the issue is part of a larger effort:
**Parent**: <Epic title> to the issue body**Depends on**: #N if there's a sequencing constraintIf the issue depends on unfinished work:
**Depends on**: #N to the bodyblocked label if the dependency is not yet in progressTodo (not In Progress)After setting all fields, assign a Stack Rank value and position the item in the correct location on the Task List view. The Stack Rank field is the canonical work order — new items land at the bottom by default and need to be assigned a proper rank.
Query the current board and sort by Stack Rank:
gh project item-list 1 --owner lqdev --format json --limit 200
Sort items by Stack Rank ascending. Find the correct position based on the new item's Priority → Phase → Effort relative to existing items. The item should be placed:
Compute a Stack Rank value between the surrounding items. For example, if inserting between rank 30 and 40, use 35.
rerank-board skill to rebalance ranks for the affected section. It implements the gap-compaction and renumbering procedure.+10 using gh project item-edit, then choose a value in the new gap (for example, between 30 and 40, use 35).Set the Stack Rank field:
gh project item-edit --project-id "PVT_kwHOAKnYPM4BPqK6" --id "<NEW_ITEM_ID>" --field-id "PVTF_lAHOAKnYPM4BPqK6zg-Gc20" --number <RANK>
Optionally sync physical board position with updateProjectV2ItemPosition:
gh api graphql -f query='mutation {
updateProjectV2ItemPosition(input: {
projectId: "PVT_kwHOAKnYPM4BPqK6"
itemId: "<NEW_ITEM_ID>"
afterId: "<ITEM_THAT_SHOULD_COME_BEFORE>"
}) { items(first:1) { nodes { id } } }
}'
If the item should be first on the board, omit afterId.
See the rerank-board skill for project constants and full reordering mechanics.
| Label | When |
|---|---|
needs-triage | Remove this label once triage is complete |
blocked | Issue cannot proceed until dependency is resolved |
help-wanted | Good for external contributors |
After triaging, the issue should have:
bug, enhancement, documentation, or testing)ui, storage, sync, etc.)P0–P3)XS–XL)Backlog)needs-triage label removedblocked label added if dependencies existBacklog unless explicitly prioritized.