2026-01-10 17:21:15 +01:00
# Installation Guide
Complete installation instructions for planning-with-files.
## Quick Install (Recommended)
``` bash
/plugin marketplace add OthmanAdi/planning-with-files
/plugin install planning-with-files@planning-with-files
```
2026-08-29 20:05:33 +02:00
The plugin is now installed. When a project has no active plan, its startup hook is intentionally silent.
2026-01-10 17:21:15 +01:00
---
2026-07-18 11:54:33 +02:00
## What Each Install Route Actually Ships
Not every route delivers every surface. This matrix is the difference between "installed" and "fully working":
| Route | SKILL.md + scripts + templates | Slash commands (`/plan-goal` , `/plan-loop` , `/plan-attest` , `/plan-doctor` ) | Hooks (plan injection, Stop check, PreCompact) |
|---|---|---|---|
2026-08-29 20:05:33 +02:00
| Plugin: `/plugin marketplace add` + `/plugin install` | Yes | **Yes ** | **Yes ** , through plugin-level lifecycle hooks, including quiet `SessionStart` recovery |
| `npx skills add OthmanAdi/planning-with-files` | Yes | No (`commands/` is not copied) | Activation-scoped frontmatter hooks after the skill is invoked; no `SessionStart` |
| ClawHub / manual skill copy to `~/.claude/skills/` | Yes | No | Activation-scoped frontmatter hooks after the skill is invoked; no `SessionStart` |
docs(opencode): real install paths (fixes #235) and the native plugin route
docs/opencode.md claimed that npx skills add -g installs the skill to
~/.config/opencode/skills/; it installs to ~/.agents/skills/, which
OpenCode reads natively alongside ~/.claude/skills/,
~/.config/opencode/skills/ and the project-local .agents/skills/,
.claude/skills/ and .opencode/skills/. The page is rewritten around the
real paths and the plugin route (opencode.json "plugin", commands, the
gate and its limits, session catchup, oh-my-opencode and superpowers
notes kept). The .opencode skill's restore-context snippets and file
location table probe every location, and an OpenCode Notes section
explains that the hooks: frontmatter is a Claude Code convention OpenCode
ignores.
README, MIGRATION.md, docs/installation.md and the English SKILL.md
host tier tables now say what each OpenCode install gets: the native
plugin is Tier 2 (follow-up inject), skill-only installs stay notify
only.
Reported by @luyanfeng in #235.
2026-09-02 08:46:37 +02:00
| OpenCode: `npx skills add OthmanAdi/planning-with-files --skill planning-with-files -g` (lands in `~/.agents/skills/` , which OpenCode reads) + `"plugin": ["opencode-planning-with-files"]` in `opencode.json` | Yes | `/pwf` , `/pwf-status` after copying the two command files from `.opencode/commands/` | **Yes ** , native plugin hooks `chat.message` , `tool.execute.after` , `experimental.session.compacting` , `session.idle` gate; see [docs/opencode.md ](opencode.md ) |
feat(hermes): first-class Hermes Agent support, plugin 0.2.0
The native Hermes plugin now resolves .planning/<slug>/ plans with the
same rules as the shell route (PLAN_ID, .planning/.active_plan, newest
slug, legacy root; slug validation, containment, BOM-tolerant pointer,
the inject-plan.sh nested-root ambiguity rule with a once-per-turn
notice, PWF_PLAN_ROOT fail-closed, PLANNING_DISABLED), answers Hermes'
pre_verify hook with the completion gate in gated mode using the
check-complete.sh decision table and state files, registers /pwf,
/pwf-status and /plan-status through ctx.register_command (the Markdown
command files were never loaded by Hermes), registers the bundled skill
from the plugin's own directory, creates gated and autonomous plans with
attestation from planning_with_files_init(name, mode), evaluates
completion in Python when sh is absent, and ships a shell-hook bridge
for Hermes config-file hooks.
The .hermes SKILL.md fixes the native Windows home (%LOCALAPPDATA%\hermes)
and documents the plugin surface; docs/hermes.md is rewritten from the
Hermes 0.19.1 source and a live install (CLI, Desktop, Windows, gate
limits, shell-hook route, import-agent migration); AGENTS.md, llms.txt
and docs/installation.md carry the Hermes route.
Verified live through Hermes' own plugin manager and scanned SAFE by
Hermes' skills-guard. An adversarial second-model review found four
divergences from the shell route in the first build; all are fixed and
covered by tests/test_hermes_first_class.py, including a differential
test against inject-plan.sh.
2026-09-02 02:07:35 +02:00
| Hermes Agent: `hermes skills install OthmanAdi/planning-with-files/.hermes/skills/planning-with-files` + `hermes plugins install OthmanAdi/planning-with-files/.hermes/plugins/planning-with-files` | Yes (the `.hermes` bundle; the canonical path is refused by Hermes' skills-guard scanner) | Hermes commands `/pwf` , `/pwf-status` , `/plan-status` | **Yes ** , native plugin hooks `pre_llm_call` , `post_tool_call` , `pre_verify` (gate); see [docs/hermes.md ](hermes.md ) |
2026-07-18 11:54:33 +02:00
2026-08-29 20:05:33 +02:00
Two conditions can leave a standalone skill route without active hooks:
2026-07-18 11:54:33 +02:00
1. **Project trust. ** A project-level install (`.claude/skills/` inside the repo) only activates after the project's trust dialog is accepted (`hasTrustDialogAccepted` ). Headless or scripted sessions that never accepted trust load no project skills, and nothing prints an error.
2026-08-29 20:05:33 +02:00
2. **Skill invocation. ** Standalone `SKILL.md` hooks are activation-scoped. They register after Claude invokes the skill for that session. The plugin route registers its lifecycle descriptor at startup.
2026-07-18 11:54:33 +02:00
If hooks matter to you (they are the differentiating mechanism of this skill), install via the plugin route. Either way, verify with the doctor:
``` bash
sh scripts/plan-doctor.sh # from your project root; reports resolution, injection, latency
```
---
## Reliability Tip: Belt-and-Suspenders Trigger
Skill descriptions trigger probabilistically — in our July 2026 benchmark, unforced engagement was 60-67%, while an always-loaded rules-file instruction engaged 100% of the time. If you want the skill to fire every time a task is complex, add one line to your project's `CLAUDE.md` (or global `~/.claude/CLAUDE.md` ):
``` markdown
When a task needs 3+ steps or 5+ tool calls, invoke the planning-with-files skill first and keep task_plan.md current.
```
The skill description still handles discovery; the rules line makes engagement deterministic. Both together cost nothing when no complex task is running.
---
2026-01-10 17:21:15 +01:00
## Installation Methods
### 1. Claude Code Plugin (Recommended)
Install directly using the Claude Code CLI:
``` bash
/plugin marketplace add OthmanAdi/planning-with-files
/plugin install planning-with-files@planning-with-files
```
**Advantages: **
- Automatic updates
- Proper hook integration
- Full feature support
---
2026-08-29 20:05:33 +02:00
### 2. Local Plugin Development
2026-01-10 17:21:15 +01:00
2026-08-29 20:05:33 +02:00
For a local checkout, use Claude Code's supported session-only plugin path:
2026-01-10 17:21:15 +01:00
``` bash
git clone https://github.com/OthmanAdi/planning-with-files.git
claude --plugin-dir ./planning-with-files
```
---
2026-08-29 20:05:33 +02:00
### 3. Standalone Installation (Skill Only)
2026-01-10 17:21:15 +01:00
If you only want the skill without the full plugin structure:
``` bash
git clone https://github.com/OthmanAdi/planning-with-files.git
2026-08-22 12:49:06 +02:00
mkdir -p ~/.claude/skills
2026-08-21 14:42:09 +03:00
cp -r planning-with-files/skills/planning-with-files ~/.claude/skills/
2026-01-10 17:21:15 +01:00
```
---
### 4. One-Line Installer (Skills Only)
Extract just the skill directly into your current directory:
``` bash
curl -L https://github.com/OthmanAdi/planning-with-files/archive/master.tar.gz | tar -xzv --strip-components= 2 "planning-with-files-master/skills/planning-with-files"
```
Then move `planning-with-files/` to `~/.claude/skills/` .
---
2026-08-20 22:19:38 +02:00
## Installing a language variant
The workflow ships in Arabic, German, Spanish and both Chinese scripts alongside English. Each is its own skill, installed by name:
``` bash
npx skills add OthmanAdi/planning-with-files --skill planning-with-files-de -g
```
Installing a translation does not install the English skill, and installing English does not pull in any translation. See [languages.md ](languages.md ) for the full table, the repository layout, and how the language commands behave on the plugin route.
2026-01-10 17:21:15 +01:00
## Verifying Installation
2026-08-29 20:05:33 +02:00
After installation, verify the intended route:
2026-01-10 17:21:15 +01:00
2026-08-29 20:05:33 +02:00
1. For a plugin install, run `claude plugin list` , then inspect the plugin in `/plugin` or `/hooks` .
2. Start a new Claude Code session in a project with an active plan and confirm that planning context is restored.
3. In a project without an active plan, expect no startup message.
4. For a standalone skill install, invoke `/planning-with-files` ; its hooks are activation-scoped to that session.
2026-01-10 17:21:15 +01:00
---
## Updating
### Plugin Installation
``` bash
/plugin update planning-with-files@planning-with-files
```
2026-08-29 20:05:33 +02:00
### Local Plugin Checkout
2026-01-10 17:21:15 +01:00
2026-08-29 20:05:33 +02:00
Update the checkout you pass to `claude --plugin-dir` , then start a new session.
2026-01-10 17:21:15 +01:00
### Skills Only
``` bash
cd ~/.claude/skills/planning-with-files
git pull origin master
```
---
## Uninstalling
### Plugin
``` bash
/plugin uninstall planning-with-files@planning-with-files
```
### Skills Only
``` bash
rm -rf ~/.claude/skills/planning-with-files
```
---
## Requirements
2026-08-29 20:05:33 +02:00
- **Claude Code plugin lifecycle:** tested against the current stable release. No older minimum is claimed without a compatibility receipt.
- **Standalone skill:** core file-based planning remains available, but hooks register only after the skill is invoked.
2026-01-10 17:21:15 +01:00
---
## Platform-Specific Notes
### Windows
See [docs/windows.md ](windows.md ) for Windows-specific installation notes.
### Cursor
See [docs/cursor.md ](cursor.md ) for Cursor IDE installation.
2026-01-17 22:55:19 +01:00
### Codex
See [docs/codex.md ](codex.md ) for Codex IDE installation.
### OpenCode
See [docs/opencode.md ](opencode.md ) for OpenCode IDE installation.
2026-01-10 17:21:15 +01:00
---
## Need Help?
If installation fails, check [docs/troubleshooting.md ](troubleshooting.md ) or open an issue at [github.com/OthmanAdi/planning-with-files/issues ](https://github.com/OthmanAdi/planning-with-files/issues ).