resolve-issues
Resolves GitHub issues using isolated worktrees and test-driven development, then delegates PR creation to /github:create-pr so the quality gate and the /github:review-pr loop always run. This skill should be used when the user asks to "resolve an issue", "fix issue
How do I install this agent skill?
npx skills add https://github.com/fradser/dotclaude --skill resolve-issuesIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is a structured workflow for resolving GitHub issues using isolated worktrees and test-driven development. It is generally safe but carries a low risk of indirect prompt injection because it processes untrusted content from GitHub issues. It also uses dynamic context injection to gather repository status and authentication information when the skill is loaded.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
- Runlayerpass
4/4 files flagged
What does this agent skill do?
Resolve GitHub Issues
Execute issue resolution workflow using isolated worktrees, TDD methodology, and agent collaboration.
Context
- Current git status: !
git status - Current branch: !
git branch --show-current - Existing worktrees: !
git worktree list - Open issues: !
gh issue list --state open --limit 10 - GitHub authentication: !
gh auth status
Requirements Summary
Use isolated worktrees to avoid disrupting main development. Follow TDD cycle (red → green → refactor) with agent support. Reference issues in commits using auto-closing keywords. See references/requirements.md for protected PR workflow and commit standards.
Phase 1: Issue Selection and Worktree Setup
Goal: Select target issue and prepare isolated development environment.
Actions:
- Review open issues from context and select based on priority and
$ARGUMENTS - Check existing worktrees to determine if reuse is possible
- Use the EnterWorktree tool with a descriptive name (e.g.,
fix-456-auth-redirect) to create an isolated session - Rename the auto-generated branch to match conventions: run
git branch -m <type>/<issue>-<description>(seereferences/workflow-details.mdfor naming) - Verify issue acceptance criteria and dependencies
Phase 2: TDD Implementation
Goal: Implement fix using test-driven development with agent collaboration.
Actions:
- Plan implementation approach and assess architectural impact
- Write failing tests that verify issue is resolved (RED phase)
- Implement minimal code to make tests pass (GREEN phase)
- Refactor while keeping tests green (REFACTOR phase)
- Run quality validation commands to keep the TDD cycle honest (see
references/workflow-details.mdfor project-specific checks)./github:create-prre-runs the full gate in Phase 3 and is the authoritative pre-PR check.
Phase 3: PR Creation and Cleanup
Goal: Hand PR creation to /github:create-pr so the quality gate and the review loop run. Cleanup happens only after the merge, which may be many turns later.
Actions:
- Push branch to remote with
git push -u origin <branch-name> - CRITICAL: Do NOT call
gh pr createhere. InvokeSkill("github:create-pr", "<issue reference>")— e.g.Skill("github:create-pr", "Closes #456"). It is the plugin's only PR-creating path and owns the quality/security gate, the auto-closing-keyword linkage, the non-default-branch warning, and the mandatory/github:review-prhandoff. Seereferences/pr-creation-handoff.mdfor the full contract. Creating the PR directly skips all of it.- Append
--draftto the arguments if the fix requires further feedback before review - Append
--no-monitoronly when the user explicitly opts out of the review loop
- Append
- This skill does not resume here.
/github:create-prreports the PR URL, and/github:review-prthen owns the PR for the rest of its life: a persistent Monitor spanning turns, the triage/fix/push rounds, and the merge decision it asks the user to make. Do NOT wait inline, do NOT re-report the URL, and do NOT run Phase 4 speculatively.
Phase 4: Post-Merge Cleanup (later turn, fallback)
Trigger: The PR from Phase 3 has actually merged — normally a later turn, after /github:review-pr completed its merge decision. /github:review-pr's closeout now owns the post-merge cleanup (worktree removal via ExitWorktree action:"remove", switch to main, sync with origin), so this Phase runs only as a fallback when that cleanup was skipped: the user chose "Don't merge", an interrupt left the worktree behind, or this is a fresh session that cannot ExitWorktree the worktree created by an earlier session. Never assume the worktree is gone — verify first.
Actions:
- Verify the merge with
gh pr view <PR#> --json state -q .statereturningMERGED; never assume. - Check
git worktree listwhether the issue worktree still exists. If/github:review-pralready removed it, skip straight togit fetch --prune. - If it persists: CRITICAL: confirm still on the issue branch before
ExitWorktree action:"remove". If checkout drifted ontomain/develop, stop — removing would delete a long-lived branch. Remote head may already be gone; that is fine. - Use the ExitWorktree tool with action "remove" to clean up worktree and branch.
- If uncommitted changes exist, ExitWorktree refuses; confirm with the user before setting
discard_changes: true
- If uncommitted changes exist, ExitWorktree refuses; confirm with the user before setting
git fetch --pruneto sync remote-tracking branches.- Document resolution and any follow-up tasks
References
- Requirements:
references/requirements.md- Worktree setup, TDD, and commit standards - PR Creation Handoff:
references/pr-creation-handoff.md- Why PRs delegate to /github:create-pr - Workflow Details:
references/workflow-details.md- Issue selection, TDD cycle, agent collaboration - Quality Validation:
references/quality-validation.md- Node.js/Python validation commands (shared) - Examples:
references/examples.md- Commit message examples
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/fradser/dotclaude/resolve-issues">View resolve-issues on skillZs</a>