role-command
Role command parity chain — BACK/FRONT/INTEG workflow router (graphify, isolation, FINISH gates)
Files1
View on GitHubSKILL.mdharness/skills/role-command/SKILL.md
GitHubRole Command — Cursor parity chain
Язык: все user-facing сообщения — русский (@.claude/rules/language.md). Subagent/task prompts: добавь «ответ и отчёт пользователю — на русском».
Тесты: общий контракт @.cursor/rules/shared/test-timeout.mdc: для hub-тестов самого dev-hub / BACK — bin/pytest … (300s встроен) или timeout -k 10s 300s .venv/bin/pytest …. FRONT — Vitest/Playwright (npm --prefix frontend …), FORBIDDEN подмена на bin/pytest. Для managed-проектов — верификация через stack profile capability_checks и evidence, без generic fallback. Lifecycle gate: @.cursor/rules/shared/workflow-decompose-transition-gate.mdc.
FRONT + любой frontend: тесты (vitest/playwright/npm test/e2e) — только parent. Subagent spawn → в промпт вставить HARD RULE из @.claude/rules/front-tests-parent-only.md / ~/.claude/rules/02-front-tests-parent-only.md.
Claude Code subagents: .claude/agents/ — reviewer · verify · explorer + built-in. Обязательные gate’ы (packed — .claude/instructions/spawn-hard.md): широкий codebase search → @explorer; FINISH + code_changed → @verify; BACK QA → @reviewer. IMPLEMENT с полным files: / delta_paths_* → @explorer SKIP. Прочие Agent — свободно.
Parse: {PREFIX} {MODE} or {PREFIX} {MODE} FINISH.
ANALYZE — однословный режим; роутинг выполняется через workflow-analyze.mdc, отдельная multi-word запись не нужна.
| Prefix | Role dir | Core (полный путь) | Isolation |
|---|---|---|---|
| BACK | .cursor/rules/back_developer/ |
{role_dir}mainrule-core.mdc |
{role_dir}isolation_rules/_lean/<mode>.mdc |
| FRONT | .cursor/rules/front_developer/ |
{role_dir}mainrule-core.mdc |
{role_dir}isolation_rules/_lean/<mode>.mdc |
| INTEG | .cursor/rules/integration_developer/ |
{role_dir}mainrule-core.mdc |
{role_dir}isolation_rules/_lean/<mode>.mdc |
Нет файла .cursor/rules/mainrule-core.mdc — core только внутри *_developer/.
Multi-word: ARCHIVE NOW, CONTEXT SYNC, ROADMAP MERGE, IDEA PIPELINE CONTINUE, INTEG GAP (алиас INTEGRATION GAP), INTEG GAP CLOSE (алиас INTEGRATION GAP CLOSE), PLAN REFACTOR, SECURITY PLAN, SECURITY DECOMPOSE, REFACTOR PLAN, REFACTOR DECOMPOSE.
Step 0 — graphify (parity with Cursor mainrule.mdc)
Читай @.cursor/rules/graphify.mdc и ориентируйся по графу до Grep/Read по codebase — кроме IMPLEMENT, когда shard files: уже полный (тогда query до правки известных путей не обязателен).
Обязателен для: IMPLEMENT (если files: неполные / широкий поиск) · TASK · BUGFIX · REFACTOR · QA · SECURITY execute (@aNN / S one-shot); также PM DISCOVER, TL SYNC DEV; brownfield BACK/FRONT/INTEG VAN.
Пропуск: greenfield VAN · PLAN · DECOMPOSE · CREATIVE · REFLECT · ARCHIVE NOW · CONTEXT SYNC · SECURITY PLAN · SECURITY DECOMPOSE · GAP (если только docs). CONTENT/MARKETING/SEO — пропускают. IMPLEMENT + полный files: / delta_paths_* — query skip.
CLI (не в PATH): всегда из корня репо (cwd = root; Shell working_directory = root). Канон только <repo>/graphify-out/ — HARD RULE в @.cursor/rules/graphify.mdc.
.venv/bin/graphify query "<question>"
.venv/bin/graphify path "<A>" "<B>"
.venv/bin/graphify explain "<concept>"
Fallback на Read/Grep — только после ориентации по графу или после отчёта @explorer, или если root graphify-out/graph.json нет / stale. IMPLEMENT: shard files: / delta_paths_* полные → graphify query не обязателен до правки известных путей; @explorer SKIP (Gates 1b). Широкий поиск / неизвестные callers → graphify, затем @explorer. В промпт explorer: «сначала .venv/bin/graphify, затем Grep/Glob/rg fallback; не создавать nested graphify-out».
После правок кода (FINISH): из корня репо .venv/bin/graphify update . — см. @.cursor/rules/shared/finish-block.mdc.
Step 0b — session
HARD RULE: code-phase канон — .cursor/rules/shared/_lean/implement-bootstrap.mdc. Прочие режимы — .cursor/rules/mainrule.mdc §Full linked chain.
- PLAN / DECOMPOSE / brownfield VAN:
Readentrypoint текущего runtime (CLAUDE.md/AGENTS.md) →mainrule.mdc→ индекс+core → workflow → Gates →@рекурсивно. - IMPLEMENT / TASK / BUGFIX / REFACTOR: не рекурсивный
@. Старт: Readimplement-bootstrap.mdc→ follow Read order (load_now→_lean/<mode>→ scope-lock → role## Hot path→ shard/skills.*). Индекс роли,mainrulemonolith и полныйworkflow-*.mdc— только при FAIL.token-economy-coreна IMPLEMENT не грузить (stub already-on).
Пропущенный Read из списка режима — gap, не блок FINISH.
- PLAN/DECOMPOSE/VAN: Read
.cursor/rules/token-economy-core.mdc§0.0–§0.15. IMPLEMENT: skip (stub). - FINISH /
* FINISH: @.cursor/rules/shared/finish-block.mdc → @.cursor/rules/shared/finish-doc-router.mdc (+ graphify update если code changed). Грузить перед FINISH, не на старте IMPLEMENT. - Tool unclear → recommend: Cursor + fast-editing (default) | Claude Code + premium-coding (E2E / multi-file / any PLAN)
Если MODE = PLAN (BACK/FRONT/INTEG/PM) или SECURITY PLAN / REFACTOR PLAN
Сразу после acknowledgement выведи в чат:
SUSPENSION GUARD active — plan output unlimited
- Читай
.cursor/rules/token-economy-core.mdc§0.0 + §0.0.1 до записи артефакта (stub: @.cursor/rules/token-economy-stub.mdc) - Lean load ≠ lean write: не сжимай
plan/**/md/plan.md/gap-*.md/security/plan/<id>/md/plan.mdпод telegraph / 200 lines / chat brief - Research / audit / multi-P вход →
.cursor/rules/shared/workflow-plan-multi-epic.mdc: N эпиков + roadmap, не один mega-plan; объявиMULTI-EPIC PLAN — N эпиков - PLAN → recommend premium model; after PLAN → inline
roadmap-merge(same session) → new chat for* DECOMPOSEпервого эпика canon queue (не* ROADMAP MERGE)
Если COMMAND = BACK PLAN REFACTOR
- Treat it as a planning-only composite mode. Load
.cursor/rules/back_developer/workflow-plan-refactor.mdcandisolation_rules/_lean/plan-refactor.mdc. - Keep the ordinary BACK PLAN artifact contract:
memory-bank/back/roadmap/queue.yaml+ oneback/plan/<epic_id>/md/plan.mdandmd/prompt.mdper epic. - This is an explicit exception to the generic PLAN graphify skip: when root
graphify-out/graph.jsonexists, run the structural graph inventory first; in a hub without a graph, emit the documented N/A and use bounded inventory. - Declare scan scope; before writing plans run purge + consolidation passes: function nodes, semantic twin clusters, ownership/layer, adapter collapse, dead code, duplication, merge ladder, tests. Evidence rows need
cluster_id,canonical_owner,copies_removed_count,net_loc_delta,net_symbol_delta,behavior_freeze_oracle. - Plans must include Consolidation clusters, Deletion budget, Concept budget, Test refactor. Net LOC and net owners/symbols ≤ 0 (or explicit no-safe-deletion and no-safe-consolidation). Extract/new adapter without removing copies = FAIL.
- Use the multi-epic cut by independent meaning clusters / trees / risk when axes exist. Keep each production outcome with its first required consumer and its test refactor. Next is
BACK DECOMPOSE <queue[0]>. - Do not edit production/test code and do not create
back/refactor/session-*during this command.
Step 1 — role index + core
IMPLEMENT / TASK / BUGFIX / REFACTOR: индекс роли не читать (режим уже выбран). Core {role_dir}mainrule-core.mdc — только если Hot path/Gates ссылаются на TDD runner (dev-hub self-test bin/pytest или managed capability_checks) и его нет в Gates.
PLAN / DECOMPOSE / прочие: читай полные пути (не basename без папки роли):
- индекс роли:
{role_dir}mainrule.mdc - core роли:
{role_dir}mainrule-core.mdc
Примеры:.cursor/rules/back_developer/mainrule.mdc.cursor/rules/back_developer/mainrule-core.mdc
Корневой .cursor/rules/mainrule.mdc — только router-таблица.
Запрещено открывать .cursor/rules/mainrule-core.mdc (такого файла нет).
Step 2 — workflow
Шаблон (MODE в lowercase, без префикса роли):
{role_dir}workflow-{mode}.mdc
Для multi-word (SECURITY PLAN, ARCHIVE NOW, …) — только строка таблицы ниже (не workflow-security plan.mdc).
| Команда | Файл (канон) |
|---|---|
| BACK BUGFIX | .cursor/rules/back_developer/workflow-bugfix.mdc |
| BACK IMPLEMENT | .cursor/rules/back_developer/workflow-implement.mdc |
| BACK QA | .cursor/rules/back_developer/workflow-qa.mdc |
| FRONT BUGFIX | .cursor/rules/front_developer/workflow-bugfix.mdc |
| INTEG GAP | .cursor/rules/integration_developer/workflow-gap.mdc |
| ARCHIVE NOW | {role_dir}workflow-archive.mdc |
| CONTEXT SYNC | {role_dir}workflow-context-sync.mdc |
| ROADMAP MERGE | {role_dir}workflow-roadmap-merge.mdc |
| SECURITY · SECURITY PLAN · SECURITY DECOMPOSE | {role_dir}workflow-security.mdc |
| REFACTOR · REFACTOR PLAN · REFACTOR DECOMPOSE | {role_dir}workflow-refactor.mdc |
| BACK PLAN REFACTOR | .cursor/rules/back_developer/workflow-plan-refactor.mdc |
| GAP CLOSE | {role_dir}workflow-gap-close.mdc |
IMPLEMENT: implement-bootstrap.mdc + Gates + scope-lock + ## Hot path. Полный workflow-implement.mdc — только при FAIL / дыре coverage.
ЗАПРЕЩЕНО угадывать:
workflow-back-bugfix.mdc/workflow-front-*.mdc/workflow-integ-*.mdcworkflow-BACK-bugfix.mdc- любой путь с удвоенным префиксом роли в имени файла
Нет файла → Glob workflow-*.mdc в {role_dir}, не изобретай имя. Execute steps in order.
Step 3 — isolation (step 1a)
Читай только путь из строки Gates в workflow-*.mdc (копируй дословно). На IMPLEMENT это стартовый файл (вместе с Hot path + scope-lock).
Канон BACK QA:
.cursor/rules/back_developer/isolation_rules/_lean/qa.mdc
ЗАПРЕЩЕНО угадывать:
.cursor/rules/back_developer/_lean/qa.mdc(пропущенisolation_rules/)- любой
*_developer/_lean/...безisolation_rules/
Не читай весь isolation_rules_load.md (каталог-справочник).
Если Gates в workflow нет — lean не открывать. SECURITY / REFACTOR — Gates есть (_lean/security.mdc / _lean/refactor.mdc).
Level — из decompose step / plan / task shard.
Скиллы не грузить из isolation — только из workflow (Step 5) / текущего shard.
Step 4 — memory-bank
Каталог строго memory-bank/ (lowercase).
ЗАПРЕЩЕНО: Memory-bank/, MEMORY-BANK/.
Default (IMPLEMENT/TASK/QA/SECURITY execute): memory-bank/activeContext.md → load_now only. ONE work shard (sNN|eNN / task / bugfix / qa). FORBIDDEN полный plan/<epic_id>/md/plan.md в load_now; AC из shard / Handoff; jump plan §N только если Consumes требует. См. Context-session-economy §3–4 / token-economy §0.5.1.
PLAN override: inventory по workflow-*-plan.mdc (для INTEG PLAN — все portal-relevant implement + routes; для SECURITY PLAN — surfaces inventory). Не режь объём чтения «ради economy», если workflow требует полный registry.
Step 5 — skills (lazy)
ONLY skills declared by the current workflow and its current decompose-step. Do NOT scan skills catalog. For IMPLEMENT / TASK / BUGFIX / REFACTOR: skills.impl из текущего shard — Read целиком до prod-кода; impl: [] / code_surface: docs / Kind I-only → skip. FRONT UI: ещё skills.design / skills.design_skills до UI (visible_ui: no → skip). Pre-FINISH verification-before-completion / requesting-code-review не грузить — их закрывают finish-block + @verify. SECURITY execute: только Audit skills из aNN.
Step 6 — execute
Follow workflow. BACK/FRONT QA → lean load §7 context-session-economy. Integration grep §0.11 token-economy before FINISH. Code modes: graphify Step 0 уже выполнен или skip по полному files:; FINISH → из корня репо .venv/bin/graphify update . если code changed.
IDEA PIPELINE
@.cursor/rules/shared/workflow-idea-pipeline.mdc. Artifact: memory-bank/idea/idea-<slug>.md.
Acknowledgement
OK {PREFIX} {MODE} — начинаю
Если MODE=PLAN или MODE=SECURITY PLAN или MODE=REFACTOR PLAN (или SECURITY/REFACTOR с args PLAN): сразу вторая строка SUSPENSION GUARD active — plan output unlimited, затем читай .claude/rules/plan-artifact.md. Artifact SECURITY: memory-bank/{role}/security/plan/<id>/md/plan.md.
Если MODE=DECOMPOSE (BACK/FRONT/INTEG): сразу SUSPENSION GUARD active — decompose output unlimited, затем .claude/rules/plan-artifact.md (секция DECOMPOSE) + workflow-decompose.mdc §Maximal detail + §Replacement cleanup.
Если MODE=VAN и brownfield (есть код/compose): сразу SUSPENSION GUARD active — architecture map output unlimited, затем .cursor/rules/shared/workflow-van-brownfield.mdc + .claude/rules/plan-artifact.md (architecture paths).
Перед FINISH на PLAN / SECURITY PLAN / REFACTOR PLAN: shell wc -l на plan-файл; TOC-only / слишком короткий → FAIL, дописать. На L2+ планах зафиксирован guard: Review readiness не содержит pending, а секция qa_consumes создана.
Перед FINISH на brownfield VAN: architecture shards не stub-only; mermaid minimum (services + data-flow + erd|n/a).
Перед FINISH на IMPLEMENT: @.cursor/rules/shared/finish-block.mdc — step-файл exists + Handoff шага до decompose=completed.
Slash-команды: harness/claude/commands/ (shell: .claude/commands/). Для portal wire предпочтительно /integ-plan. Полная as-built карта — /integ-van.
Sync note
SoT = harness/claude/skills/role-command/SKILL.md (shells: .claude/skills/role-command/SKILL.md and .agents/skills/role-command/SKILL.md).