<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Agents on ICE-ICE-BEAR-BLOG</title><link>https://ice-ice-bear.github.io/tags/agents/</link><description>Recent content in Agents on ICE-ICE-BEAR-BLOG</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Wed, 13 May 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://ice-ice-bear.github.io/tags/agents/index.xml" rel="self" type="application/rss+xml"/><item><title>Dissecting Spec Kit — GitHub's toolkit for turning specs into executable artifacts</title><link>https://ice-ice-bear.github.io/posts/2026-05-13-github-spec-kit/</link><pubDate>Wed, 13 May 2026 00:00:00 +0900</pubDate><guid>https://ice-ice-bear.github.io/posts/2026-05-13-github-spec-kit/</guid><description>&lt;img src="https://ice-ice-bear.github.io/" alt="Featured image of post Dissecting Spec Kit — GitHub's toolkit for turning specs into executable artifacts" /&gt;&lt;h2 id="overview"&gt;Overview
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/github/spec-kit" target="_blank" rel="noopener"
 &gt;Spec Kit&lt;/a&gt;, released by &lt;a class="link" href="https://github.com/" target="_blank" rel="noopener"
 &gt;GitHub&lt;/a&gt;, is a &lt;a class="link" href="https://github.github.io/spec-kit/" target="_blank" rel="noopener"
 &gt;Spec-Driven Development (SDD)&lt;/a&gt; toolkit that gathered 98k stars in eight months. Its core claim compresses into one sentence: &lt;strong&gt;a specification is not scaffolding to discard once coding begins — it is an executable artifact that directly generates the implementation.&lt;/strong&gt; Where &lt;a class="link" href="https://en.wikipedia.org/wiki/Vibe_coding" target="_blank" rel="noopener"
 &gt;vibe coding&lt;/a&gt; pulls code out of a single prompt, Spec Kit installs the opposite as slash commands on top of an &lt;a class="link" href="https://en.wikipedia.org/wiki/AI-assisted_software_development" target="_blank" rel="noopener"
 &gt;AI coding agent&lt;/a&gt;: a multi-step refinement chain of intent to spec to plan to tasks to implementation.&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 Idea["blurry intent &amp;lt;br/&amp;gt; (what and why)"]
 Idea --&gt; Const["/speckit.constitution &amp;lt;br/&amp;gt; project principles"]
 Const --&gt; Spec["/speckit.specify &amp;lt;br/&amp;gt; spec (what/why)"]
 Spec --&gt; Clarify["/speckit.clarify &amp;lt;br/&amp;gt; question underspecified areas"]
 Clarify --&gt; Plan["/speckit.plan &amp;lt;br/&amp;gt; technical plan (how)"]
 Plan --&gt; Tasks["/speckit.tasks &amp;lt;br/&amp;gt; task breakdown"]
 Tasks --&gt; Analyze["/speckit.analyze &amp;lt;br/&amp;gt; cross-artifact consistency"]
 Analyze --&gt; Impl["/speckit.implement &amp;lt;br/&amp;gt; execute implementation"]
 Impl --&gt; Code["working software"]&lt;/pre&gt;&lt;h2 id="not-vibe-coding--spec-driven-development"&gt;Not vibe coding — spec-driven development
&lt;/h2&gt;&lt;p&gt;For the past two years the default of &lt;a class="link" href="https://en.wikipedia.org/wiki/Large_language_model" target="_blank" rel="noopener"
 &gt;LLM&lt;/a&gt;-based coding has been &amp;ldquo;write a good prompt, get code back.&amp;rdquo; Tools like &lt;a class="link" href="https://cursor.com/" target="_blank" rel="noopener"
 &gt;Cursor&lt;/a&gt; and &lt;a class="link" href="https://github.com/features/copilot" target="_blank" rel="noopener"
 &gt;GitHub Copilot&lt;/a&gt; accelerated this, and the term &amp;ldquo;vibe coding,&amp;rdquo; coined by &lt;a class="link" href="https://karpathy.ai/" target="_blank" rel="noopener"
 &gt;Andrej Karpathy&lt;/a&gt;, captured the sentiment precisely — development where you accept code by feel without reading it. The problem: this is magical for small demos, but as requirements grow complex it becomes a black box where you cannot trace what was built or why.&lt;/p&gt;
