Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/andr-ca/agentharnessWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/andr-ca/agentharness/planning-with-files)<a href="https://agentmods.dev/rules/andr-ca/agentharness/planning-with-files"><img src="https://agentmods.dev/badge/rules/andr-ca/agentharness/planning-with-files/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/andr-ca/agentharness/planning-with-files"><img src="https://agentmods.dev/badge/rules/andr-ca/agentharness/planning-with-files.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00044 | $0.00810 |
| Opus 5.5 | $0.00018 | $0.00324 |
| Sonnet 5.5 | $0.00009 | $0.00162 |
| Haiku 4.5 | $0.00004 | $0.00081 |
Grade A, and why
planning-with-files scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Planning with Files
Use this pattern for any task where you can't complete everything in one pass: long refactors, migrations, multi-feature buildouts, research tasks, or anything with more than ~5 tool calls. File-based state survives context resets and gives you (and the user) a running record of what's been done.
Place planning files in docs/operational/ if the harness is linked, or
in a .planning/ directory at the project root — whichever exists.
Files to create at the start
task_plan.md
Written before any implementation. Contains:
# Task: <short title>
## Goal
One sentence: what does "done" look like?
## Scope
What's in and what's explicitly out.
## Steps
1. Step one (estimate: small/medium/large)
2. Step two
3. ...
## Open questions
- Question 1 (unblocks: step 3)
## Success criteria
- [ ] Criterion A
- [ ] Criterion B
findings.md
Appended to as you work. Never edited retroactively.
# Findings
## <ISO timestamp>
**Context:** What you were investigating.
**Finding:** What you learned.
**Impact:** Does it change the plan? If yes, add a note to task_plan.md.
progress.md
Updated after each step completes:
# Progress
## Completed
- [x] Step 1 — <one-line summary> (commit: <sha>)
## In progress
- [ ] Step 2 — started <timestamp>
## Blocked
- Step 3 — waiting on: <reason>
## Next action
<Exact next thing to do when resuming>
Workflow
1. Read existing task_plan.md (if present) — don't start a second plan
for the same task.
2. Write task_plan.md → get user approval on scope before doing anything.
3. For each step:
a. Write findings to findings.md before and after each discovery.
b. Do the work (code, commands, searches).
c. Mark step complete in progress.md; record the commit SHA.
d. If blocked, record the blocker in progress.md and surface it.
4. When context resets: read progress.md first. Resume from "Next action".
5. When all steps are complete:
- Verify all success criteria in task_plan.md.
- Archive or delete the planning files (they're operational docs, not
permanent — see docs/operational/README.md for the lifecycle).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 116 lines · 44 tokens per session scan A 2d30705ff5bb
planning-with-files is a cursor rule published in the GitHub repository andr-ca/agentharness (1 stars, last pushed 5d ago), licensed MIT. It adds 44 tokens to every session and 810 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other cursor rules, from other repositories
handoff
Export a Waybill Bundle by default, or import one when explicitly requested.
reflection-basic
Basic reflection format for Level 2 Simple Enhancement tasks.
dreamd-recall
Recall lessons, decisions, and prior context from the .agent/ memory daemon. Use when starting work in a project that has a .agent/ folder, when the user references a past decision, or when you are about to make a choice that has a documented prior.
git-workflow
Rules for git operations, commit strategy, and GitHub CLI usage.
feedback-enhanced
Rules for an interactive feedback system that lets users and an AI agent discuss complex development work in real time. It includes guidance for recording decisions, tracking progress and handling detailed inputs such as code and diagrams.
kiss-ponytail
Ponytail, lazy senior dev mode. Always pick the simplest solution that works.