reflexion — скилл для Claude Code: самопроверка кода в цикле
Скилл запускает цикл «реализуй — проверь — раскритикуй — повтори»: до трёх итераций, потом эскалация с разбором нерешённых проблем.
npx skills add haabe/mycelium --skill reflexion -a claude-codeЧто делает reflexion
Скилл задаёт агенту порядок работы над задачей. Сначала он делает то, что просили: пишет код, текст или конфиг. Потом прогоняет проверки: линтер, тесты, типы, сканер безопасности, а для интерфейса — проверки доступности. Дальше идёт самокритика по чек-листу: DRY, KISS, YAGNI, обработка ошибок, крайние случаи, ясность имён. Если всё чисто, работа окончена. Если нет и итераций меньше трёх, агент правит и начинает заново.
Проверки идут по возрастанию стоимости: сначала детерминированные правила вроде eslint и yamllint, затем прогоны кода вроде pytest и npm test, и только потом вероятностные методы — оценка через LLM-судью или ревью. На третьей итерации с нерешёнными проблемами агент останавливается и пишет отчёт: что пробовал, что осталось, что блокирует, а что можно отложить.
Скилл рассчитан на работу внутри фреймворка Mycelium: без него пропускаются состояние canvas, проверки теории и поведение harness, на которые он опирается. Установка фреймворка отдельная: /plugin install mycelium@haabe-mycelium. Ещё цикл требует файлов corrections.md, patterns.md и delivery-journal.md в окружении фреймворка — в них скилл ищет прошлые ошибки, шаблоны решений и пишет итог.
Какие задачи решает
- прогнать код через линтер, тесты и типы до того, как отдавать его на ревью
- найти дыры в безопасности вроде незаэкранированного ввода или секретов в коде
- проверить вёрстку на доступность: семантику, клавиатуру, контраст
- разобрать крайние случаи до того, как их найдёт пользователь
- остановиться после трёх попыток и описать, что осталось нерешённым
Примеры запросов агенту
- Реализуй эндпоинт
POST /ordersпо критериям приёмки и прогони цикл reflexion - Собери форму подписки и проверь её чек-листом самокритики из скилла
- Проверь готовый модуль на безопасность по OWASP и покажи отчёт по итерациям
Как установить reflexion
1Через Skills CLI (Vercel)
npx skills add haabe/mycelium --skill reflexion -a claude-code2Вручную: положить файлы
~/.claude/skills/reflexion/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/reflexion/
1Через Skills CLI (Vercel)
npx skills add haabe/mycelium --skill reflexion -a codex2Вручную: положить файлы
.agents/skills/reflexion/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add haabe/mycelium --skill reflexion -a cursor2Вручную: положить файлы
.cursor/skills/reflexion/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install haabe/mycelium reflexion2Вручную: положить файлы
.github/skills/reflexion/SKILL.md1Через Skills CLI (Vercel)
npx skills add haabe/mycelium --skill reflexion -a gemini-cli2Командой платформы
gemini skills install https://github.com/haabe/mycelium --path plugins/mycelium/skills/reflexionВручную: положить файлы
.devin/skills/reflexion/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add haabe/mycelium --skill reflexion -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о reflexion
Как установить reflexion в Claude Code?
Выполните npx skills add haabe/mycelium --skill reflexion -a claude-code. Файл скилла появится по пути ~/.claude/skills/reflexion/SKILL.md.
Что делает reflexion?
Задаёт агенту цикл из четырёх шагов: реализация, проверка, самокритика, решение о повторе. Итераций не больше трёх, дальше эскалация с документацией проблем.
Нужен ли фреймворк Mycelium?
Да. Скилл опирается на его состояние canvas, проверки теории и harness. Отдельно фреймворк ставится командой /plugin install mycelium@haabe-mycelium.
Исходный текст
SKILL.md · MIT
---
name: reflexion
description: "Use for self-correcting implementation. Implements the reflexion loop: implement, validate, self-critique, retry (max 3 iterations)."
metadata:
instruction_budget: "52"
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."
---
# Reflexion Skill
Self-correcting implementation loop from the n-trax pattern.
## Workflow
### Iteration Loop (max 3)
**Step 1: Implement**
- Create the deliverable according to the specification/acceptance criteria.
- Software: write code. Content: write/produce content. AI tool: write prompts/configs. Service: document workflow.
- Follow ${CLAUDE_PLUGIN_ROOT}/harness/engineering-principles.md (principles apply to all product types).
- Apply patterns from patterns.md.
- Check corrections.md for relevant past mistakes.
**Step 2: Validate**
- Software: Run tests, linter, type checker, security scan, accessibility checks (if UI).
- **Security validation (OWASP)**: Check input validation, output encoding, parameterized queries, no hardcoded secrets, authentication/authorization patterns, dependency vulnerabilities. Reference OWASP Top 10:2025 categories for each check.
- Content: Review against learning objectives/editorial standards, check accessibility (captions, alt text), fact-check claims.
- AI tool: Run eval test cases, red-team testing, bias assessment.
- Service: Walk through the service blueprint end-to-end, verify documentation completeness.
- All: Verify acceptance criteria.
**Step 3: Self-Critique**
Review the implementation against (select items relevant to product_type):
- [ ] Engineering principles: DRY, KISS, YAGNI, SoC (apply to all product types)
- [ ] Security: Input validation, output encoding, no secrets, parameterized queries (software, ai_tool)
- [ ] Accessibility: Semantic HTML, keyboard nav, contrast, screen reader (software); captions, transcripts, alt text (content)
- [ ] Edge cases: What happens with unexpected input? Empty? Adversarial? (software, ai_tool)
- [ ] Error handling / user recovery: Are errors handled gracefully? Can users recover? (software, service)
- [ ] Quality: Factual accuracy, style consistency, source attribution (content); eval scores, safety scores (ai_tool)
- [ ] Naming / clarity: Do names reveal intent? Would a new reader understand this? (all)
- [ ] Completeness: Is anything missing that the user would expect? (all)
**Step 4: Decide**
- If all validations pass AND self-critique finds no issues: **DONE**
- If issues found AND iteration < 3: **FIX and return to Step 1**
- If iteration = 3 AND issues remain: **ESCALATE** with documented issues
### Escalation Protocol
When max iterations reached without full resolution:
1. Document what was attempted in each iteration.
2. Document remaining issues with severity assessment.
3. Recommend: fix now (blocking) vs. fix later (non-blocking) vs. accept risk.
4. Update corrections.md with learnings.
## Verification Modes
The validate step in the reflexion loop should use the appropriate verification mode:
### Rules-Based (deterministic)
- Linters, formatters, schema validators, type checkers
- Pass/fail is unambiguous — no judgment needed
- Always run first — fastest and cheapest
- Examples: `eslint`, `mypy`, `yamllint`, YAML schema validation against ${CLAUDE_PLUGIN_ROOT}/engine/canvas-guidance.yml
### Computational (deterministic)
- Test runners, build systems, security scanners
- Requires executing code — slower than rules-based
- Results are objective but may need interpretation (flaky tests)
- Examples: `pytest`, `npm test`, `cargo clippy`, OWASP dependency check
### Inferential (probabilistic)
- LLM-as-judge, peer review, heuristic evaluation
- Used when rules-based and computational verification are insufficient
- Results require confidence scoring — never treat as definitive
- Examples: `/mycelium:devils-advocate`, `/mycelium:usability-check`, auto-dogfood evaluation, design review
- The auto-dogfood system is an inferential verification loop
**Order**: Always attempt rules-based → computational → inferential. Only escalate to the next mode when the previous mode cannot verify the property in question.
*Source: Trivedy (Anatomy of an Agent Harness, LangChain blog). Three-mode taxonomy adapted from Böckeler (Harness Engineering, martinfowler.com — computational vs inferential distinction). Note: harnesses continue to matter even as models improve — they engineer systems around model intelligence, not just patch deficiencies.*
## Rules
- Each iteration must show measurable improvement over the previous.
- If the same issue recurs across iterations, investigate root cause rather than patching symptoms.
- Never skip the self-critique step, even if tests pass.
- Log the reflexion loop outcome in delivery-journal.md.
- **NUDGE-AT-FAILURE** (4-layer JIT composition): if the failure being reflexed on is a class a standard tool (linter, SAST, secrets scanner, dep audit) would have caught automatically, append a single-line nudge to the reflexion output: *"This class of failure is what `{tool}` catches automatically — want help wiring it up now?"* Never auto-install. Per `feedback-jit-nudge-not-push` (founder principle, 2026-05-26).
## Theory Citations
- Reflexion pattern (Shinn et al.)
- Clean Code (Martin)
- OWASP secure coding
- WCAG 2.1 AA
© haabe · MIT · haabe/mycelium