Claude Code and Cowork need different state paths
skill-tree, a Claude plugin that tracks AI fluency behaviors across sessions, uses dual state paths because Cowork's $HOME is ephemeral while Claude Code's persists.
Score breakdown
Developers building Claude plugins across different environments (Claude Code, Cowork, Cursor, VS Code, Windsurf) need to understand platform-specific persistence constraints to ensure user data survives session boundaries.
- 01skill-tree classifies Claude sessions against Anthropic's AI Fluency Index (9,830 conversations, 11 observable behaviors) and suggests one untried behavior as a growth quest target
- 02Cowork's $HOME directory is ephemeral and resets each session, breaking persistence of the growth quest feature
- 03The solution uses dual state paths: Claude Code writes to ~/.skill-tree/ (durable), Cowork writes to $CLAUDE_PLUGIN_ROOT/.user-state/ (persists across Cowork sessions)
skill-tree is a Claude plugin that classifies your sessions against Anthropic's AI Fluency Index, which tracks 9,830 conversations and 11 observable behaviors. The tool's core feature is a "growth quest" — it identifies one behavior you haven't tried and suggests it as a target for your next session. However, the author discovered a critical architectural problem: Cowork's $HOME directory is ephemeral, resetting every session, which meant the quest target never persisted to the next session.
Claude Code writes to ~/.skill-tree/ because its home directory is durable across sessions.
The fix involved implementing dual state paths. Claude Code writes to ~/.skill-tree/ because its home directory is durable across sessions. Cowork writes to $CLAUDE_PLUGIN_ROOT/.user-state/ because that path persists even when $HOME doesn't. A single SessionStart hook reads whichever path is populated and loads the previous quest. The tool then runs a 7-step orchestration (30–60 seconds): find session files, extract user messages, send to a remote classifier running Claude Haiku on Fly.io, assign one of seven archetype cards, synthesize a narrative, render, and return a stable URL. The archetype cards are rendered as tarot cards using curated museum art. The behavior taxonomy comes from Dakan & Feller's 4D AI Fluency Framework, which has four axes: Description, Discernment, Delegation, and Diligence. The first three are visible in chat logs and classifiable; Diligence is not, as it reflects how you act on Claude's output outside the conversation. skill-tree is also available as an MCP server for Cursor, VS Code, and Windsurf.
Key facts
- 01skill-tree classifies Claude sessions against Anthropic's AI Fluency Index (9,830 conversations, 11 observable behaviors) and suggests one untried behavior as a growth quest target
- 02Cowork's $HOME directory is ephemeral and resets each session, breaking persistence of the growth quest feature
- 03The solution uses dual state paths: Claude Code writes to ~/.skill-tree/ (durable), Cowork writes to $CLAUDE_PLUGIN_ROOT/.user-state/ (persists across Cowork sessions)
- 04The tool runs a 7-step orchestration (30–60 seconds) using Claude Haiku on Fly.io to classify behaviors and assign one of seven archetype cards rendered as tarot art
- 05The behavior taxonomy is based on Dakan & Feller's 4D AI Fluency Framework (Description, Discernment, Delegation, Diligence), with three axes visible in chat logs
- 06skill-tree is available as an MCP server for Cursor, VS Code, and Windsurf
Topics
Summary and scoring are generated automatically from the original article. We always link back to the publisher and never republish images or paywalled content. Last processed Apr 20, 2026 · 00:31 UTC. How this works →