|
|
|
@@ -1,5 +1,5 @@
|
|
|
|
|
<div align="center">
|
|
|
|
|
<img src="https://raw.githubusercontent.com/OthmanAdi/planning-with-files/v3.20.8/media/pwf-banner-v5.webp" alt="PWF: Every task. Every step. Three planning files on a brass-inlaid base beneath an engraved arch" width="100%">
|
|
|
|
|
<img src="https://raw.githubusercontent.com/OthmanAdi/planning-with-files/v3.21.0/media/pwf-banner-v5.webp" alt="PWF: Every task. Every step. Three planning files on a brass-inlaid base beneath an engraved arch" width="100%">
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<h1 align="center">
|
|
|
|
@@ -30,9 +30,9 @@ Persistent file-based planning for AI coding agents and long-running agent tasks
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/evals.md"><img src="https://img.shields.io/badge/benchmark-96.7%25_pass_(29%2F30)-2da44e?style=flat" alt="Benchmark: 96.7 percent assertion pass rate with skill"></a>
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/evals.md"><img src="https://img.shields.io/badge/blind_A%2FB-3%2F3_wins-2da44e?style=flat" alt="Blind A/B: 3 of 3 wins"></a>
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/LICENSE"><img src="https://img.shields.io/github/license/OthmanAdi/planning-with-files?style=flat" alt="MIT license"></a>
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/evals.md"><img src="https://img.shields.io/badge/benchmark-96.7%25_pass_(29%2F30)-2da44e?style=flat" alt="Benchmark: 96.7 percent assertion pass rate with skill"></a>
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/evals.md"><img src="https://img.shields.io/badge/blind_A%2FB-3%2F3_wins-2da44e?style=flat" alt="Blind A/B: 3 of 3 wins"></a>
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/LICENSE"><img src="https://img.shields.io/github/license/OthmanAdi/planning-with-files?style=flat" alt="MIT license"></a>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
@@ -45,7 +45,7 @@ Persistent file-based planning for AI coding agents and long-running agent tasks
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
|
<sub>Proof, comparisons and the repository reference are <a href="#reference">further down</a> · <a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/installation.md">Full install guide</a></sub>
|
|
|
|
|
<sub>Proof, comparisons and the repository reference are <a href="#reference">further down</a> · <a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/installation.md">Full install guide</a></sub>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -55,7 +55,7 @@ Persistent file-based planning for AI coding agents and long-running agent tasks
|
|
|
|
|
npx skills add OthmanAdi/planning-with-files --skill planning-with-files -g
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
All install methods: [docs/installation.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/installation.md).
|
|
|
|
|
All install methods: [docs/installation.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/installation.md).
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
@@ -64,7 +64,7 @@ All install methods: [docs/installation.md](https://github.com/OthmanAdi/plannin
|
|
|
|
|
Every coding agent loses its working memory when the context window resets. The plan does not have to die with it.
|
|
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/media/pwf-context-story-v1.mp4"><img src="https://raw.githubusercontent.com/OthmanAdi/planning-with-files/v3.20.8/media/pwf-context-story-v1.gif" alt="Illustrated workflow: planning files preserve the task state through a context reset" width="760"></a>
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/media/pwf-context-story-v1.mp4"><img src="https://raw.githubusercontent.com/OthmanAdi/planning-with-files/v3.21.0/media/pwf-context-story-v1.gif" alt="Illustrated workflow: planning files preserve the task state through a context reset" width="760"></a>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
## Built for long-running agent tasks
|
|
|
|
@@ -141,7 +141,7 @@ npx skills add OthmanAdi/planning-with-files --skill planning-with-files-zht -g
|
|
|
|
|
|
|
|
|
|
These are real translations, not an English body with a translated description: the SKILL.md prose, the templates, and the user-facing output of `check-complete`, `init-session` and `session-catchup` are all localized. The status tokens stay literal English (`**Status:** complete`) on purpose, because `check-complete.sh` matches them with `grep -F`, so translating them would disable the completion gate.
|
|
|
|
|
|
|
|
|
|
Since v3.10.0 the variants also ship the full script surface: attestation, the Stop gate, the ledger, phase status and plan-doctor used to be canonical-only, which quietly made every non-English install a subset install. Full details, including what changed on the plugin route in v3.11.0, are in [docs/languages.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/languages.md).
|
|
|
|
|
Since v3.10.0 the variants also ship the full script surface: attestation, the Stop gate, the ledger, phase status and plan-doctor used to be canonical-only, which quietly made every non-English install a subset install. Full details, including what changed on the plugin route in v3.11.0, are in [docs/languages.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/languages.md).
|
|
|
|
|
|
|
|
|
|
They live under `skills/i18n/`, one directory deeper than the canonical skill. The install commands above are unchanged, because `npx skills add` resolves `--skill` by skill name across the whole repository. The Claude Code plugin scan reads `skills/*/SKILL.md` without recursing, so the plugin route registers the canonical skill alone and no longer carries five extra descriptions in every session's system prompt. On that route the `/plan-ar`, `/plan-de`, `/plan-es`, `/plan-zh` and `/plan-zht` commands read the translated skill from disk instead of invoking it by name.
|
|
|
|
|
|
|
|
|
@@ -152,18 +152,18 @@ They live under `skills/i18n/`, one directory deeper than the canonical skill. T
|
|
|
|
|
|
|
|
|
|
| IDE | Installation Guide | Integration |
|
|
|
|
|
|-----|-------------------|-------------|
|
|
|
|
|
| Claude Code | [Installation](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/installation.md) | Plugin + SKILL.md + Hooks |
|
|
|
|
|
| Cursor | [Cursor Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/cursor.md) | Skills + [hooks.json](https://cursor.com/docs/hooks) |
|
|
|
|
|
| GitHub Copilot | [Copilot Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/copilot.md) | [Hooks](https://docs.github.com/en/copilot/reference/hooks-configuration) (incl. errorOccurred) |
|
|
|
|
|
| Mastra Code | [Mastra Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/mastra.md) | Skills + [Hooks](https://mastra.ai/docs/mastra-code/configuration) |
|
|
|
|
|
| Gemini CLI | [Gemini Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/gemini.md) | Skills + [Hooks](https://geminicli.com/docs/hooks/) |
|
|
|
|
|
| Kiro | [Kiro Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/kiro.md) | [Agent Skills](https://kiro.dev/docs/skills/) |
|
|
|
|
|
| Codex | [Codex Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/codex.md) | [Skills + Hooks](https://developers.openai.com/codex/skills) |
|
|
|
|
|
| Hermes Agent | [Hermes Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/hermes.md) | Skill + native plugin (tools, `/pwf`, `pre_llm_call`, `post_tool_call`, `pre_verify` gate), CLI and Desktop |
|
|
|
|
|
| CodeBuddy | [CodeBuddy Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/codebuddy.md) | [Skills + Hooks](https://www.codebuddy.ai/docs/cli/skills) |
|
|
|
|
|
| FactoryAI Droid | [Factory Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/factory.md) | [Skills + Hooks](https://docs.factory.ai/cli/configuration/skills) |
|
|
|
|
|
| OpenCode | [OpenCode Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/opencode.md) | Native plugin `opencode-planning-with-files` (`chat.message` injection, write reminders, compaction flush, `session.idle` gate, `pwf_*` tools, `/pwf` commands) + skill |
|
|
|
|
|
| DeepSeek Harness | [DeepSeek Harness Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/deepseek-harness.md) | Native plugin `dsh-planning-with-files` (`agent/pre-step` injection, write reminders, post-compaction restore, `agent/turn-stopping` gate, `pwf_*` tools, `/pwf` commands) + skill |
|
|
|
|
|
| Claude Code | [Installation](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/installation.md) | Plugin + SKILL.md + Hooks |
|
|
|
|
|
| Cursor | [Cursor Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/cursor.md) | Skills + [hooks.json](https://cursor.com/docs/hooks) |
|
|
|
|
|
| GitHub Copilot | [Copilot Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/copilot.md) | [Hooks](https://docs.github.com/en/copilot/reference/hooks-configuration) (incl. errorOccurred) |
|
|
|
|
|
| Mastra Code | [Mastra Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/mastra.md) | Skills + [Hooks](https://mastra.ai/docs/mastra-code/configuration) |
|
|
|
|
|
| Gemini CLI | [Gemini Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/gemini.md) | Skills + [Hooks](https://geminicli.com/docs/hooks/) |
|
|
|
|
|
| Kiro | [Kiro Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/kiro.md) | [Agent Skills](https://kiro.dev/docs/skills/) |
|
|
|
|
|
| Codex | [Codex Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/codex.md) | [Skills + Hooks](https://developers.openai.com/codex/skills) |
|
|
|
|
|
| Hermes Agent | [Hermes Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/hermes.md) | Skill + native plugin (tools, `/pwf`, `pre_llm_call`, `post_tool_call`, `pre_verify` gate), CLI and Desktop |
|
|
|
|
|
| CodeBuddy | [CodeBuddy Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/codebuddy.md) | [Skills + Hooks](https://www.codebuddy.ai/docs/cli/skills) |
|
|
|
|
|
| FactoryAI Droid | [Factory Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/factory.md) | [Skills + Hooks](https://docs.factory.ai/cli/configuration/skills) |
|
|
|
|
|
| OpenCode | [OpenCode Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/opencode.md) | Native plugin `opencode-planning-with-files` (`chat.message` injection, write reminders, compaction flush, `session.idle` gate, `pwf_*` tools, `/pwf` commands) + skill |
|
|
|
|
|
| DeepSeek Harness | [DeepSeek Harness Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/deepseek-harness.md) | Native plugin `dsh-planning-with-files` (`agent/pre-step` injection, write reminders, post-compaction restore, `agent/turn-stopping` gate, `pwf_*` tools, `/pwf` commands) + skill |
|
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
@@ -172,13 +172,13 @@ They live under `skills/i18n/`, one directory deeper than the canonical skill. T
|
|
|
|
|
|
|
|
|
|
| IDE | Installation Guide | Skill Discovery Path |
|
|
|
|
|
|-----|-------------------|---------------------|
|
|
|
|
|
| Continue | [Continue Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/continue.md) | `.continue/skills/` + [.prompt files](https://docs.continue.dev/customize/deep-dives/prompts) |
|
|
|
|
|
| Pi Agent | [Pi Agent Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/pi-agent.md) | `.pi/skills/` ([npm package](https://www.npmjs.com/package/@mariozechner/pi-coding-agent)) |
|
|
|
|
|
| OpenClaw | [OpenClaw Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/openclaw.md) | `.openclaw/skills/` ([docs](https://docs.openclaw.ai/tools/skills)) |
|
|
|
|
|
| Autohand Code | [Autohand Code Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/autohand.md) | `~/.autohand/skills/` or `.autohand/skills/` |
|
|
|
|
|
| Antigravity | [Antigravity Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/antigravity.md) | `.agent/skills/` ([docs](https://codelabs.developers.google.com/getting-started-with-antigravity-skills)) |
|
|
|
|
|
| Kilocode | [Kilocode Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/kilocode.md) | `.kilocode/skills/` ([docs](https://kilo.ai/docs/agent-behavior/skills)) |
|
|
|
|
|
| AdaL CLI (Sylph AI) | [AdaL Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/adal.md) | `.adal/skills/` ([docs](https://docs.sylph.ai/features/plugins-and-skills)) |
|
|
|
|
|
| Continue | [Continue Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/continue.md) | `.continue/skills/` + [.prompt files](https://docs.continue.dev/customize/deep-dives/prompts) |
|
|
|
|
|
| Pi Agent | [Pi Agent Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/pi-agent.md) | `.pi/skills/` ([npm package](https://www.npmjs.com/package/@mariozechner/pi-coding-agent)) |
|
|
|
|
|
| OpenClaw | [OpenClaw Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/openclaw.md) | `.openclaw/skills/` ([docs](https://docs.openclaw.ai/tools/skills)) |
|
|
|
|
|
| Autohand Code | [Autohand Code Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/autohand.md) | `~/.autohand/skills/` or `.autohand/skills/` |
|
|
|
|
|
| Antigravity | [Antigravity Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/antigravity.md) | `.agent/skills/` ([docs](https://codelabs.developers.google.com/getting-started-with-antigravity-skills)) |
|
|
|
|
|
| Kilocode | [Kilocode Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/kilocode.md) | `.kilocode/skills/` ([docs](https://kilo.ai/docs/agent-behavior/skills)) |
|
|
|
|
|
| AdaL CLI (Sylph AI) | [AdaL Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/adal.md) | `.adal/skills/` ([docs](https://docs.sylph.ai/features/plugins-and-skills)) |
|
|
|
|
|
|
|
|
|
|
> **Note:** If your IDE uses the legacy Rules system instead of Skills, see the [`legacy-rules-support`](https://github.com/OthmanAdi/planning-with-files/tree/legacy-rules-support) branch.
|
|
|
|
|
|
|
|
|
@@ -189,7 +189,7 @@ They live under `skills/i18n/`, one directory deeper than the canonical skill. T
|
|
|
|
|
|
|
|
|
|
| Runtime | Status | Guide | Notes |
|
|
|
|
|
|---------|--------|-------|-------|
|
|
|
|
|
| BoxLite | ✅ Documented | [BoxLite Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/boxlite.md) | Run Claude Code + planning-with-files inside hardware-isolated micro-VMs |
|
|
|
|
|
| BoxLite | ✅ Documented | [BoxLite Setup](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/boxlite.md) | Run Claude Code + planning-with-files inside hardware-isolated micro-VMs |
|
|
|
|
|
|
|
|
|
|
> BoxLite is a sandbox runtime, not an IDE. Skills load via [ClaudeBox](https://github.com/boxlite-ai/claudebox), BoxLite's official Claude Code integration layer.
|
|
|
|
|
|
|
|
|
@@ -223,7 +223,7 @@ They are complementary stages, not alternatives. Plan mode is where you design a
|
|
|
|
|
|
|
|
|
|
### What happens to the plan files after a task is complete?
|
|
|
|
|
|
|
|
|
|
They are working memory, not a tracked deliverable. `task_plan.md`, `findings.md`, `progress.md`, and the `.planning/` directory are gitignored by default and are not archived automatically: the next task overwrites the root plan, and a slug directory just stops being active. Anything worth keeping should be promoted into code, a commit, or a doc. See [After Completion: What Happens to the Plan Files](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/workflow.md#after-completion-what-happens-to-the-plan-files) for the full lifecycle and how to retain a completed plan. This is a deliberate default, not a missing feature; a completion-triggered archive step is a welcome opt-in extension.
|
|
|
|
|
They are working memory, not a tracked deliverable. `task_plan.md`, `findings.md`, `progress.md`, and the `.planning/` directory are gitignored by default and are not archived automatically: the next task overwrites the root plan, and a slug directory just stops being active. Anything worth keeping should be promoted into code, a commit, or a doc. See [After Completion: What Happens to the Plan Files](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/workflow.md#after-completion-what-happens-to-the-plan-files) for the full lifecycle and how to retain a completed plan. This is a deliberate default, not a missing feature; a completion-triggered archive step is a welcome opt-in extension.
|
|
|
|
|
|
|
|
|
|
### How fast are the hooks?
|
|
|
|
|
|
|
|
|
@@ -238,6 +238,7 @@ One hook fire measures 289ms wall-clock since the v3.6.0 optimization, down from
|
|
|
|
|
|
|
|
|
|
| Version | Highlights |
|
|
|
|
|
|---------|------------|
|
|
|
|
|
| **v3.21.0** | Explicit root and named attestation targets preserve active selection and project containment (#296). PowerShell initialization retries the concurrent pointer pre-check race with bounded, validated attempts (#294). |
|
|
|
|
|
| **v3.20.8** | Claude Code sessions without a plan no longer end every reply with a Stop notice (#288). Cursor hooks move to the current schema with `sessionStart` injection (#262), Gemini CLI hooks inject through `BeforeAgent` and `AfterTool` `hookSpecificOutput` (#292), and both adapters' hook scripts are now executable on macOS and Linux; the Cursor stop hook stays silent once every phase is complete. PowerShell pointer replacement recovers or removes only its own `ReplaceFile` backup (#254). |
|
|
|
|
|
| **v3.20.7** | Fixes npm capability disclosure metadata and three unavailable contributor portrait endpoints. The npm package continues to ship the canonical skill and full repository README. |
|
|
|
|
|
| **v3.20.6** | Phase-status writers claim one lock owner even with Windows-native `mkdir` (#282). OpenCode, DSH and Hermes safely replace linked active pointers (#283, #284). PowerShell named plans reject read-only pointers before creation (#285), work under bracketed paths (#286), and retry transient concurrent pointer writes and inspection races (#287). The remaining `ReplaceFile` artifact case stays open in #254. |
|
|
|
|
@@ -327,7 +328,7 @@ One hook fire measures 289ms wall-clock since the v3.6.0 optimization, down from
|
|
|
|
|
| **v2.7.0** | Gemini CLI support |
|
|
|
|
|
| **v2.2.0** | Session recovery, Windows PowerShell, OS-aware hooks |
|
|
|
|
|
|
|
|
|
|
[View all releases](https://github.com/OthmanAdi/planning-with-files/releases) · [CHANGELOG](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/CHANGELOG.md)
|
|
|
|
|
[View all releases](https://github.com/OthmanAdi/planning-with-files/releases) · [CHANGELOG](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/CHANGELOG.md)
|
|
|
|
|
|
|
|
|
|
> Parallel plan isolation (`.planning/YYYY-MM-DD-slug/` directories) and Codex session isolation shipped in v2.36.0. The `experimental/isolated-planning` branch was the earlier prototype; master is now the canonical location.
|
|
|
|
|
|
|
|
|
@@ -365,7 +366,7 @@ One hook fire measures 289ms wall-clock since the v3.6.0 optimization, down from
|
|
|
|
|
|
|
|
|
|
*Built something? [Open an issue](https://github.com/OthmanAdi/planning-with-files/issues) to get listed!*
|
|
|
|
|
|
|
|
|
|
Full list of everyone who made this project better: [CONTRIBUTORS.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/CONTRIBUTORS.md).
|
|
|
|
|
Full list of everyone who made this project better: [CONTRIBUTORS.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/CONTRIBUTORS.md).
|
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
@@ -385,7 +386,7 @@ Full list of everyone who made this project better: [CONTRIBUTORS.md](https://gi
|
|
|
|
|
| Autonomous loops burn tokens on recitation | Autonomous mode drops the per-tool-call recitation and replaces the raw progress tail with a fixed-shape ledger summary; injection is KV-cache stable and one hook fire costs about 289 ms |
|
|
|
|
|
| Hooks that quietly stop firing | `/plan-doctor` self-checks resolution, injection, attestation, install surfaces and per-fire latency |
|
|
|
|
|
|
|
|
|
|
Everything in that table is opt-in per plan and byte-identical to the previous behavior when no mode marker is set. Details: [v3 Long-Running Agent Features](#v3-long-running-agent-features) and [docs/long-running-agent-tasks.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/long-running-agent-tasks.md).
|
|
|
|
|
Everything in that table is opt-in per plan and byte-identical to the previous behavior when no mode marker is set. Details: [v3 Long-Running Agent Features](#v3-long-running-agent-features) and [docs/long-running-agent-tasks.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/long-running-agent-tasks.md).
|
|
|
|
|
|
|
|
|
|
### Installation routes
|
|
|
|
|
|
|
|
|
@@ -456,7 +457,7 @@ What each route actually ships:
|
|
|
|
|
| DeepSeek Harness `dsh plugin add` | yes, with the skill | **yes**, `/pwf`, `/pwf-status` | **yes**, plugin hooks incl. the gate |
|
|
|
|
|
| ClawHub / manual copy | yes | no | frontmatter hooks, see note |
|
|
|
|
|
|
|
|
|
|
Skill-route installs can end up silently hook-less (project trust not accepted, or frontmatter hooks not registering on project-level installs). The hooks are the differentiating mechanism, so if they matter to you, use the plugin route, then verify with `/plan-doctor`. Full matrix and the two silent killers: [docs/installation.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/installation.md#what-each-install-route-actually-ships).
|
|
|
|
|
Skill-route installs can end up silently hook-less (project trust not accepted, or frontmatter hooks not registering on project-level installs). The hooks are the differentiating mechanism, so if they matter to you, use the plugin route, then verify with `/plan-doctor`. Full matrix and the two silent killers: [docs/installation.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/installation.md#what-each-install-route-actually-ships).
|
|
|
|
|
|
|
|
|
|
Install acting up? Open your agent and say: *"Read docs/installation.md and docs/troubleshooting.md from OthmanAdi/planning-with-files and fix my install."* Then run `/plan-doctor`.
|
|
|
|
|
|
|
|
|
@@ -493,7 +494,7 @@ Per-platform setup guides, discovery paths and sandbox runtimes are in the colla
|
|
|
|
|
- **Stall-aware gate.** The completion gate reads the ledger, not `progress.md` mtime, so a worker that stopped producing events releases the stop instead of looping.
|
|
|
|
|
- **One plan, many hosts.** Claude Code, Codex, Pi, Hermes and OpenCode read the same files, the same `.attestation` and the same gate counters, so a plan can be handed from one agent to another mid-run.
|
|
|
|
|
|
|
|
|
|
The contract and the `.mode` tokens are specified in the skill itself ([SKILL.md, Autonomous and Gated Modes](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/skills/planning-with-files/SKILL.md#autonomous-and-gated-modes-v3)) and in [docs/long-running-agent-tasks.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/long-running-agent-tasks.md).
|
|
|
|
|
The contract and the `.mode` tokens are specified in the skill itself ([SKILL.md, Autonomous and Gated Modes](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/skills/planning-with-files/SKILL.md#autonomous-and-gated-modes-v3)) and in [docs/long-running-agent-tasks.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/long-running-agent-tasks.md).
|
|
|
|
|
|
|
|
|
|
To find a saved plan, run the installed `scripts/set-active-plan.sh --list` helper from your project directory, or `scripts/set-active-plan.ps1 -List` in PowerShell. It lists named plans under that project's `.planning/` directory, with phase counts for the shipped English and translated templates. `[active]` marks the shared default pointer. Listing does not select a plan or attach a session; use the displayed ID as `PLAN_ID` before starting a concurrent task. Kiro's separate `.kiro/plan` layout is not part of this inventory.
|
|
|
|
|
|
|
|
|
@@ -534,7 +535,7 @@ Optional gated mode can request continuation only on a host that supports the re
|
|
|
|
|
|
|
|
|
|
Keep automatic compaction enabled. The `PreCompact` hook flushes the planning reminder before compaction, and the plugin `SessionStart` path restores the active plan for the continuation.
|
|
|
|
|
|
|
|
|
|
Maintainer depth (hook architecture, dispatcher layout, parity tooling) lives in [AGENTS.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/AGENTS.md) and [docs/](https://github.com/OthmanAdi/planning-with-files/tree/v3.20.8/docs/).
|
|
|
|
|
Maintainer depth (hook architecture, dispatcher layout, parity tooling) lives in [AGENTS.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/AGENTS.md) and [docs/](https://github.com/OthmanAdi/planning-with-files/tree/v3.21.0/docs/).
|
|
|
|
|
|
|
|
|
|
## Commands
|
|
|
|
|
|
|
|
|
@@ -698,12 +699,12 @@ Everything below is the proof and the reference half: the benchmarks and their l
|
|
|
|
|
|
|
|
|
|
## Benchmark Results
|
|
|
|
|
|
|
|
|
|
> **Methodology note:** the 96.7% figure comes from the v2.21.0 evaluation run on `claude-sonnet-4-6` (2026-03-06). It measures file-pattern fidelity (does the agent create and maintain the 3-file structure), not goal-drift over long autonomous runs. Newer models and the autonomous-mode work are not yet covered by this number. Full methodology, dataset, and assertion list: [docs/evals.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/evals.md).
|
|
|
|
|
> **Methodology note:** the 96.7% figure comes from the v2.21.0 evaluation run on `claude-sonnet-4-6` (2026-03-06). It measures file-pattern fidelity (does the agent create and maintain the 3-file structure), not goal-drift over long autonomous runs. Newer models and the autonomous-mode work are not yet covered by this number. Full methodology, dataset, and assertion list: [docs/evals.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/evals.md).
|
|
|
|
|
|
|
|
|
|
Evaluated with Anthropic's [skill-creator](https://github.com/anthropics/skills/tree/main/skills/skill-creator) framework: skill v2.21.0, model `claude-sonnet-4-6`, 2026-03-06. 10 parallel subagents, 5 task types, 30 objectively verifiable assertions, 3 blind A/B comparisons.
|
|
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
|
<img src="https://raw.githubusercontent.com/OthmanAdi/planning-with-files/v3.20.8/media/benchmark-skill-vs-baseline.svg" width="860" alt="Eval results, with skill vs without: assertions passed 29 of 30 vs 2 of 30, 3-file pattern followed 5 of 5 vs 0 of 5, blind A/B wins 3 of 3 vs 0 of 3, average rubric score 10.0 vs 6.8">
|
|
|
|
|
<img src="https://raw.githubusercontent.com/OthmanAdi/planning-with-files/v3.21.0/media/benchmark-skill-vs-baseline.svg" width="860" alt="Eval results, with skill vs without: assertions passed 29 of 30 vs 2 of 30, 3-file pattern followed 5 of 5 vs 0 of 5, blind A/B wins 3 of 3 vs 0 of 3, average rubric score 10.0 vs 6.8">
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
| Test | with_skill | without_skill |
|
|
|
|
@@ -715,17 +716,17 @@ Evaluated with Anthropic's [skill-creator](https://github.com/anthropics/skills/
|
|
|
|
|
|
|
|
|
|
### Recovery after a context wipe
|
|
|
|
|
|
|
|
|
|
> **Internal benchmark, v1 (2026-07-06).** Author-run against v3.4.0, harness-authored tasks, deterministic grading, no LLM grades anything. Treat it as the project's own measurement, not an independent comparison. Full method, arms, disclosed limits, and grader validation: [docs/evals.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/evals.md#test-5-competitive-benchmark-v1-seven-planning-methods-head-to-head-2026-07-06-internal).
|
|
|
|
|
> **Internal benchmark, v1 (2026-07-06).** Author-run against v3.4.0, harness-authored tasks, deterministic grading, no LLM grades anything. Treat it as the project's own measurement, not an independent comparison. Full method, arms, disclosed limits, and grader validation: [docs/evals.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/evals.md#test-5-competitive-benchmark-v1-seven-planning-methods-head-to-head-2026-07-06-internal).
|
|
|
|
|
|
|
|
|
|
Protocol: the session is hard-stopped at roughly half done, and a fresh session is told only "Continue the work in this directory." Every graded run across every arm ended pytest-green (77/77), so the difference is re-orientation cost, not correctness.
|
|
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
|
<img src="https://raw.githubusercontent.com/OthmanAdi/planning-with-files/v3.20.8/media/recovery-turns.svg" width="860" alt="Turns to resume after a context wipe, internal benchmark v1: 5.0 with planning-with-files, 13.3 for a raw agent with no planning method">
|
|
|
|
|
<img src="https://raw.githubusercontent.com/OthmanAdi/planning-with-files/v3.21.0/media/recovery-turns.svg" width="860" alt="Turns to resume after a context wipe, internal benchmark v1: 5.0 with planning-with-files, 13.3 for a raw agent with no planning method">
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
**With the planning files on disk, a resume took 5.0 turns on average; a raw agent took 13.3.** Planning-file recovery plus hook injection put phase state in front of the model before its first tool call, and the same run found no correctness penalty anywhere. This internal v1 used the earlier default transcript catchup; current automatic recovery is file-only and has not been re-benchmarked under the same protocol. An animated summary lives at [docs/benchmark/index.html](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/benchmark/index.html) ([rendered view](https://htmlpreview.github.io/?https://github.com/OthmanAdi/planning-with-files/blob/master/docs/benchmark/index.html)).
|
|
|
|
|
**With the planning files on disk, a resume took 5.0 turns on average; a raw agent took 13.3.** Planning-file recovery plus hook injection put phase state in front of the model before its first tool call, and the same run found no correctness penalty anywhere. This internal v1 used the earlier default transcript catchup; current automatic recovery is file-only and has not been re-benchmarked under the same protocol. An animated summary lives at [docs/benchmark/index.html](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/benchmark/index.html) ([rendered view](https://htmlpreview.github.io/?https://github.com/OthmanAdi/planning-with-files/blob/master/docs/benchmark/index.html)).
|
|
|
|
|
|
|
|
|
|
[Full methodology and results](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/evals.md) · [Technical write-up](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/article.md)
|
|
|
|
|
[Full methodology and results](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/evals.md) · [Technical write-up](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/article.md)
|
|
|
|
|
|
|
|
|
|
## File Structure
|
|
|
|
|
|
|
|
|
@@ -763,25 +764,25 @@ Every release maintains 20 tracked parity targets plus the gitignored ClawHub up
|
|
|
|
|
|
|
|
|
|
| Doc | What it covers |
|
|
|
|
|
|-----|----------------|
|
|
|
|
|
| [docs/installation.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/installation.md) | Every install route, the route matrix, the trust prerequisite |
|
|
|
|
|
| [docs/quickstart.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/quickstart.md) | Your first planning session in 5 steps |
|
|
|
|
|
| [docs/workflow.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/workflow.md) | Day-to-day usage, plan lifecycle, topic handoffs |
|
|
|
|
|
| [docs/hermes.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/hermes.md) | Hermes Agent CLI and Desktop: install, `/pwf`, the `pre_verify` gate, Windows, migration from Claude Code |
|
|
|
|
|
| [docs/opencode.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/opencode.md) | OpenCode: the native plugin, `/pwf`, the `session.idle` gate, `pwf_*` tools |
|
|
|
|
|
| [docs/deepseek-harness.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/deepseek-harness.md) | DeepSeek Harness: the native plugin, profiles, `/pwf`, the turn-boundary gate, what DSH does not expose |
|
|
|
|
|
| [docs/evals.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/evals.md) | Full benchmark methodology, raw numbers, disclosed limits |
|
|
|
|
|
| [docs/troubleshooting.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/troubleshooting.md) | When hooks are quiet, plus `/plan-doctor` |
|
|
|
|
|
| [docs/claude-code-lost-context-after-compaction.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/claude-code-lost-context-after-compaction.md) | Recovering and preventing context loss from compaction |
|
|
|
|
|
| [docs/agent-forgets-plan-after-clear.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/agent-forgets-plan-after-clear.md) | The file-based fix when an agent forgets its plan after `/clear` |
|
|
|
|
|
| [docs/long-running-agent-tasks.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/docs/long-running-agent-tasks.md) | Keeping a coding agent on track for hours: modes, gate, ledger |
|
|
|
|
|
| [MIGRATION.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/MIGRATION.md) | v2 to v3 migration and host capability tiers |
|
|
|
|
|
| [SECURITY.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/SECURITY.md) | Vulnerability reporting and hardening history |
|
|
|
|
|
| [CONTRIBUTING.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/CONTRIBUTING.md) | How to contribute; authorship is preserved on merge |
|
|
|
|
|
| Per-platform guides | 19+ setup docs in [docs/](https://github.com/OthmanAdi/planning-with-files/tree/v3.20.8/docs/), linked from the [platform tables](#works-across-19-platforms) |
|
|
|
|
|
| [docs/installation.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/installation.md) | Every install route, the route matrix, the trust prerequisite |
|
|
|
|
|
| [docs/quickstart.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/quickstart.md) | Your first planning session in 5 steps |
|
|
|
|
|
| [docs/workflow.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/workflow.md) | Day-to-day usage, plan lifecycle, topic handoffs |
|
|
|
|
|
| [docs/hermes.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/hermes.md) | Hermes Agent CLI and Desktop: install, `/pwf`, the `pre_verify` gate, Windows, migration from Claude Code |
|
|
|
|
|
| [docs/opencode.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/opencode.md) | OpenCode: the native plugin, `/pwf`, the `session.idle` gate, `pwf_*` tools |
|
|
|
|
|
| [docs/deepseek-harness.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/deepseek-harness.md) | DeepSeek Harness: the native plugin, profiles, `/pwf`, the turn-boundary gate, what DSH does not expose |
|
|
|
|
|
| [docs/evals.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/evals.md) | Full benchmark methodology, raw numbers, disclosed limits |
|
|
|
|
|
| [docs/troubleshooting.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/troubleshooting.md) | When hooks are quiet, plus `/plan-doctor` |
|
|
|
|
|
| [docs/claude-code-lost-context-after-compaction.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/claude-code-lost-context-after-compaction.md) | Recovering and preventing context loss from compaction |
|
|
|
|
|
| [docs/agent-forgets-plan-after-clear.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/agent-forgets-plan-after-clear.md) | The file-based fix when an agent forgets its plan after `/clear` |
|
|
|
|
|
| [docs/long-running-agent-tasks.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/docs/long-running-agent-tasks.md) | Keeping a coding agent on track for hours: modes, gate, ledger |
|
|
|
|
|
| [MIGRATION.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/MIGRATION.md) | v2 to v3 migration and host capability tiers |
|
|
|
|
|
| [SECURITY.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/SECURITY.md) | Vulnerability reporting and hardening history |
|
|
|
|
|
| [CONTRIBUTING.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/CONTRIBUTING.md) | How to contribute; authorship is preserved on merge |
|
|
|
|
|
| Per-platform guides | 19+ setup docs in [docs/](https://github.com/OthmanAdi/planning-with-files/tree/v3.21.0/docs/), linked from the [platform tables](#works-across-19-platforms) |
|
|
|
|
|
|
|
|
|
|
## Contributing
|
|
|
|
|
|
|
|
|
|
Contributions welcome. Start with [CONTRIBUTING.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/CONTRIBUTING.md). Every shipped contribution is credited: commit authorship is preserved on merge, and contributors are listed in [CONTRIBUTORS.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/CONTRIBUTORS.md), the CHANGELOG Thanks section, and the release notes.
|
|
|
|
|
Contributions welcome. Start with [CONTRIBUTING.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/CONTRIBUTING.md). Every shipped contribution is credited: commit authorship is preserved on merge, and contributors are listed in [CONTRIBUTORS.md](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/CONTRIBUTORS.md), the CHANGELOG Thanks section, and the release notes.
|
|
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
|
@@ -803,7 +804,7 @@ MIT License — feel free to use, modify, and distribute.
|
|
|
|
|
|
|
|
|
|
## Contributors
|
|
|
|
|
|
|
|
|
|
Code, documentation, and issue contributors. Select a portrait to open a GitHub profile or archived credit. [Full credits](https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/CONTRIBUTORS.md).
|
|
|
|
|
Code, documentation, and issue contributors. Select a portrait to open a GitHub profile or archived credit. [Full credits](https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/CONTRIBUTORS.md).
|
|
|
|
|
|
|
|
|
|
<!-- contributor-portraits:start -->
|
|
|
|
|
<p align="center">
|
|
|
|
@@ -851,7 +852,7 @@ Code, documentation, and issue contributors. Select a portrait to open a GitHub
|
|
|
|
|
<a href="https://github.com/Skulli485" title="@Skulli485"><img src="https://github.com/Skulli485.png?size=56" width="48" height="48" alt="@Skulli485"></a>
|
|
|
|
|
<a href="https://github.com/carterusedulm2-maker" title="@carterusedulm2-maker"><img src="https://github.com/carterusedulm2-maker.png?size=56" width="48" height="48" alt="@carterusedulm2-maker"></a>
|
|
|
|
|
<a href="https://github.com/gauravvojha" title="@gauravvojha"><img src="https://github.com/gauravvojha.png?size=56" width="48" height="48" alt="@gauravvojha"></a>
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/CONTRIBUTORS.md" title="@CleanDev-Fix, archived credit"><img src="https://github.com/identicons/CleanDev-Fix.png" width="48" height="48" alt="@CleanDev-Fix"></a>
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/CONTRIBUTORS.md" title="@CleanDev-Fix, archived credit"><img src="https://github.com/identicons/CleanDev-Fix.png" width="48" height="48" alt="@CleanDev-Fix"></a>
|
|
|
|
|
<a href="https://github.com/bmyury" title="@bmyury"><img src="https://github.com/bmyury.png?size=56" width="48" height="48" alt="@bmyury"></a>
|
|
|
|
|
<a href="https://github.com/oaabahussain" title="@oaabahussain"><img src="https://github.com/oaabahussain.png?size=56" width="48" height="48" alt="@oaabahussain"></a>
|
|
|
|
|
<a href="https://github.com/gavinlinasd" title="@gavinlinasd"><img src="https://github.com/gavinlinasd.png?size=56" width="48" height="48" alt="@gavinlinasd"></a>
|
|
|
|
@@ -884,6 +885,6 @@ Code, documentation, and issue contributors. Select a portrait to open a GitHub
|
|
|
|
|
<a href="https://github.com/Yigtwxx" title="@Yigtwxx"><img src="https://github.com/Yigtwxx.png?size=56" width="48" height="48" alt="@Yigtwxx"></a>
|
|
|
|
|
<a href="https://github.com/RioTheGreat-ai" title="@RioTheGreat-ai"><img src="https://github.com/RioTheGreat-ai.png?size=56" width="48" height="48" alt="@RioTheGreat-ai"></a>
|
|
|
|
|
<a href="https://github.com/kmichels" title="@kmichels"><img src="https://github.com/kmichels.png?size=56" width="48" height="48" alt="@kmichels"></a>
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.20.8/CONTRIBUTORS.md" title="@voidborne-d, archived credit"><img src="https://github.com/identicons/voidborne-d.png" width="48" height="48" alt="@voidborne-d"></a>
|
|
|
|
|
<a href="https://github.com/OthmanAdi/planning-with-files/blob/v3.21.0/CONTRIBUTORS.md" title="@voidborne-d, archived credit"><img src="https://github.com/identicons/voidborne-d.png" width="48" height="48" alt="@voidborne-d"></a>
|
|
|
|
|
</p>
|
|
|
|
|
<!-- contributor-portraits:end -->
|
|
|
|
|