architecture
Scan the codebase for architectural friction and propose deepening opportunities as candidate cards, then interrogate the chosen one into a decision.
Skill by AbdurRafay2004
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/abdurrafay2004-architecture
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/architecture
What's inside
- Skill name
architecture- Description
- Scan the codebase for architectural friction and propose deepening opportunities as candidate cards, then interrogate the chosen one into a decision. Two entry points — proactive, when the user asks "improve the architecture" or "why is this codebase painful to work in"; reactive, when the debug skill's "3+ failed fixes = architectural problem" rule hands off here. Inherently T2/T3; the outcome is a decision plus a plan.
- License
- MIT
- Instructions
- 114 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Architecture
Part of the **Plan/Build** phases — see the `workflow` skill for tiers and sequencing.
Surface architectural friction and propose **deepening opportunities** — refactors
that turn shallow modules into deep ones. The aim is leverage, locality, and
testability. This is inherently **T2/T3** work: the outcome is a *decision and a
plan*, executed via the `plan` skill — never an immediate rewrite.
## Two entry points
1. **Proactive** — the user asks to improve the architecture, or asks why this
codebase is painful to change, navigate, or test.
2. **Reactive** — the `debug` skill hands off here under its rule that **3+ failed
fixes on the same bug signals an architectural problem**. Start the friction
scan in the neighbourhood of the failed fixes.
## Vocabulary and prior decisions
- Use the `design` skill's glossary exactly — **module**, **interface**, **depth**,
**seam**, **leverage**, **locality** — in every suggestion. Don't drift into
"component," "service," "API," or "boundary."
- Read the project's domain glossary and context notes in `.handoff/context/`
and any ADRs in `docs/adr/` **before** scanning. Domain language names good
seams; ADRs record decisions this skill should not re-litigate.
- Name things in domain terms: if the glossary defines "Order," talk about
"the Order intake module" — not "the FooBarHandler."
## Process
### 1. Friction scan
Walk the codebase organically — don't follow rigid heuristics; note where you
*experience* friction:
- Where does understanding one concept require **bouncing between many small
files**? That comprehension cost is the friction itself.
- Where are modules **shallow** — interface nearly as complex as the implementation?
- Where have **pure functions been extracted just for testability**, while the real
bugs hide in how they're called (no locality)?
- Where do tightly-coupled modules **leak across their seams**?
- Which parts are **untestable through their current interface** — no seam to test at?
Apply the **deletion test** to anything you suspect is shallow: would deleting it
*concentrate* complexity, or just move it? "Yes, concentrates" is the signal you want.
The scan MAY be delegated to a read-only subagent per the `delegate` skill —
context-flooding search is its #1 trigger; you need the conclusions, not the file dumps.
### 2. Present candidates as markdown cards
Present findings directly in chat as plain markdown — one card per candidate:
```markdown
## Candidate: <domain-term name>
**Strength:** Strong | Worth exploring | Speculative
**Files:** `path/one.py`, `path/two.py`
**Problem:** One or two sentences — what hurts, in friction terms
(bouncing, shallowness, no locality, untestable seam).
**Proposed solution:** Plain English — what would change. No interfaces yet.
**Benefits:** In terms of locality, leverage, and how tests would improve.
**Before → After:**
- Before: caller → helperA → helperB → helperC (concept smeared across 4 files)
- After: caller → DeepModule (one seam, one place to test)
```
- **Recommendation strength** is one of `Strong`, `Worth exploring`, `Speculative`.
- **Before → After** is a compact text sketch (arrows, indented trees, or a short
bullet pair) — enough to show the shallowness and the deepening. No HTML, no
diagram files, nothing written to disk.
- **ADR conflicts:** if a candidate contradicts an existing ADR, surface it *only*
when the friction is real enough to warrant revisiting the decision, and mark it
clearly: *"contradicts ADR-0007 — but worth reopening because…"*. Don't list
every theoretical refactor an ADR forbids.
End with a **Top recommendation**: which candidate to tackle first, and one
sentence on why.
Do NOT propose interfaces yet. Ask the user: **"Which of these would you like
to explore?"**
### 3. Pick one → interrogate → decide
Once the user picks a candidate, run the `brief` skill's interrogation on it —
walk the design tree together: constraints, dependencies, the shape of the
deepened module, what sits behind the seam, which tests survive. To explore
alternative interfaces for the deepened module, lean on the `design` skill.
Side effects happen inline as decisions crystallize:
- **Naming a deepened module after a concept not in the glossary?** Add the term
to the domain notes in `.handoff/context/`. Sharpened a fuzzy term mid-
conversation? Update it right there.
- **User rejects the candidate with a load-bearing reason?** Offer to record it —
in `.handoff/context/LEARNINGS.md` as a `pitfall` entry ("rejected: X
because Y") or as an ADR in `docs/adr/` — framed as:
*"Want me to record this so future architecture scans don't re-suggest it?"*
Only offer when a future explorer would actually need the reason; skip
ephemeral ones ("not worth it right now") and self-evident ones.
- **Candidate accepted?** The decision goes to the `plan` skill for an
implementation plan at the appropriate tier. This skill's job ends at the
decision.
---
*Adapted from mattpocock-skills (MIT, © 2026 Matt Pocock); see ATTRIBUTION.md.*From AbdurRafay2004/handoff, MIT.
More from AbdurRafay2004/handoff
- 0.614score
ship
AbdurRafay2004
Use when work is verified and ready to leave the machine — branch/PR/merge/deploy/smoke-check.
SkillAFreshness: A★ 4Claude Code +9 - 0.614score
verify-done
AbdurRafay2004
Use when about to claim work is complete, fixed, or passing — before committing, opening a PR, or telling the user it works.
SkillAFreshness: A★ 4Claude Code +9 - 0.614score
security
AbdurRafay2004
Use for a full security audit — T3 verify gate (money, auth, user data, migrations), pre-launch check, or when the user asks to audit the codebase for…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
setup
AbdurRafay2004
Scaffold the handoff project-memory system into THIS repository (new or existing) — copies the template tree into .handoff/, then runs a guided discovery pass…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
browser-qa
AbdurRafay2004
Use to exercise the running app in a real browser — after UI changes, before ship, or when the user asks to QA the site, smoke-test a branch, or check "does…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
delegate
AbdurRafay2004
Use when a task would flood the main context window — broad searches, verbose test/build output, 2+ independent parallel tasks, or an isolated large workstream.
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
brief
AbdurRafay2004
Use when starting a new feature or product request — clarifies scope and decisions before implementation.
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
plan
AbdurRafay2004
Use when a task is T2/T3 — before building a feature that spans multiple files or carries risk.
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
workflow
AbdurRafay2004
The operating pipeline for all development work — 6 phases (Brief, Plan, Build, Verify, Ship, Learn) with risk tiers that decide how much process a task gets.
SkillAFreshness: A★ 4Claude Code +9 - 0.524score
tdd
AbdurRafay2004
Use when building any T3 feature or bugfix, recommended for T2 on the affected path — write the failing test before the implementation, one behavior at a…
SkillCFreshness: C★ 4Claude Code +9 - 0.524score
design
AbdurRafay2004
Use when designing or improving a module's interface, deciding where a seam goes, making code more testable or navigable, or pinning down domain terminology.
SkillCFreshness: C★ 4Claude Code +9 - 0.519score
learn
AbdurRafay2004
Use at the end of T3 work, after an incident/rollback, or when the user asks for a retro — turns what happened into recorded learnings that live in the repo…
SkillCFreshness: C★ 4Claude Code +9
Signals
- Stars
- 4
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 11, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/AbdurRafay2004/handoff
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from AbdurRafay2004
- 0.614score
verify-done
AbdurRafay2004
Use when about to claim work is complete, fixed, or passing — before committing, opening a PR, or telling the user it works.
SkillAFreshness: A★ 4Claude Code +9 - 0.614score
ship
AbdurRafay2004
Use when work is verified and ready to leave the machine — branch/PR/merge/deploy/smoke-check.
SkillAFreshness: A★ 4Claude Code +9 - 0.614score
security
AbdurRafay2004
Use for a full security audit — T3 verify gate (money, auth, user data, migrations), pre-launch check, or when the user asks to audit the codebase for…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
browser-qa
AbdurRafay2004
Use to exercise the running app in a real browser — after UI changes, before ship, or when the user asks to QA the site, smoke-test a branch, or check "does…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
brief
AbdurRafay2004
Use when starting a new feature or product request — clarifies scope and decisions before implementation.
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
workflow
AbdurRafay2004
The operating pipeline for all development work — 6 phases (Brief, Plan, Build, Verify, Ship, Learn) with risk tiers that decide how much process a task gets.
SkillAFreshness: A★ 4Claude Code +9
Cite this page
architecture skill. Agent Mart. https://agentmart.dev/skills/abdurrafay2004-architecture (last updated 2026-10-24)