Plan Py4vasp
vasp-dev/py4vasp
Plan a py4vasp change as an ordered list of test-first chunks — that chunk list is the plan.
Creates detailed, sectionized, TDD-oriented implementation plans through research, stakeholder interviews, and multi-LLM review.
$ npx skills add piercelamb/deep-plan --skill deep-plan -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install piercelamb/deep-plan deep-plan --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/piercelamb/deep-plan.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/deep-plan .claude/skills/deep-plan && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "deep-plan" agent skill from https://github.com/piercelamb/deep-plan/tree/main/skills/deep-plan into .claude/skills/deep-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-plan", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/piercelamb/deep-plan/tree/main/skills/deep-planType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add piercelamb/deep-plan --skill deep-plan -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install piercelamb/deep-plan deep-plan --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/piercelamb/deep-plan.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/deep-plan .agents/skills/deep-plan && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "deep-plan" agent skill from https://github.com/piercelamb/deep-plan/tree/main/skills/deep-plan into .agents/skills/deep-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-plan", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add piercelamb/deep-plan --skill deep-plan -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install piercelamb/deep-plan deep-plan --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/piercelamb/deep-plan.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/deep-plan .cursor/skills/deep-plan && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "deep-plan" agent skill from https://github.com/piercelamb/deep-plan/tree/main/skills/deep-plan into .cursor/skills/deep-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-plan", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/piercelamb/deep-plan.git --path skills/deep-plan--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add piercelamb/deep-plan --skill deep-plan -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install piercelamb/deep-plan deep-plan --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/piercelamb/deep-plan.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/deep-plan .gemini/skills/deep-plan && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "deep-plan" agent skill from https://github.com/piercelamb/deep-plan/tree/main/skills/deep-plan into .gemini/skills/deep-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-plan", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install piercelamb/deep-plan deep-planInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add piercelamb/deep-plan --skill deep-plan -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/piercelamb/deep-plan.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/deep-plan .github/skills/deep-plan && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "deep-plan" agent skill from https://github.com/piercelamb/deep-plan/tree/main/skills/deep-plan into .github/skills/deep-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-plan", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add piercelamb/deep-plan --skill deep-plan -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install piercelamb/deep-plan deep-plan --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/piercelamb/deep-plan.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/deep-plan .opencode/skills/deep-plan && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "deep-plan" agent skill from https://github.com/piercelamb/deep-plan/tree/main/skills/deep-plan into .opencode/skills/deep-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-plan", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
deep-planCreates detailed, sectionized, TDD-oriented implementation plans through research, stakeholder interviews, and multi-LLM review.
Deep Plan is an agent skill from piercelamb/deep-plan. Creates detailed, sectionized, TDD-oriented implementation plans through research, stakeholder interviews, and multi-LLM review. Use when planning features that need thorough pre-implementation analysis.
Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `references/context-check.md`, `references/external-review.md` and `references/interview-protocol.md`). Compatibility notes: Requires uv (Python 3.11+), Gemini or OpenAI API key for external review
It sits in Agent Workflows, covering Planning and Test-driven development. The repository describes itself as: Claude Code plugin that transforms vague requirements into detailed implementation plans via research, interviews, and multi-LLM review. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 9cc88c4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
uvbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires uv (Python 3.11+), Gemini or OpenAI API key for external review
From compatibility in the SKILL.md frontmatter.
Deep Plan loads about 4.8k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 53 tokens; SKILL.md has 1,865 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from piercelamb/deep-plan at commit 9cc88c4, republished under its MIT licence (© piercelamb). 1,865 words, ~4,798 tokens.
.claude/skills/deep-plan/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.Orchestrates a multi-step planning process: Research → Interview → External LLM Review → TDD Plan
BEFORE using any other tools, do these in order:
Print intro banner immediately:
⚠️ CONTEXT WARNING: This workflow is token-intensive. Consider compacting first.
═══════════════════════════════════════════════════════════════
DEEP-PLAN: AI-Assisted Implementation Planning
═══════════════════════════════════════════════════════════════
Research → Interview → External LLM Review → TDD Plan
DEEP-PLAN starts by running `validate-env.sh`. This script:
- Checks env for external LLM auth values
- Validates external LLM access by running tiny prompt(s) programmatically
SECURITY:
- `validate-env.sh` reads secret auth values in order to validate LLM access
- It never publishes these values or exposes them to claude
Note: DEEP-PLAN will write many .md files to the planning directory you pass itCRITICAL: Locate plugin root BEFORE running any scripts.
The SessionStart hook injects DEEP_PLUGIN_ROOT=<path> into your context. Look for it now — it appears alongside DEEP_SESSION_ID in your context from session startup. Use it as plugin_root for all script paths.
If DEEP_PLUGIN_ROOT is in your context, run validate-env.sh directly:
bash <DEEP_PLUGIN_ROOT value>/scripts/checks/validate-env.shOnly if DEEP_PLUGIN_ROOT is NOT in your context (hook didn't run), fall back to search:
find "$(pwd)" -name "validate-env.sh" -path "*/scripts/checks/*" -type f 2>/dev/null | head -1If not found: find ~ -name "validate-env.sh" -path "*/scripts/checks/*" -path "*deep*plan*" -type f 2>/dev/null | head -1
Then run: bash <found_path>
Parse the JSON output:
{
"valid": true,
"errors": [],
"warnings": [],
"gemini_auth": "api_key",
"openai_auth": true,
"plugin_root": "/path/to/plugin"
}Store plugin_root from the JSON output - it's used throughout the workflow.
If valid == false:
If errors are critical (uv not installed, plugin root not found):
If errors are ONLY about missing LLM credentials (gemini_auth is null AND openai_auth is false):
AskUserQuestion:
question: "No external LLMs configured. How should plan review be handled?"
options:
- label: "Use Claude Opus for review (Recommended)"
description: "Launch an Opus subagent to review the plan"
- label: "Exit to configure LLMs"
description: "Stop to set up Gemini/OpenAI credentials"
- label: "Skip external review"
description: "Proceed without any external plan review"Store the choice as review_mode:
review_mode = "opus_subagent"review_mode = "skip"review_mode = "external_llm"Environment validated:
Gemini: {gemini_auth or "not configured"}
OpenAI: {openai_auth ? "configured" : "not configured"}
Review mode: {review_mode}Check if user provided @file at invocation AND it's a spec file (ends with .md).
If NO @file was provided OR the path doesn't end with .md, output this and STOP:
═══════════════════════════════════════════════════════════════
DEEP-PLAN: Spec File Required
═══════════════════════════════════════════════════════════════
This skill requires a markdown spec file path (must end with .md).
The planning directory is inferred from the spec file's parent directory.
To start a NEW plan:
1. Create a markdown spec file describing what you want to build
2. It can be as detailed or as vague as you like
3. Place it in a directory where deep-plan can save planning files
4. Run: /deep-plan @path/to/your-spec.md
To RESUME an existing plan:
1. Run: /deep-plan @path/to/your-spec.md
Example: /deep-plan @planning/my-feature-spec.md
═══════════════════════════════════════════════════════════════Do not continue. Wait for user to re-invoke with a .md file path.
First, check for session_id in your context. Look for DEEP_SESSION_ID=xxx
which was set by the SessionStart hook. This appears in your context from when
the session started.
Run setup-planning-session.py with the spec file, plugin root, review mode, and session ID:
uv run {plugin_root}/scripts/checks/setup-planning-session.py \
--file "<file_path>" \
--plugin-root "{plugin_root}" \
--review-mode "{review_mode}" \
--session-id "{DEEP_SESSION_ID}"IMPORTANT: If DEEP_SESSION_ID is in your context, you MUST pass it via
--session-id. This ensures tasks work correctly after /clear commands.
If it's not in your context, omit --session-id (fallback to env var).
Note: review_mode is from Step 2. If LLMs are available, use external_llm (or omit the flag).
Parse the JSON output:
This script:
deep_plan_config.json in the planning directory with plugin_root, planning_dir, and initial_file~/.claude/tasks/<task_list_id>/sections/index.md exists, also writes section tasks (positions 22+)If success == false: The script failed validation. Display the error and stop:
═══════════════════════════════════════════════════════════════
DEEP-PLAN: Setup Failed
═══════════════════════════════════════════════════════════════
Error: {error}
Please fix the issue and re-run: /deep-plan @path/to/your-spec.md
═══════════════════════════════════════════════════════════════Do not continue. Wait for user to fix the issue and re-invoke.
Common errors:
Handle conflict (if present):
If conflict is present in output, this means CLAUDE_CODE_TASK_LIST_ID was set and the task list already has tasks. Use AskUserQuestion:
--force flagIf user chooses "Exit": Stop and tell user to unset CLAUDE_CODE_TASK_LIST_ID
If user chooses "Proceed": Re-run setup-planning-session.py with --force flag added.
Handle no task list ID (mode == "no_task_list"):
If mode == "no_task_list", this is a fatal error. The workflow cannot proceed without a task list ID. Use AskUserQuestion:
Question: "Cannot proceed: No task list ID available. The SessionStart hook may not have run. How would you like to proceed?"
Options:
- "Start a fresh session" (Recommended) - Exit Claude and start a new session
- "Show troubleshooting steps" - Display the error_details.troubleshooting stepsIf user chooses "Start a fresh session":
Please exit this Claude session and start a new one. The SessionStart hook
will capture the session ID on startup.
Command: claude --plugin-dir <plugin_path>If user chooses "Show troubleshooting steps": Display each item from error_details.troubleshooting and STOP.
DO NOT PROCEED past step 4 if this error occurs.
Verify tasks are visible:
After the script completes successfully, run TaskList to verify the workflow tasks are visible. The output tasks_written shows how many task files were written.
Reading session context: After task writing, the task list includes context tasks with values in their subjects:
plugin_root=... - extract path after =planning_dir=... - extract path after =initial_file=... - extract path after =review_mode=... - extract value after =Print status:
Planning directory: {planning_dir}
Mode: {mode}If mode == "resume":
Resuming from step {resume_from_step}
To start fresh, delete the planning directory files.If resuming, skip to step {resume_from_step} in the workflow below.
Note: All scripts use {plugin_root} from step 1's validate-env.sh output.
Read {plugin_root}/skills/deep-plan/references/research-protocol.md for details.
initial_file= and extract path)Always include testing - either research existing test setup (codebase) or ask about preferences (new project).
Read {plugin_root}/skills/deep-plan/references/research-protocol.md for details.
Based on decisions from step 6, launch research subagents:
Task(subagent_type=Explore)Task(subagent_type=web-search-researcher)If both are needed, launch both Task tools in parallel (single message with multiple tool calls).
Important: Subagents return their findings - they do NOT write files directly. After collecting results from all subagents, combine them and write to <planning_dir>/claude-research.md.
Skip this step entirely if user chose no research in step 6.
Read {plugin_root}/skills/deep-plan/references/interview-protocol.md for details.
Run in main context (AskUserQuestion requires it). The interview should be informed by:
initial_file)Write Q&A to <planning_dir>/claude-interview.md
Combine into <planning_dir>/claude-spec.md:
initial_file=...)This synthesizes the user's raw requirements into a complete specification.
Read {plugin_root}/skills/deep-plan/references/plan-writing.md before writing anything.
Create detailed plan → <planning_dir>/claude-plan.md
CRITICAL CONSTRAINTS (from plan-writing.md):
Write for an unfamiliar reader. The plan must be fully self-contained - an engineer or LLM with no prior context should understand what we're building, why, and how just from reading this document. But it does not need to see full code implementations
Run:
uv run {plugin_root}/scripts/checks/check-context-decision.py \
--planning-dir "<planning_dir>" \
--upcoming-operation "External LLM Review"Read {plugin_root}/skills/deep-plan/references/context-check.md for handling the output.
Read {plugin_root}/skills/deep-plan/references/external-review.md for the full protocol.
Check review_mode from task with subject review_mode=... and follow the appropriate path:
external_llm → Run review.py scriptopus_subagent → Launch opus-plan-reviewer subagentskip → Skip to step 16Analyze the suggestions in <planning_dir>/reviews/.
Remember that you are the authority on what to integrate or not. It's OK if you decide to not integrate anything.
Step 1: Write <planning_dir>/claude-integration-notes.md documenting:
Step 2: Update <planning_dir>/claude-plan.md with the integrated changes.
Use AskUserQuestion:
The plan has been updated with external feedback. You can now review and edit claude-plan.md.
If you want Claude's help editing the plan, open a separate Claude session - this session
is mid-workflow and can't assist with edits until the workflow completes.
When you're done reviewing, select "Done" to continue.Options: "Done reviewing"
Wait for user confirmation before proceeding.
Read {plugin_root}/skills/deep-plan/references/tdd-approach.md for details.
Verify testing context exists in claude-research.md. If missing, research (existing codebase) or recommend (new project).
Create claude-plan-tdd.md mirroring the plan structure with test stubs for each section.
Run:
uv run {plugin_root}/scripts/checks/check-context-decision.py \
--planning-dir "<planning_dir>" \
--upcoming-operation "Section splitting"Read {plugin_root}/skills/deep-plan/references/context-check.md for handling the output.
Read {plugin_root}/skills/deep-plan/references/section-index.md for details.
Read claude-plan.md and claude-plan-tdd.md. Identify natural section boundaries and create <planning_dir>/sections/index.md.
CRITICAL: index.md MUST start with a SECTION_MANIFEST block. See the reference for format requirements and examples.
Write index.md before proceeding to section file creation.
Run generate-section-tasks.py to write section tasks directly to disk:
uv run {plugin_root}/scripts/checks/generate-section-tasks.py \
--planning-dir "<planning_dir>" \
--session-id "{DEEP_SESSION_ID}"IMPORTANT: If DEEP_SESSION_ID is in your context, you MUST pass it via
--session-id. This ensures tasks work correctly after /clear commands.
If it's not in your context, omit --session-id (fallback to env var).
What this script does:
Handle based on result:
success == false: Read error and fix the issue (common: missing/invalid SECTION_MANIFEST in index.md, no DEEP_SESSION_ID). Re-run until successful.state == "complete": All sections already written, skip to Final Verification.Verify section tasks are visible:
After the script completes successfully, run TaskList to see the updated task structure. The output tasks_written shows how many task files were written (section tasks + Final Verification + Output Summary).
Task positions after insertion:
19 + section_task_count19 + section_task_count + 1Task list includes batch coordination tasks (subjects like "Run batch 1 section subagents") and section tasks (subjects like "Write section-01-setup.md"). Sections are blocked by their batch task, enabling parallel execution within each batch.
Read {plugin_root}/skills/deep-plan/references/section-splitting.md for the batch execution loop.
For each batch:
generate-batch-tasks.py --batch-num N → get JSON with prompt_files arraysubagent_type="section-writer", prompt="Read {prompt_file} and execute the instructions."Validation After Each Batch:
Hooks execute in isolation - Claude doesn't see success/failure. After subagents complete:
ls {planning_dir}/sections/section-*.md | wc -lCompare count to expected sections. If any files are missing:
Verify all section files were created successfully by running check-sections.py one final time. Confirm state is "complete".
Print generated files and next steps.
CRITICAL: When resuming this workflow after context compaction, the detailed instructions from this file are lost. The task list is preserved but may not have enough detail. Follow these rules:
ALWAYS read the reference file for your current step before proceeding
{plugin_root}/skills/deep-plan/references/plugin_root from task with subject plugin_root=...NEVER skip steps - follow the task list exactly in order
If message says "MISSING PREREQUISITE" - a required file is missing but later files exist
claude-plan-tdd.md is missing but sections/index.md exists, create the TDD plan, then recreate the index (the old index was made without TDD context)Key reference files by step:
research-protocol.mdinterview-protocol.mdplan-writing.mdexternal-review.mdtdd-approach.mdsection-index.md (CRITICAL - has required format)section-splitting.md (subagent workflow)© piercelamb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (references) in skills/deep-plan of piercelamb/deep-plan.
Open the folder on GitHubat commit 9cc88c4
Deep Plan next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Deep Plan this skillpiercelamb/deep-plan | 101 | — | ~4.8k | Automated safety check: Pass | MIT | |
| Plan Py4vaspvasp-dev/py4vasp | 100 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Test-First Implementation Plangittower/git-flow-next | 458 | — | ~1.3k | Automated safety check: Notes | Custom licence | |
| Writing PlansProgrammerAnthony/Expert-Coding-Harness | 235 | — | ~876 | Automated safety check: Pass | MIT | |
| Solo BuildLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.6k | Automated safety check: Notes | MIT | |
| Executing Plansdev-toolings/superpowers-symfony | 222 | — | ~405 | Automated safety check: Notes | MIT |
vasp-dev/py4vasp
Plan a py4vasp change as an ordered list of test-first chunks — that chunk list is the plan.
gittower/git-flow-next
Builds a two-phase implementation plan from a spec issue, analysis or concept, writing a detailed test plan first and the implementation outline second.
ProgrammerAnthony/Expert-Coding-Harness
A skill your agent uses when 已有经批准的设计/规格说明、多步骤实施任务,在动代码之前需要可执行任务清单时。触发场景:写实施计划、拆解开发任务、implementation plan、执行计划文档、任务拆分、按 TDD 步骤写计划。
LeoYeAI/openclaw-master-skills
Execute implementation plan tasks with TDD workflow, auto-commit, and phase gates.
dev-toolings/superpowers-symfony
Methodically execute implementation plans with a TDD approach, incremental commits, and continuous validation
obra/superpowers
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
Categories
Creates detailed, sectionized, TDD-oriented implementation plans through research, stakeholder interviews, and multi-LLM review. Deep Plan is an agent skill from piercelamb/deep-plan. Creates detailed, sectionized, TDD-oriented implementation plans through research, stakeholder interviews, and multi-LLM review.
Deep Plan fits situations like: planning features that need thorough pre-implementation analysis; tasks that involve Planning; tasks that involve Test-driven development.
Run `npx skills add piercelamb/deep-plan --skill deep-plan -a claude-code`. Or copy the skill folder (skills/deep-plan in piercelamb/deep-plan) into .claude/skills/deep-plan in your project. Claude Code loads it when a task matches its description.
Run `npx skills add piercelamb/deep-plan --skill deep-plan -a codex`. Or copy the skill folder (skills/deep-plan in piercelamb/deep-plan) into .agents/skills/deep-plan in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add piercelamb/deep-plan --skill deep-plan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deep-plan, .gemini/skills/deep-plan, .github/skills/deep-plan and .opencode/skills/deep-plan in your project.
Going by SKILL.md and its folder, Deep Plan needs the command-line tools its instructions call (uv and bash). Our summary lists: Python 3. Compatibility (from SKILL.md): Requires uv (Python 3.11+), Gemini or OpenAI API key for external review.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Deep Plan is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.8k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 8.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Deep Plan: Plan Py4vasp (vasp-dev/py4vasp, 100 stars), Test-First Implementation Plan (gittower/git-flow-next, 458 stars), Writing Plans (ProgrammerAnthony/Expert-Coding-Harness, 235 stars) and Solo Build (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
piercelamb (a GitHub user) maintains it in piercelamb/deep-plan, which has 101 GitHub stars. The repository was last updated on June 21, 2026.
Source: piercelamb/deep-plan on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.