Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use before substantial DeepChat code, configuration, documentation, test, build, feature, issue, refactor, or architecture changes that need a durable spec. Skip trivial style fixes, small localized logic changes, routine docs edits, and simple bugs unless the developer asks for SDD. Classify substantial work into feature SDD, complex-bug issue spec, or architecture SDD; ask before optional GitHub issue sync unless the developer explicitly requested sync.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 7% | 0% |
Use this skill before substantial DeepChat source code, configuration, tests, docs, build scripts, release workflows, or project structure changes that need shared context or a durable decision record.
Skip SDD for trivial or tightly localized work unless the developer explicitly asks for it:
If the scope is unclear, inspect first and then ask whether SDD is wanted instead of creating artifacts by default.
Create one kebab-case folder per goal:
docs/features/<goal>/
docs/issues/<goal>/
design: docs/architecture/<goal>/
If one request contains multiple independent goals, split them into separate folders. Keep current architecture reference docs such as docs/architecture/agent-system.md in place; use subfolders for new architecture targets.
Treat a bug as SDD-worthy only when the root cause, blast radius, or fix path is complex enough that future developers benefit from the written record. For simple style defects or obvious local logic fixes, skip docs/issues/* and implement directly.
If a bug fix introduces a new user-visible capability, data migration, public contract, or cross-module redesign, classify the work as feature or architecture instead.
Feature and architecture goals use the full SDD set:
spec.md: user need, goal, acceptance criteria, constraints, non-goals, open questionsplan.md: implementation approach, affected interfaces, data flow, compatibility, test strategytasks.md: ordered tasks that can map to commits or review slicesComplex bug goals use one file only:
spec.md: issue description, impact, root cause or suspected location, fix plan, task checklist,validation, and linked GitHub issue if one exists
Resolve every [NEEDS CLARIFICATION] marker before implementation. If the requested change is tiny, prefer skipping SDD over creating a token artifact.
Do not sync GitHub issues by default. Issue sync is a follow-up record, not a gate for local SDD or implementation.
Only create or link a GitHub issue when the developer explicitly asks, or after asking and getting approval once the SDD artifacts are written or the implementation is complete.
Eligible work:
ordinary adjustments should not get issues.
If eligibility is unclear, ask the developer after the work is understood. Never self-authorize issue creation just because local gh is installed and authenticated.
When approved:
[feature] label.[bug] label.gh has permission.gh is unavailable or unauthorized, continue local-only and note that no GitHub issue wascreated only when sync was requested or approved.
When creating a PR for linked work, include Closes #NNN in the PR body so GitHub closes the issue automatically after merge.
shared/contracts/*api/*Clientretained spec.md if it is still a maintained contract.
tasks.md or the issue spec checklist as work lands.scope, unless the developer already requested issue sync.
pnpm run format, pnpm run i18n, and pnpm run lint before handoff when app code,tests, i18n, or project docs changed.
deepchat-sdd-cleanup skill only when the developer explicitly asks to clean ororganize SDD documentation.
contracts.
Other measured skills in the registry, with their headline benchmark lift.