一键导入
diamond-assess
Use to evaluate the current state of a diamond. Checks theory gates, confidence levels, and recommends next action.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use to evaluate the current state of a diamond. Checks theory gates, confidence levels, and recommends next action.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when building anything USER-FACING (or with persuasion/retention/cancellation/consent/pricing flows, or that touches vulnerable people) to surface design-level harm the security/privacy/compliance gates miss: dark/deceptive patterns and foreseeable misuse. Assumes the product works as designed and asks who it could harm and whether it is Happier-negative. NUDGE, not a block.
Lint canvas files for staleness, missing fields, inconsistent evidence types, and orphaned references. Run periodically or before major transitions.
Accessibility audit against WCAG 2.1 AA. Checks semantic HTML, ARIA, keyboard navigation, color contrast, screen reader compatibility.
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).
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.
| 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.
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.
Identify the diamond: Which diamond (ID, scale, phase) is being assessed?
Gather current state:
2b. Surface parked diamonds with resume conditions:
.claude/diamonds/active.yml for diamonds with state: parked (or a parked_diamonds section).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)./mycelium:diamond-progress § Park; found unimplemented by the 2026-06-12 gap analysis (no skill read resume_conditions).Check theory gates for next transition:
product_type from .claude/diamonds/active.yml -- gates conditioned on product_type include:
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 causal evidence is anti-pattern #7 (Consistency-as-Evidence). The graduation case for instance #4 was the agent recommending "build the Wardley map now" when the map was substantially complete — the agent had not opened landscape.yml.Check confidence threshold:
project_type_adaptations to compute effective threshold (see ${CLAUDE_PLUGIN_ROOT}/engine/confidence-thresholds.yml)Check for anti-patterns:
Check canvas health:
/mycelium:canvas-health checks inline: missing required files, stale confidence, inconsistent evidence types6b. Check metric snapshot freshness (v0.14; L0/L1/L2/L5 only):
.claude/jit-tooling/active-metrics.yml exists:
status: active source, find the newest file in .claude/evals/metrics/<source>/./mycelium:metrics-pull..claude/jit-tooling/active-metrics.yml is missing, recommend /mycelium:metrics-detect (softer — info-level, not a gate).7b. Check trio perspective coverage (Torres Product Trio):
${CLAUDE_PLUGIN_ROOT}/engine/theory-gates.md §Trio Perspective Requirement for the per-scale coverage matrix./mycelium:usability-check or /mycelium:service-check."${CLAUDE_PLUGIN_ROOT}/engine/perspective-resolution.md.7c. Check outcome Definition-of-Done presence (retrofit detector for /mycelium:define-done):
.claude/diamonds/active.yml for this diamond's definition_of_done (non-empty outcome + signal)./mycelium:define-done to pin it (problem → signal → kill-criterion)." This is the validated retrofit path — the question is what produced a real bar ("fits, not ships") when L0 was retrofitted; a back-filled field is not. Cite per diamonds/active.yml (field absent).signal into the coaching check below as the concrete "what does done look like" answer rather than re-eliciting it.Coaching check (Rother's Coaching Kata): Surface these five questions in the output to prompt the human's thinking:
Autonomous mode (per ${CLAUDE_PLUGIN_ROOT}/engine/autonomous-mode.md): rung (b) — the declared persona answers all five, the answers are ledgered and tagged internal_simulated, and question 5's review point is a committed date the next human session can check.
Log assessment in .claude/harness/decision-log.md (MANDATORY):
### Diamond Assessment entry to .claude/harness/decision-log.mdRecommend next action:
Play devil's advocate: Before recommending progression, ask:
Report harness thickness (informational):
ALWAYS output in plain language first, then technical details.
Use ${CLAUDE_PLUGIN_ROOT}/engine/status-translations.md for translations.
ALWAYS render the journey map first. Follow ${CLAUDE_PLUGIN_ROOT}/engine/wayfinding.md to render the "You Are Here" map before any other output. This orients the user to where they are in the full L0→L5 progression before diving into gate details.
Phase-index narration discipline (per ht-012 cohort-log f9, shipped v0.23.21): when surfacing routing decisions or flagging empty canvas fields, do NOT narrate internal phase numbers ("Phase 6 questions", "Phase 4 Landscape") to the user. Reference the outcome instead: "the project-type question", "the landscape mapping step". L0–L5 diamond scales are framework-external vocabulary and ARE narratable (they appear in user-facing docs); Phase-N indices are internal skill structure and are NOT.
[Journey map from ${CLAUDE_PLUGIN_ROOT}/engine/wayfinding.md — rendered first]
## Where We Are
Current focus: [plain-language description from ${CLAUDE_PLUGIN_ROOT}/engine/status-translations.md]
[1-2 sentences of context]
Confidence: [plain word] ([number], [Gilad level]) -- [why this level, what would increase it]
## Progress
[N] of [M] diamonds complete:
[Name]: [STATUS] -- [plain-language one-liner]
[Name]: [STATUS] -- [plain-language one-liner]
## Theory Gate Check (for next transition)
| Gate | Status | Suggested Skill |
|------|--------|----------------|
| Evidence | Pass/Fail | /mycelium:user-interview or /mycelium:assumption-test |
| Four Risks | Pass/Fail | /mycelium:assumption-test |
| ... | ... | ... |
Render any **Fail** row so it pops (e.g. `**FAIL**` or a leading `Blocking:` line under the table) rather than letting it sit indistinguishable from `Pass` — the failing gate is the one the reader must not scroll past. Von Restorff; per `harness/design-principles.md`.
## What I'd Challenge (Devil's Advocate)
- [Key assumption to question]
- [Evidence gap to flag]
## Coaching Check (for the human)
1. What does "done" look like for this diamond?
2. Given what we know now, what's the biggest obstacle?
3. What's your next step -- and what do you expect will happen?
4. When should we check what we learned?
## Recommended Next Step
[Plain-language recommendation with theory justification]
Suggested actions:
- /skill-name -- [why this is relevant now]
- /skill-name -- [why this is relevant now]