Library Curator
nexu-io/open-design
Search the OD Library (the global asset registry) and apply matching assets into the current project mid-task.
Curate and apply canonical terminology across Spec Kitty missions.
$ npx skills add spec-kitty/spec-kitty --skill spec-kitty-glossary-context -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install spec-kitty/spec-kitty spec-kitty-glossary-context --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/spec-kitty/spec-kitty.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/charter/offering/skills/spec-kitty-glossary-context .claude/skills/spec-kitty-glossary-context && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "spec-kitty-glossary-context" agent skill from https://github.com/spec-kitty/spec-kitty/tree/main/src/charter/offering/skills/spec-kitty-glossary-context into .claude/skills/spec-kitty-glossary-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-kitty-glossary-context", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/spec-kitty/spec-kitty/tree/main/src/charter/offering/skills/spec-kitty-glossary-contextType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add spec-kitty/spec-kitty --skill spec-kitty-glossary-context -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install spec-kitty/spec-kitty spec-kitty-glossary-context --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/spec-kitty/spec-kitty.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/charter/offering/skills/spec-kitty-glossary-context .agents/skills/spec-kitty-glossary-context && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "spec-kitty-glossary-context" agent skill from https://github.com/spec-kitty/spec-kitty/tree/main/src/charter/offering/skills/spec-kitty-glossary-context into .agents/skills/spec-kitty-glossary-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-kitty-glossary-context", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add spec-kitty/spec-kitty --skill spec-kitty-glossary-context -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install spec-kitty/spec-kitty spec-kitty-glossary-context --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/spec-kitty/spec-kitty.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/charter/offering/skills/spec-kitty-glossary-context .cursor/skills/spec-kitty-glossary-context && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "spec-kitty-glossary-context" agent skill from https://github.com/spec-kitty/spec-kitty/tree/main/src/charter/offering/skills/spec-kitty-glossary-context into .cursor/skills/spec-kitty-glossary-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-kitty-glossary-context", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/spec-kitty/spec-kitty.git --path src/charter/offering/skills/spec-kitty-glossary-context--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add spec-kitty/spec-kitty --skill spec-kitty-glossary-context -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install spec-kitty/spec-kitty spec-kitty-glossary-context --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/spec-kitty/spec-kitty.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/charter/offering/skills/spec-kitty-glossary-context .gemini/skills/spec-kitty-glossary-context && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "spec-kitty-glossary-context" agent skill from https://github.com/spec-kitty/spec-kitty/tree/main/src/charter/offering/skills/spec-kitty-glossary-context into .gemini/skills/spec-kitty-glossary-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-kitty-glossary-context", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install spec-kitty/spec-kitty spec-kitty-glossary-contextInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add spec-kitty/spec-kitty --skill spec-kitty-glossary-context -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/spec-kitty/spec-kitty.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/charter/offering/skills/spec-kitty-glossary-context .github/skills/spec-kitty-glossary-context && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "spec-kitty-glossary-context" agent skill from https://github.com/spec-kitty/spec-kitty/tree/main/src/charter/offering/skills/spec-kitty-glossary-context into .github/skills/spec-kitty-glossary-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-kitty-glossary-context", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add spec-kitty/spec-kitty --skill spec-kitty-glossary-context -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install spec-kitty/spec-kitty spec-kitty-glossary-context --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/spec-kitty/spec-kitty.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/charter/offering/skills/spec-kitty-glossary-context .opencode/skills/spec-kitty-glossary-context && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "spec-kitty-glossary-context" agent skill from https://github.com/spec-kitty/spec-kitty/tree/main/src/charter/offering/skills/spec-kitty-glossary-context into .opencode/skills/spec-kitty-glossary-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-kitty-glossary-context", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
spec-kitty-glossary-contextCurate and apply canonical terminology across Spec Kitty missions.
Spec Kitty Glossary Context is an agent skill from spec-kitty/spec-kitty. Curate and apply canonical terminology across Spec Kitty missions. Triggers: "update the glossary", "use canonical terms", "check terminology", "add a term", "fix term drift", "glossary conflicts", "resolve ambiguity", "review terminology consistency", "shape a domain model's terms", "validate domain language against code". Does NOT handle: runtime loop advancement, setup or repair requests, agent configuration, or direct code implementation tasks.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/glossary-field-guide.md` and `references/semantic-drift-examples.md`).
The repository describes itself as: Spec-Driven Development with organizational governance. Specs tell AI agents what to build; Charter governs how they build it. Git-native missions, enforceable workflows, and… The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e533131. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash, yaml and python).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Spec Kitty Glossary Context loads about 3.1k tokens when it runs, and up to ~6.3k if it reads all its reference files. Until then it costs about 120 tokens; SKILL.md has 1,252 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from spec-kitty/spec-kitty at commit e533131, republished under its MIT licence (© spec-kitty). 1,252 words, ~3,094 tokens.
.claude/skills/spec-kitty-glossary-context/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Maintain semantic integrity by curating the project glossary, detecting term drift, and ensuring that all mission artifacts use canonical terminology.
Use this skill when the user wants to inspect, update, or enforce glossary terms. Do not use it for purely operational tasks like advancing the runtime loop or repairing an installation.
The glossary is a semantic integrity runtime — a 5-layer middleware pipeline that intercepts mission step execution, extracts terms from inputs/outputs, checks them against stored definitions, and can block generation if terminology conflicts are unresolved.
Terms have a surface (normalized to lowercase), definition, scope,
confidence (0.0–1.0), and status (draft/active/deprecated).
Seed files (.kittify/glossaries/{scope}.yaml) provide initial definitions.
Event logs (.kittify/events/glossary/*.events.jsonl) record all runtime
mutations as append-only JSONL. State is reconstructed by replaying seed files
then events.
| Precedence | Scope | Use For |
|---|---|---|
| 0 (highest) | mission_local | Feature-specific jargon |
| 1 | team_domain | Team/org conventions |
| 2 | audience_domain | Industry/domain standards |
| 3 (lowest) | spec_kitty_core | Framework terms (lane, work package, mission) |
When a mission primitive executes (via @glossary_enabled decorator or
GlossaryAwarePrimitiveRunner), this pipeline processes the step:
Layer 1 — Term Extraction. Scans step input/output for terminology using multiple methods (in priority order):
| Method | Confidence | Example |
|---|---|---|
Metadata hints (glossary_watch_terms) | 1.0 | Explicit list of terms to monitor |
| Quoted phrases | 0.8 | "work package" in text |
| Acronyms (2-5 uppercase) | 0.8 | WP, API |
| Casing patterns (snake_case, CamelCase) | 0.8 | worktree_node, WorkspaceManager |
| Repeated nouns (3+ occurrences) | 0.5 | Frequent domain words |
Emits TermCandidateObserved events.
Layer 2 — Semantic Check. Resolves each extracted term against the scope hierarchy and classifies conflicts:
| Conflict Type | Trigger | Severity |
|---|---|---|
UNKNOWN | Term not in any scope | Varies by confidence + criticality |
AMBIGUOUS | 2+ active senses for same surface | HIGH in critical steps |
INCONSISTENT | Output contradicts glossary definition | LOW (informational) |
UNRESOLVED_CRITICAL | Unknown term in critical step, low confidence | HIGH |
Emits SemanticCheckEvaluated events.
Layer 3 — Clarification (runs BEFORE the gate). Users get a chance to resolve conflicts before generation is blocked:
Emits GlossaryClarificationRequested, GlossaryClarificationResolved,
and GlossarySenseUpdated events.
Layer 4 — Generation Gate. Evaluates whether to block based on strictness:
| Strictness | Behavior |
|---|---|
off | Never block |
medium (default) | Block only HIGH severity conflicts |
max | Block any unresolved conflict |
Strictness resolved via 4-tier precedence: runtime flag > step metadata >
mission config > global default (.kittify/config.yaml).
If blocking: saves a checkpoint (SHA256 input hash, scope versions, retry
token), emits StepCheckpointed and GenerationBlockedBySemanticConflict
events, then raises BlockedByConflict.
Layer 5 — Resume. For retry after a block:
Individual mission steps can control glossary behavior via metadata:
# In step definition
glossary_check: enabled # or "disabled" to skip this step
glossary_check_strictness: max # override strictness for this step
glossary_watch_terms: # explicit terms to monitor (confidence 1.0)
- work package
- lane
glossary_aliases: # map synonyms to canonical forms
task: work package
status: lane
glossary_exclude_terms: # terms to ignore
- the
- a| Event | When | Effect |
|---|---|---|
GlossaryScopeActivated | Scope loaded at runtime | Informational |
TermCandidateObserved | Term extracted from text | Records extraction |
SemanticCheckEvaluated | Semantic check completes | Records findings |
GlossaryClarificationRequested | Conflict needs resolution | Creates pending conflict |
GlossaryClarificationResolved | User selects a sense | Promotes selected sense |
GlossarySenseUpdated | Term added/definition changed | Updates store |
GenerationBlockedBySemanticConflict | Gate blocks generation | Records block |
StepCheckpointed | State saved before block | Enables resume |
All events are append-only in .kittify/events/glossary/{mission-id}.events.jsonl.
# 1. Decorator (simplest)
@glossary_enabled(repo_root=Path("."))
def my_primitive(context):
return {"result": "ok"}
# 2. Function processor
processor = attach_glossary_pipeline(repo_root, runtime_strictness, interaction_mode)
processed_context = processor(context) # May raise BlockedByConflict
# 3. Runner class
runner = GlossaryAwarePrimitiveRunner(repo_root, runtime_strictness)
result = runner.execute(primitive_fn, context)The BlockedByConflict exception carries the conflicts list, strictness
mode, and a user-facing message. Callers should catch it, present the conflicts,
and offer resolution before retrying.
Identify the glossary state for the current project.
What to check:
.kittify/glossaries/ (one YAML per scope).kittify/events/glossary/ (JSONL, event-sourced)Commands:
spec-kitty glossary list
spec-kitty glossary list --scope spec_kitty_core
spec-kitty glossary list --status active --jsonExpected outcome: You know which scopes are populated and whether event logs contain runtime mutations.
The glossary gates mission execution through the strictness system.
Commands:
spec-kitty glossary conflicts
spec-kitty glossary conflicts --unresolved
spec-kitty glossary conflicts --strictness max --mission 012-documentation-missionExpected outcome: You understand why a conflict blocked the runtime, or you can confirm no blocking conflicts exist.
Adding or editing terms: Edit the seed file for the appropriate scope.
Choose the scope by term ownership:
mission_local.yamlteam_domain.yamlaudience_domain.yamlspec_kitty_core.yaml (rarely edited)Rules: surface must be lowercase/trimmed; status is active, deprecated,
or draft; confidence is 0.0–1.0.
Seed file format:
terms:
- surface: <lowercase trimmed string>
definition: <non-empty string>
confidence: <float 0.0-1.0> # default 1.0
status: <active|deprecated|draft> # default draftStatus lifecycle: draft → (promote) → active → (retire) → deprecated
→ (re-draft) → draft. Deprecated senses are excluded from resolution but
remain in event history.
Resolving conflicts interactively:
spec-kitty glossary resolve <conflict_id>
spec-kitty glossary resolve <conflict_id> --mission 012-docsThe resolver presents candidate senses. You can select one, enter a custom
definition, or defer. Custom definitions emit both a
GlossaryClarificationResolved and a GlossarySenseUpdated event.
Expected outcome: The glossary reflects intended terminology and runtime- blocking conflicts are resolved.
Use this step when the task is shaping a domain model or a term is ambiguous, contested, or load-bearing. Skip it for an already canonical, uncontroversial usage correction.
This step is a self-contained summary of canonical doctrine: the
domain-aware-decision-interview procedure
(packs/built-in/procedures/domain-aware-decision-interview.procedure.yaml) and
the adr-drafting-workflow / language-driven-design tactics. When those
artifacts are loaded, defer to them and treat their wording as authoritative if
it ever diverges from the summary below.
Identify the model claim being made, then inspect the relevant domain types, API contracts, and tests before accepting it. Name the surfaces checked and report concrete mismatches. If code evidence is unavailable, label the claim as a hypothesis rather than presenting it as confirmed.
Choose at least one small concrete edge case that could expose ambiguity. State the expected behavior, then check whether the proposed definition, boundary, or relationship explains it. If not, refine the model instead of adding more terminology around the mismatch.
Recommend an ADR only when all three conditions are true:
If any condition is false, keep the rationale in the glossary, spec, or plan. When an ADR already covers the decision, update or reference it instead of creating a duplicate.
Expected outcome: The term is supported by available code evidence, survives a concrete edge case, and creates an ADR only for a decision that passes all three conditions.
Semantic drift occurs when artifacts gradually diverge from glossary definitions.
See references/semantic-drift-examples.md for six concrete drift patterns.
Detection:
spec-kitty glossary list --json and compare definitions against spec,
plan, and task filesspec-kitty glossary conflicts --unresolved for terms the runtime flaggedCorrection:
Prevention:
medium or max so the runtime catches conflicts earlyglossary_watch_terms in step metadata for high-value termsglossary_aliases to map known synonyms to canonical formsConsistency checklist:
Expected outcome: Terminology is consistent across all mission artifacts and the glossary remains a living, enforced contract.
references/glossary-field-guide.md -- Seed file schema, scope precedence, status lifecycle, event-sourcing mechanics, and CLI quick referencereferences/semantic-drift-examples.md -- Concrete drift patterns with detection and correction strategies© spec-kitty, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in src/charter/offering/skills/spec-kitty-glossary-context of spec-kitty/spec-kitty.
Open the folder on GitHubat commit e533131
Spec Kitty Glossary Context next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Spec Kitty Glossary Context this skillspec-kitty/spec-kitty | 1.7k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Library Curatornexu-io/open-design | 100k | — | ~574 | Automated safety check: Pass | Apache-2.0 | |
| Openapi Glossaryscalar/scalar | 16k | — | ~3.3k | Automated safety check: Pass | MIT | |
| Nemo CuratorOrchestra-Research/AI-Research-SKILLs | 13k | 4 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Dataset Curationwshobson/agents | 40k | — | ~2k | Automated safety check: Pass | MIT | |
| Kleros Curateinternet-court/internet-court-skill | 6.5k | 1 repos | ~3.8k | Automated safety check: Pass | MIT |
nexu-io/open-design
Search the OD Library (the global asset registry) and apply matching assets into the current project mid-task.
scalar/scalar
Use consistent OpenAPI terminology and definitions when writing documentation, educational material, and tooling guidance.
Orchestra-Research/AI-Research-SKILLs
GPU-accelerated data curation for LLM training. An agent skill from Orchestra-Research/AI-Research-SKILLs.
wshobson/agents
Prepare, format, and validate datasets for supervised fine-tuning and preference training.
internet-court/internet-court-skill
Interact with Kleros Curate registries across Ethereum Mainnet, Gnosis Chain, and Sepolia.
rweekly/rweekly.org
Guide the R Weekly curation team through preparing a new weekly issue.
spec-kitty/spec-kitty
Install, verify, and recover the modern Spec Kitty 2.0.11+ operating surface.
spec-kitty/spec-kitty
Explain Spec Kitty work with compact, checkable visuals. An agent skill from spec-kitty/spec-kitty.
spec-kitty/spec-kitty
Understand how Spec Kitty manages git: what git operations Python handles automatically, what agents must do manually, worktree lifecycle, auto-commit behavior, merge execution, and the safe-commit…
spec-kitty/spec-kitty
Understand how Spec Kitty missions work: the 4 built-in mission types, how they define workflows via step contracts and action indices, how missions and work packages relate, how templates are…
spec-kitty/spec-kitty
Teach agents and external systems how to use spec-kitty orchestrator-api to drive workflows from outside the host CLI.
spec-kitty/spec-kitty
Review runtime-owned outputs using the Spec Kitty review workflow surface, then direct approval or rejection with structured feedback.
Curate and apply canonical terminology across Spec Kitty missions. Spec Kitty Glossary Context is an agent skill from spec-kitty/spec-kitty. Curate and apply canonical terminology across Spec Kitty missions.
Run `npx skills add spec-kitty/spec-kitty --skill spec-kitty-glossary-context -a claude-code`. Or copy the skill folder (src/charter/offering/skills/spec-kitty-glossary-context in spec-kitty/spec-kitty) into .claude/skills/spec-kitty-glossary-context in your project. Claude Code loads it when a task matches its description.
Run `npx skills add spec-kitty/spec-kitty --skill spec-kitty-glossary-context -a codex`. Or copy the skill folder (src/charter/offering/skills/spec-kitty-glossary-context in spec-kitty/spec-kitty) into .agents/skills/spec-kitty-glossary-context in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add spec-kitty/spec-kitty --skill spec-kitty-glossary-context -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spec-kitty-glossary-context, .gemini/skills/spec-kitty-glossary-context, .github/skills/spec-kitty-glossary-context and .opencode/skills/spec-kitty-glossary-context in your project.
SKILL.md names no scripts, command-line tools or credentials: Spec Kitty Glossary Context is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Spec Kitty Glossary Context is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Spec Kitty Glossary Context: Library Curator (nexu-io/open-design, 100k stars), Openapi Glossary (scalar/scalar, 16k stars), Nemo Curator (Orchestra-Research/AI-Research-SKILLs, 13k stars) and Dataset Curation (wshobson/agents, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
spec-kitty (a GitHub organization) maintains it in spec-kitty/spec-kitty, which has 1,678 GitHub stars. The repository holds 50 skills in this directory. The repository was last updated on October 9, 2026.
Source: spec-kitty/spec-kitty on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.