Claude Code planning plugin and cross-agent skill · Established, actively maintained project with a long release history, a reported 706-test suite, and substantial public adoption metadata.

OthmanAdi/planning-with-files

MIT-licensed Claude Code plugin and portable Agent Skill for persistent execution planning: it maintains task_plan.md, findings.md, and progress.md, injects selected plan context through lifecycle hooks, restores state after context loss, and optionally applies attestation, parallel-plan isolation, ledgers, and a bounded completion gate.

AI coding agentscontext engineeringtask planningsession recoverylong-running automationmulti-agent coordinationdeveloper productivityagent reliability
Routing score
80.0
Readiness
Production-oriented but configuration-sensitive; the repository supports only the latest release and recommends verifying hook activation with its doctor utility.
License
MIT
Maintenance
active
Components
20
Revision
0

Selection

Select when

  • The task will span many tool calls, phases, or context windows.
  • Work must resume after /clear, compaction, a crash, or a fresh session.
  • You want planning state in plain project-local Markdown rather than an external memory service.
  • Premature agent completion is a recurring problem and an opt-in bounded gate is acceptable.
  • Several hosts or agents need to hand off one task through shared files.
  • Concurrent tasks in one repository need separately selected plan directories.
  • You need an auditable record of findings, decisions, errors, tests, and progress.
  • You want a native Claude Code plugin rather than only a prompt template.
  • You need a planning workflow that also has adapters for Codex, Pi, Hermes, OpenCode, and other agents.

Boundaries

Avoid when

  • The task is short enough that three planning files and hooks would add unnecessary overhead.
  • You need transactional locking or automatic merge resolution for concurrent writers.
  • You require completed plans to be automatically archived as tracked deliverables.
  • You cannot allow project planning content to enter the configured model provider's context.
  • You need compatibility with a specific older Claude Code release because no older minimum is claimed.
  • You want npm installation alone to activate lifecycle hooks automatically.
  • You need automatic cross-project or unrestricted transcript recovery.
  • You cannot review or trust project-local planning text that hooks may inject.
  • You require independently audited security or independently reproduced performance benchmarks.

Strengths

Capabilities

Maintains task_plan.md, findings.md, and progress.md as persistent project-local working memory.Installs as a native Claude Code plugin with a skill, slash commands, and lifecycle hooks.Uses SessionStart, UserPromptSubmit, PreCompact, tool-related, and Stop behavior to restore or reinforce planning state.Re-injects selected plan context on turns so current goals and phases remain visible after context loss.Offers smart injection that preserves the goal, next step, active phase, and selected progress context.Supports root plans and isolated .planning/<slug> directories selected through PLAN_ID or an active-plan pointer.Uses PWF_PLAN_ROOT to bind a host thread to an absolute project plan root and fails closed on ambiguous resolution.Provides SHA-256 plan attestation and refuses injection when an attested plan body no longer matches.Provides autonomous and gated modes with an append-only JSONL run ledger and normalized ledger summaries.Uses a bounded, stall-aware completion gate that requests continuation while an in-progress phase remains.Warns when checked items or completed phases decrease between turns as an advisory parallel-write guard.Provides plan-doctor diagnostics for resolution, injection, attestation, install surfaces, and measured hook latency.Keeps automatic recovery limited to project planning files.Provides explicit metadata-only and bounded-replay modes for same-project local session records.Supports a per-invocation PLANNING_DISABLED opt-out.Ships English plus Arabic, German, Spanish, Simplified Chinese, and Traditional Chinese skill variants.Supports plugin or skill integrations for Claude Code and numerous other coding-agent hosts.Includes templates and examples for phased implementation, research capture, testing, errors, and handoffs.Defaults planning files and the .planning directory to gitignored working memory rather than archived deliverables.Supports private vulnerability reporting and documents prompt-injection, path-containment, and supply-chain concerns.

Risk profile

