agentleFS
ryanschueryanschue/automated-product-engineer/skills/architecture-building/SKILL.md

architecture-building

Skill0 starsChanged 26 days agoMITView on GitHub

Design, implement, harden, or review feature architecture from a senior technical lens. Use for separation of concerns, state ownership, API and database boundaries, rendering choices, extensibility, risk analysis, or reviewable pull-request decomposition.

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 7 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read references/discovery-and-spec-analysis.md when the task starts from a broad request, an existing specification, an unfamiliar …

    line 8
  2. Distinctive:

    Start from observed repository facts and the accepted product contract.

    line 10
  3. Distinctive:

    Read references/feature-boundaries.md when designing or reviewing a cross-layer feature, decomposing a large component, or deciding where …

    line 12
  4. Very specific:

    When the request is to assess or modernize an existing application rather than implement a named feature, use codebase-upgrade first.

    line 14
  5. Very specific:

    Read ../codebase-upgrade/references/pattern-atlas.md when the boundary involves thin transport, background jobs, compensated multi-system …

    line 16
  6. Distinctive:

    Read repository instructions, the living feature guide, relevant decision records, schemas, tests, and the closest implemented patterns.

    line 27
  7. Distinctive:

    Use explicit layers where the repository supports them:

    line 34
  8. Distinctive:

    Prefer the smallest vertical slice that proves the riskiest boundary.

    line 53
  9. Distinctive:

    After implementation and manual QA, revisit the design with real evidence.

    line 59

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Architecture Building

Read references/discovery-and-spec-analysis.md when the task starts from a broad request, an existing specification, an unfamiliar repository, or a defect whose owning boundary is unclear. It preserves the original library's codebase-analysis, specification-review, and debugging workflow without requiring separate prompt commands.

Start from observed repository facts and the accepted product contract. Optimize for clear ownership and safe evolution, not abstract purity.

Read references/feature-boundaries.md when designing or reviewing a cross-layer feature, decomposing a large component, or deciding where an extension point belongs.

When the request is to assess or modernize an existing application rather than implement a named feature, use codebase-upgrade first. Its pattern catalog connects observed code to the real reference slices, anti-patterns, owning specialists, and the user decision needed before a broad architecture change.

Read ../codebase-upgrade/references/pattern-atlas.md when the boundary involves thin transport, background jobs, compensated multi-system work, server-enforced feature flags, or when a pre-build inspection needs a stable pattern ID and focused proof.

Intake and pushback

Inspect the current code, callers, data flow, and existing extension seams before asking questions. Establish the user action, authoritative state owner, persistence lifetime, identity and authorization boundary, failure contract, integration points, and expected future variation.

Ask only when a missing answer would change ownership, public contracts, persistence, security, or a required extension point. Ask one to three concrete questions and keep independent analysis moving. If another person must supply the decision, return a filled-in request that summarizes the observed architecture, names the exact unresolved choices, and asks for a decision in a usable form.

Discover before designing

  • Read repository instructions, the living feature guide, relevant decision records, schemas, tests, and the closest implemented patterns.
  • Map current responsibilities, data flow, state transitions, external writers, authorization checks, cache behavior, and operational constraints.
  • Measure or reproduce claimed scale and maintainability problems. File size alone is not a refactor mandate.
  • Record unknowns and pause only when an unresolved decision would materially change the product, persistence model, or security boundary.

Define ownership

Use explicit layers where the repository supports them:

  • entry points compose the experience and choose server/client or process boundaries
  • feature components render domain behavior
  • hooks or controllers own interaction orchestration and state transitions
  • reusable primitives own visual recipes and variants
  • endpoints authenticate, validate, delegate, and serialize
  • services own policy, transactions, query shape, idempotency, and external coordination
  • the database owns durable invariants, constraints, indexes, and migration history
  • jobs and integrations own retry, delivery, deduplication, and reconciliation contracts

Classify each state value as transient local state, shareable navigation state, server cache, durable database state, or external authority. Define precedence and synchronization instead of allowing multiple implicit sources of truth.

Design for failure

  • Separate read visibility from write authority.
  • Define validation, ownership, tenancy, soft deletion, PII, caching, idempotency, concurrency, migration, rollback, and external-writer behavior.
  • Make cache invalidation and stale-response handling part of the mutation design.
  • Select static, server-rendered, client-driven, streamed, or background execution from actual interaction and freshness requirements.
  • Prefer the smallest vertical slice that proves the riskiest boundary.

Produce durable output

Document the chosen boundaries, state/data flow, alternatives, risks, test seams, rollout/rollback plan, and intentional constraints in the feature guide or a short decision record. When implementation spans dependent changes, propose the smallest reviewable dependency graph; every branch must remain coherent on its stated base.

After implementation and manual QA, revisit the design with real evidence. Fix low-risk, high-leverage boundary problems in scope, and record larger non-blocking work with a trigger for revisiting it.

For a concrete implementation, study ../../docs/reference-app-architecture.md and trace either case study in ../../docs/case-studies.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.