You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Key improvements based on analysis of 20+ articles on spec-driven development,
agentic engineering, and visual regression testing:
- Frame as "agentic engineering" (Karpathy 2026), not vibe coding
- Add Phase 7 (Handoff & Ownership) to address skill gap concern (Osmani)
- Add project constitution (CLAUDE.md) to Phase 4 (from GitHub Spec Kit pattern)
- Switch Phase 6 to test-first: write tests from specs before implementation
- Add positioning statement to Phase 0 intake (from OpenAI PRD template)
- Add spec quality principles to feature-spec skill (from Thoughtworks SDD)
- Use Playwright Docker container in CI for consistent visual regression (best practices)
- Add dynamic content masking and flaky test prevention guidance
- Update README and command to reflect new Phase 7 and constitution artifact
https://claude.ai/code/session_0191H4s9PX5VxKfmKnrq3aYF
Copy file name to clipboardExpand all lines: plugins/rest-owl/README.md
+11-5Lines changed: 11 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,16 +4,19 @@
4
4
5
5
Turn a simple idea into a fully researched, specified, designed, tested, and validated software project.
6
6
7
+
This is **agentic engineering** — not vibe coding. Structured AI orchestration with human oversight at every phase. Better specs produce better code. Comprehensive tests enable confident delegation.
8
+
7
9
## What It Does
8
10
9
11
You say "build a Notion clone." This plugin handles everything else:
2.**Feature Specification** — Writes detailed specs with user stories, acceptance criteria, data models, API definitions
14
+
2.**Feature Specification** — Writes detailed specs with user stories, acceptance criteria, data models, API definitions. Specs are treated as executable prompts, not documentation.
13
15
3.**Visual Design** — Creates a design system, ASCII wireframes, and renderable HTML mockups for every screen
14
-
4.**Technical Architecture** — Makes and documents all tech stack decisions with justifications
16
+
4.**Technical Architecture** — Makes and documents all tech stack decisions, plus generates a project constitution (`CLAUDE.md`) for consistent AI code generation
15
17
5.**Implementation Planning** — Breaks the build into ordered milestones with testing requirements
16
-
6.**Build & Validate** — Implements with unit tests, E2E tests, and visual regression testing in CI
18
+
6.**Build & Validate** — Test-first: writes tests from specs, then implements until they pass. Visual regression testing in CI.
19
+
7.**Handoff & Ownership** — Architecture walkthrough, code tour, and maintenance guide so you can own the codebase
17
20
18
21
## Usage
19
22
@@ -43,16 +46,19 @@ All design artifacts are saved to `docs/rest-owl/` in the project:
43
46
44
47
```
45
48
docs/rest-owl/
46
-
├── 00-intake.md # Project brief
49
+
├── 00-intake.md # Project brief and positioning statement
47
50
├── 01-competitive-research.md # Market analysis
48
51
├── 02-feature-spec.md # Feature specifications
49
52
├── 03-design-system.md # Design tokens
50
53
├── 03-wireframes.md # ASCII wireframes
51
54
├── 03-mockups/ # HTML mockup files
52
55
├── 04-architecture.md # Technical architecture
53
-
└── 05-implementation-plan.md # Build milestones
56
+
├── 05-implementation-plan.md # Build milestones
57
+
└── 06-handoff.md # Architecture guide and maintenance instructions
54
58
```
55
59
60
+
A `CLAUDE.md` constitution file is also created in the project root during Phase 4.
61
+
56
62
These artifacts serve as:
57
63
58
64
-**Session checkpoints** — resume work across sessions
Copy file name to clipboardExpand all lines: plugins/rest-owl/skills/feature-spec/SKILL.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -257,16 +257,28 @@ Write to `docs/rest-owl/02-feature-spec.md`:
257
257
258
258
Feature specs within different domains are independent — use `Agent` tool to write specs for multiple domains simultaneously.
259
259
260
+
## Spec Quality Principles
261
+
262
+
Specifications are not documentation — they are **executable prompts** for Phase 6. The quality of the spec directly determines the quality of the generated code. Apply these principles:
263
+
264
+
-**Clarity over brevity** — an AI coding agent can't ask clarifying questions mid-generation. If a spec is ambiguous, the agent will hallucinate an answer.
265
+
-**Given/When/Then determinism** — every acceptance criterion should have exactly one correct behavior. Avoid "should handle gracefully" without defining what "gracefully" means.
266
+
-**Domain language** — define terms in the glossary and use them consistently. This reduces AI hallucination by anchoring generation to specific vocabulary.
267
+
-**Explicit over implicit** — state every assumption. What seems "obvious" to you is invisible to the agent. The "curse of knowledge" (assuming others know what you know) is the primary source of spec gaps.
268
+
-**Testable criteria** — every acceptance criterion must be verifiable by an automated test. If you can't write a test for it, the criterion is too vague.
269
+
260
270
## Quality Checks
261
271
262
272
Before completing this phase:
263
273
264
274
-[ ] Every P0 and P1 feature has a complete specification
265
275
-[ ] Every feature has at least 2 user stories with Given/When/Then
266
276
-[ ] Every feature has at least 3 acceptance criteria
277
+
-[ ] Every acceptance criterion is testable (could become an automated test)
267
278
-[ ] Every feature identifies edge cases and error scenarios
268
279
-[ ] Data model covers all entities referenced by features
269
280
-[ ] API endpoints exist for all data operations
270
281
-[ ] Cross-cutting concerns are documented
271
282
-[ ] No circular dependencies between features
283
+
-[ ] Glossary defines all domain-specific terms
272
284
-[ ] User has approved the scope before detailed specs were written
This skill turns a napkin-sketch idea into a production-ready software project. The user provides a simple concept; you deliver a fully researched, specified, designed, tested, and validated codebase.
17
17
18
+
This is **agentic engineering** — not vibe coding. You are orchestrating structured work with human oversight at every stage. The planning phases (0-5) are where the engineering expertise matters most; the build phase (6) follows naturally from thorough upfront work. Better specs produce better code. Comprehensive tests enable confident delegation. Clean architecture reduces hallucination.
19
+
18
20
## Philosophy
19
21
20
22
The user's job is to have the idea. Your job is everything else:
21
23
22
24
-**Research** what already exists and what users expect
23
-
-**Specify** every feature in detail with acceptance criteria
25
+
-**Specify** every feature in detail with acceptance criteria — specs are executable prompts, not documentation
24
26
-**Design** the visual interface with concrete mockups
25
-
-**Architect** the technical solution with clear decisions
27
+
-**Architect** the technical solution with clear decisions and a project constitution
26
28
-**Plan** the implementation in buildable milestones
27
-
-**Build**the project with proper testing at every layer
29
+
-**Build**test-first: write tests from specs, then implement until they pass
28
30
-**Validate** with automated visual regression and E2E tests in CI
31
+
-**Hand off** with clear documentation so the user can own and maintain the code
29
32
30
33
## Activation
31
34
@@ -53,9 +56,10 @@ The rest-owl workflow has 7 phases. Each phase produces artifacts that feed the
53
56
-**Tech preferences**: Any framework/language preferences or constraints?
54
57
-**Key differentiator**: What should make this stand out from existing solutions?
55
58
-**Timeline scope**: Full product or focused MVP subset?
56
-
3. Save the intake summary to `docs/rest-owl/00-intake.md`
59
+
3. Draft a **positioning statement** (2-3 sentences): what this project is, who it's for, and how it differs from existing solutions. This bridges research and specification.
60
+
4. Save the intake summary to `docs/rest-owl/00-intake.md`
57
61
58
-
**Output**: `docs/rest-owl/00-intake.md` — project brief with user's answers
62
+
**Output**: `docs/rest-owl/00-intake.md` — project brief with user's answers and positioning statement
59
63
60
64
### Phase 1: Competitive Research
61
65
@@ -135,7 +139,19 @@ This phase produces:
135
139
- Development workflow (dev server, hot reload, etc.)
136
140
- Dependency list with justifications
137
141
138
-
**Output**: `docs/rest-owl/04-architecture.md`
142
+
4.**Project constitution** — a `CLAUDE.md` (or equivalent rules file) that establishes non-negotiable project rules for all subsequent AI-generated code:
143
+
- Architecture patterns and constraints
144
+
- Coding standards and conventions
145
+
- Security requirements
146
+
- Testing requirements (coverage targets, test patterns)
147
+
- Naming conventions
148
+
- Import/dependency rules
149
+
150
+
This file is placed in the project root and ensures consistent code generation across all milestones. Inspired by GitHub's Spec Kit `/speckit.constitution` pattern.
151
+
152
+
**Output**:
153
+
-`docs/rest-owl/04-architecture.md` — technical decisions and system design
154
+
-`CLAUDE.md` (project root) — constitution / project rules for AI code generation
139
155
140
156
### Phase 5: Implementation Plan
141
157
@@ -167,34 +183,59 @@ This phase produces:
167
183
168
184
**Goal**: Implement the project milestone by milestone with full test coverage.
169
185
186
+
**Test-first approach**: Write tests derived from Phase 2 acceptance criteria BEFORE writing implementation code. Then implement until all tests pass. This is what makes agentic engineering reliable — with a solid test suite, the AI can iterate in a loop until tests pass, giving high confidence in the result.
2.**Implement** — Build features according to the spec
174
-
3.**Unit test** — Write tests for all business logic
175
-
4.**Component test** — Test UI components in isolation
176
-
5.**E2E test** — Write Playwright tests for user flows
177
-
6.**Visual baseline** — Capture screenshot baselines for visual regression
178
-
7.**CI integration** — Ensure all tests run in CI with screenshot artifacts
191
+
2.**Write tests first** — Translate acceptance criteria from Phase 2 into unit tests, component tests, and E2E tests. These tests will initially fail.
192
+
3.**Implement** — Build features until all tests pass
193
+
4.**Visual baseline** — Capture screenshot baselines for visual regression
194
+
5.**CI integration** — Ensure all tests run in CI with screenshot artifacts
179
195
180
196
**Invoke the `validation-pipeline` skill** to set up the testing infrastructure.
181
197
182
198
After each milestone:
183
199
184
-
- Run all tests locally
200
+
- Run all tests locally — all must pass
185
201
- Verify visual baselines match mockups from Phase 3
186
202
- Commit with conventional commit messages
187
203
- Update implementation plan with completion status
188
204
189
205
**Output**: The actual codebase with full test coverage
190
206
207
+
### Phase 7: Handoff & Ownership
208
+
209
+
**Goal**: Ensure the user understands and can maintain the generated codebase.
210
+
211
+
This phase addresses a critical reality: agentic engineering produces code quickly, but the user must own and maintain it. Without understanding the architecture and key decisions, the codebase becomes unmaintainable.
212
+
213
+
1.**Architecture walkthrough** — Summarize the key architectural decisions and why they were made. Reference specific files and patterns.
214
+
215
+
2.**Code tour** — Identify the 5-10 most important files/modules and explain what each does and how they connect.
216
+
217
+
3.**Extension guide** — Document how to add common things:
218
+
- A new feature (which files to create, what patterns to follow)
219
+
- A new API endpoint
220
+
- A new UI screen
221
+
- A new test
222
+
223
+
4.**Known limitations** — Be honest about what was deferred, simplified, or left as a TODO. List areas that will need attention as the project scales.
224
+
225
+
5.**Maintenance checklist** — What the user should do regularly:
226
+
- Dependency updates
227
+
- Visual baseline updates after intentional UI changes
228
+
- Test coverage monitoring
229
+
230
+
**Output**: `docs/rest-owl/06-handoff.md` — architecture guide and maintenance instructions
231
+
191
232
## Artifact Directory Structure
192
233
193
234
All rest-owl artifacts live under `docs/rest-owl/` in the project root:
194
235
195
236
```
196
237
docs/rest-owl/
197
-
├── 00-intake.md # Project brief and user answers
238
+
├── 00-intake.md # Project brief, user answers, positioning statement
198
239
├── 01-competitive-research.md # Market analysis and feature matrix
-**Mask dynamic content** — timestamps, avatars, counters, and any content that changes between runs
254
+
-**Disable animations** — always use `animations: 'disabled'`
255
+
-**Wait for fonts** — use `page.waitForLoadState('networkidle')` before screenshots
256
+
-**Generate baselines in CI, not locally** — OS differences (macOS vs Linux) cause font rendering mismatches. Use Playwright's Docker image (`mcr.microsoft.com/playwright`) in CI for consistent results.
257
+
-**Start with Chromium only** — add Firefox/WebKit when cross-browser visual bugs actually appear
0 commit comments