skills/architecture/SKILL.md
Load before designing a new system, choosing between competing implementations, weighing tradeoffs across libraries or frameworks, or escalating an architectural question to a human. Fires at the moment a multi-option design decision appears, not during routine implementation.
npx skillsauth add athal7/dotfiles architectureInstall 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.
Use this when facing a software design decision with multiple valid approaches, hard-to-reverse consequences, or system boundary implications.
Before evaluating options, check whether a prerequisite refactor would simplify the work. For any change touching domain logic, authorization, state machines, or anything enforced in more than one layer — read the relevant code and answer:
If a prerequisite refactor would simplify the work, surface it: propose a separate issue/PR, get user confirmation, do it first.
Gather context. State the problem, constraints, and options. Check issue history and prior decisions if relevant. Research patterns, prior art, library docs.
Present options as a table. Always include 2+ options — never one-option-as-fait-accompli.
| | Option A | Option B | … | |---|---|---|---| | What it is | … | … | … | | Pros | … | … | … | | Cons | … | … | … | | Best when | … | … | … |
Score against software-architecture criteria:
Prefer reversibility and simplicity when criteria conflict. Complexity must earn its place.
Call out system-level anti-patterns by name when present in any option — use the code-quality catalog (Premature Abstraction, Wrong Layer, Leaky Abstraction, Distributed Monolith, Config as Code, Speculative Generality).
Escalate when any of these are true; do not recommend unilaterally:
Recommend with one concrete sentence naming the single most important reason. Never be vague. Never present one option as if no alternatives exist.
If the user asks for an ADR (architecture decision record), use templates/adr.md in this skill directory — covers status, context, decision, decision matrix, alternatives, consequences, and common mistakes. Apply the template to the user's situation; don't repeat it verbatim.
development
Zoom meeting captions — file locations and format
tools
macOS dictation custom vocabulary — sync knowledge base names and terms to the system spelling dictionary
testing
Look up people, projects, products, and decisions locally first: contact info (email, Slack ID, GitHub handle), titles and teams, project/product status, who works on what, and past decisions. Check before searching Slack, email, calendar, or GitHub — this is the first stop for any contact detail, project context, or decision-history question.
testing
Communication style, audience awareness, and AI-authorship markers for human-facing prose — load when composing chat messages, review comments, merge request descriptions, emails, doc bodies, or ticket descriptions