with one click
gsd-thread
Manage persistent context threads for cross-session work
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Manage persistent context threads for cross-session work
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Add an idea to the backlog parking lot (999.x numbering)
Run all remaining phases autonomously — discuss→plan→execute per phase
Auto-fix issues found by code review in REVIEW.md. Spawns fixer agent, commits each fix atomically, produces REVIEW-FIX.md summary.
Review source files changed during a phase for bugs, security issues, and code quality problems
Systematic debugging with persistent state across context resets
Gather phase context through adaptive questioning before planning. Use --auto to skip interactive questions (the agent picks recommended defaults). Use --chain for interactive discuss followed by automatic plan+execute. Use --power for bulk question generation into a file-based UI (answer at your own pace).
| name | gsd-thread |
| description | Manage persistent context threads for cross-session work |
Parse $ARGUMENTS to determine mode:
<mode_list> If no arguments or $ARGUMENTS is empty:
List all threads:
ls .planning/threads/*.md 2>/dev/null
For each thread, read the first few lines to show title and status:
## Active Threads
| Thread | Status | Last Updated |
|--------|--------|-------------|
| fix-deploy-key-auth | OPEN | 2026-03-15 |
| pasta-tcp-timeout | RESOLVED | 2026-03-12 |
| perf-investigation | IN PROGRESS | 2026-03-17 |
If no threads exist, show:
No threads found. Create one with: /gsd-thread <description>
</mode_list>
<mode_resume> If $ARGUMENTS matches an existing thread name (file exists):
Resume the thread — load its context into the current session:
cat ".planning/threads/${THREAD_NAME}.md"
Display the thread content and ask what the user wants to work on next.
Update the thread's status to IN PROGRESS if it was OPEN.
</mode_resume>
<mode_create> If $ARGUMENTS is a new description (no matching thread file):
Create a new thread:
Generate slug from description:
SLUG=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" generate-slug "$ARGUMENTS" --raw)
Create the threads directory if needed:
mkdir -p .planning/threads
Write the thread file:
cat > ".planning/threads/${SLUG}.md" << 'EOF'
# Thread: {description}
## Status: OPEN
## Goal
{description}
## Context
*Created from conversation on {today's date}.*
## References
- *(add links, file paths, or issue numbers)*
## Next Steps
- *(what the next session should do first)*
EOF
If there's relevant context in the current conversation (code snippets, error messages, investigation results), extract and add it to the Context section.
Commit:
node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs: create thread — ${ARGUMENTS}" --files ".planning/threads/${SLUG}.md"
Report:
## 🧵 Thread Created
Thread: {slug}
File: .planning/threads/{slug}.md
Resume anytime with: /gsd-thread {slug}
</mode_create>
- Threads are NOT phase-scoped — they exist independently of the roadmap - Lighter weight than /gsd-pause-work — no phase state, no plan context - The value is in Context and Next Steps — a cold-start session can pick up immediately - Threads can be promoted to phases or backlog items when they mature: /gsd-add-phase or /gsd-add-backlog with context from the thread - Thread files live in .planning/threads/ — no collision with phases or other GSD structures