/render
Central dispatcher for the canvas/state render fleet. Routes intent to a specialist (`/mycelium:diamond-render`, `/mycelium:ost-render`, `/mycelium:cycle-render`) OR lists what's renderable. Cross-cutting views spanning multiple canvases (opp→sol→cycle traceability,
Claude Code
$ npx -y skills add haabe/mycelium --skill render --agent claude-code
Codex
$ npx skills add haabe/mycelium --skill render -a codex -y
Cursor
$ npx skills add haabe/mycelium --skill render -a cursor -y
Gemini CLI
$ npx skills add haabe/mycelium --skill render -a gemini-cli -y
GitHub Copilot
$ npx skills add haabe/mycelium --skill render -a github-copilot -y
OpenCode
$ npx skills add haabe/mycelium --skill render -a opencode -y
Windsurf
$ npx skills add haabe/mycelium --skill render -a windsurf -y
SKILL.md
render.SKILL.mdname: render
description: Central dispatcher for the canvas/state render fleet. Routes intent to a specialist (`/mycelium:diamond-render`, `/mycelium:ost-render`, `/mycelium:cycle-render`) OR lists what's renderable. Cross-cutting views spanning multiple canvases (opp→sol→cycle traceability, confidence-over-time, cluster-graduation-flow) are research-gated and NOT emitted by default. See `${CLAUDE_PLUGIN_ROOT}/engine/render-conventions.md` for shared conventions.
metadata:
instruction_budget: "60"
framework_dependency: "mycelium"
framework_dependency_note: "Routes to specialist render skills. Consults the attribution registry only if a cross-cutting view activates a YES-exposure canvas."
identifier_exposure: "MIXED"Render Dispatcher
Central entry point + menu for the canvas/state render fleet. Routes intent to specialists or surfaces what's available. Cross-cutting views are research-gated and NOT emitted by default. Completes the v0.40.0-announced render fleet foundation.
When to use
- "Show me the OST" / "render the diamond state" / "visualize the cycles" → dispatcher recommends + routes to the specialist (recommend, do NOT auto-invoke).
- "Visualize how opportunity X became cycle Y" → cross-cutting traceability intent. Dispatcher surfaces that the view is research-gated; does not emit a default rendering.
- Discovery: "what renderable views does Mycelium have?" → dispatcher lists specialists + their states.
When NOT to use
- If the user names a specialist directly (`/mycelium:diamond-render`, `/mycelium:ost-render`, `/mycelium:cycle-render`), the specialist is the one-hop path. Do NOT re-route through the dispatcher.
- For cross-cutting views that already have dedicated skills (e.g., `/mycelium:framework-health` is its own audit; not a render specialist).
Identifier exposure
**Declared**: MIXED
Scope (per-canvas table — REQUIRED for MIXED)
| Canvas | Exposure | Identifier-bearing fields | Activated when | |---|---|---|---| | `.claude/canvas/opportunities.yml` | YES | `evidence_sources`, `notes` | `--view traceability` (deferred), `--view ost-summary` | | `.claude/canvas/cycle-history.yml` | YES | `learnings.process` prose, `related_corrections` | `--view traceability` (deferred), `--view cycle-summary` | | `.claude/canvas/archived-solutions.yml` | YES | `discard_notes` prose | `--view traceability` (deferred), `--view discards` | | `.claude/canvas/landscape.yml` | YES (low) | `notes`, `evidence_sources` | `--view competitive-landscape` (deferred) | | `.claude/diamonds/active.yml` | NONE | none | any view including the diamond |
Rationale
Dispatcher behavior depends on which cross-cutting view is invoked. MIXED with per-canvas scoping is the only honest declaration: YES would force registry consultation on diamond-only views (unnecessary cost); NONE would silently leak identifiers on traceability views (incident). Each cross-cutting view's implementation MUST consult the registry per `engine/render-conventions.md#hard-rule-consent--privacy-gate` for the YES-exposure canvases it activates and skip the consultation only for NONE-exposure canvases.
For v0.40.3 ship: the dispatcher ships WITHOUT cross-cutting views. All MIXED-relevant identifier surfaces are inactive. The MIXED declaration is forward-looking — it names the canvases that WILL activate when cross-cutting views land in subsequent patches per the research-first methodology.
Anon-label convention
Per `engine/render-conventions.md#anon-label-convention`. Numbering shared across a single dispatcher invocation regardless of canvas count (`cohort-tester-2` in cycle-003 IS `cohort-tester-2` in opp-004 evidence).
Consent value semantics
Per `engine/render-conventions.md#consent-value-semantics`.
Worked examples (forward-looking)
**`--view traceability` (deferred)**: activates opportunities.yml + cycle-history.yml + archived-solutions.yml. Registry consultation runs. Multi-canvas anon-label numbering shared.
**`--view diamond-only` (always available — alias for routing to diamond-render)**: touches only active.yml. Registry consultation SKIPPED per the per-canvas exposure table. No anon labels emitted.
Fixture pointer
- `tests/bash/fixtures/render/dispatcher-recommend-not-invoke.yml` (routes to specialist)
- `tests/bash/fixtures/render/dispatcher-list-options.yml` (discovery mode)
- `tests/bash/fixtures/render/dispatcher-view-traceability-mixed-consent.yml` (deferred — fires once traceability view ships)
- `tests/bash/fixtures/render/dispatcher-view-diamond-only-no-redaction.yml` (alias-to-specialist behavior)
- `tests/bash/fixtures/render/dispatcher-view-traceability-no-registry-entry.yml` (deferred — fail-loud on missing identifier)
Arguments
| Arg | Default | Values | Effect | |---|---|---|---| | `--list` | `false` | bool | Print the dispatch table + deferred cross-cutting views, do not route | | `--view` | `null` | `traceability` \| `confidence-trajectory` \| `cluster-graduation-flow` \| `canvas-dependency-graph` | Cross-cutting view selector (all currently deferred per research-first methodology) | | `--format` | `mermaid` | `mermaid` \| `ascii` \| `json` | Format hint for routed specialists (overridable per specialist) | | `--theme` | `base` | `base` \| `dark` | Theme hint for routed specialists (`dark` opt-in for WCAG-by-construction per `engine/render-conventions.md#wcag-aa-theme-convention`) |
Workflow
Step 1: Parse intent
Identify whether the request maps to:
- A single canvas → route to specialist (Step 2)
- A cross-cutting view → surface the deferral (Step 3)
- Discovery / `--list` → enumerate options (Step 4)
Step 2: Route to specialist
Map canvas to specialist. **Recommend, do NOT auto-invoke** (architecture decision Q1):
| Canvas / intent | Specialist | Beta risk | |---|---|---| | opportunities.yml | `/mycelium:ost-render` | none | | diamonds/active.yml | `/mycelium:diamond-render` | none | | cycle-history.yml | `/mycelium:cy
Read more
name: render
description: Central dispatcher for the canvas/state render fleet. Routes intent to a specialist (`/mycelium:diamond-render`, `/mycelium:ost-render`, `/mycelium:cycle-render`) OR lists what's renderable. Cross-cutting views spanning multiple canvases (opp→sol→cycle traceability, confidence-over-time, cluster-graduation-flow) are research-gated and NOT emitted by default. See `${CLAUDE_PLUGIN_ROOT}/engine/render-conventions.md` for shared conventions.
metadata:
instruction_budget: "60"
framework_dependency: "mycelium"
framework_dependency_note: "Routes to specialist render skills. Consults the attribution registry only if a cross-cutting view activates a YES-exposure canvas."
identifier_exposure: "MIXED"Render Dispatcher
Central entry point + menu for the canvas/state render fleet. Routes intent to specialists or surfaces what's available. Cross-cutting views are research-gated and NOT emitted by default. Completes the v0.40.0-announced render fleet foundation.
When to use
- "Show me the OST" / "render the diamond state" / "visualize the cycles" → dispatcher recommends + routes to the specialist (recommend, do NOT auto-invoke).
- "Visualize how opportunity X became cycle Y" → cross-cutting traceability intent. Dispatcher surfaces that the view is research-gated; does not emit a default rendering.
- Discovery: "what renderable views does Mycelium have?" → dispatcher lists specialists + their states.
When NOT to use
- If the user names a specialist directly (`/mycelium:diamond-render`, `/mycelium:ost-render`, `/mycelium:cycle-render`), the specialist is the one-hop path. Do NOT re-route through the dispatcher.
- For cross-cutting views that already have dedicated skills (e.g., `/mycelium:framework-health` is its own audit; not a render specialist).
Identifier exposure
**Declared**: MIXED
Scope (per-canvas table — REQUIRED for MIXED)
| Canvas | Exposure | Identifier-bearing fields | Activated when | |---|---|---|---| | `.claude/canvas/opportunities.yml` | YES | `evidence_sources`, `notes` | `--view traceability` (deferred), `--view ost-summary` | | `.claude/canvas/cycle-history.yml` | YES | `learnings.process` prose, `related_corrections` | `--view traceability` (deferred), `--view cycle-summary` | | `.claude/canvas/archived-solutions.yml` | YES | `discard_notes` prose | `--view traceability` (deferred), `--view discards` | | `.claude/canvas/landscape.yml` | YES (low) | `notes`, `evidence_sources` | `--view competitive-landscape` (deferred) | | `.claude/diamonds/active.yml` | NONE | none | any view including the diamond |
Rationale
Dispatcher behavior depends on which cross-cutting view is invoked. MIXED with per-canvas scoping is the only honest declaration: YES would force registry consultation on diamond-only views (unnecessary cost); NONE would silently leak identifiers on traceability views (incident). Each cross-cutting view's implementation MUST consult the registry per `engine/render-conventions.md#hard-rule-consent--privacy-gate` for the YES-exposure canvases it activates and skip the consultation only for NONE-exposure canvases.
For v0.40.3 ship: the dispatcher ships WITHOUT cross-cutting views. All MIXED-relevant identifier surfaces are inactive. The MIXED declaration is forward-looking — it names the canvases that WILL activate when cross-cutting views land in subsequent patches per the research-first methodology.
Anon-label convention
Per `engine/render-conventions.md#anon-label-convention`. Numbering shared across a single dispatcher invocation regardless of canvas count (`cohort-tester-2` in cycle-003 IS `cohort-tester-2` in opp-004 evidence).
Consent value semantics
Per `engine/render-conventions.md#consent-value-semantics`.
Worked examples (forward-looking)
**`--view traceability` (deferred)**: activates opportunities.yml + cycle-history.yml + archived-solutions.yml. Registry consultation runs. Multi-canvas anon-label numbering shared.
**`--view diamond-only` (always available — alias for routing to diamond-render)**: touches only active.yml. Registry consultation SKIPPED per the per-canvas exposure table. No anon labels emitted.
Fixture pointer
- `tests/bash/fixtures/render/dispatcher-recommend-not-invoke.yml` (routes to specialist)
- `tests/bash/fixtures/render/dispatcher-list-options.yml` (discovery mode)
- `tests/bash/fixtures/render/dispatcher-view-traceability-mixed-consent.yml` (deferred — fires once traceability view ships)
- `tests/bash/fixtures/render/dispatcher-view-diamond-only-no-redaction.yml` (alias-to-specialist behavior)
- `tests/bash/fixtures/render/dispatcher-view-traceability-no-registry-entry.yml` (deferred — fail-loud on missing identifier)
Arguments
| Arg | Default | Values | Effect | |---|---|---|---| | `--list` | `false` | bool | Print the dispatch table + deferred cross-cutting views, do not route | | `--view` | `null` | `traceability` \| `confidence-trajectory` \| `cluster-graduation-flow` \| `canvas-dependency-graph` | Cross-cutting view selector (all currently deferred per research-first methodology) | | `--format` | `mermaid` | `mermaid` \| `ascii` \| `json` | Format hint for routed specialists (overridable per specialist) | | `--theme` | `base` | `base` \| `dark` | Theme hint for routed specialists (`dark` opt-in for WCAG-by-construction per `engine/render-conventions.md#wcag-aa-theme-convention`) |
Workflow
Step 1: Parse intent
Identify whether the request maps to:
- A single canvas → route to specialist (Step 2)
- A cross-cutting view → surface the deferral (Step 3)
- Discovery / `--list` → enumerate options (Step 4)
Step 2: Route to specialist
Map canvas to specialist. **Recommend, do NOT auto-invoke** (architecture decision Q1):
| Canvas / intent | Specialist | Beta risk | |---|---|---| | opportunities.yml | `/mycelium:ost-render` | none | | diamonds/active.yml | `/mycelium:diamond-render` | none | | cycle-history.yml | `/mycelium:cy
Mycelium won't make your idea good. It keeps you and your agent honest about whether it is, from first idea to market. Built on Claude Code, where the gates are structural. The files and skills port to opencode, Codex and Cursor. Outcome over output.
Other skills on mycelium.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about render.
- Which coding agents can use render?
- render installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

