codexkit 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/.codex/.template-manifest.json +44 -35
  2. package/.codex/.version +1 -1
  3. package/.codex/agents/builder.toml +6 -1
  4. package/.codex/agents/debugger.toml +1 -0
  5. package/.codex/agents/general.toml +6 -1
  6. package/.codex/agents/painter.toml +1 -0
  7. package/.codex/agents/planner.toml +1 -0
  8. package/.codex/agents/refactorer.toml +1 -0
  9. package/.codex/agents/reviewer.toml +1 -0
  10. package/.codex/agents/runner.toml +1 -0
  11. package/.codex/agents/scout.toml +43 -1
  12. package/.codex/agents/shipper.toml +1 -0
  13. package/.codex/agents/vision.toml +1 -0
  14. package/.codex/config.toml +32 -8
  15. package/.codex/mcp/README.md +47 -4
  16. package/.codex/mcp/context7.toml.example +41 -9
  17. package/.codex/mcp/exa.toml.example +35 -2
  18. package/.codex/memory/_templates/project.md +8 -0
  19. package/.codex/memory/_templates/session-context.md +8 -0
  20. package/.codex/memory/_templates/state.md +10 -0
  21. package/.codex/memory/_templates/tech-stack.md +9 -0
  22. package/.codex/memory/_templates/user.md +6 -0
  23. package/.codex/prompts/create.md +63 -26
  24. package/.codex/prompts/init.md +24 -0
  25. package/.codex/prompts/resume.md +6 -0
  26. package/.codex/prompts/search.md +78 -0
  27. package/.codex/prompts/ship.md +36 -25
  28. package/.codex/prompts/start.md +2 -2
  29. package/.codex/prompts/ui-slop-check.md +119 -0
  30. package/.codex/scripts/audit_memory_hygiene.sh +65 -0
  31. package/.codex/scripts/build_startup_brief.sh +15 -0
  32. package/.codex/scripts/start_bead.sh +9 -5
  33. package/.codex/scripts/verify_bead.sh +18 -6
  34. package/.codex/skills/compaction/SKILL.md +76 -125
  35. package/.codex/skills/context-management/SKILL.md +65 -55
  36. package/.codex/skills/frontend-design/SKILL.md +137 -55
  37. package/.codex/skills/frontend-design/references/color-system.md +125 -0
  38. package/.codex/skills/frontend-design/references/interaction.md +115 -0
  39. package/.codex/skills/frontend-design/references/motion-core.md +102 -0
  40. package/.codex/skills/frontend-design/references/responsive-design.md +104 -0
  41. package/.codex/skills/frontend-design/references/spatial-design.md +103 -0
  42. package/.codex/skills/frontend-design/references/typography-rules.md +118 -0
  43. package/.codex/skills/frontend-design/references/ux-writing.md +105 -0
  44. package/.codex/skills/session-management/SKILL.md +12 -5
  45. package/.template-manifest.json +44 -35
  46. package/AGENTS.md +3 -3
  47. package/CHANGELOG.md +44 -0
  48. package/README.md +4 -1
  49. package/bin/codexkit +3 -3
  50. package/install/install-global.sh +93 -52
  51. package/install/install-project.sh +211 -117
  52. package/install/validate.sh +1 -1
  53. package/package.json +1 -1
@@ -2,10 +2,20 @@
2
2
 
3
3
  ## Status
4
4
 
5
+ - Record the current milestone and operating state here.
6
+
5
7
  ## Recent Completed Work
6
8
 
9
+ - Summarize recently completed work here.
10
+
7
11
  ## Active Decisions
8
12
 
13
+ - Capture decisions currently steering implementation here.
14
+
9
15
  ## Blockers
10
16
 
17
+ - Record active blockers here. Remove when resolved.
18
+
11
19
  ## Next Actions
20
+
21
+ - Record the next durable actions here. Keep to 3-5 items.
@@ -2,8 +2,17 @@
2
2
 
3
3
  ## Languages
4
4
 
5
+ - Add primary implementation languages here.
6
+
5
7
  ## Runtime
6
8
 
9
+ - Add runtime and framework notes here.
10
+
7
11
  ## Tooling
8
12
 
13
+ - Add build tools, formatters, and other tooling here.
14
+
9
15
  ## Verification Commands