Risks and limitations

  • Uncertainty: only selected first-party files were supplied, so hook implementations, manifests, tests, CI, installers, and the reported 706-test suite were not directly inspected.
  • Uncertainty: repository metadata and documentation dates extend into 2026 relative to this analysis context, so release recency, adoption, and reported host versions cannot be independently reconciled.
  • Uncertainty: repository-reported 96.7% assertion pass rate, three blind A/B wins, 5.0-versus-13.3-turn recovery result, and 289 ms hook latency were not independently reproduced.
  • The historical recovery benchmark used an earlier transcript-catchup default, while current automatic recovery reads project files only.
  • Skill descriptions trigger probabilistically, and the repository reports only 60–67% unforced engagement in one internal benchmark.
  • Standalone or project-local skill installs can remain silently hook-less until project trust is accepted and the skill is invoked.
  • The repository supports only the latest release and claims no minimum compatible older Claude Code version.
  • Repeated plan injection consumes model context and may overconstrain short or rapidly changing work.
  • Planning files can contain untrusted text that reaches model context, although framing, attestation, and documented trust boundaries mitigate rather than eliminate prompt-injection risk.
  • The parallel-write guard is advisory and cannot detect or merge every overwritten plan, findings file, or progress file.
  • Gated completion depends on host capabilities, phase-marker correctness, configured caps, and ledger activity rather than proving task correctness.
  • Explicit replay can expose bounded same-project session excerpts to model context, and the configured host may send them to its model provider.

First-party security documentation identifies prompt injection, path traversal, symlink escape, and supply-chain risks. The project describes nonce or explicit framing, SHA-256 plan attestation, containment checks, safe selector validation, fail-closed ambiguity handling, atomic attestation writes with optional flock, private vulnerability reporting, and a completion gate that never executes commands declared in Markdown. These controls were documented but their implementations were not directly inspected in the supplied files.

Component inventory

20 documented components

agent_skill

planning-with-files skill

Agent Skill for complex tasks using persistent Markdown planning state and progressive updates.

skills/planning-with-files/SKILL.md
workflow

Three-file planning workflow

Tracks phases, findings, decisions, errors, tests, and session progress in three project files.

skills/planning-with-files/templates/
hook_service

Claude lifecycle automation

Re-injects plan context, reminds after work, preserves compaction state, and checks completion.

skills/planning-with-files/SKILL.md
slash_command

/plan

Starts the planning workflow and creates or initializes the three planning files.

commands/
slash_command

Plan status command

Reports active-plan state, phase progress, attestation, and errors on supported hosts.

commands/
slash_command

/plan-goal

Derives or manages a Claude Code goal termination condition from the active plan.

commands/
slash_command

/plan-loop

Runs a planning-aware periodic loop that rereads state and checks completion.

commands/
slash_command

/plan-attest

Creates, displays, or clears the SHA-256 approval binding for task_plan.md.

commands/
diagnostic_command

/plan-doctor

Checks plan resolution, injection, attestation, install surfaces, and hook latency.

commands/
agent_skill_bundle

Localized planning skills

Full Arabic, German, Spanish, Simplified Chinese, and Traditional Chinese workflow translations.

skills/i18n/
slash_command_bundle

Localized Claude commands

Loads translated workflow text from disk without registering extra plugin skills globally.

commands/
workflow_mode

Autonomous planning mode

Uses attested plans, per-agent JSONL ledgers, stable summaries, and reduced recitation for long runs.

docs/long-running-agent-tasks.md
workflow_mode

Gated planning mode

Requests continuation while an in-progress phase remains, with caps and stall-based release.

docs/long-running-agent-tasks.md
multi_agent_workflow

Parallel isolated plans

Keeps unrelated tasks in separate .planning/<id> directories with explicit plan selection.

skills/planning-with-files/scripts/
recovery_command

Session catchup

Explicitly reads same-project local session records as aggregate metadata or bounded replay excerpts.

skills/planning-with-files/scripts/session-catchup.py
npm_module

