activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Crawler Summary
Delegate code reviews to external agents (codex, claude, kimi) running in tmux background sessions. Use when user says "/review-agent", "review my code", "code review", "have an agent review", "delegate review", or needs external code review. Agents write findings to a uniquely-named file; invoking agent watches for the file to appear. Default agent is codex. NEVER self-review. --- name: review-agent description: Delegate code reviews to external agents (codex, claude, kimi) running in tmux background sessions. Use when user says "/review-agent", "review my code", "code review", "have an agent review", "delegate review", or needs external code review. Agents write findings to a uniquely-named file; invoking agent watches for the file to appear. Default agent is codex. NEVER self-review. --- Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Freshness
Last checked 4/15/2026
Best For
review-agent is best for general automation workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Delegate code reviews to external agents (codex, claude, kimi) running in tmux background sessions. Use when user says "/review-agent", "review my code", "code review", "have an agent review", "delegate review", or needs external code review. Agents write findings to a uniquely-named file; invoking agent watches for the file to appear. Default agent is codex. NEVER self-review. --- name: review-agent description: Delegate code reviews to external agents (codex, claude, kimi) running in tmux background sessions. Use when user says "/review-agent", "review my code", "code review", "have an agent review", "delegate review", or needs external code review. Agents write findings to a uniquely-named file; invoking agent watches for the file to appear. Default agent is codex. NEVER self-review. ---
Public facts
4
Change events
1
Artifacts
0
Freshness
Apr 15, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Apr 15, 2026
Vendor
Rolandsherwin
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Setup snapshot
git clone https://github.com/RolandSherwin/review-agent.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Rolandsherwin
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
text
/review-agent <description> # uses codex (default) /review-agent codex <description> /review-agent claude <description> /review-agent kimi <description>
bash
SESSION="review-${AGENT}"
if tmux has-session -t $SESSION 2>/dev/null; then
WINDOW=$(tmux new-window -t $SESSION -P -F '#{window_index}' -c "$(pwd)")
else
tmux new-session -d -s $SESSION -c "$(pwd)"
WINDOW=0
fibash
FINDINGS_DIR="${PWD}/.review-findings"
mkdir -p "$FINDINGS_DIR"bash
FILE_INSTRUCTION="
=== CRITICAL INSTRUCTION ===
You MUST write your complete findings to a file in this directory before finishing:
${FINDINGS_DIR}/
Create a UNIQUE filename using exactly 3 descriptive words based on this task, joined by hyphens, ending in .md.
Examples: auth-flow-security.md, api-error-handling.md, login-validation-fixes.md
The file must contain:
- ## Summary
- ## Issues Found (with ### High/Medium/Low Severity subsections)
- ## Recommendations
- ## Session Info (your session ID for follow-ups)
DO NOT consider your task complete until this file exists.
==========================="bash
# Codex (MUST use exec or review - plain codex never exits!)
tmux send-keys -t "$SESSION:$WINDOW" "codex exec '${DESCRIPTION}${FILE_INSTRUCTION}'" Enter
# or for uncommitted changes (can't easily append instruction, use exec instead):
tmux send-keys -t "$SESSION:$WINDOW" "codex exec 'Review uncommitted changes.${FILE_INSTRUCTION}'" Enter
# Claude (use -p for non-interactive)
tmux send-keys -t "$SESSION:$WINDOW" "claude -p '${DESCRIPTION}${FILE_INSTRUCTION}'" Enter
# Kimi (use --print for non-interactive)
tmux send-keys -t "$SESSION:$WINDOW" "kimi --print -p '${DESCRIPTION}${FILE_INSTRUCTION}'" Enterbash
TIMEOUT=300
ELAPSED=0
# Get initial file count
INITIAL_COUNT=$(ls -1 "$FINDINGS_DIR"/*.md 2>/dev/null | wc -l)
while true; do
sleep 2
ELAPSED=$((ELAPSED + 2))
# Check for new .md files
CURRENT_COUNT=$(ls -1 "$FINDINGS_DIR"/*.md 2>/dev/null | wc -l)
if [ "$CURRENT_COUNT" -gt "$INITIAL_COUNT" ]; then
# New file appeared - get the newest one
FINDINGS_PATH=$(ls -t "$FINDINGS_DIR"/*.md | head -1)
break
fi
[ $ELAPSED -ge $TIMEOUT ] && {
echo "ERROR: Timeout waiting for findings file in: ${FINDINGS_DIR}"
exit 1
}
done
# File exists - read findings
FINDINGS=$(cat "$FINDINGS_PATH")
echo "Findings written to: $FINDINGS_PATH"Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Delegate code reviews to external agents (codex, claude, kimi) running in tmux background sessions. Use when user says "/review-agent", "review my code", "code review", "have an agent review", "delegate review", or needs external code review. Agents write findings to a uniquely-named file; invoking agent watches for the file to appear. Default agent is codex. NEVER self-review. --- name: review-agent description: Delegate code reviews to external agents (codex, claude, kimi) running in tmux background sessions. Use when user says "/review-agent", "review my code", "code review", "have an agent review", "delegate review", or needs external code review. Agents write findings to a uniquely-named file; invoking agent watches for the file to appear. Default agent is codex. NEVER self-review. ---
Delegate code reviews to external agents running in tmux. The reviewer writes findings to a file, and you watch for the file to appear. Always delegate - never self-review.
/review-agent <description> # uses codex (default)
/review-agent codex <description>
/review-agent claude <description>
/review-agent kimi <description>
codex, claude, or kimicodex, entire input is descriptionChoose the right agent for the task:
| Agent | Best For | Characteristics | |-------|----------|-----------------| | Codex (default) | Focused code reviews, structured output | Fast, concise, code-centric | | Claude | Nuanced analysis, architectural concerns | Broader context, detailed reasoning | | Kimi | Rapid iteration, context-heavy tasks | Strong session persistence |
When in doubt, use codex — it's optimized for code review tasks.
SESSION="review-${AGENT}"
if tmux has-session -t $SESSION 2>/dev/null; then
WINDOW=$(tmux new-window -t $SESSION -P -F '#{window_index}' -c "$(pwd)")
else
tmux new-session -d -s $SESSION -c "$(pwd)"
WINDOW=0
fi
Create the findings directory. The reviewer agent will generate a unique filename:
FINDINGS_DIR="${PWD}/.review-findings"
mkdir -p "$FINDINGS_DIR"
The reviewer will create a unique 3-word filename based on the task (e.g., auth-flow-security.md, api-error-handling.md).
Append clear instructions for the agent to create a uniquely-named findings file:
FILE_INSTRUCTION="
=== CRITICAL INSTRUCTION ===
You MUST write your complete findings to a file in this directory before finishing:
${FINDINGS_DIR}/
Create a UNIQUE filename using exactly 3 descriptive words based on this task, joined by hyphens, ending in .md.
Examples: auth-flow-security.md, api-error-handling.md, login-validation-fixes.md
The file must contain:
- ## Summary
- ## Issues Found (with ### High/Medium/Low Severity subsections)
- ## Recommendations
- ## Session Info (your session ID for follow-ups)
DO NOT consider your task complete until this file exists.
==========================="
Use non-interactive modes with the file-writing instruction appended:
# Codex (MUST use exec or review - plain codex never exits!)
tmux send-keys -t "$SESSION:$WINDOW" "codex exec '${DESCRIPTION}${FILE_INSTRUCTION}'" Enter
# or for uncommitted changes (can't easily append instruction, use exec instead):
tmux send-keys -t "$SESSION:$WINDOW" "codex exec 'Review uncommitted changes.${FILE_INSTRUCTION}'" Enter
# Claude (use -p for non-interactive)
tmux send-keys -t "$SESSION:$WINDOW" "claude -p '${DESCRIPTION}${FILE_INSTRUCTION}'" Enter
# Kimi (use --print for non-interactive)
tmux send-keys -t "$SESSION:$WINDOW" "kimi --print -p '${DESCRIPTION}${FILE_INSTRUCTION}'" Enter
Choose the right codex command based on what you're reviewing:
| What to Review | Command | Why |
|----------------|---------|-----|
| All uncommitted changes | codex exec "Review uncommitted changes.${FILE_INSTRUCTION}" | Flexible with file instruction |
| Changes vs a branch | codex exec "Review changes vs main branch.${FILE_INSTRUCTION}" | For PR-style reviews |
| Specific commit | codex exec "Review commit <sha>.${FILE_INSTRUCTION}" | Review a single commit |
| Custom review task | codex exec "<specific instructions>${FILE_INSTRUCTION}" | Flexible, custom prompts |
NEVER use:
codex (plain) — interactive mode, never exitscodex -q — still interactiveexec or review subcommandWatch for any new .md file to appear in the findings directory:
TIMEOUT=300
ELAPSED=0
# Get initial file count
INITIAL_COUNT=$(ls -1 "$FINDINGS_DIR"/*.md 2>/dev/null | wc -l)
while true; do
sleep 2
ELAPSED=$((ELAPSED + 2))
# Check for new .md files
CURRENT_COUNT=$(ls -1 "$FINDINGS_DIR"/*.md 2>/dev/null | wc -l)
if [ "$CURRENT_COUNT" -gt "$INITIAL_COUNT" ]; then
# New file appeared - get the newest one
FINDINGS_PATH=$(ls -t "$FINDINGS_DIR"/*.md | head -1)
break
fi
[ $ELAPSED -ge $TIMEOUT ] && {
echo "ERROR: Timeout waiting for findings file in: ${FINDINGS_DIR}"
exit 1
}
done
# File exists - read findings
FINDINGS=$(cat "$FINDINGS_PATH")
echo "Findings written to: $FINDINGS_PATH"
Check that the file has the required sections:
if ! grep -q "## Session Info" "$FINDINGS_PATH"; then
# File incomplete - prompt agent to finish
tmux send-keys -t "$SESSION:$WINDOW" "The findings file exists but is incomplete. Please add ## Session Info with your session ID to: ${FINDINGS_PATH}" Enter
sleep 10
fi
# Extract session ID for resume
SESSION_ID=$(grep -A1 "Session ID:" "$FINDINGS_PATH" | tail -1 | tr -d ' ')
DO NOT just summarize and ask permission. Take action based on your mode:
If you disagree with a finding:
Bad (passive):
Review found issues A, B, C. Should I fix?
Good (proactive):
Review complete. Fixed A and B. Deferred C (needs clarification on X).
tmux kill-window -t "$SESSION:$WINDOW"
When you need to continue a review with follow-up questions, use the stored session ID. The reviewer will generate a new unique filename for the follow-up findings.
Same file instruction format - agent picks a new unique 3-word filename:
# Claude
tmux send-keys -t "$SESSION:$WINDOW" "claude -p '${FOLLOW_UP}${FILE_INSTRUCTION}' -r ${SESSION_ID}" Enter
# Kimi
tmux send-keys -t "$SESSION:$WINDOW" "kimi -S ${SESSION_ID} --print -p '${FOLLOW_UP}${FILE_INSTRUCTION}'" Enter
# Codex
tmux send-keys -t "$SESSION:$WINDOW" "codex resume ${SESSION_ID} '${FOLLOW_UP}${FILE_INSTRUCTION}'" Enter
Then watch for a new file in the findings directory the same way as the initial review.
Review findings are stored in .review-findings/ in the project directory. Each reviewer generates a unique 3-word filename based on the task:
.review-findings/
├── auth-flow-security.md # Security review of auth
├── api-error-handling.md # API error handling review
├── login-validation-fixes.md # Login form review
└── database-query-optimization.md # Performance review
.review-findings/ to .gitignore to avoid committingrm -rf .review-findings/ to clean all findings| Agent | Initial Review | Resume |
|-------|---------------|--------|
| Codex | codex exec "...${FILE_INSTRUCTION}" | codex resume <id> "...${FILE_INSTRUCTION}" |
| Claude | claude -p "...${FILE_INSTRUCTION}" | claude -p "...${FILE_INSTRUCTION}" -r <id> |
| Kimi | kimi --print -p "...${FILE_INSTRUCTION}" | kimi -S <id> --print -p "...${FILE_INSTRUCTION}" |
All agents use the same file-based completion detection.
| Codex Command | When to Use |
|---------------|-------------|
| codex exec "Review uncommitted changes..." | Review all pending changes (staged + unstaged) |
| codex exec "Review changes vs main..." | Review changes vs a branch (for PRs) |
| codex exec "review: <specific>..." | Custom review with specific instructions |
ALWAYS remember the session ID from the findings file. Reuse it for:
The sub-agent (codex/claude/kimi) retains context about:
Reusing the session avoids re-analyzing the same code and provides continuity. Starting a fresh session loses all this context.
| Scenario | Detection | Recovery |
|----------|-----------|----------|
| File creation timeout | File not present after 300s | Report timeout error, suggest retry with longer timeout |
| Incomplete findings | File exists but missing ## Session Info | Send reminder to agent, wait additional 10s |
| Directory creation fails | mkdir returns non-zero | Report permissions error, suggest different directory |
| Agent ignores instruction | Timeout with no file created | Report agent did not write findings, suggest re-running with clearer instruction |
| Wrong file detected | File exists but content unrelated | Check file modification time; if older than review start, keep waiting |
| Partial file write | File exists but truncated/malformed | Wait 5s extra, re-read; if still broken, report and retry |
| Quote escaping failure | tmux command errors | Escape special chars in DESCRIPTION: ' → '\'', avoid $ and backticks |
codex (interactive mode) — it never exits. Always use codex exec or codex review which exit cleanlytmux attach — blocks the orchestrating agent, makes you completely unresponsive until manually detached--last/-c/-C for resume — if other agent sessions run between your review and resume, these flags pick the WRONG session, causing context confusion and potential data leakage', ", $, `) in DESCRIPTION without escaping — breaks the tmux send-keys commandMachine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/contract"
curl -s "https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-10-09T06:57:40.987Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"category": "integration",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "vendor",
"label": "Vendor",
"value": "Rolandsherwin",
"category": "vendor",
"href": "https://github.com/RolandSherwin/review-agent",
"sourceUrl": "https://github.com/RolandSherwin/review-agent",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T02:17:12.539Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "protocols",
"label": "Protocol compatibility",
"value": "OpenClaw",
"category": "compatibility",
"href": "https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-15T02:17:12.539Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "handshake_status",
"label": "Handshake status",
"value": "UNKNOWN",
"category": "security",
"href": "https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/rolandsherwin-review-agent/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true,
"metadata": {}
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true,
"metadata": {}
}
]Sponsored
Ads related to review-agent and adjacent AI workflows.