From we
CI/Review checker and fixer. Collects ALL findings from CI, Claude Review, and CodeRabbit, then fixes everything in a single batch. Runs in the main agent (not a subagent) so the user can observe every step. Use when user says "/we:ci-review", "fix ci", "fix reviews", "ci failed".
How this skill is triggered — by the user, by Claude, or both
Slash command
/we:ci-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Collects findings from CI + reviews, triages, batch-fixes, and pushes — all in one turn.
Collects findings from CI + reviews, triages, batch-fixes, and pushes — all in one turn.
1. Collect (do NOT fix yet)
2. Triage (BLOCKING/WARNING/INFO)
3. Batch Fix (ONE commit)
4. Resolve Threads → Push
5. Report
Detect PR and repo automatically:
PR=$(gh pr list --head "$(git branch --show-current)" --json number --jq '.[0].number')
REPO=$(gh repo view --json owner,name --jq '"\(.owner.login)/\(.name)"')
gh pr checks $PR
# If FAILED:
gh run view <run_id> --log-failed 2>&1 | tail -100
gh api repos/$REPO/pulls/$PR/reviews \
--jq '[.[] | select(.user.login=="github-actions[bot]")] | last | .body' 2>/dev/null
Parse VERDICT: VERDICT:PASS, VERDICT:WARNING, VERDICT:BLOCKING.
Inline threads (have thread IDs, resolvable):
gh api graphql -f query='query($pr:Int!,$owner:String!,$repo:String!){
repository(owner:$owner,name:$repo){
pullRequest(number:$pr){reviewThreads(first:100){nodes{
isResolved id comments(first:3){nodes{author{login} body}}
}}}}}' -F pr=$PR -F owner="$OWNER" -F repo="$REPO"
Review body (no thread IDs, "outside diff range" issues):
gh api repos/$REPO/pulls/$PR/reviews \
--jq '[.[] | select(.user.login=="coderabbitai[bot]")] | last | .body' 2>/dev/null
| # | Source | Severity | File:Line | Issue | Thread ID |
Severity mapping:
0 findings → "Ready for merge" → STOP.
| Severity | Action |
|---|---|
| BLOCKING | MUST fix |
| WARNING | Fix unless clearly wrong |
| INFO | Evaluate. Fix if quick. Skip with reason if not. |
git add <specific changed files>
git commit -m "fix: address review findings
{TICKET}"
for id in PRRT_xxx PRRT_yyy; do
gh api graphql -f query="mutation(\$id:ID!){resolveReviewThread(input:{threadId:\$id}){thread{isResolved}}}" -f id="$id"
done
UNRESOLVED=$(gh api graphql -f query='...' -F pr=$PR -F owner="$OWNER" -F repo="$REPO" \
--jq '[...select(.isResolved==false)] | length')
git push
--ci-only flag — skip reviews, only check CI statusnpx claudepluginhub weside-ai/claude-code-plugin --plugin weGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.