Skip to content

Commit 190b3e2

Browse files
relax agent prompts: drop diff size and test count pressure
Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 62ef392 commit 190b3e2

7 files changed

Lines changed: 24 additions & 23 deletions

File tree

.cursor/rules/agent-workflow.mdc

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,16 @@ When you're given a per-PR task prompt from `plans/CURSOR-PROMPTS-*.md`:
4848
- **Implement in the listed order.** Do not reshape the PR or roll
4949
multiple PRs together.
5050
- **Match named tests verbatim.** When the plan §4 table lists
51-
`test_<scenario>_<expected>`, that is the exact name to use. Test
52-
count must match the prompt's claim.
51+
`test_<scenario>_<expected>`, that is the exact name to use. If you
52+
add, drop, or rename tests, update the plan/prompt text in the same
53+
change so reviewers are not chasing a stale list.
5354
- **No drive-by lint fixes.** Removing an unused `import` in a file
5455
the PR doesn't otherwise touch is still a scope leak. If a file
5556
isn't in the deliverables list, don't touch it.
5657
- **PR description must include**: scope statement, manual evidence
57-
(with the exact command from the prompt), test count, and any
58-
intentional design divergences from sibling PRs called out
59-
explicitly so the reviewer doesn't flag them as bugs.
58+
(with the exact command from the prompt), and any intentional design
59+
divergences from sibling PRs called out explicitly so the reviewer
60+
doesn't flag them as bugs.
6061

6162
## Editing rules
6263

.cursor/skills/plan-project-scope/SKILL.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Strong plans in this repo consistently include:
4141
- upfront **Status** and dependency context (`Depends on`, if applicable)
4242
- a clear **Goal** section with concrete expected outcomes
4343
- explicit **Principles (do not relitigate in review)** to freeze key decisions
44-
- a **PR breakdown overview table** (scope, ontology bump, files, tests, dependency order)
44+
- a **PR breakdown overview table** (scope, ontology bump, primary surfaces, tests, dependency order)`Primary surfaces` is a short qualitative hint (modules or concerns), not a file count or LoC budget
4545
- per-PR sections with:
4646
- file-by-file changes
4747
- named tests (verbatim test function names where possible)
@@ -72,7 +72,7 @@ Depends on: <dependency or "none">.
7272
- <principle 2>
7373

7474
## PR breakdown - overview
75-
| PR | Scope | Ontology bump | Files touched (approx) | Test buckets | Independent of |
75+
| PR | Scope | Ontology bump | Primary surfaces | Test buckets | Independent of |
7676
| --- | --- | --- | --- | --- | --- |
7777
| PR-X1 | ... | ... | ... | ... | ... |
7878

@@ -128,6 +128,7 @@ Landing order: **X1 -> X2 -> X3**.
128128
- Name tests exactly when feasible; avoid vague "add tests".
129129
- Call out ontology bump and re-index impact for schema/enrichment changes.
130130
- Keep "Out of scope" strict; use it to prevent scope creep during implementation.
131+
- Treat `Primary surfaces` column entries as qualitative (areas touched), not budgets implementers must match.
131132
- Do not add compatibility shims unless explicitly requested.
132133

133134
## Per-PR execution prompt option
@@ -139,7 +140,7 @@ Each PR prompt should include:
139140
- branch/base
140141
- in-scope deliverables
141142
- out-of-scope guardrails
142-
- explicit test count/commands
143+
- pytest commands and evidence expectations (avoid hard totals that go stale)
143144
- definition of done and PR title convention
144145

145146
Use `plans/completed/CURSOR-PROMPTS-TIER1B.md` as the structural reference.

.cursor/skills/plan-project-scope/examples.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ as a multi-PR sequence. This file is plan-only and does not implement code.
1515
```markdown
1616
## PR breakdown - overview
1717

18-
| PR | Scope | Ontology bump | Files touched (approx) | Test buckets | Independent of |
18+
| PR | Scope | Ontology bump | Primary surfaces | Test buckets | Independent of |
1919
| --- | --- | --- | --- | --- | --- |
20-
| PR-X1 | schema + extraction | 9 -> 10 | 4-5 | extraction + schema | prerequisite only |
21-
| PR-X2 | matcher integration | none | 2-3 | regression + continuity | PR-X1 |
22-
| PR-X3 | MCP tool + docs | none | 3-4 | tool filters + docs | PR-X1 |
20+
| PR-X1 | schema + extraction | 9 -> 10 | `build_ast_graph`, `ast_java` | extraction + schema | prerequisite only |
21+
| PR-X2 | matcher integration | none | `pass6`, matcher tests | regression + continuity | PR-X1 |
22+
| PR-X3 | MCP tool + docs | none | `mcp_v2`, README | tool filters + docs | PR-X1 |
2323

2424
Landing order: **X1 -> X2 -> X3**.
2525
```

