agentleFS
jhonatan-oliveiradevjhonatan-oliveiradev/agent-skills/skills/choosing-application-architecture/SKILL.md

choosing-application-architecture

Skill1 starsChanged 3 months agoMITView on GitHub

Use when starting or reshaping an application where deployment topology, scaling, reliability, ownership, coupling, or delivery constraints make the architectural shape unclear.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write the decision context before naming patterns: users, critical flows, regulatory constraints, team shape, deployment environment, …

    line 12
  2. Distinctive:

    Do not split a system merely because it is large.

    line 21
  3. Distinctive:

    If those forces are absent, strengthen internal modularity before adding network boundaries.

    line 28
  4. Distinctive:

    Before accepting the architecture, walk at least one scenario for:

    line 31

≈ “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

Choosing Application Architecture

Core principle

Choose architecture from the forces the system must withstand, not from a fashionable pattern. Prefer the least distributed shape that satisfies the required quality attributes and change boundaries.

Decision sequence

  1. Write the decision context before naming patterns: users, critical flows, regulatory constraints, team shape, deployment environment, expected change rate, and current operational capability.
  2. Turn vague non-functional goals into scenarios. For each important quality attribute, state the stimulus, operating condition, expected response, and measurable threshold.
  3. Map change and ownership boundaries. Identify which capabilities change together, which need independent release cadence, and which require distinct data or failure isolation.
  4. Establish the simplest viable baseline. A single deployable with strong internal modules is valid when independent deployment, scaling, or failure containment are not demonstrated requirements.
  5. Compare only realistic alternatives. Evaluate coupling, data consistency, latency, operability, testing cost, deployment independence, failure modes, and migration cost.
  6. Make the trade-off explicit. Every option should state what it improves, what complexity it introduces, and which assumptions would invalidate it.
  7. Record architecturally significant choices with an ADR and a review trigger instead of treating the decision as permanent truth.

Evidence before distribution

Do not split a system merely because it is large. Require evidence such as:

  • materially different scaling profiles;
  • independent deployment or ownership needs;
  • fault-containment requirements;
  • stable business boundaries with tolerable cross-boundary communication;
  • operational maturity to observe and recover distributed failures.

If those forces are absent, strengthen internal modularity before adding network boundaries.

Verification

Before accepting the architecture, walk at least one scenario for:

  • normal feature change;
  • partial failure;
  • peak load;
  • schema or contract evolution;
  • deployment and rollback;
  • observability and incident diagnosis.

Reject an option if its claimed benefit cannot be tied to a concrete scenario or constraint.

References

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.