-
Notifications
You must be signed in to change notification settings - Fork 44
Releases: luongnv89/asm
Releases · luongnv89/asm
v2.11.0
v2.11.0 — 2026年06月09日
Features
- Support root skill index entries — skill index now accepts entries at the root level of indexed repositories, allowing a single repo to contribute skills without nested directories (#304) — @luongnv89
- Add briiirussell cybersecurity-skills source to the curated skill index — 1 new skill source for cybersecurity-focused agent skills (#303) — @luongnv89
- Add badlogic/pi-skills source to the curated skill index — 1 new skill source from the pi-skills repository (#302) — @luongnv89
Chores
- Refresh indexed skill sources — re-ingested all enabled repos in
data/skill-index-resources.json(#306) — @luongnv89
Full Changelog: v2.10.0...v2.11.0
Assets 2
v2.10.0
v2.10.0 — 2026年06月03日
Features
- New
find-me-skillsskill — a conversational skill for users who have a goal but don't know which Agent Skills they need. It collects intent, confirms the user's situation, queries the liveasmcatalog (asm search --available --json), dedupes and explains the matches, lays out a step-by-step path with per-step inputs/outputs, and on approval emits an installable BundleManifest the user runs withasm bundle install ./file.json. Uses the CLI as the runtime discovery surface, so it works on any machine — not just the asm repo (#281) — @luongnv89
Documentation
- Fix the stale landing docs page — correct the Node/npm prerequisite, add the
piprovider (19), documentasm disable/asm enable, and align on the canonicalauthorfield — @luongnv89 - Backfill v2.7.0–v2.9.0 in
docs/CHANGELOG.mdand refresh the README maintained line — @luongnv89
Chores
- Refresh indexed skill sources — re-ingested all enabled repos in
data/skill-index-resources.json(31 updated, 0 unchanged, 0 failed, 1 skipped) (#299) — @luongnv89
Full Changelog: v2.9.0...v2.10.0
Assets 2
v2.9.0
v2.9.0 — 2026年05月29日
Features
asm disable <target>/asm enable <target>— curate the active skill set without uninstalling, so agents stop accidentally invoking unintended or conflicting skills (e.g. two code-review skills, or the word "workflow" in conversation triggering a workflow skill). Disabling renames an instance'sSKILL.md→SKILL.md.disabledso both asm's scanner and external agents stop discovering it; enabling reverses the rename. Targeting supports individual names, wildcards ('workflow*','*-review'), prefixes (openspec:,asc-), bulk (--all), and--tool/--scopefilters. State persists in~/.config/agent-skill-manager/skill-state.jsonkeyed by (skill ×ばつ tool ×ばつ scope).asm listreconstructs disabled instances and renders them dimmed with a[disabled]tag; JSON output carries adisabledflag. Symlinked multi-provider installs share oneSKILL.md, so a toggle honestly affects every tool sharing that source and warns accordingly (#91) — @luongnv89
Documentation
- Bump landing-page skill count to 3,400+ in the page, og, and twitter meta descriptions (catalog now holds 3,493 skills) — @luongnv89
Chores
- Remove residual Bun references across the project —
install.shrewritten from Bun to npm (checks Node ≥ 18 / npm ≥ 9 and instructs on failure rather than auto-installing a runtime);docs/DEPLOYMENT.md,docs/DEVELOPMENT.md,CONTRIBUTING.md,prd.md, and the bug-report template corrected to Node/npm; skill/agent docs pointbun run preindex→npm run preindex; vestigial Bun-absence test guards removed and argv fixtures switched frombuntonode. TheBun.spawn/Bun.envpatterns insrc/security-auditor.tsandsrc/installer.tsare intentionally kept as detection vocabulary for auditing third-party skills. Also corrected stale@opentui/corereferences left by the ink migration and restored dropped eval/publish andbun:ffibuild-leak test coverage (#293) — @luongnv89
Full Changelog: v2.8.0...v2.9.0
Assets 2
v2.8.0
v2.8.0 — 2026年05月20日
Features
asm uninstall <name>— new command with full reverse-installation logic. Supports-s <scope>and-t, --tool <provider>filters, automatically relocates the real folder to another surviving provider when the canonical host is being removed, cleans up empty parent dirs, and shows scope/tool/relocation info in the confirmation prompt (#279) — @luongnv89- New
refresh-indexskill — re-ingests every already-enabled repo indata/skill-index-resources.jsonin one guided workflow (sync, classify into updated/unchanged/failed/skipped, verify catalog, then a confirmation-gated commit + PR). Inverse ofskill-index-updater(#290) — @luongnv89 - Reorder install tool list by user preference —
DEFAULT_PROVIDERSnow leads with claude, codex, opencode, pi, hermes, openclaw; added thepiprovider;mergeWithDefaultsnow inserts newly-introduced default providers in their canonical priority slot (anchored to the nearest preceding default), so existing users see the new order on upgrade (#291) — @luongnv89 - Repo-derived bundles — repo indexing now emits zero/one/multiple bundle records per repository, with explicit bundle metadata merged with best-effort inference. Bundles are exposed via CLI bundle load/list and the website bundle catalog; provenance to source repo and skill paths is preserved. 196 inferred bundles refreshed across 28 repos (#275) — @luongnv89
Bug Fixes
asm uninstall <name> -t <provider>now preserves the.skill-lock.jsonentry (source-tracking metadata:source,commitHash,ref) when other providers still have the skill installed, so subsequentasm list/asm updatekeep working on the survivors. When a real-folder relocation moves the canonical home to a kept provider the lock entry'sproviderfield is repointed; when no relocation happened the entry is left intact. The full-uninstall path (no-t) still drops the entry as before (#284) — @luongnv89- Uninstaller now cleans up partial state on EXDEV cp fallback failure — when cross-device move fails mid-copy, the partial destination is removed instead of being left as half-written content (#283) — @luongnv89
- Uninstaller surfaces relocation failures via non-zero exit code — relocation errors are no longer swallowed, so CI and scripted callers see the failure (#282) — @luongnv89
fix(test):Bundle modify/export tests no longer leak installed skill copies into the user's real~/.claude/skills/. Each test creates its source dir as<tmpRoot>/<frontmatter-name>/so the installer's destination basename matches the cleanup lookup; a per-testassertSkillUninstalledguard fails the test if the install survives, plus a one-shotbeforeAllsweep removes anycli-skill-for-*leftovers from prior runs (#288) — @luongnv89fix(ci):Replace apt-based trivy install with a binary download to avoid Azure mirror timeouts in the security workflow
Documentation
- Document
asm bundlecommand and the predefined bundles in the README (#202) — @luongnv89
Chores
- Supply-chain hardening across npm and GitHub Actions — pinned versions, ignore-scripts hardening, lockfile checks, dependency cooldown declaration (#277) — @luongnv89
- Refresh indexed skill sources across all 30 curated repos — net skill count updated across the catalog (#295) — @luongnv89
Full Changelog: v2.7.0...v2.8.0
Assets 2
v2.7.0
Changelog
v2.7.0 — 2026年05月10日
Features
- Add Quick Start section to the catalog skill detail page — guided three-step workflow (Security Check, Quality Evaluation, Install) with copy-to-clipboard buttons (#273) — @luongnv89
- Add
romainsimon/paperasseto the curated skill index — 6 French bureaucracy skills (commissaire-aux-comptes, comptable, controleur-fiscal, fiscaliste, notaire, syndic) covering administrative procedures and document handling (#267, #271) — @luongnv89 - Re-sync
coreyhaines31/marketingskills— 1 new co-marketing skill added (#268) — @luongnv89
Bug Fixes
fix(test):Update skill-detail tests for UI changesfix(test-spawn):Kill children on parent disconnect
Documentation
docs(security):Skill audit for issue #269 — security scan of 284 installed skills against prompt injection and credential theft risks, zero strict-risk hits found (#270) — @luongnv89
Chores
- Re-sync all 30 curated skill sources — net skill count updated across the catalog
- Clean up repository and expand
.gitignore— removed tracked backup files, added dev tool directories (.cursor,.aider,.continue,.windsurf,.zed,.fleet) and build/cache log patterns
Full Changelog: v2.6.2...v2.7.0
v2.6.2 — 2026年05月07日
Chores
- Index 2 new curated skill sources —
warpdotdev/oz-skills(15 skills for Warp AI agents) andentireio/skills(5 cross-agent skills for context and session handoff); regenerated catalog totals 7036 skills across 31 repos (#264) — @luongnv89 - Dedupe same-name skills within a single repo by directory priority — when one repo ships a skill at multiple supported install paths, keep exactly one entry using a deterministic order (
skills/>.claude/skills/>.agent/skills/and.agents/skills/> first occurrence); cross-repo duplicates remain independent and dropped paths are logged via--verbose(#265, #266) — @luongnv89
Full Changelog: v2.6.1...v2.6.2
v2.6.1 — 2026年05月03日
Bug Fixes
asm linknow handles non-existent paths and directory symlinks gracefully — bare registry-style names (e.g.asm link code-review) and missing paths exit 1 with a polished error and anasm install <name>suggestion instead of crashing with a Node stack trace; the top-level path probe now usesstatinstead oflstatso directory symlinks are followed (re-linking an already-linked skill works), while inner-loop entry classification still useslstatto avoid traversing nested symlinks (#262) — @luongnv89
Full Changelog: v2.6.0...v2.6.1
v2.6.0 — 2026年05月01日
Features
- Add
skill-upstream-prbuilt-in skill — forks a target repo viagh, delegates the improvement loop toskill-auto-improver, and opens a friendly suggestion PR upstream with anasm evalbefore/after metrics table; mandatory preview/approval before any public action and a minimum-delta check skip trivial PRs (#244) — @luongnv89 asm evalnow acceptsauthoras the canonical frontmatter field, withcreatorretained as a legacy alias — autofixer writesauthor:going forward, and legacy skills declaringcreator:keep their score with no migration required (#243) — @luongnv89asm evalskill-best-practiceprovider (v1.0.0 → v1.1.0) — align with the latestskill-creatorstandard (v1.7.1): addxhighto the effort enum, warn when descriptions exceed the 250-char runtime budget (truncation chops the negative-trigger clause), requiremetadata.version(semver-formatted), warn whenmetadata.authoris missing, and require frontmatternameto match the parent directory (#246) — @luongnv89skill-auto-improver(v0.2.0 → v1.0.2) — adapt the skill itself and its workflow to theskill-creatorstandard, restructured around two gates: Gate 1 (skill-creator must-pass floor) and Gate 2 (asm-eval 85/8 quality floor); adds a Phase 1 frontmatter-normalization step afterasm eval --fix, newreferences/skill-creator-checklist.mdandreferences/frontmatter-audit.mdplaybooks, dual-gate report layout, and per-loopmetadata.versionbump for the target skill (#253) — @luongnv89- Add
Paramchoudhary/ResumeSkillsas a curated source in the skill-index — 20 resume optimization and job-search skills (76SKILL.mdentries including cross-platform mirrors) covering ATS optimization, bullet writing, cover letters, LinkedIn profiles, interview prep, salary negotiation, and executive/academic/creative resumes (#256) — @luongnv89
Bug Fixes
- Website list now surfaces a muted
relPathsub-label on rows whoseowner/repo::namecollides — plugin-bundle repos ship the same skill name at multiple install paths, and identical-looking cards (matching name, owner/repo, description, badges) made the duplicates indistinguishable; non-colliding rows are unchanged (#241) — @luongnv89 asm installnow treatsskills/x-skilland./skills/x-skillidentically — when the input contains a path separator and resolves to an existing directory in the current working directory, it is treated as a local path rather than dispatched to the registry as a scoped name (#249) — @luongnv89asm install --pathand--allnow compose correctly — when--allis set and the resolved path contains skill subdirectories, ASM scans subdirectories instead of failing on missingSKILL.md; when a subpath is supplied with--all, duplicate detection is scoped to that prefix so unrelated dupes don't abort the install; the zero-skills error message is also scope-aware (#251, #252) — @luongnv89
Chores
- Refresh the bundled
skills/skill-creator/skill to the upstream version — pulls in updated references, scripts, and templates used byskill-auto-improverandskill-upstream-pr— @luongnv89 - Add a local-first security baseline plus CI mirror — pre-commit hook runs
gitleaks(secrets),trivy(dependencies), andsemgrep(static analysis) offline, exits non-zero on HIGH/CRITICAL, and writes JSON + Markdown reports undersecurity/;.github/workflows/security.ymlmirrors the same runner on push tomainand pull requests, with the trivy DB cache keyed on a weekly stamp (#257) — @luongnv89 - Bring
skill-index-updaterup to theskill-creatorstandard — moveREADME.mdunderdocs/, normalize frontmatter (metadata.version+metadata.author, drop top-levelversion), rewrite the description under the 250-char runtime budget with a negative-trigger clause, and addWhen to Use/Example/Expected Output/Edge Casessections;asm eval76 (C) → 97 (A) with every category >= 8 (#258) — @luongnv89 - Re-sync all 27 enabled skill sources via
bun run preindex— picks up upstream additions, removals, version/description bumps, and refreshedevalSummary+tokenCountfor every skill; net delta +51 skills (6797 → 6848) (#260) — @luongnv89
Full Changelog: v2.5.0...v2.6.0
v2.5.0 — 2026年04月24日
Features
- Add a bundle builder UI to the catalog website — interactive cart flow lets users browse skills, add any to a persistent (localStorage) cart visible from the header across all routes, fill bundle metadata (name/description/author/tags), then either export a
BundleManifest-conforming.jsonor publish a pre-filled feature request issue to promote the bundle. Validation mirrors the CLI'svalidateBundle()rules and truncation keeps the issue URL under GitHub's ~8KB pre-fill limit (#238, #240) — @luongnv89 - Add
google/skillsandantonbabenko/terraform-skillas curated sources in the skill-index — 13 Google product/technology skills plus a Terraform/OpenTofu skill for AI agents (#237) — @luongnv89 asm evalnow warns whenREADME.mdsits at the skill root — flags a common packaging mistake that previously slipped through scoring (#227, #234) — @luongnv89- Redesign the website
/changelogpage with an editorial release-log aesthetic — two-column layout with a Fraunces + Instrument Serif masthead, a JetBrains Mono sticky version index, monospace metadata strip, outlined tag pills, and numbered receipt-style entries separated by dashed rules; self-scoped.cl-*styles preserve existingENTRIESdata verbatim and work in both light and dark themes — @luongnv89
Bug Fixes
- Deploy Skill Catalog workflow now also triggers on changes to
website-src/**andpackage.json— previously release commits that bumped only those paths would not fire the workflow, leaving the live site stale (e.g. the v2.4.0 release left the nav pill showing 2.3.0 becauseskills.min.jsonwas never regenerated on CI) — @luongnv89
Chores
- Remove the
eu-project-opspredefined website bun...
Assets 2
v2.6.2
v2.6.2 — 2026年05月07日
Chores
- Index 2 new curated skill sources —
warpdotdev/oz-skills(15 skills for Warp AI agents) andentireio/skills(5 cross-agent skills for context and session handoff); regenerated catalog totals 7036 skills across 31 repos (#264) — @luongnv89 - Dedupe same-name skills within a single repo by directory priority — when one repo ships a skill at multiple supported install paths, keep exactly one entry using a deterministic order (
skills/>.claude/skills/>.agent/skills/and.agents/skills/> first occurrence); cross-repo duplicates remain independent and dropped paths are logged via--verbose(#265, #266) — @luongnv89
Full Changelog: v2.6.1...v2.6.2
Assets 2
v2.6.1
v2.6.1 — 2026年05月03日
Bug Fixes
asm linknow handles non-existent paths and directory symlinks gracefully — bare registry-style names (e.g.asm link code-review) and missing paths exit 1 with a polished error and anasm install <name>suggestion instead of crashing with a Node stack trace; the top-level path probe now usesstatinstead oflstatso directory symlinks are followed (re-linking an already-linked skill works), while inner-loop entry classification still useslstatto avoid traversing nested symlinks (#262) — @luongnv89
Full Changelog: v2.6.0...v2.6.1
Assets 2
v2.6.0
v2.6.0 — 2026年05月01日
Features
- Add
skill-upstream-prbuilt-in skill — forks a target repo viagh, delegates the improvement loop toskill-auto-improver, and opens a friendly suggestion PR upstream with anasm evalbefore/after metrics table; mandatory preview/approval before any public action and a minimum-delta check skip trivial PRs (#244) — @luongnv89 asm evalnow acceptsauthoras the canonical frontmatter field, withcreatorretained as a legacy alias — autofixer writesauthor:going forward, and legacy skills declaringcreator:keep their score with no migration required (#243) — @luongnv89asm evalskill-best-practiceprovider (v1.0.0 → v1.1.0) — align with the latestskill-creatorstandard (v1.7.1): addxhighto the effort enum, warn when descriptions exceed the 250-char runtime budget (truncation chops the negative-trigger clause), requiremetadata.version(semver-formatted), warn whenmetadata.authoris missing, and require frontmatternameto match the parent directory (#246) — @luongnv89skill-auto-improver(v0.2.0 → v1.0.2) — adapt the skill itself and its workflow to theskill-creatorstandard, restructured around two gates: Gate 1 (skill-creator must-pass floor) and Gate 2 (asm-eval 85/8 quality floor); adds a Phase 1 frontmatter-normalization step afterasm eval --fix, newreferences/skill-creator-checklist.mdandreferences/frontmatter-audit.mdplaybooks, dual-gate report layout, and per-loopmetadata.versionbump for the target skill (#253) — @luongnv89- Add
Paramchoudhary/ResumeSkillsas a curated source in the skill-index — 20 resume optimization and job-search skills (76SKILL.mdentries including cross-platform mirrors) covering ATS optimization, bullet writing, cover letters, LinkedIn profiles, interview prep, salary negotiation, and executive/academic/creative resumes (#256) — @luongnv89
Bug Fixes
- Website list now surfaces a muted
relPathsub-label on rows whoseowner/repo::namecollides — plugin-bundle repos ship the same skill name at multiple install paths, and identical-looking cards (matching name, owner/repo, description, badges) made the duplicates indistinguishable; non-colliding rows are unchanged (#241) — @luongnv89 asm installnow treatsskills/x-skilland./skills/x-skillidentically — when the input contains a path separator and resolves to an existing directory in the current working directory, it is treated as a local path rather than dispatched to the registry as a scoped name (#249) — @luongnv89asm install --pathand--allnow compose correctly — when--allis set and the resolved path contains skill subdirectories, ASM scans subdirectories instead of failing on missingSKILL.md; when a subpath is supplied with--all, duplicate detection is scoped to that prefix so unrelated dupes don't abort the install; the zero-skills error message is also scope-aware (#251, #252) — @luongnv89
Chores
- Refresh the bundled
skills/skill-creator/skill to the upstream version — pulls in updated references, scripts, and templates used byskill-auto-improverandskill-upstream-pr— @luongnv89 - Add a local-first security baseline plus CI mirror — pre-commit hook runs
gitleaks(secrets),trivy(dependencies), andsemgrep(static analysis) offline, exits non-zero on HIGH/CRITICAL, and writes JSON + Markdown reports undersecurity/;.github/workflows/security.ymlmirrors the same runner on push tomainand pull requests, with the trivy DB cache keyed on a weekly stamp (#257) — @luongnv89 - Bring
skill-index-updaterup to theskill-creatorstandard — moveREADME.mdunderdocs/, normalize frontmatter (metadata.version+metadata.author, drop top-levelversion), rewrite the description under the 250-char runtime budget with a negative-trigger clause, and addWhen to Use/Example/Expected Output/Edge Casessections;asm eval76 (C) → 97 (A) with every category >= 8 (#258) — @luongnv89 - Re-sync all 27 enabled skill sources via
bun run preindex— picks up upstream additions, removals, version/description bumps, and refreshedevalSummary+tokenCountfor every skill; net delta +51 skills (6797 → 6848) (#260) — @luongnv89
Full Changelog: v2.5.0...v2.6.0
Assets 2
v2.5.0
v2.5.0 — 2026年04月24日
Features
- Add a bundle builder UI to the catalog website — interactive cart flow lets users browse skills, add any to a persistent (localStorage) cart visible from the header across all routes, fill bundle metadata (name/description/author/tags), then either export a
BundleManifest-conforming.jsonor publish a pre-filled feature request issue to promote the bundle. Validation mirrors the CLI'svalidateBundle()rules and truncation keeps the issue URL under GitHub's ~8KB pre-fill limit (#238, #240) — @luongnv89 - Add
google/skillsandantonbabenko/terraform-skillas curated sources in the skill-index — 13 Google product/technology skills plus a Terraform/OpenTofu skill for AI agents (#237) — @luongnv89 asm evalnow warns whenREADME.mdsits at the skill root — flags a common packaging mistake that previously slipped through scoring (#227, #234) — @luongnv89- Redesign the website
/changelogpage with an editorial release-log aesthetic — two-column layout with a Fraunces + Instrument Serif masthead, a JetBrains Mono sticky version index, monospace metadata strip, outlined tag pills, and numbered receipt-style entries separated by dashed rules; self-scoped.cl-*styles preserve existingENTRIESdata verbatim and work in both light and dark themes — @luongnv89
Bug Fixes
- Deploy Skill Catalog workflow now also triggers on changes to
website-src/**andpackage.json— previously release commits that bumped only those paths would not fire the workflow, leaving the live site stale (e.g. the v2.4.0 release left the nav pill showing 2.3.0 becauseskills.min.jsonwas never regenerated on CI) — @luongnv89
Chores
- Remove the
eu-project-opspredefined website bundle and update bundle tests and the website changelog bundle count to match the reduced set — @luongnv89
Full Changelog: v2.4.0...v2.5.0
Assets 2
v2.4.0
v2.4.0 — 2026年04月23日
Features
- Drop Bun from the toolchain — replace
@opentui/corewithinkfor the TUI so CLI and TUI both run on Node >=18 alone, removing thebun:ffinative dependency (#224, #226) — @luongnv89 - Make
bunoptional at install time — CLI runs on Node, Bun is only required for interactive TUI mode (#221, #223) — @luongnv89 - Add
skill-auto-improverbuilt-in skill — eval-driven improvement loop that runsasm eval, applies deterministic--fix, then iterates per-category playbook edits until a skill clears the 85/8 quality floor (overallScore > 85 AND every category >= 8) or stops with a blocker report. Self-dogfooded: scores 100/100 with every category at 10/10 (#209, #218) — @luongnv89 - Ship 5 curated pre-defined bundles with ASM for popular workflows (
frontend-dev,devops,ios-release,content-writing,eu-project-ops) — add--predefinedflag onasm bundle listto show shipped bundles (#206, #211) — @luongnv89 - Add
asm bundle modifyandasm bundle exportsubcommands — non-interactive editing via--add,--remove,--description,--author,--tags, plus an interactive prompt mode and JSON export with--force/--json(#204, #205, #208) — @luongnv89 - Rewrite the ASM catalog website on React + Vite + Tailwind + shadcn/ui — replaces the 4.4k-line single-file
index.html, retains full feature parity (catalog list, category tabs, facets, repo/sort selects, MiniSearch prefix + fuzzy search, pagination, bundle list, skill detail), and introduces a NeuronWiz-style sidebar + detail two-pane layout for catalog and bundles (#228, #229, #230, #231) — @luongnv89 - Add
/bundlespage to the ASM catalog website — each bundle card shows name, description, tags, included skills, and a copy-paste install command; deploy pipeline triggers ondata/bundles/**changes (#207, #215) — @luongnv89 - Add
/docsand/changelogSPA pages to the React website so header nav stays internal instead of bouncing to GitHub — @luongnv89 - Consolidate mobile header actions (theme toggle, GitHub link, nav items) into a single burger menu at
<=768pxwith aria-expanded, aria-controls, Escape-to-close, and outside-click dismissal (#216, #217) — @luongnv89 - Pin
skill-auto-improverto the top of the catalog as a featured skill, with a distinct visual treatment (#219) — @luongnv89 - Restore full website nav (Docs, Changelog, version pill, GitHub star count) and switch the catalog sidebar to
react-windowvirtualization — cuts click latency on the 6,783-skill catalog from ~10s to instant (#232) — @luongnv89 - Use the real ASM nexus logo in the website header — @luongnv89
Performance
- Split
catalog.jsoninto a compact list + a MiniSearch index — faster initial load and smaller per-request payloads on the website (#214, #220) — @luongnv89
Bug Fixes
- Include
relPathin the catalog dedup key so plugin-bundle variants aren't dropped — recovers ~3k installable targets that theowner/repo::namekey had silently collapsed; adds regression tests assertingtotalSkills === skills.lengthand uniqueinstallUrlper entry (#201, #203) — @luongnv89 - Opt into React Router v7 future flags (
v7_startTransition,v7_relativeSplatPath) to silence v6 deprecation warnings — @luongnv89 - Import test accounts for missing providers so the test suite runs cleanly when optional providers aren't installed — @luongnv89
Changed
- Rename eval provider ID
skill-creator→skill-best-practiceto avoid collision with the real Anthropicskill-creatorskill; include warning-severity checks in the score denominator; add per-check√/×ばつ/⚠breakdown under each extra provider's score line — @luongnv89
Testing
- Isolate publisher and import tests from host
ghCLI and skill-provider state via afakeGhCli()helper — removes five flaky tests that depended on the developer's local environment (#167, #200) — @luongnv89 - Deflake runner timing assertions by bumping sleeps to 20ms and assertions to
>=10msfor headroom againstMath.roundjitter — @luongnv89 - Stub
ResizeObserverin jsdom smoke tests soreact-windowv2 renders under Vitest — @luongnv89
Chores
- Ignore
.agents/directory in git — @luongnv89
Full Changelog: v2.3.0...v2.4.0