Guide for creating optimized Claude Code agents. Use to design a new specialized agent, a swarm sub-agent, or a multi-agent workflow. Follows the Skill → Agent (preloaded skills) → Skill orchestration pattern.
日本語の概要は準備中です。原文の説明を表示しています。
Follow-up review to verify corrections on a MR. Sequential execution to avoid memory spikes. Checks blocking issues, detects new problems, and posts a concise report on GitLab.
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Read .claude/roles/code-reviewer.md — adopt this profile and follow all its rules.
You are: The same demanding reviewer as the initial review, verifying that the requested corrections have been applied.
Your approach:
This skill activates when the user asks for:
CRITICAL: To avoid memory explosion, steps are executed ONE AT A TIME.
┌─────────────────────────────────────────────────────────────────┐
│ SEQUENTIAL EXECUTION │
│ │
│ [1] Context → [2] Verify → [3] Scan → [4] Threads →... │
│ │
│ Each step: │
│ 1. Calls start_agent(jobId, stepName) │
│ 2. Executes the step │
│ 3. Calls complete_agent(jobId, stepName, status) │
│ 4. WAITS before launching the next one │
└─────────────────────────────────────────────────────────────────┘
The MCP server exposes these tools for progress tracking:
| Tool | Usage | Arguments |
|---|---|---|
get_workflow | Retrieves the workflow state and agent list | jobId |
start_agent | Signals the start of a step | jobId, agentName |
complete_agent | Signals the end of a step | jobId, agentName, status, error? |
set_phase | Changes the workflow phase | jobId, phase |
get_threads | Retrieves the MR discussion threads | jobId |
add_action | Adds an action (resolve thread, reply, comment) | jobId, type, ... |
The jobId is available via the MCP_JOB_ID environment variable.
To enable real-time tracking in the dashboard, use MCP tools at each step:
Phases (only one active at a time):
set_phase(jobId, "initializing") # At startup
set_phase(jobId, "agents-running") # During verifications
set_phase(jobId, "synthesizing") # During synthesis
set_phase(jobId, "publishing") # During GitLab publication
set_phase(jobId, "completed") # At the end
Steps (one per step):
start_agent(jobId, "context") # Context retrieval
complete_agent(jobId, "context", "success")
start_agent(jobId, "verify") # Blocking issues verification
complete_agent(jobId, "verify", "success")
start_agent(jobId, "scan") # Scan for new problems
complete_agent(jobId, "scan", "success")
start_agent(jobId, "threads") # GitLab thread management
complete_agent(jobId, "threads", "success")
start_agent(jobId, "report") # Report generation
complete_agent(jobId, "report", "success")
Call:
set_phase(jobId, "initializing")start_agent(jobId, "context")get_threads(jobId) to retrieve discussion threadsCall: complete_agent(jobId, "context", "success")
Call:
set_phase(jobId, "agents-running")start_agent(jobId, "verify")For EACH blocking issue identified:
| Status | Criterion |
|---|---|
| ✅ FIXED | The code has been modified according to the requested correction |
| ⚠️ PARTIALLY | Fixed but with reservations or a different approach |
| ❌ NOT FIXED | The problem persists in the current code |
Call: complete_agent(jobId, "verify", "success")
Call: start_agent(jobId, "scan")
Check only the critical rules from CLAUDE.md and Clean Code red flags (see /.claude/skills/clean-code/SKILL.md):
| Rule | What to check |
|---|---|
Type any | No new any introduced |
| Type assertions | No new as Type or as any |
| Law of Demeter | No chaining a.b.c.d |
| Imports | @/ aliases used |
| Tests | New business logic = new test |
| Function size (Clean Code) | No new function > 20 lines or with 4+ arguments |
| Flag arguments (Clean Code) | No new boolean parameter switching behavior |
| Naming (Clean Code) | No new abbreviation (ctx, idx, gw), intention-revealing identifiers |
| Comments (Clean Code) | No new comment rephrasing the code, no commented-out code |
| Magic numbers (Clean Code) | New literals (> 7, * 86400) extracted to named constants |
Do not check (out of scope for follow-up):
review-front)Call: complete_agent(jobId, "scan", "success")
Call: start_agent(jobId, "threads")
Threads are managed via MCP tools, no longer via JSON file.
Use the MCP tool to get the discussion threads:
get_threads(jobId)
Returns a list of threads with:
id: Thread identifierfile: Related fileline: Comment linestatus: "open" or "resolved"body: Comment contentFor each FIXED issue, add actions via MCP:
Resolve a thread:
add_action(jobId, "THREAD_RESOLVE", threadId="xxx", message="✅ Fixed")
Reply to a thread:
add_action(jobId, "THREAD_REPLY", threadId="xxx", message="✅ Fixed - Short description")
Post a general comment:
add_action({ jobId: JOB_ID, type: "POST_COMMENT", body: "Report content" })
Post an inline comment (new problem):
add_action({ jobId: JOB_ID, type: "POST_INLINE_COMMENT", filePath: "path/file.ts", line: 42, body: "..." })
| Action | When to use |
|---|---|
THREAD_RESOLVE | Blocking issue fixed → Resolve the thread |
THREAD_REPLY | Need to clarify the fix before resolving |
POST_COMMENT | Post the global follow-up report |
POST_INLINE_COMMENT | New blocking problem detected → Inline comment on the diff |
IMPORTANT:
get_threads and add_actionglab api or gh api directlyCall: complete_agent(jobId, "threads", "success")
Call:
set_phase(jobId, "synthesizing")start_agent(jobId, "report")Follow-up report structure:
# Follow-up Review - MR [Number]
**Date**: [YYYY-MM-DD]
**Previous review**: [Date of the first review]
---
## Blocking Issues Verification
| # | Issue | Status | Comment |
|---|-------|--------|---------|
| 1 | [Short description] | ✅/⚠️/❌ | [Note if needed] |
| 2 | ... | ... | ... |
---
## New Problems Detected
### [If problems found]
🚨 **[Title]**
📍 `file.ts:line`
[Short description + correction]
### [If no problems]
No new problems detected in the modifications.
---
## Final Verdict
| Criterion | Status |
|-----------|--------|
| Blocking issues fixed | X/Y |
| New blockers | X |
| **Ready to merge** | ✅ Yes / ❌ No |
### Required Actions (if not ready)
1. [Action 1]
2. [Action 2]
Call: complete_agent(jobId, "report", "success")
Call: set_phase(jobId, "publishing")
┌─────────────────────────────────────────────────────────────────┐
│ 1. Retrieve threads via get_threads(jobId) │
│ 2. Verify each issue (fixed/not fixed) │
│ 3. Add actions via add_action(jobId, ...) │
│ 4. Post the global report on the MR │
│ 5. Post inline comments for NEW problems only │
└─────────────────────────────────────────────────────────────────┘
Manage existing threads via MCP tools (see Phase 4 section)
Save the MD in /.claude/reviews/[YYYY-MM-DD]-MR-[ID]-followup.md
Use the Write tool to persist the full follow-up report locally. The orchestrator reads this file to confirm the followup ran successfully — if it is missing, the job is reported as failed.
Post the report on the MR:
add_action({ jobId: JOB_ID, type: "POST_COMMENT", body: "<report content>" })
Inline comments for new problems only (via POST_INLINE_COMMENT)
Post inline comments via MCP ONLY if:
POST_INLINE_COMMENTadd_action({
jobId: JOB_ID,
type: "POST_INLINE_COMMENT",
filePath: "path/to/file.ts",
line: 42,
body: "🚨 **[NEW] Problem title**\n\n📍 `file.ts:42`\n\n[Short description + correction]"
})
Call: set_phase(jobId, "completed")
At the end of the followup:
🔄 Follow-up Review - MR [ID]
📊 Blocking issues: X/Y fixed
✅ Threads resolved: X (via add_action MCP)
🆕 New problems: X
[REVIEW_STATS:blocking=X:warnings=X:suggestions=X:score=X:categories=security=N,logic=N,performance=N,typeSafety=N,style=N,dependencies=N]
✅ READY TO MERGE
or
❌ CORRECTIONS REQUIRED:
- [Action 1]
- [Action 2]
⚠️ IMPORTANT:
[REVIEW_STATS:...] line is MANDATORY for automated tracking.add_action(jobId, "THREAD_RESOLVE", ...) calls.categories= segment)Classify every finding still open or newly raised (blocking + important + suggestion) into exactly one of the six dashboard categories, then emit the count per category in the marker. The six counts must sum to blocking + warnings + suggestions. Map by the nature of the finding:
| Finding nature | Category |
|---|---|
| Security / credential / auth issue | security |
| Business rule, architecture or SOLID violation | logic |
| Performance / inefficiency | performance |
Type safety (any, unsafe assertion, weak typing) | typeSafety |
| Readability, naming, testing, code quality | style |
| Outdated / vulnerable / misused dependency | dependencies |
Use the internal keys exactly: security, logic, performance, typeSafety, style, dependencies. Set any unused key to 0. Unknown keys are ignored by the tracker.
This skill can:
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Guide for creating optimized Claude Code agents. Use to design a new specialized agent, a swarm sub-agent, or a multi-agent workflow. Follows the Skill → Agent (preloaded skills) → Skill orchestration pattern.
日本語の概要は準備中です。原文の説明を表示しています。
Anti-overengineering guide based on YAGNI. Use before adding an architectural pattern, during code review, or to challenge an overly complex implementation.
日本語の概要は準備中です。原文の説明を表示しています。
Clean Architecture (Uncle Bob) guide for this project. Use when creating modules, entities, use cases, presenters, controllers, gateways, guards, services. Contains tactical patterns and structure conventions.
日本語の概要は準備中です。原文の説明を表示しています。
Audit documentation for duplication, staleness, language issues, and verbosity. Read-only — produces an actionable report.
日本語の概要は準備中です。原文の説明を表示しています。
Local auto-review of modified code (no GitLab/GitHub). Runs 5 sequential audits and generates a local report. Ideal for validating code before creating a MR/PR.
日本語の概要は準備中です。原文の説明を表示しています。
Clean Code (Robert C. Martin) guide to produce and challenge code that is readable, durable, simple, and consistent. Covers naming, functions, comments, smells, and refactor heuristics. Complements `/solid` (SOLID principles) and `/anti-overengineering` (YAGNI/KISS). Activate during the REFACTOR phase of the TDD cycle and during implementation self-review.
日本語の概要は準備中です。原文の説明を表示しています。