본문으로 건너뛰기
cccskills
무료GitHub에 공개

spec

Create or update Kandev product requirements and system-design documents before implementation. Use for new product behavior, changed contracts, or explicit specification work. Do not use for implementation plans, work orders, incidents, or behavior-preserving refactors.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

kdlbs/kandev스타 1,024(GitHub 1,024 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md8.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Specification Authoring

Use this skill to create or update durable specifications. Requirements define observable behavior. System designs define the technical path that satisfies requirements.

The canonical rules are in docs/specs/guide/. Read these files before you write an artifact:

  • Always read structure-and-ownership.md.
  • Read requirements.md for requirement work.
  • Read system-design.md for system-design work.
  • Read traceability-and-lifecycle.md for IDs, statuses, references, or migration work.

Use the templates in docs/specs/templates/.

Artifact routing

Route the request before you write:

RequestArtifact
Kandev-wide purpose, actors, principles, measures, or constraintsdocs/specs/product/
Observable behavior for one owning system<system>/requirements/
Technical contracts, models, boundaries, or control flow<system>/system-design/
Durable choice with meaningful alternatives/record and an ADR
Delivery sequence and implementation tasks/plan
Incident or behavior-preserving refactorNo product requirement
Bug/fix, which checks the existing requirement first

Do not create a generic spec.md file.

When routing to docs/specs/product/, read docs/specs/product/README.md before editing. Treat its Product document index as the local index: read every linked product document and any co-located INDEX.md, AGENTS.md, CLAUDE.md, or other instruction file when present. Product files provide cross-system context, not feature requirements; preserve proposed and open-question language instead of promoting it to an active contract without confirmation.

Workflow

1. Locate the owning system

Read docs/specs/README.md and the likely system README.md. If the system has not migrated, run this command to locate the legacy source:

python3 scripts/list-docs.py specs --kind legacy --format paths

Search the catalog, requirements, and designs for the capability name and its main nouns:

python3 scripts/list-docs.py specs --text <capability-term> --format paths

Update an existing capability when it owns the same actor, lifecycle, and contract.

Choose the system that owns the source of truth and durable contract. Do not choose an owner from the code directories that change. Record one sentence in the working notes that states why the selected system owns the capability.

User visibility does not make a capability UI-owned. Keep provider state, task state, permissions, persistence, and recovery with their owning systems. Put desktop, mobile, accessibility, and visible failure outcomes in that owner's requirement. Create a UI requirement only for an independent and reusable presentation contract.

The same system owns the requirement and its design. Other systems link to that source. They do not copy it or claim its requirement IDs in design frontmatter.

If no system owns the behavior, define the new system boundary before you write requirements. A new system needs a README.md based on the system template.

2. Confirm intent

Run the /interview-me assumption check, reusing answers from earlier phases. Resolve material choices before writing the affected contract. Preserve settled terminology and decision rationale in the owning artifacts through that skill. Do not hide an unresolved choice in a draft.

3. Write requirements

Create or update:

docs/specs/<system>/requirements/<capability>.md

Each requirement document must contain:

  • Valid frontmatter.
  • One or more stable REQ-* IDs.
  • At least one AC-* acceptance criterion for each requirement.
  • Observable behavior and explicit exclusions.

Use user stories only when they clarify a natural actor and outcome. Do not put files, functions, database queries, or implementation sequences in a requirement.

Keep one cohesive vertical outcome together. Do not create separate backend and UI requirements for the same feature. Split only when actors, lifecycles, or contracts are independent.

4. Write system design

Create or update this file when the change needs a technical design:

docs/specs/<system>/system-design/<capability>.md

The design must list the applicable REQ-* IDs in frontmatter. It can use an explicit empty list for internal infrastructure with no independent product requirement.

Describe stable components, models, contracts, flow, failure behavior, persistence, security, and observability when they apply. Link to global ADRs. Do not copy requirement or ADR text.

Cover all runtime boundaries that implement the owned outcome. A provider-owned design can include backend services, storage, projections, frontend components, responsive behavior, and tests. Do not create a parallel UI design for those same requirements.

5. Update the system boundary

Update the system README.md only when the system boundary, migration record, or related-system links change. State the system boundary and link adjacent systems when ownership can be confused. Do not add a requirement or system-design list.

Before and after adding required links, run wc -c <system>/README.md. Near the 12 KiB system-index limit, keep every required link but use concise labels or other non-semantic compression; never add a size exception. Rerun the specification linter after the index update. Also search the README for count or list summaries, update them when the authoritative pair count changes, and verify that each stated count matches the indexed requirement/design pairs.

During migration, name the new source as authoritative. Replace the old source with a link or archive it. Do not leave two editable sources of truth.

If a migration branch merges or rebases a moving base, re-inventory the migration root after the update. Review files newly added by the base, migrate them or explicitly record them as unmigrated additions before marking the migration complete, then rerun the full specification lint.

6. Validate

Review the artifacts before you run the linter:

  • One system owns each requirement and its design.
  • No adjacent system contains a copied requirement or UI-only duplicate.
  • Requirements contain observable behavior, not storage, control flow, or file details.
  • Every acceptance criterion states a testable behavior. No criterion delegates its meaning to migrated source detail.
  • Selection, restoration, and recovery criteria state candidate eligibility, invalid or ambiguous fallback behavior, and forbidden side effects.
  • Designs map requirement IDs without copying requirement text.
  • Each design identifier that names existing code matches the current source. Use rg to confirm exact symbols before the artifact is complete.
  • New files do not copy the legacy Migrated source detail wrapper.
  • New artifacts appear in the catalog command output for the owning system.
  • Before adding prose to an existing specification, check its current byte count against the applicable limit in structure-and-ownership.md; keep enough headroom for the edit or split the document at a contract boundary.

Run:

python3 scripts/list-docs.py validate
python3 scripts/lint-spec-files.test.py
python3 scripts/lint-spec-files.py --all
git diff --check -- docs/specs docs/decisions

If a file reaches its size limit, split it by capability, lifecycle, or contract boundary. Do not add a size exception for a new document.

An existing legacy_size_exceptions value is a frozen ratchet. When a legacy file grows, reduce or split the content and lower the exception to the resulting exact byte size; never raise the ceiling merely to silence lint.

Design-package behavior

When this skill runs inside /spec-driven-development or /fix, continue to the system design, plan, and work orders. Stop after requirements only when the user explicitly requests a requirements review or a material question blocks safe design.

For a standalone specification request, report the changed paths, requirement IDs, design references, validation results, and open questions. Then return control to the user.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

acp-debug

무료

Debug an ACP agent CLI by spawning it, speaking raw JSON-RPC, and capturing every frame to a JSONL file. Use when the user asks to probe an agent's capabilities, compare agents, test a prompt against an agent, inspect raw ACP wire frames, or investigate why an agent fails to initialize.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

kdlbs/kandev1천2026년 10월 26일 업데이트

Add a new third-party integration (Jira/Linear-style) — per-workspace credentials, 90s auth-health poller, settings page, link/import buttons. Use when scaffolding a new external service integration.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

kdlbs/kandev1천2026년 10월 26일 업데이트

Delete local branches whose remote has been deleted ([gone]), including their worktrees. Use for branch cleanup after merging PRs.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

kdlbs/kandev1천2026년 10월 26일 업데이트

Review changed code for quality, security, and architecture compliance. Use only when the user explicitly requests local review or a PR finding requires it.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

kdlbs/kandev1천2026년 10월 26일 업데이트

commit

무료

Stage and commit changes using Conventional Commits. Use when there are dirty/staged files to commit, the user says "commit", or before pushing a PR.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

kdlbs/kandev1천2026년 10월 26일 업데이트

Curate the right project context before coding or debugging. Use when starting a new session, switching areas of the codebase, output quality is drifting, a task spans backend/frontend/docs, or external instructions need to be reconciled with Kandev conventions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

kdlbs/kandev1천2026년 10월 26일 업데이트

kdlbs의 스킬 모두 보기

이 스킬의 문제 신고