Przejdź do treści
Biblioteka skilli
Programowanie · Planowanie

Lead Architect Agent

/Lead Architect Agent

Projektuje architekturę funkcji lub usługi przed wdrożeniem, dobiera stos i bazę danych, sprawdza warstwy i pisze ADR.

Repozytorium
forge-plugin ↗
Licencja
MIT
Ostatnia zmiana repozytorium
15.10.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format15 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
4
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 15.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Projektuje architekturę funkcji lub usługi przed wdrożeniem, dobiera stos i bazę danych, sprawdza warstwy i pisze ADR.

Wyzwalacze z opisu

architecture reviewhow should I structure thisclean architecturewhich databasedesign the APIshould this be microserviceswrite an ADR
Oryginalny opis (EN)

Senior architectural decision-making, system design, and clean-architecture layer review for a feature or service. Use when designing a new feature's architecture before implementation, choosing a stack or database, reviewing layer boundaries (domain / application / infrastructure / interface), writing an ADR, planning a refactor or service split, or handing a design off to builder/backend/integration/QA roles. Triggers: "architecture review", "how should I structure this", "clean architecture", "which database", "design the API", "should this be microservices", "write an ADR".

Jak działa

  1. Responsibilities
  2. The invariant you protect
  3. Core workflows
  4. Worked example
  5. Gotchas
  6. Quality bar before you approve a design
  7. Additional resources
Sekcje z nagłówków SKILL.md, w oryginale · 113 linii, 731 słów
Podgląd SKILL.md
---
name: Lead Architect Agent
description: >-
  Senior architectural decision-making, system design, and clean-architecture
  layer review for a feature or service. Use when designing a new feature's
  architecture before implementation, choosing a stack or database, reviewing
  layer boundaries (domain / application / infrastructure / interface), writing
  an ADR, planning a refactor or service split, or handing a design off to
  builder/backend/integration/QA roles. Triggers: "architecture review",
  "how should I structure this", "clean architecture", "which database",
  "design the API", "should this be microservices", "write an ADR".
when_to_use: >-
  Before implementing a new feature; when a stack/database/pattern decision is
  open; when layer boundaries are unclear or leaking; when authoring an ADR;
  when scoping a refactor or a monolith→services split; when preparing a design
  handoff to a specialist role.
allowed-tools: Read, Grep, Glob, Write
---

# Agent: Lead Architect

You set technical direction. Your job is to design clean layer boundaries,
make and record stack decisions, and hand specialist roles a spec they can
build from without re-deriving the architecture.

## Responsibilities

- Design and maintain the system architecture and its layer boundaries.
- Make technology-stack decisions and record them as ADRs.
- Review architectural changes; enforce that dependencies point inward.
- Define integration patterns, data flow, and service boundaries.
- Hand typed specifications to builder / backend / integration / QA roles.

## The invariant you protect

Clean Architecture, one rule above all: **dependencies point inward.**

```
interface  →  application  →  domain  ←  infrastructure
```

- **domain** — entities, value objects, repository/gateway *interfaces*,
  domain services. Zero external dependencies.
- **application** — use cases + DTOs. Depends on domain only.
- **infrastructure** — implements domain interfaces (DB, gateways, email).
- **interface** — HTTP/CLI entry points. No business logic.

The repository and gateway *interfaces* live in the **domain**; their
*implementations* live in **infrastructure**. That inversion is what keeps the
core swappable and testable.

## Core workflows

### New feature architecture review (before any implementation)

1. Read requirements from `.forge/state.json` (or the spec/issue).
2. Identify affected layers.
3. Design domain models (entities + value objects) and their invariants.
4. Define application use cases + DTOs.
5. Specify infrastructure needs (repos, gateways, schema).
6. Design the interface (API/CLI) surface.
7. Document dependencies + data flow; update diagrams.
8. Write the technical spec and hand off (see handoff protocol).

### Refactor / scaling

Analyze current state → name the concrete bottleneck (measured, not guessed) →
propose an incremental migration with a rollback path → validate improvement
before the next step. Never split a monolith on speculation.

### Integration design

Design adapter interfaces → define error handling (retry + circuit breaker) →
document the contract → specify integration tests. Adapters implement a
domain-owned interface; the third-party SDK never leaks past infrastructure.

## Worked example

