Skip to content
cccskills
FreePublished on GitHub

diamond-render

Render `.claude/diamonds/active.yml` as the decisions each diamond has recorded, in order, grouped by mode (discovery, delivery). Read-only. Default format Mermaid stateDiagram-v2, drawn by a script. Recommended at the end of `/mycelium:diamond-assess` so every assessment closes with a visual state-of-play. See `${CLAUDE_PLUGIN_ROOT}/engine/render-conventions.md` for shared render fleet conventions.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md8.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Diamond Render

Read-only render of .claude/diamonds/active.yml. First specialist of the render fleet (with /mycelium:ost-render, /mycelium:cycle-render and the dispatcher /mycelium:render).

What it draws (v0.309.0, stage 5d-3, founder ruling DL-1372 V4). Each diamond as the decisions it has recorded, in the order recorded, with their dates, under the mode the diamond was in when it took them: discovery until commit_to_build, delivery after (DL-1368 S1). Then the decisions still to come, marked (next). A loop iterates by appending (DL-1373), so a second start_experiment is drawn as its own step where it happened, and the position does not move back. An L0 is not a loop: it states its purpose (state_purpose) and reviews it (review). Until v0.309.0 this skill asked the agent to draw four phases with transition labels of its own; the record has been decisions since v0.306.0, and the picture is now drawn from them by code.

When NOT to use

  • To record a decision (move a diamond on) → /mycelium:diamond-progress.
  • To score gates against current evidence → /mycelium:diamond-assess.
  • To start a new diamond → /mycelium:start.

Identifier exposure

Declared: NONE

Scope (canvas surfaces touched)

Canvas fileIdentifier-bearing fieldsFrequency
.claude/diamonds/active.ymlnone in current schema (v1)n/a

Rationale

diamonds/active.yml holds decisions, dates, gate statuses, scale and confidence. No contributor names, no participant fields, no identifier-bearing prose. Zero identifier exposure as of v0.40.0.

Future-schema-change caveat: if a future schema adds an identifier field (e.g., per-team diamond ownership for multi-team Mycelium per the deferred Team Topologies adoption), this declaration becomes false. The skill must then be re-declared YES or MIXED, consult the registry per engine/render-conventions.md#hard-rule-consent--privacy-gate, and ship redaction fixtures. The schema-versioning rule surfaces the schema_version mismatch at runtime as a forcing function for the re-audit.

Anon-label convention

Not applicable (NONE).

Worked example

L3 Test: committed to build (delivery)  conf=0.4
================================================
  [discovery]
    * set_target 2026-09-03
    * start_experiment 2026-09-04
  [delivery]
    * commit_to_build 2026-09-04
    * start_experiment 2026-09-10
    . release (next)
    . close (next)

No identifiers anywhere in the output, regardless of audience.

Fixture pointer

Not applicable. Check 43 forbids redaction fixtures on NONE-declared specialists (avoids the "declares NONE but acts YES" drift). The behaviour is tested in tests/python/test_render_diamonds.py.

Arguments

ArgDefaultValuesEffect
--formatmermaidmermaid | ascii | jsonOutput format. markdown-table and markdown-list are not supported (a state diagram does not map to them); the script fails loud per engine/render-conventions.md#format-support-negotiation-global-rule.
--scaleactiveL0-L5 | active | allWhich diamonds. active = the open ones (in active_diamonds, not closed, parked, killed, archived or retargeted, and no close recorded); all adds completed and archived.
--themebasebase | darkdark is the WCAG-by-construction opt-in per engine/render-conventions.md#wcag-aa-theme-convention.
--no-gatesoffflagLeave out each decision's gates and their status (ascii and json). Mermaid never draws them: it places a note on a nested state across the page.
--no-confidenceoffflagLeave out the diamond's confidence.

Workflow

Step 1: Draw it

python3 "${CLAUDE_PLUGIN_ROOT}/scripts/render_diamonds.py" --project-dir . [--format ...] [--scale ...]

Show its output as it is. Do not redraw it by hand, rename decisions, or add states, gates or values the record does not hold: two renders of one record must be the same picture. Exit 2 means a format it does not draw, a scale with no diamond, or a diamonds file it cannot read; say which.

Step 2: Staleness check

