From utarn-skills
Fetches, implements, and closes GitHub/GitLab issues sequentially, handling parallel subtasks, dependency parsing, worktrees, and environment propagation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/utarn-skills:work-on-issuessonnetThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
There are three phases to work on issues:
There are three phases to work on issues:
Detect host via git remote -v. Set $TRACKER to gh or glab.
Terminologies:
pr / commentmr / notegh issue list --state open --json number,title,labels or glab issue list -O json.PRD: or feat:). Others are skipped for auto/batch runs (but allowed if explicitly picked).PRD or title prefix PRD:. Skip implementation, add to $PRD_TRACKER for auto-close check.gh issue view --comments / glab issue view --comments).in-progress (by applying in-progress label and removing ready-for-agent and needs-triage).Parse ## Blocked by in issue body (matches #42 or full issue URL) to build DEPS[issue] = [blockers].
If possible, create native tracker links (e.g., GitLab API /links with is_blocked_by or GitHub sub-issues API with blocked_by=true). Fall back to text references.
git worktree add .claude/worktrees/issue-<number> -b work-on-issue-<number>
.env files: Copy .env and .env.* files into worktree directory..claude/worktrees/issue-<number>):
Prompt spec:
Implement issue #<number>: <title>.
Acceptance Criteria: <AC>
Branch/Worktree: work-on-issue-<number> in .claude/worktrees/issue-<number>
API/best-practices: Search via `context7`, `/brightdata-plugin:search`, `/search`, or WebSearch before writing code if unsure.
Stuck on errors: If 2+ consecutive failures, you MUST research via `context7`, `/brightdata-plugin:search`, `/search`, or WebSearch first (they are available) to find the correct API/approach, then retry. Only escalate after researching.
Parallel subtasks: Decompose & dispatch sub-agents if tasks are independent (no shared files/dirs).
Post-implementation: Check output, diff, and run tests and run `/find-mismatch` skill on modified files only. If the programming language is typescript or javascript, run `npx fallow audit` (Make sure to install `fallow` if not present). If errors, fix and re-run tests.
Output: Summary, find-mismatch fixes, tests run, and commit hash.
Commit format: `fix: resolve #<number> — <short description>`
fix: resolve #<number> — <desc>).in-progress), add closed, and close issue..env files: Copy modified env files back to main working directory before worktree removal:
WT=.claude/worktrees/issue-<number>
for wtf in "$WT"/.env "$WT"/.env.*; do
[ -f "$wtf" ] || continue
base=$(basename "$wtf")
if [ ! -f "$base" ] || ! cmp -s "$base" "$wtf"; then
cp "$wtf" "$base" && echo "Propagated $base back"
fi
done
git worktree remove .claude/worktrees/issue-<number>
git branch -d work-on-issue-<number>
After closing a sub-issue, check all PRDs in PRD_TRACKER. Read PRD description/links. If all referenced sub-issues (#42 etc.) are closed, close the PRD and remove from PRD_TRACKER.
Decompose main issue into subtasks if:
Implement subtask for issue #<number>: <title>.
Subtask: <details>
Working Directory: .claude/worktrees/issue-<number>
Scope: Modify <MAY_MODIFY>, DO NOT modify <MUST_NOT_MODIFY>.
Compile/Lint errors: If 2+ consecutive failures or any 3rd party dependency issues, always use the `/find-docs` skill to find documentation using context7 or `/search`, or WebSearch first (they are available). Check Reference Directories (<RefDirs>) to align configurations.
Post-implementation: Run `/find-mismatch` skill on modified files, auto-fix.
Verification: Run relevant tests. Return summary, modified files, test results.
PRD:, feat:).DEPS map from issue bodies, set formal links.| Issue | Title | Type | Blocked By | Agent | Status | PR/MR |Execute the selected issue solo. Skip dependency graph processing.
| Label | Meaning | Color |
|---|---|---|
PRD | Parent tracking issue | #0075CA |
in-progress | Active | #E4E669 |
ready-for-agent | Ready for agent | #0E8A16 |
closed | Closed by AI / Finished | #5319E7 |
To apply labels, try updating directly. If not found, create label first (e.g. color #E4E669 for in-progress) and retry.
gh/glab.fallow for JS/TS security audit.npx claudepluginhub utarn/engineer-skillsProcesses GitHub issues end-to-end with TDD and parallel work. Use when asked to work on an issue, fix issue #N, or batch-process several.
Grooms all open GitHub issues with subagents for clarity then loops implementation: branch, research, swarm code, test, commit, merge PRs until backlog cleared.
Executes GitHub issues by reading content with read-github-issue, delegating tasks to frontend-implementer or general-purpose-assistant sub-agents, running tests/lint, committing on worktree, and creating PRs via commit-push and create-pr.