agentleFS
jakubsuplickijakubsuplicki/codument/skills/senior-architect/SKILL.md

senior-architect

Skill48 starsChanged 40 days agoApache-2.0View on GitHub

Design and evaluate software architecture: system boundaries, technical decisions, trade-offs, migration paths, and ADRs. Covers web apps, services, APIs, databases, and distributed systems; the approach is stack-agnostic. Use whenever the user is choosing an architecture, weighing a trade-off (consistency vs availability, build vs buy, which datastore or technology to choose), planning a migration, or asks to architect a system. Do NOT use for implementing a single endpoint, query, or component (use senior-backend / senior-frontend), or for reviewing existing code (use code-reviewer / review-codebase).

25 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use devops-engineer and canvas-design.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • JeffallanSkill

    devops-engineer

    Creates Dockerfiles, configures CI/CD pipelines, writes Kubernetes manifests, and generates Terraform/Pulumi infrastructure templates. Handles deployment automation, GitOps configuration, incident response runbooks, and internal developer platform tooling. Use when setting up CI/CD pipelines, containerizing applications, managing infrastructure as code, deploying to Kubernetes clusters, configuring cloud platforms, automating releases, or responding to production incidents. Invoke for pipelines, Docker, Kubernetes, GitOps, Terraform, GitHub Actions, on-call, or platform engineering.

    Also in 3 projects that use this

  • JetBrainsSkill

    canvas-design

    Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

10 rules. 0 are common, 9 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 24 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When making architectural decisions, follow this process:

    line 15
  2. Distinctive:

    Before proposing any solution:

    line 19
  3. Distinctive:

    Document decisions as ADRs (Architecture Decision Records)

    line 32
  4. Distinctive:

    Ensure backward compatibility during transition

    line 38
  5. Distinctive:

    Every architectural decision is a trade-off.

    line 54
  6. Distinctive:

    Don't propose microservices for a team of 3

    line 90
  7. Distinctive:

    Don't add infrastructure you don't need yet

    line 91
  8. Distinctive:

    Every new component is operational burden — justify it

    line 92
  9. Distinctive:

    If you can't explain it on a whiteboard in 5 minutes, it's too complex

    line 94
  10. Very specific:

    After making any code changes, run codument context --file <path> --owner to find the owning doc — one line, not a read of the whole …

    line 95

“Common” is measured: kept by at least 6 in 10 of the 24 edited versions of this file we could read. “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

Software Architecture

When making architectural decisions, follow this process:

1. Understand Constraints First

Before proposing any solution:

  • What are the scale requirements? (users, data volume, request rate)
  • What's the team size and skill set?
  • What's the timeline and budget?
  • What existing systems must this integrate with?
  • What are the non-negotiable requirements vs nice-to-haves?

2. Architecture Decision Process

For New Systems

  1. Identify the core domain entities and their relationships
  2. Define the system boundaries and integration points
  3. Choose patterns based on actual requirements, not trends
  4. Document decisions as ADRs (Architecture Decision Records)

For Existing Systems

  1. Map the current architecture — what exists, what's painful
  2. Identify the specific problems to solve (don't boil the ocean)
  3. Propose incremental changes with clear migration paths
  4. Ensure backward compatibility during transition

3. Patterns to Consider

Choose based on the problem, not the hype:

ProblemConsiderAvoid If
Simple CRUD appMonolith + RESTYou have <5 developers
Independent scaling needsMicroservicesTeam is small or inexperienced
Complex business rulesDomain-Driven DesignDomain is simple
Real-time dataEvent-driven / CQRSConsistency is critical
High read/write ratioRead replicas / cachingData must be real-time

4. Evaluate Trade-offs

Every architectural decision is a trade-off. Make them explicit:

  • Consistency vs Availability — which matters more for this use case?
  • Simplicity vs Flexibility — will we actually need the flexibility?
  • Performance vs Maintainability — where's the real bottleneck?
  • Build vs Buy — is this a core differentiator or commodity?

5. Output Format

For architecture proposals, use:

## Architecture: [system/component name]

### Context
What problem are we solving and why now?

### Decision Drivers
- [constraint or requirement]

### Proposed Architecture
[description with diagram if multiple components]

### Trade-offs
| Choice | Benefit | Cost |
|--------|---------|------|

### Alternatives Considered
[what else was evaluated and why it was rejected]

### Migration Path
[how to get from here to there incrementally]

Rules

  • Don't propose microservices for a team of 3
  • Don't add infrastructure you don't need yet
  • Every new component is operational burden — justify it
  • The best architecture is the simplest one that meets the requirements
  • If you can't explain it on a whiteboard in 5 minutes, it's too complex
  • After making any code changes, run codument context --file <path> --owner to find the owning doc — one line, not a read of the whole registry — and update it. This is part of the project's Definition of Done.

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.