Repository navigation
Releases: permanu/superskill
Release list
v0.16.1
Fixed
- MCP setup records the running Node directory and absolute terminal PATH entries so desktop clients can find NVM-managed
nodeandnpx, including when SuperSkill was installed globally with Bun. - Setup and upgrade repair missing PATH values in existing default JSON, OpenCode array and Codex TOML launchers while preserving vault paths, custom environment values, pinned launchers and unrelated client settings.
Upgrade notes
- Update SuperSkill, run
superskill setuporsuperskill upgradefrom a terminal where Node and npx work, then restart the AI client. Bun installation still requires Node and npm; its optional postinstall guidance may remain blocked. - Explicit custom PATH values remain unchanged. If the Node installation was moved or removed, use setup with
--forcefor the intended client to regenerate its environment.
Install: npm install -g superskill or via Claude Code /plugin install superskill
Full Changelog: v0.16.0...v0.16.1
v0.16.0
Added
- Shared atomic-rule scope: eight language-independent security, logging, testing, audit and financial-integrity controls, referenced by adapters across all eight supported languages. Retrieval follows verified shared references one hop, deduplicates them and respects the same token budget. The catalog contains 2,257 atomic rules.
- Lazy project-domain routing from jailed
context.mdfrontmatter (routing.domains). Banking guidance loads for explicit banking work or an applicable banking project; ordinary ecommerce, accounting and unrelated documentation work do not automatically load banking methodology. - Task-routed comment-discipline, production-logging and banking packs, plus a compact universal safety/comment policy reserved even at the minimum activation budget.
- Host-owned MCP tool allowlists (
SUPERSKILL_MCP_ALLOWED_TOOLS) and skill bundle pins (SUPERSKILL_SKILL_PINS,SUPERSKILL_REQUIRE_SKILL_PINS). Tool policy is enforced before dispatch and at indirect resource/prompt boundaries. - A restricted retrieval/routing Docker profile and launcher in the repository checkout: digest-pinned base, read-only data mounts, no network egress, non-root execution, dropped capabilities, no-new-privileges and bounded resources. CI and release workflows run real kernel/MCP isolation smoke tests.
- An external metadata-only audit supervisor for the restricted launcher. Exclusive writer locks, validated existing history, file/directory sync, bounded protocol framing and fail-closed forwarding protect evidence without collecting request or response payloads.
Changed
- Skill activation reports
delivered,partial,missing,blocked,fallbackorerror, with per-skill delivery and trust metadata. Missing specialists are disclosed rather than silently downloaded; zero delivered skills for a selected/requested set no longer report success. - Automatic graph task history uses process-keyed opaque labels by default, including minimization of legacy intents in the active graph on activation.
SUPERSKILL_RETAIN_TASK_TEXT=1explicitly enables screened text retention; authored memories and external backups are not silently deleted. - Source-backed principles replace unsupported absolutes with applicable, reviewable guidance. Sixteen held principles were independently sourced and restored; all 25 principles have source metadata. Language-specific logging and documentation rules were revised and independently verified, including removal of blanket comment requirements where no project contract requires them.
- Removed decorative/step-by-step production comments and redundant installer narratives while preserving meaningful contracts, safety rationale, tooling directives and licenses.
Security
- Activation and direct skill/support-file inspection share trust checks. Non-catalog bundles undergo bounded whole-directory scans, file inventory/hash comparison and optional host-pin enforcement; modified, missing, additional or unsafe files are refused. Local manifests and bundled catalog entries are not presented as external attestations or script-execution authorization.
- Prompt-injection screening normalizes tested Unicode/spacing variants and detects the reproduced authority-escalation wording. Scanning remains heuristic; the restricted runtime enforces permissions outside the model.
- MCP exception responses and hardened diagnostics use fixed messages and allowlisted event/code fields. Secret findings no longer include source snippets; quoted credentials, credential URLs and Basic authentication detection were strengthened. Evidence input is scanned before truncation.
- The restricted launcher refuses unsafe mount arguments, remote Docker endpoints, unapproved image pulls, unsafe audit locations and corrupted/partial audit history. Audit failure stops forwarding; arbitrary child diagnostics are withheld. Vault mutations and remote installation are deliberately unavailable in this profile.
Upgrade notes
- Consumers should inspect activation
status, delivery records andisErrorrather than treating a successful transport call as complete specialist coverage. Public error wording is intentionally less revealing. - Restart updated MCP processes to load the new behavior. The version change refreshes the indexed catalog; deliberately pinned installations remain pinned.
- The restricted deployment assets are used from a repository checkout; see
docs/restricted-runtime.md. Host/model permissions, storage retention and institutional compliance remain deployment responsibilities. This release does not claim a transactional banking writer or zero unknown vulnerabilities. - npm publication remains manual. The known upstream
sprintf-jsadvisory in the unused YAML CLI dependency chain remains documented; no incompatible dependency downgrade or advisory suppression was applied.
Verification
- The integrated suite passed 4,037 tests across 228 files with unchanged coverage thresholds. The script suite, rule schemas, native-skill authoring, package boundaries, grammar integrity and version parity are release gates.
- Independent reviewers compiled the 24 revised Bad/Good snippets without skips and exercised targeted behavior; principle verification is source/applicability review, not a claim of measured model efficacy. The catalog-wide schema check retains 18 pre-existing compile-exemption warnings.
- Live restricted-runtime tests prove eight kernel checks and real MCP denial, private routing-state, payload-free audit and audit-failure behavior using synthetic fixtures.
Install: npm install -g superskill or via Claude Code /plugin install superskill
Full Changelog: v0.15.1...v0.16.0
v0.15.1
Fixed
- Native CLI skill validation works in clean, unmapped checkouts without creating a vault project mapping. Mapped workspace roots and all relative-path, symlink, metadata, and required-reference checks remain intact. Added real built-CLI regressions for valid input and escaping references.
- Native authoring-gate failures preserve structured stdout diagnostics alongside stderr warnings, so a SQLite experimental warning cannot hide the rejection reason.
Release notes
- Includes the skill delivery, native validation, resource paging, project-safety, and recovery improvements from 0.15.0; see the full changelog. The first tag's clean-checkout CI failure was corrected without rewriting
v0.15.0; npm publication remains manual. - Release checks pass 3,908 tests in 219 files and 44 offline script tests, with unchanged coverage thresholds. The shipped-skill gate also passes with a fresh, unmapped home and no vault mapping created.
Install: npm install -g superskill or via Claude Code /plugin install superskill
Full Changelog: v0.15.0...v0.15.1
v0.14.0
Added
- Obsidian-native visualization:
graph viz(shorthandsuperskill viz, MCPknowledge_viz) writes four Mermaid architecture notes toprojects/<slug>/architecture/(high-level-architecture,low-level-architecture,data-model-erd,dataflow) and generated code notes toprojects/<slug>/code/<repo-relative path>.md— frontmatter, symbol list,[[wikilink]]imports/imported-by, and the full source in a fenced code block;--opendeep-links Obsidian to the project context. - Session notes emit
[[wikilinks]]to the project context and to code notes for the files touched. - Knowledge index normalizes
[[...]]related values and.tswikilink targets. - Project dashboard note:
graph vizwritesprojects/<slug>/index.mdwith hub links, scoped search/graph hints, the latest decisions/learnings/sessions, and a pointer to the code notes. - Bases views file:
graph vizwritesprojects/<slug>/views.basewith live table views (Decisions, Learnings, Sessions, Tasks, All notes) scoped withfile.inFolder(...)— no global Obsidian config is touched, and deleting the marker line keeps manual edits. graph viz --scope-graph(shorthandsuperskill viz --scope-graph) writespath:projects/<slug>into the vault's.obsidian/graph.jsonso Obsidian's graph view opens scoped to the project.
Changed
- Documentation restructured: the usage manual moved from the README into
docs/guides with a docs index; the README is now a hub. - Code notes are indexed as metadata + edges only — source text does not enter search. Code notes are regenerated on every run; hand-edited architecture notes are preserved.
- Mermaid diagrams render at natural size (
useMaxWidth: false) — large diagrams scroll instead of shrinking. graph viz --openlands on the project dashboard when there is nocontext.md(context → dashboard → architecture note).
Removed
- The HTML visualization stack (
knowledge-graph.html,architecture-diagrams.html,knowledge-graph.canvas, and all CDN/HTML output), theqaCLI command, theqa_vizMCP tool, and the Chrome/playwright QA harness.
Fixed
graph viz --openreports the vault path instead of failing silently when Obsidian cannot be launched.
Install: npm install -g superskill or via Claude Code /plugin install superskill
Full Changelog: v0.13.0...v0.14.0
v0.13.0
Added
- Autonomous legacy repair at MCP server start: managed launchers (JSON + TOML), owned legacy
obsidian-mcp/obsidian-kbaliases, and instruction blocks — including unmarked legacy OpenCode/Cursor files — are reconciled and upgraded to the current format without a manualsetuprun.superskill upgradeperforms the same reconciliation on demand, with--dry-runand--json. setup --checkreports configuration drift read-only, and setup/upgrade dry runs now report what would actually change.- Session coordination hardening: exclusive TTL'd workspace leases (
allow_sharedfor co-tenants), heartbeat file-lease refresh with conflict reporting,expiredsessions with pid/host liveness,listInterrupted(surfaced byresume), and worktree cleanup gated on completion age and live pids. - Incremental knowledge index: a per-file
filestable withuser_versionmigration means only changed notes are re-parsed;removeVaultFileFromIndexkeeps prune/move/delete in sync; extract/capture write through the index and validate item types. - Search recall:
KnowledgeIndex.searchdoes AND-first retrieval with an OR fallback and recency-decayed ranking;graph_traverse resolveacceptsfilesand pre-filters natural-language vault queries. - MCP output bounding: compact JSON by default (
SUPERSKILL_PRETTY=1for pretty), a globalSUPERSKILL_MAX_RESPONSE_BYTEScap (default 64 KB) with explicit truncation markers,read.max_bytes, full-modeproject_context.max_tokens, andlimiton list actions (default 50, cap 500, negatives clamped). - Security: fail-closed skill installs for unknown/warn audits with an explicit
allow_unaudited/--allow-unauditedoverride, audit provenance inskill list/skill status, extended secret patterns (OpenAI, Anthropic, Google, AWS secret keys, Slack webhooks, generic tokens), whole-skill-directory prompt-injection scans, a local vault write audit trail, 0700/0600 telemetry permissions, trust-on-first-use Maven jar hashing, and pinned CDN assets with SRI (no external font requests). - Doctor health checks: version parity (package vs plugin/marketplace), managed-launcher staleness, config backup residue, stale graph/session/cleanup locks, session registry and knowledge-index schema health, and a real worktree-cache probe.
- CI version-parity gate (
npm run check:versions). - Rules: stem-variant
termsMatchmatching (e.g.cache↔caching) across router, principles, and traverse; phase inference scores the earliest matched keyword instead of the first matching group; loader warns on id/filename mismatches and content resolution falls back to the parsed index.
Changed
- MCP tool responses are compact JSON and bounded; error payloads stay uncapped.
writevalidates its mode and snapshots existing content before any replacement, not just explicitoverwrite.- Session registry operations never hold the registry lock across worktree cleanup; stale locks (registry, cleanup, graph) are recovered when their owning pid is dead, and a live pid is never stolen.
- Prune validates retention values (negative/NaN rejected), honors learning/brainstorm/ADR retention, computes
oldestFile, and keeps the knowledge index consistent on archive/delete. - Setup writes are atomic (temp file + revalidation + rename) and ownership-gated: foreign MCP entries are preserved and reported; instruction rewrites are scoped to managed markers so user content survives.
- Telemetry,
knowledge_rebuild, andqa_vizannotations/rate limits corrected; list tools paginate vialimit. graph cross-projecthelp text now states it is project-jailed by design.
Fixed
- Router
fileshints no longer flood selection with language-wide glob matches; keyword evidence outranks glob-only candidates and ties break by keyword/symbol hit counts. session completepersists the session note using the resolved project whenprojectis omitted (MCP clients no longer lose the memory loop).- Knowledge index writes no longer trigger a full project rebuild on the next search;
.stampstate migrates to the per-file table. - Traverse cache is sectioned (code/rules/vault) and written atomically with unique temp files; symbol spans detect stale files instead of returning wrong line ranges.
- Corrupt
graph.jsonis quarantined (graph.json.corrupt-<ts>) instead of permanently bricking mutations; stale graph locks are recovered by pid liveness. resumereports interrupted sessions;onboardcounts installed skills;linkrejects unsafe wikilink targets;snapshotdead branch removed; watchdog--countrejects NaN.- Doctor's worktree-cache check is a real probe instead of a hard-coded
ok.
Removed
- The
preuninstalllifecycle script (npm ≥ 7 never runs uninstall scripts). Usesuperskill teardownto remove MCP entries, instructions, slash commands, and the shared skill.
Install: npm install -g superskill or via Claude Code /plugin install superskill
Full Changelog: v0.12.0...v0.13.0
v0.12.0
Changed
- Published package no longer ships source maps or
.d.tsfiles (filesexclusions) — smaller tarball; local builds keep both. - Tree-sitter grammar wasms are vendored into
dist/lib/codegraph/grammars/at build time from thetree-sitter-wasmsdevDependency (sha256-verified againstMANIFEST.json);tree-sitter-wasmsmoved fromdependenciestodevDependencies, removing ~49 MB from default installs with no language coverage change. playwright-coremoved fromdependenciestodevDependencies: Chrome QA/viz is now opt-in (npm install playwright-core). QA commands fail with install guidance when it is missing, anddoctorreports QA browser availability.doctorvalidates the rules catalog with bounded-concurrency reads (compile checks stay sequential to avoid toolchain races) and gains--fastto skip catalog validation and toolchain probes.doctorcaches catalog validation keyed by a fingerprint of the rules tree (~/.superskill/cache/rules-validation.json); warm runs skip re-parsing ~2,200 files and report the cached age. The explicitvalidateCLI still runs fresh.project_contextnow derives bounded open threads (top 3 ofblocked/partially_completed, deduped, from the five most recent sessions) and the MCP context prompt renders them — parked work recorded at session close is visible at session start, with no separate backlog file to maintain.
Removed
- The deprecated
todocommand layer:todo list|add|completeCLI aliases,todos.mdretention inprune(--todosretention flag), and thetodofrontmatter type.taskremains the single vault task surface. - Committed campaign artifacts:
results.txt,validator.json, andworkstreams/{plan,state}.json; rules-campaign working state is now gitignored andworkstreams/STATUS.mdmoved todocs/authoring/rules-campaign-status.md.
Install: npm install -g superskill or via Claude Code /plugin install superskill
Full Changelog: v0.11.2...v0.12.0
v0.11.2
Fixed
- Repo identity for local-path remotes (
file://, absolute/relative paths): the identity now follows the chain to the source repo's own remote (or its git dir), so local clones share one cache namespace instead of each getting a unique snowflake namespace. Legacy per-path namespaces are renamed into the shared identity on the nextworktree bootstrap(session or worktree-create) orworktree activate, preserving cached content. - Per-worktree cache dirs (
cargo-build/<worktreeKey>) whose worktree path no longer exists are flagged as orphans and promoted from consent to auto tier inworktree gc/hygiene, so age-based reclamation actually reaches them. Worktrees register liveness markers under<repoHash>/.worktrees/via bootstrap andworktree activate. SCCACHE_CACHE_SIZEno longer hardcodes20G(2x the sccache default); it now defaults to10Gand can be overridden withSUPERSKILL_SCCACHE_CACHE_SIZE.
Install: npm install -g superskill or via Claude Code /plugin install superskill
Full Changelog: v0.11.1...v0.11.2
v0.11.1
Fixed
- OpenCode host adapter:
worktree activatenow writes an OpenCode V2 plugin definition (export default { id, setup }registering theshellcreate.beforehook) instead of the V1shell.envfunction form, which OpenCode 2.x rejects with "Plugin must export a default definition with an id and an effect or setup function". The removed Bun$helper is replaced withnode:child_process; the CLI call, JSON merge, and silent-on-failure behavior are unchanged, and a V1server()fallback keeps OpenCode 1.18.29+ working. - Re-run
superskill worktree activatein a repo to regenerate the plugin; the previous file is backed up as<plugin>.bak.superskill. Adapter tests now import the generated module and run the shell hook end-to-end so format drift fails CI.
Install: npm install -g superskill or via Claude Code /plugin install superskill
Full Changelog: v0.11.0...v0.11.1
SuperSkill 0.11.0
Added
- Session-start orchestration with workspace-aware routing, explicit work phases, first-use graph initialization, and release-aware catalog refresh that preserves learned state.
- Completed-session worktree cleanup after verified integration into local main, with active/dirty/locked checkout protection and archival of local graph metadata.
- Local integration guidance for related dependent agent changes before authorized batch pushes.
- Managed MCP launchers follow npm's latest tag on new server starts; managed skill and recognized Markdown instructions refresh at startup. Pinned/custom launchers remain unchanged.
- Generic project architecture and knowledge views with directory/file/symbol traversal and bounded source excerpts.
Fixed
- Cooperative atomic vault updates, concurrent ticket dependency allocation, graph/session ownership locks, and fail-closed session registry validation.
- File- and phase-aware skill routing, bounded compact diagnostics, and isolated session learning.
- Nested Codex trace activity and structured failure detection; documented harness setup contracts and safe legacy migrations.
- Project and installer path confinement, secret rejection/redaction, knowledge-index initialization and cache freshness.
Requirements
- Node.js 22.16+ on the 22.x line, or 24+, with SQLite FTS5. Older runtimes fail with an actionable upgrade message.
- Existing installations should run setup once and restart their MCP server to migrate managed launchers. Future latest-tag updates take effect on subsequent starts, not during active sessions.
Verification
- 2,219 tests passed on macOS with Node.js 22.16.0; coverage thresholds, build and type checks passed.
- 42 version-specific checks and the exact 0.11.0 packaged MCP smoke passed.
- Isolated npm-registry smoke confirmed next-launch updates using the same cache.
Upgrade
npm install -g superskill@0.11.0
superskill setupRestart MCP servers and begin a new harness session. Managed launchers then follow the npm latest tag on future starts; deliberate version pins and custom launchers are preserved.
v0.10.0
Added
- Deep contracts adopted from community skills, alongside the pstack-derived
catalog/principles/*:optimizer/adhd(action-first replies, banned preamble/recap/closer patterns, ≤5 grouped lists, evidence labels, auto-clarity escapes, intensity levels) andpipeline/lazy-build(reuse → stdlib → platform → minimal ladder, root-cause rule, hard safety floors,ponytail:tradeoff markers), referenced from the always-onpipeline/norms.
Fixed
- Router: triggered
pipelineskills (plan,tdd,verify,lazy-build) now load in every phase; previously the pack was never allowed during task matching, so their triggers could not fire.
Install: npm install -g superskill or via Claude Code /plugin install superskill
Full Changelog: v0.9.0...v0.10.0