원클릭으로
rules
Capture feature-level design decisions and the technical constraints that follow, traceable to acceptance criteria
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Capture feature-level design decisions and the technical constraints that follow, traceable to acceptance criteria
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
A method for organizing a prototype that illustrates an agentic, spec-driven PR review—the type a person employs to determine if a merge is acceptable without scrutinizing each alteration. Applicable when a user intends to create, outline, or develop a review interface, a review dashboard, a PR-review process, or a "verdict screen" for an agent-generated modification set, particularly one generated by a specification-driven development (SDD) workflow. Triggers encompass: "review flow", "PR review prototype", "review UI", "how should I present this review", "verdict-first review", "visualize the PR", or asking how a developer should review an agent's output. This is a METHOD skill — it tells you how to think about and lay out the prototype; it does not lock you to a single output format. Do NOT use for performing the code review itself (finding bugs, judging the author) — that is a different skill.
Reviews a pull request in two stages — first interrogating the author to verify they understand and can defend every decision in their own submission (catching AI-generated code forwarded without comprehension), then performing a structural design review of intent fidelity, abstractions, coupling, and failure behavior. The comprehension gate must pass before the design review runs. Use when reviewing a feature PR, vetting incoming code for author ownership, screening for AI slop, or running a deep structural review beyond what CI and linters cover.
Interview the user one question at a time, walking the decision tree, to clarify a feature proposal before implementation
Translate the spec into a complete, traceable set of acceptance criteria in EARS form
Stress-test the spec pipeline outputs against each other and the codebase before implementation begins
Generate an implementation task list from validated spec artifacts
| name | rules |
| description | Capture feature-level design decisions and the technical constraints that follow, traceable to acceptance criteria |
Translate spec and criteria into the design shape for this feature and the constraints that follow. Constraints specify HOW the system should be built, complementing acceptance criteria which specify WHAT.
Pipeline position: proposal → spec → criteria → rules → review → plan
You make the feature-level design decisions an implementing agent would otherwise invent during coding, and record them as validatable constraints. You do not invent product decisions. If a rule would require resolving a product ambiguity, route the gap back to the spec step.
CLAUDE.md / AGENTS.md / GEMINI.md at the project root, if presentdocs/architecture if presentSpec and criteria take precedence over the proposal.
Before writing any rule, read agent guidance files and note established package layout, frameworks and versions, and existing patterns for persistence, error handling, logging, testing. Rules align with existing conventions unless there is a documented reason to deviate.
This step is non-negotiable. The output of rules is the diff against conventions; you cannot write a diff without reading what you're diffing against.
Identify the actual decisions this feature requires. Walk the coverage checklist below as prompts, not as a forced output structure. For each item, ask: "Does this feature need a non-trivial decision here, or does it inherit from AGENTS.md, skills, and existing patterns?"
Coverage checklist:
If an item is fully covered by AGENTS.md, skills, or existing patterns, do not produce a rule for it. Inheritance is the default; rules capture only the diff.
For each checklist item that touches technology or architecture (3, 5, 6, 7, 9, 10, 11, 12), apply the Ecosystem Survey lens before deciding:
If yes to any, the decision is a judgment call. It MUST go through Interactive Resolution. Do not silently default to "what the project already has." Staying lean is a valid choice, but it must be a recorded one.
Some decisions derive mechanically (naming matches convention, test framework matches the project). Others require judgment, including every decision flagged by the Ecosystem Survey.
For judgment calls, you MUST use AskUserTool. Do not silently default. Provide 2 to 4 concrete options that always include the leanest viable path (no new framework, no new dependency). Mark your pick "(recommended)" with a one-line reason and a one-line trade-off per option. One question at a time. Re-plan after every answer.
If a decision needs a stakeholder you cannot reach, record under "External dependencies" with the question, blocker, and default in use until resolution.
Only emit a rule if at least one holds:
Restating project-wide defaults is noise. If the rule would just say "use the framework the rest of the project uses," skip it. Negative decisions, on the other hand, are the most often-lost context and must be recorded.
If every rule in the output is at one level, you've lost signal. Use the scale.
Each rule has:
RULE-1, RULE-2, ... in document orderReason: line on why it existsCovers: line listing AC(s), or Covers: project-wide for cross-cutting rulesExample:
Covers: AC-3, AC-4
MUST place domain logic under com.acme.invoice.domain and depend only on Java stdlib and Kotlin stdlib.
Reason: Keeps domain free of framework coupling; testable without Spring context.
Example of a negative-decision rule:
Covers: project-wide MUST NOT introduce Spring Batch as a dependency. Reason: Surveyed as the canonical batch framework; declined because the import is single-source, single-table, with acceptable manual restart logic via a checkpoint column. Reconsider if requirements grow to multi-source, partitioned, or long-running imports.
Bad: MUST be well-architected → Better: MUST place domain logic in com.acme.feature.domain; MUST NOT depend on Spring from this package. "Well-architected" isn't validatable.
Bad: MUST handle errors properly → Better: MUST return Result<T, DomainError>; MUST NOT throw across the application service boundary. Concrete subjects and verbs.
Bad: MUST follow best practices → drop, or name the specific practice. Unfalsifiable rules are worse than no rule.
Bad: restating an AGENTS.md convention → drop. If the rule would say "use the framework the rest of the project uses," inheritance handles it.
Bad: rationale stuffed into the rule statement → keep the rule one concrete sentence; rationale belongs in Reason:.
Bad: defaulting to "stay with what's in build.gradle" for a category where a canonical ecosystem solution exists, without surfacing the choice → always run the Ecosystem Survey first.
Route back to an earlier step when any of:
Don't paper over a missing decision with a SHOULD rule. That hides the gap.
Complete only when ALL hold:
Reason:, Covers:Reason:Run a verification pass before writing. Do not write a partial file.
Write to spec/rules.md:
# Technical Design and Constraints: <Feature>
## Overview
Feature in one sentence. Tech stack with versions. Links to spec/spec.md and spec/criteria.md.
## Design
Components: <new components introduced by this feature, with one-line responsibility each>
Boundaries: <what this feature exposes and what it keeps internal>
Flow: <one paragraph or numbered steps describing how data moves through the components>
Key dependencies: <new libraries to add, with reason; existing libraries to use; ecosystem options considered and declined>
## Codebase Alignment
One paragraph: conventions inherited from AGENTS.md, skills, and existing patterns. Deviations with justification.
## Rules
### RULE-1
**Covers:** ...
**MUST/MUST NOT/SHOULD/SHOULD NOT/MAY** ...
**Reason:** ...
### RULE-2
...
(flat list, no category headers; order by relevance to the design)
## Cross-Reference
| AC | Rules |
|-------|-----------------|
| AC-1 | RULE-3, RULE-7 |
| AC-2 | (none needed) |
## Design Exclusions
Architectural concerns explicitly out of scope for this feature, with reason.
## External Dependencies
Question / blocker / default for each.