From dominiks-skills
Architectural evaluation of a codebase. Finds tech debt, missing patterns, coverage gaps, design inconsistencies; files parent + sub-issues via `gh`. Use when user asks for an architecture review, codebase evaluation, or wants to know what to fix structurally.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dominiks-skills:architect-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Systematic architecture review. Produces issues, not just observations.
Systematic architecture review. Produces issues, not just observations.
/architect-review # full
/architect-review --backend
/architect-review --frontend
/architect-review --api # contract only
/architect-review --testing # coverage and quality
/architect-review --security # auth, guards, validation
No flag → all phases. Skip irrelevant phases for scoped runs.
For each handler/controller:
unwrap/panic in handler/service code; consistent error shape; correct HTTP status per variant; no raw 500s for client errors.find_filtered + count_filtered (or equivalent); consistent paginated shape.ON DELETE semantics intentional; case-insensitive columns where needed.For each page/route:
For types: every field in API types corresponds to a real backend DTO field; enum strings match backend serialization; no leftover any.
For coverage: every page/hook/non-trivial shared component has a test file. List untested ones.
For accessibility (WCAG 2.1 AA): semantic HTML over <div onClick>; aria-label on icon-only buttons; keyboard navigation; focus managed across state changes; non-color status indicators; prefers-reduced-motion respected.
For i18n: no hardcoded user-visible strings; locale files share key structure; spot-check translations for drift.
Mismatches become silent runtime bugs — flag them.
| Concern | Check |
|---|---|
| Auth | Identity provider → backend chain consistent |
| Caching | Query keys namespaced per tenant |
| Pagination | Server-side; no large client-side filtering |
| i18n | All user-visible strings keyed |
| Migrations | Additive; destructive flagged |
| Rate limiting | Right layer for public + auth endpoints |
| Error codes | Every failure path has a stable code mapped to a user message |
ghFor each finding:
gh issue list --search "<keywords>") or PR-comment-sized.Cluster findings into a theme → parent epic + one sub per file or coherent fix.
Parent:
PARENT=$(gh issue create \
--title "<theme of findings>" \
--label "<type>,<area>,<phase>,epic" \
--body "$(cat <<'EOF'
## Summary
<why this theme matters architecturally>
## Sub-issues
- [ ] #TBD — <sub 1>
- [ ] #TBD — <sub 2>
## Acceptance Criteria (overall)
- [ ] Every sub closed
- [ ] No regressions
## Test Strategy (overall)
| Category | Scenario | Outcome |
|---|---|---|
| Tracer bullet | Test that proves the new pattern on the canonical example | Observable |
| Regression | Existing functionality passes | Green |
EOF
)" --json number --jq .number)
Each sub:
gh issue create \
--title "<concise — what is missing or wrong>" \
--label "<type>,<area>,<phase>" \
--body "$(cat <<EOF
Parent: #${PARENT}
## Summary
<the specific gap>
## Current State
<file paths, function names, exact gap>
## Proposed Solution
<correct pattern; reference an existing good example>
## Acceptance Criteria
- [ ] Specific, testable
- [ ] All affected files migrated
- [ ] Tests cover the new pattern
## Test Strategy
| Category | Scenario | Outcome |
|---|---|---|
| Tracer bullet | <test that fails today, passes after change> | Observable |
| Regression | <existing behavior> | Green |
Fix per Pocock-style TDD: failing test first, minimal change, refactor green.
## Files Affected
- path — what changes
EOF
)"
After all subs are filed, rewrite the parent body replacing #TBD with real numbers.
Labels: bug for incorrect behavior, enhancement for improvements; plus area (backend, admin, a11y, security, i18n); phase if the project uses one.
## Findings by layer
- Backend: N — <titles>
- Frontend: N
- API contract: N
- Cross-cutting: N
## Highest priority
<top 3 with issue links>
## Clean
<layers/areas with no findings>
If a layer is clean, say so. Don't pad.
npx claudepluginhub dominikdorfstetter/skillsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.