Skip to content

Releases: kensaurus/skills

v2.7.0 — Notification hook, status line, skill writing pass

Choose a tag to compare

@kensaurus kensaurus released this 19 Oct 02:06
95c89e5

Summary

Claude Code sessions tell you when they need you, every skill keeps its description in the listing, and the skills read the way the 2026-10 authoring guidance asks (ADR-0015).

Claude Code installer (#49)

  • Desktop Notification hook (hooks/notify.mjs): permission_prompt, idle_prompt, agent_needs_input, agent_completed. notify-send / osascript / WinRT toast, no shell, always exit 0.
  • Status line (hooks/statusline.mjs): model, folder, branch, context %, cost, five-hour usage, session name. Reads the branch from .git/HEAD (worktree-aware), spawns nothing. Set only when you have no statusLine.
  • skillListingBudgetFraction: 0.03 when unset, so the model sees every skill's description instead of bare names.
  • All merged into ~/.claude/settings.json in one write with the Stop hook; your own hooks, status line and budget survive. --only hooks / --only statusline select; --only skills,commands,agents,rules skips.
  • Claude Code no longer receives a commands/*.md whose name is also a skill (the skill wins there); older copies are pruned.

Skill writing pass

  • 71 skills gain a "This skill vs neighbors" table, only where routing overlaps; 22 isolated skills stay lean.
  • Every workflow-* skill carries a copyable checklist indexing its own phases.
  • Trigger clauses for the four descriptions that had none; argument-hint on research and audit-responsive.
  • New gate scripts/check-reference-toc.mjs: Contents list over 100 lines, references one level deep, relative links resolve. Six Contents lists added, three broken links repaired.
  • Playbook T9 (progressive-disclosure hygiene) and T10 (copyable checklist); when_to_use and dated reads deliberately not adopted.

Install

npx @kensaurus/skills --all
npx @kensaurus/skills --verify --all

Full notes: CHANGELOG.md

v2.6.0 — Codex CLI and Gemini CLI get the skills

Choose a tag to compare

@kensaurus kensaurus released this 11 Oct 00:02
62df0a1

Codex CLI and Gemini CLI get the skills, and the README works for any stack and
any agent.

Added

  • --codex and --gemini install the skills. Both tools now read
    SKILL.md skills, and both document ~/.agents/skills as a user skills
    folder: Codex's only user scope
    (docs), and the Gemini alias
    that takes precedence over ~/.gemini/skills
    (docs). Both pages were read
    2026-10-11. The installer writes one shared copy of this pack's skills there,
    once per run. When Cursor is also a target, the Cursor mirror's copy is
    reused. That mirror copies all of ~/.cursor/skills, your own skills
    included. --dry-run lists each skill, --verify hash-checks
    them, --skill <name> installs one, and --only rules skips them.
    --no-agents-mirror now means nothing goes to ~/.agents/skills, with a
    warning that Codex and Gemini get no skills. AGENTS.md, GEMINI.md, the
    portable commands, and their .bak-<stamp> backups are unchanged. The skill
    routing index is still left out of the merged file.
  • scripts/test-install.mjs covers the change:
    • the skill count in ~/.agents/skills;
    • no ~/.gemini/skills;
    • no Cursor builtins;
    • an idempotent re-run with no backups;
    • --verify passes, then fails on a tampered file;
    • --dry-run writes nothing;
    • --only rules, --skill, an unknown --skill (exit 1), and --no-agents-mirror;
    • a foreign skill survives a re-run and a Cursor --clean.
  • Workflow chains in frontmatter (ADR-0014).
    Mushi Mushi runs a workflow skill as a pipeline of the skills it calls, but
    it found them by scanning the body for skills/<slug>/SKILL.md paths, which
    the workflows no longer write, so every workflow ran as one step. Each
    workflow that runs other skills now declares them as
    metadata.chain: "a b c", in run order, inside the Agent Skills spec (string
    values only). Optional steps, routers and "see also" mentions stay out.
    validate-skills fails on an unknown or repeated slug.
    • workflow-build-feature: workflow-spec-tdd test-unit test-playwright workflow-pr
    • workflow-fix-and-ship: debug-error test-playwright workflow-pr
    • workflow-quality-gate: test-red-team audit-security audit-bundle-size audit-performance test-unit
    • workflow-launch-ready: enhance-web-seo enhance-pwa audit-bundle-size audit-i18n workflow-quality-gate deploy-verify iterate-post-launch
    • workflow-gtm: the seven-step sequence, plan-gtm through iterate-gtm-weekly
    • workflow-release-prep: audit-code-review workflow-git-commit workflow-pr
  • workflow-mobile-native-uiux: the end-to-end native UI/UX run on an
    existing Capacitor, Expo, or React Native app. Baseline screenshots and
    scorecard, then enhance-capacitor-ui (hybrid only) →
    mobile-capacitor-platform (Capacitor only) → enhance-mobile-native-feel →
    audit-accessibility → audit-responsive → mobile-emulator-test →
    workflow-pr, on one branch, ending in one PR that says whether a store
    build is needed.

Changed

  • README rewritten for a coder on any stack and any agent. It now has:

    • a three-command quickstart: dry run, install, verify;
    • a support matrix for Claude Code, Cursor, Codex CLI, Gemini CLI, and any
      SKILL.md agent via the skills CLI, with a cited doc for every path;
    • a table of every path the installer writes and what happens when a file
      is already there;
    • what the Stop hook does and how to skip or remove it;
    • which rules assume React, Next.js, or Supabase, and how to leave them out;
    • verify, update, rollback, and manual uninstall steps;
    • troubleshooting for Windows locks and CRLF, existing files, Codex's skill
      listing budget, Codex's removed custom prompts, CODEX_HOME, and Gemini's
      consent prompt and Antigravity CLI notice.

    Removed:

    • the skills.sh install-count badge;
    • unverified model and version claims;
    • every unguarded count. The counts left are the phrases
      check-skill-count rewrites.
  • Re-rendered the hero, OG, architecture, and pieces images. They said 160
    skills, and the architecture image showed Codex and Gemini without skills.

  • Installer output:

    • the --verify hint names the targets you installed;
    • the skill/command name-clash note prints only for Cursor and Claude Code;
    • Gemini's hint uses /memory reload and /skills reload, the commands its
      docs name.
  • GETTING-STARTED, DISTRIBUTION, and MODEL-AND-EFFORT describe the Codex and
    Gemini install as it is now.

  • Mobile skills checked against 2026 primary sources (Apple HIG, Android 15
    and 16 behavior changes, Google Play target-SDK policy, Capacitor 8 docs and
    changelog, WCAG 2.2, MDN compat data, Expo SDK 54–58 changelogs; read
    2026-10-08). Each skill now owns one job and points to the others:

    • mobile-capacitor-platform owns the shell plumbing: a Native shell
      plumbing
      table (SystemBars and safe-area CSS, dead StatusBar config,
      keyboard resize, splash, Android back, haptics defaults, large screens),
      each row with a device probe and a done line; Capacitor 8, targetSdk 36,
      and Xcode 26 floors with their dates.
    • enhance-mobile-native-feel: Android back is part of the chrome step and a
      scorecard gate; Expo edge-to-edge is mandatory from SDK 54 (was "SDK 53+
      default"); Capacitor's impact() defaults to Heavy; Liquid Glass stays
      in the control layer; the Capacitor edge-to-edge block moved to its owner.
    • design-mobile-first: the WCAG 2.2 rules it lacked — 2.5.8 target-size
      floor (24 px) under the 44 px goal, 2.5.7 tap alternatives for every drag,
      2.4.11 scroll-padding under fixed bars; dvh sheets with a close button;
      a probe table replaces the one-line validation.
    • audit-accessibility claimed WCAG 2.2 AA but checked none of the AA
      criteria new in 2.2. It now probes 2.4.11, 2.5.7, 2.5.8, and 3.3.8 and
      reports them.
    • plan-mobile-readiness: a thin web-view app is a Guideline 4.2
      rejection and app-generator output is 4.2.6, not 2.5.2 (downloaded
      code, now in plan-capacitor-hardening's OTA pillar). The "25%" figure
      is now cited (Apple Newsroom, May 2025: over 1.9 M of 7.7 M rejected in 2024). Adds targetSdk 36 (Play,
      2026-08-31), the Xcode 26 upload floor (2026-04-28), and age-rating answers.
    • "Capacitor 8.3.2+" was replaced everywhere: SystemBars exists since 8.0.0
      and its inset fixes continued through 8.5.2, so the skills now say "latest 8.x".
    • audit-responsive adds phone-landscape and tablet cells for native apps
      (Android 16 ignores orientation locks at ≥ 600dp); mobile-emulator-test
      gains adb probes for back, font scale, reduce motion, large screen, and nav
      mode.

Fixed

  • --clean no longer wipes all of ~/.agents/skills. The Cursor mirror
    deleted the whole folder, with no backup, before copying. That folder is
    shared with Codex, Gemini, and other installers such as npx skills add -g.
    A --clean now removes only the skill folders this pack ships.
  • --codex and --gemini stamped "this tool has no skills loader" into the
    generated AGENTS.md and GEMINI.md.
    The header now points at
    ~/.agents/skills. Existing installs get one .bak-<stamp> copy on their
    next run.
  • --skill <name> --codex printed "no skills loader" and did nothing. It
    now installs that skill, and an unknown name exits 1, as it does for Cursor
    and Claude Code.
  • scripts/shorten-skill-descriptions.mjs clipped mid-quote. A clip inside
    a quoted trigger or a parenthetical left it open ("tidy.), and trailing
    / or → survived (Motion /.). It now drops the dangling opener and those
    separators; --self-test runs in validate.yml.
  • plan-rls-audit's description again carries the service_role key and
    security-advisor triggers its body and the cheatsheet promise, at no listing
    cost.
  • Review copy fixes: .env.example lost its orphaned fal.ai note, the
    DISTRIBUTION clone one-liner is copy-pasteable, mcp/README.md names
    SUPABASE_PROJECT_REF, the trigger cheatsheet lists each skill once, and
    llms.txt calls plan-* planning skills, not audit skills.

v2.5.0

Choose a tag to compare

@kensaurus kensaurus released this 06 Oct 03:21
3a4eee7

Summary

  • npm tarball 9.8 MB -> 1.2 MB: fal.ai logo experiments and README screenshots no longer ship (npm loads README images from GitHub). Only the pack plus assets/logo.png and assets/logo.svg.
  • README: architecture diagram (what installs where, and the installer's footprint: no install scripts, no network, no shell), a pieces strip, twelve pixel section icons, and More from KENSAURUS cards with the real App Store and Google Play listing names and links.

Install

npx @kensaurus/skills --all
npx @kensaurus/skills --verify --all

v2.4.0

Choose a tag to compare

@kensaurus kensaurus released this 06 Oct 03:01
39320f8

Summary

  • README rebuilt around two images: the hero and a new ladder diagram, "How one request lifts the repo". The long tail collapses into details blocks; visible length drops from 823 lines to about 150.
  • Skill index moved to docs/SKILLS.md; the README keeps the family counts table.
  • 22 skills slimmed into reference files per Anthropic's skill-authoring guide: 43% fewer bytes across their SKILL.md bodies (about 49,000 fewer tokens when all load). Frontmatter and rule meaning unchanged. 28 reference files gain a contents list.
  • Ten plan-* skills share a one-line execution note; /thirdparty-web-interface-guidelines delegates to its skill.

Install

npx @kensaurus/skills --all
npx @kensaurus/skills --verify --all

v2.3.0

Choose a tag to compare

@kensaurus kensaurus released this 06 Oct 02:10
890b042

Summary

  • New brand, built as code: pixel kensaurus hero (dark and light), four tour cards, OG image, logo and favicon all render from docs/screenshots/src/showcase.html with npm run brand:render. No gradients, glass, or generated art.
  • Plain-language copy pass (ASD-STE100 spirit) across the README hero and tour, npm description and keywords, plugin manifests, llms.txt, and the landing page.
  • Skills: enhance-readme brand hero kit + render-views script; docs-writer plain-language reference (STE rules, AI-tell list, Vale recipe); research grounding contract (cite or abstain, date, pin versions).
  • Removed the Pillow renderer and fal.ai experiment scripts.

Install

npx @kensaurus/skills --all
npx @kensaurus/skills --verify --all

v2.2.0

Choose a tag to compare

@kensaurus kensaurus released this 06 Oct 01:35
f722601

Summary

  • New skill enhance-mobile-native-feel: one app-wide pass that makes an existing Expo / React Native or Capacitor app read as native on iOS 26 and Android 16 (system tabs and sheets, edge-to-edge, virtualized lists, spring motion, haptics by meaning, platform symbols, Dynamic Type). Ten-check scorecard, named anti-patterns, version-gated recipes.
  • Twelve mobile/UX skills refreshed for 2026: Expo SDK 54-58 NativeTabs, Reanimated 4, FlashList v2, Capacitor 8.3 SystemBars, Material 3 springs, mobile IA checks IA10-IA12.
  • Descriptions trimmed on the edited skills; listing ratchet unchanged.
  • 14 CRLF files renormalized to LF; orphaned web3d reference linked.

Install

npx @kensaurus/skills --all
npx @kensaurus/skills --verify --all

2.1.1 — Windows installs survive a briefly held file

Choose a tag to compare

@kensaurus kensaurus released this 01 Oct 12:06
1b86cb0

Fixed

  • Windows installs survive a briefly held file. An open editor watching ~/.cursor or ~/.claude, or an antivirus scan, can hold a file for a moment right after it is written.
    • Windows then failed the next copy with EPERM. That aborted the install and left the target half-copied.
    • The installer now retries a copy, write or delete on EPERM, EBUSY or EACCES for up to about 3 seconds per file.
    • If the lock never clears, it still fails, and it says which file is held.
    • Other platforms are unchanged.

Upgrade: npx @kensaurus/skills@latest --auto

2.1.0 — enhance-ux-laws

Choose a tag to compare

@kensaurus kensaurus released this 01 Oct 08:43

UX laws as a measured fix pass, and the Miller misreading removed from the
pack.

Added

  • enhance-ux-laws. Measure-then-fix pass on one screen or flow against
    seven Laws of UX: Fitts, Hick, Miller, Jakob, Zeigarnik, Goal-Gradient and
    Von Restorff. A browser probe measures tap targets, competing accents,
    choice sets, unlabeled fields and progress cues at phone and desktop widths;
    an eight-check flow walk covers what the DOM cannot show (resume after
    reload, dead controls, pasted codes). Each law states its precondition and
    what it does not say. Progress and resume cues must read real state, and
    drafts never store card numbers or one-time codes.

Changed

  • Miller and Hick read correctly. audit-ux and enhance-web-ux no
    longer cap menus or navigation at seven items: Miller is about what the user
    must hold in mind, and Hick applies only when options must be weighed, not to
    known-item lookups. audit-ux gains Von Restorff and
    Goal-Gradient/Zeigarnik rows.
  • Releases are staged. npm-publish.yml runs npm stage publish --provenance; a version goes live only when the maintainer approves it with
    2FA. CI actions moved to v5 (Node 24).
  • Six skill descriptions dropped duplicate trigger phrases so the listing stays
    under its 39,000-character ratchet with the new skill (ADR-0010).

Install: npx @kensaurus/skills --all · Claude Code: /plugin marketplace update kenji · skills.sh: npx skills add kensaurus/skills

2.0.0 — cursor-kenji is now kenji skills

Choose a tag to compare

@kensaurus kensaurus released this 01 Oct 05:51

cursor-kenji is now kenji: kensaurus/skills on GitHub, @kensaurus/skills
on npm, plugin kenji@kenji.
Same pack, tool-neutral name. Breaking because
the plugin ID and the /cursor-kenji: slash namespace change (ADR-0013).
Upgrade steps: README → "Upgrading from cursor-kenji".

Changed

  • Renamed. Repo kensaurus/cursor-kenji → kensaurus/skills (old URLs
    redirect), npm @kensaurus/cursor-kenji → @kensaurus/skills, CLI
    cursor-kenji → kenji, plugin and marketplace cursor-kenji → kenji,
    Windows shim cursor-kenji.cmd → kenji.cmd.
  • Existing installs migrate. The installer replaces a pre-2.0.0
    completion-gate entry (cursor-kenji-hooks/) with kenji-hooks/, keeps every
    other hook and setting, and removes the orphaned folder. --restore also
    reads the legacy .cursor-kenji-backups/. Claude plugin installs follow the
    marketplace renames map. CURSOR_KENJI_GATE_STATE_DIR and
    CURSOR_KENJI_DIR still work beside KENJI_GATE_STATE_DIR and
    KENJI_SKILLS_DIR.
  • Tool-neutral listing. Descriptions and keywords name Claude Code, Cursor,
    Codex CLI, and Gemini CLI; the homepage is the GitHub README until the new
    skills.sh page is indexed.
  • Ten skill descriptions dropped duplicate trigger phrases to keep the skill
    listing under its 39,000-character ratchet (ADR-0010). Every routing pointer
    stays.

Added

  • audit-agent-speed. Measures, then fixes a slow coding-agent host:
    transcript-parsing status lines, per-call and blocking Stop hooks, AGENTS.md
    skipped under a parent CLAUDE.md, un-ignored worktree folders doubling
    search, global effort and Explore model, worktree pile-up, antivirus,
    indexer and vendor WMI pollers. Ships
    scripts/stop-typecheck.mjs, an asyncRewake Stop hook that typechecks in
    the background, skips when nothing changed, wakes the agent only on a new
    error set, and summarizes codegen cascades.
  • Routing rule: agent or machine slow → audit-agent-speed; product slow →
    audit-performance.

Fixed

  • docs/AGENTS.template.md now says Claude Code skips AGENTS.md when a
    CLAUDE.md exists in the repo or any parent folder, and how to load both.

Install: npx @kensaurus/skills --all · Claude Code: /plugin marketplace add kensaurus/skills then /plugin install kenji@kenji · Published to npm from this commit by the maintainer (no provenance for this one release; trusted publishing resumes from the next).

v1.40.1

Choose a tag to compare

@kensaurus kensaurus released this 29 Sep 04:26

Summary

  • The completion gate stops looping in Cursor. Cursor also runs Claude Code hooks from ~/.claude/settings.json with no loop_limit, so every stop was gated twice and the Claude-config copy never stood aside. Each registration now carries --host=cursor or --host=claude, and inside Cursor the Claude-config copy stands aside when the native entry exists (ADR-0012).
  • Budget per conversation. Two agents in one repo no longer restart each other's loop. Each conversation gets three follow-ups while none of the items it saw closes, stored in ~/.cache/cursor-kenji/completion-gate/. The old .cursor/completion-gate.count.json is deleted on the next run.
  • Blocked work does not gate. Items marked blocked by:, blocked on:, or waiting on: and state files untouched for 24 hours are skipped. The follow-up says how to stand down and tells a non-owner to leave a shared checklist unchanged.

Re-run the installer to pick up the new --host registrations.

Install

npx @kensaurus/cursor-kenji --all
npx @kensaurus/cursor-kenji --verify --all