4.6 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}, then close with tools/stage-report.sh - model tag verdict, worklog link, every wiki link written. 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 — run
jsc-cli/tools/model-tags.sh sync, thenjsc-hooks/hooks/sdlc-gate.sh lock plan. This stage requires thereasoning-maxcapability tag. Rules:references/model-gate.md. Completion condition: the script exited 0, and you have reported the stage, the required tag, the model id, model source, and the verdict. -
Read
PLAN_CONTENTSviajsc-gitea:wikiand list the plans whose status is the literal 「未分析」 (not analyzed), with names and HASH. Completion condition: you have listed every 未分析 plan with its name and HASH, or reported that none exists. -
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. Completion condition: the user has picked one option explicitly, and you have named thePLAN_{HASH}page this run writes to. -
Keep questioning until consensus — rules in
references/consensus.md, which is the single authority for both planning and analysis. Cover all three items:- 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.
One round is never enough: every answer must produce the next question, derived from what that answer just exposed. Never fill a gap with your own assumption, and never move on to user stories while any item is still open.
Completion condition: all three items are settled under both conditions of
references/consensus.md— no remaining unknown that would change the output, and the user's explicit confirmation of the summary you read back. -
Turn the consensus into user stories (the zh-TW pattern 「身為⋯⋯我想要⋯⋯以便⋯⋯」), one per line. Completion condition: every consensus item is covered by at least one user story in that pattern, and no user story rests on an unanswered question.
-
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. Completion condition: the page is saved on the wiki and carries every section the template dictates — goal, scope, feasibility, user stories and the consensus summary — with no placeholder left unfilled. -
If the plan page is new, add it to
PLAN_CONTENTSusing the entry format oftemplates/plan-contents.md, with status set to the literal 「未分析」. Completion condition:PLAN_CONTENTSshows the plan's row with the literal 「未分析」, saved on the wiki. -
Stage report — the last thing this stage does, including every early stop (the model gate blocked, no plan was selectable). Run
tools/stage-report.sh planwith one--page PLAN:{page}per wiki page this run wrote (PLAN_{HASH}andPLAN_CONTENTSboth count), plus--worklogand--worklog-headingwhen a work log entry exists. No work log yet: write this stage's log content to a file and pass--pending-file {file} --log-hash {HASH}so it is held for the nextjsc-log:worklogrun. Rules and exit codes:references/stage-report.md. Exit 1 is a warning, never a block. Completion condition: the script's output is reported to the user verbatim, and every wiki page this run wrote appears in it.
Hard limits
- Never output a code snippet.
- Never modify any file in the working directory.
- Never skip the decision tree and assume requirements.
- Never stop questioning after one round; consensus is reached only under
references/consensus.md, and the user says so.