16
+
17
+ - Add the main verification commands for this project here.
18
+ - Example: `npm run typecheck`, `npm run lint`, `npm test`
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Preferences
4
4
 
5
+ - Add collaboration preferences for this project's user here.
6
+
5
7
  ## Workflow
6
8
 
9
+ - Add workflow preferences or operating preferences here.
10
+
7
11
  ## Communication Notes
12
+
13
+ - Record communication style or response format preferences here.
@@ -76,16 +76,41 @@ If `--type` is provided, use it directly. Otherwise classify and confirm:
76
76
  - **bug**: broken behavior
77
77
  - **task**: tactical change with clear scope
78
78
 
79
- ## Phase 3: Choose Research Depth
79
+ ## Phase 3: Detect Research Scope
80
+
81
+ Scan `$ARGUMENTS` for signals of external dependencies:
82
+
83
+ | Category | Signal Words |
84
+ | ------------- | ------------------------------------------------------- |
85
+ | Payment | stripe, paypal, paddle, lemonsqueezy, payment, billing |
86
+ | Auth | auth0, clerk, supabase auth, firebase auth, oauth, SAML |
87
+ | Email | resend, sendgrid, postmark, ses, transactional email |
88
+ | Cloud | aws, gcp, azure, vercel, cloudflare, fly.io |
89
+ | Database SaaS | supabase, planetscale, neon, turso, firebase |
90
+ | Analytics | posthog, amplitude, mixpanel, plausible |
91
+ | AI/ML | openai, anthropic, gemini, huggingface, replicate |
92
+ | Storage | s3, r2, cloudinary, uploadthing |
93
+ | Task Tracking | beads_rust, linear, jira |
94
+
95
+ **Classification:**
96
+
97
+ - **internal-only**: No signals detected → all research depths available
98
+ - **external-required**: Signal detected → Minimal and Skip are **blocked**; minimum Standard depth
99
+
100
+ If external dependency is detected, tell the user: "External dependency detected ([category]). Research depth must be Standard or Deep."
101
+
102
+ ## Phase 4: Choose Research Depth
80
103
 
81
104
  > **Choose one:**
82
105
  >
83
106
  > 1. **Deep (Recommended)** — 3-5 investigations: patterns, tests, dependencies, and best practices (~2 min)
84
107
  > 2. **Standard** — 2 investigations: patterns + tests (~1 min)
85
- > 3. **Minimal** — 1 investigation: quick file scan (~30 sec)
86
- > 4. **Skip** — use current project knowledge only
108
+ > 3. **Minimal** — 1 investigation: quick file scan (~30 sec) ⚠️ _Blocked if external deps detected_
109
+ > 4. **Skip** — use current project knowledge only ⚠️ _Blocked if external deps detected_
87
110
 
88
- ## Phase 4: Gather Context (Delegation by Depth)
111
+ **Auto-escalation rule:** If Phase 3 classified as `external-required`, options 3 and 4 are unavailable. Default to Standard.
112
+
113
+ ## Phase 5: Gather Context (Delegation by Depth)
89
114
 
90
115
  Based on selected depth:
91
116
 
@@ -108,9 +133,20 @@ Based on selected depth:
108
133
 
109
134
  - No delegation; use existing `AGENTS.md` + `.codex/context/`
110
135
 
136
+ **External dependency research (when Phase 3 = external-required):**
137
+
138
+ For any depth (Deep or Standard), `@scout` **must** search for:
139
+
140
+ - Official documentation / API reference for the detected service
141
+ - Current pricing and rate limits
142
+ - Integration examples in the project's language/framework
143
+ - Known gotchas or breaking changes
144
+
145
+ Include source URLs in all research findings. Save findings to `.beads/artifacts/<bead-id>/research.md`.
146
+
111
147
  While context is gathered, ask clarifying questions for missing scope/outcomes. For bugs, require repro steps and expected vs actual behavior.
112
148
 
113
- ## Phase 5: Search Prior Related Work
149
+ ## Phase 6: Search Prior Related Work
114
150
 
115
151
  Before creating a new PRD, search durable project context for relevant prior bead work:
116
152
 
@@ -134,7 +170,7 @@ When you are ready to write the PRD, you may build that section directly with:
134
170
  .codex/scripts/build_prior_related_work.sh "$ARGUMENTS" --limit 3
