← All skills
plan-canvas
77 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a coding skill usually runs build and test commands.
By affaan-m/ECC (GitHub) · coding · 300,508 stars · scanned at commit d2ef268
Open plans and HTML artifacts in a local browser canvas where the human annotates elements, chats, and approves or requests changes without leaving the page. Use when presenting a plan for review, or when feedback like "move this, change that" is easier pointed at than typed.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. Expected for a coding skill.
Found in 51 places.
Show 17 more
- skills/plan-canvas/SKILL.md, line 168
ecc-plan-canvas open .claude/plans/notifications.plan.md - skills/plan-canvas/SKILL.md, line 179
ecc-plan-canvas await <file> --reply "Reworked the risk table." - scripts/hooks/observe-runner.js, line 6
const { spawnSync } = require('child_process'); - scripts/hooks/observe-runner.js, line 63
const probe = spawnSync(candidate, ['-c', ':'], { - scripts/hooks/observe-runner.js, line 131
const result = spawnSync(shell, [toShellPath(observePath), phase], { - scripts/hooks/session-activity-tracker.js, line 13
const { spawnSync } = require('child_process'); - scripts/hooks/session-activity-tracker.js, line 346
const result = spawnSync('git', args, { - scripts/lib/llm-summary.js, line 15
const { spawnSync } = require('child_process'); - scripts/lib/llm-summary.js, line 180
const result = spawnSync('claude', ['--model', getLLMModel(), '-p'], { - scripts/lib/observer-sessions.js, line 5
const { spawnSync } = require('child_process'); - scripts/lib/observer-sessions.js, line 45
const result = spawnSync('git', args, { - scripts/lib/platform-launch.js, line 24
const { spawn } = require('child_process'); - scripts/lib/utils.js, line 10
const { execSync, spawnSync } = require('child_process'); - scripts/lib/utils.js, line 491
const result = spawnSync('where', [cmd], { stdio: 'pipe' }); - scripts/lib/utils.js, line 494
const result = spawnSync('which', [cmd], { stdio: 'pipe' }); - scripts/lib/utils.js, line 528
const result = execSync(cmd, { - scripts/plan-canvas.js, line 23
const { spawn } = require('child_process');
and 31 more places
Downloads and installs other software
The author does not mention this. It runs automatically when the plugin is installed.
Found in 2 places.
Connects to the internet
The author does not mention this.
Found in 4 places.
Show 1 more
Safer alternatives
Low-risk skills in the same category (coding) that look related. Check that one does what you need.
Other copies in this repository
affaan-m/ECC has 1 more folder with a skill named plan-canvas. This page shows the lowest-scoring copy.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'plan-canvas' ] || [ -L ~/.agents/skills/'plan-canvas' ]; then echo 'A skill folder named plan-canvas already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/affaan-m/ECC' "$d" && git -C "$d" checkout --quiet 'd2ef2680594f9a17526a6e1a2e18b3d242c5d17b' -- 'skills/plan-canvas' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/plan-canvas' ~/.agents/skills/'plan-canvas' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'plan-canvas' ~/.claude/skills/'plan-canvas' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for affaan-m/ECC shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/affaan-m/ECC/)
Score history
| Date | Version | Score |
|---|
| 2026-11-08 | d2ef268 | 77 |
| 2026-11-06 | b38be6a | 77 |
Also found in
Identical copies of this skill exist at:
- affaan-m/everything-claude-code/skills/plan-canvas