From what-did-you-do
Migrate what-did-you-do data files from the old flat .things/ layout to the per-plugin directory structure. Moves sessions, questions, company prep plans, and converts progress.md to JSON.
How this skill is triggered — by the user, by Claude, or both
Slash command
/what-did-you-do:migrate-wdydThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<purpose>
This skill handles data file relocation only. Config migration (config.yml -> config.json + preferences.json) is handled by /things:setup-things. Run /things:setup-things first if config.json doesn't exist yet.
<load-config>
<action>Resolve the user's home directory.</action>
<command language="bash" output="home" tool="Bash">echo $HOME</command>
<constraint>Never pass `~` to the Read tool.</constraint>
<read path="<home>/.things/config.json" output="config" />
<if condition="config-missing">Tell the user: "Run `/things:setup-things` first to initialize your .things directory." Then stop.</if>
<action>Check for old data.</action>
<command language="bash" tool="Bash">ls -d <home>/.things/interview-prep 2>/dev/null</command>
<if condition="no-old-data-found">
Tell the user: "No old what-did-you-do data found to migrate. Your data is already in the new location or hasn't been created yet." Then stop.
</if>
</load-config>
Show Migration Plan
<action>Inventory old data.</action>
<command language="bash" tool="Bash">
echo "sessions: $(ls /.things/interview-prep/sessions/.md 2>/dev/null | wc -l | tr -d ' ') files" echo "question-overrides: $(ls -d /.things/interview-prep/question-overrides 2>/dev/null && echo 'yes' || echo 'no')" echo "company prep plans: $(ls /.things/interview-prep/companies/.md 2>/dev/null | wc -l | tr -d ' ') files" echo "progress.md: $([ -f /.things/interview-prep/progress.md ] && echo 'yes' || echo 'no')"
<output>
what-did-you-do migration plan:
Data moves:
- `interview-prep/sessions/` (<n> files) -> `what-did-you-do/sessions/`
- `interview-prep/question-overrides/` -> `what-did-you-do/questions/`
- `interview-prep/companies/` (<n> files) -> `what-did-you-do/` (company prep plans)
Format conversions:
- `interview-prep/progress.md` -> `what-did-you-do/progress.json`
</output>
<if condition="dry-run-flag">Show the plan and stop. Do not move any files.</if>
<ask-user>
Use AskUserQuestion: "Proceed with what-did-you-do data migration?"
- Yes -- move files now
- No -- cancel
</ask-user>
Create Target Directories
<command language="bash" tool="Bash">mkdir -p <home>/.things/what-did-you-do/sessions</command>
<command language="bash" tool="Bash">mkdir -p <home>/.things/what-did-you-do/questions</command>
Move Data Files
<constraint>Use `mv` (not `cp`) to avoid duplicates. Skip items that don't exist.</constraint>
<command language="bash" tool="Bash">mv <home>/.things/interview-prep/sessions/* <home>/.things/what-did-you-do/sessions/ 2>/dev/null || true</command>
<phase name="question-overrides" number="1">
<action>Move question overrides, renaming the directory.</action>
<command language="bash" tool="Bash">mv <home>/.things/interview-prep/question-overrides/* <home>/.things/what-did-you-do/questions/ 2>/dev/null || true</command>
</phase>
<phase name="company-prep-plans" number="2">
<action>Move company prep plan files (these sit directly in the plugin directory).</action>
<command language="bash" tool="Bash">mv <home>/.things/interview-prep/companies/*.md <home>/.things/what-did-you-do/ 2>/dev/null || true</command>
</phase>
Convert progress.md to progress.json
<if condition="progress-md-exists">
<read path="<home>/.things/interview-prep/progress.md" output="progress" />
<action>Parse the markdown: extract dimension scores (Specificity, Structure, Impact, Relevance, Self-Advocacy), category breakdown if present, and session history entries.</action>
<write path="<home>/.things/what-did-you-do/progress.json">
<schema name="progress-json">
```json
{
"version": 1,
"last_updated": "<current_date>",
"dimensions": {
"specificity": { "average": 0, "trend": "stable" },
"structure": { "average": 0, "trend": "stable" },
"impact": { "average": 0, "trend": "stable" },
"relevance": { "average": 0, "trend": "stable" },
"self_advocacy": { "average": 0, "trend": "stable" }
},
"sessions": []
}
```
</schema>
</write>
<constraint>Populate actual values from the parsed markdown. Use the schema above as the structure, filling in real data.</constraint>
</if>
<if condition="no-progress-md">Skip this step.</if>
Clean Up Empty Old Directories
<command language="bash" tool="Bash">
rmdir /.things/interview-prep/sessions 2>/dev/null || true rmdir /.things/interview-prep/question-overrides 2>/dev/null || true rmdir /.things/interview-prep/companies 2>/dev/null || true rmdir /.things/interview-prep 2>/dev/null || true
<constraint>Only `rmdir` (not `rm -rf`) -- this safely fails if directories aren't empty. If progress.md is the only remaining file, leave it as a backup until the user removes it manually.</constraint>
Verify Migration
<command language="bash" tool="Bash">
echo "sessions: $(ls /.things/what-did-you-do/sessions/*.md 2>/dev/null | wc -l | tr -d ' ') files" echo "questions: $(ls /.things/what-did-you-do/questions/ 2>/dev/null | wc -l | tr -d ' ') files" echo "progress.json: $([ -f /.things/what-did-you-do/progress.json ] && echo 'yes' || echo 'no')"
Handle Git<git-workflow>
<action>Read git workflow from `<home>/.things/config.json`.</action>
<if condition="workflow-auto">
<command language="bash" tool="Bash">git -C <home>/.things add -A && git -C <home>/.things commit -m "migrate: what-did-you-do data to per-plugin directory" && git -C <home>/.things push</command>
</if>
<if condition="workflow-ask">
<ask-user>Use AskUserQuestion: "Commit migrated files to .things repo?"
- Yes -- commit and push
- Commit only -- commit without pushing
- No -- I'll handle git myself
</ask-user>
</if>
<if condition="workflow-manual">Tell the user their files have been moved and they can commit when ready.</if>
</git-workflow>
Confirm
<completion-message>
what-did-you-do data migration complete!
- <n> session files -> `~/.things/what-did-you-do/sessions/`
- Question overrides -> `~/.things/what-did-you-do/questions/`
- Company prep plans -> `~/.things/what-did-you-do/`
- progress.md converted to `~/.things/what-did-you-do/progress.json`
Your data is now in the per-plugin directory structure. Use `/practice-wdyd` to start drilling.
</completion-message>
npx claudepluginhub brennacodes/brenna-plugs --plugin what-did-you-doMigrates JobOps v1.x legacy files from OutputResumes, Briefing_Notes, Scoring_Rubrics, Intelligence_Reports to v2.0 application-centric layout via filename regex parsing. Dry-run preview with editable mapping.
Migrates legacy .claude/commands/ files to .claude/skills/ directories in Claude Code repos. Actions: discover (find), analyze (map), migrate, audit, validate, fix.
Applies pending Accelerator meta-directory migrations to update a repo to the latest plugin schema. Prints a one-line preview per migration before applying, and refuses to run on a dirty working tree.