↑ ↓ to move · Enter to open · Esc to closeTap a result

Architecture
skill · class design · opus

http-client-architect

Designs the outbound HTTP adapter: client, pool, timeouts, retry, resilience and outbound authentication.

skill · designopuswrites 28-cliente-http.mdonly inside docs/use-cases/UC-*/**
§ the file it writes

28-cliente-http.md, block by block

bank-app has no 28-cliente-http.md yet. These are the blocks SKILL.md says the partial contains.

## 1 · Operations

Per port method: dependency, remote call with the documentation link, idempotency and key source, read timeout and its origin, the domain outcomes

## 2 · Client

The client per dependency, the matrix row, the rejected ones, exemplars

## 3 · Engine and pool

Engine, pinned factory, pool sizes and their arithmetic, lease timeout, eviction, engine retry off

## 4 · Outbound authentication

Scheme per dependency, where each credential lives, the exemplar

## 5 · Retry and resilience

The retrying layer, attempts and backoff, breaker, bulkhead, fallback

## 6 · Project-wide setup

Each shared component with NEW / REUSE / CHANGE

## 7 · Configuration

Every property, its value, the environment variable behind each secret

## 8 · Declared dependencies

Coordinates, version empty when managed or read from maven-metadata.xml

## 9 · Contract test cases

Per port method, the mandatory cases with family, errorCode and attempts

## 10 · Requirements to other partials

Key, state, column, reconciliation pass, security impact — requirements only

## 11 · Deferred

Same shape as every partial's Deferred

## Design patterns

Each pattern adopted — step 13b. none when none

§ behavior

What it reads, writes and refuses

The skill's own contract, from SKILL.md, in the original wording.

Class

design — the territory is skill_classes.design in @.claude/schemas/extensions.json, and ArchHook.java guard enforces it. Writes inside the use case folder and nothing else; an adapter written under src/ is refused with exit 2.

Reads

docs/use-cases/UC-NNN-<slug>/00-use-case.md and 10-domain.md (mandatory — stops without the second), 30-rest.md and 32-security.md when present, earlier cases' 28-http-client.md, pom.xml (or the Gradle build), src/main/resources/application*.yml, the outbound wiring on disk, the active blueprint's packages.map, @.claude/rules/http-client.md, @.claude/rules/error-handling.md, @.claude/rules/api-rest.md, @.claude/rules/architecture-ddd.md, @.claude/rules/logging.md, @.claude/rules/observability.md, and references/. Reads Maven Central's maven-metadata.xml for an unmanaged dependency's version.

Writes

docs/use-cases/UC-NNN-<slug>/28-http-client.md. Nothing else.

Owns

each operation's client, timeouts, retry policy and failure table; the project's HTTP engine and pool; the retrying layer of each outbound call; breaker and bulkhead; the outbound authentication wiring; and the project-wide outbound setup.

Does not decide

the use case boundary or its External calls fact (00-use-case.md), the port, its domain types, the idempotency key field or the unknown-outcome state (10-domain.md), tables and columns (20-persistence.md), the reconciliation schedule (35-jobs.md), the inbound chain (32-security.md), or the test shape (40-tests.md). Does not write Java, pom.xml or application.yml — the executor does, from this partial. Doesn't touch .claude/rules/**. Does not design reactive (WebFlux) applications.

Source: SKILL.md § Contract, at nerviz e4cae27.

§ guard and hook

What the guard does with it

design is the skill's class. ArchHook opens a phase when the skill is called and checks every write against the class's territory. The text on the right is the hook's own.

write_allow of class design

  • ✓docs/use-cases/UC-*/**
  • ✓docs/use-cases/BACKLOG.md
  • src/**: migrations and classes are the executor's
  • docker-compose.yml: another class's file
  • a use case already approved: its specs are frozen

A refusal exits with code 2 and the message goes back to the model.

PreToolUse  Skill(http-client-architect)
  audit call                       exit 0
  guard call                       exit 0
# a skill of another class replaces the phase
# write_allow: docs/use-cases/UC-*/**, docs/use-cases/BACKLOG.md
§ orchestration

Where it sits on the rail

Each card is a step of /new-feature; the arrow carries the partial one step hands to the next. Dashed steps run only when the use case needs them.

/new-feature-implement Who reads the partial next

After approval, /new-feature-implement has the executor build the code. The spec is consolidated by reference and wins where it and a partial disagree; the partial is read, by section, for detail.

28-cliente-http.mddocs/use-cases/UC-NNN-…/
read by section, for detail
java-spring-boot-developeragent · executor
writes the code
src/**designs one use case into a spec, writes no code
← back to the chains