본문으로 건너뛰기
cccskills
무료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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md8.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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)

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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/mycelium472026년 10월 18일 업데이트

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/mycelium472026년 10월 18일 업데이트

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/mycelium472026년 10월 18일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

haabe/mycelium472026년 10월 18일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

haabe/mycelium472026년 10월 18일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

haabe/mycelium472026년 10월 18일 업데이트

haabe의 스킬 모두 보기

이 스킬의 문제 신고