↑ ↓ 移动 · Enter 打开 · Esc 关闭点按一个结果

架构
skill · design 类 · opus

http-client-architect

设计出站 HTTP 适配器:客户端、连接池、超时、重试、弹性和出站认证。

skill · designopus写入 28-cliente-http.md仅限 docs/use-cases/UC-*/**
§ 它写出的文件

28-cliente-http.md,逐块说明

bank-app 还没有 28-cliente-http.md。以下是 SKILL.md 所述该分文件包含的块。

## 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

§ 行为

它读什么、写什么、拒绝什么

skill 自己的契约,取自 SKILL.md,保留原文。

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.

来源:SKILL.md § Contract(nerviz e4cae27)。

§ guard 与 hook

guard 如何处理它

design 是这个 skill 的类。ArchHook 在 skill 被调用时开启一个阶段,并按该类的领地检查每次写入。右侧文字是 hook 自己的输出。

design 类的 write_allow

  • ✓docs/use-cases/UC-*/**
  • ✓docs/use-cases/BACKLOG.md
  • src/**:迁移和类归执行器
  • docker-compose.yml:另一个类的文件
  • 已批准的用例:其 spec 已冻结

拒绝以退出码 2 结束,消息回到模型。

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
§ 编排

它在轨道上的位置

每张卡片是 /new-feature 的一步;箭头带着一步交给下一步的分文件。虚线的步骤仅在用例需要时运行。

/new-feature-implement 之后谁读这份分文件

批准之后,/new-feature-implement 让执行器构建代码。spec 按引用整合,与分文件不一致时以 spec 为准;分文件按章节读取,用于细节。

28-cliente-http.mddocs/use-cases/UC-NNN-…/
按章节读取,用于细节
java-spring-boot-developeragent · executor
写出代码
src/**把一个用例设计成规格,不写代码
← 返回链路