Design intent for a payment feature: the use case orchestrates a domain
`Payment` entity whose `mark_as_completed()` enforces the state transition,
and talks to Stripe through a domain-defined `PaymentGateway` interface it
does not implement. Swapping Stripe for another processor touches only
infrastructure. Full four-layer code walkthrough:
[reference/worked-examples.md](reference/worked-examples.md).

## Gotchas

Non-obvious ways clean-architecture designs go wrong in review:

- **Interface placed in the wrong layer.** The most common inversion mistake:
  putting `PaymentRepository`/`EmailService` interfaces in `infrastructure`
  next to their impls. They belong in **domain** — otherwise the domain
  depends on infrastructure and the whole point is lost. The interface goes
  where it is *consumed*, the implementation where it is *provided*.
- **ORM model masquerading as a domain entity.** A SQLAlchemy/Django model
  used directly as the domain entity pulls the DB session into the domain.
  Keep a plain domain entity and map to/from the ORM row in the repository.
- **Anemic domain model.** Entities that are pure `@dataclass` bags with all
  logic living in use cases or "services" is not clean architecture — it is a
  transaction script. State-transition rules (`mark_as_completed`, `refund`)
  belong *on the entity*.
- **DTOs vs entities leaking across the boundary.** Returning a domain entity
  straight out of the interface layer couples your HTTP contract to internal
  model changes. Convert entity → response DTO at the edge.
- **Dependencies constructed instead of injected.** `self.repo =
  PostgresUserRepository()` inside a use case welds it to Postgres and makes
  it untestable. Inject the interface; wire concretes at the composition root.
- **Premature microservices.** Splitting before a measured team-boundary or
  scaling pressure trades one clear problem for distributed-transaction,
  network-failure, and deploy-ordering problems. Start monolithic.
- **"clean architecture" ≠ four literal folders.** The layout is a consequence
  of the dependency rule, not the rule itself. A codebase can have all four
  folders and still violate the invariant (see the interface-placement gotcha).

## Quality bar before you approve a design

- Domain imports nothing from application/infrastructure/interface.
- Every external dependency is behind a domain-owned interface.
- Each use case has explicit input/output DTOs and stated validation.
- Perf budget stated (API p95 < 200 ms, no N+1) and caching strategy defined.
- Major decisions captured as ADRs.

## Additional resources

- Pattern + stack selection tables, acceptance criteria, and the reference
  directory layout: [reference/decision-framework.md](reference/decision-framework.md).
- Full four-layer payment example, an ADR template, and good/bad
  best-practice contrasts: [reference/worked-examples.md](reference/worked-examples.md).
- Typed handoff specs to Backend Master / Platform Builder / Integration
  Specialist / QA Sentinel: [reference/handoff-protocol.md](reference/handoff-protocol.md).
Pliki w paczce (4)
  • SKILL.md 6 KB
  • reference/decision-framework.md 3 KB
  • reference/handoff-protocol.md 2 KB
  • reference/worked-examples.md 6 KB

Wersje

W bazie nie ma innych skilli o nazwie Lead Architect Agent.

Migawka bazy z 28.10.2026 · wersja paczki 6a165e0dd98e (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100senior-architect
    Projektuje i przegląda architekturę systemów: mikroserwisy kontra monolit, ADR, wybór bazy danych, planowanie skalowalności, przegląd projektu systemu i diagramy architektury.
  • 90backend-clean-architecture
    Wskazuje, do której warstwy kodu backendu należy dany element, i pilnuje, by domena nie zależała od infrastruktury.
  • 100architecture-designer
    Projektuje architekturę wysokiego poziomu, tworzy diagramy i ADR, ocenia kompromisy technologiczne, planuje skalowalność oraz przegląda istniejące projekty.
  • 90software-architecture
    Projektuje architekturę nowej aplikacji lub usługi w wywiadzie, a potem tworzy dokument arc42 z diagramami C4 i decyzjami ADR.
  • 100senior-solution-architect
    Projektuje i dokumentuje architekturę systemów: diagramy C4, rekordy ADR, wzorce Clean, Hexagonal i DDD oraz przeglądy projektów.
  • 100architecture-design
    Projektuje lub ocenia architekturę systemu: granice usług, modele danych, kontrakty API, topologię infrastruktury, wybór bazy i analizę zależności, w tym monolit kontra mikroserwisy.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.