&lt;p&gt;Spec Kit&amp;rsquo;s &lt;a class="link" href="https://github.com/github/spec-kit#-core-philosophy" target="_blank" rel="noopener"
 &gt;core philosophy&lt;/a&gt; inverts this default, organized around four pillars — &lt;strong&gt;intent-driven development&lt;/strong&gt; (specs define the &amp;ldquo;what&amp;rdquo; before the &amp;ldquo;how&amp;rdquo;), &lt;strong&gt;rich specification creation&lt;/strong&gt; using guardrails, &lt;strong&gt;multi-step refinement&lt;/strong&gt; rather than one-shot generation, and &lt;strong&gt;heavy reliance on advanced AI model capabilities&lt;/strong&gt; for spec interpretation. That last pillar matters. SDD is a workflow that was impossible when AI was weak. Only once models became good enough to carry a sufficiently detailed spec into a sufficiently accurate implementation did the equation &amp;ldquo;spec = source code&amp;rdquo; become a realistic option.&lt;/p&gt;
&lt;h2 id="the-six-step-workflow--a-pipeline-implemented-as-slash-commands"&gt;The six-step workflow — a pipeline implemented as slash commands
&lt;/h2&gt;&lt;p&gt;Spec Kit&amp;rsquo;s entry point is &lt;code&gt;specify&lt;/code&gt;, a &lt;a class="link" href="https://www.python.org/" target="_blank" rel="noopener"
 &gt;Python&lt;/a&gt;-based CLI. Install it with &lt;a class="link" href="https://docs.astral.sh/uv/" target="_blank" rel="noopener"
 &gt;uv&lt;/a&gt; or &lt;a class="link" href="https://pypa.github.io/pipx/" target="_blank" rel="noopener"
 &gt;pipx&lt;/a&gt;, run &lt;code&gt;specify init&lt;/code&gt;, and slash-command prompt files get written into your agent&amp;rsquo;s directory (&lt;code&gt;.claude/commands/&lt;/code&gt; and the like). From there everything happens inside the agent through &lt;code&gt;/speckit.*&lt;/code&gt; commands.&lt;/p&gt;
&lt;p&gt;There are six &lt;a class="link" href="https://github.com/github/spec-kit#available-slash-commands" target="_blank" rel="noopener"
 &gt;core commands&lt;/a&gt;.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Command&lt;/th&gt;
 &lt;th&gt;Role&lt;/th&gt;
 &lt;th&gt;Artifact&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/speckit.constitution&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Establish project governing principles&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;.specify/memory/constitution.md&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/speckit.specify&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Define what to build and why (no tech stack)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;specs/NNN-feature/spec.md&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/speckit.plan&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Decide tech stack and architecture&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;plan.md&lt;/code&gt;, &lt;code&gt;research.md&lt;/code&gt;, &lt;code&gt;data-model.md&lt;/code&gt;, &lt;code&gt;contracts/&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/speckit.tasks&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Generate an actionable task list&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;tasks.md&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/speckit.taskstoissues&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Convert tasks into &lt;a class="link" href="https://docs.github.com/en/issues" target="_blank" rel="noopener"
 &gt;GitHub Issues&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;GitHub Issues&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/speckit.implement&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Execute all tasks in dependency order&lt;/td&gt;
 &lt;td&gt;working code&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Three optional commands attach for quality reinforcement — &lt;code&gt;/speckit.clarify&lt;/code&gt; (fills underspecified areas with structured questions, recommended before &lt;code&gt;/speckit.plan&lt;/code&gt;), &lt;code&gt;/speckit.analyze&lt;/code&gt; (cross-artifact consistency and coverage check, run after &lt;code&gt;/speckit.tasks&lt;/code&gt;), and &lt;code&gt;/speckit.checklist&lt;/code&gt; (generates requirement-completeness checklists, described as &amp;ldquo;unit tests for English&amp;rdquo;).&lt;/p&gt;
&lt;p&gt;This separation is the point. &lt;code&gt;specify&lt;/code&gt; forces you to &lt;strong&gt;deliberately exclude the tech stack&lt;/strong&gt; during the spec definition step (&lt;code&gt;/specify&lt;/code&gt;). If the &amp;ldquo;what&amp;rdquo; and &amp;ldquo;why&amp;rdquo; mix with the &amp;ldquo;how,&amp;rdquo; the spec gets contaminated with implementation detail — and that kills the ability to explore different stacks from the same spec, what Spec Kit calls &amp;ldquo;&lt;a class="link" href="https://github.com/github/spec-kit#-development-phases" target="_blank" rel="noopener"
 &gt;creative exploration&lt;/a&gt;.&amp;rdquo;&lt;/p&gt;
