Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
3.0 KiB
3.0 KiB
name, description
| name | description |
|---|---|
| plan | SDLC planning stage. Gate on capability tags enforced in code by sdlc-gate (plan requires reasoning-max, verified against the transcript's actual model id), pick or create a plan from PLAN_CONTENTS, then run a decision tree until goal, scope, and feasibility reach consensus. Produce user stories into wiki page PLAN_{HASH}. Logic only - never write code or modify files. Use when the user wants to start or refine a plan; not for analysis or implementation. |
plan
Goal: create or extend the wiki plan page PLAN_{HASH}.
This skill is a logic-only stage: never output code, and never modify any file.
{HASH} = the shared wiki hash for {owner}/{repo} used to build the PLAN_{HASH} page name, computed by jsc-gitea/tools/hash-id (see jsc-gitea:wiki).
All wiki reads and writes go through jsc-gitea:wiki.
Steps
- Model gate and stage lock (capability tags, enforced in code — never self-assessed):
- Run
jsc-cli/tools/model-tags.sh syncto refresh$JSC_HOME/model-tags.tsvfromjsc-cli/references/model-tags.md. - Run
jsc-hooks/hooks/sdlc-gate.sh lock plan. The script reads the actual model id from the transcript, compares it against this stage's required tags (reasoning-max), and locks the stage only when they match. - Never claim a capability tag you have not verified with that script, and never substitute your own judgement for its verdict. Non-zero exit = blocked: relay the script's message verbatim, stop the skill, do nothing else this turn. Do not run
unlockto get past the gate; only the user may decide that. - Exit 0 means the stage is locked. From now until the next stage's gate runs, the sdlc-gate hook blocks every prompt whose model stops satisfying the tags.
- Run
- Read
PLAN_CONTENTSviajsc-gitea:wikiand list the plans whose status is the literal 「未分析」 (not analyzed), with names and HASH. - Let the user choose per
jsc-ask:askrules: extend an existing plan (list the not-analyzed plans as options) or create a new plan. State the impact scope on every option. - Question via the
jsc-ask:askdecision tree until no doubt remains on all three items; keep asking while consensus is missing:- Goal: the problem to solve and the criteria for success.
- Scope: what is included, what is excluded, which repositories are involved.
- Feasibility: whether the system architecture and data sources support the goal.
- Turn the consensus into user stories (the zh-TW pattern 「身為⋯⋯我想要⋯⋯以便⋯⋯」), one per line.
- Apply
templates/plan-page.mdto create or update the plan page, and write it back viajsc-gitea:wiki. The page content is Traditional Chinese, exactly as the template dictates. - If the plan page is new, add it to
PLAN_CONTENTSusing the entry format oftemplates/plan-contents.md, with status set to the literal 「未分析」.
Hard limits
- Never output a code snippet.
- Never modify any file in the working directory.
- Never skip the decision tree and assume requirements.