Help us improve
Share bugs, ideas, or general feedback.
npx claudepluginhub josephanson/claude-plugin --plugin jaHow this command is triggered — by the user, by Claude, or both
Slash command
/ja:resolve-code-review [MR-number]The summary Claude sees in its command listing — used to decide when to auto-load this command
# Resolve Code Review **Platform**: GitLab (uses `glab` CLI) Fetch code review comments from the current branch's MR and create a plan to address them. ## Usage ## Requirements - `glab` CLI installed and authenticated - GitLab repository ## Workflow ### 1. Get MR Information **If MR number provided:** Use that **Otherwise:** Find MR for current branch: ### 2. Fetch Review Threads Use `--paginate` to fetch all pages of results (GitLab defaults to 20 per page): ### 3. Parse Review Comments For each discussion thread: - Extract comment text - Get file path and line number - Ch...
/pr_resolveResolves PR review comments in parallel: gathers unresolved comments, categorizes by type, plans dependency-based execution, spawns agents to fix, commits/pushes changes (GitHub/GitLab).
Share bugs, ideas, or general feedback.
Platform: GitLab (uses glab CLI)
Fetch code review comments from the current branch's MR and create a plan to address them.
/ja:resolve-code-review # Current branch MR
/ja:resolve-code-review 123 # Specific MR number
glab CLI installed and authenticatedIf MR number provided: Use that Otherwise: Find MR for current branch:
glab mr view $(git branch --show-current) -F json
Use --paginate to fetch all pages of results (GitLab defaults to 20 per page):
glab api --paginate "/projects/<project_id>/merge_requests/<iid>/discussions" | \
jq '[.[] | select(.notes[0].type == "DiffNote")]'
For each discussion thread:
Group by type:
Group by file for efficient resolution.
## Code Review Resolution Plan
**MR**: #123 - Feature title
**Reviewers**: @reviewer1, @reviewer2
**Unresolved Threads**: X
### Required Changes
#### Thread 1: [filename:line]
**Reviewer**: @name
**Comment**: "Consider using X instead of Y because..."
**Resolution**: Update to use X pattern
#### Thread 2: [filename:line]
**Reviewer**: @name
**Comment**: "Missing null check here"
**Resolution**: Add null check
### Type Issues
#### Thread 3: [filename:line]
**Error**: `Argument 1 to "foo" has incompatible type "str | None"; expected "str"`
**Resolution**: Add None check or update type signature
### Suggestions (Optional)
#### Thread 4: [filename:line]
**Comment**: "This could be simplified"
**Decision**: Will implement / Will skip (reason)
### Nitpicks (Optional)
#### Thread 5: [filename:line]
**Comment**: "nit: prefer const over let here"
**Decision**: Will fix / Will skip (reason)
### Questions
#### Thread 6: [filename:line]
**Question**: "Why did you choose this approach?"
**Response**: [Your response]
---
Implementation order:
1. Fix required changes
2. Fix type issues
3. Address suggestions (if applicable)
4. Fix nitpicks (if applicable)
5. Respond to questions
6. Request re-review
For each resolution:
After all fixes:
/ja:pre-commit --skip-mr to verify typecheck, tests, and formatting