135
171
  ```
136
172
 
137
- ## Phase 6: Create Bead
173
+ ## Phase 7: Create Bead
138
174
 
139
175
  Extract title/description from `$ARGUMENTS`:
140
176
 
@@ -157,7 +193,7 @@ Create and reserve these files up front so later prompts have predictable inputs
157
193
  ```text
158
194
  .beads/artifacts/<bead-id>/
159
195
  ├── prd.md
160
- ├── research.md # if Phase 4 used scout/explore findings
196
+ ├── research.md # if Phase 5 used scout/explore findings
161
197
  ├── design.md # if design tradeoffs matter
162
198
  └── notes.md # optional clarifications gathered during create
163
199
  ```
@@ -165,24 +201,24 @@ Create and reserve these files up front so later prompts have predictable inputs
165
201
  If the task is epic-sized, define candidate child-bead boundaries in the PRD even if the
166
202
  child beads are not created yet.
167
203
 
168
- ## Phase 7: Write PRD
204
+ ## Phase 8: Write PRD
169
205
 
170
206
  Use the `$prd` skill template to write `.beads/artifacts/<bead-id>/prd.md`. Fill every section from gathered context — no placeholders allowed.
171
207
 
172
208
  ### Required Sections
173
209
 
174
- | Section | Source | Required |
175
- | ----------------- | ---------------------------------------------------------- | ----------------- |
176
- | Problem Statement | User description + clarifying questions | Always |
177
- | Scope (In/Out) | User input + codebase exploration | Always |
178
- | Proposed Solution | Codebase patterns + user intent | Always |
179
- | Success Criteria | User verification + test commands (must include `Verify:`) | Always |
180
- | Technical Context | Exploration findings | Always |
181
- | Affected Files | Exploration findings (real paths from Phase 4) | Always |
182
- | Prior Related Work | Synced bead summaries and decision/worklog search | If relevant |
183
- | Tasks | Derived from scope + solution | Always |
184
- | Risks | Codebase exploration | Feature/epic only |
185
- | Open Questions | Unresolved items from Phase 4 | If any exist |
210
+ | Section | Source | Required |
211
+ | ------------------ | ---------------------------------------------------------- | ----------------- |
212
+ | Problem Statement | User description + clarifying questions | Always |
213
+ | Scope (In/Out) | User input + codebase exploration | Always |
214
+ | Proposed Solution | Codebase patterns + user intent | Always |
215
+ | Success Criteria | User verification + test commands (must include `Verify:`) | Always |
216
+ | Technical Context | Exploration findings | Always |
217
+ | Affected Files | Exploration findings (real paths from Phase 5) | Always |
218
+ | Prior Related Work | Synced bead summaries and decision/worklog search | If relevant |
219
+ | Tasks | Derived from scope + solution | Always |
220
+ | Risks | Codebase exploration | Feature/epic only |
221
+ | Open Questions | Unresolved items from Phase 5 | If any exist |
186
222
 
187
223
  ### Task Format
188
224
 
@@ -202,7 +238,7 @@ For feature/epic work, add a short `Execution Strategy` section covering:
202
238
  - whether child beads are recommended
203
239
  - what must be manually verified by a human
204
240
 
205
- ## Phase 8: Validate PRD
241
+ ## Phase 9: Validate PRD
206
242
 
207
243
  Before finalizing, verify:
208
244
 
@@ -214,10 +250,11 @@ Before finalizing, verify:
214
250
  - [ ] Tasks use `[category]` headings
215
251
  - [ ] Every task includes verification
216
252
  - [ ] No implementation code in PRD
253
+ - [ ] If external deps detected in Phase 3: `research.md` exists in artifacts with source URLs
217
254
 
218
255
  If any check fails, fix it without asking.
219
256
 
220
- ## Phase 9: Report
257
+ ## Phase 10: Report
221
258
 
222
259
  Output:
223
260
 
@@ -232,7 +269,7 @@ br comments add $bead_id "Created prd.md with [N] tasks, [M] success criteria"
232
269
 
233
270
  ## Related Commands
234
271
 
235
- | Need | Command |
236
- | --------------- | --------------------- |
237
- | Start working | `/prompts:start <id>` |
238
- | Implement next | `/prompts:ship <id>` |
272
+ | Need | Command |
273
+ | -------------- | --------------------- |
274
+ | Start working | `/prompts:start <id>` |
275
+ | Implement next | `/prompts:ship <id>` |
@@ -53,6 +53,30 @@ Create or improve `AGENTS.md` (target <60 lines, max 150):
53
53
  - Boundaries: always / ask-first / never
54
54
  - Gotchas
55
55
 
56
+ ### File Operation Guard (include in generated AGENTS.md)
57
+
58
+ Document the runtime-enforced Read-before-Write/Edit rule:
59
+
60
+ ```markdown
61
+ ## File Operations
62
+
63
+ Codex enforces a **Read-before-Write** guard at runtime for existing files:
64
+
65
+ - **Existing files**: Must be Read before any Write or Edit. The runtime
66
+ rejects the operation with:
67
+ > `File has not been read in this session. Read the file before editing.`
68
+ - **New files**: Can be written freely — the guard only fires for files
69
+ that already exist on disk.
70
+
71
+ **Preferred tool selection:**
72
+
73
+ | Intent | Tool |
74
+ | -------------------------------------- | ----- |
75
+ | Modify part of an existing file | Edit |
76
+ | Full replacement of an existing file | Write (after Read) |
77
+ | Create a file that does not exist yet | Write |
78
+ ```
79
+
56
80
  Principles: examples over explanation; pointers over copies; merge existing custom rules.
57
81
 
58
82
  ## Phase 4: Create Tech Stack + Context Docs
@@ -8,6 +8,12 @@ agent: build
8
8
 
9
9
  Pick up where a previous session left off. Recover context, verify state, continue.
10
10
 
11
+ > **Two resume paths:**
12
+ > - **Thread-based**: `codex resume` restores a previous Codex session transcript (best for short interruptions within the same thread).
13
+ > - **File-based**: This prompt recovers context from repo-visible files (best for cross-session continuity, different machines, or when thread history is unavailable).
14
+ >
15
+ > Use `codex resume` when you want the exact conversation back. Use this prompt when you need structured context recovery from durable project files.
16
+
11
17
  ## Load Skills
12
18
 
13
19
  - `$beads`
@@ -0,0 +1,78 @@
1
+ ---
2
+ description: Search project memory and context for prior decisions, patterns, and knowledge
3
+ argument-hint: "<query> [--limit <n>] [--decisions-only]"
4
+ agent: explore
5
+ ---
6
+
7
+ # Search: $ARGUMENTS
8
+
9
+ Search durable project memory and context docs for relevant prior knowledge.
10
+
11
+ ## Load Skills
12
+
13
+ - `$memory-system` — memory file structure and update protocol
14
+
15
+ ## Phase 1: Parse Query
16
+
17
+ | Argument | Default | Description |
18
+ | ----------------- | ------- | ---------------------------------------- |
19
+ | `<query>` | required | Search terms (natural language or keywords) |
20
+ | `--limit <n>` | 5 | Max results to return |
21
+ | `--decisions-only`| false | Restrict to decision-log entries only |
22
+
23
+ ## Phase 2: Run Search
24
+
25
+ Execute the local memory search:
26
+
27
+ ```bash
28
+ bash .codex/scripts/memory_search.sh $ARGUMENTS
29
+ ```
30
+
31
+ If the derived index does not exist, it will be built automatically on first run.
32
+
33
+ ## Phase 3: Present Results
34
+
35
+ For each result:
36
+
37
+ 1. Show the source file path and heading
38
+ 2. Show the relevance score and match reasons
39
+ 3. Show the snippet (first 180 characters)
40
+
41
+ If results reference decision-log entries, highlight them separately under "Related Decisions".
42
+
43
+ ## Phase 4: Offer Next Steps
44
+
45
+ Based on results, suggest:
46
+
47
+ - Read the full source file for more context
48
+ - Update stale entries if information has changed
49
+ - Create new memory entries if the query topic has no coverage
50
+
51
+ ## Output
52
+
53
+ ```text
54
+ Search: <query>
55
+ ━━━━━━━━━━━━━━━━━━━
56
+
57
+ Results: <n> matches
58
+
59
+ 1. [score=<n>] <path>
60
+ Heading: <heading>
61
+ Snippet: <text>
62
+
63
+ ...
64
+
65
+ Related Decisions:
66
+ 1. <decision heading> — <snippet>
67
+
68
+ Suggestions:
69
+ - <next step>
70
+ ```
71
+
72
+ ## Related Commands
73
+
74
+ | Need | Command |
75
+ | ----------------- | -------------------------- |
76
+ | Full audit | `bash .codex/scripts/audit_memory_hygiene.sh` |
77
+ | Resume session | `/prompts:resume` |
78
+ | Project status | `/prompts:status` |
@@ -39,11 +39,11 @@ Execute PRD tasks, verify each gate passes, run review, then request close appro
39
39
 
40
40
  ## Available Tools
41
41
 
42
- | Tool | Use When |
43
- | ----- | ----------------------------------------- |
44
- | `br` | Task metadata, comments, close/sync |
45
- | `git` | Branch, commits, diffs, verification prep |
46
- | `grep`| Stub checks and key-link checks |
42
+ | Tool | Use When |
43
+ | ------ | ----------------------------------------- |
44
+ | `br` | Task metadata, comments, close/sync |
45
+ | `git` | Branch, commits, diffs, verification prep |
46
+ | `grep` | Stub checks and key-link checks |
47
47
 
48
48
  ## Phase 0: Bootstrap Beads
49
49
 
@@ -115,11 +115,11 @@ For each task:
115
115
 
116
116
  ### Checkpoint Protocol
117
117
 
118
- | Type | Action |
119
- | ------------------------- | ---------------------------------------------------------- |
120
- | `checkpoint:human-verify` | Automate checks first, then pause for user verification |
121
- | `checkpoint:decision` | Present options, wait for explicit selection |
122
- | `checkpoint:human-action` | Request specific action and provide verification command |
118
+ | Type | Action |
119
+ | ------------------------- | -------------------------------------------------------- |
120
+ | `checkpoint:human-verify` | Automate checks first, then pause for user verification |
121
+ | `checkpoint:decision` | Present options, wait for explicit selection |
122
+ | `checkpoint:human-action` | Request specific action and provide verification command |
123
123
 
124
124
  **Checkpoint format:**
125
125
 
@@ -148,16 +148,19 @@ For each task:
148
148
  ### TDD Execution Flow
149
149
 
150
150
  **RED**
151
+
151
152
  1. Add failing test
152
153
  2. Run test (must fail)
153
154
  3. Commit: `test: add failing test for [feature]`
154
155
 
155
156
  **GREEN**
157
+
156
158
  1. Implement minimal fix
157
159
  2. Run test (must pass)
158
160
  3. Commit: `feat: implement [feature]`
159
161
 
160
162
  **REFACTOR** (optional)
163
+
161
164
  1. Clean up without behavior change
162
165
  2. Run tests (must remain green)
163
166
  3. Commit: `refactor: clean up [feature]`
@@ -177,13 +180,13 @@ git commit -m "feat(bead-$ARGUMENTS): <task description>
177
180
 
178
181
  Commit types:
179
182
 
180
- | Type | Use For |
181
- | ---------- | --------------------------------------- |
182
- | `feat` | New user-visible behavior |
183
- | `fix` | Bug fix |
184
- | `test` | Test-only changes |
185
- | `refactor` | Internal cleanup, no behavior change |
186
- | `chore` | Tooling/config/dependency updates |
183
+ | Type | Use For |
184
+ | ---------- | ------------------------------------ |
185
+ | `feat` | New user-visible behavior |
186
+ | `fix` | Bug fix |
187
+ | `test` | Test-only changes |
188
+ | `refactor` | Internal cleanup, no behavior change |
189
+ | `chore` | Tooling/config/dependency updates |
187
190
 
188
191
  ### Stop Conditions
189
192
 
@@ -218,7 +221,7 @@ Completion checklist before closing:
218
221
  - [ ] Durable memory artifacts were updated in the correct home if the work changed state, blockers, or learnings
219
222
  - [ ] User approval obtained before bead close
220
223
 
221
- ## Phase 6: Review
224
+ ## Phase 5: Review
222
225
 
223
226
  Load and run `$requesting-code-review`. Dispatch **5 parallel review agents**, each covering one lens:
224
227
 
@@ -247,7 +250,7 @@ Wait for all 5 to return. Synthesize findings:
247
250
 
248
251
  If critical issues require architectural decisions, stop and present options.
249
252
 
250
- ## Phase 6B: Goal-Backward Verification
253
+ ## Phase 5B: Goal-Backward Verification
251
254
 
252
255
  Three-level verification:
253
256
 
@@ -277,9 +280,10 @@ return Response.json({ ok: true })
277
280
 
278
281
  If Level 2/3 fails, fix and re-verify.
279
282
 
280
- ## Phase 7: Close
283
+ ## Phase 6: Close
281
284
 
282
285
  > **Choose one:**
286
+ >
283
287
  > 1. **Close bead (Recommended)** — All tasks complete, all gates pass, review clear.
284
288
  > 2. **Keep open** — Additional changes required.
285
289
 
@@ -297,6 +301,13 @@ If user confirms close:
297
301
  .codex/scripts/close_bead.sh $ARGUMENTS --reason "Shipped: PRD tasks complete, verification and review passed"
298
302
  ```
