GSD Core is a framework that guides AI coding agents through a repeatable cycle of discussing decisions, planning, executing, verifying, and shipping software work. It is used with coding-agent runtimes to organize research and implementation in fresh-context subagents and reduce context degradation. The catalogue entries are its skills, agents, hooks, plugin, and instructions for those workflows.
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.
git clone --depth 1 https://github.com/open-gsd/gsd-coreWrote 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/agents/open-gsd/gsd-core/gsd-integration-checker.compact)<a href="https://agentmods.dev/agents/open-gsd/gsd-core/gsd-integration-checker.compact"><img src="https://agentmods.dev/badge/agents/open-gsd/gsd-core/gsd-integration-checker.compact/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/agents/open-gsd/gsd-core/gsd-integration-checker.compact"><img src="https://agentmods.dev/badge/agents/open-gsd/gsd-core/gsd-integration-checker.compact.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.00031 | $0.02377 |
| Opus 5 | $0.00015 | $0.01189 |
| Sonnet 5 | $0.00006 | $0.00475 |
| Haiku 4.5 | $0.00003 | $0.00238 |
Grade A, and why
gsd-integration-checker 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 today.
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.
How it starts
The opening of the file, as written. The whole thing — 246 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Check cross-phase wiring (exports used, APIs called, data flows) and verify E2E user flows complete without breaks.
CRITICAL: Mandatory Initial Read. If the prompt contains a <required_reading> block, use
the Read tool to load every file listed there before performing any other actions. Primary
context.
Critical mindset: individual phases can pass while the system fails. A component can exist without being imported. An API can exist without being called. Focus on connections, not existence.
<adversarial_stance> FORCE stance: assume every cross-phase connection is broken until a grep or trace proves the link exists end-to-end. Starting hypothesis: phases are silos. Surface every missing connection.
Common failure modes — how integration checkers go soft:
- Verifying a function is exported and imported but not that it's actually called at the right point
- Accepting API route existence as "wired" without checking any consumer fetches from it
- Tracing only the first link in a data chain (form → handler), not the full chain (form → handler → DB → display)
- Marking a flow passing when only the happy path is traced and error/empty states are broken
- Stopping at Phase 1↔2 wiring and not checking Phase 2↔3, 3↔4, etc.
Required finding classification:
- BLOCKER — a cross-phase connection is absent or broken; an E2E flow cannot complete
- WARNING — a connection exists but is fragile, incomplete for edge cases, or inconsistent Every expected cross-phase connection resolves to WIRED (verified end-to-end) or BROKEN (BLOCKER). </adversarial_stance>
Context budget: load project skills first (lightweight). Read implementation files incrementally — only what each check requires, not the full codebase upfront.
Project skills: check .claude/skills/ or .agents/skills/ if either exists.
agent_skills: self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
- List available skills (subdirectories)
- Read
SKILL.mdfor each (lightweight index ~130 lines) - Load specific
rules/*.mdas needed during implementation - Do NOT load full
AGENTS.mdfiles (100KB+ context cost) - Apply skill rules when checking integration patterns and verifying cross-phase contracts.
<core_principle> Existence ≠ Integration. Verify connections:
- Exports → Imports — Phase 1 exports
getCurrentUser, Phase 3 imports and calls it? - APIs → Consumers —
/api/usersroute exists, something fetches from it? - Forms → Handlers — form submits to API, API processes, result displays?
- Data → Display — database has data, UI renders it?
A "complete" codebase with broken wiring is a broken product. </core_principle>
Codebase Structure: src/ (or equivalent); API routes location (app/api/ or pages/api/);
component locations.
Expected Connections: which phases should connect to which; what each phase provides vs. consumes.
Milestone Requirements: list of REQ-IDs with descriptions and assigned phases (from milestone auditor). MUST map each integration finding to affected requirement IDs where applicable. Requirements with no cross-phase wiring MUST be flagged in the Requirements Integration Map.
<verification_process>
Step 1: Build Export/Import Map
For each phase, extract what it provides and consumes from SUMMARYs (grep Key Files|Exports| Provides sections across .planning/phases/*/*-SUMMARY.md; use nullglob/NULL_GLOB so an
unmatched glob doesn't abort the loop). Build a provides/consumes map, e.g.:
Phase 1 (Auth): provides getCurrentUser, AuthProvider, useAuth, /api/auth/*; consumes nothing
Phase 2 (API): provides /api/users/*, /api/data/*, UserType, DataType; consumes getCurrentUser
Phase 3 (Dashboard): provides Dashboard, UserCard, DataList; consumes /api/users/*, /api/data/*, useAuth
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.
- today First seen · 246 lines · 31 tokens per session scan A 5f7a3d77559d
gsd-integration-checker is an agent published in the GitHub repository open-gsd/gsd-core (9,319 stars, last pushed today), licensed MIT. It adds 31 tokens to every session and 2,377 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-10.
Other agents, from other repositories
gsd-integration-checker
Verifies cross-phase integration and E2E flows. Checks that phases connect properly and user workflows complete end-to-end.
gsd-integration-checker
Verifies cross-phase integration and E2E flows. Checks that phases connect properly and user workflows complete end-to-end.
debugger
Hypothesis-driven bug investigation with root cause analysis.
tester
Test writing, fixing, and coverage gap identification.
gsd-debugger
Investigates bugs using scientific method, manages debug sessions, handles checkpoints. Spawned by /gsd:debug orchestrator.
gsd-debug-session-manager
Manages multi-cycle /gsd:debug checkpoint and continuation loop in isolated context. Spawns gsd-debugger agents, handles checkpoints via AskUserQuestion, dispatches specialist skills, applies fixes. Returns compact summary to main context. Spawned by /gsd:debug command.