cs
Original:🇨🇳 Chinese
Translated
The root entry of the CodeStable workflow family — introduces the overall system to users and routes users' specific requests to the correct cs-* sub-skills. Trigger scenarios: users only input `cs` / `/cs`, say "introduce codestable", "do something with codestable", "I want to do X, which skill should I use", "don't know which one to use", or users' described requests are open-ended (e.g., "start working") and haven't converged to a specific sub-skill. This skill itself **does not perform actual tasks** — it doesn't write specs, write code, or read/write content products in the codestable/ directory — it only performs scanning, routing, prompting, and then transfers control to the target sub-skill.
4installs
Added on
NPX Install
npx skill4agent add liuzhengdongfortest/codestable csTags
Translated version includes tags in frontmatterSKILL.md Content (Chinese)
View Translation Comparison →cs
cscs-xxxcsOnly two tasks, nothing more:
- When users come with specific requests → match the scenario routing table, tell users which to trigger, and briefly explain why
cs-* - When users just want to learn about the system / can't clearly state what they want to do → provide a concise system overview + let users choose or describe more specific requests
This skill does not perform actual tasks: it doesn't write specs, read/write content products under , or run processes on behalf of sub-skills. Its only output is "suggest which sub-skill to trigger".
codestable/Scans to perform first upon receiving a call
Do these before responding to users (do this every time; it's quick, just a few tool calls):
- Check if the repository has integrated CodeStable — use to see if the top-level directory exists
Glob codestable/ - If it exists — read (if available) as a more comprehensive system reference; use
codestable/reference/system-overview.mdonGlobcodestable/features/codestable/issues/to see ongoing work (just get the directory names, no need to read each file)codestable/roadmap/ - If it does not exist — note this, and later prompt users to run first
cs-onboard - Check the user's original input — is it an open-ended question or a specific request? If it's a request, match the routing table; if not, provide the system overview
Respond only after completing these scans. Make users feel you have a clear understanding instead of responding blindly.
Quick system overview (explain this when users have no specific requests / ask for an introduction)
CodeStable models software development activities into 6 entities + 3 processes, with all products gathered in the directory at the project root:
codestable/codestable/
├── requirements/ Requirement entity ("why this capability is needed", only records current status)
├── architecture/ Architecture entity ("what the system looks like now", only records current status)
├── roadmap/ Planning layer ("how to implement this large requirement next + module splitting + interface definition")
├── features/ Aggregation root for specs of new capabilities (design / impl / accept)
├── issues/ Aggregation root for specs of bug fixes (report / analyze / fix)
├── refactors/ Aggregation root for refactoring specs (beta)
└── compound/ Knowledge accumulation (learning / trick / decision / explore)Three processes:
- New capability development: →
cs-feat-design→cs-feat-impl(start withcs-feat-accepttriage if ideas are vague)cs-brainstorm - Bug fixing: →
cs-issue-report→cs-issue-analyzecs-issue-fix - Refactoring (beta): /
cs-refactorcs-refactor-ff
Cross-cutting: After any process, if "this is worth recording" → use / / / to store in .
cs-learncs-trickcs-decidecs-explorecompound/Core concept: It orchestrates the lifecycle of the software itself (requirements, architecture, features, bugs, decisions), not Agents. Human-in-the-loop — programmers are responsible for overall control, and AI is an efficient executor.
If the project has been onboarded, seefor a more detailed overview.codestable/reference/system-overview.md
Scenario routing table
Match the user's input to a row in the table, then tell the user: "For this request, it is recommended to use because {one-sentence reason}".
cs-xxx| User's input / What the user wants to do | Route to |
|---|---|
No | First run |
| Vague ideas / "I have an idea but haven't figured it out" / "Let's chat first" / "Not sure if it's a new feature" | |
| New feature / new capability / "Add X" / "Implement XX" | |
| BUG / exception / error / "This is wrong" / "Documentation is incorrect" | |
| Code optimization / refactoring / rewrite (behavior unchanged) | |
| Explore code / "How is X implemented" / research questions | |
| Supplement / update requirement documentation | |
| Supplement / update / check architecture documentation / "Refresh architecture doc" / "Do architecture checkup" | |
| Large requirement breakdown / "I want an X system" / scheduling planning / design module splitting + interface contracts | |
| Technology selection / long-term constraints / coding conventions | |
| Pitfall review / experience summary / "This is worth recording" | |
| Reusable programming patterns / library usage / "Do X like this in the future" | |
| Developer guide / user guide | |
| Library API reference | |
| User is in the middle of a feature / issue process and asks "What to do next" | Route to the entry of the corresponding process ( |
If unable to match / user's input is too abstract: "It sounds like {guess}, but {what's missing} in your description. Is it {Option A} or {Option B}?" Let the user choose, don't guess blindly.
Special cases to pay attention to
Repository not integrated yet
If the user wants to perform any cs-* process but does not exist → explain this and recommend running first. Do not route directly to cs-feat / cs-issue etc. on your own — their SKILL.md all assume already exists.
codestable/cs-onboardcodestable/Large requirements mistaken as features
If the user mentions requests like "I want a permission system / notification center / SSO integration" which are obviously too big to complete as a single feature → do not route to , route to (most likely will be judged as case 3 → ) or directly to . Reason: Starting a feature directly will result in an oversized design that can't be accommodated.
cs-featcs-brainstormcs-roadmapcs-roadmap"Modify X" but X is an existing feature
If the user says "Modify the Y behavior of X" → first ask whether this is a bug fix (X's current behavior is wrong) or a requirement change (X's current behavior is correct, but product strategy has changed):
- Bug →
cs-issue - Requirement change → (update requirement documentation) + then run
cs-reqfor implementationcs-feat
Ongoing work
If scanning finds directories related to the user's description under or → mention "Noticed already exists, do you want to continue working on this?" Let the user confirm whether to continue or start a new one, to avoid accidentally creating duplicate features.
codestable/features/codestable/issues/features/2026-04-22-xxx/Subdivision of accumulation skills
learning / trick / decision / explore are easily confused. Discrimination mnemonic:
- Review "Encountered Y when doing X" →
cs-learn - Prescription "Do X like this in the future" →
cs-trick - Rule "All projects follow X from now on" →
cs-decide - Investigation "What is X like now" →
cs-explore
If unable to judge, ask the user: "Do you want to record this as {pitfall review / reusable prescription / long-term convention / research archive}?"
Introduction mode (when users only want to learn / don't know what to do)
Explain in this order, do not dump all information at once:
- One sentence: CodeStable is an AI coding workflow for serious engineering, orchestrating the software lifecycle instead of Agents
- Quick overview of 6 entities + 3 processes (see "Quick system overview" above)
- Ask the user: "Where do you want to start most?" Provide three specific prompts:
- "I have a new feature to develop" → cs-feat
- "There's a bug in the code" → cs-issue
- "The project hasn't integrated CodeStable yet" → cs-onboard
Stop here, don't explain details of all sub-skills. Expand on specific ones only when the user asks.
Exit
This skill has no "documentation" step. The only exit condition is:
- Have told the user which specific sub-skill to trigger next (or confirmed that the user only came to learn about the system and doesn't want to perform tasks)
cs-*
Output example:
For this request, it is recommended to use— {one-sentence reason: because it specializes in handling X-type scenarios}. After triggering, it will {briefly describe what will happen: first scan existing specs / ask you to describe first / enter triage / ...}. Switch tocs-xxxnow?cs-xxx
After confirmation, the user triggers that sub-skill (or directly uses the corresponding skill name in the same session), and this skill's work for this round ends.
Things not to do
- Do not read/write content products under — do not open design.md, modify items.yaml, or create feature directories. These are tasks for sub-skills
codestable/ - Do not make decisions on behalf of sub-skills — e.g., do not perform brainstorm triage in this skill (that's 's job), do not judge which mode cs-arch should use in this skill
cs-brainstorm - Do not recommend multiple skills at once — only point to one path each time. If the user has two independent requests, split into two rounds: finish A first then return to B
- Do not repeat details of the system overview — (exists after onboarding) is the authoritative full version; this skill only provides a concise overview
codestable/reference/system-overview.md - Do not bypass — if the repository is not integrated, onboard first, do not attempt to route directly to downstream skills
cs-onboard