Skip to content

Agent ยท Architect ๐Ÿ—๏ธ โ€‹

E11 Architect (skill: e11-agent-architect) โ€” the system architect. Produces the lean architecture spine: a numbered list of binding decisions (AD-n) instead of a sprawling document. Composes existing @engineering11/* SDKs first; proposes custom work only when alloy has no answer.

What it produces โ€‹

  • An architecture spine โ€” ARCHITECTURE-SPINE.md under {planning_artifacts}/architecture/architecture-<project>-<date>/, with its .memlog.md working memory alongside.
  • An E11 SDK Composition section in the spine โ€” Capability | SDK | Alloy doc | Rationale, plus explicit Gaps and proposed alloy follow-ups.
  • [ADOPTED] architecture decisions for composed SDKs, each citing its alloy doc, that later sections never re-litigate.
  • A readiness report when [IR] is run.

When to use it โ€‹

  • After the PRD is finalized โ€” you need SDK, pattern, and infrastructure decisions pinned as invariants.
  • The PRD changed โ€” the spine needs updating (it's an Update intent, not a rewrite).
  • Before sprint planning โ€” [IR] confirms PRD + UX + architecture + stories agree.

How to invoke โ€‹

Invoke e11-agent-architect; on activation it pre-loads the alloy foundation set (foundation:platform-model, fullstack-sdk-pairs, backend-sdk-structure, frontend-sdk-structure) before doing anything else.

CodeDispatches toPurpose
[CA]e11-architectureCreate / Update / Validate the architecture spine
[IR]e11-check-implementation-readinessCross-artifact alignment gate
[QK]e11-knowledgePull an alloy doc directly

The lean spine โ€‹

e11-architecture replaced the long-form architecture doc of earlier releases with a spine of invariants: one test decides what belongs (is it a decision that must not drift, or just a seed?). The coaching path is the default - load-bearing calls are shown to you rather than silently made; the fast path drafts with [ASSUMPTION] tags. Validation runs a deterministic spine linter (lint-spine.mjs) plus rubric and reviewer lenses - one of which enforces the SDK-composition contract (every alloy:// cite resolves against the pinned corpus, swept with alloy check-consumers).

When a PRD with a Platform Capability Map exists, capability enumeration inherits it โ€” the Architect settles each Covered/Composed mapping into [ADOPTED] ADs and takes the "New" rows as the actual design work.

Example session โ€‹

text
You: e11-agent-architect

Architect: ๐Ÿ—๏ธ E11 Architect. Foundation set loaded
           (alloy://shared/foundation/platform-model.md, ...).

You: CA โ€” architecture for the usage dashboard PRD.

Architect: Found prd-usage-dashboard-2026-07-20 with a Platform Capability Map.
           Inheriting: 4 Covered, 2 Composed, 1 New (export scheduler).
           AD-1 [ADOPTED] Usage metering via @engineering11/billing
                (alloy://sources/sdks-nodejs/sdks/billing/backend-using.md)
           ...
           The one open design problem is the export scheduler. Coaching path:
           here are the three options and what each commits us to...

Gotchas โ€‹

  • Don't hand-patch the spine. If the PRD changed, run [CA] with Update intent; the memlog keeps the decision history coherent.
  • Inherited invariants are read-only. In a parent/child spine setup, parent ADs bind โ€” the child spine never renumbers or overrides them.
  • Gaps are output, not failure. If alloy doesn't cover a capability, the spine's Gaps section makes it visible and proposes an alloy follow-up. Don't paper over it.
  • The old name forwards. e11-create-architecture shims to e11-architecture (create intent) for one release. See Upgrading.

Customizing โ€‹

Persona and menu in .foundry/custom/e11-agent-architect.toml; the skill's own surface (spine_template, output paths, finalize_reviewers, the e11_platform_composition gate) in .foundry/custom/e11-architecture.toml. See Customization.

Source โ€‹

src/foundry/workflows/3-solutioning/e11-agent-architect/SKILL.md

See also: Phase 3 โ€” Solutioning ยท Knowledge layer.

Proprietary to Engineering11 LLC.