К основному содержанию
скилл CX Codex

bias-check — скилл для Claude Code: проверка когнитивных искажений

Скилл для Claude, Codex и Cursor, который прогоняет чек-лист когнитивных искажений перед исследованием или важным решением. Полезен, когда агент вот-вот зафиксирует вывод.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add haabe/mycelium --skill bias-check -a claude-code
Открыть на GitHub

Что делает bias-check

bias-check встраивается в момент перед исследованием или крупным решением. Скилл определяет стадию (L0–L5) и вид активности, подгружает чек-лист искажений под текущий масштаб и по каждому пункту спрашивает: активен ли он здесь и что конкретно с ним делать.

Отдельный блок — самопроверка агента: подхалимство, переоценка свежего контекста, сопоставление по шаблону и заполнение пробелов догадками. На выходе получается брифинг с таблицей рисков, оценкой «OK/Risk» по каждому пункту и вердиктом: продолжать, продолжать осторожно или остановиться. Есть и системная диагностика: если сопротивление объясняется плохо устроенным процессом, а не мышлением человека, скилл советует чинить процесс.

Скилл рассчитан на работу внутри фреймворка Mycelium: вне него не будет состояния canvas, theory gates и поведения harness, на которые он опирается. Ставится командой npx skills add haabe/mycelium --skill bias-check -a claude-code, файл оказывается в ~/.claude/skills/bias-check/SKILL.md.

Какие задачи решает

  • поймать подтверждающее искажение до того, как вывод зафиксирован
  • проверить, не переоценивает ли агент свежие данные в ущерб ранним
  • отличить реальное сопротивление от плохо устроенного процесса
  • прогнать чек-лист искажений перед классификацией запуска на L5
  • зафиксировать вердикт «продолжать / продолжать осторожно / остановиться»

Примеры запросов агенту

  • Прогони bias-check перед тем, как мы зафиксируем вывод по интервью
  • Проверь когнитивные искажения на текущей стадии перед решением
  • Сделай bias briefing для L5 перед планированием запуска

Как установить bias-check

1Через Skills CLI (Vercel)

npx skills add haabe/mycelium --skill bias-check -a claude-code

2Вручную: положить файлы

~/.claude/skills/bias-check/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/bias-check/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о bias-check

Как установить bias-check в Claude Code?

Выполните npx skills add haabe/mycelium --skill bias-check -a claude-code. Скилл окажется в ~/.claude/skills/bias-check/SKILL.md.

Что делает bias-check?

Прогоняет чек-лист когнитивных искажений под текущую стадию и активность, добавляет самопроверку агента и выдаёт брифинг с таблицей рисков и вердиктом.

Можно ли использовать bias-check отдельно от Mycelium?

Скилл рассчитан на работу внутри фреймворка Mycelium. Вне него пропускаются состояние canvas, theory gates и поведение harness, на которые он опирается.

Исходный текст

SKILL.md · MIT
---
name: bias-check
description: "Use before any research activity or significant decision. Reviews cognitive biases relevant to the current stage."
metadata:
  instruction_budget: "27"
  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."
---

# Bias Check Skill

Pre-research and pre-decision bias review.

## Preflight: Read target canvas file(s) before any Write/Edit

**Hard rule.** Before issuing `Write` or `Edit` against any `.claude/canvas/*.yml`, use the **Read tool** on that file in this session. Claude Code's Read-before-Write check requires the `Read` tool specifically — `cat`/`head`/`grep` via Bash do NOT satisfy it.

**Edit vs Write — different cost profiles** (verified 2026-05-14):
- **`Edit`** (exact-string replacement): `Read` with `limit: 1` satisfies the check at ~50 tokens. State-tracking is per-file, not per-byte — subsequent `Edit` calls work anywhere in the file. Use this for partial updates against large canvas files (e.g., `purpose.yml` at 800+ lines).
- **`Write`** (full replacement): do a **full Read** first. Write obliterates the file; you should see what you're about to replace. The `limit:1` shortcut is *not* appropriate here.

**ID-bearing entries — scan the ID space before assigning** (added 2026-05-15, v0.23.19): When adding a new component, opportunity, solution, or any other ID-bearing entry to a canvas file, run a Bash grep first to confirm the next ID in your prefix sequence is actually free:

