plan
GitHub将用户意图转化为单一、可测试的行为规范,明确验收标准、非目标及写入范围。通过路由工作类型并绑定证据根目录,确保计划具备可执行性与边界约束,避免生成额外规划文件。
Trigger Scenarios
Install
npx skills add boshu2/agentops --skill plan -g -y
SKILL.md
Frontmatter
{
"name": "plan",
"consumes": [],
"metadata": {
"tier": "execution",
"effects": [
"update_intent_source"
],
"graph_root": true,
"disposition": "keep",
"capabilities": [
"shape_intent",
"define_acceptance",
"bound_write_scope"
],
"dependencies": [],
"canonical_status": "canonical"
},
"produces": [],
"practices": [
"bdd-gherkin",
"design-by-contract",
"ddd-bounded-context"
],
"context_rel": [],
"description": "Shape or refine the existing bead or caller intent without a second planning artifact. Triggers: \"plan\", \"discover and plan\", \"shape this goal\", \"review write scope\", \"check scope boundaries\", \"scope this change\".",
"hexagonal_role": "domain",
"user-invocable": true,
"output_contract": "in-place caller intent update or concise proposed amendment; never an AgentOps planning artifact",
"skill_api_version": 1
}
Plan
Turn the caller's intent into one bounded, testable behavior in the place that already owns the work. Prefer the caller's tracker, if any; otherwise the caller's conversation or supplied text, which the runtime snapshots so later contexts read and hash the same bytes.
Prompt
Plan bead ag-1234: "ao gate check lists the probe-coverage row". Shape it in
the bead itself: one active behavior, acceptance examples, non-goals, write
scope as a class (cli/internal/gates/** plus regen outputs), first check
`cd cli && go test ./internal/gates/...`. Update the bead in place.
It's working if
- The bead or issue text itself gains acceptance, non-goals, and write scope;
no plan file appears under
.agents/in the diff. - Write scope names a regen class (
skills/**plus every output ofscripts/regen-all.sh), not a hand-enumerated path list. - The plan names one first check as a runnable command, such as
bash scripts/check-x.sh, and a fresh context given only the source can start Implement. - On a risky write scope the plan names the evidence the change will orphan, rather than leaving it for verify time.
Workflow
- Resolve the intent source and choose one active behavior. When the source
is not durable, have the runtime pass its exact bytes to
ao provenance snapshot-intent --source - --evidence-root <explicit-root>and carry the returnedintent_refinto later phases. The caller selects an existing non-Git evidence directory; CDLC uses the resolved protected external evidence root. Missing routing fails without workspace fallback. - Route the work by type (Integrate, Extend, or Greenfield) and name its ground truth, control experiment, and deviation ledger first from references/ground-truth-routing.md. Then inspect only enough real context to make paths, interfaces, and evidence concrete, carrying citations forward; research and specialist skills are advisory inputs.
- Ensure the source contains acceptance examples, important non-goals, and the
allowed write scope. Name the write scope, its effect on acceptance and
enforcement under
validate's risk rule (unknown risk takes stronger review), the caller'srepair_rounds, the named acceptance gap and discriminating check that would establish progress, and the evidence this change will orphan: bound scorecards or contracts whose evaluator files sit in the write scope. Runao provenance evidence-orphans --root <repo-root>with one--changed <path>per proposed changed path to see existing digest drift and exact-path exposure; the reader does not expand scope globs. Budget recapturing affected evidence as work this plan carries, not a discovery for verify time. Use lightweight prose or Given/When/Then only where it removes ambiguity. Write-scope checks (folded from the retiredscopeskill):- patterns are normalized repository-relative paths;
- includes cover the behavior without granting unrelated directories;
- excludes do not contradict required changes;
- generated companions that must move with the sources are explicit;
- no ownership, scheduling, Git, hook, retry, release, or delivery state.
- Name the first useful acceptance check.
- If authorized and the source is writable, update that bead or issue in place. Otherwise return a concise proposed amendment to the caller.
Scope admission
At scope, read boundaries.md in the rpi skill's references directory for
what Plan does not own. In a repository with generated projections, write
scope names generator-owned outputs as a class (the hand-edited sources plus
all outputs of the owning regen commands), because a hand-enumerated list is
falsified the first time a regen command rewrites an unlisted companion.
Before freezing acceptance, enumerate the generated companions, parity twins
such as skills-codex/, and tests asserting on the changed paths;
anything unadmitted here surfaces later as an out-of-scope diff or a broken
gate.
A plan is done only when it passes the fresh-context test: a cold context, given the intent source alone, could execute it. Move any fact that lives only in the planning conversation into the source before freezing.
Planning produces no AgentOps packet: the runtime carries the source's reference and digest to detect acceptance drift. Bound the work around the caller-visible outcome, not files, gates, or reviewer comments; decompose only when it reduces reasoning cost. An explicitly selected bounded outer goal may admit a different experiment after informative red within unchanged terminal acceptance and remaining allowance. A new hypothesis is not an acceptance expansion; recurrence alone is not proof that the design is wrong. Do not reopen an accepted plan merely to produce another control artifact.
Version History
-
8061085
Current 2026-09-09 05:17
引入原生证据辅助工具与新鲜家族审查默认值;实施意图快照、严格证据验证及孤儿检查;强制无头执行的有限边界与修复进度关联。
-
7b07a7d
2026-08-19 22:00
移除 manifest-mode 触发器,明确仅塑造单一活跃行为;强化证据边界与路由决策的咨询性质,确保尊重调用者拥有的意图源。
- 3f402e5 2026-07-24 22:07


