From review-skill
Fetches GitHub/GitLab issues, filters for PRD:/feat: issues, implements sequentially in git worktrees, and submits PRs/MRs with auto-merge.
How this skill is triggered — by the user, by Claude, or both
Slash command
/review-skill:work-on-issuesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Fetches GitHub/GitLab issues, triages, implements sequentially (one main issue at a time), runs `find-mismatch` reviews, and closes.
Fetches GitHub/GitLab issues, triages, implements sequentially (one main issue at a time), runs find-mismatch reviews, and closes.
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).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.subagent_type: "full-stack-engineer" inside .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` or web.
Compile/Lint errors: If 3+ consecutive failures, check Reference Directories (<RefDirs>) to align configurations.
Parallel subtasks: Decompose & dispatch sub-agents if tasks are independent (no shared files/dirs).
Post-implementation: Run `find-mismatch` skill on modified files only. Auto-apply confirmed fixes without prompting. Re-run tests.
Output: Summary, find-mismatch fixes, tests run, and commit hash.
Commit format: `fix: resolve #<number> — <short description>`
fix: resolve #<number> — <desc>).ai-agent-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 3+ consecutive failures, check Reference Directories (<RefDirs>).
Post-implementation: Run `find-mismatch` 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 |
ai-agent-closed | Closed by AI | #5319E7 |
To apply labels, try updating directly. If not found, create label first (e.g. color #E4E669 for in-progress) and retry.
gh/glab.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub utarn/review-skill