planning-with-files npm package

Version-pinnable distribution containing SKILL.md, scripts, templates, and the Pi integration payload.

.pi/skills/planning-with-files/package.json
agent_plugin

Pi Coding Agent extension

Maps planning behavior to Pi lifecycle events, adds a status bar, approval flow, and commands.

.pi/skills/planning-with-files/
agent_plugin

Hermes Agent native plugin

Provides planning tools, commands, per-turn injection, write reminders, and a pre-verify gate.

.hermes/plugins/planning-with-files/
agent_plugin

OpenCode native plugin

Injects plans per message, reminds after writes, preserves compaction state, and gates idle sessions.

.opencode/packages/opencode-planning-with-files/

Technical profile

Requirements and configuration

License
MIT
Repository Language
GitHub metadata identifies Shell as the primary language, while supplied files also reference PowerShell, Python, TypeScript, Markdown, JSON, and JSONL surfaces.
Persistent State
task_plan.md, findings.md, and progress.md at the project root or under .planning/<slug>/, with optional per-agent JSONL ledgers.
Claude Install
Native Claude Code marketplace plugin; standalone skill and local plugin paths are also documented.
Claude Hooks
Plugin-level lifecycle behavior includes session recovery, per-turn plan injection, pre-compaction handling, tool-related reminders or recitation, and Stop completion checks.
Selection
PLAN_ID selects a named task, .planning/.active_plan supports shared switching, and PWF_PLAN_ROOT binds an absolute project root.
Modes
Default behavior plus opt-in autonomous and gated modes, with PWF_INJECT=smart for structure-aware injection.
Integrity
SHA-256 attestation blocks injection when the selected plan body differs from its approved hash.
Completion
A host-dependent Stop gate checks in-progress phases, block caps, runtime state, and ledger progress without executing Markdown commands.
Recovery
Automatic recovery reads project files; explicit --metadata and --replay modes inspect same-project local host history.
Diagnostics
plan-doctor checks plan resolution, injection, attestation, install surfaces, and per-fire latency.
Disable Control
PLANNING_DISABLED=1 silences supported hook routes for a one-shot invocation.
Support Policy
Only the latest released version is supported.

Classification

How it enters the stack

Context InjectionInterceptionOrchestration

Evidence: the native Claude Code plugin installs SKILL.md, slash commands, and lifecycle hooks that inject plans, intercept lifecycle and tool events, recover state, and gate completion. Basic plugin setup is two marketplace commands, but skill-only routes have reduced activation behavior.

Claude Extension · low setup effort · high confidence · automated

Evidence and risk

Primary sources

first_party_fileREADME.mdhttps://github.com/OthmanAdi/planning-with-files/blob/master/README.md
first_party_fileexamples/README.mdhttps://github.com/OthmanAdi/planning-with-files/blob/master/examples/README.md
first_party_filedocs/quickstart.mdhttps://github.com/OthmanAdi/planning-with-files/blob/master/docs/quickstart.md
first_party_filedocs/installation.mdhttps://github.com/OthmanAdi/planning-with-files/blob/master/docs/installation.md
first_party_fileSECURITY.mdhttps://github.com/OthmanAdi/planning-with-files/blob/master/SECURITY.md
first_party_fileAGENTS.mdhttps://github.com/OthmanAdi/planning-with-files/blob/master/AGENTS.md
first_party_fileCONTRIBUTING.mdhttps://github.com/OthmanAdi/planning-with-files/blob/master/CONTRIBUTING.md

Routing context

Conflicts, complements, and synergies

integrates_with

gh_openai_codex

First-party files document a native Codex plugin and hooks that use the same planning state, attestation, selectors, compaction handling, and gate-related behavior.

high confidence
integrates_with

gh_nousresearch_hermes_agent

First-party files document a native Hermes Agent skill and plugin with model-callable tools, slash commands, per-turn injection, write reminders, and a pre_verify completion gate.

high confidence