{"id":"bdc8964c-213a-443f-a745-d2a4091480f7","shortId":"6NU4yx","kind":"skill","title":"long-task-continuation","tagline":"Use when a task is multi-step, may span context resets or sessions, uses subagents, or risks losing state before completion.","description":"# Long Task Continuation\n\n## Overview\n\nUse this skill to keep long tasks checkpointed, resumable, drift-aware, and evidence-gated.\n\nThis is a protocol skill. It does not execute plans, dispatch subagents, run tests, or grant completion authority.\n\n## Authority Boundary\n\nCurrent owner:\n\n- Method Pack protocol discipline\n\nNot owned here:\n\n- plan execution\n- subagent dispatch\n- host daemon / watchdog / automatic retry\n- authoritative `GateDecision`\n- evidence sufficiency final judgment\n- completion authority\n\n## When To Use\n\nUse this skill when any of these are true:\n\n- the task has multiple phases or more than one meaningful work slice\n- the task may be interrupted, compacted, resumed, or handed off\n- the task uses subagents\n- the user explicitly asks for long-task continuity, resume safety, or avoiding drift\n- the task changes architecture, contracts, shared workflows, or verification gates\n\nFor short direct answers or one-command checks, do not force this protocol.\n\n## Required Artifacts\n\nMaintain artifacts under `docs/aegis/work/YYYY-MM-DD-<slug>/`:\n\n| Artifact | File | When |\n|----------|------|------|\n| TaskIntentDraft | `10-intent.md` and optional `task-intent-draft.json` | Start protocol |\n| BaselineReadSetHint | `10-intent.md` (inline) | Start protocol |\n| ImpactStatementDraft | `10-intent.md` (inline) | Start protocol |\n| TodoCheckpointDraft | `20-checkpoint.md` and optional `todo-checkpoint-draft.json` | Each checkpoint |\n| ResumeStateHint | `20-checkpoint.md` (inline) | Each pause/handoff |\n| DriftCheckDraft | `20-checkpoint.md` (inline) and optional `drift-check-draft.json` | Per-slice protocol |\n| EvidenceBundleDraft | `90-evidence.md` and optional `evidence-bundle-draft.json` | Per-slice protocol |\n| Reflection | `99-reflection.md` | Completion candidate |\n\nFor medium+ complexity tasks only. Low-complexity tasks skip work/.\n\nWhen durable architecture decisions are in scope, these work records are the\npreferred ADR Auto Backfill source. Preserve ADR signals, source refs,\nalternatives, compatibility boundaries, drift checks, retirement notes, and\nbaseline-sync questions in the work record instead of relying on memory at\ncompletion time.\n\nThese are draft / hint / projection inputs. They are not authoritative runtime records.\n\n## Workspace Helper Protocol\n\nWhen configured Aegis workspace support or installed Aegis workspace support is\navailable, use it for the target project workspace and lifecycle records:\n\n1. Initialize before writing work records:\n\n   ```bash\n   python <aegis-workspace-helper> init --root <target-project-root>\n   ```\n\n2. For a new medium+ task process trail, prefer helper-backed lifecycle\n   creation over hand-created files:\n\n   ```bash\n   python <aegis-workspace-helper> new-work --root <target-project-root> --date YYYY-MM-DD --slug <slug> --title \"<title>\" --requested-outcome \"<outcome>\" --scope \"<scope>\" --change-kind <kind>\n   ```\n\n3. After each slice, update checkpoint, evidence, and drift through the helper:\n\n   ```bash\n   python <aegis-workspace-helper> add-checkpoint --root <target-project-root> --work YYYY-MM-DD-<slug> ...\n   python <aegis-workspace-helper> add-evidence --root <target-project-root> --work YYYY-MM-DD-<slug> ...\n   python <aegis-workspace-helper> add-drift-check --root <target-project-root> --work YYYY-MM-DD-<slug> ...\n   ```\n\n4. Before pause, handoff, or completion candidate, assemble a structural proof\n   bundle and check the workspace:\n\n   ```bash\n   python <aegis-workspace-helper> bundle --root <target-project-root> --work YYYY-MM-DD-<slug>\n   python <aegis-workspace-helper> check --root <target-project-root>\n   ```\n\nThese helper checks validate workspace structure, index coverage, and JSON\nsidecar shape only. They do not determine evidence sufficiency, do not produce\nauthoritative `GateDecision`, and do not grant completion authority.\n\n## Start Protocol\n\nBefore long-task execution:\n\n1. State the requested outcome, scope, non-goals, and risk hints.\n2. If goal framing exists, restate goal, success evidence, stop condition, and\n   non-goals. Stop condition must allow done, blocked, needs-verification, and\n   scope-exceeded outcomes.\n3. Identify baseline refs that must be read before changing files.\n4. Create or update the todo map.\n5. Create the first checkpoint:\n   - current todo\n   - active slice\n   - completed todos\n   - evidence refs\n   - blocked-on items\n   - next step\n6. If baseline refs are missing, pause in `needs-baseline-readback`.\n7. If the workspace helper is available, use `aegis-workspace.py new-work` to\n   create/index the first `docs/aegis/work/` files and run `check --root\n   <target-project-root>` before continuing.\n\n## Per-Slice Protocol\n\nBefore each work slice, restate:\n\n1. current goal\n2. current todo\n3. intended edits\n4. explicit non-edits\n5. verification command or manual check\n\nAfter each work slice, update:\n\n1. completed todos\n2. evidence refs\n3. blockers\n4. next step\n5. drift check\n6. helper-backed JSON sidecars through `aegis-workspace.py add-checkpoint`,\n   `aegis-workspace.py add-evidence`, and `aegis-workspace.py add-drift-check`\n   when available\n\nIf no fresh evidence exists, the state is `needs-verification` or `partial`.\n\n## Resume Protocol\n\nWhen resuming:\n\n1. Read latest checkpoint.\n2. Read latest resume hint if present.\n3. Re-read original task intent.\n4. Re-read required baseline refs.\n5. Compare current worktree state with checkpoint claims.\n6. If checkpoint, baseline, and worktree disagree, pause and ask for direction.\n\nNever resume from memory alone.\n\n## Drift Check\n\nAnswer these after each slice:\n\n- Does the current work still serve the original task intent?\n- Does the current work still serve the goal and stop condition?\n- Did the slice stay inside the compatibility boundary?\n- Did any new owner, fallback, adapter, or branch appear?\n- Is the retirement track still explicit?\n- Did the evidence bundle grow enough to support the next claim?\n\nAllowed decisions:\n\n- `continue`\n- `pause-for-user`\n- `needs-baseline-readback`\n- `needs-verification`\n- `blocked`\n\nForbidden decisions:\n\n- `gate-passed`\n- `completion-granted`\n- `authoritatively-safe`\n\n## Completion Candidate Protocol\n\nBefore saying work is complete:\n\n1. Use aegis:verification-before-completion.\n2. Confirm every todo has a status.\n3. Confirm blockers are resolved or externalized.\n4. Confirm evidence refs cover the acceptance criteria.\n5. Confirm drift check has no blocking state.\n6. Run `python <aegis-workspace-helper> bundle --root <target-project-root>\n   --work YYYY-MM-DD-<slug>` if the helper is available and a work record\n   exists.\n7. Run `python <aegis-workspace-helper> check --root <target-project-root>`\n   if the helper is available and the task wrote `docs/aegis/` records.\n8. Treat the generated `GateInputPack` as future-runtime input only.\n9. If durable architecture decisions were in scope, pass the work record,\n   proof bundle, drift checks, evidence refs, and ADR signals into\n   aegis:verification-before-completion for ADR Backfill Check.\n\nMethod Pack output is verified evidence and advisory judgment only. It is not authoritative completion.\n\n## Minimal Reporting Shape\n\nUse this shape for long-task updates:\n\n- `TodoCheckpointDraft`: current todo, completed todos, active slice, next step\n- `Evidence`: commands, files, logs, or manual checks\n- `DriftCheckDraft`: scope, compatibility, retirement, decision\n- `Risk / Unknown`: unresolved blockers or missing evidence\n- `Next`: the next smallest safe action","tags":["long","task","continuation","aegis","ganyuanran","add","agent-skills","ai-agents","ai-coding","baseline-first","claude-code","codex"],"capabilities":["skill","source-ganyuanran","skill-long-task-continuation","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/long-task-continuation","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 (7,499 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.685Z","embedding":null,"createdAt":"2026-05-04T19:05:08.362Z","updatedAt":"2026-05-18T18:54:49.685Z","lastSeenAt":"2026-05-18T18:54:49.685Z","tsv":"'1':324,482,605,630,684,830 '10-intent.md':179,186,191 '2':334,494,608,633,688,837 '20-checkpoint.md':196,203,208 '3':373,523,611,636,695,844 '4':417,534,614,638,702,851 '5':541,619,641,709,859 '6':560,644,717,867 '7':572,887 '8':903 '9':914 '90-evidence.md':218 '99-reflection.md':227 'accept':857 'action':1004 'activ':548,976 'adapt':775 'add':388,398,408,653,657,662 'add-checkpoint':387,652 'add-drift-check':407,661 'add-evid':397,656 'adr':254,259,933,942 'advisori':952 'aegi':304,309,832,936 'aegis-workspace.py':580,651,655,660 'allow':512,796 'alon':733 'altern':263 'answer':158,736 'appear':778 'architectur':148,243,917 'artifact':170,172,175 'ask':134,726 'assembl':424 'author':64,65,92,474 'authorit':85,296,467,820,958 'authoritatively-saf':819 'auto':255 'automat':83 'avail':313,578,666,881,896 'avoid':143 'awar':42 'back':345,647 'backfil':256,943 'baselin':272,525,562,570,707,720,805 'baseline-sync':271 'baselinereadsethint':185 'bash':330,353,385,433 'block':514,555,810,865 'blocked-on':554 'blocker':637,846,995 'boundari':66,265,769 'branch':777 'bundl':428,435,788,870,927 'candid':229,423,823 'chang':147,371,532 'change-kind':370 'check':163,267,410,430,443,447,592,624,643,664,735,862,890,929,944,986 'checkpoint':38,201,378,389,545,654,687,715,719 'claim':716,795 'command':162,621,981 'compact':122 'compar':710 'compat':264,768,989 'complet':26,63,91,228,285,422,473,550,631,817,822,829,836,940,959,974 'completion-gr':816 'complex':232,237 'condit':504,510,761 'configur':303 'confirm':838,845,852,860 'context':15 'continu':4,29,139,595,798 'contract':149 'cover':855 'coverag':452 'creat':351,535,542 'create/index':585 'creation':347 'criteria':858 'current':67,546,606,609,711,743,753,972 'daemon':81 'date':359 'dd':363,395,405,416,441,876 'decis':244,797,812,918,991 'determin':461 'direct':157,728 'disagre':723 'disciplin':72 'dispatch':57,79 'docs/aegis':901 'docs/aegis/work':588 'docs/aegis/work/yyyy-mm-dd-':174 'done':513 'draft':289 'drift':41,144,266,381,409,642,663,734,861,928 'drift-awar':40 'drift-check-draft.json':212 'driftcheckdraft':207,987 'durabl':242,916 'edit':613,618 'enough':790 'everi':839 'evid':45,87,379,399,462,502,552,634,658,670,787,853,930,950,980,998 'evidence-bundle-draft.json':221 'evidence-g':44 'evidencebundledraft':217 'exceed':521 'execut':55,77,481 'exist':498,671,886 'explicit':133,615,784 'extern':850 'fallback':774 'file':176,352,533,589,982 'final':89 'first':544,587 'forbidden':811 'forc':166 'frame':497 'fresh':669 'futur':910 'future-runtim':909 'gate':46,154,814 'gate-pass':813 'gatedecis':86,468 'gateinputpack':907 'generat':906 'goal':490,496,500,508,607,758 'grant':62,472,818 'grow':789 'hand':125,350 'hand-creat':349 'handoff':420 'helper':300,344,384,446,576,646,879,894 'helper-back':343,645 'hint':290,493,692 'host':80 'identifi':524 'impactstatementdraft':190 'index':451 'init':332 'initi':325 'inlin':187,192,204,209 'input':292,912 'insid':766 'instal':308 'instead':279 'intend':612 'intent':701,750 'interrupt':121 'item':557 'json':454,648 'judgment':90,953 'keep':35 'kind':372 'latest':686,690 'lifecycl':322,346 'log':983 'long':2,27,36,137,479,968 'long-task':136,478,967 'long-task-continu':1 'lose':23 'low':236 'low-complex':235 'maintain':171 'manual':623,985 'map':540 'may':13,119 'meaning':114 'medium':231,338 'memori':283,732 'method':69,945 'minim':960 'miss':565,997 'mm':362,394,404,415,440,875 'multi':11 'multi-step':10 'multipl':108 'must':511,528 'need':516,569,676,804,808 'needs-baseline-readback':568,803 'needs-verif':515,675,807 'never':729 'new':337,356,582,772 'new-work':355,581 'next':558,639,794,978,999,1001 'non':489,507,617 'non-edit':616 'non-goal':488,506 'note':269 'one':113,161 'one-command':160 'option':181,198,211,220 'origin':699,748 'outcom':368,486,522 'output':947 'overview':30 'own':74 'owner':68,773 'pack':70,946 'partial':679 'pass':815,922 'paus':419,566,724,800 'pause-for-us':799 'pause/handoff':206 'per':214,223,597 'per-slic':213,222,596 'phase':109 'plan':56,76 'prefer':253,342 'present':694 'preserv':258 'process':340 'produc':466 'project':291,319 'proof':427,926 'protocol':50,71,168,184,189,194,216,225,301,476,599,681,824 'python':331,354,386,396,406,434,442,869,889 'question':274 're':697,704 're-read':696,703 'read':530,685,689,698,705 'readback':571,806 'record':250,278,298,323,329,885,902,925 'ref':262,526,553,563,635,708,854,931 'reflect':226 'reli':281 'report':961 'request':367,485 'requested-outcom':366 'requir':169,706 'reset':16 'resolv':848 'restat':499,604 'resum':39,123,140,680,683,691,730 'resumestatehint':202 'retir':268,781,990 'retri':84 'risk':22,492,992 'root':333,358,390,400,411,436,444,593,871,891 'run':59,591,868,888 'runtim':297,911 'safe':821,1003 'safeti':141 'say':826 'scope':247,369,487,520,921,988 'scope-exceed':519 'serv':746,756 'session':18 'shape':456,962,965 'share':150 'short':156 'sidecar':455,649 'signal':260,934 'skill':33,51,98 'skill-long-task-continuation' 'skip':239 'slice':116,215,224,376,549,598,603,628,740,764,977 'slug':364 'smallest':1002 'sourc':257,261 'source-ganyuanran' 'span':14 'start':183,188,193,475 'state':24,483,673,713,866 'status':843 'stay':765 'step':12,559,640,979 'still':745,755,783 'stop':503,509,760 'structur':426,450 'subag':20,58,78,130 'success':501 'suffici':88,463 'support':306,311,792 'sync':273 'target':318 'task':3,8,28,37,106,118,128,138,146,233,238,339,480,700,749,899,969 'task-intent-draft.json':182 'taskintentdraft':178 'test':60 'time':286 'titl':365 'todo':539,547,551,610,632,840,973,975 'todo-checkpoint-draft.json':199 'todocheckpointdraft':195,971 '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' 'track':782 'trail':341 'treat':904 'true':104 'unknown':993 'unresolv':994 'updat':377,537,629,970 'use':5,19,31,95,96,129,314,579,831,963 'user':132,802 'valid':448 'verif':153,517,620,677,809,834,938 'verifi':949 'verification-before-complet':833,937 'watchdog':82 'work':115,240,249,277,328,357,391,401,412,437,583,602,627,744,754,827,872,884,924 'workflow':151 'workspac':299,305,310,320,432,449,575 'worktre':712,722 'write':327 'wrote':900 'yyyi':361,393,403,414,439,874 'yyyy-mm-dd':360,392,402,413,438,873","prices":[{"id":"09cd809d-1d09-400e-9087-4ebb3c522586","listingId":"bdc8964c-213a-443f-a745-d2a4091480f7","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-04T19:05:08.362Z"}],"sources":[{"listingId":"bdc8964c-213a-443f-a745-d2a4091480f7","source":"github","sourceId":"GanyuanRan/Aegis/long-task-continuation","sourceUrl":"https://github.com/GanyuanRan/Aegis/tree/main/skills/long-task-continuation","isPrimary":false,"firstSeenAt":"2026-05-04T19:05:08.362Z","lastSeenAt":"2026-05-18T18:54:49.685Z"}],"details":{"listingId":"bdc8964c-213a-443f-a745-d2a4091480f7","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"GanyuanRan","slug":"long-task-continuation","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":"6a9dc6980597bb7611f3642698799e68c7e86f57","skill_md_path":"skills/long-task-continuation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/GanyuanRan/Aegis/tree/main/skills/long-task-continuation"},"layout":"multi","source":"github","category":"Aegis","frontmatter":{"name":"long-task-continuation","description":"Use when a task is multi-step, may span context resets or sessions, uses subagents, or risks losing state before completion."},"skills_sh_url":"https://skills.sh/GanyuanRan/Aegis/long-task-continuation"},"updatedAt":"2026-05-18T18:54:49.685Z"}}