@every-env/compound-plugin 2.34.6 → 2.35.0
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.
- package/CHANGELOG.md +20 -0
- package/package.json +1 -1
- package/plugins/compound-engineering/.claude-plugin/plugin.json +1 -1
- package/plugins/compound-engineering/.cursor-plugin/plugin.json +1 -1
- package/plugins/compound-engineering/commands/ce/plan.md +20 -13
- package/plugins/compound-engineering/commands/test-browser.md +67 -13
- package/plugins/compound-engineering/skills/agent-browser/SKILL.md +101 -0
- package/plugins/compound-engineering/agents/workflow/every-style-editor.md +0 -64
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
Release numbering now follows the repository `v*` tag line. Starting at `v2.34.0`, the root CLI package and this changelog stay on that shared version stream. Older entries below retain the previous `0.x` CLI numbering.
|
|
9
9
|
|
|
10
|
+
# [2.35.0](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.34.7...v2.35.0) (2026-03-10)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **test-browser:** detect dev server port from project config ([94aedd5](https://github.com/EveryInc/compound-engineering-plugin/commit/94aedd5a7b6da4ce48de994b5a137953c0fd21c3)), closes [#164](https://github.com/EveryInc/compound-engineering-plugin/issues/164)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* **compound:** add context budget precheck and compact-safe mode ([7266062](https://github.com/EveryInc/compound-engineering-plugin/commit/726606286873c4059261a8c5f1b75c20fe11ac77)), closes [#198](https://github.com/EveryInc/compound-engineering-plugin/issues/198)
|
|
21
|
+
* **plan:** add daily sequence number to plan filenames ([4fc6ddc](https://github.com/EveryInc/compound-engineering-plugin/commit/4fc6ddc5db3e2b4b398c0ffa0c156e1177b35d05)), closes [#135](https://github.com/EveryInc/compound-engineering-plugin/issues/135)
|
|
22
|
+
|
|
23
|
+
## [2.34.7](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.34.6...v2.34.7) (2026-03-10)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* **test-browser:** detect dev server port from project config ([50cb89e](https://github.com/EveryInc/compound-engineering-plugin/commit/50cb89efde7cee7d6dcd42008e6060e1bec44fcc)), closes [#164](https://github.com/EveryInc/compound-engineering-plugin/issues/164)
|
|
29
|
+
|
|
10
30
|
## [2.34.6](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.34.5...v2.34.6) (2026-03-10)
|
|
11
31
|
|
|
12
32
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "compound-engineering",
|
|
3
3
|
"version": "2.38.1",
|
|
4
|
-
"description": "AI-powered development tools.
|
|
4
|
+
"description": "AI-powered development tools. 28 agents, 22 commands, 20 skills, 1 MCP server for code review, research, design, and workflow automation.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Kieran Klaassen",
|
|
7
7
|
"email": "kieran@every.to",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "compound-engineering",
|
|
3
3
|
"displayName": "Compound Engineering",
|
|
4
4
|
"version": "2.33.0",
|
|
5
|
-
"description": "AI-powered development tools.
|
|
5
|
+
"description": "AI-powered development tools. 28 agents, 22 commands, 19 skills, 1 MCP server for code review, research, design, and workflow automation.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Kieran Klaassen",
|
|
8
8
|
"email": "kieran@every.to",
|
|
@@ -138,8 +138,11 @@ Think like a product manager - what would make this issue clear and actionable?
|
|
|
138
138
|
|
|
139
139
|
- [ ] Draft clear, searchable issue title using conventional format (e.g., `feat: Add user authentication`, `fix: Cart total calculation`)
|
|
140
140
|
- [ ] Determine issue type: enhancement, bug, refactor
|
|
141
|
-
- [ ] Convert title to filename: add today's date prefix, strip prefix colon, kebab-case, add `-plan` suffix
|
|
142
|
-
-
|
|
141
|
+
- [ ] Convert title to filename: add today's date prefix, determine daily sequence number, strip prefix colon, kebab-case, add `-plan` suffix
|
|
142
|
+
- Scan `docs/plans/` for files matching today's date pattern `YYYY-MM-DD-\d{3}-`
|
|
143
|
+
- Find the highest existing sequence number for today
|
|
144
|
+
- Increment by 1, zero-padded to 3 digits (001, 002, etc.)
|
|
145
|
+
- Example: `feat: Add User Authentication` → `2026-01-21-001-feat-add-user-authentication-plan.md`
|
|
143
146
|
- Keep it descriptive (3-5 words after prefix) so plans are findable by context
|
|
144
147
|
|
|
145
148
|
**Stakeholder Analysis:**
|
|
@@ -538,9 +541,13 @@ Before finalizing, re-read the brainstorm document and verify:
|
|
|
538
541
|
|
|
539
542
|
```bash
|
|
540
543
|
mkdir -p docs/plans/
|
|
544
|
+
# Determine daily sequence number
|
|
545
|
+
today=$(date +%Y-%m-%d)
|
|
546
|
+
last_seq=$(ls docs/plans/${today}-*-plan.md 2>/dev/null | grep -oP "${today}-\K\d{3}" | sort -n | tail -1)
|
|
547
|
+
next_seq=$(printf "%03d" $(( ${last_seq:-0} + 1 )))
|
|
541
548
|
```
|
|
542
549
|
|
|
543
|
-
Use the Write tool to save the complete plan to `docs/plans/YYYY-MM-DD-<type>-<descriptive-name>-plan.md
|
|
550
|
+
Use the Write tool to save the complete plan to `docs/plans/YYYY-MM-DD-NNN-<type>-<descriptive-name>-plan.md` (where NNN is `$next_seq` from the bash command above). This step is mandatory and cannot be skipped — even when running as part of LFG/SLFG or other automated pipelines.
|
|
544
551
|
|
|
545
552
|
Confirm: "Plan written to docs/plans/[filename]"
|
|
546
553
|
|
|
@@ -548,26 +555,26 @@ Confirm: "Plan written to docs/plans/[filename]"
|
|
|
548
555
|
|
|
549
556
|
## Output Format
|
|
550
557
|
|
|
551
|
-
**Filename:** Use the date and kebab-case filename from Step 2 Title & Categorization.
|
|
558
|
+
**Filename:** Use the date, daily sequence number, and kebab-case filename from Step 2 Title & Categorization.
|
|
552
559
|
|
|
553
560
|
```
|
|
554
|
-
docs/plans/YYYY-MM-DD-<type>-<descriptive-name>-plan.md
|
|
561
|
+
docs/plans/YYYY-MM-DD-NNN-<type>-<descriptive-name>-plan.md
|
|
555
562
|
```
|
|
556
563
|
|
|
557
564
|
Examples:
|
|
558
|
-
- ✅ `docs/plans/2026-01-15-feat-user-authentication-flow-plan.md`
|
|
559
|
-
- ✅ `docs/plans/2026-02-03-fix-checkout-race-condition-plan.md`
|
|
560
|
-
- ✅ `docs/plans/2026-03-10-refactor-api-client-extraction-plan.md`
|
|
561
|
-
- ❌ `docs/plans/2026-01-15-feat-thing-plan.md` (
|
|
562
|
-
- ❌ `docs/plans/2026-01-15-feat-new-feature-plan.md` (too vague - what feature?)
|
|
563
|
-
- ❌ `docs/plans/2026-01-15-feat: user auth-plan.md` (invalid characters - colon and space)
|
|
564
|
-
- ❌ `docs/plans/feat-user-auth-plan.md` (missing date prefix)
|
|
565
|
+
- ✅ `docs/plans/2026-01-15-001-feat-user-authentication-flow-plan.md`
|
|
566
|
+
- ✅ `docs/plans/2026-02-03-001-fix-checkout-race-condition-plan.md`
|
|
567
|
+
- ✅ `docs/plans/2026-03-10-002-refactor-api-client-extraction-plan.md`
|
|
568
|
+
- ❌ `docs/plans/2026-01-15-feat-thing-plan.md` (missing sequence number, not descriptive)
|
|
569
|
+
- ❌ `docs/plans/2026-01-15-001-feat-new-feature-plan.md` (too vague - what feature?)
|
|
570
|
+
- ❌ `docs/plans/2026-01-15-001-feat: user auth-plan.md` (invalid characters - colon and space)
|
|
571
|
+
- ❌ `docs/plans/feat-user-auth-plan.md` (missing date prefix and sequence number)
|
|
565
572
|
|
|
566
573
|
## Post-Generation Options
|
|
567
574
|
|
|
568
575
|
After writing the plan file, use the **AskUserQuestion tool** to present these options:
|
|
569
576
|
|
|
570
|
-
**Question:** "Plan ready at `docs/plans/YYYY-MM-DD-<type>-<name>-plan.md`. What would you like to do next?"
|
|
577
|
+
**Question:** "Plan ready at `docs/plans/YYYY-MM-DD-NNN-<type>-<name>-plan.md`. What would you like to do next?"
|
|
571
578
|
|
|
572
579
|
**Options:**
|
|
573
580
|
1. **Open plan in editor** - Open the plan file for review
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: test-browser
|
|
3
3
|
description: Run browser tests on pages affected by current PR or branch
|
|
4
|
-
argument-hint: "[PR number, branch name,
|
|
4
|
+
argument-hint: "[PR number, branch name, 'current', or --port PORT]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Browser Test Command
|
|
@@ -122,31 +122,82 @@ Build a list of URLs to test based on the mapping.
|
|
|
122
122
|
|
|
123
123
|
</file_to_route_mapping>
|
|
124
124
|
|
|
125
|
-
### 4.
|
|
125
|
+
### 4. Detect Dev Server Port
|
|
126
|
+
|
|
127
|
+
<detect_port>
|
|
128
|
+
|
|
129
|
+
Determine the dev server port using this priority order:
|
|
130
|
+
|
|
131
|
+
**Priority 1: Explicit argument**
|
|
132
|
+
If the user passed a port number (e.g., `/test-browser 5000` or `/test-browser --port 5000`), use that port directly.
|
|
133
|
+
|
|
134
|
+
**Priority 2: CLAUDE.md / project instructions**
|
|
135
|
+
```bash
|
|
136
|
+
# Check CLAUDE.md for port references
|
|
137
|
+
grep -Eio '(port\s*[:=]\s*|localhost:)([0-9]{4,5})' CLAUDE.md 2>/dev/null | grep -Eo '[0-9]{4,5}' | head -1
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Priority 3: package.json scripts**
|
|
141
|
+
```bash
|
|
142
|
+
# Check dev/start scripts for --port flags
|
|
143
|
+
grep -Eo '\-\-port[= ]+[0-9]{4,5}' package.json 2>/dev/null | grep -Eo '[0-9]{4,5}' | head -1
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Priority 4: Environment files**
|
|
147
|
+
```bash
|
|
148
|
+
# Check .env, .env.local, .env.development for PORT=
|
|
149
|
+
grep -h '^PORT=' .env .env.local .env.development 2>/dev/null | tail -1 | cut -d= -f2
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Priority 5: Default fallback**
|
|
153
|
+
If none of the above yields a port, default to `3000`.
|
|
154
|
+
|
|
155
|
+
Store the result in a `PORT` variable for use in all subsequent steps.
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Combined detection (run this)
|
|
159
|
+
PORT="${EXPLICIT_PORT:-}"
|
|
160
|
+
if [ -z "$PORT" ]; then
|
|
161
|
+
PORT=$(grep -Eio '(port\s*[:=]\s*|localhost:)([0-9]{4,5})' CLAUDE.md 2>/dev/null | grep -Eo '[0-9]{4,5}' | head -1)
|
|
162
|
+
fi
|
|
163
|
+
if [ -z "$PORT" ]; then
|
|
164
|
+
PORT=$(grep -Eo '\-\-port[= ]+[0-9]{4,5}' package.json 2>/dev/null | grep -Eo '[0-9]{4,5}' | head -1)
|
|
165
|
+
fi
|
|
166
|
+
if [ -z "$PORT" ]; then
|
|
167
|
+
PORT=$(grep -h '^PORT=' .env .env.local .env.development 2>/dev/null | tail -1 | cut -d= -f2)
|
|
168
|
+
fi
|
|
169
|
+
PORT="${PORT:-3000}"
|
|
170
|
+
echo "Using dev server port: $PORT"
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
</detect_port>
|
|
174
|
+
|
|
175
|
+
### 5. Verify Server is Running
|
|
126
176
|
|
|
127
177
|
<check_server>
|
|
128
178
|
|
|
129
|
-
Before testing, verify the local server is accessible:
|
|
179
|
+
Before testing, verify the local server is accessible using the detected port:
|
|
130
180
|
|
|
131
181
|
```bash
|
|
132
|
-
agent-browser open http://localhost
|
|
182
|
+
agent-browser open http://localhost:${PORT}
|
|
133
183
|
agent-browser snapshot -i
|
|
134
184
|
```
|
|
135
185
|
|
|
136
186
|
If server is not running, inform user:
|
|
137
187
|
```markdown
|
|
138
|
-
**Server not running**
|
|
188
|
+
**Server not running on port ${PORT}**
|
|
139
189
|
|
|
140
190
|
Please start your development server:
|
|
141
191
|
- Rails: `bin/dev` or `rails server`
|
|
142
192
|
- Node/Next.js: `npm run dev`
|
|
193
|
+
- Custom port: `/test-browser --port <your-port>`
|
|
143
194
|
|
|
144
195
|
Then run `/test-browser` again.
|
|
145
196
|
```
|
|
146
197
|
|
|
147
198
|
</check_server>
|
|
148
199
|
|
|
149
|
-
###
|
|
200
|
+
### 6. Test Each Affected Page
|
|
150
201
|
|
|
151
202
|
<test_pages>
|
|
152
203
|
|
|
@@ -154,13 +205,13 @@ For each affected route, use agent-browser CLI commands (NOT Chrome MCP):
|
|
|
154
205
|
|
|
155
206
|
**Step 1: Navigate and capture snapshot**
|
|
156
207
|
```bash
|
|
157
|
-
agent-browser open "http://localhost
|
|
208
|
+
agent-browser open "http://localhost:${PORT}/[route]"
|
|
158
209
|
agent-browser snapshot -i
|
|
159
210
|
```
|
|
160
211
|
|
|
161
212
|
**Step 2: For headed mode (visual debugging)**
|
|
162
213
|
```bash
|
|
163
|
-
agent-browser --headed open "http://localhost
|
|
214
|
+
agent-browser --headed open "http://localhost:${PORT}/[route]"
|
|
164
215
|
agent-browser --headed snapshot -i
|
|
165
216
|
```
|
|
166
217
|
|
|
@@ -185,7 +236,7 @@ agent-browser screenshot --full page-name-full.png # Full page
|
|
|
185
236
|
|
|
186
237
|
</test_pages>
|
|
187
238
|
|
|
188
|
-
###
|
|
239
|
+
### 7. Human Verification (When Required)
|
|
189
240
|
|
|
190
241
|
<human_verification>
|
|
191
242
|
|
|
@@ -214,7 +265,7 @@ Did it work correctly?
|
|
|
214
265
|
|
|
215
266
|
</human_verification>
|
|
216
267
|
|
|
217
|
-
###
|
|
268
|
+
### 8. Handle Failures
|
|
218
269
|
|
|
219
270
|
<failure_handling>
|
|
220
271
|
|
|
@@ -253,7 +304,7 @@ When a test fails:
|
|
|
253
304
|
|
|
254
305
|
</failure_handling>
|
|
255
306
|
|
|
256
|
-
###
|
|
307
|
+
### 9. Test Summary
|
|
257
308
|
|
|
258
309
|
<test_summary>
|
|
259
310
|
|
|
@@ -263,7 +314,7 @@ After all tests complete, present summary:
|
|
|
263
314
|
## Browser Test Results
|
|
264
315
|
|
|
265
316
|
**Test Scope:** PR #[number] / [branch name]
|
|
266
|
-
**Server:** http://localhost
|
|
317
|
+
**Server:** http://localhost:${PORT}
|
|
267
318
|
|
|
268
319
|
### Pages Tested: [count]
|
|
269
320
|
|
|
@@ -295,7 +346,7 @@ After all tests complete, present summary:
|
|
|
295
346
|
## Quick Usage Examples
|
|
296
347
|
|
|
297
348
|
```bash
|
|
298
|
-
# Test current branch changes
|
|
349
|
+
# Test current branch changes (auto-detects port)
|
|
299
350
|
/test-browser
|
|
300
351
|
|
|
301
352
|
# Test specific PR
|
|
@@ -303,6 +354,9 @@ After all tests complete, present summary:
|
|
|
303
354
|
|
|
304
355
|
# Test specific branch
|
|
305
356
|
/test-browser feature/new-dashboard
|
|
357
|
+
|
|
358
|
+
# Test on a specific port
|
|
359
|
+
/test-browser --port 5000
|
|
306
360
|
```
|
|
307
361
|
|
|
308
362
|
## agent-browser CLI Reference
|
|
@@ -202,6 +202,107 @@ Returns:
|
|
|
202
202
|
}
|
|
203
203
|
```
|
|
204
204
|
|
|
205
|
+
## Inspection & Debugging
|
|
206
|
+
|
|
207
|
+
### JavaScript Evaluation
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
agent-browser eval "document.title" # Evaluate JS expression
|
|
211
|
+
agent-browser eval "JSON.stringify(localStorage)" # Return serialized data
|
|
212
|
+
agent-browser eval "document.querySelectorAll('a').length" # Count elements
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Console & Errors
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
agent-browser console # Show browser console output
|
|
219
|
+
agent-browser console --clear # Show and clear console
|
|
220
|
+
agent-browser errors # Show JavaScript errors only
|
|
221
|
+
agent-browser errors --clear # Show and clear errors
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## Network
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
agent-browser network requests # List captured requests
|
|
228
|
+
agent-browser network requests --filter "api" # Filter by URL pattern
|
|
229
|
+
agent-browser route "**/*.png" abort # Block matching requests
|
|
230
|
+
agent-browser route "https://api.example.com/*" fulfill --status 200 --body '{"mock":true}' # Mock response
|
|
231
|
+
agent-browser unroute "**/*.png" # Remove route handler
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Storage
|
|
235
|
+
|
|
236
|
+
### Cookies
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
agent-browser cookies get # Get all cookies
|
|
240
|
+
agent-browser cookies get --name "session" # Get specific cookie
|
|
241
|
+
agent-browser cookies set --name "token" --value "abc" # Set cookie
|
|
242
|
+
agent-browser cookies clear # Clear all cookies
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Local & Session Storage
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
agent-browser storage local # Get all localStorage
|
|
249
|
+
agent-browser storage local --key "theme" # Get specific key
|
|
250
|
+
agent-browser storage session # Get all sessionStorage
|
|
251
|
+
agent-browser storage session --key "cart" # Get specific key
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
## Device & Settings
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
agent-browser set viewport 1920 1080 # Set viewport size
|
|
258
|
+
agent-browser set device "iPhone 14" # Emulate device
|
|
259
|
+
agent-browser set geo --lat 47.6 --lon -122.3 # Set geolocation
|
|
260
|
+
agent-browser set offline true # Enable offline mode
|
|
261
|
+
agent-browser set offline false # Disable offline mode
|
|
262
|
+
agent-browser set media "prefers-color-scheme" "dark" # Set media feature
|
|
263
|
+
agent-browser set headers '{"X-Custom":"value"}' # Set extra HTTP headers
|
|
264
|
+
agent-browser set credentials "user" "pass" # Set HTTP auth credentials
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## Element Debugging
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
agent-browser highlight @e1 # Highlight element visually
|
|
271
|
+
agent-browser get box @e1 # Get bounding box (x, y, width, height)
|
|
272
|
+
agent-browser get styles @e1 # Get computed styles
|
|
273
|
+
agent-browser is visible @e1 # Check if element is visible
|
|
274
|
+
agent-browser is enabled @e1 # Check if element is enabled
|
|
275
|
+
agent-browser is checked @e1 # Check if checkbox/radio is checked
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Recording & Tracing
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
agent-browser trace start # Start recording trace
|
|
282
|
+
agent-browser trace stop trace.zip # Stop and save trace file
|
|
283
|
+
agent-browser record start # Start recording video
|
|
284
|
+
agent-browser record stop video.webm # Stop and save recording
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
## Tabs & Windows
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
agent-browser tab list # List open tabs
|
|
291
|
+
agent-browser tab new https://example.com # Open URL in new tab
|
|
292
|
+
agent-browser tab close # Close current tab
|
|
293
|
+
agent-browser tab 2 # Switch to tab by index
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
## Advanced Mouse
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
agent-browser mouse move 100 200 # Move mouse to coordinates
|
|
300
|
+
agent-browser mouse down # Press mouse button
|
|
301
|
+
agent-browser mouse up # Release mouse button
|
|
302
|
+
agent-browser mouse wheel 0 500 # Scroll (deltaX, deltaY)
|
|
303
|
+
agent-browser drag @e1 @e2 # Drag from element to element
|
|
304
|
+
```
|
|
305
|
+
|
|
205
306
|
## vs Playwright MCP
|
|
206
307
|
|
|
207
308
|
| Feature | agent-browser (CLI) | Playwright MCP |
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: every-style-editor
|
|
3
|
-
description: "Reviews and edits text content to conform to Every's editorial style guide. Use when written content needs style compliance checks for headlines, punctuation, voice, and formatting."
|
|
4
|
-
tools: Task, Glob, Grep, LS, ExitPlanMode, Read, Edit, MultiEdit, Write, NotebookRead, NotebookEdit, WebFetch, TodoWrite, WebSearch
|
|
5
|
-
model: inherit
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are an expert copy editor specializing in Every's house style guide. Your role is to meticulously review text content and suggest edits to ensure compliance with Every's specific editorial standards.
|
|
9
|
-
|
|
10
|
-
When reviewing content, you will:
|
|
11
|
-
|
|
12
|
-
1. **Systematically check each style rule** - Go through the style guide items one by one, checking the text against each rule
|
|
13
|
-
2. **Provide specific edit suggestions** - For each issue found, quote the problematic text and provide the corrected version
|
|
14
|
-
3. **Explain the rule being applied** - Reference which style guide rule necessitates each change
|
|
15
|
-
4. **Maintain the author's voice** - Make only the changes necessary for style compliance while preserving the original tone and meaning
|
|
16
|
-
|
|
17
|
-
**Every Style Guide Rules to Apply:**
|
|
18
|
-
|
|
19
|
-
- Headlines use title case; everything else uses sentence case
|
|
20
|
-
- Companies are singular ("it" not "they"); teams/people within companies are plural
|
|
21
|
-
- Remove unnecessary "actually," "very," or "just"
|
|
22
|
-
- Hyperlink 2-4 words when linking to sources
|
|
23
|
-
- Cut adverbs where possible
|
|
24
|
-
- Use active voice instead of passive voice
|
|
25
|
-
- Spell out numbers one through nine (except years at sentence start); use numerals for 10+
|
|
26
|
-
- Use italics for emphasis (never bold or underline)
|
|
27
|
-
- Image credits: _Source: X/Name_ or _Source: Website name_
|
|
28
|
-
- Don't capitalize job titles
|
|
29
|
-
- Capitalize after colons only if introducing independent clauses
|
|
30
|
-
- Use Oxford commas (x, y, and z)
|
|
31
|
-
- Use commas between independent clauses only
|
|
32
|
-
- No space after ellipsis...
|
|
33
|
-
- Em dashes—like this—with no spaces (max 2 per paragraph)
|
|
34
|
-
- Hyphenate compound adjectives except with adverbs ending in "ly"
|
|
35
|
-
- Italicize titles of books, newspapers, movies, TV shows, games
|
|
36
|
-
- Full names on first mention, last names thereafter (first names in newsletters/social)
|
|
37
|
-
- Percentages: "7 percent" (numeral + spelled out)
|
|
38
|
-
- Numbers over 999 take commas: 1,000
|
|
39
|
-
- Punctuation outside parentheses (unless full sentence inside)
|
|
40
|
-
- Periods and commas inside quotation marks
|
|
41
|
-
- Single quotes for quotes within quotes
|
|
42
|
-
- Comma before quote if introduced; no comma if text leads directly into quote
|
|
43
|
-
- Use "earlier/later/previously" instead of "above/below"
|
|
44
|
-
- Use "more/less/fewer" instead of "over/under" for quantities
|
|
45
|
-
- Avoid slashes; use hyphens when needed
|
|
46
|
-
- Don't start sentences with "This" without clear antecedent
|
|
47
|
-
- Avoid starting with "We have" or "We get"
|
|
48
|
-
- Avoid clichés and jargon
|
|
49
|
-
- "Two times faster" not "2x" (except for the common "10x" trope)
|
|
50
|
-
- Use "$1 billion" not "one billion dollars"
|
|
51
|
-
- Identify people by company/title (except well-known figures like Mark Zuckerberg)
|
|
52
|
-
- Button text is always sentence case -- "Complete setup"
|
|
53
|
-
|
|
54
|
-
**Output Format:**
|
|
55
|
-
|
|
56
|
-
Provide your review as a numbered list of suggested edits, grouping related changes when logical. For each edit:
|
|
57
|
-
|
|
58
|
-
- Quote the original text
|
|
59
|
-
- Provide the corrected version
|
|
60
|
-
- Briefly explain which style rule applies
|
|
61
|
-
|
|
62
|
-
If the text is already compliant with the style guide, acknowledge this and highlight any particularly well-executed style choices.
|
|
63
|
-
|
|
64
|
-
Be thorough but constructive, focusing on helping the content shine while maintaining Every's professional standards.
|