본문으로 건너뛰기
cccskills
무료GitHub에 공개

architect

Find shallow modules and propose deepening refactors, ranked with file refs; never edits code. Use when code is hard to change or planning a refactor.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core스타 90(GitHub 90 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(2)

  • SKILL.md7.9 KB
  • agents/openai.yaml120 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Architect

Find places where the architecture is the bug. Pattern adapted from mattpocock/skills improve-codebase-architecture.

Glossary — see /codebase-design

/codebase-design is the single source of truth for the deep-module vocabulary — module, interface, implementation, depth, seam, adapter, leverage, locality. Load it for the full definitions and use those terms exactly; never drift into "component," "service," "API," or "boundary."

One-line summary: a deep module puts a lot of behaviour behind a small interface at a clean seam — depth buys leverage for callers and locality for maintainers.

Key heuristics (full treatment in /codebase-design):

  • Deletion test: imagine deleting the module. If complexity vanishes, it was a pass-through. If complexity reappears across N callers, it was earning its keep.
  • The interface is the test surface.
  • One adapter = hypothetical seam. Two adapters = real seam.
  • Side effects belong inside deepened modules, not at the call site.

Process

Step 0 — Resolve company + path

  1. Honour explicit [company] [path] arguments
  2. Default path to cwd if cwd is inside repos/; else ask via AskUserQuestion
  3. Resolve company from manifest if path is under companies/{co}/repos/...

Step 1 — Read the project's domain model + decisions

  • Read <repo>/GLOSSARY.md if present (domain glossary)
  • Read <repo>/docs/adr/ if present (architectural decisions)
  • Read <repo>/.claude/policies/ for any soft architecture rules

If GLOSSARY.md exists, always use its vocabulary in candidate descriptions. ADRs record decisions the skill should not re-litigate; mark candidates that contradict an ADR with _contradicts ADR-NNNN — but worth reopening because…_ and only when friction is real.

Step 2 — Fan out exploration

Spawn parallel Agent subagent_type=Explore calls — one per top-level slice of the target. Each agent:

  • Walks its slice
  • Notes friction in the architecture glossary's vocabulary
  • Returns ≤500 words under fixed headings: Shallow modules, Tightly coupled seams, Untested interfaces, Pass-throughs (deletion-test wins)

Step 3 — Score and rank candidates

For each friction point, assign:

DimensionQuestionScore 1-3
Deletion testWould deleting this concentrate complexity?3 = yes, strong; 1 = no, just moves it
LeverageBehaviour-to-interface ratio after deepening3 = high (lots behind a small interface); 1 = low
LocalityChange/bug concentration after deepening3 = single place; 1 = stays scattered
Test surfaceDoes the deepened interface become a useful test seam?3 = yes, replaces N small unit tests; 1 = no improvement
CostRefactor effort3 = small; 1 = large

Sum to a single rank. Present top 5–10.

Step 4 — Present candidates (no edits yet)

Output via numbered list, NOT AskUserQuestion first (the list is too long for a 4-option question — present then ask):

## Candidate N — <name in GLOSSARY.md vocabulary>

**Files:** <file:line refs>
**Problem:** <friction described in glossary terms>
**Solution (plain English):** <what would change>
**Benefits:** locality: <X>, leverage: <Y>, test improvement: <Z>
**Score:** <total> (deletion: <d>, leverage: <l>, locality: <lo>, test: <t>, cost: <c>)
**Recommendation:** <Strong / Worth exploring / Speculative>
**ADR conflicts:** <none / contradicts ADR-NNNN — re-open because …>

The Recommendation badge is a plain-English read on top of the numeric score: Strong = high score and low risk, tackle first; Worth exploring = real friction but non-trivial cost or uncertainty; Speculative = plausible but the case isn't proven yet. Show both — the number ranks, the badge conveys confidence.

Then ask via AskUserQuestion (multiSelect: true): "Which candidates do you want to explore?" with up to 4 options (paginate if more).

Step 5 — Grilling loop per picked candidate

For each picked candidate, drop into a one-question-at-a-time design conversation:

  • What constraints does the deepened module need to satisfy?
  • What goes behind the seam? What stays in callers?
  • What's the interface — types, invariants, error modes, ordering, config?
  • What tests survive the change? What new tests does the seam enable?
  • Are there alternative interface shapes worth considering?

Design it twice. When the interface shape is non-obvious, don't settle on the first design. Reuse HQ's Explore fan-out: spin up parallel Agent sub-agents to design the deepened interface several radically different ways (e.g. a data-oriented shape, a callback/handler shape, a builder/pipeline shape). Then compare the returns on depth (behaviour-per-interface), locality (where change concentrates), and seam placement — and bring the winner (or a hybrid) back into the grilling conversation. See /codebase-design's DESIGN-IT-TWICE.md for the pattern.

Side effects happen inline:

  • Naming a deepened module after a concept not in GLOSSARY.md → add the term lazily.
  • Sharpening a fuzzy term during the conversation → update GLOSSARY.md right there.
  • User rejects with a load-bearing reason → offer /adr, framed as: "Want me to record this as an ADR so future architecture passes don't re-suggest it?" Only offer for reasons future explorers would actually need; skip ephemeral or self-evident ones.

Do not write the refactor. This skill produces the design and the case for it. Implementation goes through /run-project or /tdd.

Step 6 — Save report

Save to workspace/reports/{slug}-architect.md:

# Architect: <repo> @ <path>

**HEAD:** <sha>
**GLOSSARY.md present:** yes / no
**ADRs present:** <count>

## Candidates

### 1. <name> — DECISION: <explored / declined / pending>
<full block from Step 4>

#### Grilling notes (if explored)
<key questions + answers>

#### Outcome
- ADR opened: <yes / no — link>
- Implementation queued: <yes — /prd or /run-project ref / no>

### 2. …

Output integration

OutcomeNext step
Candidate explored, design crystallised/prd (PRD with userStories[] for the refactor) or /run-project (if scope is small)
Candidate rejected with load-bearing reason/adr
New domain term surfacedalready updated GLOSSARY.md inline
Code change shouldn't proceed without test seamhand off to /tdd
Pre-PR review on changed files only/review --architect-pass

Rules

  • Never edit production code in this skill. Candidates and design only.
  • Never propose interfaces in Step 4 — wait for the user to pick before designing.
  • Always use GLOSSARY.md vocabulary for the domain. Always use the architecture glossary for structure terms.
  • Don't list every theoretical refactor an ADR forbids. Only surface ADR-contradicting candidates when the friction is real enough to warrant revisiting the decision.
  • Two-adapter rule before declaring a seam. A single adapter is a hypothetical seam, not a real one — don't recommend abstracting until at least two concrete users exist.

Cross-references

  • /diagnose Phase 6 — entry point when "no good test seam" is the diagnosis.
  • /review --architect-pass — narrower scope (changed files only); same heuristics.
  • /adr — capture decisions that should not be re-litigated.
  • /prd — turn explored candidates into PRD + userStories.
  • /tdd — refactor under test once the candidate is designed.
  • Pattern source: mattpocock/skills improve-codebase-architecture (repos/public/skills/skills/engineering/improve-codebase-architecture/SKILL.md).

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

accept

무료

Accept HQ membership invites from a magic link or raw token.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

adr

무료

Capture qualifying architecture decisions as ADRs in the right HQ or repo location.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

Generate dark ASCII banner graphics for HQ and social launch assets.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

Compare approaches to best-in-class prior art, merge existing work, verify cruft removal, and recommend the most durable design before PRD work.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

Summarize estimate accuracy from the assistant time log.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

indigoai-us의 스킬 모두 보기

이 스킬의 문제 신고