a11y-check
Accessibility audit, scoped to the surfaces a product actually has. Detects web / rendered_markdown / terminal / native_app / video_audio / document /…
Render `.claude/diamonds/active.yml` as a state diagram. Read-only. Default format Mermaid stateDiagram-v2. 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
$ npx -y skills add haabe/mycelium --skill diamond-render --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/diamond-renderContext preview
The summary Claude sees to decide when to auto-load this skill.
Render `.claude/diamonds/active.yml` as a state diagram. Read-only. Default format Mermaid stateDiagram-v2. 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
name: diamond-render
description: Render `.claude/diamonds/active.yml` as a state diagram. Read-only. Default format Mermaid stateDiagram-v2. 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.
metadata:
instruction_budget: "45"
framework_dependency: "mycelium"
framework_dependency_note: "Reads .claude/diamonds/active.yml and ${CLAUDE_PLUGIN_ROOT}/engine/diamond-rules.md. Standalone use will fail without active.yml present."
identifier_exposure: "NONE"Read-only render of `.claude/diamonds/active.yml` as a state diagram. First specialist of the render fleet. Other specialists (`/mycelium:ost-render`, `/mycelium:cycle-render`) and the dispatcher (`/mycelium:render`) ship in subsequent patches.
**Declared**: NONE
| Canvas file | Identifier-bearing fields | Frequency | |---|---|---| | `.claude/diamonds/active.yml` | none in current schema (v1) | n/a | | `${CLAUDE_PLUGIN_ROOT}/engine/diamond-rules.md` | none (canonical phase list) | n/a |
`diamonds/active.yml` is phase-state shape: scale (L0–L5), phase (Discover/Define/Develop/Deliver), confidence value, gate-history timestamps. 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.
Not applicable (NONE).
Render of `diamonds/active.yml` with no identifier content present:
L0 Purpose: [Discover]→[Define]→[Develop*]→[Deliver]
conf=0.612No identifiers anywhere in the output, regardless of audience.
Not applicable. Check 43 forbids redaction fixtures on NONE-declared specialists (avoids the "declares NONE but acts YES" drift). Other fixtures (see § Test fixtures below) exercise actual behavior.
1. Read `.claude/diamonds/active.yml` with the Read tool. **Full read** (state diagram needs the full structure; `limit:1` not appropriate here). 2. Read `${CLAUDE_PLUGIN_ROOT}/engine/diamond-rules.md` to get the canonical phase list per scale + the four canonical phase-transition gate names. 3. If `--as-of <date>` was specified, also read `.claude/harness/decision-log.md` to walk backward to that date. 4. Note the source's canvas-state timestamp per `engine/render-conventions.md#canvas-state-timestamp-resolution`: `_meta.last_validated` if present, else top-level `last_updated:`.
| Arg | Default | Values | Effect | |---|---|---|---| | `--format` | `mermaid` | `mermaid` \| `ascii` \| `json` | Output format. `markdown-table` and `markdown-list` are NOT supported (state diagrams don't map cleanly); fail loud per `engine/render-conventions.md#format-support-negotiation-global-rule`. | | `--scale` | `active` | `L0` \| `L1` \| `L2` \| `L3` \| `L4` \| `L5` \| `active` \| `all` | Which diamond(s) to render. `active` = all diamonds with non-null `phase`. | | `--theme` | `base` | `base` \| `dark` | Theme. `dark` is the WCAG-by-construction opt-in per `engine/render-conventions.md#wcag-aa-theme-convention`. | | `--show-gates` | `true` | bool | Annotate transitions with phase-transition gate names + theory-gate status block. | | `--show-confidence` | `true` | bool | Annotate phases with confidence values. | | `--show-history` | `false` | bool | Include `gate_history` entries as transition timestamps. | | `--as-of` | `null` | ISO date | Render diamond state as-of this date (walk decision-log backward). Fail loud if date precedes the first decision-log entry mentioning the diamond. |
For each diamond to render:
When rendering multiple diamonds and a child's `parent_id` is set:
A harness that asks who this is for before the agent writes code. Built on Claude Code, where the gates are structural. The files and skills port to opencode, Codex and Cursor. Outcome over output. You know how this goes.
Accessibility audit, scoped to the surfaces a product actually has. Detects web / rendered_markdown / terminal / native_app / video_audio / document /…
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…
Design the smallest viable test to validate or invalidate a critical assumption. Based on Torres's assumption testing framework, organized by Gilad's AFTER…
Use before any research activity or significant decision. Reviews cognitive biases relevant to the current stage.
Use to evaluate whether current work aligns with Better Value Sooner Safer Happier. Run at diamond completion and periodically.
Lint canvas files for staleness, missing fields, inconsistent evidence types, and orphaned references. Run periodically or before major transitions.