```
grep -o "<prefix>-[0-9][0-9]*" .claude/canvas/<file>.yml | sort -u -t- -k2 -n | tail -3
```

Replace `<prefix>` with the canvas's ID prefix (`comp` for landscape, `opp` for opportunities, `sol` for solutions, `ht` for human-tasks, etc.). Then pick the next free integer, **matching the zero-padding already used in that file**. The sort is NUMERIC (`-t- -k2 -n`) rather than lexical, and that is not pedantry: a plain `sort -u` orders `ht-1` after `ht-080`, so on a canvas with inconsistent padding it reports the wrong maximum and the next ID collides. Verified on the dogfood repo 2026-08-13, where lexical sort returned `ht-1` as the highest human-task ID against an actual `ht-080`. `grep -o` is also deliberate: it matches IDs wherever they appear, including cross-references and prose, so an ID that was promised somewhere but not yet defined is not handed out twice. `validate_canvas.py` has a per-file duplicate-ID check (it reports `duplicate id '<id>'`) that catches the failure on CI, but a duplicate can persist in the working tree for days if CI isn't run between edit and discovery; that happened on 2026-05-15, when a duplicate ID was created in `landscape.yml`.

Original failure mode: anti-pattern #7 instance #5, 2026-05-09 — agent conflated Bash `head` with the Read tool, lost ~14k tokens to a Write-fail → remedial-full-Read → re-Write loop. The `limit:1` discipline (graduated 2026-05-14, v0.23.18) prevents the second-order cost where the agent *correctly* follows the rule but full-Reads every time. The ID-scan discipline (graduated 2026-05-15, v0.23.19) prevents the related class where the agent reads enough of the file to satisfy the Edit check but not enough to see existing ID assignments — kin to anti-pattern #8 (Stale State Read).

If this skill writes to multiple canvas files, register each one first (limit:1 for Edit-only paths; full Read for Write paths) AND ID-scan any prefix you intend to assign.

See `${CLAUDE_PLUGIN_ROOT}/engine/agent-operating-contract.md` *Canvas writes — Read before Write* for the canonical rule.

## Workflow

1. **Identify context**: What stage (L0-L5)? What activity (research, decision, evaluation)?

2. **Load stage-specific checklist** from ${CLAUDE_PLUGIN_ROOT}/harness/cognitive-biases.md for the current scale.

3. **For each bias on the checklist**:
   - Is this bias likely active in the current situation? (Yes/No/Maybe)
   - If Yes/Maybe: What specific mitigation will be applied?
   - Document the assessment.

4. **Check agent's own biases** (from ${CLAUDE_PLUGIN_ROOT}/harness/cognitive-biases.md agent section):
   - Sycophancy: Am I agreeing with the user when evidence says otherwise?
   - Recency: Am I overweighting recent context over earlier evidence?
   - Pattern matching: Am I assuming this is like something I've seen before without checking?
   - Completionism: Am I filling gaps with speculation rather than acknowledging uncertainty?

5. **Output bias briefing**:
   ```
   ## Bias Check: [Activity]
   Stage: [L0-L5]

   ### Active Risks
   | Bias | Risk Level | Mitigation |
   |------|-----------|------------|
   | ...  | High/Med/Low | ... |

   ### Agent Self-Check
   - Sycophancy: [OK/Risk]
   - Recency: [OK/Risk]
   - Pattern matching: [OK/Risk]
   - Completionism: [OK/Risk]

   ### Proceed? [Yes / Yes with caution / Pause and address]
   ```

