Use this skill for service operations only. DO NOT use this skill for CLI implementation lifecycle work such as creating, testing, updating, troubleshooting, validating, removing, or documenting the CLI tool itself; delegate those tasks to cli-tool-expert. MANDATORY: Use the `deepseek-sessions` CLI for ALL queries against DeepSeek Harness (dsh) session data in `~/.dsh` — sessions, projects, conversations, subagents, tool calls, todos, skills, timelines, turns, retries, approvals, and goals. DO NOT read, decompress, or parse `~/.dsh/sessions/**/session.jsonl*` by hand; the logs are concatenated Zstandard frames with a harness-specific event vocabulary. Triggers: deepseek-sessions, dsh sessions, DeepSeek Harness sessions, what did dsh do, dsh token usage, dsh subagents, dsh transcript, resume a dsh session, ~/.dsh
Resources
1Install
npx skillscat add adbertram/cli-tools/deepseek-sessions-cli Install via the SkillsCat registry.
| Task | Command |
|---|---|
| Get details for one approval request | deepseek-sessions approvals get <APPROVAL_ID> |
| List permission escalation requests and their decisions | deepseek-sessions approvals list |
| Configure authentication credentials | deepseek-sessions auth login |
| Clear stored credentials | deepseek-sessions auth logout |
| Create a new profile from .env.example template | deepseek-sessions auth profiles create <NAME> |
| Delete a profile and its data | deepseek-sessions auth profiles delete <NAME> |
| Get details for a specific profile | deepseek-sessions auth profiles get <NAME> |
| List all profiles and show their auth types and active state | deepseek-sessions auth profiles list |
| Delete a profile and its data | deepseek-sessions auth profiles remove <NAME> |
| Rename a profile, re-keying its secrets to the new profile name | deepseek-sessions auth profiles rename <OLD> <NEW> |
| Activate a profile within its auth type | deepseek-sessions auth profiles select <NAME> |
| Check authentication status across profiles | deepseek-sessions auth status |
| Test authentication by verifying credentials work across profiles | deepseek-sessions auth test |
| Get one conversation, including its user and assistant messages | deepseek-sessions conversations get [CONVERSATION_ID] |
| List conversations within a project's sessions | deepseek-sessions conversations list |
| Get every recorded revision of one goal | deepseek-sessions goals get <GOAL_ID> |
| List standing-goal revisions in a project | deepseek-sessions goals list |
| Get details for a specific project | deepseek-sessions projects get <NAME> |
| List all projects that have dsh sessions | deepseek-sessions projects list |
| Get details for one retry | deepseek-sessions retries get <RETRY_ID> |
| List retryable provider failures in a project | deepseek-sessions retries list |
| Search keywords across every dsh session transcript | deepseek-sessions search run <QUERY> |
| Get full session details including messages, tool calls, and subagents | deepseek-sessions sessions get [SESSION_ID] |
| List sessions | deepseek-sessions sessions list |
| Search for sessions whose transcript contains a query string | deepseek-sessions sessions search <QUERY> |
| Get details for a specific skill load or slash command | deepseek-sessions skills get <SKILL_ID> |
List skill loads (skill tool calls) and slash commands in a project |
deepseek-sessions skills list |
| Get full details for a subagent, including its child session messages | deepseek-sessions subagent-activity get <SUBAGENT_ID> |
| List every subagent session spawned inside a project | deepseek-sessions subagent-activity list |
| Show one session plus every subagent it spawned in a single timeline | deepseek-sessions timeline consolidated |
| Get the timeline for one session | deepseek-sessions timeline get [SESSION_ID] |
| Show a unified timeline across a project's sessions | deepseek-sessions timeline list |
| Get a specific todo by ID | deepseek-sessions todos get <TODO_ID> |
| List the final todo list of each session in a project | deepseek-sessions todos list |
| Get details for a specific tool call | deepseek-sessions tool-calls get <TOOL_CALL_ID> |
| List tool calls in a project | deepseek-sessions tool-calls list |
| Get one turn plus the model round-trips (steps) inside it | deepseek-sessions turns get <TURN> |
| List agent turns with their finish reason, duration, and token cost | deepseek-sessions turns list |
| </quick_start> |
Totals compose through jq because JSON is the default output:
deepseek-sessions sessions list --limit 1000 \
| jq 'map(.effective_tokens) | add'
deepseek-sessions turns list -p <PROJECT> --limit 1000 \
| jq 'group_by(.finish_reason) | map({reason: .[0].finish_reason, turns: length})'</common_questions>
**`usage.json`** -- Complete command tree with arguments, options, defaults, and usage instructions when present.
**`deepseek-sessions --help` and subcommand `--help`** -- Live installed command tree and option list.
**`README.md`** -- Supplemental examples and workflow notes.
</reference_index>
- Command executes without error
- Output is displayed in requested format
- Correct command and flags used, verified against the live help output or `usage.json` when present
</success_criteria>