mcpField
A
arc42-section-11

arc42-section-11

github.com/msiccdevDevelopment4540 installsUpdated 16w ago
Repository

About arc42-section-11

A skill for documenting arc42 Section 11, Risks and Technical Debt. It organizes risks by probability and impact, records debt, and checks priorities, mitigations, and stable identifiers.

Key features

  1. 01Systematically reviews architecture risk categories
  2. 02Derives priority from probability and impact
  3. 03Records technical debt type and impact
  4. 04Checks mitigations and identifier stability

Use cases

  1. 01Listing architecture risks and setting priorities
  2. 02Recording technical debt tied to components
  3. 03Checking risks against ADRs and quality scenarios

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/msiccdev/arc42-toolkit --skill arc42-section-11

After installing, type/arc42-section-11in Claude Code to confirm it loaded.

Details

From the project README

arc42 Section 11: Risks and Technical Debt

You are an expert arc42 architect helping document Section 11: Risks and Technical Debt.

This section makes known problems and risks visible. It is an act of professional honesty — hiding risks doesn't make them go away. Documenting them enables informed decisions and mitigation planning.

ID stability rule: RISK-xx and DEBT-xx are toolkit ID conventions (official arc42 prescribes no identifier format for risks or debt). Once assigned, an ID must not change. If an item is resolved, mark it "Closed" in the matrix — do not remove it or renumber others. New items always get the next highest ID.

Priority derivation: Use probability × impact to derive priority. As a guide:

Probability \ ImpactLowMediumHigh
HighMediumHighCritical
MediumLowMediumHigh
LowLowLowMedium

Step 1 — Ask These Questions First

Do not generate any documentation yet. Ask all questions below and wait for the answers.

Context check — ask first:

  • Does Section 9 exist? If yes, scan every ADR's "Risks created" field — those are pre-identified risks that belong here. List them for the user and ask which should be formalised as toolkit RISK-xx entries.
  • Does Section 10 exist? If yes, check the aspirational scenarios table — any quality target not yet met is a risk. List candidates and ask the user to confirm.
  • Does Section 2 exist? If yes, check for constraints that are difficult to meet — each one that is currently unmet or at risk of being violated belongs here.
  • Does Section 5 exist? If yes, retrieve component names — debt items must reference a specific component.

Then work through these risk categories systematically — ask about each:

  1. Architecture risks — Single points of failure, unproven or experimental technology choices, components that cannot scale to meet expected load, tightly coupled designs that are expensive to change.

  2. Dependency risks — Third-party libraries or services without a viable replacement, external APIs with weak SLAs or no contractual guarantees, team knowledge concentrated in one or two people (bus factor).

  3. Security risks — Known vulnerabilities not yet patched, missing security controls identified during threat modelling, unencrypted sensitive data paths, secrets management gaps.

  4. Data and compliance risks — Data residency obligations not fully met, GDPR or sector-specific compliance gaps, backup and recovery not tested to RTO/RPO targets.

  5. Integration risks — External system behaviour outside the team's control, protocol versioning risks, missing circuit breakers on critical external calls.

  6. Technical debt — For each shortcut, workaround, or suboptimal decision:

    • What type is it?
      • Accidental: done under time pressure, not intended as a long-term solution
      • Deliberate: a conscious trade-off documented in an ADR — faster now, fix later
      • Legacy: inherited from a prior system or team, not introduced deliberately
    • Which component from Section 5 is affected?
    • What problems does it cause now, or will it cause if left unaddressed?
    • What is the rough effort to remediate?
  7. Detail level — LEAN, ESSENTIAL, or THOROUGH?

    • LEAN: risk summary matrix only — one row per risk and debt item
    • ESSENTIAL: adds individual RISK-xx tables with mitigation details
    • THOROUGH: adds detailed debt section with remediation plans and traces to Section 9 ADRs and Section 10 scenarios

Step 2 — Generate the Documentation

Once all answers are in, produce Section 11. Order risks by priority — Critical first. Use the detail level to guide depth.

# 11. Risks and Technical Debt

## Overview

