What's new in each version of gspec.
Trim every skill description to Claude Code's selection window
Every skill description is now under 250 characters — Claude Code's effective selection window. Previously most descriptions ran 400-900+ chars, so the trigger guidance past char 250 was silently dropped when Claude decided whether to invoke a skill. The build-time validator that landed in 1.18.1 now hard-fails at 250 characters (rather than warning) so this regression cannot ship again.
Changed All 12 skill descriptions trimmed to ≤250 characters. Claude Code truncates each description to 250 chars when injecting them into the system prompt for skill selection, so anything past char 250 was wasted token budget that never reached Claude's decision. The trimmed versions front-load the trigger verbs and the "when to use this" cue while keeping the same essential intent.
Changed Validator tightened to hard-fail at 250 characters. Previously 1024 was the hard cap and 250 was just a warning. Since 250 is Claude Code's actual selection-window limit, treating it as the build-blocking cap is the only way to keep descriptions inside the window where Claude reads them. Trying to build a skill whose description exceeds 250 chars now stops the build with a clear error.
Migration
Run npx gspec to install the regenerated skill files. No spec changes are needed.
Fix: skill descriptions broke YAML parsing
Skill description values are now emitted as properly quoted YAML scalars so descriptions containing colons (": ") or embedded quotes no longer break frontmatter parsing in Claude Code, Cursor, Antigravity, Codex, and OpenCode. The build also now validates description length against the documented per-target caps so this kind of regression cannot ship again.
Fixed Skill frontmatter no longer breaks YAML parsing. Descriptions like /gspec-implement's, which contain phrases like "Common triggers include:" and embedded "…" example phrases, were being emitted as unquoted YAML plain scalars — illegal under the YAML 1.2 spec because ": " inside a plain scalar is interpreted as a mapping indicator. The emitter now wraps every value in a double-quoted scalar with proper escaping, applied uniformly across all five emit targets (Claude Code, Cursor, Antigravity, Codex, OpenCode).
Added Build-time description length validator. npm run build now fails if any description exceeds 1024 characters (the documented hard cap for Claude Code and OpenCode) and warns for any description over 250 characters (Claude Code's effective selection window — content past char 250 is silently dropped when Claude decides whether to invoke a skill). The warning surfaces drift before it ships; the hard fail prevents an unparseable skill from being published.
Changed Trimmed /gspec-analyze, /gspec-audit, and /gspec-implement descriptions to bring them inside the 1024-char cap while keeping the most important trigger words front-loaded for the 250-char selection window.
Migration
Run npx gspec to install the regenerated skill files. No spec changes are needed.
Plan, scoped analyze, and ambiguity detection
The /gspec-tasks command is renamed to /gspec-plan with task-files renamed to *.plan.md, /gspec-implement skips its own plan-mode approval when every in-scope feature already has an approved plan file, and /gspec-analyze accepts a feature slug to scope a run to one PRD and add an Ambiguity & Underspecification sweep that catches gaps inline (the work that previously would have required a separate /gspec-clarify phase).
Changed Renamed /gspec-tasks → /gspec-plan. The sibling artifact moves from gspec/features/<feature>.tasks.md to gspec/features/<feature>.plan.md. Task IDs (T1, T2, …), [P] parallel-execution markers, deps: lines, and covers: traceback to PRD capabilities are all unchanged — only the command and filename were renamed to better reflect that the file is an approved plan the implementer executes, not a passive task list.
Changed /gspec-implement now skips its own plan-mode approval step when every in-scope feature has a non-empty *.plan.md file. The plan was already reviewed and approved during /gspec-plan — re-approving the same content adds friction without value. Implement still presents a brief summary of what it will execute and waits for confirmation before starting work, but the heavyweight plan-mode editor flow is bypassed. Features without plan files keep the original plan-mode approval.
Added /gspec-analyze now accepts an optional feature slug to scope a run. With no argument it scans all specs for cross-spec contradictions (existing behavior, unchanged). With a slug — e.g. /gspec-analyze user-authentication — it narrows to the named feature's PRD and plan plus the foundation specs, then adds an Ambiguity & Underspecification sweep against the PRD itself: capabilities missing acceptance criteria, vague verbs ("manage", "handle"), undefined nouns referenced as if they exist, implicit state assumptions, missing edge cases, priority gaps, dependency hand-waving, and unmeasurable success metrics. Findings are framed as questions, not errors — resolve inline, mark as a Deferred Decision, or skip. The ambiguity sweep is automatically suppressed when the PRD already has a Deferred Decisions subsection covering the same questions, so it doesn't re-litigate intentional gaps.
Changed Slug resolution in scoped /gspec-analyze is strict — passing a slug-like input that doesn't match a file in gspec/features/ stops the run and lists the available slugs rather than silently falling back to all-specs mode. Avoids running the wrong analysis on a typo.
Migration
Run npx gspec to install the renamed and updated commands. If you have existing *.tasks.md files, rename them to *.plan.md (no content changes needed — only the filename and the feature: frontmatter slug, if any) — or run /gspec-migrate. The old /gspec-tasks command is no longer installed; use /gspec-plan instead. To start using scoped analyze on an existing feature, run /gspec-analyze <feature-slug> on a PRD before running /gspec-plan or /gspec-implement — especially recommended on PRDs that pre-date this release or that were imported from other tools.
Fix: missing emitters module on install
Fixes ERR_MODULE_NOT_FOUND on npx gspec caused by the published package shipping bin/gspec.js without its scripts/emitters.js dependency. The shared emitter module now lives in bin/ alongside the CLI entry point so it is always present at runtime.
Fixed Running npx gspec on a fresh install no longer fails with Cannot find module '.../scripts/emitters.js'. The 1.17.0 internal refactor extracted shared emitter logic into scripts/emitters.js, but scripts/ was not in the published files list, so the runtime import in bin/gspec.js resolved to a missing file. The module has been moved to bin/emitters.js, which ships with every install.
Migration
Run npx gspec to pick up the fix.
Task decomposition and user-authored extensions
A new /gspec-tasks command decomposes a feature PRD into an ordered, dependency-aware task plan with parallel-execution markers, and a new extension system auto-installs user-authored skills from ~/.gspec/extensions/ into every project alongside the built-in commands.
Added New /gspec-tasks command — decomposes a feature PRD into a sibling gspec/features/<feature>.tasks.md file with stable task IDs (T1, T2, …), [P] parallel-execution markers, deps: lines listing prerequisite tasks, and covers: lines that quote the PRD capability text each task contributes to. Run after /gspec-feature for non-trivial features. Optional — trivial features can skip straight to /gspec-implement.
Added New extension system — gspec extension save <path>, gspec extension list, and gspec extension remove <name> manage user-authored skills in ~/.gspec/extensions/. Extensions are auto-installed alongside built-in commands every time you run npx gspec, using the same per-platform formatting. Names that collide with built-in gspec-* skills are rejected; malformed or duplicate extensions are skipped with a warning.
Changed /gspec-implement now reads gspec/features/*.tasks.md alongside PRDs. When a tasks file exists for an in-scope feature, the implementation plan is built from tasks — respecting deps: ordering and surfacing [P]-marked work for parallel execution. Capability checkboxes in the PRD flip only after every task whose covers: references the capability is checked. Projects without tasks files keep the original checkbox-driven flow unchanged.
Changed /gspec-feature ends each generated PRD with a one-line nudge to run /gspec-tasks for non-trivial features. /gspec-analyze now validates Tasks ↔ PRD coverage (every capability covered by at least one task; no orphan tasks; consistent checkbox state across both files). /gspec-audit adds a Tasks Drift category for spec-to-code mismatches in tasks files.
Changed Internal refactor — emitter logic shared by build and install moved into scripts/emitters.js so the same per-platform formatting handles both first-party skills and user extensions. No user-visible change.
Migration
Run npx gspec to install the new gspec-tasks command alongside the existing skills. Existing projects continue to work unchanged — tasks files are opt-in. To start using tasks for a feature, run /gspec-tasks <feature> to produce the tasks file from its PRD, then run /gspec-implement as usual. To install your own extensions, drop a Markdown skill file with name and description frontmatter into ~/.gspec/extensions/ (or use gspec extension save) and re-run npx gspec in your project.
Design-tool integration, spec-to-code audit, and broader profile support
The style guide can now be a renderable HTML design system (style.html) alongside the traditional Markdown (style.md), a new gspec/design/ folder lets you drop mockups from external design tools so /gspec-implement matches their layout when building UI, a new /gspec-audit command finds drift between your specs and the actual codebase, and /gspec-profile now adapts to non-commercial products like open-source libraries, internal tools, and research software.
Added New style.html output format — a single self-contained HTML design system with design tokens as CSS custom properties, live color swatches, typography specimens, and styled component previews. Renderable in any browser and directly readable by design-aware AI tools. The /gspec-style command asks which format you prefer when neither file exists, suggesting HTML as the default for new projects. Markdown (style.md) is still fully supported — both formats are valid.
Added New gspec/design/ folder for external mockups — drop HTML, SVG, PNG, or JPG files from Figma, v0, Framer AI, Penpot, or any other design tool. /gspec-implement reads these mockups as authoritative visual guidance and matches their layout and hierarchy within the style guide's token constraints. The folder is drop-in only; gspec does not generate or edit its contents.
Added New /gspec-audit command — inspects the actual codebase (package manifests, configs, source, tests) and surfaces drift between what the specs say and what the code does. Presents each finding one at a time with the spec quote and the code evidence side by side, then asks per-finding whether to update the spec to match the code, keep the spec and flag the code for a separate fix, or defer. Distinct from /gspec-analyze (which compares specs to other specs) and complements always-on spec-sync (which catches drift as code changes happen) by sweeping for accumulated drift.
Changed /gspec-implement, /gspec-analyze, and /gspec-migrate now read either style.md or style.html, and the spec-sync rules in CLAUDE.md / AGENTS.md / cursor rules describe gspec/design/ as read-only authoritative guidance.
Changed Version metadata for HTML specs lives in a first-line comment (<!-- spec-version: v1 -->) before <!DOCTYPE html>. The installer, migrate command, and gspec save / gspec restore now parse both YAML frontmatter (Markdown) and HTML comments (HTML specs).
Changed gspec save, gspec restore, and gspec playbook preserve the style guide's file extension — HTML style guides are saved under ~/.gspec/styles/<name>.html and restored as gspec/style.html; Markdown style guides continue to use .md.
Changed /gspec-profile now adapts to the product type — commercial SaaS, internal tools, open-source libraries, research software, and personal projects. Sections like Business Model, Market & Competition, Brand, and Public-Facing Information are now marked optional with guidance to skip or adapt when a product has no external market. Commercial framing is no longer forced onto products without customers or revenue.
Migration
Run npx gspec to install updated commands. Existing style.md files continue to work unchanged. To switch to the HTML format, delete gspec/style.md and run /gspec-style, or ask your AI tool to convert your existing Markdown style guide to the new HTML format. Drop design-tool mockups into gspec/design/ at any time. Run /gspec-audit to reconcile any drift between your existing specs and codebase. Existing profile.md files are unaffected — regenerate to pick up the new product-type-aware structure.
Skill routing and smarter spec saves
Skill descriptions now include explicit trigger phrases so AI tools route requests to the right gspec command instead of answering ad hoc, and `gspec save` reuses the existing spec name with a default-yes overwrite prompt.
Changed All gspec skill descriptions now include explicit TRIGGER guidance — listing common user phrasings (e.g. "build the app", "write a PRD", "design the architecture", "research competitors") that should invoke each skill. This helps AI tools pick the right command rather than producing the equivalent output by hand.
Added New "Prefer gspec skills over ad-hoc work" section in spec-sync.md that maps user intents to the matching skill. Particular emphasis on routing build/code requests — including casual prompts like "build it", "go", or "keep going" — through gspec-implement instead of direct file edits.
Changed gspec save now reuses the existing name from a spec's frontmatter when present, prompting Overwrite existing ~/.gspec/<type>/<name>.md? [Y/n] with overwrite as the default. Re-saving an updated spec is now a single keypress instead of re-entering the name.
Migration
Run npx gspec to install updated commands.
Spec-first workflow and resolved specs
Agents now create a feature PRD before implementing any feature not already covered by an existing spec. Open questions are no longer allowed in saved specs — all questions must be resolved in conversation before the document is saved.
Added New spec-sync rule: "Spec before you build" — when a user asks for a feature not covered by an existing PRD in gspec/features/, the agent must run gspec-feature to create the spec before implementing.
Changed The feature command no longer allows open questions in saved PRDs. All questions must be resolved by asking the user in conversation. Only explicitly deferred decisions are recorded.
Changed The architect command's "Open Decisions" section now requires all technical questions to be resolved before saving. Deferred decisions are only recorded when the user explicitly declines to answer.
Changed The stack command's "Open Questions" section renamed to "Clarifications" and now requires resolution before saving, with the same deferred-only policy.
Changed The research command's generated PRD structure updated to match the new no-open-questions policy.
Migration
Run npx gspec to install updated commands. Existing specs are unaffected — open questions in previously generated specs will remain until you regenerate them.
Profile-agnostic spec generation
All generated specs except profile.md are now explicitly prohibited from including project names, company names, or business-specific context. No more "Technology Stack — ACME Solutions" headings.
Changed The stack, practices, architect, and research commands now include explicit profile-agnostic rules — generated documents must not contain project names, company names, or business purpose in titles, headings, or body text.
Changed The practices overview section simplified to focus on a summary of practices rather than team-specific context.
Migration
Run npx gspec to install updated commands. Existing specs are unaffected — regenerate them if you want to remove any project-specific references.
Saved specs start with clean checkboxes
When saving a spec to your library, all implementation checkboxes are now automatically unchecked so restored specs always start fresh.
Fixed gspec save now resets all - [x] checkboxes to - [ ] before writing to ~/.gspec/, so restored specs correctly show all capabilities as not yet implemented.
Migration
Run npx gspec to install updated commands. Previously saved specs with checked boxes are unaffected — re-save them to get clean checkboxes.
Save & restore specs across projects
Replace starter templates with a personal spec library. Save specs you've built to ~/.gspec/, bundle them into playbooks, and restore them into new projects instantly.
Added gspec save command — save any spec from your project to ~/.gspec/ organized by type (profiles, stacks, styles, practices, features).
Added gspec restore command — restore saved specs into a new project, either individually or from a playbook.
Added gspec playbook command — bundle multiple saved specs into a single restorable package for one-command project setup.
Removed Starter templates removed — the starters/ directory and all bundled templates (stacks, practices, styles, features) have been replaced by the save & restore system.
Removed The gspec-migrate-starters skill has been removed.
Changed Frontmatter field renamed from gspec-version to spec-version. The migrate command handles this rename automatically.
Changed The installer now checks ~/.gspec/ for saved specs and playbooks instead of offering bundled starter templates.
Migration
Run npx gspec to install updated commands. If you relied on starter templates, use the new gspec save command to build your own reusable spec library. Run /gspec-migrate to update the gspec-version frontmatter field to spec-version.
Implementation guardrails for PRD requirements
The implement command now prevents PRD requirements from being silently skipped or deferred without explicit user approval.
Changed The implementation plan must now account for every unchecked PRD capability — each must be assigned to a phase or explicitly listed under "Proposed to Defer" with a reason for user approval.
Changed Verification phase now checks for unapproved deferrals — any capability that was planned but not implemented must be flagged and approved by the user before it can remain unchecked.
Added New guardrail: the agent can never skip or descope a PRD capability without user approval, even when implementation details are ambiguous.
Changed When a user prompt narrows implementation scope, excluded unchecked capabilities must be explicitly listed under "Out of Scope for This Run" in the plan.
Migration
Run npx gspec to install updated commands.
Always-on spec sync and streamlined setup
Spec-sync is now always enabled during install, starter templates offer a "None" option for each category, and the CLI guides users to generate a product profile as the first post-install step.
Changed Spec-sync is now always installed during npx gspec — no longer opt-in. The agent will always reference gspec files to stay within specification boundaries.
Changed Starter template selection now includes a None — I will define my own option for each category (practices, stack, style, and features), giving full control over which templates to seed.
Changed Removed the profile check from the starter template flow. The CLI now displays a prominent "Next Step" banner after install instructing users to run /gspec-profile before continuing.
Migration
Run npx gspec to install updated commands. Spec-sync will be added automatically.
Open Code support
Added Open Code as a supported platform and fixed a migration false positive for README files.
Added Open Code platform support — npx gspec --target opencode installs skills to .opencode/skills/.
Fixed The installer no longer flags gspec/README.md as needing migration.
Migration
Run npx gspec to install updated commands. Select Open Code (option 5) if using Open Code.
Starter templates
The installer now offers pre-built starter templates so new projects can hit the ground running with practices, stack, style, and feature specs already in place.
Added Starter template seeding during npx gspec install — choose from pre-built practices, technology stacks, visual styles, and common feature PRDs to populate your gspec/ directory instantly.
Added Starter template library with templates for multiple stacks (Next.js + Supabase + Vercel, Next.js + Vercel + TypeScript, Astro + Tailwind + GitHub Pages), practices (TDD pipeline-first), styles (clean professional, dark minimal developer), and common features (home page, about page, contact form, navbar, footer, theme switcher, and more).
Added New gspec-migrate-starters command for migrating starter templates to the current gspec format (project maintenance).
Changed The starters/ directory is now included in the published npm package.
Changed Clarified document authority — stack is the single authority for testing tool choices and CI/CD technology, style is the single authority for icon libraries. Stack technology-specific practices take precedence over general practices for framework-specific concerns.
Changed Component styling guidance refined — style focuses on visual appearance only (colors, spacing, typography), while stack owns component library selection (shadcn/ui, Radix, Headless UI).
Migration
Run npx gspec to install updated commands. You will be prompted to seed starter templates — this is optional and will not affect existing gspec files unless you choose to overwrite.
Unified feature command
The feature command now handles both single features and large bodies of work, replacing the separate epic command. One command, any scope.
Changed The feature command now intelligently assesses scope — if the request is small, it produces a single PRD; if it's large enough to warrant decomposition, it proposes a multi-feature breakdown for your approval before generating individual PRDs.
Removed The epic command has been removed. All of its functionality is now part of feature. The gspec/epics/ directory is no longer used.
Changed All commands that previously referenced epics (implement, architect, analyze, research, migrate) have been updated to remove epic references and work with the unified feature command.
Added Multi-feature output guidance — when generating multiple PRDs, the feature command cross-references dependencies, maintains consistent terminology, assigns priorities holistically, and suggests a build order.
Added Releases page added to the documentation site.
Migration
If you have existing files in gspec/epics/, they can be safely archived or deleted — the feature PRDs they reference in gspec/features/ are unaffected. Run npx gspec to install the updated commands.
Spec-sync and streamlined workflow
Introduced automatic spec-sync so AI tools keep specifications in sync with code changes, and removed the manual dor/record commands in favor of the automated system.
Added Automatic spec-sync system — AI tools now read specs before making changes and update them when code diverges from documented intent, without needing explicit commands.
Removed The dor and record commands have been removed. Their functionality is replaced by the automated spec-sync rules.
Added GitHub Pages documentation site with getting started guide, full command reference, and workflow overview.
Migration
Run npx gspec to install updated commands. The dor and record commands are no longer available — spec updates now happen automatically.
Architect description fix
Patch release to correct the architect command description.
Fixed Fixed the architect command description metadata in the build output.
Analyze command
Added the analyze command for cross-referencing all gspec documents and resolving contradictions before implementation.
Added New analyze command — cross-references all existing specs, identifies contradictions and inconsistencies, and walks you through resolving each one interactively.
Changed Refined the overall spec workflow to position analyze between architect and implement for catching conflicts before building.
Codex support
Added OpenAI Codex as a supported platform, bringing gspec to four AI coding tools.
Added Codex platform support — npx gspec --target codex installs skills to .agents/skills/.
Standalone research command
Extracted competitive research into its own dedicated command and simplified the implement workflow.
Added New standalone research command — analyzes competitors from the product profile, produces a competitive feature matrix, identifies gaps, and proposes additional features.
Changed Simplified the implement command by removing its built-in competitor research phase. Research now happens separately before implementation.
Clarifying questions and optional commands
Commands now ask clarifying questions before generating specs, and non-essential commands are clearly marked as optional.
Changed All spec-generating commands now require clarifying questions in chat before finalizing output — no more unresolved questions embedded in generated documents.
Changed Clarified that architect, epic, and feature are optional — you can skip straight to implement for simpler projects.
Architect, migrate, and agent-oriented output
Major update adding the architect command, migration tooling, Mermaid diagrams, and a significant overhaul of output quality for agent consumption.
Added New architect command — generates a technical architecture document with project structure, data model (ER diagrams), API design, component architecture, auth flows, and technical gap analysis.
Added New migrate command — updates existing gspec documents to the current format when upgrading versions, preserving all content.
Added Mermaid diagrams in architect output — entity-relationship diagrams for data models, page hierarchy graphs, and sequence diagrams for auth flows.
Added Version tracking via gspec-version YAML frontmatter in all generated spec files.
Changed Feature PRDs consolidated from 10 sections to 7, removing redundancy and improving clarity.
Changed All command outputs refined for agent-oriented consumption — technology-agnostic, implementation-ready, with explicit acceptance criteria.
Changed The implement command now has an explicit planning phase with user approval and pauses between implementation phases.
Package metadata
Added repository URL and branding to the npm package.
Changed Added repository URL to package.json for npm listing.
Initial release
First published version of gspec with the core specification workflow and multi-platform support.
Added Core specification commands: profile, style, stack, practices, feature, epic, implement, dor, record.
Added Build pipeline and npx gspec installer for Claude Code, Cursor, and Antigravity.
Added Incremental implementation tracking with capability checkboxes in feature PRDs.