com um clique
canvas-code-review
// Recipe for rendering a code review as a Canvas — compose findings with evidence and actions into a scannable page instead of a long text answer.
// Recipe for rendering a code review as a Canvas — compose findings with evidence and actions into a scannable page instead of a long text answer.
Consolidate durable project memory from the current conversation and identify traces that may deserve genskill.
Generate a reusable skill from the current conversation history using a GEPA-style multi-candidate loop with LLM-as-judge Pareto selection.
Configure Google Calendar Browser with /connect and use Calendar ConnectorAct actions through the global Puffer browser profile.
Configure Gmail Browser with /connect and use Gmail ConnectorAct actions through the global Puffer browser profile.
Guide for implementing or updating a Puffer connector. Use when Codex needs to add a new connector template, subscriber stream, internal connector tool, ConnectorAct action, /connect auth flow, workflow subscription support, or a puffer-connector-* Rust crate in the Puffer repo.
Guide for developing Puffer's computer-use integration and vendored CUA driver. Use when Codex works on vendor/cua-driver, scripts/build-cua-driver.sh, scripts/cua-computer-sandbox.sh, docker/cua-driver-native, CUA MCP manifests, screenshots/image tool-result handling, or specs/puffer-core/118.md.
| name | canvas-code-review |
| description | Recipe for rendering a code review as a Canvas — compose findings with evidence and actions into a scannable page instead of a long text answer. |
| allowed-tools | ["Canvas"] |
| argument-hint | [what to review] |
| user-invocable | true |
| disable-model-invocation | false |
A recipe for the Canvas tool: how to structure a code review as a Canvas
page. Canvas is a design system (see resources/canvas/components.md for the
component catalog and when to use each). This recipe is the task-level rule for
code review specifically.
After reviewing a diff/PR/branch, when the result is easier to act on as a
scannable page than as prose. Call Canvas once with the composed tree.
title = "Code review · "; meta = ["PR #…", "N files", "+x −y"].summary (what changed + overall verdict). Then a
single metrics strip: total findings and the per-severity counts
(color high/crit). Do not also add a decorative KPI grid.section{title:"Findings"} containing finding
nodes, highest severity first. Every finding must:
severity and a precise title;locations:[{path,line}];evidence with the actual diff/code (use -/+ lines),
not a paraphrase;actions — a fix intent ("Suggest change") for
fixable issues, test ("Add test") where coverage is missing, explain
when the reader may need rationale.callout (at most one, near the top) for the single highest-
priority thing to address before merge.{
"title": "Code review · feat/x",
"meta": ["PR #123", "4 files", "+120 −18"],
"summary": "Adds X. Solid overall; 2 issues before merge, 1 a security note.",
"body": [
{ "type": "metrics", "items": [
{ "value": "2", "label": "findings" },
{ "value": "1", "label": "high", "tone": "high" } ] },
{ "type": "section", "title": "Findings", "children": [
{ "type": "finding", "severity": "high", "title": "...",
"locations": [{ "path": "src/x.rs", "line": 42 }],
"evidence": "- old line\n+ new line",
"actions": [{ "id": "fix", "label": "Suggest change", "intent": "fix" }] }
]}
]
}
Actions are emitted with {id, intent, node}; the round-trip that bundles the
finding + locations + diff back into a new agent turn is a planned follow-up.