agentleFS
shaunandrewsshaunandrews/agent-skills/skills/explain-with-canvas/SKILL.md

explain-with-canvas

Skill8 starsChanged 3 months agoMITView on GitHub

Use when Codex should explain a codebase, app flow, UI surface, generated artifact set, architecture, route map, or design system visually with Agent Canvas. Triggers include requests like "explain this with canvas", "map this repo", "show the app flows visually", "help me understand this codebase", "visualize this vibe-coded app", or "create an Agent Canvas overview". Requires Agent Canvas MCP or CLI access; use read-only scanning unless the user explicitly asks to modify the target project.

The file

Show its rules and text

We split this skill into the rules it gives an agent

22 rules. About 0 are common, 17 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈17

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use Agent Canvas as a visual explanation surface, not as a decorative diagram.

    line 8
  2. Distinctive:

    Treat the target repository as read-only unless the user explicitly asks for code changes.

    line 12
  3. Very specific:

    Prefer agent-canvas scan-repo or scripts/safe-repo-scan.mjs for discovery.

    line 13
  4. Very specific:

    If the target repo is actively being edited by other agents, store Agent Canvas state outside that repo with --workspace …

    line 14
  5. Distinctive:

    Check git status --short before and after scanning when the user asks to avoid disturbing a repo.

    line 15
  6. Distinctive:

    Do not run install, build, format, migration, or test commands in the target repo during an explanation pass unless the user asks for them.

    line 16
  7. Distinctive:

    If a live Agent Canvas is available, generate the canvas:

    line 30
  8. Distinctive:

    If no live canvas is available, prepare operations without posting them:

    line 35
  9. Distinctive:

    Add focused nodes for unclear flows.

    line 41
  10. Very specific:

    Add provenance to new nodes using metadata.agentCanvas.files.

    line 43
  11. Distinctive:

    Avoid focusing every created node unless the user asks to follow the generation.

    line 44
  12. Distinctive:

    Create or update stable sections:

    line 48
  13. Distinctive:

    Use deterministic node IDs based on repo name and topic so reruns update existing nodes.

    line 65
  14. Distinctive:

    Keep summaries short enough to scan.

    line 66
  15. Distinctive:

    Use document nodes for synthesized explanations.

    line 67
  16. Distinctive:

    Use website nodes only for actual generated previews or captured app screens.

    line 68
  17. Distinctive:

    Use sections for spatial grouping, not as fake decorative frames.

    line 69
  18. Distinctive:

    Use layout/tidy tools after creating multiple nodes.

    line 70
  19. Distinctive:

    Every explanation node should identify where its claim came from.

    line 74
  20. Distinctive:

    When the agent is uncertain, say so in the node.

    line 88
  21. Very specific:

    Read references/codebase-canvas-patterns.md when deciding what kind of canvas to create for a repo.

    line 92
  22. Very specific:

    Use scripts/safe-repo-scan.mjs when agent-canvas scan-repo is not on PATH but this skill is available from the source package.

    line 93

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Explain With Canvas

Use Agent Canvas as a visual explanation surface, not as a decorative diagram. The goal is to leave the user with a canvas that shows what exists, where it lives, how it connects, and what to inspect next.

Safety First

  • Treat the target repository as read-only unless the user explicitly asks for code changes.
  • Prefer agent-canvas scan-repo or scripts/safe-repo-scan.mjs for discovery. These commands read files and write only to an explicit output path.
  • If the target repo is actively being edited by other agents, store Agent Canvas state outside that repo with --workspace /safe/path/.agent-canvas/external/<project>.
  • Check git status --short before and after scanning when the user asks to avoid disturbing a repo.
  • Do not run install, build, format, migration, or test commands in the target repo during an explanation pass unless the user asks for them.

Quick Workflow

  1. Check canvas access:
    agent-canvas doctor
  2. Scan the target repo read-only:
    agent-canvas scan-repo /path/to/repo --out /tmp/repo-agent-canvas-scan.json --pretty
  3. If a live Agent Canvas is available, generate the canvas:
    agent-canvas explain /path/to/repo --workspace /path/to/workspace/.agent-canvas
  4. If no live canvas is available, prepare operations without posting them:
    agent-canvas explain /path/to/repo --workspace /path/to/workspace/.agent-canvas --dry-run
  5. Inspect the generated canvas and refine with MCP tools:
    • Add focused nodes for unclear flows.
    • Re-layout sections if nodes overlap.
    • Add provenance to new nodes using metadata.agentCanvas.files.
    • Avoid focusing every created node unless the user asks to follow the generation.

Canvas Structure

Create or update stable sections:

  • Project overview: purpose, runtime, manifests, commands, current git state.
  • Architecture map: major modules and responsibilities.
  • Flows: route, screen, API, data, event, or user journeys.
  • Source map: top directories, file types, important files.
  • Questions: uncertainties, missing context, suggested next probes.

For UI apps, add optional sections when useful:

  • Screens and routes.
  • Components and design system.
  • Data/state flow.
  • Build/deploy surface.

Node Rules

  • Use deterministic node IDs based on repo name and topic so reruns update existing nodes.
  • Keep summaries short enough to scan. Link detail through provenance, not giant pasted files.
  • Use document nodes for synthesized explanations.
  • Use website nodes only for actual generated previews or captured app screens.
  • Use sections for spatial grouping, not as fake decorative frames.
  • Use layout/tidy tools after creating multiple nodes.

Provenance

Every explanation node should identify where its claim came from. Prefer this metadata shape:

{
  "agentCanvas": {
    "generatedBy": "explain-with-canvas",
    "repoRoot": "/path/to/repo",
    "gitHead": "abc1234",
    "files": ["src/app.ts", "package.json"],
    "readOnly": true
  }
}

When the agent is uncertain, say so in the node. A useful visual map is allowed to have open questions; it should not pretend guessed architecture is fact.

References

  • Read references/codebase-canvas-patterns.md when deciding what kind of canvas to create for a repo.
  • Use scripts/safe-repo-scan.mjs when agent-canvas scan-repo is not on PATH but this skill is available from the source package.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.