&lt;h2 id="30-agents-and-skills-mode"&gt;30+ agents and skills mode
&lt;/h2&gt;&lt;p&gt;Spec Kit is not tied to a single agent. It supports &lt;a class="link" href="https://github.github.io/spec-kit/reference/integrations.html" target="_blank" rel="noopener"
 &gt;30+ AI coding agents&lt;/a&gt; including &lt;a class="link" href="https://www.anthropic.com/claude-code" target="_blank" rel="noopener"
 &gt;Claude Code&lt;/a&gt;, &lt;a class="link" href="https://github.com/google-gemini/gemini-cli" target="_blank" rel="noopener"
 &gt;Gemini CLI&lt;/a&gt;, &lt;a class="link" href="https://cursor.com/" target="_blank" rel="noopener"
 &gt;Cursor&lt;/a&gt;, Qwen CLI, &lt;a class="link" href="https://opencode.ai/" target="_blank" rel="noopener"
 &gt;opencode&lt;/a&gt;, &lt;a class="link" href="https://developers.openai.com/codex/cli/" target="_blank" rel="noopener"
 &gt;Codex CLI&lt;/a&gt;, and GitHub Copilot. Run &lt;code&gt;specify init&lt;/code&gt; interactively and it detects installed agents to offer choices; in non-interactive contexts like CI it falls back to GitHub Copilot.&lt;/p&gt;
&lt;p&gt;The interesting part is &lt;a class="link" href="https://www.anthropic.com/news/skills" target="_blank" rel="noopener"
 &gt;skills mode&lt;/a&gt;. Run it as &lt;code&gt;--integration codex --integration-options=&amp;quot;--skills&amp;quot;&lt;/code&gt; and it installs agent skills instead of slash-command prompt files. In that mode the command names become &lt;code&gt;$speckit-specify&lt;/code&gt; rather than &lt;code&gt;/speckit.specify&lt;/code&gt;. The &amp;ldquo;reusable unit of procedural knowledge&amp;rdquo; abstraction Anthropic is pushing with &lt;a class="link" href="https://www.anthropic.com/news/skills" target="_blank" rel="noopener"
 &gt;Claude Skills&lt;/a&gt; gets absorbed by Spec Kit as a distribution channel for its own workflow.&lt;/p&gt;
&lt;h2 id="extensibility--a-four-tier-priority-stack"&gt;Extensibility — a four-tier priority stack
&lt;/h2&gt;&lt;p&gt;The reason Spec Kit can be called a &amp;ldquo;toolkit&amp;rdquo; rather than a prompt collection is its &lt;a class="link" href="https://github.com/github/spec-kit#-making-spec-kit-your-own-extensions--presets" target="_blank" rel="noopener"
 &gt;extension system&lt;/a&gt;. Templates and commands resolve through a four-tier priority stack.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Priority&lt;/th&gt;
 &lt;th&gt;Layer&lt;/th&gt;
 &lt;th&gt;Location&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;1 (highest)&lt;/td&gt;
 &lt;td&gt;Project-local overrides&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;.specify/templates/overrides/&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2&lt;/td&gt;
 &lt;td&gt;Presets — customize core and extensions&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;.specify/presets/templates/&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;3&lt;/td&gt;
 &lt;td&gt;Extensions — add new capabilities&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;.specify/extensions/templates/&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;4 (lowest)&lt;/td&gt;
 &lt;td&gt;Spec Kit core&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;.specify/templates/&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Extensions&lt;/strong&gt; expand &lt;em&gt;what Spec Kit can do&lt;/em&gt; — they introduce new commands and new development phases. &lt;strong&gt;Presets&lt;/strong&gt; change &lt;em&gt;how Spec Kit works&lt;/em&gt; — they override the templates and commands of the core and installed extensions without adding new capability. Templates are resolved at runtime by walking the stack top-down for the first match; extension and preset commands are written into agent directories at install time.&lt;/p&gt;
&lt;p&gt;The result this structure produced is telling. The &lt;a class="link" href="https://speckit-community.github.io/extensions/" target="_blank" rel="noopener"
 &gt;community extension catalog&lt;/a&gt; already lists close to a hundred extensions — &lt;a class="link" href="https://github.com/mbachorik/spec-kit-jira" target="_blank" rel="noopener"
 &gt;Jira&lt;/a&gt; and &lt;a class="link" href="https://github.com/pragya247/spec-kit-azure-devops" target="_blank" rel="noopener"
 &gt;Azure DevOps&lt;/a&gt; integration, post-implementation code review, &lt;a class="link" href="https://en.wikipedia.org/wiki/V-model_%28software_development%29" target="_blank" rel="noopener"
 &gt;V-Model&lt;/a&gt; test traceability, &lt;a class="link" href="https://en.wikipedia.org/wiki/Brownfield_%28software_development%29" target="_blank" rel="noopener"
 &gt;brownfield&lt;/a&gt; bootstrap, token cost tracking, &lt;a class="link" href="https://owasp.org/www-project-top-10-for-large-language-model-applications/" target="_blank" rel="noopener"
 &gt;OWASP LLM threat modeling&lt;/a&gt;. There is even a bridge extension that wires the &lt;a class="link" href="https://github.com/obra/superpowers" target="_blank" rel="noopener"
 &gt;obra/superpowers&lt;/a&gt; skill collection into the SDD workflow. The core is kept deliberately thin, and domain-specific complexity is pushed out to the extension ecosystem.&lt;/p&gt;