6. **System-level bias diagnosis** (Meza):
   Before attributing resistance or poor outcomes to cognitive bias, check if the "bias" is actually a rational response to a badly designed system. Ask:

   | Phase | System Question | If Yes: Fix the System, Not the Person |
   |-------|----------------|---------------------------------------|
   | Awareness | Does the person know the desired behavior? | Fix communication, not cognition |
   | Motivation | Does the system reward the desired behavior? | Fix incentives, not mindset |
   | Ability | Can the person realistically do it? | Fix resources/process, not training |
   | Reinforcement | Is the behavior sustained by the environment? | Fix feedback loops, not habits |
   | Sustainability | Can it persist without ongoing intervention? | Fix structure, not willpower |

   If 2+ phases point to systemic causes, the primary intervention is system redesign, not individual debiasing. Update the bias briefing output above to flag the system-level root cause.

   The 5 phases above are a systemic diagnostic inspired by behavioral design models (COM-B, Fogg Behavior Model), not a named framework. They are prompts for investigation, not rigid steps.

   *Source: Robert Meza (The Bias Gap — diagnostic tool, aimforbehavior.com). Not to be confused with Thaler & Sunstein's "Nudge" theory.*

## When to Surface This Skill

This skill should be triggered:
- Before any research activity (interviews, surveys, data analysis)
- Before significant decisions at any diamond scale
- **At L5 market transitions**: Before launch tier classification and go-to-market planning, check for optimism bias (overweighting positive signals), confirmation bias (seeking validation of "ready to ship"), and anchoring (fixating on initial positioning)
- When `/mycelium:diamond-progress` or `/mycelium:diamond-assess` detects bias-related gate failures

## Canvas Output
Record bias check in `.claude/canvas/opportunities.yml` under `bias_checks` section with date, biases mitigated, and research design adjustments made.

## Recording the Bias gate
When this check feeds a diamond's `bias` gate, apply the pass criteria in
`${CLAUDE_PLUGIN_ROOT}/engine/theory-gates.md` §5 as written. **A planned mitigation counts as
documented**: a named action and the test, owner or later transition that will carry it out. A
disconfirming source that is cited and weighed has been sought, even though it is not yet resolved.
"A citation is not a resolution" is true, and it is not this gate's test: resolution is demanded by
the Cynefin gate (`start_experiment`, complex domain) and the Four Risks gate. Record `not-passed` for
what the fail column names, or for a named bias with no mitigation at all.

## Decision Log (MANDATORY per G-P4)
**APPEND** a `### Bias Check` entry to `.claude/harness/decision-log.md` with: activity assessed, active bias risks found, mitigations applied, agent self-check results.

## Theory Citations
- Kahneman: Thinking, Fast and Slow (System 1/System 2)
- Shotton: The Choice Factory (behavioral biases in decision-making)
- Torres: Continuous Discovery Habits (bias in research)
- Robert Meza: The Bias Gap (systemic bias reframing -- when "bias" is a rational response to a badly designed system)

© haabe · MIT · haabe/mycelium

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

Из того же набора18

harms-check Скилл, который до релиза ищет в интерфейсе манипулятивные паттерны и предвидимые злоупотребления, пока их не поймали проверки безопасности и приватности. CX Codex +1 ★ 47звёзд репо friction-log Собирает черновик честного отчёта о том, где работа с Mycelium путала или тормозила. Пользователь правит его сам и решает, отправлять ли. CX Codex +1 ★ 47звёзд репо fan-out Разворачивает несколько субагентов на одну задачу, а потом сводит их результаты в один выбор. Нужен, когда решений два и больше и надо понять, какое выживет. CX Codex +1 ★ 47звёзд репо diamond-render Строит схему решений из .claude/diamonds/active.yml: что уже записано, в каком порядке и что ещё впереди. Пригодится в конце оценки проекта. CX Codex +1 ★ 47звёзд репо devils-advocate Гоняет вашу идею через пять приёмов критики и десять вопросов, чтобы поймать слабое допущение до того, как оно станет решением. CX Codex +1 ★ 47звёзд репо define-done Фиксирует Definition of Done для «диамонда» — не список задач, а изменение поведения, которое создаёт ценность. Пригодится, когда проект закрывают по факту выката фичи, а не по результату. CX Codex +1 ★ 47звёзд репо count Считает по вашему репозиторию одну строку: когда появился первый файл кода, сколько решений принято до него, сколько сессий. Никуда ничего не отправляет. CX Codex +1 ★ 47звёзд репо canvas-sync Скилл тянет и коммитит состояние канвы через git, чтобы у всех в команде была одна версия продуктовых знаний. Ставится на старте и в конце сессии. CX Codex +1 ★ 47звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой