<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/arch-decide/SKILL.md, branch main</title>
<subtitle>Claude Code skills, rules, and language bundles
</subtitle>
<id>https://git.cjennings.net/rulesets/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/rulesets/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/'/>
<updated>2026-04-19T22:39:33+00:00</updated>
<entry>
<title>feat(hooks+skills): destructive-bash confirm + architecture suite + problem-solving routing</title>
<updated>2026-04-19T22:39:33+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T22:39:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=560c29ade19be74968d8fec26d469913d383f2e8'/>
<id>urn:sha1:560c29ade19be74968d8fec26d469913d383f2e8</id>
<content type='text'>
Three improvements bundled together:

1. New hook — `destructive-bash-confirm.py` (PreToolUse/Bash):
   Gates `git push --force`, `git reset --hard`, `git clean -f`,
   `git branch -D`, and `rm -rf` behind a confirmation modal with the
   command, local context (branch, uncommitted counts, targeted paths),
   and a severity banner. Elevates severity when force-pushing protected
   branches (main/master/develop/release/prod) or when rm -rf targets
   root, home, or wildcard paths. Reuses _common.py.

2. Architecture suite rename — the "Part of the arch-* suite" footer in
   arch-design, arch-decide, arch-document, arch-evaluate descriptions
   now reads "Part of the architecture suite (arch-design / arch-decide
   / arch-document / arch-evaluate + c4-analyze / c4-diagram for
   notation-specific diagramming)." Matching footers added to c4-analyze
   and c4-diagram. c4-* keep their framework-specific prefix (C4 is a
   notation, arch-* is framework-agnostic workflow) but are now
   discoverable as suite members.

3. Problem-solving cluster routing — added YAML frontmatter with
   descriptions (including "Do NOT use for X (use Y)" clauses) to
   debug/SKILL.md and fix-issue/SKILL.md. Previously both had no
   frontmatter at all, which broke skill-router discovery. The four
   cluster members (debug, fix-issue, root-cause-trace, five-whys) now
   route unambiguously by description alone.
</content>
</entry>
<entry>
<title>feat: architecture skill suite — design, decide, document, evaluate</title>
<updated>2026-04-19T19:08:30+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T19:08:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=ce951b692300d9f8d96af1ef01142748b4ea2bc0'/>
<id>urn:sha1:ce951b692300d9f8d96af1ef01142748b4ea2bc0</id>
<content type='text'>
Four chained Claude Code skills covering the full architecture lifecycle:

  arch-design    Intake (stakeholders, scale, quality attributes, constraints)
                 → candidate paradigms with honest trade-off analysis
                 → recommendation + open-decision list
                 → .architecture/brief.md

  arch-decide    ADR creation and management. Five template variants (MADR,
                 Nygard, Y-statement, lightweight, RFC). Lifecycle, review
                 process, adr-tools automation.
                 Forked from wshobson/agents (MIT). LICENSE preserved.

  arch-document  Full arc42-structured documentation (12 sections) from brief
                 + ADRs + codebase. Dispatches to c4-analyze / c4-diagram for
                 Context, Building Block, Runtime, Deployment diagrams.

  arch-evaluate  Audits implementation against stated architecture.
                 Framework-agnostic checks (cyclic deps, stated-layer
                 violations, public API drift, forbidden deps) run on any
                 language. Opportunistically invokes language-specific linters
                 when configured (dependency-cruiser for TS, import-linter for
                 Python, go vet + depguard for Go). Never installs tooling.

Supporting docs at docs/architecture/:
- README.md    suite overview, install steps, per-language linter install
               commands (Python import-linter, TS dependency-cruiser, Go
               golangci-lint, Java ArchUnit future, C/C++ IWYU future),
               typical flow through the chain
- v2-todo.org  deferred features (auto-gen linter configs, ArchUnit, CI
               mode, DDD aggregate boundaries, visual dep graphs, retroactive
               layering inference)

Makefile SKILLS extended with the four new entries; make install symlinks
them to ~/.claude/skills/ alongside existing skills.

Landscape: arch-decide fills the well-covered ADR bucket by adopting the
strongest community offering rather than reinventing. arch-design and
arch-evaluate fill gaps where no general-purpose skill existed. arch-document
fills the arc42 gap (C4 diagrams already covered by sibling skills).
</content>
</entry>
</feed>