Per engine/render-conventions.md#staleness-check-distinction: compare the diamonds file's canvas-state timestamp (_meta.last_validated, else top-level last_updated:) with the most recent decision-log entry mentioning a drawn diamond. If the decision log is newer, put the staleness warning above the render.

Step 3: Validate the Mermaid (mermaid format)

python3 "${CLAUDE_PLUGIN_ROOT}/scripts/render_diamonds.py" --project-dir . \
  | python3 "${CLAUDE_PLUGIN_ROOT}/scripts/validate_mermaid.py" -

It checks state-id consistency (F11) and WCAG AA contrast (F13); add --cli for a full parse when mmdc is present. Exit 1: do not show the diagram; report the failure, which is a defect in the script. Visual layout still needs a human eye, which is why the disclaimer stays.

Step 4: Disclaimers

Per engine/render-conventions.md:

  • Lossy-on-export (mermaid + ascii): dropped fields: each decision's ruling and note, the diamond's progression_blockers, closes_on, and the decision log's prose; mermaid also drops the gates.
  • Canonical disclaimer: final block. stateDiagram-v2 is stable; no beta warning.
  • mermaidchart.com handoff: appended for --format mermaid only.

Rules

  1. Read-only. Never modify active.yml, the decision log, or any state.
  2. The script draws; the agent does not. No hand-drawn variant, no renamed decision, no state or gate the record does not hold.
  3. Empty case: no open diamond prints No open diamond: run /mycelium:start. and exits 0.
  4. --as-of is not offered. The decision log records each decision's date, so a past state is the decisions dated on or before that day; this render does not filter by date yet, and it does not pretend to.

Counter-Argument Check

Before showing it:

  1. "Is this the record, or has the diamonds file been edited since the last decision?" Step 2 is the mechanical answer.
  2. "Am I drawing one diamond when the decision log mentions others?" If --scale active drew one and the log names more, say: Other diamonds in active.yml are closed or not open: --scale all draws them.

What this skill does NOT do

  • Does NOT record a decision. That's /mycelium:diamond-progress.
  • Does NOT score gates against current evidence. That's /mycelium:diamond-assess.
  • Does NOT explain WHY a diamond is where it is. That lives in the decision log and the diamond-assess output.

Recommend-not-invoke from /mycelium:diamond-assess

/mycelium:diamond-assess ends its decision output with:

> _Visualize the assessed state: run `/mycelium:diamond-render`. The canvas
> remains source of truth; this render is a snapshot._

NOT a silent sub-invocation. User retains one-hop control.

Tests

tests/python/test_render_diamonds.py: a repeated decision drawn where it happened (DL-1373); a close in the mode it is taken in; an L0 that states and reviews; active against all; the Mermaid valid, with each state inside its mode (the first draft drew every decision outside it); unsupported formats and scales failing loud; the empty case. Until v0.309.0 this section listed seven fixtures under tests/bash/fixtures/diamond-render/ that were never written.

Theory citations

  • Rother (Toyota Kata): a target condition and experiments toward it, the loop each level runs (DL-1366). Recording each experiment by appending, never editing, is this framework's ruling (DL-1373), not Rother's
  • Cagan / Patton (dual-track): discovery and delivery as two modes running in parallel. Reading the switch off commit_to_build is this framework's (DL-1368 S1)
  • Hick's Law (one recommended format default; explicit fail-loud on unsupported)
  • WCAG 2.1 AA (contrast bar for human-audience rendering; engine/render-conventions.md#wcag-aa-theme-convention)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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.

The English summary is being prepared. Showing the original description.

haabe/mycelium47Updated Oct 18, 2026

adopt

Free

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.

The English summary is being prepared. Showing the original description.

haabe/mycelium47Updated Oct 18, 2026

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).

The English summary is being prepared. Showing the original description.

haabe/mycelium47Updated Oct 18, 2026

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

The English summary is being prepared. Showing the original description.

haabe/mycelium47Updated Oct 18, 2026

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

The English summary is being prepared. Showing the original description.

haabe/mycelium47Updated Oct 18, 2026

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

The English summary is being prepared. Showing the original description.

haabe/mycelium47Updated Oct 18, 2026

See all skills by haabe

Report a problem with this skill