Resolve GitHub Issues with TDD

VerifiedCaution

Resolve GitHub issues using isolated git worktrees and Test-Driven Development methodology. Includes GitHub authentication, atomic commits, and protected PR workflows with conventional commit formatting.

Sby Skills Guide Bot
DevelopmentIntermediate
3/11/2026
Claude Code
#git-worktree#tdd#github-issues#pull-request#conventional-commits

Recommended for

Automated summary

Resolves a GitHub issue end-to-end by creating an isolated git worktree, implementing the fix through a red-green-refactor TDD loop, and opening a pull request linked to the issue.

Strengths

  • Enforces an isolated worktree so the main branch stays clean while the fix is developed
  • Structured TDD cycle backed by review sub-agents (@tech-lead-reviewer, @code-simplifier)
  • Detailed commit conventions (conventional commits, title/body/footer rules) shipped with worked examples
  • Auto-closing keywords tie commits and the PR to the issue, and the worktree is removed after merge

Limitations

  • Claude Code only: the skill relies on the Task tool and allowed-tools frontmatter
  • Assumes an authenticated gh CLI and a repository that actually uses GitHub issues and pull requests
  • Commit rules are opinionated (lowercase title, under 50 chars) and may clash with a repo's existing conventions
When to use it

Use it when you want a GitHub issue handled through a repeatable worktree → TDD → PR pipeline instead of ad-hoc edits.

When not to use it

For a one-line hotfix, or on repositories hosted outside GitHub where the worktree/PR ceremony adds no value.

Security analysis

Caution
Quality score82/100

The skill does not contain destructive, exfiltrating, or obfuscated commands, but it grants broad git and GitHub CLI permissions and instructs the agent to modify repository state, push branches, create PRs, and delegate work to sub-agents. These are legitimate for the stated PR workflow, so it is caution rather than risky.

Findings
  • •Broad Bash(gh:*) and Bash(git:*) permissions allow remote repository changes such as pushing branches and creating PRs.
  • •Automatic context commands execute git/gh commands on load, including reading repository state and GitHub authentication status.
  • •The workflow explicitly instructs pushing branches and creating pull requests, which can affect shared repositories.
  • •The Task tool is used to delegate all work to sub-agents, which may inherit powerful tool access.
  • •Worktree cleanup is mentioned but not specified with safe/guarded deletion commands.
How this analysis is made

Examples

Resolve a specific issue
resolve issue #456 end to end
Pick the next issue
look at the open issues and fix the most urgent one, then open a PR that closes it
Resume existing worktree
resume the worktree for fix/456-auth-redirect and finish the TDD cycle

