Help us improve
Share bugs, ideas, or general feedback.
From project-docs
Converts a legacy flat process-notes.md file into the per-entry process-notes/ folder format. Use when the process-notes skill refuses to write because it detects the old format, or when the user explicitly requests /project-docs:convert-flat-process-notes-to-dir.
npx claudepluginhub ttorres33/teresa-torres-plugins --plugin project-docsHow this skill is triggered — by the user, by Claude, or both
Slash command
/project-docs:convert-flat-process-notes-to-dirThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Migrate a project from the legacy single-file `process-notes.md` format to the new per-entry `process-notes/` folder format used by the `process-notes` skill. The heavy lifting is done by a Python script — Claude's job is to validate the input, run the script, and verify the output.
Migrates single-file Markdown tasks to v3.0.0 folder structure with phased subfiles (task.md, research.md, etc.), parses content by headers, creates .bak backups. Auto or manual.
Loads context from process.md files. Useful for projects referencing process.md in discussions or edits.
Sync tracking documents based on current conversation results. Updates subtask, progress, findings, task_plan, project CLAUDE.md. Use when finishing a task or reaching a milestone.
Share bugs, ideas, or general feedback.
Migrate a project from the legacy single-file process-notes.md format to the new per-entry process-notes/ folder format used by the process-notes skill. The heavy lifting is done by a Python script — Claude's job is to validate the input, run the script, and verify the output.
process-notes skill refused to write because it detected a flat process-notes.md file/project-docs:convert-flat-process-notes-to-dirprocess-notes.md at its root and needs to adopt the folder formatRun these steps in order. Abort and report to the user if any step fails.
process-notes.md exists in the current working directoryprocess-notes/ does NOT already exist. If it does, stop and tell the user the project appears to already be partially converted — they need to decide whether to keep the existing folder or remove it before re-running.process-notes.md.archive does NOT already exist. If it does, stop and tell the user a previous conversion is in the way.Capture two numbers for later verification:
grep -c "^## " process-notes.md # entry heading count
wc -c < process-notes.md # byte count
Remember both values. If the heading count is 0, stop and tell the user the file has no ## entry headings — it is not a recognizable process-notes file and there is nothing to convert.
python3 ${CLAUDE_PLUGIN_ROOT}/skills/convert-flat-process-notes-to-dir/scripts/convert.py process-notes.md
The script:
## heading — each heading becomes exactly one entry file[YYYY-MM-DD HH:MM] or [YYYY-MM-DD] bracket prefixes (tolerates extra content inside the brackets like [2026-02-25 ~afternoon])YYYY-MM-DD: or YYYY-MM-DD - raw date prefixesSession: YYYY-MM-DD ... prefixesYYYY-MM-DD anywhere in the headingprocess-notes/YYYY-MM-DDTHHMM-slug.md (defaulting time to 0000 if not specified)process-notes/NNNN-slug.md with a per-file sequential counter — these sort before dated entries alphabetically, preserving their relative order in the source fileprocess-notes.md.archiveIf the script exits non-zero, show the user the error output and stop. Do not attempt to retry or work around the error — surface it so the user can fix the source file.
Run two checks:
a. Entry count matches. Count files in the new folder and compare to the baseline heading count:
ls process-notes/*.md | wc -l
This should equal the baseline grep -c "^## " count from step 2. If not, report the discrepancy.
b. Byte count is reasonable. Sum the bytes across all new files:
wc -c process-notes/*.md | tail -1
The total should be close to the baseline byte count from step 2, but slightly smaller — expect roughly 20-40 bytes lost per entry. The script replaces the longer ## [YYYY-MM-DD ...] Entry N: Title headers with shorter # Title headers, drops the --- separators between entries, and discards any preamble like # Project Process Notes that lived before the first entry.
Flag as a concern if the new total is more than the original, or if the loss is more than ~100 bytes per entry on average — either signals something went wrong.
Provide a concise summary:
process-notes/ folderprocess-notes.md.archive)## line as an entry boundary and never refuses to convert based on heading format. This is a one-way migration tool, and the guiding principle is "never lose content."0001-slug.md, 0002-slug.md, ...) and sort before dated entries. This is intentional for files that mix static topic sections with dated entries — the topic sections end up at the top of the folder listing.process-notes.md.archive after conversion. It is the user's safety net until they are confident the conversion worked.