Loading...
Loading...
Gather project context before drafting an ADR — business domain, system landscape, existing ADRs, related repos, LikeC4 model. Run BEFORE draft-adr when the architect is new to the system or context is thin. Back-and-forth Q&A with zero hallucination; every fact confirmed by the human before it counts.
npx skill4agent add janmohammadi/adr-thinking-partner adr-discoveryCONFIRMEDFROM CODE, UNCONFIRMEDUNKNOWNPARKEDCONFIRMEDdocs/adr/docs/decisions/docs/architecture/decisions/adr/README.mdARCHITECTURE.mdCLAUDE.mdpackage.jsonpom.xml*.csprojpyproject.tomlgo.modgit log --oneline -20**/*.c4likec4.config.*model/**/*.c4src/services/payment/docs/adr/0001-...mdlikec4/"In one sentence, what does this system do, and for whom?"
[CONFIRMED] Domain: ..."I see. Is 'Payment' a top-level component of this system? If yes, what's its one-sentence responsibility?"src/services/payment/
"I see Order calls Payment via HTTP POST to. Is this relationship real, and how would you describe it in one line? e.g. 'Order requests charge authorization from Payment'."/charge
"Does this project span other repos? If yes, name them."
CONFIRMED / DISPUTED / UNKNOWNUNKNOWNMUST know before drafting:
- Business domain in 1 sentence (what the system does, for whom).
- The primary architectural characteristic under pressure for THIS decision
(performance / maintainability / security / time-to-market / cost / scalability).
- The ≤5 top-level components involved (by LikeC4 name if a model exists;
otherwise by the name used in the code).
- Any existing ADR touching the same area (supersedes / amends / relates-to / tension).
- Who decides — architect alone, or RFC / review board (cost, cross-team, security thresholds).
NICE to know:
- Team size and skill profile.
- Timeline pressure.
- Compliance / regulatory constraints.
- Whether the project spans other repos, and if so, their names.CONFIRMED"You have [no / an existing] C4 model. I have the confirmed element list and relationships. Runto turn them into a LikeC4 model — it will build Context and Container views (and Deployment if we have that info). View the result with/c4-model."npx likec4 start
/c4-modelCONFIRMED"Context is sufficient. Invokewhen ready."/draft-adr
docs/architecture/open-questions.md[CONFIRMED] Order service handles order lifecycle (per architect, 2026-04-19)
[FROM CODE, UNCONFIRMED] src/email/ — possible Notifications component?
[UNKNOWN] Team size
[PARKED] Regulatory constraints (architect said "not relevant to this decision")docs/architecture/open-questions.mdPARKEDOPENOPENgit loggit blamedocs/architecture/open-questions.mddocs/architecture/open-questions.mddocs/architecture/open-questions.mddocs/adr/adr/docs/decisions/docs/architecture/decisions/# Architecture Open Questions
Living list of things we don't yet know but need to. Not an ADR.
Resolve each item, then re-run `/adr-discovery` or `/draft-adr`.
---
## Q1: [short question]
- Status: OPEN
- Why it matters: [which decision(s) depend on this]
- Where to look: [files/paths to read, commands to run, dashboards to check]
- Who to ask: [team/person/role — or "unknown"]
- Raised: YYYY-MM-DD by [architect name or "discovery session"]
- Related ADR: ADR-NNNN (or "not yet drafted")
## Q2: ...OPENANSWEREDPARKED/draft-adrAn ADR is NOT:
- A tutorial. Don't explain what REST is, what a queue is, what Kafka does.
- An implementation guide. No code snippets except fitness functions.
No config samples, no API signatures, no deployment commands.
- A marketing doc. No "leverage", "robust", "scalable", "enterprise-grade",
"best-in-class", "industry-leading", "seamless", "cutting-edge".
- A hedge. No "it might be good to consider potentially evaluating...".
State the decision in active voice.
- A generic best-practice citation. "Industry standard" is not a reason.
Name the specific business concern and the specific architectural
characteristic it maps to (e.g., time-to-market → maintainability).
- A probability-weighted LLM summary. If the only justification is "this is
how most teams do it", that is an abdication, not a justification.
- A future-proofing essay. Decisions are made for known forces today,
not hypothetical ones.
- Corporate passive voice. "It was decided" is wrong. "We use X" is right.
- A design doc. An ADR records the decision and the why. Implementation
detail belongs in the design doc or the code.
- Long. Context ≤ 3 sentences. Decision ≤ 3 sentences. Consequences as bullets.