goal-framing — скилл для Claude Code: рамка задачи и установка
Скилл помогает зафиксировать цель, признаки успеха и границы задачи до начала работы. Он пригодится, когда важно согласовать, что считать результатом и когда остановиться.
npx skills add GanyuanRan/Aegis --skill goal-framing -a claude-codeЧто делает goal-framing
По запросу пользователя скилл создаёт короткую рамку задачи: цель, подтверждение успеха, условие остановки, ограничения и область работы. Затем он выбирает маршрут — например, отладку для бага или планирование для согласованных требований — и продолжает работу в том же ответе. Если пользователь просит только сформулировать рамку или не хватает обязательной информации, скилл останавливается.
goal-framing предназначен для явного задания цели через /aegis-goal, фразу Aegis goal: или просьбу определить границы до начала работы. Для мелких правок и обычных вопросов он не включается сам по себе. Он также не принимает окончательное решение о прохождении проверок и не управляет автоматической остановкой. Для субагента скилл собирает краткий контекстный пакет; рамка сама по себе не создаёт файлы проекта.
Какие задачи решает
- зафиксировать цель и критерии успеха до начала работы
- задать условие остановки и границы задачи
- направить баг или согласованные требования в подходящий рабочий процесс
- передать субагенту краткий контекст вместо всей переписки
Примеры запросов агенту
- Перед началом работы определи цель, критерии успеха и границы задачи:
/aegis-goal исправь обновление авторизации, не переписывая всю систему. - Сформулируй цель и условие остановки для этой задачи, пока ничего не выполняй.
- Определи цель работы над багом и после этого выбери подходящий маршрут отладки.
Как установить goal-framing
1Через Skills CLI (Vercel)
npx skills add GanyuanRan/Aegis --skill goal-framing -a claude-code2Вручную: положить файлы
~/.claude/skills/goal-framing/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/goal-framing/
1Через Skills CLI (Vercel)
npx skills add GanyuanRan/Aegis --skill goal-framing -a codex2Вручную: положить файлы
.agents/skills/goal-framing/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add GanyuanRan/Aegis --skill goal-framing -a cursor2Вручную: положить файлы
.cursor/skills/goal-framing/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install GanyuanRan/Aegis goal-framing2Вручную: положить файлы
.github/skills/goal-framing/SKILL.md1Через Skills CLI (Vercel)
npx skills add GanyuanRan/Aegis --skill goal-framing -a gemini-cli2Командой платформы
gemini skills install https://github.com/GanyuanRan/Aegis --path skills/goal-framingВручную: положить файлы
.devin/skills/goal-framing/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add GanyuanRan/Aegis --skill goal-framing -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о goal-framing
Как установить goal-framing в Claude Code?
Выполните npx skills add GanyuanRan/Aegis --skill goal-framing -a claude-code. Файл скилла находится по пути ~/.claude/skills/goal-framing/SKILL.md.
Что делает goal-framing?
Он задаёт краткую рамку с целью, признаками успеха, условием остановки и границами задачи, затем направляет работу по подходящему маршруту.
Запускается ли goal-framing для мелких правок?
Нет, если пользователь явно не просит /aegis-goal или не задаёт цель через Aegis goal:. Для небольших правок скилл не включается автоматически.
Исходный текст
SKILL.md · MIT
--- name: goal-framing description: "Use when the user explicitly sets an Aegis goal with /aegis-goal, Aegis goal:, or asks to define goal, success evidence, stop condition, or task boundaries before work." --- # Aegis Goal Framing Use this skill to create a thin goal frame before execution. It is opt-in and boundary-setting only. Do not use it for tiny edits, one-command checks, or ordinary fast-path Q&A unless the user explicitly asks for `/aegis-goal` or `Aegis goal:`. ## Authority Boundary Current owner: - Method Pack task framing Not owned here: - authoritative `GateDecision` - final evidence sufficiency - final completion authority is not owned here - host daemon / automatic stop enforcement ## Input Forms Treat these as equivalent: - `/aegis-goal <task description>` - `Aegis goal: <task description>` - "Define the goal / stop condition before we start" Slash commands are optional host shortcuts. The natural-language form is the portable fallback. Example: ```text Aegis goal: Fix the auth refresh bug without rewriting the auth system. ``` ## Output Produce the smallest useful frame, then continue into the routed workflow in the same turn. ```text TaskIntentDraft: - Requested outcome: - Goal: - Success evidence: - Stop condition: - Non-goals: - Constraints: - Scope: - Risk hints: - Aegis Visibility: - Route: - Next: ``` Default behavior: - Do not stop after `TaskIntentDraft`. - Treat the frame as the start protocol for execution, not as the final answer. - After the compact frame, immediately take the `Next` action for the selected route when the user asked to do the work. - Keep the visible frame natural and short when the goal is clear; do not emit a large internal-looking card unless the user asked for a formal frame. - Use `Aegis Visibility` to say why the goal frame constrains the route, stop condition, or non-goals. Do not add trace ceremony unless the user explicitly asks for auditability. Frame-only behavior: - Stop at the frame only when the user explicitly asks to only define the goal, only define the stop condition, not execute, not implement, not write a plan, or wait for confirmation before continuing. - If required information is missing, state the missing input and stop with `blocked` rather than pretending to continue. Stop condition must distinguish: State set: `done`, `blocked`, `needs-verification`, `scope-exceeded`. - `done`: success evidence is satisfied - `blocked`: required dependency, permission, or information is missing - `needs-verification`: implementation exists but evidence is insufficient - `scope-exceeded`: continuing would exceed the goal or non-goals ## Routing After framing: - Low-risk single-owner work continues through the normal fast path or TDD - Ambiguous product / architecture / contract work routes to `brainstorming` - Approved requirements route to `writing-plans` - Multi-step, compaction-prone, handoff, or subagent work routes to `long-task-continuation` - Bug diagnosis routes to `systematic-debugging` ### Route Matrix | Goal signal | Route | | --- | --- | | single-owner, low-risk, clear verification | fast path or `test-driven-development` | | bug, failure, regression, unexpected behavior | `systematic-debugging` | | ambiguous product, architecture, contract, cross-module behavior | `brainstorming` | | approved spec, stable requirements, implementation slicing | `writing-plans` | | multi-step, compaction-prone, handoff, subagent work | `long-task-continuation` | | completion, release, handoff, "is this done?" | `verification-before-completion` | Only create `docs/aegis/` records when the routed workflow needs persistent evidence. Goal framing alone does not create project files. ## Subagent Context Packet When delegating work, pass a compact packet instead of the full conversation: ```text SubagentContextPacket: - Task: - Goal: - Stop condition: - Relevant baseline refs: - Relevant files: - Known facts: - Unknowns: - Non-goals: - Expected output: - Verification expected: - Must-read excerpts: - Unsafe assumptions: ``` The packet reduces repeated file reading, but it does not replace evidence. Subagents should still read the smallest raw file/log/test excerpt needed to verify critical facts. Do not paste full chat transcripts, full session history, or unbounded logs into the packet. If a fact matters, include a file ref, line/window hint, or compact must-read excerpt. ## Drift Rule If the goal changes mid-task, do not silently overwrite it. Record old goal, new goal, changed scope, new risks, and route through `DriftCheckDraft` when a long-task record exists.
© GanyuanRan · MIT · GanyuanRan/Aegis