299
303
 
304
+ After close, commit bead state:
305
+
306
+ ```bash
307
+ git add .beads/
308
+ git commit -m "chore(bead-$ARGUMENTS): close - shipped with all gates passing"
309
+ ```
310
+
300
311
  ## Output
301
312
 
302
313
  Report with six sections:
@@ -326,9 +337,9 @@ Report with six sections:
326
337
 
327
338
  ## Related Commands
328
339
 
329
- | Need | Command |
330
- | ----------- | -------------------- |
331
- | Create spec | `/prompts:create` |
332
- | Claim task | `/prompts:start <id>` |
340
+ | Need | Command |
341
+ | ----------- | ---------------------- |
342
+ | Create spec | `/prompts:create` |
343
+ | Claim task | `/prompts:start <id>` |
333
344
  | Verify only | `/prompts:verify <id>` |
334
- | Create PR | `/prompts:pr` |
345
+ | Create PR | `/prompts:pr` |
@@ -75,10 +75,10 @@ If missing/incomplete, route to `/prompts:create`.
75
75
  ## Phase 3: Claim
76
76
 
77
77
  ```bash
78
- .codex/scripts/start_bead.sh $ARGUMENTS
78
+ .codex/scripts/start_bead.sh $ARGUMENTS --use-current-branch
79
79
  ```
