This skill should be used when the user asks to "create workspace", "list workspaces", "select workspace", "archive workspace", "manage workspace sessions", or "switch task context". It manages per-task workspace sessions with isolated inputs, RAG files, logs, and tasklog per interaction. Use this skill whenever the user mentions workspace, session management, task isolation, or context switching.
Manage per-task workspace sessions that isolate inputs, RAG files, logs, and progress per task.
$ARGUMENTSYou MUST consider the user input before proceeding (if not empty).
| Subcommand | Description |
|---|---|
create <name> | Create a new workspace session and set as active |
list | List all sessions with stats |
select <name> | Set active session |
current | Show active session details |
archive <name> | Archive a completed session |
done <name> | Mark session as done and archive |
stats | Show workspace statistics |
Determine subcommand from arguments. If empty, default to list if workspaces exist, otherwise suggest create.
bash scripts/sdd-workspace.sh <subcommand> [args]Workspace: <action completed>
Active: yyyy-mm-dd-task-name
Inputs: N files
RAG: N captures
Logs: N entries
Status: active/archived/done
Sessions: N total (N active, N archived)| # | Assumption | Handling |
|---|---|---|
| 1 | Workspace directory is workspace/ at project root | Created on first create if missing. [EXPLICIT] |
| 2 | Active workspace tracked in .specify/active-workspace | Single active workspace at a time. [EXPLICIT] |
| 3 | RAG captures route to active workspace's rag/ folder | When active, captures go to workspace instead of global .specify/rag-memory/. [EXPLICIT] |
| 4 | Session logs dual-write to both global and workspace logs | Ensures both global and task-level audit trail. [EXPLICIT] |
| 5 | Workspace names are ISO-dated: yyyy-mm-dd-task-name | Script auto-prefixes current date if not provided. [EXPLICIT] |
| Scenario | Detection | Handling |
|---|---|---|
| No workspaces exist | workspace/ empty or missing | Suggest create with example name. [EXPLICIT] |
| Duplicate workspace name | Session with same name exists | Append incrementing suffix (-2, -3). [EXPLICIT] |
| Archive active workspace | User archives the currently active workspace | Clear .specify/active-workspace after archiving. [EXPLICIT] |
| Very old workspaces | Sessions >30 days old | Suggest archiving in list output. [INFERRED] |
| No active workspace | .specify/active-workspace empty or missing | Warn that RAG captures go to global; suggest selecting one. [EXPLICIT] |
Good: /sdd:workspace create auth-refactor
Workspace created!
Active: 2026-03-30-auth-refactor
Path: workspace/2026-03-30-auth-refactor/
Inputs: 0 files
RAG: 0 captures
Status: active
RAG captures now route to workspace/2026-03-30-auth-refactor/rag/Bad: No session isolation
x Files mixed in global directories
x No per-task tracking
x No active workspace indicatorWhy: Workspace sessions isolate per-task inputs, RAG, and logs for clean context switching. [EXPLICIT]
Before marking workspace action as complete, verify: [EXPLICIT]
create).specify/active-workspace updated (for create/select)3eafb9b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.