From therapy-tracking
First-run onboarding for the therapy-tracking plugin. Interview the user about therapy modality, session cadence, optional therapist reference, and workspace location, then provision the data scaffold and write `$CLAUDE_USER_DATA/therapy-tracking/config.json`. Run this before any other skill or command in this plugin, or whenever the setup changes. Triggers on phrases like "set up therapy tracking", "onboard therapy plugin", "configure therapy tracking".
npx claudepluginhub danielrosehill/claude-code-plugins --plugin therapy-trackingThis skill is limited to using the following tools:
Establish the persistent profile and data scaffold for the therapy-tracking plugin. The same install can serve different profiles by re-running this skill — only the values in `config.json` and the contents of the workspace are user-specific. No personal details should ever be hard-coded into other commands in this plugin.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Share bugs, ideas, or general feedback.
Establish the persistent profile and data scaffold for the therapy-tracking plugin. The same install can serve different profiles by re-running this skill — only the values in config.json and the contents of the workspace are user-specific. No personal details should ever be hard-coded into other commands in this plugin.
Resolve the plugin's data directory as $CLAUDE_USER_DATA/therapy-tracking/ if CLAUDE_USER_DATA is set; otherwise $XDG_DATA_HOME/claude-plugins/therapy-tracking/ if XDG_DATA_HOME is set; otherwise ~/.local/share/claude-plugins/therapy-tracking/. Create the directory if it doesn't exist.
Shell form:
PLUGIN_DATA_DIR="${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/therapy-tracking"
mkdir -p "$PLUGIN_DATA_DIR"
The config file is $PLUGIN_DATA_DIR/config.json. The workspace lives at $PLUGIN_DATA_DIR/workspace/ by default — the user can override the workspace path during onboarding.
config.json at the resolved path — offer to run onboarding first.If $PLUGIN_DATA_DIR/config.json exists, show the current values back. Offer Update vs Replace vs Cancel. On Replace, back up the existing file with .bak.<timestamp> suffix before writing.
Ask each question; default sensibly when the user just hits enter. Keep the tone light — this is a private setup, not a clinical intake.
| Field | Prompt | Notes |
|---|---|---|
workspace_path | "Where should the therapy workspace live?" | Default: $PLUGIN_DATA_DIR/workspace. Accept any absolute path. Expand ~. |
modality | "Therapy modality (CBT, EMDR, psychodynamic, IFS, somatic, mixed, prefer-not-to-say)?" | Optional. Free text accepted. |
cadence | "Session cadence (weekly, biweekly, monthly, ad-hoc)?" | Default: weekly. |
therapist_ref | "Anything you'd like to record about the therapist? (initials only is fine; leave blank to skip)" | Optional. Initials or first-name only by default — discourage full names. |
private_repo | "Should the workspace be a git repo? (no / local-only / private-github)" | Default: local-only. Never suggest a public GitHub repo for therapy data. |
notes | "Any free-text notes about how you want to use this workspace?" | Optional. |
If <workspace_path> does not exist, copy the bundled template into it:
mkdir -p "$WORKSPACE_PATH"
cp -r "${CLAUDE_PLUGIN_ROOT}/template/therapy-tracking/." "$WORKSPACE_PATH/"
If ${CLAUDE_PLUGIN_ROOT} is not exported in skill bash injection, fall back to ${CLAUDE_SKILL_DIR}/../../template/therapy-tracking.
Do not overwrite an existing workspace. If the path already exists and is non-empty, ask the user whether to use it as-is or pick a different path.
CLAUDE.mdOpen <workspace_path>/CLAUDE.md and:
Workspace Facts section with the modality, cadence, therapist reference (if any), and notes.~/.claude/CLAUDE.md if it exists and embed timezone / locale facts so downstream commands can skip re-asking.Based on private_repo:
no — do nothing.local-only — git init, initial commit. No remote.private-github — git init, commit, then gh repo create <basename> --private --source=. --push. Confirm with the user before running gh.config.jsonPretty-printed, 2-space indent:
{
"schema_version": 1,
"workspace_path": "/home/.../workspace",
"modality": "CBT",
"cadence": "weekly",
"therapist_ref": null,
"private_repo": "local-only",
"notes": null,
"updated_at": "<ISO-8601 timestamp>"
}
Print every field and its final value. Show the path to config.json and the workspace. List the sibling commands the user can now invoke:
/therapy-tracking:log-session — pre/post-session notes/therapy-tracking:set-goal — record or update a therapy goal/therapy-tracking:review-progress — summarise progress/therapy-tracking:structure-voice-memo — turn a transcript into a structured problem summaryconfig.json beyond what the user explicitly typed. No transcript content, no session notes — those live in the workspace files.config.json.