From engineering
Create or evaluate an architecture decision record (ADR). Use when choosing between technologies (e.g., Kafka vs SQS), documenting a design decision with trade-offs and consequences, reviewing a system design proposal, or designing a new component from requirements and constraints.
How this skill is triggered — by the user, by Claude, or both
Slash command
/engineering:architecture <decision or system to design><decision or system to design>The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> If you see unfamiliar placeholders or need to check which tools are connected, see [CONNECTORS.md](../../CONNECTORS.md).
If you see unfamiliar placeholders or need to check which tools are connected, see CONNECTORS.md.
Create an Architecture Decision Record (ADR) or evaluate a system design.
Lark-native execution (depth core: LARK-PATTERNS, LARK-RECIPES, LARK-FUSION). An ADR is durable knowledge — it belongs in Wiki, not a chat message (P8). Search prior ADRs with
lark_doc_search; land the new ADR vialark_wiki_node_create(then fill with thelark-docskill). Resolve every "decider" name to anopen_idwithlark_contact_search(P1) before you @-mention them or assign action items. Surface the "which option won + who signs off" decision as an interactive card (lark_im_card_send, P4) so deciders can react inline; gate a binding sign-off with a real approval instance (P7,lark-approval) rather than "reply yes". Turn each ADR action item into a Lark Task (lark_task_create,dry_runfirst — P2). Delegate the design reasoning itself to the system-design skill.
/architecture $ARGUMENTS
Create an ADR: "Should we use Kafka or SQS for our event bus?" Evaluate a design: "Review this microservices proposal" System design: "Design the notification system for our app"
See the system-design skill for detailed frameworks on requirements gathering, scalability analysis, and trade-off evaluation.
# ADR-[number]: [Title]
**Status:** Proposed | Accepted | Deprecated | Superseded
**Date:** [Date]
**Deciders:** [Who needs to sign off]
## Context
[What is the situation? What forces are at play?]
## Decision
[What is the change we're proposing?]
## Options Considered
### Option A: [Name]
| Dimension | Assessment |
|-----------|------------|
| Complexity | [Low/Med/High] |
| Cost | [Assessment] |
| Scalability | [Assessment] |
| Team familiarity | [Assessment] |
**Pros:** [List]
**Cons:** [List]
### Option B: [Name]
[Same format]
## Trade-off Analysis
[Key trade-offs between options with clear reasoning]
## Consequences
- [What becomes easier]
- [What becomes harder]
- [What we'll need to revisit]
## Action Items
1. [ ] [Implementation step]
2. [ ] [Follow-up]
Knowledge base = Lark Wiki + Docs (lark):
lark_doc_search (project with jq, P3) so you don't
re-decide a settled question; lark_doc_fetch the closest match for context.lark_wiki_node_create(space_id, title="ADR-NNN: …"),
then write the body with the lark-doc skill (DocxXML — block JSON by hand is brittle). This is
the canonical home; chat/email link to it (P8).Project tracker = Lark Task + Base (lark):
lark_contact_search
(P1) → lark_task_create(assignee=open_id, due=…, dry_run: true) → confirm → commit (P2).lark_base_record_upsert (P5); scaffold the register via base-deploy if it doesn't exist.npx claudepluginhub larkcowork/lark-cowork-plugins --plugin engineeringCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.