{"id":"fbe41fb8-0af9-4657-a321-9ad99a0d1d20","shortId":"gS8x9m","kind":"skill","title":"goal-framing","tagline":"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.","description":"# Aegis Goal Framing\n\nUse this skill to create a thin goal frame before execution. It is opt-in and\nboundary-setting only.\n\nDo not use it for tiny edits, one-command checks, or ordinary fast-path Q&A\nunless the user explicitly asks for `/aegis-goal` or `Aegis goal:`.\n\n## Authority Boundary\n\nCurrent owner:\n\n- Method Pack task framing\n\nNot owned here:\n\n- authoritative `GateDecision`\n- final evidence sufficiency\n- final completion authority is not owned here\n- host daemon / automatic stop enforcement\n\n## Input Forms\n\nTreat these as equivalent:\n\n- `/aegis-goal <task description>`\n- `Aegis goal: <task description>`\n- \"Define the goal / stop condition before we start\"\n\nSlash commands are optional host shortcuts. The natural-language form is the\nportable fallback.\n\nExample:\n\n```text\nAegis goal: Fix the auth refresh bug without rewriting the auth system.\n```\n\n## Output\n\nProduce the smallest useful frame:\n\n```text\nTaskIntentDraft:\n- Requested outcome:\n- Goal:\n- Success evidence:\n- Stop condition:\n- Non-goals:\n- Constraints:\n- Scope:\n- Risk hints:\n- Route:\n- Next:\n```\n\nStop condition must distinguish:\n\nState set: `done`, `blocked`, `needs-verification`, `scope-exceeded`.\n\n- `done`: success evidence is satisfied\n- `blocked`: required dependency, permission, or information is missing\n- `needs-verification`: implementation exists but evidence is insufficient\n- `scope-exceeded`: continuing would exceed the goal or non-goals\n\n## Routing\n\nAfter framing:\n\n- Low-risk single-owner work may continue through the normal fast path or TDD\n- Ambiguous product / architecture / contract work routes to `brainstorming`\n- Approved requirements route to `writing-plans`\n- Multi-step, compaction-prone, handoff, or subagent work routes to\n  `long-task-continuation`\n- Bug diagnosis routes to `systematic-debugging`\n\n### Route Matrix\n\n| Goal signal | Route |\n| --- | --- |\n| single-owner, low-risk, clear verification | fast path or `test-driven-development` |\n| bug, failure, regression, unexpected behavior | `systematic-debugging` |\n| ambiguous product, architecture, contract, cross-module behavior | `brainstorming` |\n| approved spec, stable requirements, implementation slicing | `writing-plans` |\n| multi-step, compaction-prone, handoff, subagent work | `long-task-continuation` |\n| completion, release, handoff, \"is this done?\" | `verification-before-completion` |\n\nOnly create `docs/aegis/` records when the routed workflow needs persistent\nevidence. Goal framing alone does not create project files.\n\n## Subagent Context Packet\n\nWhen delegating work, pass a compact packet instead of the full conversation:\n\n```text\nSubagentContextPacket:\n- Task:\n- Goal:\n- Stop condition:\n- Relevant baseline refs:\n- Relevant files:\n- Known facts:\n- Unknowns:\n- Non-goals:\n- Expected output:\n- Verification expected:\n- Must-read excerpts:\n- Unsafe assumptions:\n```\n\nThe packet reduces repeated file reading, but it does not replace evidence.\nSubagents should still read the smallest raw file/log/test excerpt needed to\nverify critical facts.\n\nDo not paste full chat transcripts, full session history, or unbounded logs into\nthe packet. If a fact matters, include a file ref, line/window hint, or compact\nmust-read excerpt.\n\n## Drift Rule\n\nIf the goal changes mid-task, do not silently overwrite it. Record old goal,\nnew goal, changed scope, new risks, and route through `DriftCheckDraft` when a\nlong-task record exists.","tags":["goal","framing","aegis","ganyuanran","add","agent-skills","ai-agents","ai-coding","baseline-first","claude-code","codex","coding-agents"],"capabilities":["skill","source-ganyuanran","skill-goal-framing","topic-add","topic-agent-skills","topic-ai-agents","topic-ai-coding","topic-baseline-first","topic-claude-code","topic-codex","topic-coding-agents","topic-evidence-driven","topic-first-principles","topic-opencode","topic-software-architecture"],"categories":["Aegis"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/GanyuanRan/Aegis/goal-framing","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add GanyuanRan/Aegis","source_repo":"https://github.com/GanyuanRan/Aegis","install_from":"skills.sh"}},"qualityScore":"0.581","qualityRationale":"deterministic score 0.58 from registry signals: · indexed on github topic:agent-skills · 262 github stars · SKILL.md body (3,408 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:54:49.619Z","embedding":null,"createdAt":"2026-05-14T12:55:45.031Z","updatedAt":"2026-05-18T18:54:49.619Z","lastSeenAt":"2026-05-18T18:54:49.619Z","tsv":"'/aegis-goal':14,79,117 'aegi':11,15,31,81,118,145 'alon':368 'ambigu':248,314 'approv':256,323 'architectur':250,316 'ask':18,77 'assumpt':415 'auth':149,155 'author':83,101 'authorit':94 'automat':108 'baselin':396 'behavior':310,321 'block':188,200 'boundari':28,52,84 'boundary-set':51 'brainstorm':255,322 'bug':151,279,306 'chang':478,492 'chat':446 'check':65 'clear':297 'command':64,129 'compact':267,336,382,468 'compaction-pron':266,335 'complet':100,345,354 'condit':25,124,171,182,394 'constraint':175 'context':375 'continu':220,240,278,344 'contract':251,317 'convers':388 'creat':38,356,371 'critic':440 'cross':319 'cross-modul':318 'current':85 'daemon':107 'debug':285,313 'defin':20,120 'deleg':378 'depend':202 'develop':305 'diagnosi':280 'distinguish':184 'docs/aegis':357 'done':187,195,350 'drift':473 'driftcheckdraft':499 'driven':304 'edit':61 'enforc':110 'equival':116 'evid':23,97,169,197,214,365,427 'exampl':143 'exceed':194,219,222 'excerpt':413,436,472 'execut':44 'exist':212,506 'expect':406,409 'explicit':8,76 'fact':401,441,459 'failur':307 'fallback':142 'fast':69,244,299 'fast-path':68 'file':373,399,420,463 'file/log/test':435 'final':96,99 'fix':147 'form':112,138 'frame':3,33,42,90,162,231,367 'full':387,445,448 'gatedecis':95 'goal':2,12,16,21,32,41,82,119,122,146,167,174,224,228,288,366,392,405,477,489,491 'goal-fram':1 'handoff':269,338,347 'hint':178,466 'histori':450 'host':106,132 'implement':211,327 'includ':461 'inform':205 'input':111 'instead':384 'insuffici':216 'known':400 'languag':137 'line/window':465 'log':453 'long':276,342,503 'long-task':502 'long-task-continu':275,341 'low':233,295 'low-risk':232,294 'matrix':287 'matter':460 'may':239 'method':87 'mid':480 'mid-task':479 'miss':207 'modul':320 'multi':264,333 'multi-step':263,332 'must':183,411,470 'must-read':410,469 'natur':136 'natural-languag':135 'need':190,209,363,437 'needs-verif':189,208 'new':490,494 'next':180 'non':173,227,404 'non-goal':172,226,403 'normal':243 'old':488 'one':63 'one-command':62 'opt':48 'opt-in':47 'option':131 'ordinari':67 'outcom':166 'output':157,407 'overwrit':485 'own':92,104 'owner':86,237,293 'pack':88 'packet':376,383,417,456 'pass':380 'past':444 'path':70,245,300 'permiss':203 'persist':364 'plan':262,331 'portabl':141 'produc':158 'product':249,315 'project':372 'prone':268,337 'q':71 'raw':434 'read':412,421,431,471 'record':358,487,505 'reduc':418 'ref':397,464 'refresh':150 'regress':308 'releas':346 'relev':395,398 'repeat':419 'replac':426 'request':165 'requir':201,257,326 'rewrit':153 'risk':177,234,296,495 'rout':179,229,253,258,273,281,286,290,361,497 'rule':474 'satisfi':199 'scope':176,193,218,493 'scope-exceed':192,217 'session':449 'set':9,53,186 'shortcut':133 'signal':289 'silent':484 'singl':236,292 'single-own':235,291 'skill':36 'skill-goal-framing' 'slash':128 'slice':328 'smallest':160,433 'source-ganyuanran' 'spec':324 'stabl':325 'start':127 'state':185 'step':265,334 'still':430 'stop':24,109,123,170,181,393 'subag':271,339,374,428 'subagentcontextpacket':390 'success':22,168,196 'suffici':98 'system':156 'systemat':284,312 'systematic-debug':283,311 'task':27,89,277,343,391,481,504 'taskintentdraft':164 'tdd':247 'test':303 'test-driven-develop':302 'text':144,163,389 'thin':40 'tini':60 'topic-add' 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-baseline-first' 'topic-claude-code' 'topic-codex' 'topic-coding-agents' 'topic-evidence-driven' 'topic-first-principles' 'topic-opencode' 'topic-software-architecture' 'transcript':447 'treat':113 'unbound':452 'unexpect':309 'unknown':402 'unless':73 'unsaf':414 'use':4,34,57,161 'user':7,75 'verif':191,210,298,352,408 'verifi':439 'verification-before-complet':351 'without':152 'work':30,238,252,272,340,379 'workflow':362 'would':221 'write':261,330 'writing-plan':260,329","prices":[{"id":"ad5c32ee-00da-4adf-b19c-f380a2d9372d","listingId":"fbe41fb8-0af9-4657-a321-9ad99a0d1d20","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"GanyuanRan","category":"Aegis","install_from":"skills.sh"},"createdAt":"2026-05-14T12:55:45.031Z"}],"sources":[{"listingId":"fbe41fb8-0af9-4657-a321-9ad99a0d1d20","source":"github","sourceId":"GanyuanRan/Aegis/goal-framing","sourceUrl":"https://github.com/GanyuanRan/Aegis/tree/main/skills/goal-framing","isPrimary":false,"firstSeenAt":"2026-05-14T12:55:45.031Z","lastSeenAt":"2026-05-18T18:54:49.619Z"}],"details":{"listingId":"fbe41fb8-0af9-4657-a321-9ad99a0d1d20","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"GanyuanRan","slug":"goal-framing","github":{"repo":"GanyuanRan/Aegis","stars":262,"topics":["add","agent-skills","ai-agents","ai-coding","architecture-driven-development","baseline-first","claude-code","codex","coding-agents","evidence-driven","first-principles","opencode","software-architecture","tdd","tlref"],"license":"mit","html_url":"https://github.com/GanyuanRan/Aegis","pushed_at":"2026-05-18T11:05:01Z","description":"Make AI coding agents architecture-aware: baseline-first, evidence-verified, drift-checked, and safe across long tasks.","skill_md_sha":"69b1cc72a5c79491f91cdbc6d057f95fcb754268","skill_md_path":"skills/goal-framing/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/GanyuanRan/Aegis/tree/main/skills/goal-framing"},"layout":"multi","source":"github","category":"Aegis","frontmatter":{"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."},"skills_sh_url":"https://skills.sh/GanyuanRan/Aegis/goal-framing"},"updatedAt":"2026-05-18T18:54:49.619Z"}}