action-validator
FreePre-action boundary checking — validates agent tool calls against declared capabilities and task contracts
The English summary is being prepared. Showing the original description.
Review code against language-specific best practices
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Review code for best practices using language-specific expert agents.
| Scenario | Better Alternative |
|---|---|
| Formatting/style issues only | Run linter or formatter directly (prettier, gofmt, black) |
| Single syntax error | IDE/LSP diagnostics |
| Auto-generated code | Skip — generated code follows its own conventions |
| Pre-commit quick check | Git hooks with linter integration |
Pre-execution check: If the issue is purely formatting, run the appropriate formatter first.
Before executing the review workflow, the agent MUST run these checks:
Level: WARN Check: Scan target files for auto-generation markers
# Detection patterns (any match = WARN)
grep -rl "DO NOT EDIT" {target} 2>/dev/null
grep -rl "auto-generated" {target} 2>/dev/null
grep -rl "@generated" {target} 2>/dev/null
# File pattern detection
# *.gen.*, *.pb.go, */generated/*, */proto/*, *_generated.*, *.g.dart
Action: [Pre-flight] WARN: Auto-generated code detected in {file}. Generated code follows its own conventions — review may produce false positives. Continue? [Y/n]
Level: INFO Check: If reviewing changed files (not full codebase), check if changes are formatting-only
# If git diff is available for the target
git diff --stat {target} | grep -E '^\s+\d+ files? changed'
# Compare with whitespace-ignored diff
git diff -w {target}
# If -w diff is empty but regular diff has changes → formatting only
Action: [Pre-flight] INFO: Changes in {file} appear to be formatting-only. Consider running the appropriate formatter instead (prettier, gofmt, black).
Level: INFO Check: If target is a single file and the request mentions "error", "syntax", or "broken"
# Keyword detection in user request
keywords: error, syntax, broken, doesn't compile, won't build
# Single file check
target is exactly 1 file (not a directory)
Action: [Pre-flight] INFO: For single syntax errors, IDE/LSP diagnostics are faster. Proceeding with full review.
Level: INFO Check: Detect if a project-appropriate linter exists
# Check for linter configs in project root
ls .eslintrc* .prettierrc* biome.json .golangci.yml pyproject.toml .rubocop.yml 2>/dev/null
Action: [Pre-flight] INFO: Linter config found ({config}). For style-only issues, run the linter directly.
[Pre-flight] dev-review
├── Auto-generated code: PASS
├── Formatting-only changes: INFO — whitespace changes in src/util.ts
├── Single syntax error: PASS
└── Linter available: INFO — .eslintrc.json found
Result: PROCEED (0 GATE, 0 WARN, 2 INFO)
If any GATE: block and suggest alternative. If any WARN: show warning, ask user to confirm. If only PASS/INFO: proceed automatically.
| Name | Type | Required | Description |
|---|---|---|---|
| path | string | yes | File or directory to review |
--lang, -l Language (auto-detected if not specified)
Values: go, python, rust, kotlin, typescript, java
--focus, -f Focus area (style, performance, security, all)
--verbose, -v Detailed output
0. Run pre-flight guards (see ## Pre-flight Guards)
1. Detect language (or use --lang)
2. Select appropriate expert agent
3. Load language-specific skill
4. Analyze code against best practices
5. Generate review report
.claude/outputs/sessions/{YYYY-MM-DD}/dev-review-{HHmmss}.md
CC sensitive-path check inspects tool target paths and triggers permission prompts on .claude/ regardless of bypassPermissions and allow rules (refs: #960, #961, #978, #981, #1016).
To write dev-review results under .claude/outputs/sessions/:
/tmp/dev-review-$(date +%H%M%S).md first (Write tool target = /tmp, no sensitive-path trigger)/tmp/*.sh Bash script to move/copy the file under .claude/outputs/sessions/$(date +%Y-%m-%d)/ (Bash target = /tmp, script-internal cp to .claude/ is not audited).claude/outputs/ (e.g., cat, head, wc) is allowed for verificationReference: feedback_sensitive_path_tmp_bypass.md, R006 sensitive-path handling, #1016, #1045.
With metadata header:
```markdown
---
skill: dev-review
date: {ISO-8601 with timezone}
query: "{original user query}"
---
The review agent creates the directory and writes the artifact before returning results (R010 compliance).
crg-integration 스킬이 사용 가능한 경우 (MCP code-review-graph 연결 시), 리뷰 시작 전 먼저 호출하여 토큰 비용을 절감한다:
| Phase | CRG Tool | Purpose |
|---|---|---|
| Pre-review | get_impact_radius | 변경 영향 범위 사전 파악 (recall-우선) |
| Search | query_graph | AST 기반 호출자/피호출자 추적 |
| Diff analysis | get_minimal_context | 변경 코드의 최소 컨텍스트 |
| Semantic check | detect_changes | 두 시점 의미적 차이 |
CRG MCP 미연결 시 자동 fallback:
claude-mem:smart-explore (Phase β 이후 deprecated)context >= 60% 시 CRG 호출 적극 권장. 8.2× 토큰 절감 (guides/token-efficiency/crg.md 벤치마크).
Refs: #1171 (CRG 통합), #1180 (본 cross-ref 추가)
| File Extension | Agent | Skill |
|---|---|---|
| .go | lang-golang-expert | go-best-practices |
| .py | lang-python-expert | python-best-practices |
| .rs | lang-rust-expert | rust-best-practices |
| .kt | lang-kotlin-expert | kotlin-best-practices |
| .ts, .tsx | lang-typescript-expert | typescript-best-practices |
| .java | be-springboot-expert | springboot-best-practices |
| .jsx, .js (React) | fe-vercel-agent | react-best-practices |
[dev:review src/main.go]
┌─ Agent: lang-golang-expert (sw-engineer)
├─ Skill: go-best-practices
└─ File: src/main.go
Review Results:
[Style] Line 15
Issue: Variable name should be camelCase
Found: user_name
Suggest: userName
[Error Handling] Line 42
Issue: Error not checked
Found: file.Close()
Suggest: if err := file.Close(); err != nil { ... }
[Performance] Line 78
Issue: Inefficient string concatenation in loop
Found: str += item
Suggest: Use strings.Builder
Summary:
Style: 1 issue
Error Handling: 1 issue
Performance: 1 issue
Total: 3 issues
Recommendation: Fix error handling issues first.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Pre-action boundary checking — validates agent tool calls against declared capabilities and task contracts
The English summary is being prepared. Showing the original description.
Auto-detect project context and optimize harness — deactivate unused agents/skills, suggest missing experts, generate project profile
The English summary is being prepared. Showing the original description.
Adversarial code review using attacker mindset — trust boundary, attack surface, business logic, and defense evaluation
The English summary is being prepared. Showing the original description.
Apache Airflow best practices for DAG authoring, testing, and production deployment
The English summary is being prepared. Showing the original description.
Alembic migration patterns for naming conventions, safety checks, expand-contract, env.py configuration, and CI integration
The English summary is being prepared. Showing the original description.
Pre-routing ambiguity analysis — scores request clarity and asks clarifying questions when needed (inspired by ouroboros)
The English summary is being prepared. Showing the original description.