name: resolve-issues allowed-tools: Bash(gh:), Bash(git:), Bash(cd:), Bash(mkdir:), Task description: Resolve GitHub issues using isolated worktrees and TDD argument-hint: [issue number or description] user-invocable: true

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

  • Use isolated worktrees for development and follow the protected PR workflow.
  • Apply a TDD cycle (red → green → refactor) with appropriate sub-agent support.
  • Reference resolved issues in commits and PR descriptions using auto-closing keywords.
  • Use atomic commits for logical units of work: Each commit should represent one complete, cohesive change.
  • Title: entirely lowercase, <50 chars, imperative mood (e.g., "add", "fix", "update"), conventional commits format (feat:, fix:, docs:, refactor:, test:, chore:)
    • Scope (optional): lowercase noun, 1-2 words. Must match existing scopes in git history.
  • Body: blank line after title, ≤72 chars per line, must start with uppercase letter, standard capitalization and punctuation. Describe what changed and why, not how.
  • Footer (optional): Must start with uppercase letter, standard capitalization. Reference issues/PRs (Closes #123, Fixes #456, Linked to PR #789). Use BREAKING CHANGE: prefix for breaking changes.

Examples

feat(auth): add google oauth login flow

- Introduce Google OAuth 2.0 for user sign-in
- Add backend callback endpoint `/auth/google/callback`
- Update login UI with Google button and loading state

Add a new authentication option improving cross-platform
sign-in.

Closes #42. Linked to #38 and PR #45
fix(api): handle null payload in session refresh

- Validate payload before accessing `user.id`
- Return proper 400 response instead of 500
- Add regression test for null input

Prevents session refresh crash when token expires.

Fixes #105
feat(auth): migrate to oauth 2.0

- Replace basic auth with OAuth 2.0 flow
- Update authentication middleware
- Add token refresh endpoint

BREAKING CHANGE: Authentication API now requires OAuth 2.0 tokens. Basic auth is no longer supported.

Closes #120. Linked to #115 and PR #122

Your Task

IMPORTANT: You MUST use the Task tool to complete ALL tasks.

  1. Inspect the repository context, select a target issue, and decide whether to create a new worktree or resume an existing one.
  2. Set up the worktree environment, implement the fix using TDD with specialized review agents, and ensure quality checks pass.
  3. Create the pull request, link the issue, and clean up the worktree after merge, documenting all results to the user.

Recommended Workflow

  • Issue Selection: Evaluate open issues and prioritize the next actionable item.
  • Worktree Setup: Create or reuse an isolated worktree with a descriptive branch name (e.g. fix/456-auth-redirect).
  • TDD Implementation: Plan with @tech-lead-reviewer — architectural impact assessment —, write failing tests, implement fixes, and refactor with @code-simplifier — code simplification and optimization — while keeping tests green.
  • Quality Validation: Run project-specific lint, test, and build commands before PR creation.
  • PR Creation & Cleanup: Push the branch, raise a PR with auto-closing keywords, and remove the worktree after merge.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/resolve-github-issues-with-tdd-mmlj2nyd/download' --output '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md.part' && mv '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md.part' '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Bash(gh:*), Bash(git:*), Bash(cd:*), Bash(mkdir:*), Task

Original excerpt: Requirements
  • Use isolated worktrees for development and follow the protected PR workflow.
  • Apply a TDD cycle (red → green → refactor) with appropriate sub-agent support.
  • Reference resolved issues in commits and PR descriptions using auto-closing keywords.
  • Use atomic commits for logical units of work: Each commit should represent one complete, cohesive change.
  • Title: entirely lowercase, <50 chars, imperative mood (e.g., "add", "fix", "update"), conventional commits format (feat:, fix:, docs:, refactor:, test:, chore:)
    • Scope (optional): lowercase noun, 1-2 words. Must match existing scopes in git history.
  • Body: blank line after title, ≤72 chars per line, must start with uppercase letter, standard capitalization and punctuation. Describe what changed and why, not how.
  • Footer (optional): Must start with uppercase letter, standard capitalization. Reference issues/PRs (Closes #123, Fixes #456, Linked to PR #789). Use BREAKING CHANGE: prefix for breaking changes.

Examples

feat(auth): add google oauth login flow

- Introduce Google OAuth 2.0 for user sign-in
- Add backend callback endpoint `/auth/google/callback`
- Update login UI with Google button and loading state

Add a new authentication option improving cross-platform
sign-in.

Closes #42. Linked to #38 and PR #45
fix(api): handle null payload in session refresh

- Validate payload before accessing `user.id`
- Return proper 400 response instead of 500
- Add regression test for null input

Prevents session refresh crash when token expires.

Fixes #105
feat(auth): migrate to oauth 2.0

- Replace basic auth with OAuth 2.0 flow
- Update authentication middleware
- Add token refresh endpoint

BREAKING CHANGE: Authentication API now requires OAuth 2.0 tokens. Basic auth is no longer supported.

Closes #120. Linked to #115 and PR #122

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md' && test -s '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/resolve-issues' && cp -R '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd' '.claude/skills/resolve-issues'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd'

openskills read 'resolve-github-issues-with-tdd-mmlj2nyd'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills