extract-plan-md
$
npx mdskill add closedloop-ai/claude-plugins/extract-plan-mdExtracts markdown plan content from JSON edits instantly.
- Ensures plan.md reflects changes made to plan.json immediately.
- Depends on the Edit tool and programmatically modified JSON fields.
- Parses the content key and fixes escaped line breaks automatically.
- Writes the corrected markdown file to the same directory location.
SKILL.md
.github/skills/extract-plan-mdView on GitHub ↗
---
name: extract-plan-md
description: |
Sync plan.md with plan.json content. MUST be used after ANY edit to plan.json to keep plan.md in sync.
Triggers:
- After editing plan.json with Edit tool (REQUIRED - always sync after edits)
- User asks to "sync plan.md", "update plan.md", "extract the md from a plan"
- Converting plan.json to markdown or viewing plan as standalone markdown
IMPORTANT: Whenever plan.json is modified, plan.md must be updated to match.
---
# Extract Plan MD
Sync plan.md with plan.json content. **Use this skill after ANY edit to plan.json.**
## IMPORTANT: When to Use
**REQUIRED after plan.json edits:**
- After using the Edit tool on plan.json → run this skill to sync plan.md
- After programmatically modifying plan.json content field
- After plan amendments, task status changes, or any plan modifications
**Also use for:**
- User requests to sync/extract/convert plan.json to markdown
- Reviewing a plan outside of the JSON structure
- Sharing the plan with others who don't need the structured JSON fields
## Usage
To sync plan.md with plan.json:
```bash
python3 ${CLAUDE_SKILL_DIR}/scripts/extract.py /path/to/plan.json
```
The script:
1. Reads the plan.json file
2. Extracts the `content` key (which contains the full markdown plan)
3. Fixes any escaped line breaks (`\n` -> actual newlines)
4. Writes to `plan.md` in the same directory as the plan.json
## Examples
**After editing plan.json, sync plan.md:**
```bash
python3 ${CLAUDE_SKILL_DIR}/scripts/extract.py .closedloop-ai/work/plan.json
# Updates .closedloop-ai/work/plan.md to match
```
**Extract from a specific plan:**
```bash
python3 ${CLAUDE_SKILL_DIR}/scripts/extract.py ~/work/plan.json
# Creates/updates ~/work/plan.md
```
More from closedloop-ai/claude-plugins
- artifact-type-tailored-contextCompresses artifacts for judge evaluation. Reads a single raw artifact, applies tiered summarization within a token budget, and returns compacted content with metadata. Isolation via forked context prevents pollution of agent context
- build-status-cache|
- closedloop-envProvides ClosedLoop environment paths (CLOSEDLOOP_WORKDIR, CLAUDE_PLUGIN_ROOT) to agents. This skill should be used by any agent that needs to access ClosedLoop run directories, plugin schemas, or other path-dependent resources.
- critic-cache|
- cross-repo-cache|
- decision-tableUse when the user wants a code-grounded decision table for current behavior, wants to compare current behavior against a plan or work item, or needs a control-flow artifact for recovery, retry, finalization, validation, state-machine, or review-heavy edge cases.
- eval-cache|
- find-plugin-fileThis skill should be used when needing to locate files within the Claude Code plugins cache directory (~/.claude/plugins/cache). Triggers include finding tool scripts, skill files, or any plugin resource when the hardcoded path is unknown or varies by plugin version. Use when slash commands or orchestrators need to dynamically resolve plugin file paths.
- learning-qualityStructured format for capturing high-quality learnings during ClosedLoop runs
- mermaid-visualizerThis skill should be used when a user asks to explain a complex idea, concept, or system architecture, or when a diagram would be helpful to visualize control flows, system architectures, data flows, state machines, sequence diagrams, or entity relationships.