technical-design-proposal
Skill0 starsChanged 2 months agoMITView on GitHub
Produce a reviewer-grade, source-backed technical design with mandatory static architecture, runtime architecture, component responsibilities, traceability, provenance, compatibility, and exact change points. Use only after current-state and verified-gap analysis.
In this repository33 other files it gives its agents.
- .github/copilot-instructions.mdCopilot instructions
- adversarial-baseline-auditSkill
- architecture-drift-detectionSkill
- architecture-reconstruction-and-diagramsSkill
- artifact-detailed-designSkill
- baseline-source-of-truth-maintenanceSkill
- claim-verification-and-promotionSkill
- configuration-source-traceSkill
- contract-impact-test-designSkill
- current-state-tdd-synthesisSkill
- design-artifact-decompositionSkill
- design-artifact-decomposition-verificationSkill
- detailed-design-verificationSkill
- full-reverse-engineeringSkill
- implementation-readiness-certificationSkill
- incident-root-cause-analysisSkill
- integration-selection-analysisSkill
- observability-traceability-analysisSkill
- patch-impact-reviewSkill
- persistence-schema-reverse-engineeringSkill
- post-readiness-adversarial-auditSkill
- regression-test-designSkill
- requirement-compliance-reviewSkill
- resolve-high-impact-unknownsSkill
- resume-reverse-engineeringSkill
- reverse-engineering-bootstrapSkill
- reverse-engineering-coverage-auditSkill
- run-engineering-workflowSkill
- runtime-binding-verificationSkill
- runtime-flow-analysisSkill
- technical-design-verificationSkill
- wbs-generationSkill
- wbs-verificationSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
29 rules. About 0 are common, 22 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈22
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 50
When used after compliance/impact analysis:
- Distinctive: line 53
do not redesign behavior already proven compliant
- Distinctive: line 54
do not convert secondary concerns into requirement gaps
- Very specific: line 55
if a design decision depends on unresolved source evidence, use TDD_NOT_READY_SOURCE_GAPS
- Distinctive: line 61
When behavior is operation/surface-specific, include:
- Distinctive: line 69
no condition leakage between endpoints/operations
- Distinctive: line 71
do not widen requirement scope
- Distinctive: line 77
Use the exact heading:
- Distinctive: line 98
no proposed type in CURRENT diagram
- Distinctive: line 100
use exact current source names
- Very specific: line 103
If the feature is structurally trivial and no meaningful current static view exists, explicitly state why CURRENT Static Architecture is …
- Very specific: line 118
When the design introduces or materially changes classes/interfaces/components/responsibilities, include a Mermaid static diagram.
- Very specific: line 129
Use component-style Mermaid when module/package/system boundaries are clearer.
- Distinctive: line 134
every major NEW type/component
- Distinctive: line 135
every materially MODIFIED existing type/component
- Distinctive: line 144
Do NOT invent extra classes just to make the picture symmetrical.
- Very specific: line 154
If the design changes structural responsibilities and PROPOSED Static Architecture is missing:
- Very specific: line 160
Do not issue TDD_READY.
- Distinctive: line 177
Every major type shown in the proposed static diagram must appear here.
- Very specific: line 195
Do not fabricate exact signatures if the design evidence only supports conceptual parameters.
- Distinctive: line 208
When runtime behavior changes, include Mermaid sequence/flow diagrams.
- Distinctive: line 266
Do not add output-layer conditions when earlier retrieval/mapping already enforces the behavior.
- Distinctive: line 272
When a changed design touches an integration/downstream boundary:
- Distinctive: line 282
Do not design for one representative endpoint only.
- Distinctive: line 288
When there are materially different viable placements/approaches:
- Distinctive: line 302
Every proposed change must map to a verified gap or explicit requirement-enabling design need.
- Distinctive: line 311
Use exact source anchors where possible.
- Distinctive: line 372
No change item without traceability.
- Distinctive: line 438
Do not update canonical current-system baseline.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Technical Design Proposal — 4.0
Purpose
A Technical Design must explain BOTH:
WHAT the proposed system structure is
AND
HOW the proposed runtime behavior worksA TDD that contains only prose, gap tables, or sequence flows is incomplete when the change affects software structure or responsibilities.
Use:
Requirement
→ Current Source / Runtime Evidence
→ Verified Gap
→ Proposed Static Architecture
→ Proposed Dynamic Architecture
→ Detailed Responsibilities / Contracts
→ Change Set
→ VerificationSource-of-Truth Rules
Clearly separate:
- CURRENT VERIFIED BEHAVIOR
- REQUIREMENT / INTENDED BEHAVIOR
- VERIFIED GAP
- PROPOSED DESIGN
- ASSUMPTION
- OPEN QUESTION / SOURCE_NOT_RESOLVED
Current repository source is authoritative for CURRENT structure and behavior. Requirement is authoritative for intended behavior. A proposed class/interface/component is never a current-source fact.
When used after compliance/impact analysis:
- design only VERIFIED gaps
- do not redesign behavior already proven compliant
- do not convert secondary concerns into requirement gaps
- if a design decision depends on unresolved source evidence, use
TDD_NOT_READY_SOURCE_GAPS
1. Canonical Requirement / Scope Matrix
When behavior is operation/surface-specific, include:
| Rule ID | Surface / Operation | Applies? | Condition | Required Observable Behavior | Explicit Exclusion |
Rules:
- evaluate each row independently
- no condition leakage between endpoints/operations
- preserve MUST-NOT/non-goals
- do not widen requirement scope
2. CURRENT Static Architecture — Mandatory When Relevant
Use the exact heading:
## CURRENT Static ArchitectureInclude a Mermaid classDiagram or component diagram showing only source-verified existing
classes/interfaces/components that are relevant to the change.
Show where materially relevant:
- controllers/resources/handlers
- services/use cases
- interfaces and implementations
- integration adapters/clients
- data/context models
- repositories/configuration components
- external boundaries
Rules:
- no proposed type in CURRENT diagram
- uncertain relationship must be labeled UNKNOWN or omitted
- use exact current source names
- diagram must be explainable from source evidence
If the feature is structurally trivial and no meaningful current static view exists, explicitly state
why CURRENT Static Architecture is not applicable. Do not omit the section silently.
3. PROPOSED Static Architecture — HARD REQUIREMENT
Use the exact heading:
## PROPOSED Static ArchitectureThis section is a required TDD artifact.
When the design introduces or materially changes classes/interfaces/components/responsibilities, include a Mermaid static diagram.
Prefer:
classDiagramwhen class/interface relationships matter.
Use component-style Mermaid when module/package/system boundaries are clearer.
The proposed static architecture must show:
- important EXISTING types/components that remain involved
- every major NEW type/component
- every materially MODIFIED existing type/component
- interfaces and implementations
- important dependency/composition relationships
- important callers/consumers
- external boundaries where relevant
- the same names used by the written design
Mark proposed artifacts clearly, for example with <<PROPOSED>> or explicit labels.
Do NOT invent extra classes just to make the picture symmetrical.
Non-structural changes
Even when no new class/interface is required, keep the PROPOSED Static Architecture section.
Show the resulting static structure or explain, with evidence, why the static structure is unchanged
and identify which existing responsibilities are modified.
Hard completeness rule
If the design changes structural responsibilities and PROPOSED Static Architecture is missing:
TDD = INCOMPLETEDo not issue TDD_READY.
4. Component Responsibilities — Mandatory
Use the exact heading:
## Component ResponsibilitiesCreate:
| Component / Type | Existing / Proposed | Responsibility | Inputs | Outputs / Result | Dependencies | Requirement / Gap |
Every major type shown in the proposed static diagram must appear here.
5. Class / Interface / Contract Design
When applicable, define:
- proposed/existing class or interface
- purpose
- methods / pseudo-signatures in repository language
- caller(s)
- lifecycle/ownership
- inputs/outputs
- error/result contract
- concurrency/threading only if relevant
- sensitive-data constraints where relevant
Do not fabricate exact signatures if the design evidence only supports conceptual parameters.
Mark conceptual signatures as PROPOSED PSEUDO-SIGNATURE.
6. PROPOSED Dynamic Architecture / Runtime Sequences
Use the exact heading:
## PROPOSED Dynamic Architecture / Runtime SequencesWhen runtime behavior changes, include Mermaid sequence/flow diagrams.
At minimum cover where applicable:
- primary success
- primary functional rejection/failure
- technical error/failure
- important MUST-NOT / excluded flow
- retry/fallback flow
Sequence diagrams do NOT replace static architecture.
7. Current → Proposed Flow Comparison
For materially changed flows:
CURRENT:
entry
→ current decision/integration
→ current observable result
PROPOSED:
same entry
→ minimal new/changed decision point
→ proposed integration/behavior
→ preserved or changed observable resultThis prevents architecture diagrams from becoming disconnected pictures.
8. Field / Data / Context Provenance
For every verified gap involving externally meaningful data:
trigger
→ source/retrieval
→ parse/decode
→ transform/normalize
→ mapping/state
→ serialization/emission
→ observable resultFor proposed behavior:
CURRENT provenance
→ proven break point
→ proposed change
→ resulting provenanceDo not add output-layer conditions when earlier retrieval/mapping already enforces the behavior.
9. Boundary → Exposure Coverage
When a changed design touches an integration/downstream boundary:
boundary
← ALL direct invocation/construction sites
← ALL material caller chains
← ALL external entry points / proven internal rootsThe design must account for all materially impacted external operations. Do not design for one representative endpoint only.
10. Candidate Design Evaluation
When there are materially different viable placements/approaches:
| Candidate | Requirement Coverage | Exclusion Safety | Evidence Support | Coupling | Duplicate Risk | Compatibility | Change Size | Decision |
Choose based on source-backed fit, not architectural fashion.
11. Gap → Solution Matrix
| Gap ID | Surface | Current Observable Behavior | Required Behavior | Proven Break Point | Minimal Proposed Change | Evidence |
Every proposed change must map to a verified gap or explicit requirement-enabling design need.
12. Integration / Existing Change Point Table
| Existing File / Class / Method | Current Role | Proposed Change | Why This Point | Risk | Evidence |
Use exact source anchors where possible.
13. Data Model / Configuration / Persistence
Include only when affected.
For data model:
- field/type
- provenance
- nullability/default
- serialization/persistence
- compatibility
For configuration:
- source/default/override precedence
- consumer
- invalid/missing behavior
- lifecycle/reload
For persistence:
- schema/key
- read/write path
- consistency/transaction behavior
- migration/backward compatibility
14. Error / Failure / Isolation Design
Define:
- functional rejection
- technical failure
- mapping to existing observable behavior
- retry/fallback if applicable
- failure-isolation rules
- whether new supporting logic may mask original behavior
15. Compatibility / Non-Goal Preservation
Explicitly cover:
- unaffected operations
- MUST-NOT behavior
- protocol/API compatibility
- existing success/error behavior
- performance-sensitive call-count/data-volume changes
- sensitive-data handling
- internal/background behavior where relevant
16. Exact Proposed Change Set
| Change ID | Artifact | Existing / Proposed | File / Proposed Location | Change | Requirement IDs | Gap IDs | Verification |
No change item without traceability.
17. Design Traceability
| Requirement | Verified Gap | TDD Decision | Static Architecture Component | Runtime Flow | Change ID | Test / Verification |
This is the bridge from requirement to implementation planning.
18. Diagram Consistency Gate
Before completion, verify:
[ ] CURRENT Static Architecture section exists
[ ] PROPOSED Static Architecture section exists
[ ] proposed diagram includes every major new/modified component
[ ] Component Responsibilities covers every major proposed diagram component
[ ] class/interface design uses the same names as the diagram
[ ] runtime diagrams use the same components/responsibilities
[ ] exact change set uses the same names/locations
[ ] external boundaries are represented correctly
[ ] CURRENT diagram contains no proposed artifacts
[ ] proposed-vs-existing distinction is explicitAny applicable failure means the TDD is not ready.
19. TDD Completion Gate
Before TDD_READY:
[ ] requirement/scope rows are isolated
[ ] verified gaps are separate from assumptions
[ ] current behavior is source-backed
[ ] CURRENT Static Architecture present or explicitly justified N/A
[ ] PROPOSED Static Architecture present or explicitly justified unchanged
[ ] Component Responsibilities present
[ ] dynamic/runtime diagrams cover materially changed flows
[ ] changed field/data provenance is proven where applicable
[ ] boundary/exposure coverage is complete where applicable
[ ] proposed change targets proven break points
[ ] compatibility/non-goals are preserved
[ ] exact change set is traceable
[ ] tests/verification map to observable behavior
[ ] no unresolved HIGH/CRITICAL source-resolvable design gap remainsStatuses:
TDD_READYTDD_READY_WITH_EXTERNAL_BLOCKERSTDD_NOT_READY_SOURCE_GAPSTDD_INCOMPLETE_ARCHITECTURE
Output
docs/reverse-engineering/proposals/<feature>-tdd.md
Do not update canonical current-system baseline.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

