Changelog
All notable changes to Skills-Driven Development (SkDD) are recorded in this file. The format is based on Keep a Changelog 1.1.0 and this project adheres to Semantic Versioning.
Entries are retroactively reconstructed from git history for versions before this file existed.
1.0.0 — 2026-06-12
Why 1.0.0? The CLI’s public API surface (
init,validate,forge,list,show,link,doctor,import,mcp,hub) is now stable and intentionally committed. Semver discipline starts here: breaking changes will require a major bump. This release ships the global colony, 9-harness skill mirrors and global colony support (including Factory Droid), plus MCP sync across 7 hosts, and theskdd hubInk TUI dashboard — the features that complete the 0.x roadmap.
Added
skdd hub— Ink TUI dashboard showing active skills, harness mirrors, MCP host matrix, and doctor status in one live view. Navigate with arrow keys; toggle mirror links with Enter; sync MCP servers with s; inspect dry-run plans with d.- Global colony (
--global) — per-harness global skills directories (~/.skdd/skills+ harness mirrors) and a global colony root (lib/global.ts).--globalflag threaded throughinit,link,doctor,list,forge, andimport. skdd mcpsubcommands —list,add,remove,sync. Canonicalmcp.jsonschema with env-variable expansion and managed-server state. Full suite of MCP host adapters:claude-code,claude-desktop,droid,cursor,opencode,gemini(7 hosts), plus a Codex TOML adapter with comment-preserving block splice.- Factory Droid harness — detection markers and harness profile added to
lib/harness.ts. skdd show <name>— prints a skill’s full SKILL.md body; resolves via canonicalskills/first, then registry.- Community scaffolding —
SECURITY.md,CODE_OF_CONDUCT.md,.github/CODEOWNERS,.github/FUNDING.yml,.github/ISSUE_TEMPLATE/*.yml,.github/PULL_REQUEST_TEMPLATE.md,ROADMAP.md. - Plugin skillforge generator —
scripts/generate-plugin-skillforge.mjsderivesplugins/skdd-claude/skills/skillforge/SKILL.mdfrom the canonicalskillforge/SKILL.mdvia 7 deterministic transforms; CI drift-check (--check) gates every push. - VS Code extension v0.2.0 — tagged JSON Schema URL, pruned
activationEvents,pnpm/vscetoolchain, Marketplace README. Packaged as.vsix; not yet published. - Reference colonies —
examples/cli-tool/,examples/data-pipeline/,examples/webapp-starter/with.colony.jsonmanifests anddoctor/validatedogfooding. - Docs site (Astro + Starlight) — examples gallery, terminal-cast component, brand theme tokens, global colony guide, MCP sync guide, Droid integration page.
Changed
- Version is now build-time injected via
tsup define(__SKDD_VERSION__read fromcli/package.jsonat build). No more hardcoded version constant drifting from npm. skdd initandskdd forgedefault to canonical mode (write toskills/, callskdd link).- Colony schema adds
canonicalSkillsDirandharnessMirrorsfields;.colony.jsonversion tracks the release train.
Removed
-
BREAKING:
skdd syncremoved. The command was always a stub that printed a warning and exited 2; it never synced anything remote. If you scriptedskdd sync, delete the call — there is no replacement. Federated colony sync remains on the roadmap; for now, fork skills manually or clone a colony repo.Migration: no code changes required.
skdd link(local mirror sync) and.skdd-sync.json(mirror state file) are unrelated and unchanged.
0.3.0 — 2026-04-13
Added
skdd doctor— health check over.colony.json, canonicalskills/, registry drift, mirror state, and instruction blocks.--jsonoutput for CI consumption. 8 tests covering healthy colony, drift, missing mirror, malformed.colony.json, and instruction block presence.skdd import— content-hash scan across every known harness mirror path and canonicalskills/. Detects duplicate groups (same content, multiple locations) and name collisions (samefrontmatter.name, different content). Realpath dedup so correctly-linked projects report zero duplicates.--applyconsolidates duplicates and single-source harness skills into canonicalskills/and runsskdd link --forceto re-establish mirrors. 10 tests.- VS Code extension scaffold at
extensions/vscode/— SKILL.md frontmatter snippets (skill-frontmatter,skill-frontmatter-full,skill-skeleton,skill-registry-row),.colony.jsonJSON Schema validation, command palette entries forSkDD: Forge a new skill,SkDD: Run doctor,SkDD: Refresh harness mirrors. Shells out to theskddCLI viavscode.Terminal. Not yet published to the Marketplace. docs/schemastore-submission.md— draft PR body for submitting.colony.jsonto SchemaStore.org/json, giving every VS Code and JetBrains user global IntelliSense on colony manifests without an extension install.- Visual identity —
assets/logo.svgandassets/wordmark.svg(anvil glyph + feedback-loop arc on a slate gradient). README hero row, shields.io badges (npm version, downloads, CI status, license, stars, spec tag). - Mermaid diagrams replacing ASCII art: the SkDD lifecycle in
README.md, the colony architecture indocs/skill-colony.md, and the canonical + mirror topology indocs/configuration.md. docs/why-skdd.md— narrative pitch doc framing SkDD as “a skill whose job is to create skills.” Lifecycle diagram, audience table, 60-second experience.- Starlight docs site scaffold under
site/— Astro +@astrojs/starlight, homepage with hero and card grid, brand CSS, sidebar skeleton,astro.config.mjstargeting GitHub Pages. Content ingestion from the repo’sdocs/directory is a follow-up (documented insite/README.md). .github/workflows/deploy-docs.yml— GitHub Pages deploy triggered by changes tosite/ordocs/. Usesactions/upload-pages-artifact@v4andactions/deploy-pages@v4.
Changed
cli/package.jsonversion bumped0.2.0→0.3.0, description updated to mention doctor + import.cli/README.mdexpanded with full per-command reference includingdoctorandimport.cli/src/index.tsregistersdoctorandimportsubcommands;--versionnow reports0.3.0.
0.2.0 — 2026-04-12
Added
- Canonical
skills/+ harness mirror pattern. Every supported harness (claude,codex,cursor,copilot,gemini,opencode,goose,amp) now has a.<harness>/skillsmirror pointing at a canonicalskills/directory at the project root. On Unix the mirror is a symlink (../skills); on Windows it’s a file copy tracked in.skdd-sync.json. Editskills/once, every harness sees the same bytes. skdd link— new subcommand. Idempotent sync that creates / repairs mirrors.--mode=symlink|copy|auto,--harness=<list>,--forceto override drift blocks,--quietfor CI. Backed bycli/src/lib/fs-link.ts(platform-aware symlink/copy helpers) andcli/src/lib/sync-state.ts(.skdd-sync.jsonparser/writer).detectAllHarnesses()incli/src/lib/harness.tsreturns every harness detected in a project (used byskdd linkto materialize all mirrors in one pass).renderCanonicalInstructionBlock()template emitting a “canonical + mirror” Skills block forCLAUDE.md/AGENTS.md/.cursor/rules/skills.mdcthat explicitly tells agents to always write toskills/, never to the mirror.- Docs updates:
docs/skill-colony.mdglossary adds “canonical skills directory” and “harness mirror” as first-class terms.docs/configuration.mdrewritten canonical-first. All 11docs/integrations/*.mdupdated to show the canonical pattern.CONTRIBUTING.mdground rule added for writing to canonical, never the mirror. - Schema updates:
.colony.jsonaddscanonicalSkillsDir(string, default"skills") andharnessMirrors(array).docs/spec/colony-v1.jsonreflects both fields.
Changed
skdd initdefaults to canonical mode — createsskills/skillforge/, the registry, the instruction block, and callsskdd linkfor the detected harness.--no-canonicalpreserves the flat per-harness layout for users who explicitly don’t want mirrors.skdd forgewrites toskills/<name>/(not the harness dir) by default, then callsskdd linkto refresh mirrors.--no-canonicaland--skip-linkflags available for escape hatches.
Fixed
- Symlink deletion on macOS:
cli/src/lib/fs-link.tsusesunlinkSync(notrmSync) when removing a symlink to a directory. Node’srmSyncwithoutrecursive: truetrips on directory-symlinks with “Path is a directory”.
0.1.0 — 2026-04-11
Added
- Initial
skddCLI withinit,validate,forge,list,sync(stub) subcommands. - Agent Skills spec validator (
cli/src/lib/spec.ts+cli/src/commands/validate.ts) covering name regex, frontmatter fields, description length, body presence, and the SkDD 200-line recommendation. - Registry format:
.skills-registry.md(human-readable markdown table) + optional.skills-registry.json(machine-readable). Parser and writer incli/src/lib/registry.ts. - Harness detection + instruction block templates in
cli/src/lib/harness.ts+cli/src/lib/templates.ts. - CI workflows:
validate-skills.yml(spec validation + link check + stale-rename grep) andpublish-skills.yml(placeholder for future npm publish). - Methodology docs:
docs/skill-colony.md,docs/forging-skills.md,docs/configuration.md,docs/specification-alignment.md, vendored spec snapshot atdocs/spec/agent-skills-v1.md, 11 harness integration docs underdocs/integrations/. - Claude Code plugin scaffold at
plugins/skdd-claude/withplugin.json, bundled skillforge skill,/forgeand/skillsslash commands. .colony.jsonmanifest +docs/spec/colony-v1.jsonJSON Schema.CONTRIBUTING.md,LICENSE(MIT), example project underexamples/webapp-starter/.