design-doc

Authors design documents and companion test plans for simplyblock-operator features and CRDs.

4|Updated Dec 1, 2025
One-click install
npx skills add https://github.com/simplyblock/simplyblock-operator --skill design-doc-simplyblock
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: design-doc
Source: https://github.com/simplyblock/simplyblock-operator/tree/main/.claude/skills/design-doc
Command: npx skills add https://github.com/simplyblock/simplyblock-operator --skill design-doc-simplyblock

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing architecture design documents and test plans for a Kubernetes operator requires grounding every claim in real Go types, controllers, and test files, and keeping the two documents consistent with each other and with the code. This Skill enforces that discipline so design docs stay accurate, reviewable, and traceable instead of drifting into stale prose. ## Core Features & Use Cases - Grounded design authoring: Researches the actual codebase (CRDs in operator/api/v1alpha1/, reconcilers, webapi endpoints, existing tests) before drafting, then writes a numbered design doc following house templates with real Go structs, YAML examples, state machines, and observability tables. - Companion test plan generation: Produces a test plan with permanent scenario IDs (U-, I-, E-, M-), Positive/Negative/Boundary/Regression typing, axis coverage tables, and an honest gap list, with every test function name verified by grep. - Quality gates and conventions: Runs the house-style quality gate and the CRD checker script over the documents, enforces appendix-based full type declarations, and manages cross-linking between design, test plan, and work plan documents. - Use Case: When a GitHub issue asks for a new storage feature, use this Skill to produce design-<slug>.md and test-plan-<slug>.md that cite real code, pass all style gates, and are ready for review. ## Quick Start Ask the assistant to write a design document and test plan for a specific operator feature or GitHub issue, for example: "Write a design doc and test plan for issue #142 covering volume snapshot scheduling."

Frequently Asked Questions about design-doc

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a design document for a Kubernetes operator feature?

Start by reading the relevant GitHub issue and grepping the actual CRD types, reconcilers, and webapi endpoints so the design names real code. Then follow the design template: numbered sections, annotated Go structs with kubebuilder markers, a state machine, observability tables, and a full type appendix.

How do I create a test plan with scenario IDs for controller testing?

Enumerate scenarios across unit (U-), integration (I-), e2e (E-), and manual (M-) classes, each typed Positive, Negative, Boundary, or Regression. Every test function named in the matrix must be verified by grep, and every uncovered scenario must appear in the gap table with a reason.

When should a design doc be split into a work plan?

Only after the design has stopped changing shape, because work items cite section numbers and decisions that renumber under revision. Splitting is handled by the separate work-plan skill, which applies its own readiness test before creating issue-ready work items.

Does the design doc need to include the full CRD type definition?

Yes. A design specifying a CRD ends with one appendix per generated file containing the complete type with all kubebuilder markers, enums, and doc comments. The body quotes individual fields rather than repeating structs, and the check-crds.py script audits the appendix.

What happens when an existing design doc falls out of sync with the code?

Re-sync rather than rewrite: update the Status line, flip section markers from Planned to Implemented, move resolved open questions into the body as decisions, and append new test scenarios with fresh IDs. Never renumber existing sections or scenario IDs, since they are cited externally.