From comprendo
Use when the developer wants to review and approve a planned code change before implementation. Shows a visual diff with architecture diagrams in the browser.
How this skill is triggered — by the user, by Claude, or both
Slash command
/comprendo:comprendoThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are tasked with implementing a change requested by the developer. Before writing any code, you MUST follow the Comprendo approval workflow.
You are tasked with implementing a change requested by the developer. Before writing any code, you MUST follow the Comprendo approval workflow.
The developer's request is: $ARGUMENTS
Read all files relevant to the requested change. Explore the codebase thoroughly to understand the current state of the code that will be affected.
Before making ANY file changes, output a JSON block wrapped in <comprendo_data> tags with this exact structure:
<comprendo_data>
{
"summary": "One sentence: what this change does",
"explanation": "2-3 paragraphs in plain English. What exists now, why it's a problem or limitation, what the change does and why this approach. Write for a developer who hasn't looked at this code in 3 weeks.",
"current_diagram": {
"nodes": [
{ "id": "unique_id", "label": "Human Readable Name", "type": "component" }
],
"edges": [
{ "from": "source_id", "to": "target_id", "label": "relationship" }
]
},
"updated_diagram": {
"nodes": [
{ "id": "unique_id", "label": "Human Readable Name", "type": "component" },
{ "id": "new_thing", "label": "New Component", "type": "service" }
],
"edges": [
{ "from": "source_id", "to": "new_thing", "label": "relationship" },
{ "from": "new_thing", "to": "target_id", "label": "relationship" }
]
},
"snippets": [
{
"label": "Before — filename.ts",
"language": "typescript",
"code": "// key before snippet showing current implementation, max 20 lines"
},
{
"label": "After — filename.ts",
"language": "typescript",
"code": "// key after snippet showing new implementation, max 20 lines"
}
],
"files_affected": ["relative/path/to/file1.ts", "relative/path/to/file2.ts"]
}
</comprendo_data>
type can be: component, service, database, api, middleware, utilupdated_diagram that have IDs not present in current_diagram are treated as NEW and highlighted in the UIAfter outputting the plan, you MUST pipe it to comprendo review using the Bash tool. Use a heredoc to avoid shell escaping issues with quotes in the JSON. Copy the entire <comprendo_data>...</comprendo_data> block (including tags) and pipe it:
cat <<'COMPRENDO_EOF' | comprendo review
<comprendo_data>
{ ... your full JSON from Step 2 ... }
</comprendo_data>
COMPRENDO_EOF
IMPORTANT: Use the single-quoted heredoc form <<'COMPRENDO_EOF' (with quotes around the delimiter) to prevent shell variable expansion and preserve backslashes in code snippets.
Wait for the command to exit. Do NOT proceed until it exits.
comprendo review exits with code 0./plugin marketplace add nikhilenmudi/comprendo then /plugin install comprendonpx claudepluginhub nikhilenmudi/comprendo --plugin comprendoVisualizes planned code changes as ASCII diagrams with before/after architecture, risk analysis, execution order, and impact metrics. Use for reviewing plans, migrations, or assessing change impacts.
Use when implementing any substantial feature, multi-file modification, or architectural change - produces a plain-language walkthrough of every alteration so the developer can verify genuine understanding before committing, preventing the accumulation of cognitive debt where code ships faster than comprehension