writing-plans
Use when you have an approved spec or written requirements for a multi-step task that needs a durable plan document before touching code. Small, single-owner, or fast-path tasks do not need this skill.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-14
- Stars
- ★ 1.6k
- Forks
- 490
01 前言 Front Matter
- name
- writing-plans
- description
- Use when you have an approved spec or written requirements for a multi-step task that needs a durable plan document before touching code. Small, single-owner, or fast-path tasks do not need this skill.
02 资源文件 2
- 参考文档expanded-planning-guidance.md6.7 KB
- 参考文档plan-document-reviewer-prompt.md1.7 KB
03 SKILL.md 正文
<EXPLICIT-MODE-GATE>
If activation mode is explicit (~/.config/aegis/config.toml has
activation_mode = "explicit", or AEGIS_ACTIVATION_MODE=explicit is visible
in the environment) and the current user request did not explicitly invoke
Aegis or this skill by name, exit back to the fast path: answer concisely
without this workflow's checklist, ceremony, or document requirements. If the
user explicitly named Aegis or this skill, proceed normally.
</EXPLICIT-MODE-GATE>
Execute
→ Existing parent plan/spec and a tiny execution slice? → Use Planless Slice Lane. → Mechanical or bounded change with no durable boundary (no new owner, contract, schema, public API, migration, or compat surface)? → Use Planless Slice Lane without a parent document. → Approved spec/requirements for a new workstream or an escalation trigger? → Write an implementation plan for an engineer with no prior task context.
For a durable plan: confirm scope and acceptance, map current owners/files, record the TDD route, decompose into executable tasks, define verification and retirement, self-review, save, then select the execution route. Proceed unless a real authorization or safety boundary requires the user.
Bind tasks to the requested user outcomes: object, actions, conditions, and deliverables. Include the final delivery step and evidence at the user-visible seam, not only implementation/tests. Keep unmet needs and dependencies explicit; project-wide goals do not authorize work outside this request. Reuse the existing scope/acceptance slots; no extra goal artifact is required.
This plan is method-pack guidance, not authoritative completion.
TDD Route Guard
Before task decomposition, record TDD Route with mode (off | auto), decision
(strict | light | skipped), authority, test posture, reason, and verification.
Strict RED / GREEN steps belong only to an explicit user/project TDD request or
TDD Route: strict. In off, use skipped unless explicit strict authority
overrides it. An approved plan or a risk label alone is not strict authority.
In auto, select strict for behavior, bugfix, shared/core, contract,
persistence, permission, migration, producer/consumer, or meaningful
regression signals. Select light only when the work is tiny, low-risk,
single-owner, has no behavior change or strict signal, and has an obvious
focused check. Absence of an explicit user TDD request is never evidence for
light; the auto decision itself must be recorded.
If risk remains unknown, return to requirements, debugging, or plan review before task decomposition; do not infer a TDD route from uncertainty.
Only a strict decision with stated authority may prescribe failing-test,
RED, GREEN, and REFACTOR steps. Otherwise plan the minimum change plus
diagnostic reproduction or post-change regression. A missing auto decision
returns to route selection before implementation tasks.
Entry And Artifact Choice
Announce at start: on the plan-writing route, say that this skill is
creating the implementation plan. On Planless Slice Lane, announce the lane instead and do not claim a plan is being created.
Execution context: Reuse the current branch/workspace by default. A branch needs independent history; a worktree needs concurrent checkout, blocking unrelated dirty state, or explicit user/repository authority.
Input: approved requirements, a Spec Brief, or a Design Spec.
Default plan path: docs/aegis/plans/YYYY-MM-DD-<feature-name>.md. Plans do
not go in work/; user and repository authority override the default.
Planless Slice Lane
Use Planless Slice Lane before writing or saving a plan when one of these
entry conditions holds:
- a parent spec or parent plan already defines the workstream, and the current request is executing or refining one bounded task from that parent
- the change is mechanical or bounded and needs no parent document (the
no-parent branch under
# Execute)
and both of these are true:
- no new owner, contract, schema, public API, architecture boundary, migration, persistence, security/permission, distribution/release surface, or unclear verification boundary appears
- the slice can be described by a
Slice Card
The lane preserves long-task continuity without turning execution bookkeeping into durable planning artifacts. A parent scope or acceptance mismatch returns to the parent plan/spec instead of spawning a micro-plan.
Do not save a new plan. Emit a compact Slice Card:
Slice Card:
- Goal:
- Parent plan/spec:
- Files:
- Boundary:
- Verification:
- Stop:
On the no-parent branch, Parent plan/spec: is none — direct bounded request.
Aegis Project Workspace
Workspace creation is lazy and follows project authority. The Aegis Method
Pack repository must not create or ship a live docs/aegis/ workspace. When a
durable plan must initialize or update another project's workspace, read the
## Workspace Save Detail section of expanded-planning-guidance.md. It owns the
<aegis-workspace-helper> and INDEX.md command detail, not the decision to
create a plan.
Default Plan Surface
Compact output contract: express these as natural plan content, not a stack of
cards: Aegis Visibility, approved scope and plan basis, required baseline
refs, files/owners, compatibility boundary, Change Necessity, TDD route,
tasks, verification, risks, and retirement. Keep conditional structures silent unless their trigger below fires.
Aegis Visibility is normally one sentence explaining which owner, contract,
retirement, compatibility, or verification pressure makes a durable plan
useful. Structured trace belongs only to audit, debug, release, long-task
review, or explicit request.
Before tasks, perform a Requirement Ready Check: identify the approved source,
scope, scenarios, and acceptance evidence. If any decision-changing item is
missing, do not create implementation tasks; return the smallest gap to the
requirement/spec owner.
Perform Change Necessity before any non-trivial source edit or any new source-code path. This is behavior-triggered, not prompt-triggered. State
naturally why no-change/docs/config is insufficient and name the minimum code
boundary. A tiny helper, guard, branch, fallback, adapter, or owner is not
exempt. A no-change, docs/config-only, or needs-clarification result
narrows or stops the code plan.
Run Ripple Signal Triage before tasks when the change touches shared/core or
cross-module behavior; a public API, schema, contract, compatibility,
persistence, cache, export/readback, fallback, adapter, duplicate/legacy owner,
retirement path, or both producer and consumer. If no signal fires, add no
output. If one fires, identify the canonical owner and affected downstream consumers,
state source-of-truth/contract/fallback/retirement risk, and carry expanded verification
into the relevant task. A required owner/public-contract/source-of-truth change,
retaining two owners, or adding a fallback, adapter, or compatibility branch
returns to design or requires explicit prior alignment before implementation.
Run a compact Plan Pressure Test before task decomposition: test owner / contract / retirement fit, higher-level architecture path, verification scope,
and task executability. It may proceed, revise the plan, or return to design;
it is not an approval authority.
Conditional Detailed Guidance
For interface/interaction work, compose ui-ux-governance and carry the accepted
experience criteria and corresponding checks into affected tasks. Include API
changes that alter visible states or recovery; keep backend-only work scoped.
For maintained source, screen file shape, owner fit, add-in-place risk, and a
better boundary. With no pressure signal, a compact edit-in-place decision is
enough. For an ordinary medium/high handoff, state Intent Lock, Scope Fence, Baseline Lock, tests, and drift stop naturally. Load the expanded Execution Readiness View only for the auditable handoff triggers below. Neither form is a
GateDecision, PolicySnapshot, approval gate, or completion authority.
Read only the trigger-matched section of expanded-planning-guidance.md, never
the whole file. This map owns conditional activation, not another planning pass.
Do not load references merely to announce a route or describe a Planless slice.
| Evidence trigger | Exact section and required action |
|---|---|
| Specific baseline acknowledgement needs structure, or requirement readiness is incomplete/disputed | ## Baseline And Requirement Detail; retain the task-blocking Requirement Ready Check above |
| A new surface or new owner is proposed | ## New-Surface And Architecture Detail; run Existence Check and docs/current/AEGIS_MINIMALITY_REFERENCE.md before tasks, reusing an existing owner when sufficient |
| Owner/contract, responsibility overlap, higher-level simplification, fallback or retirement remains risky | ## New-Surface And Architecture Detail; use Architecture Integrity Lens and first-principles-review before decomposition |
| Material file-size, mixed-owner, add-in-place, adapter, fallback or shared-core complexity pressure appears | ## Complexity Detail; use Plan-Time Complexity Check and Complexity Budget. An over-budget result must change the boundary, add governance work, or stop for follow-up |
| Long-running, handoff-prone, subagent-driven, high-risk architecture/contract/compatibility/retirement handoff | ## Execution Readiness Detail; expand the existing plan inputs into the auditable readiness view |
Saving requires workspace initialization or INDEX.md updates |
## Workspace Save Detail |
| Execution-route evidence needs a structured handoff | ## Execution Route Detail |
| An independent high-risk or handoff-heavy review is needed | ## Expanded Plan Review |
The reference supplies detail only. This main file owns routing, plan versus Planless selection, task blocking, and execution handoff.
If the plan must choose among deleting an old internal path, retaining a proven
external compatibility boundary, or stopping for persistent-state
confirmation, compose anti-entropy-governance. It does not authorize
destructive execution.
Preserve approved ADR signal preservation, source refs, alternatives, compatibility, and baseline-sync questions for completion; do not create accepted architecture memory from an unexecuted plan.
Plan And Task Quality
Map files before tasks. Follow existing ownership and naming. For non-trivial
plans, passively use relevant current terms from CONTEXT-MAP.md or CONTEXT.md;
route a real semantic conflict to establishing-project-context.
Every durable plan starts with Goal, Architecture, Tech Stack, Baseline/Authority Refs, Compatibility Boundary, TDD Route, and Verification. Then define small, ordered tasks with exact files, purpose, minimum necessary change, compatibility impact, and commands/outcomes that prove the task. Include code excerpts only when a signature, contract, or transformation would otherwise remain ambiguous; do not duplicate the implementation inside the plan.
For bug fixes, refactors, contract changes, or governance cleanup, keep Repair Track and Retirement Track explicit in the affected task. A retained old owner or fallback needs a reason and retirement trigger.
Self-review once for approved-scope coverage, placeholders, owner/type
consistency, minimum change boundary, compatibility, exact verification,
conditional trigger handling, and retirement. Fix defects inline. Tasks are
execution units, not Git history units: the coordinator captures
TaskStartSnapshot and creates one scoped commit only after the whole Task is
reviewed and freshly verified.
Execution Handoff
The agent owns the execution-route decision. Select subagent-driven only for
genuinely independent tasks with bounded ownership when coordination pays for
it; otherwise select inline. Unavailable subagents falls back to inline execution. A dirty workspace alone does not select either route.
Ask the user only for unresolved authorization, privacy, paid-resource,
external-action, irreversible-action, scope, acceptance, or workspace-ownership
boundaries. Otherwise proceed immediately. State the decision, evidence,
fallback, and User confirmation required: no | yes — <boundary> compactly;
load the reference only when the full Execution Route schema is useful.
For subagent-driven, use aegis:subagent-driven-development. For inline,
use aegis:executing-plans.
04 同仓库更多 Skills
migrate-to-e2e
Moves an existing Playwright, Cypress, Selenium, Appium, Detox, Maestro, or TesterArmy suite to e2e one slice at a time, with the old suite running beside the new one until each ported test is proven. Keeps a MIGRATION.md progress file so any later session resumes where the last stopped. Optionally plants a defect to show both suites catch it. Use for /migrate-to-e2e, "migrate our tests to e2e", "port these Maestro flows", "move our TesterArmy tests", or when a project has an e2e config and an older suite still running.
e2e
Writes, runs, and debugs end-to-end tests for web and mobile apps with e2e, the agentic test runner, which mixes agent.act goals with exact locator assertions on a Playwright browser or an iOS or Android device. Also drives a project's running app live over the e2e MCP server to look at a screen, check a UI change, take a screenshot or record a video, and try a locator; and runs bug bashes, parallel e2e explore runs with each bug proven by a repro test. Use when a project depends on e2e or has an e2e.config.ts, when asked for end-to-end, browser, mobile, or agentic UI tests, to check a change in the running app, to QA or bug bash an app or branch, or when an e2e run fails.
create-verification-skill
Generate a project-local verify-<app> skill on top of e2e, so any coding agent can launch the app, check it is worth driving, exercise a feature the way a user does, keep evidence, and bug bash it. Writes the skill, a feature map with one explore charter per feature, and proves it once. Use for /create-verification-skill, "make a verification skill for this repo", or when a project has no scripted way to prove UI behavior.
deja-search
deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.
deja-reflect
End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.
revid
Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.