plan
GitHub根据用户明确请求,在仓库规划区创建结构化的实施计划。需先分析上下文与代码证据,确定目标、决策、范围及垂直切片,并生成防冲突的文件名,确保计划基于事实且可执行。
Trigger Scenarios
Install
npx skills add stella/stella --skill plan -g -y
SKILL.md
Frontmatter
{
"name": "plan",
"description": "Create a concise, evidence-backed implementation plan in the repository planning area when the user explicitly asks for a plan."
}
Plan
Create an implementation plan only when the user explicitly requests one. A plan records decisions and executable slices; it is not a substitute for inspecting the repository.
1. Establish the Planning Context
Read applicable repository instructions and the existing planning system. Prefer the repository's established location and format. When present, inspect:
.agents/ARCHITECTURE.md.agents/GOALS.md.agents/STATUS.md- recent related plans
- the code, tests, schemas, and configuration the task would change
Use $ARGUMENTS as a short slug when provided; otherwise derive one from the
task.
Do not create a second planning system. Use .agents/plans/ only when it is
already established or the repository clearly adopts the shared convention.
If no planning area exists and the repository does not adopt this convention,
ask the user where to save the plan before creating a new directory.
2. Resolve Decisions With Evidence
Trace the current behavior through real entry points and boundaries. Record facts separately from proposals. Ask about a materially different product, security, migration, or compatibility choice only when repository evidence cannot resolve it. Do not pause for discoverable implementation details.
Prefer vertical slices that leave the repository working after each slice when the implementation shape is sufficiently settled. Otherwise plan outcomes and contracts without inventing files or symbols. Identify ownership boundaries, data contracts, invalid states, rollout risks, and generated artifacts explicitly.
3. Create a Collision-Safe File
Follow the repository's existing naming scheme when one exists and is safe for concurrent worktrees. Otherwise use:
YYYYMMDD-HHMMSS-<slug>-<short-unique-suffix>.md
Use UTC for the timestamp. Create the file exclusively and retry with a new suffix on collision. Never overwrite an existing plan. Do not derive a global sequential number from a directory listing: concurrent worktrees can choose the same number.
4. Write the Plan
Use only sections that carry information:
# Plan: [Feature]
## Goal
What outcome changes, for whom, and why.
## Current State
Relevant behavior, entry points, constraints, and evidence.
## Decisions
- **Decision**: choice, alternatives considered, and why they were rejected.
## Scope
In scope and intentionally out of scope.
## Vertical Slices
1. End-to-end slice with real files, boundaries, and a verifiable outcome.
## Contracts and Invariants
Types, schemas, authorization, compatibility, idempotency, and failure behavior.
## Verification
Focused checks, integration coverage, and observable acceptance criteria.
## Rollout and Recovery
Migration, sequencing, monitoring, rollback, or "Not applicable".
## Open Questions
Only unresolved decisions that can change the plan.
Name concrete files and symbols only where repository evidence and settled implementation decisions support them. Avoid pseudocode unless a contract would otherwise remain ambiguous. Keep the plan concise enough to stay useful during implementation.
Report the created path and any decision that still needs the user.
Version History
-
dd81665
Current 2026-08-16 07:08
从使用顺序编号改为时间戳加唯一后缀的防冲突命名;强调基于代码证据而非假设;新增验证、契约和回滚章节。
- 85792bd 2026-07-24 16:11