&lt;h2 id="three-development-phases-and-experimental-goals"&gt;Three development phases and experimental goals
&lt;/h2&gt;&lt;p&gt;Spec Kit frames itself not as a finished product but as an &lt;a class="link" href="https://github.com/github/spec-kit#-experimental-goals" target="_blank" rel="noopener"
 &gt;experiment&lt;/a&gt;. The hypothesis it wants to validate is explicit — &lt;strong&gt;SDD is a process not tied to any specific technology, language, or framework&lt;/strong&gt;. So it covers all &lt;a class="link" href="https://github.com/github/spec-kit#-development-phases" target="_blank" rel="noopener"
 &gt;three development phases&lt;/a&gt;: 0-to-1 (greenfield, generate from scratch), creative exploration (parallel implementations of the same spec across stacks and architectures), and iterative enhancement (brownfield, legacy modernization).&lt;/p&gt;
&lt;p&gt;The &lt;a class="link" href="https://github.com/github/spec-kit/blob/main/spec-driven.md" target="_blank" rel="noopener"
 &gt;detailed workflow document&lt;/a&gt; makes clear this is not &amp;ldquo;run the commands in order.&amp;rdquo; It repeatedly stresses: don&amp;rsquo;t treat the spec right after &lt;code&gt;/speckit.specify&lt;/code&gt; as final — refine it in conversation with the agent; have the agent audit its own &lt;code&gt;/speckit.plan&lt;/code&gt; output; cross-check for over-engineered pieces. What Spec Kit actually sells is not commands but &lt;strong&gt;the disciplined procedure of collaborating with an AI agent&lt;/strong&gt; itself.&lt;/p&gt;
&lt;h2 id="insights"&gt;Insights
&lt;/h2&gt;&lt;p&gt;What makes Spec Kit interesting is not the code — the body is a single Python CLI, a collection of markdown templates, and slash-command prompt files. The real bet is in &lt;strong&gt;raising the abstraction layer by one notch&lt;/strong&gt;. The unit of the last round was the &amp;ldquo;prompt.&amp;rdquo; The unit Spec Kit pushes is a verifiable artifact chain: spec to plan to tasks. Prompts evaporate; specs land in git, get diffed, get reviewed, get re-executed. This is a move to restore exactly the traceability &lt;a class="link" href="https://karpathy.ai/" target="_blank" rel="noopener"
 &gt;Karpathy&lt;/a&gt;&amp;rsquo;s vibe coding deliberately threw away.&lt;/p&gt;
&lt;p&gt;Second observation — Spec Kit treats agent neutrality not as compatibility marketing but as an architectural principle. 30+ agents, support for both slash-command and skills mode, a CI fallback. This is &lt;a class="link" href="https://github.com/" target="_blank" rel="noopener"
 &gt;GitHub&lt;/a&gt; signaling it will not bet on a single model vendor, and a design decision that makes clear SDD is a layer laid on top of models, not within them. Swap the model out and the specs and workflow remain.&lt;/p&gt;
&lt;p&gt;Third — 98k stars in eight months and close to a hundred community extensions show the thin-core, open-priority-stack design hit the mark. From &lt;a class="link" href="https://github.com/mbachorik/spec-kit-jira" target="_blank" rel="noopener"
 &gt;Jira&lt;/a&gt; integration to &lt;a class="link" href="https://owasp.org/www-project-top-10-for-large-language-model-applications/" target="_blank" rel="noopener"
 &gt;OWASP&lt;/a&gt; threat modeling, the ecosystem fills a domain diversity GitHub could never have caught up with building in-house. But as the README itself warns — community extensions are not reviewed, audited, or endorsed. The cost of a thin core is a blurred trust boundary.&lt;/p&gt;
