本文へ移動
cccskills
無料GitHub で公開

canvas-update

Update canvas sections with new evidence. Ensures canvas stays current as the single source of truth.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md7.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Canvas Update

Preflight: Read target canvas file(s) before any Write/Edit

Hard rule. Before issuing Write or Edit against any .claude/canvas/*.yml, use the Read tool on that file in this session. Claude Code's Read-before-Write check requires the Read tool specifically — cat/head/grep via Bash do NOT satisfy it.

Edit vs Write — different cost profiles (verified 2026-05-14):

  • Edit (exact-string replacement): Read with limit: 1 satisfies the check at ~50 tokens. State-tracking is per-file, not per-byte — subsequent Edit calls work anywhere in the file. Use this for partial updates against large canvas files (e.g., purpose.yml at 800+ lines).
  • Write (full replacement): do a full Read first. Write obliterates the file; you should see what you're about to replace. The limit:1 shortcut is not appropriate here.

ID-bearing entries — scan the ID space before assigning (added 2026-05-15, v0.23.19): When adding a new component, opportunity, solution, or any other ID-bearing entry to a canvas file, run a Bash grep first to confirm the next ID in your prefix sequence is actually free:

grep -o "<prefix>-[0-9][0-9]*" .claude/canvas/<file>.yml | sort -u -t- -k2 -n | tail -3

Replace <prefix> with the canvas's ID prefix (comp for landscape, opp for opportunities, sol for solutions, ht for human-tasks, etc.). Then pick the next free integer, matching the zero-padding already used in that file. The sort is NUMERIC (-t- -k2 -n) rather than lexical, and that is not pedantry: a plain sort -u orders ht-1 after ht-080, so on a canvas with inconsistent padding it reports the wrong maximum and the next ID collides. Verified on the dogfood repo 2026-08-13, where lexical sort returned ht-1 as the highest human-task ID against an actual ht-080. grep -o is also deliberate: it matches IDs wherever they appear, including cross-references and prose, so an ID that was promised somewhere but not yet defined is not handed out twice. validate_canvas.py has a per-file duplicate-ID check (it reports duplicate id '<id>') that catches the failure on CI, but a duplicate can persist in the working tree for days if CI isn't run between edit and discovery; that happened on 2026-05-15, when a duplicate ID was created in landscape.yml.

Original failure mode: anti-pattern #7 instance #5, 2026-05-09 — agent conflated Bash head with the Read tool, lost ~14k tokens to a Write-fail → remedial-full-Read → re-Write loop. The limit:1 discipline (graduated 2026-05-14, v0.23.18) prevents the second-order cost where the agent correctly follows the rule but full-Reads every time. The ID-scan discipline (graduated 2026-05-15, v0.23.19) prevents the related class where the agent reads enough of the file to satisfy the Edit check but not enough to see existing ID assignments — kin to anti-pattern #8 (Stale State Read).

If this skill writes to multiple canvas files, register each one first (limit:1 for Edit-only paths; full Read for Write paths) AND ID-scan any prefix you intend to assign.

See ${CLAUDE_PLUGIN_ROOT}/engine/agent-operating-contract.md Canvas writes — Read before Write for the canonical rule.

Rules

  1. Never update without evidence -- every canvas change must have a source
  2. Maintain cross-file consistency -- if you update opportunities.yml, check if north-star.yml or gist.yml need updates too
  3. Log the update -- add an entry to .claude/harness/decision-log.md explaining what changed and why

Which Canvas File for Which Information

Routing rule (Hick's Law, added v0.39.18): when the new information could plausibly fit multiple canvas files, recommend ONE primary destination based on the information's PRIMARY type (the "why" of the data), with at-most-one secondary cross-reference. Do not present a flat list of candidate files for the user to choose from; that manufactures decision-tax. The table below maps each information type to its canonical canvas file — pick the row whose information type best describes what's being added, not the row whose source-theory the agent finds most interesting.

Information TypeCanvas FileSource
Purpose, mission, whypurpose.ymlSinek
North Star metric, inputsnorth-star.ymlNorth Star Framework
BVSSH health scoresbvssh-health.ymlSmart
Value chain, competitivelandscape.ymlWardley
Team structureteam-shape.ymlSkelton
User opportunities, OSTopportunities.ymlTorres
User needs mapuser-needs.ymlAllen
Goals, ideas, stepsgist.ymlGilad
Service quality scoresservices.ymlDowne
Go-to-market, positioninggo-to-market.ymlLauchengco
Delivery performancedora-metrics.ymlForsgren
Security threatsthreat-model.ymlOWASP
Privacy assessmentprivacy-assessment.ymlGDPR/PbD
Trust architecturetrust-signals.ymlDigital Trust
Jobs to be donejobs-to-be-done.ymlChristensen
Bounded contextsbounded-contexts.ymlEvans (DDD)
Value stream mapvalue-stream.ymlRother & Shook (VSM)
Content delivery metricscontent-metrics.ymlv0.11.0
AI tool delivery metricsai-tool-metrics.ymlv0.11.0
Service delivery metricsservice-metrics.ymlv0.11.0
Human task trackinghuman-tasks.ymlv0.11.0
Archived/discarded solutionsarchived-solutions.ymlv0.12.0
Leaf lifecycle calibrationcycle-history.ymlv0.12.0
Adaptive thresholdsthresholds.ymlv0.12.0
User scenarios (Hoskins)scenarios.ymlHoskins

Workflow

  1. Identify which canvas file(s) need updating
  2. Read current state
  3. Make the update with evidence citation
  4. Check cross-file consistency
  5. Log in .claude/harness/decision-log.md

Output to the user

Lead with the recommendation (Hick's Law, per harness/design-principles.md; graduated from two consecutive /framework-health 4e flags, 2026-06-05 + 2026-06-12): when more than one canvas file could host the update (the mapping table above offers options), don't present the alternatives as an open menu — name the one file you recommend and why, with alternatives one line each below. Same rule for follow-up actions: one recommended next step, not an unweighted list.

Counter-Argument Check (Bias Mitigation)

Before applying the canvas update, draft a one-line counter-argument: "What's the strongest case AGAINST this update — what evidence or perspective would invalidate it?" If you can't articulate one, run /mycelium:devils-advocate before proceeding.

This addresses the bias cluster documented in corrections.md (L5 sycophancy 2026-04-20, eval overfitting 2026-04-30, sharper-framing-isn't-righter 2026-05-03). Common shape: agent prefers what feels right over what evidence supports under competing pressure (be helpful vs. be honest, sharpen framing vs. preserve evidence base). The counter-argument step forces the missing perspective explicit, so the bias surfaces before it lands in canvas.

Especially important when interpolating user-supplied content (already untrusted per ${CLAUDE_PLUGIN_ROOT}/harness/security-trust.md#prompt-injection-defense) AND when increasing a confidence value — both contexts where the agent is most likely to default toward the optimistic read.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Accessibility audit, scoped to the surfaces a product actually has. Detects web / rendered_markdown / terminal / native_app / video_audio / document / headless, then applies only the criteria that bind. WCAG 2.1 AA in full for web; not at all for headless.

日本語の概要は準備中です。原文の説明を表示しています。

haabe/mycelium462026年10月11日 更新

adopt

無料

Bring Mycelium into a project that already has code. Detects that the repo predates the framework, asks before touching anything, then reads the codebase to draft what it CAN establish (delivery, solution shape) and — the actual point — names what it cannot (purpose, strategy, real user evidence). The output is a discovery backlog with a head start, never a filled canvas.

日本語の概要は準備中です。原文の説明を表示しています。

haabe/mycelium462026年10月11日 更新

Design the smallest viable test to validate or invalidate a critical assumption. Based on Torres's assumption testing framework, organized by Gilad's AFTER model (Assessment → Fact-Finding → Tests → Experiments → Release Results).

日本語の概要は準備中です。原文の説明を表示しています。

haabe/mycelium462026年10月11日 更新

Use before any research activity or significant decision. Reviews cognitive biases relevant to the current stage.

日本語の概要は準備中です。原文の説明を表示しています。

haabe/mycelium462026年10月11日 更新

Use to evaluate whether current work aligns with Better Value Sooner Safer Happier. Run at diamond completion and periodically.

日本語の概要は準備中です。原文の説明を表示しています。

haabe/mycelium462026年10月11日 更新

Lint canvas files for staleness, missing fields, inconsistent evidence types, and orphaned references. Run periodically or before major transitions.

日本語の概要は準備中です。原文の説明を表示しています。

haabe/mycelium462026年10月11日 更新

haabe のスキルをすべて見る

このスキルの問題を報告する