From ds
Searches, indexes, and exports Claude Code sessions using the cass CLI (Coding Agent Session Search), and optionally runs the cass-memory (cm) reflection pipeline to distill sessions into persistent playbook rules. Use when the user wants to install cass or cass-memory, find past sessions, search conversation history, look up prior work on a topic, export a session to markdown, discover related sessions for a file, check session activity timelines, or reflect on past sessions to build procedural memory. Triggers on: "search my sessions", "find past work on X", "export session", "look in my history", "what sessions do I have about", "find related sessions", "when did I work on", "install cass", "setup cass-memory", "reflect on sessions", "build playbook", "cm reflect".
How this skill is triggered — by the user, by Claude, or both
Slash command
/ds:cassThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<objective>
| Tool | Role | Required |
|---|---|---|
cass | Infrastructure: index, search, export sessions | Yes |
cm (cass-memory) | Intelligence: reflect on sessions, build playbook rules | Optional |
Check if installed:
cass --version # expect: cass 0.x.x
cm --version # expect: cass-memory 0.x.x (optional)
# Install cass (session indexer)
brew install dicklesworthstone/tap/cass
cass index --full # ~2 min first run
# Install cm / cass-memory (reflection pipeline) — optional
brew install dicklesworthstone/tap/cm
# or one-liner: curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/cass_memory_system/main/install.sh" | bash -s -- --easy-mode --verify
# Configure LLM provider for cm (one of):
export ANTHROPIC_API_KEY=sk-ant-...
cm init && cm doctor # verify cass + LLM OK
<quick_start>
cass status --jsoncass indexAlways run this first:
cass status --json
Key fields to check:
recommended_action: "ok" = index is fresh; "index" = needs reindexingdb_stats.total_sessions: how many sessions are indexedfreshness.stale: true if index is staleIf stale, run:
cass index
Skip re-indexing if the user is searching a session they already know the path to (direct export).
# Basic search
cass search "topic keyword" --json --fields summary
# Limit to current workspace
cass search "keyword" --json --fields summary --workspace $(pwd)
# Filter by time
cass search "keyword" --json --fields summary --days 7
# Filter by agent (claude_code, cursor, codex, aider, etc.)
cass search "keyword" --json --fields summary --agent claude_code
# Chained search (narrow down results)
cass search "first topic" --robot-format sessions | cass search "second topic" --sessions-from -
Output fields in --fields summary: source_path, line_number, agent, title, score.
# Export to stdout (review inline)
cass export ~/.claude/projects/<workspace-encoded>/<session-id>.jsonl
# Export to file
cass export <path-to-session.jsonl> -o /tmp/session.md
# Include tool call details
cass export <path> --include-tools
Session files live at: ~/.claude/projects/<workspace-encoded>/ — encode workspace path by replacing / with -.
cass context <path-to-session.jsonl> --json --limit 5
Returns sessions that worked in the same workspace or touched the same files.
# Last 7 days
cass timeline --days 7
# Specific range
cass timeline --since 2025-01-01 --until 2025-01-31
When cass search returns a line_number, use expand to see surrounding messages:
cass expand <path-to-session.jsonl> --line <line_number>
cm)# Preview what would be processed (dry run)
cm reflect --days 7 --max-sessions 3 --dry-run
# Run reflection: exports sessions → LLM diary → playbook rules
cm reflect --days 7 --max-sessions 5
# View current playbook rules
cm playbook
# Get context snippets for current workspace
cm context --workspace $(pwd)
# Check what cm knows about a topic
cm search "rate limiting"
# Health check (verifies cass + LLM connection)
cm doctor
# Daily cron: index + reflect on yesterday's sessions
# 0 8 * * * cass index && cm reflect --days 1
For search results: Show session title + path. If the user wants details, export the most relevant session.
For exports: Render the markdown inline or summarize key decisions/actions from the session.
For context results: List related sessions with their titles and workspaces.
--fields summary to keep token usage low for search results.--workspace $(pwd) to scope to the current project.cass search --robot-format sessions outputs paths only — useful for piping into export or chained searches.cass search "topic" --mode semantic~/.claude/projects/<workspace-encoded>/<uuid>.jsonl<success_criteria> Session search/exploration is complete when:
cass-memory reflection is complete when:
cm doctor shows cass: OK and LLM: OKcm reflect ran without errorscm playbook shows updated rules
</success_criteria>npx claudepluginhub durandom/skills --plugin dsGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Implements work from a spec or tickets using TDD at agreed seams, with regular typechecking and test runs, followed by code review.