.cursor/skills/plan-prompts/SKILL.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Do not use this skill if there is no plan yet. Write/update the plan first.
2222
Before writing prompts, confirm:
2323
1. Source plan file path (for example `plans/PLAN-XYZ.md`).
2424
2. PR list and landing order from the plan.
25-
3. Any fixed constraints (test count expectations, files not to touch, branch naming).
25+
3. Any fixed constraints (branch naming, files or areas not to touch).
2626

2727
If already present in the plan, do not ask again.
2828

@@ -41,7 +41,7 @@ Write one file:
4141
Include:
4242
- status line
4343
- one section per PR in plan landing order
44-
- `Branch`, `Base`, `Plan section`, estimated diff size
44+
- `Branch`, `Base`, `Plan section`
4545
- `@-files` list for context attachment
4646
- copy-paste `Prompt` block with strict scope contract
4747

@@ -52,7 +52,7 @@ Each PR prompt must include all of:
5252
- **Out of scope (do NOT touch)** list mirroring plan boundaries
5353
- **Deliverables** numbered and testable
5454
- **`## Tests to run (iteration loop)`** — pytest **file** subset for fast local iteration (see below); must appear **after Deliverables and before the full Tests section**
55-
- **Tests** command and expected result format for the full or plan-required run (counts only if known)
55+
- **Tests** command and expected signals (pass/fail, skips, fixtures); avoid hard totals that go stale across branches
5656
- **Sentinel checks** (`rg` patterns) where scope enforcement is critical
5757
- **Manual evidence** commands when plan requires runtime proof
5858
- **Definition of Done** checklist with PR title + branch convention
@@ -84,7 +84,6 @@ This heading must stay verbatim so reviewers (and the repo **`pr-review`** skill
8484
**Branch:** `feat/<topic>` off `<base>`.
8585
**Base:** `<base branch or predecessor PR branch>`.
8686
**Plan section:** `plans/PLAN-<TOPIC>.md` § <section>.
87-
**Estimated diff size:** ~<n> files, ~<m> LOC.
8887

8988
**Attach (`@-files`):**
9089
- `@plans/PLAN-<TOPIC>.md`
@@ -118,7 +117,7 @@ Docs-only PRs (UC15): use a single bullet such as *(none — docs-only change; f
118117

119118
## Tests
120119
Run: `<command>`
121-
Expected: <result format / count if known>
120+
Expected: <pass/fail, skips, key fixtures — not a brittle total count>
122121

123122
## Sentinel checks
124123
- `<rg command>`

.cursor/skills/plan-prompts/examples.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ Status: **active**. One prompt per PR; each prompt is self-contained.
1616
**Branch:** `feat/topic-x1` off `master`.
1717
**Base:** `master`.
1818
**Plan section:** `plans/PLAN-TOPIC.md` § PR-X1.
19-
**Estimated diff size:** ~4 files, ~300 LOC.
2019

2120
**Attach (`@-files`):**
2221
- `@plans/PLAN-TOPIC.md`

.cursor/skills/plan-prompts/reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Use this when converting `PLAN-*` into `CURSOR-PROMPTS-*`.
55
## Core quality bar
66

77
1. Prompt is self-contained and executable by another agent.
8-
2. Scope is locked to one PR section only.
8+
2. Scope stays within one PR section only.
99
3. Out-of-scope is explicit and enforceable.
1010
4. Deliverables are concrete and numbered.
1111
5. **Iteration subset** (`## Tests to run (iteration loop)`) lists `tests/test_*.py` bullets with one-line rationales (or UC15 docs-only line) between Deliverables and Tests.

AGENTS.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,11 @@ template):
126126
- Treat the prompt's **Out of scope** list as binding. Sentinel grep
127127
patterns in the prompt must return zero on `git diff master..HEAD`.
128128
- Implement deliverables in the listed order; don't reshape the PR.
129-
- Match the prompt's expected test count and named tests verbatim.
130-
- PR description must include: scope statement, manual evidence
131-
(with the exact command from the prompt), test count, and
132-
intentional design divergences flagged.
129+
- Match named tests verbatim when the prompt lists `test_*` names; if
130+
the test set changes, update the prompt/plan text in the same change.
131+
- PR description must include: scope statement, manual evidence (with
132+
the exact command from the prompt), and intentional design
133+
divergences flagged.
133134
- No drive-by lint fixes (unused imports, formatting nits in
134135
unrelated files). They violate the per-PR scope contract even when
135136
they look harmless.

0 commit comments

Comments
 (0)