80
80
 
81
- This helper validates `prd.md`, claims the bead, and prepares the default feature branch.
81
+ This helper validates `prd.md` and claims the bead; workspace setup is handled in Phase 4.
82
82
 
83
83
  ## Phase 4: Prepare Workspace
84
84
 
@@ -0,0 +1,119 @@
1
+ ---
2
+ description: Automated audit for AI aesthetic fingerprints with actionable fixes
3
+ argument-hint: "<component-or-file-path> [--fix]"
4
+ agent: vision
5
+ ---
6
+
7
+ # UI Slop Check: $ARGUMENTS
8
+
9
+ Scan frontend code for the 12 AI aesthetic fingerprint anti-patterns. Returns a pass/fail verdict with specific findings and actionable corrections.
10
+
11
+ > Inspired by [pbakaus/impeccable](https://github.com/pbakaus/impeccable) design language kit.
12
+
13
+ ## Load Skills
14
+
15
+ - `$frontend-design` — design principles and AI slop taxonomy
16
+ - `$visual-analysis` — visual analysis and comparison
17
+
18
+ ## Options
19
+
20
+ | Argument | Default | Description |
21
+ | -------- | ------- | ------------------------------------------- |
22
+ | `--fix` | false | Auto-apply corrections for detected issues |
23
+
24
+ ## Phase 1: Scan Target
25
+
26
+ Parse `$ARGUMENTS` for the target path (component file, directory, or screenshot).
27
+
28
+ Read all relevant files. For each file, scan against the 12 AI fingerprint anti-patterns from the `frontend-design` skill:
29
+
30
+ | # | Anti-Pattern | What to Look For |
31
+ |---|-------------|------------------|
32
+ | 1 | **Inter/Roboto font** | `font-family` declarations using Inter, Roboto, Arial, Open Sans, system defaults as primary choice |
33
+ | 2 | **Purple-to-blue gradients** | `linear-gradient` with purple/blue/cyan hues; neon accents on dark backgrounds |
34
+ | 3 | **Cards-on-cards** | Nested card components; `Card` inside `Card`; excessive `.rounded` + `.shadow` nesting |
35
+ | 4 | **Glassmorphism abuse** | `backdrop-filter: blur`, glass-effect classes used decoratively across multiple components |
36
+ | 5 | **Bounce/elastic easing** | `cubic-bezier` with values >1 (overshoot); `bounce`, `elastic`, `spring` in animation names |
37
+ | 6 | **Pure black/white** | `#000`, `#fff`, `rgb(0,0,0)`, `rgb(255,255,255)` without tinting |
38
+ | 7 | **Hero metric template** | Big number + small label + supporting stats + gradient accent layout pattern |
39
+ | 8 | **Identical card grids** | Same-sized cards with icon + heading + text repeated 3+ times identically |
40
+ | 9 | **Gradient text impact** | `background-clip: text` + gradient on headings or metrics |
41
+ | 10 | **Gray text on color** | Gray (`#6b7280`, `gray-500`, etc.) text on non-white/non-gray backgrounds |
42
+ | 11 | **Decorative sparklines** | Chart/sparkline components with no real data binding or meaningful data |
43
+ | 12 | **Dark mode default** | Only dark theme defined; dark mode with glowing accents and no light mode |
44
+
45
+ ## Phase 2: Generate Report
46
+
47
+ ### Verdict
48
+
49
+ Start with a clear **PASS** or **FAIL** verdict.
50
+
51
+ A single critical anti-pattern = FAIL. Explain why immediately.
52
+
53
+ ### Findings Table
54
+
55
+ For each detected anti-pattern:
56
+
57
+ ```markdown
58
+ | # | Anti-Pattern | Status | Location | Severity |
59
+ |---|-------------|--------|----------|----------|
60
+ | 1 | Inter font | FOUND | globals.css:3 | Medium |
61
+ | 2 | Purple gradient | CLEAR | - | - |
62
+ ...
63
+ ```
64
+
65
+ ### Detailed Findings
66
+
67
+ For each FOUND item:
68
+
69
+ 1. **Location**: File path and line number
70
+ 2. **Evidence**: The specific code or pattern detected
71
+ 3. **Impact**: Why this makes the UI look AI-generated
72
+ 4. **Fix**: Specific replacement code or approach
73
+
74
+ ### Summary
75
+
76
+ - Total anti-patterns found: X/12
77
+ - Severity breakdown: Critical / Medium / Low
78
+ - Estimated fix effort: Quick (<30min) / Moderate (1-2hr) / Significant (>2hr)
79
+
80
+ ## Phase 3: Auto-Fix (if `--fix`)
81
+
82
+ If `--fix` is passed, apply corrections for each detected anti-pattern:
83
+
84
+ 1. Replace generic fonts with distinctive alternatives
85
+ 2. Replace purple/blue gradients with project-appropriate OKLCH palette
86
+ 3. Flatten nested card structures
87
+ 4. Remove decorative glassmorphism; keep functional uses
88
+ 5. Replace bounce/elastic easing with exponential curves
89
+ 6. Tint pure black/white with subtle brand hue
90
+ 7. Redesign hero metric layouts
91
+ 8. Vary card grid sizes and layouts
92
+ 9. Replace gradient text with weight/size/color contrast
93
+ 10. Replace gray-on-color with shade-of-background text color
94
+ 11. Remove decorative sparklines or bind to real data
95
+ 12. Add light mode support if only dark mode exists
96
+
97
+ After fixing, re-run the scan to confirm improvements.
98
+
99
+ ## Phase 4: Record
100
+
101
+ If significant findings, append to `.codex/context/worklog.md`:
102
+
103
+ ```markdown
104
+ ## [YYYY-MM-DD] UI Slop Check: <target>
105
+
106
+ - Verdict: PASS/FAIL
107
+ - Anti-patterns found: X/12
108
+ - Fixed: Y (if --fix)
109
+ - Remaining: Z
110
+ ```
111
+
112
+ ## Related Commands
113
+
114
+ | Need | Command |
115
+ | ---- | ------- |
116
+ | Full UI/UX review | `/prompts:ui-review` |
117
+ | Design new UI | `/prompts:design` |
118
+ | Gather inspiration | `/prompts:ui-inspire` |
119
+ | Ship implementation | `/prompts:ship` |