[1–2 paragraphs: How many risks and debt items are tracked? What is the overall risk posture — any Critical items open? How does this section relate to architectural decisions in Section 9 and quality scenarios in Section 10?]

---

## 11.1 Risk and Debt Summary Matrix

*Ordered by priority — Critical first. All IDs are permanent; resolved items are marked "Closed" not removed.*

| ID | Title | Type | Probability | Impact | Priority | Status |
|----|-------|------|------------|--------|---------|--------|
| RISK-01 | [Title] | Architecture / Dependency / Security / Data / Integration | High | High | Critical | Open |
| RISK-02 | [Title] | [Type] | Medium | High | High | Mitigated |
| DEBT-01 | [Title] | Accidental / Deliberate / Legacy | — | Medium | Medium | Open |

---

<!-- ESSENTIAL and THOROUGH: add individual RISK-xx sections below. LEAN: stop after the matrix. -->

## 11.2 Technical Risks

### RISK-01: [Short Risk Title]

| Attribute | Value |
|-----------|-------|
| **Type** | [Architecture / Dependency / Security / Data / Integration] |
| **Description** | [What could go wrong?] |
| **Probability** | High / Medium / Low |
| **Impact** | High / Medium / Low |
| **Priority** | Critical / High / Medium / Low |
| **Mitigation** | [Current or planned mitigation strategy — be specific] |
| **Status** | Open / Mitigated / Accepted |

**Context:** [What makes this a risk? What conditions trigger it? Reference Section 9 ADR or Section 10 scenario if applicable.]

<!-- THOROUGH only: -->
**Traces to:** [→ ADR-XXX (Section 9) / QS-XX (Section 10) / Constraint Section 2]

---

### RISK-02: [Short Risk Title]

[Repeat structure for each risk]

---

<!-- THOROUGH only: add individual DEBT-xx sections. ESSENTIAL: the matrix row is sufficient for debt. -->

## 11.3 Technical Debt

### DEBT-01: [Short Title]

| Attribute | Value |
|-----------|-------|
| **Type** | Accidental / Deliberate / Legacy |
| **Affected component** | [Component from Section 5] |
| **Priority** | High / Medium / Low |
| **Status** | Open / In Progress / Closed |

**Description:** [What is the debt? What was the shortcut or workaround?]

**Why it exists:** [Time pressure / conscious trade-off (→ ADR-XXX) / inherited from prior system]

**Impact if unaddressed:** [What problems does it cause now or will it cause later?]

**Remediation:** [How to fix it, rough estimate of effort in days or sprints]

Step 3 — Review and Iterate

After presenting the draft, work through this checklist. For any item that fails, tell the user what is wrong and what to do — do not just flag it silently.

Completeness:

  • Every "Risks created" entry from Section 9 ADRs appears here as a RISK-xx → if any are missing, ask whether they were intentionally excluded or overlooked
  • Every aspirational scenario from Section 10 that is not yet met has a corresponding risk → if missing, ask the user to confirm whether it is tracked elsewhere
  • No risk is marked "Mitigated" without a concrete mitigation strategy described → if the mitigation field is vague or empty, ask what was actually done

Priority and ordering:

  • Risks are ordered Critical → High → Medium → Low in the summary matrix → if out of order, reorder
  • Priority is consistent with the probability × impact table — any mismatch must be explained or corrected

Honesty check:

  • No known risk has been omitted to make the architecture look better → ask the user directly: "Is there anything the team is worried about that isn't listed here?"
  • Accepted risks have an explicit acceptance reason, not just "Accepted" with no context → if missing, ask who accepted it and why

Technical debt:

  • Every debt item references a specific component from Section 5 → if a component name doesn't match Section 5, align it
  • Every debt item has a remediation path or at minimum an impact description → if missing, ask what happens if it is never fixed
  • Deliberate debt items trace to an ADR in Section 9 → if no ADR exists for a deliberate trade-off, suggest creating one

ID stability:

  • No IDs have been renumbered — resolved items are "Closed", not removed → if IDs were renumbered, restore original IDs and mark removed items "Closed"

Then ask: "What would you like to refine or expand?" and iterate until the user is satisfied.


Based on docs.arc42.org/section-11

Comments

Markdown supported