skills/technical-debt-records/SKILL.md
Use this skill whenever the user mentions deferred work, known compromises, shortcuts taken, "we'll fix this later," temporary workarounds, missing controls, or any architectural trade-off that should be made visible and tracked. Also trigger when arc42 Section 11 (Risks and Technical Debt) is being authored or updated, when a TDR / Technical Debt Record is requested by name, or when an ADR documents a decision that intentionally accepts debt. Do NOT use for general bug reports, feature requests, or backlog items — TDRs are for architectural or systemic compromises, not ordinary defects.
npx skillsauth add shadowx4fox/solutions-architect-skills technical-debt-recordsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A Technical Debt Record (TDR) makes a known technical compromise explicit, tracked, and reviewable. TDRs are the sibling of ADRs (Architecture Decision Records): where ADRs capture why a decision was made, TDRs capture what was deferred or accepted as suboptimal, and what it will cost later.
This skill creates and maintains TDRs in the target project following the lean format introduced by Patrick Roos (workingsoftware.dev), based on the original concept by Michael Stal.
Create a TDR when the user describes any of:
Do NOT create a TDR for: routine bugs, feature requests, performance tuning of working code, or backlog items that are simply "not done yet." TDRs are for intentional compromises with architectural impact.
tdr/ directory at the repo root of the target project.docs/architecture/11-risks-and-technical-debt.md (or equivalent) to link to the TDR index. Section 11 should contain a short table summarizing open TDRs and pointing to the full records under tdr/.TDR-NNN-short-kebab-title.md (e.g. TDR-001-iis-plain-http-transmission.md).tdr/README.md as the index — a table of all TDRs with ID, title, status, and owner.TDR-001, TDR-002, TDR-003, ...tdr/ for the highest existing ID before assigning a new one.Won't Fix or Resolved.When creating a TDR:
ls tdr/ (or equivalent) to find the next available ID. If tdr/ does not exist, create it and seed tdr/README.md from references/index-template.md.templates/tdr-template.md and fill all five fields. Do not leave placeholder text; if a field cannot be filled, ask the user.Open unless the user explicitly says otherwise. Valid values: Open, Planned, In Progress, Resolved, Won't Fix.tdr/README.md and to the arc42 Section 11 summary table if present.When updating an existing TDR:
## History section at the bottom of the TDR rather than rewriting fields silently.Resolved, link to the commit / PR / ADR that resolved it.Won't Fix, the Description and Impact fields must justify why the debt is being accepted permanently.Every TDR contains exactly these sections, in this order:
Open | Planned | In Progress | Resolved | Won't FixOptional fields permitted at the top (frontmatter): date, related-adrs, affected-components, tags.
See templates/tdr-template.md for the exact structure and examples/ for filled-in references.
TDRs belong conceptually in arc42 Section 11: Risks and Technical Debt. In this skill's convention:
tdr/ (repo root) for tooling-friendliness and discoverability.tdr/, not the full records. This keeps the architecture document readable while preserving traceability.See references/arc42-section-11-snippet.md for a drop-in summary table.
Before finalizing any TDR, verify:
TDR-NNN)tdr/README.md) is updateddevelopment
Run risk and design-characteristics analyses over ARCHITECTURE.md documentation. Produces date-stamped reports in analysis/ covering ten lenses across two groups: HIGH-priority runtime/security — SPOF (single points of failure), Blast Radius (downstream cascade impact), Bottleneck (throughput chokepoints), Cost Hotspots (Pareto cost concentration), STRIDE (per-trust-boundary security threats); Strategic/sustainability — Vendor Lock-in (portability risk and exit cost), Latency Budget (per-hop SLO decomposition), Tech Debt/EOL (currency and deprecated tech), Coupling (fan-in/fan-out and cycles), Data Sensitivity (PII flow and encryption gaps). Each analysis can be requested individually, as a group, or all ten run in parallel. A consolidated Security Posture option (analysis 12) merges the STRIDE and Data Sensitivity reports into a single reviewer-fillable validation checklist of every security control to validate (markdown-only; exportable to a Word worksheet via architecture-docs-export). Output: analysis/<TYPE>-<YYYY-MM-DD>.md (default) OR analysis/<TYPE>-<YYYY-MM-DD>.html (interactive d3.js report; format is selected at runtime — Step 2.4). Requires ARCHITECTURE.md to exist (created by architecture-docs skill). Do NOT invoke for compliance contracts (use architecture-compliance), peer quality review (use architecture-peer-review), or ADR management (use architecture-definition-record).
development
On-demand export of architecture documents to professional Word (.docx) files. Exports are never automatic — invoke explicitly when ready to produce deliverables. Solution Architecture mode synthesizes an Executive Summary from docs/01-system-overview.md, the component index, and the compliance manifest (if present), then exports individual ADR docs. Handoff mode exports selected component development handoffs from handoffs/. Compliance mode exports selected compliance contracts from compliance-docs/. Security Posture mode exports the consolidated security validation checklist (analysis/SECURITY-POSTURE-<date>.md, from architecture-analysis) as a reviewer-fillable worksheet. IMPORTANT — this skill ONLY produces Word .docx files. It does NOT handle releasing, publishing, tagging, freezing, bumping, or finalizing an architecture version. For the Draft → Released lifecycle (git tag architecture-v{version}, archive snapshot, semver bump), use the `architecture-docs` skill (Workflow 10) instead. Do NOT invoke this skill when the user says "release my architecture", "release architecture", "publish architecture", "ship architecture", "tag architecture version", "freeze architecture", "bump architecture version", or "finalize architecture" — those route to `architecture-docs`.
testing
Generate Compliance Contracts (Contratos de Adherencia) from ARCHITECTURE.md files
development
Map a Product Owner Specification onto the organization's 8-domain BIAN v14 capability map (Enterprise Management, Resource Management, Finance & Risks, Operations, Products, Customers, Channels, Business Enabler — 47 capabilities total). Produces ENTERPRISE_ALIGNMENT.md identifying which corporate domains are impacted, which governance rules apply, and which owner counterparts to engage. Mandatory gate before architecture-docs Workflow 1 (new ARCHITECTURE.md creation). Bundled enterprise model is overridable via project-local ENTERPRISE_MODEL.md.