planning-with-files
Persistent file-based planning for AI coding agents and long-running tasks. Crash-proof markdown plans, session recovery after /clear and compaction, per-turn re-injection against context rot, deterministic completion gate. Manus-style. Install from npm, the Claude Code plugin marketplace, or npx skills. Codex, Cursor, OpenCode, 60+ agents.
File Explorer
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- gate-stop.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-append.ps1
- ledger-append.sh
- ledger-summary.ps1
- ledger-summary.sh
- phase-status.ps1
- phase-status.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- analytics_findings.md
- analytics_task_plan.md
- findings.md
- progress.md
- task_plan.md
- task_plan_autonomous.md
- examples.md
- reference.md
- SKILL.md
- marketplace.json
- plugin.json
- examples.md
- reference.md
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-summary.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- analytics_findings.md
- analytics_task_plan.md
- findings.md
- progress.md
- task_plan.md
- SKILL.md
- codex_hook_adapter.py
- permission_request.py
- post-tool-use.sh
- post_tool_use.py
- pre-compact.sh
- pre-tool-use.sh
- pre_tool_use.py
- pwf-hook.cmd
- resolve-plan-dir.sh
- run_sh.py
- session-start.sh
- stop.py
- stop.sh
- user-prompt-submit.sh
- examples.md
- reference.md
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-summary.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- analytics_findings.md
- analytics_task_plan.md
- findings.md
- progress.md
- task_plan.md
- SKILL.md
- hooks.json
- planning-with-files.prompt
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- init-session.ps1
- init-session.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- examples.md
- reference.md
- SKILL.md
- post-tool-use.ps1
- post-tool-use.sh
- pre-tool-use.ps1
- pre-tool-use.sh
- stop.ps1
- stop.sh
- user-prompt-submit.ps1
- user-prompt-submit.sh
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-summary.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- analytics_findings.md
- analytics_task_plan.md
- findings.md
- progress.md
- task_plan.md
- examples.md
- reference.md
- SKILL.md
- hooks.json
- hooks.windows.json
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-summary.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- analytics_findings.md
- analytics_task_plan.md
- findings.md
- progress.md
- task_plan.md
- examples.md
- references.md
- SKILL.md
- after-tool.sh
- before-model.sh
- before-tool.sh
- session-end.sh
- session-start.sh
- examples.md
- reference.md
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- init-session.ps1
- init-session.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- analytics_findings.md
- analytics_task_plan.md
- findings.md
- progress.md
- task_plan.md
- SKILL.md
- settings.json
- agent-stop.ps1
- agent-stop.sh
- error-occurred.ps1
- error-occurred.sh
- post-tool-use.ps1
- post-tool-use.sh
- pre-tool-use.ps1
- pre-tool-use.sh
- session-start.ps1
- session-start.sh
- planning-with-files.json
- skill-optimize-apply.yml
- skill-review.yml
- tests.yml
- FUNDING.yml
- plan-status.md
- plan.md
- __init__.py
- constants.py
- hook_state.py
- hooks.py
- paths.py
- planning_files.py
- plugin.yaml
- tools.py
- check-complete.ps1
- check-complete.sh
- check-continue.sh
- init-session.ps1
- init-session.sh
- session-catchup.py
- sync-ide-folders.py
- analytics_findings.md
- analytics_task_plan.md
- findings.md
- progress.md
- task_plan.md
- SKILL.md
- bootstrap.ps1
- bootstrap.sh
- check-complete.ps1
- check-complete.sh
- session-catchup.py
- findings.md
- planning-context.md
- progress.md
- task_plan.md
- manus-principles.md
- planning-rules.md
- planning-templates.md
- SKILL.md
- examples.md
- reference.md
- check-complete.ps1
- check-complete.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-summary.sh
- resolve-plan-dir.sh
- session-catchup.py
- findings.md
- progress.md
- task_plan.md
- SKILL.md
- hooks.json
- check-complete.ps1
- check-complete.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-summary.sh
- resolve-plan-dir.sh
- session-catchup.py
- analytics_findings.md
- analytics_task_plan.md
- findings.md
- progress.md
- task_plan.md
- examples.md
- reference.md
- SKILL.md
- attestation.test.ts
- plan-anchor.test.ts
- runtime.test.ts
- attestation.ts
- constants.ts
- index.ts
- package-lock.json
- package.json
- plan.ts
- README.md
- runtime.ts
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- gate-stop.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-append.ps1
- ledger-append.sh
- ledger-summary.ps1
- ledger-summary.sh
- phase-status.ps1
- phase-status.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- analytics_findings.md
- analytics_task_plan.md
- findings.md
- progress.md
- task_plan.md
- examples.md
- package.json
- README.md
- reference.md
- SKILL.md
- plan-ar.md
- plan-attest.md
- plan-de.md
- plan-doctor.md
- plan-es.md
- plan-goal.md
- plan-loop.md
- plan-zh.md
- plan-zht.md
- plan.md
- pwf.md
- start.md
- status.md
- index.html
- adal.md
- agent-forgets-plan-after-clear.md
- antigravity.md
- article-v2.md
- article.md
- attestation-locking.md
- autohand.md
- boxlite.md
- cache-safe-diagram.md
- claude-code-lost-context-after-compaction.md
- codebuddy.md
- codex.md
- continue.md
- copilot.md
- cursor.md
- evals.md
- factory.md
- gemini.md
- hermes.md
- installation.md
- kilocode.md
- kiro.md
- languages.md
- long-running-agent-tasks.md
- mastra.md
- openclaw.md
- opencode.md
- perf-notes.md
- pi-agent.md
- quickstart.md
- troubleshooting.md
- windows.md
- workflow.md
- quickstart.py
- README.md
- README.md
- banner.png
- benchmark-skill-vs-baseline.svg
- recovery-turns.svg
- social-preview.png
- social-preview.svg
- terminal-with-plan.svg
- terminal-without-plan.svg
- v3-banner-1400.jpg
- v3-banner.png
- _v240_update_hook_bodies.py
- attest-plan.ps1
- attest-plan.sh
- bump-version.py
- check-complete.ps1
- check-complete.sh
- check-continue.sh
- gate-stop.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-append.ps1
- ledger-append.sh
- ledger-summary.ps1
- ledger-summary.sh
- phase-status.ps1
- phase-status.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- sync-ide-folders.py
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- gate-stop.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-append.ps1
- ledger-append.sh
- ledger-summary.ps1
- ledger-summary.sh
- phase-status.ps1
- phase-status.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- findings.md
- progress.md
- task_plan.md
- SKILL.md
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- gate-stop.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-append.ps1
- ledger-append.sh
- ledger-summary.ps1
- ledger-summary.sh
- phase-status.ps1
- phase-status.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- findings.md
- progress.md
- task_plan.md
- SKILL.md
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- gate-stop.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-append.ps1
- ledger-append.sh
- ledger-summary.ps1
- ledger-summary.sh
- phase-status.ps1
- phase-status.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- findings.md
- progress.md
- task_plan.md
- SKILL.md
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- gate-stop.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-append.ps1
- ledger-append.sh
- ledger-summary.ps1
- ledger-summary.sh
- phase-status.ps1
- phase-status.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- findings.md
- progress.md
- task_plan.md
- SKILL.md
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- gate-stop.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-append.ps1
- ledger-append.sh
- ledger-summary.ps1
- ledger-summary.sh
- phase-status.ps1
- phase-status.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- findings.md
- progress.md
- task_plan.md
- SKILL.md
- attest-plan.ps1
- attest-plan.sh
- check-complete.ps1
- check-complete.sh
- gate-stop.sh
- init-session.ps1
- init-session.sh
- inject-plan.sh
- ledger-append.ps1
- ledger-append.sh
- ledger-summary.ps1
- ledger-summary.sh
- phase-status.ps1
- phase-status.sh
- plan-doctor.sh
- resolve-plan-dir.ps1
- resolve-plan-dir.sh
- session-catchup.py
- set-active-plan.ps1
- set-active-plan.sh
- analytics_findings.md
- analytics_task_plan.md
- findings.md
- progress.md
- task_plan.md
- task_plan_autonomous.md
- examples.md
- reference.md
- SKILL.md
- analytics_findings.md
- analytics_task_plan.md
- findings.md
- loop.md
- progress.md
- task_plan.md
- test_bsd_userland_sim.py
- test_bump_version.py
- test_canonical_script_sync.py
- test_catchup_cross_project_guard.py
- test_catchup_project_dir.py
- test_catchup_store_resolution_parity.py
- test_check_complete_resolver.py
- test_clear_recovery.sh
- test_codex_hooks.py
- test_codex_nested_root_isolation.py
- test_codex_session_isolation.py
- test_containment.py
- test_copilot_agent_stop.py
- test_cursor_nested_root_isolation.py
- test_gate.py
- test_hermes_adapter.py
- test_hook_body_v240.py
- test_hook_resolver_integration.py
- test_init_modes.py
- test_init_session_slug.py
- test_inject_smart.py
- test_injection_determinism.py
- test_ledger.py
- test_ledger_utf8.py
- test_line_endings.py
- test_llms_txt.py
- test_nested_plan_isolation.py
- test_path_fix.py
- test_pi_docs_hook_support.py
- test_pi_extension_capabilities.py
- test_pi_extension_packaging.py
- test_plan_attestation.py
- test_plan_regression_guard.py
- test_planning_disabled_optout.py
- test_plugin_skill_surface.py
- test_precompact_hook.py
- test_ps1_windows_encoding.py
- test_resolve_plan_dir.py
- test_resolver_parity.py
- test_resolver_plan_root_pin.py
- test_script_location_parity.py
- test_script_permissions.py
- test_seo_docs_pages.py
- test_session_catchup.py
- test_session_catchup_opencode.py
- test_set_active_plan.py
- test_skill_frontmatter_valid.py
- test_skill_hook_dispatch_parity.py
- test_skill_md_version_parity.py
- test_stop_hook_dispatch.py
- test_v238_command_files.py
- .gitattributes
- .gitignore
- AGENTS.md
- CHANGELOG.md
- CITATION.cff
- CONTRIBUTING.md
- CONTRIBUTORS.md
- LICENSE
- llms.txt
- MIGRATION.md
- README.md
- SECURITY.md
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Release Timeline
Actively Maintained- 2026-09-02 v3.13.0: first-class Hermes Agent support (CLI and Desktop)
- 2026-08-31 v3.12.1: nested attestation and cross-platform fixes
- 2026-08-30 v3.12.0: explicit session recovery and auditable templates
- 2026-08-22 v3.11.2: skills-only installs land at the documented path
- 2026-08-21 v3.11.1: the Copilot error hook parses under a POSIX shell
- 2026-08-20 v3.11.0: one skill instead of six
- 2026-08-19 v3.10.2: the opt-out reaches Copilot and Cursor
- 2026-08-14 v3.10.1: Codex Unix hook JSON compatibility
- 2026-08-09 v3.10.0: a second session can no longer erase your plan in silence
- 2026-08-01 v3.9.0: plan resolution binds to a root, refusals are never silent
Command Glossary
Commands referenced in this DOCs, explained below.
dash
View Details ▼
dash
Debian Almquist Shell, a modern, POSIX-compliant implementation of `sh` (not Bash-compatible).
dash
Start an interactive shell session:
dash -c "{{echo 'dash is executed'}}"
Execute specific [c]ommands:
dash {{path/to/script.sh}}
Execute a specific script:
git clone
View Details ▼
git clone
Clone an existing repository.
git clone {{remote_repository_location}} {{path/to/directory}}
Clone an existing repository into a new directory (the default directory is the repository name):
git clone --recursive {{remote_repository_location}}
Clone an existing repository and its submodules:
git clone {{[-n|--no-checkout]}} {{remote_repository_location}}
Clone only the `.git` directory of an existing repository:
git push
View Details ▼
git push
Push commits to a remote repository.
git push
Send local changes in the current branch to its default remote counterpart:
git push {{remote_name}} {{local_branch}}
Send changes from a specific local branch to its remote counterpart:
git push {{[-u|--set-upstream]}} {{remote_name}} {{local_branch}}
Send changes from a specific local branch to its remote counterpart, and set the remote one as the default push/pull target of the local one:
npm install
View Details ▼
npm install
Install Node packages.
npm {{[i|install]}}
Install dependencies listed in `package.json`:
npm {{[i|install]}} {{package_name}}@{{version}}
Download a specific version of a package and add it to the list of dependencies in `package.json`:
npm {{[i|install]}} {{package_name}} {{[-D|--save-dev]}}
Download the latest version of a package and add it to the list of dev dependencies in `package.json`:
npx
View Details ▼
npx
This command is an alias of `npm exec`.
tldr npm exec
View documentation for the original command:
python3
View Details ▼
python3
This command is an alias of `python`.
tldr python
View documentation for the original command:
realpath
View Details ▼
realpath
Display the resolved absolute path for a file or directory.
realpath {{path/to/file_or_directory}}
Display the absolute path for a file or directory:
realpath {{[-e|--canonicalize-existing]}} {{path/to/file_or_directory}}
Require all path components to exist:
realpath {{[-L|--logical]}} {{path/to/file_or_directory}}
Resolve `..` components before symlinks:
flock
View Details ▼
flock
Manage file locks from shell scripts.
It can be used to ensure that only one instance of a command is running.
flock {{path/to/lock.lock}} {{command}}
Run a command with a file lock as soon as the lock is available:
flock {{[-n|--nonblock]}} {{path/to/lock.lock}} {{command}}
Run a command with a file lock, or exit if the lock is currently being held (with exit code 1):
flock {{[-n|--nonblock]}} {{[-E|--conflict-exit-code]}} {{123}} {{path/to/lock.lock}} {{command}}
Run a command with a file lock, or exit with a specific error code if the lock is currently being held:
compact
View Details ▼
compact
Display or change the compression state of files and directories on NTFS partitions.
compact
Display the compression status of files in the current directory:
compact /c {{path\to\file}}
Compress a specific file:
compact /u {{path\to\file}}
Uncompress a specific file:
