Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add shoootyou/get-shit-done-multi --skill gsd-research-phasegit clone --depth 1 https://github.com/shoootyou/get-shit-done-multiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/shoootyou/get-shit-done-multi/gsd-research-phase)<a href="https://agentmods.dev/skills/shoootyou/get-shit-done-multi/gsd-research-phase"><img src="https://agentmods.dev/badge/skills/shoootyou/get-shit-done-multi/gsd-research-phase/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/shoootyou/get-shit-done-multi/gsd-research-phase"><img src="https://agentmods.dev/badge/skills/shoootyou/get-shit-done-multi/gsd-research-phase.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00024 | $0.01348 |
| Opus 5 | $0.00012 | $0.00674 |
| Sonnet 5 | $0.00005 | $0.00270 |
| Haiku 4.5 | $0.00002 | $0.00135 |
Grade A, and why
gsd-research-phase scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
91% identical to research-phase — 35 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 187 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Note: This is a standalone research command. For most workflows, use {{COMMAND_PREFIX}}plan-phase which integrates research automatically.
Use this command when:
- You want to research without planning yet
- You want to re-research after planning is complete
- You need to investigate before deciding if a phase is feasible
Orchestrator role: Parse phase, validate against roadmap, check existing research, gather context, spawn researcher agent, present results.
Why subagent: Research burns context fast (WebSearch, Context7 queries, source verification). Fresh 200k context for investigation. Main context stays lean for user interaction.
Normalize phase input in step 1 before any directory lookups.
0. Initialize Context
INIT=$(node {{PLATFORM_ROOT}}/get-shit-done/bin/gsd-tools.cjs init phase-op "$ARGUMENTS")
Extract from init JSON: phase_dir, phase_number, phase_name, phase_found, commit_docs, has_research, state_path, requirements_path, context_path, research_path.
Resolve researcher model:
RESEARCHER_MODEL=$(node {{PLATFORM_ROOT}}/get-shit-done/bin/gsd-tools.cjs resolve-model gsd-phase-researcher --raw)
1. Validate Phase
PHASE_INFO=$(node {{PLATFORM_ROOT}}/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "${phase_number}")
If found is false: Error and exit. If found is true: Extract phase_number, phase_name, goal from JSON.
2. Check Existing Research
ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null
If exists: Offer: 1) Update research, 2) View existing, 3) Skip. Wait for response.
If doesn't exist: Continue.
3. Gather Phase Context
Use paths from INIT (do not inline file contents in orchestrator context):
requirements_pathcontext_pathstate_path
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 187 lines · 24 tokens per session scan A 0f80b0128587
gsd-research-phase is a skill published in the GitHub repository shoootyou/get-shit-done-multi (22 stars, last pushed 5mo ago), licensed MIT. It adds 24 tokens to every session and 1,348 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 91% identical to research-phase, differing in 35 lines, and is treated as a copy.
Other skills, from other repositories
gsd-graphify
Build, query, and inspect the project knowledge graph in .planning/graphs/.
gsd-quick
Execute a quick task with GSD guarantees (atomic commits, state tracking) but skip optional agents.
gsd-import
Ingest external plans with conflict detection against project decisions before writing anything.
gsd-mempalace-capture
File a phase artifact into MemPalace; mirror decision facts into its temporal KG.
gsd-mempalace-recall
Recall decisions, patterns, and surprises from MemPalace before planning.
gsd-quick-batch
Batch several /gsd:quick-shaped tasks together — planned, dispatched, and merged as one run.