Skip to content
Development
Skill

/diamond-assess

Use to evaluate the current state of a diamond. Checks theory gates, confidence levels, and recommends next action.

From plugin
mycelium
4662 skills
Install
$ npx -y skills add haabe/mycelium --skill diamond-assess --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/diamond-assess

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

SKILL.md

diamond-assess.SKILL.md
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."

Diamond Assess Skill

Evaluate current diamond state and recommend next action.

Preflight: Read-before-Recommend (gate-narration discipline)

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

Workflow

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**:

  • Current phase (Discover/Define/Develop/Deliver)
  • Evidence collected so far
  • Confidence score with breakdown
  • Blockers or risks

2b. **Surface parked diamonds with resume conditions**:

  • Read `.claude/diamonds/active.yml` for diamonds with `state: parked` (or a `parked_diamonds` section).
  • For each, evaluate `resume_conditions` against current canvas/world state. If the awaited condition now holds, surface it as resumable: "Parked: [id] (parked [date], condition: '[condition]'). That looks satisfied — resume?" If not yet met, list it with its condition in one line. If a parked diamond has NO `resume_conditions`, flag it (unreachable except by memory — add conditions or decide park → kill).
  • Implements the surface promised in `/mycelium:diamond-progress` § Park; found unimplemented by the 2026-06-12 gap analysis (no skill read `resume_conditions`).

2c. **Scale occupancy (records against cycles, v0.217.0)**:

python3 "${CLAUDE_PLUGIN_ROOT}/scripts/check_scale_occupancy.py" --canvas-dir .claude/canvas

Report 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**:

  • Reference ${CLAUDE_PLUGIN_ROOT}/engine/theory-gates.md for the current transition
  • Check `product_type` from `.claude/diamonds/active.yml` -- gates conditioned on product_type include:
  • **Security Gate**: full OWASP for software/ai_tool; platform-only for content; infra-only for service
  • **Delivery Metrics Gate**: routes to product-type-appropriate metrics canvas
  • **Service Quality Gate**: Downe applies to consumption experience for all product types; Nielsen only for digital interfaces
  • Evaluate each applicable gate: Pass / Fail / Insufficient Evidence / N/A (if gate doesn't apply to this product_type)
  • **Read-before-claim (HARD RULE; anti-pattern #7 instance #4, 2026-05-09):** Before claiming a required-evidence bucket is *missing* or *partial* (e.g., "Wardley Map | Missing", "user_research_synthesis | Insufficient"), the agent MUST use the **Read tool** on the canvas file that bucket maps to (e.g., `landscape.yml`, `user-needs.yml`, `opportunities.yml`, `gist.yml`). Spawn-note text, theory-gates.md references, and prior conversation context do NOT count as evidence of the bucket's actual state — only reading the file does. Treating consistency between spawn-note phrasing and an absence-claim as cau
Read more
Ships withmycelium

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.

Get the whole plugin
Stats
46
Stars
3
Forks
Active
Maintenance
Python
Language
MIT
License
2d ago
Last commit
5mo ago
Created

Repo: haabe/mycelium

Other skills on mycelium.

adopt
Skill

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…

@haabe@haabeView Skill