a11y-check
Accessibility audit, scoped to the surfaces a product actually has. Detects web / rendered_markdown / terminal / native_app / video_audio / document /…
Use to evaluate the current state of a diamond. Checks theory gates, confidence levels, and recommends next action.
$ npx -y skills add haabe/mycelium --skill diamond-assess --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/diamond-assessContext preview
The summary Claude sees to decide when to auto-load this skill.
Use to evaluate the current state of a diamond. Checks theory gates, confidence levels, and recommends next action.
name: diamond-assess description: "Use to evaluate the current state of a diamond. Checks theory gates, confidence levels, and recommends next action." metadata: instruction_budget: "82" framework_dependency: "mycelium" framework_dependency_note: "This skill is designed to run within the Mycelium framework (https://github.com/haabe/mycelium). Standalone use will skip the canvas state, theory gates, and harness behavior the skill assumes. Install: /plugin install mycelium@haabe-mycelium."
Evaluate current diamond state and recommend next action.
**Hard rule** (per CLAUDE.md Communication Rules, anti-pattern #7 graduation v0.39.16). Every gate-status narration, blocker statement, hold claim, or "what's missing" verdict this skill emits MUST cite the canvas file + field path of the source evidence (e.g., `per purpose.yml#why`, `per opportunities.yml#opp-005#status`, `per landscape.yml:1520`). Adjacent-surface inference (different opportunity, different ht, different topic) MUST be tagged as inference, not asserted as gate state. This skill ran an un-mechanized version of its own diagnosis in cluster-instances.md instance #17 (2026-06-02) — confabulated an "L0 unclear" blocker from comms-friction evidence while the L0 purpose was clear and canvas-documented; collapsed only after the founder articulated the underlying model and grep verified the canvas already had it. The preamble exists so this skill stops being the recursive case.
0. **Cognitive Forcing (ALWAYS FIRST — before any analysis)**:
Before presenting any assessment, ask the human for their unprimed judgment:
> "Before I run the gates — where do you think this diamond stands right now? What feels solid and what feels shaky?"
Wait for the human's response. Record it. Then proceed with the full assessment below. After presenting the assessment (step 10), compare:
> "You said [X]. The gates say [Y]. Where do we differ?"
This prevents the agent's analysis from anchoring the human's judgment. The human's pre-assessment often catches things the gates miss (Hoskins consistently outperformed the agent on product judgment calls).
*Source: Buçinca, Malaya & Gajos (Cognitive Forcing Functions, Harvard CHI/CSCW 2021) — forcing initial human judgment before AI output significantly reduces automation bias and over-reliance on incorrect AI recommendations.*
**Autonomous mode** (per `${CLAUDE_PLUGIN_ROOT}/engine/autonomous-mode.md`): in a declared autonomous run, substitute at rung (b) — record the declared persona's unprimed judgment BEFORE reading any canvas or gate state (the ordering is the load-bearing part, not the human authorship), tag it `source_class: internal_simulated`, and ledger the substitution. The post-assessment comparison still runs: persona judgment vs gate verdict.
1. **Identify the diamond**: Which diamond (ID, scale, phase) is being assessed?
2. **Gather current state**:
2b. **Surface parked diamonds with resume conditions**:
2c. **Scale occupancy (records against cycles, v0.217.0)**:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/check_scale_occupancy.py" --canvas-dir .claude/canvasReport the line for each scale with records: "73 opportunity records, 0 active L2 cycles" is the one-line diagnostic that would have surfaced the dogfood project's shape in May 2026, four months before a founder named it from lived experience ("how I never could get past L1 whilst the product already existed"). A record and a cycle are different objects; a scale with records and no cycle ever opened has an intake and no outlet, and the exits are in `/ost-builder` and `/ice-score`. An unvalidated parent does not forbid work below it; it makes that work invisible to the model unless a cycle is opened.
3. **Check theory gates for next transition**:
A Claude Code harness that asks who this is for before the agent writes code. Outcome over output. You know how this goes. The idea turns up on a Thursday and it is a good one.
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.