원클릭으로
work-on-issue
Pick up a GitHub issue, implement it, and submit a PR. The standard workflow for any assigned task.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Pick up a GitHub issue, implement it, and submit a PR. The standard workflow for any assigned task.
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 | work-on-issue |
| description | Pick up a GitHub issue, implement it, and submit a PR. The standard workflow for any assigned task. |
When you are assigned a GitHub issue to implement (feature, bug fix, refactoring, or documentation task).
Depends on #X) — do not start if dependencies are unresolvednext-issue skill to query the board and confirm this issue is next in the stack rankTodo status (not blocked or already in progress)# From main, create a branch tied to the issue number
git checkout main
git pull origin main
git checkout -b feat/issue-{N}-short-description
Use the appropriate type prefix: feat/, fix/, docs/, refactor/, test/, chore/
AGENTS.md and .github/copilot-instructions.md)add-new-buffer skilladd-new-command skillcreate-adr skillcreate-rfc skillcreate-issue skilltriage-issue skillcargo fmt --check
cargo clippy -- -D warnings
cargo test
All three must pass before committing.
git add .
git commit -m "feat(scope): brief description
Detailed explanation of what changed and why.
Closes #N"
feat, fix, docs, refactor, test, choreCloses #NPart of #N insteadgit push origin feat/issue-{N}-short-description
Then create the PR. Always use a PowerShell here-string for the body — backtick is PowerShell's escape character, so any backtick-quoted code in a markdown body will corrupt or crash if passed as an inline string literal.
# Single-quoted here-string: backticks, $vars, and quotes are all literal.
# The closing '@ MUST be at column 0 (no leading spaces).
$body = @'
## Summary
Closes #N — one-paragraph description.
## Changes
- `src/ui/app.rs`: what changed
- `src/ui/keybindings.rs`: what changed
## Manual Testing
(see below for how to fill this section)
## Tests
- N unit tests, N integration tests
## Quality
- `cargo fmt` ✅
- `cargo clippy -- -D warnings` ✅
- `cargo test` ✅
'@
gh pr create --title "feat(scope): description" --body $body --base main
PR requirements:
feat(scope): description)Closes #N in the body## Manual Testing section (see guidance below)⚠️ After creating the PR — stop and wait for the Copilot review.
copilot-pull-request-reviewerruns asynchronously aftergh pr createand typically takes several minutes. Do not runcode-review-validationuntil the bot has posted its review. Checking immediately will show zero comments even when feedback is incoming — that is not a signal that the PR is clean. Pause the session and resume once the review appears, or poll withgh pr view <N> --json reviewsuntil the bot's entry is present.
## Manual Testing sectionThis section tells a human reviewer exactly how to verify the change beyond cargo test. Every PR must include it — either with real steps or an explicit N/A with reasoning.
If the change has observable behavior (new keybinding, new buffer, new message, visual change, config change):
Write 2–5 short, imperative steps a reviewer can follow. Include:
cargo run)Example for a keybinding change:
## Manual Testing
1. `cargo run`
2. Navigate to the episode list
3. Select an episode and press `m` → status should change to ✓ Played
4. Press `u` on the same episode → status should revert to unplayed
5. Quit and reopen → played/unplayed status should persist
Example for a config/storage change:
## Manual Testing
1. `cargo run` — confirm app starts without errors
2. Open `~/.config/podcast-tui/config.json` and add `"quit": ["C-q"]`
3. Restart the app → pressing `C-q` should quit, `q` should still quit (default not removed)
4. Delete the config file → app should start with all defaults
If the change is internal/infrastructure (parser, trait, data model, refactor with no UI effect):
Write N/A followed by a short reason explaining why there's nothing a human can manually verify yet:
## Manual Testing
N/A — key notation parser is not wired to the keybinding system yet.
Consumers will be added in #97 and #98.
## Manual Testing
N/A — internal refactor of storage trait; no change to observable behavior.
All behavior is covered by the 12 unit tests above.
Rules:
If the change is user-facing, update CHANGELOG.md following the update-changelog skill before pushing. Add the entry to [Unreleased] and include it in the same commit as the code change. This is what prevents changelog gaps when multiple releases are cut quickly.
src/constants.rs before hardcoding any values