From Spec-First to Enterprise-Ready: Extending GitHub Spec Kit GitHub Spec Kit has introduced an extensibility model with four layers β€” presets, extensions, bundles, and workflows β€” that lets large engineering organizations customize Spec-Driven Development without forking the core toolkit. Presets apply stackable, priority-ordered overrides to templates, commands, prompts, and terminology; extensions add new capabilities such as security-review commands and accessibility validation gates; bundles package presets and extensions into a single versioned, installable unit; and workflows chain commands, prompts, scripts, and human checkpoints into repeatable processes. The model is designed to let organizations standardize where consistency matters while preserving flexibility for different domains, technology stacks, and security, compliance, quality, and delivery controls. How presets, extensions, bundles, workflows, and governed catalogs make Spec-Driven Development adaptable at scale This article continues Spec-Driven Development: A Spec-First Approach to AI-Native Engineering , which introduced the principles and lifecycle of SDD. Here, we focus on the next challenge: adapting that workflow to the standards, domains, tools, and governance needs of a large engineering organization. When a good workflow meets organizational reality Spec-Driven Development SDD gives teams a durable source of truth: structured specs that carry intent through requirements, design, implementation, testing, and validation. GitHub Spec Kit github/spec-kit: πŸ’« Toolkit to help you get started with SDD or any other process https://github.com/github/spec-kit operationalizes that idea through a traceable artifact chain – from project principles and feature specifications to plans, tasks, code, and tests. But a shared core workflow is only the beginning. Different teams operate in different domains, use different technology stacks, and must satisfy different security, compliance, quality, and delivery controls. Forking the toolkit for every team would fragment the experience and make upgrades costly. The better model is a stable core with explicit extension points. GitHub Spec Kit’s extensibility ecosystem separates customization into four complementary layers: presets change existing behavior, extensions add capabilities, bundles package reusable stacks, and workflows automate repeatable processes. Together, they let organizations standardize where consistency matters while preserving flexibility where teams need it. The extensibility model Presets: customize without forking Presets are stackable, priority-ordered overrides for templates, commands, prompts, and terminology. They can adapt the artifacts generated by the SDD workflow – such as specs, plans, tasks, checklists, and constitutions – without modifying the core toolkit. This makes presets a natural fit for organizational standards. - A security preset might strengthen threat-modeling prompts; - a domain preset might introduce industry terminology and mandatory acceptance criteria; - a technology preset might tailor planning guidance for a particular platform. Because presets resolve through a priority stack, teams can combine an organization baseline with domain, technology, and project-specific overlays. Extensions: add new capabilities Extensions introduce behavior beyond the built-in lifecycle: domain-specific commands, integrations, quality gates, templates, scripts, and hooks. Rather than changing how an existing command behaves, an extension can add an entirely new engineering capability. Examples include a security-review command, an accessibility validation gate, an integration with an internal work-management system, or a guided bug-triage flow. Extensions keep these concerns modular, versionable, discoverable, and independently maintainable. Bundles: package a complete engineering setup Bundles compose presets, extensions, etc. into a single versioned, installable unit. They are the distribution layer for a curated engineering experience – for example, a developer bundle that installs an organization baseline, service-specific quality gates, a bug workflow, and required integrations together. For platform teams, bundles reduce setup variability. For product teams, they replace a long list of installation steps with one governed entry point. Pinned versions and provenance tracking also make the resulting setup easier to understand, refresh, and remove. Workflows: orchestrate repeatable SDD Workflows turn individual capabilities into repeatable processes. They can chain commands, prompts, scripts, and human checkpoints; support conditional paths and loops; and pause or resume when review is required. This is especially useful for processes where evidence matters as much as execution: bug remediation, release readiness, security review, architecture validation, or production incident follow-up. The goal is not to remove human judgment – it is to make the expected sequence, artifacts, and checkpoints explicit. Governed discovery with catalogs Extensibility creates value only when teams can discover and trust what they install. Spec Kit catalogs provide that discovery surface, but organizations should distinguish between governed installation sources and open community discovery. A practical enterprise model uses two layers: - Organization catalog: organization-controlled, reviewed, discoverable, and installable. It receives the highest resolution priority and becomes the default source for approved presets and extensions. - Community catalog: useful for exploration and inspiration, but discovery-only by default. A listing confirms format and metadata – not a security review or endorsement of its code. This separation is a security boundary. Teams can browse broadly while installations remain anchored in vetted sources. An organization catalog can also enforce contribution standards, provenance, prompt-injection safeguards, and documented ownership. A layered constitution for consistent engineering guidance The same layering principle can be applied to the project constitution. Instead of forcing every project to author its engineering principles from scratch, Organization can define standard rules that can be applied to every project. This means that standard rules are automatically applied whenever a new constitution is drafted by a team, while giving flexibility to teams to add / override any specific guidelines they want. Eventually a constitution can be composed using below layers: 1. Organization baseline: non-negotiable engineering expectations that apply everywhere. 2. Domain and technology overlay: context-specific rules for a business domain, platform, language, or architecture. 3. Team customization: narrowly scoped exceptions or additions needed by a particular team. This approach creates consistency without erasing context. It also gives AI coding agents clearer and more durable guardrails than ad hoc instructions repeated in individual prompts. Example of extensibility in action Token-usage visibility and optimization AI-native engineering introduces a new operational concern: understanding token consumption and cost. An extension can collect usage after each run, surface trends, and trigger optimization guidance when thresholds are exceeded. Because the capability is modular, teams can adopt it without changing the core SDD lifecycle. The same pattern can support other cross-cutting needs, including accessibility checks, secure-development reviews, dependency governance, documentation quality, and service-health validation. How to adopt extensibility responsibly Start small and optimize for trust: 1. Establish the baseline. Define the organization-level constitution and the controls that should apply to every project. 2. Prefer presets for policy and terminology. Use them when the goal is to adapt existing templates or commands. 3. Use extensions for new capabilities. Keep each extension focused, documented, versioned, and independently testable. 4. Curate an organization catalog. Review ownership, source, permissions, prompts, scripts, and update practices before allowing installation. 5. Package proven combinations as bundles. Make the approved path the easiest path for teams to adopt. 6. Automate only what is understood. Add workflows after the underlying process, artifacts, checkpoints, and exception paths are clear. A useful rule is to keep customization modular and the core untouched. That preserves upgradeability, makes provenance visible, and prevents local improvements from becoming long-lived forks. What this unlocks SDD begins with a simple idea: make intent explicit before asking AI to execute. Extensibility carries that idea into enterprise practice. It lets organizations encode standards once, apply them consistently, add domain-specific capabilities, and automate evidence-producing workflows – without sacrificing the shared lifecycle that makes SDD coherent. The result is more than a customizable toolkit. It is a scalable operating model for AI-native engineering: a stable core, governed building blocks, and enough flexibility for teams to meet their real-world constraints. Learn more - Spec-Driven Development: A Spec-First Approach to AI-Native Engineering https://developer.microsoft.com/blog/spec-driven-development-ai-native-engineering/ β€” the foundational article in this series. - Spec Kit presets documentation https://github.github.io/spec-kit/reference/presets.html β€” customizing templates, commands, and terminology. - Spec Kit extensions documentation https://github.github.io/spec-kit/reference/extensions.html β€” adding capabilities and managing trusted catalogs. - Spec Kit bundles documentation https://github.github.com/spec-kit/reference/bundles.html β€” packaging versioned stacks for teams and roles.