&lt;p&gt;Finally, it is worth taking the &amp;ldquo;experiment&amp;rdquo; self-framing seriously. For SDD to work, the model must carry a spec into an implementation accurately enough — and that assumption breaks with domain and complexity. Spec Kit&amp;rsquo;s value lies less in offering &amp;ldquo;the answer&amp;rdquo; than in &lt;strong&gt;explicitly drawing, through the spec as an artifact, the line between what a human writes directly and what gets delegated in AI-era software development&lt;/strong&gt;. If the keyword of the next round is not prompt engineering but spec engineering, Spec Kit will be remembered as one of its first reference implementations.&lt;/p&gt;
&lt;h2 id="references"&gt;References
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Spec Kit&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/github/spec-kit" target="_blank" rel="noopener"
 &gt;github/spec-kit&lt;/a&gt; — main repository (MIT, Python, 98k stars, released 2025-08)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.github.io/spec-kit/" target="_blank" rel="noopener"
 &gt;Spec Kit official docs&lt;/a&gt; — workflow, CLI reference, integration guides&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/github/spec-kit/blob/main/spec-driven.md" target="_blank" rel="noopener"
 &gt;Spec-Driven Development methodology doc&lt;/a&gt; — deep dive into the full process&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/github/spec-kit/releases/tag/v0.8.9" target="_blank" rel="noopener"
 &gt;v0.8.9 release&lt;/a&gt; — 2026-05-12, latest release&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.github.io/spec-kit/reference/integrations.html" target="_blank" rel="noopener"
 &gt;Supported agent integrations&lt;/a&gt; — 30+ agents&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://speckit-community.github.io/extensions/" target="_blank" rel="noopener"
 &gt;Community extension catalog&lt;/a&gt; · &lt;a class="link" href="https://github.github.io/spec-kit/community/presets.html" target="_blank" rel="noopener"
 &gt;community presets&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Background concepts&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://en.wikipedia.org/wiki/Vibe_coding" target="_blank" rel="noopener"
 &gt;Vibe coding&lt;/a&gt; — the development style Spec Kit positions against&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://en.wikipedia.org/wiki/AI-assisted_software_development" target="_blank" rel="noopener"
 &gt;AI-assisted software development&lt;/a&gt; · &lt;a class="link" href="https://en.wikipedia.org/wiki/Large_language_model" target="_blank" rel="noopener"
 &gt;Large language model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://en.wikipedia.org/wiki/V-model_%28software_development%29" target="_blank" rel="noopener"
 &gt;V-Model&lt;/a&gt; · &lt;a class="link" href="https://en.wikipedia.org/wiki/Brownfield_%28software_development%29" target="_blank" rel="noopener"
 &gt;Brownfield development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.anthropic.com/news/skills" target="_blank" rel="noopener"
 &gt;Claude Skills&lt;/a&gt; — the abstraction Spec Kit&amp;rsquo;s skills mode absorbs&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://owasp.org/www-project-top-10-for-large-language-model-applications/" target="_blank" rel="noopener"
 &gt;OWASP Top 10 for LLM Applications&lt;/a&gt; — basis for community threat-model extensions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Tools and ecosystem&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.anthropic.com/claude-code" target="_blank" rel="noopener"
 &gt;Claude Code&lt;/a&gt; · &lt;a class="link" href="https://github.com/google-gemini/gemini-cli" target="_blank" rel="noopener"
 &gt;Gemini CLI&lt;/a&gt; · &lt;a class="link" href="https://github.com/features/copilot" target="_blank" rel="noopener"
 &gt;GitHub Copilot&lt;/a&gt; · &lt;a class="link" href="https://cursor.com/" target="_blank" rel="noopener"
 &gt;Cursor&lt;/a&gt; · &lt;a class="link" href="https://developers.openai.com/codex/cli/" target="_blank" rel="noopener"
 &gt;Codex CLI&lt;/a&gt; · &lt;a class="link" href="https://opencode.ai/" target="_blank" rel="noopener"
 &gt;opencode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.astral.sh/uv/" target="_blank" rel="noopener"
 &gt;uv&lt;/a&gt; · &lt;a class="link" href="https://pypa.github.io/pipx/" target="_blank" rel="noopener"
 &gt;pipx&lt;/a&gt; — Specify CLI installation tools&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/obra/superpowers" target="_blank" rel="noopener"
 &gt;obra/superpowers&lt;/a&gt; — skill collection bridged into the SDD workflow&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.github.com/en/issues" target="_blank" rel="noopener"
 &gt;GitHub Issues&lt;/a&gt; — output target of &lt;code&gt;/speckit.taskstoissues&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>