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

Architecture
skill · class design · opus

search-architect

Designs the search index as a rebuildable projection: mapping, queries, writes, rebuild and lag.

skill · designopuswrites 23-busca.mdonly inside docs/use-cases/UC-*/**
§ the file it writes

23-busca.md, block by block

bank-app has no 23-busca.md yet. These are the blocks SKILL.md says the partial contains.

## 1 · Projection

One row per field — step 4

## 2 · Index

Alias, version, the mapping file block, shards, replicas per environment, refresh interval

## 3 · Queries

Per port method — step 6

## 4 · Writes

The indexer's rules — step 7. none outside an indexer case

## 5 · Rebuild

The sequence and the source port — step 8. none when no rebuild is designed in this case

## 6 · Lag

The duration consumed, next to Freshness, and the remainder

## 7 · Failure

Per port method: the family and what the read does

## 8 · Requirements to other partials

One row per requirement, target partial named

## 9 · Declared dependencies

Coordinates; version empty when Spring Boot manages it, otherwise the resolved version and its source

## 10 · Configuration

Every property, its value, the reason

## 11 · Deferred

Same shape as every partial

## Compose services

The engine's row

## Design patterns

Step 12b

§ 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.

Reads

docs/use-cases/UC-NNN-<slug>/00-use-case.md (mandatory), 10-domain.md (mandatory), 20-persistence.md of the source's cases, earlier 23-search.md, src/main/resources/search/, pom.xml, docker-compose.yml, the active blueprint's packages.map, @.claude/rules/search.md, @.claude/rules/architecture-ddd.md, @.claude/rules/error-handling.md, @.claude/rules/secrets.md, @.claude/skills/docker-architect/references/compose-service-decision.md, and this skill's references/.

Writes

docs/use-cases/UC-NNN-<slug>/23-search.md. Nothing else — the mapping file lives inside it.

Owns

the search document and its mapping, the index versions and the alias, the query shape and its cursor, the indexer's write rules, the rebuild's adapter and alias swap, the lag the projection consumes, the search dependency and its version, and the search compose row.

Does not decide

whether the case has a search index or which engine (00-use-case.md), the port or the event (10-domain.md), the consumer (25-messaging.md), when the rebuild runs (35-jobs.md), the source's schema (20-persistence.md), or the tests (40-tests.md). Does not write Java, pom.xml, application.yml or docker-compose.yml. Doesn't touch .claude/rules/**.

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(search-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.

23-busca.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