You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed
The claude.yml and claude-code-review.yml workflows run claude-code-action v1.0.232 with claude_args: --model claude-opus-5-5. The old model: input is not an input of the action at v1.0.70 or later, so the claude-opus-4-5-20251101 pin never took effect.
The README consult table names the current model families: Claude claude-haiku-4-5 / claude-sonnet-5 / claude-opus-5-5 (plus claude-fable-5-1 for explicit --model), Codex gpt-6-sol for low and medium effort and gpt-6-astra for high and max.
Agent model tables in AGENTS.md and docs/reference/AGENTS.md show what each family alias resolves to.
banthis marketplace pin moves from 0.3.1 to 0.6.0: a section that lost its end marker is repaired in place, the written preamble has no em dash, and ban triggers fire only on an explicit user ask (0.4.0, banthis#3); the command and skill are rewritten for current models (0.5.0, banthis#4); the preamble puts the user's current request above the stored rules, and the agent writes a rule only after the user confirms its wording (0.6.0, banthis#6).
Instruction files rewritten for current models: AGENTS.md, docs/reference/AGENTS.md and the maintain-cross-platform meta skill say each rule once, with its reason and without caps, and match the current code and the pinned plugins. The agent reference now lists all 39 file-based agents from the pinned agents/*.md (it missed the two repo-intel enrich agents, listed an agnix-agent that does not exist, and described ci-monitor as an unbounded 15-second poll; it waits on gh pr checks --watch with a 30-minute bound).
agent-docs/workflow.md and docs/workflows/NEXT-TASK.md match the pinned next-task agents: exploration-agent runs on sonnet, planning-agent and implementation-agent inherit the session model, and the review loop is sized to the diff (one reviewer, up to 4 for large or risky diffs, at most 3 rounds) instead of always spawning 4 reviewers through orchestrate-review. They also count the agents /next-task actually runs (10, plus 1 to 4 review subagents), describe the stopping points, the read-only deslop and sync-docs agents whose fixes simple-fixer applies (sync-docs does not invoke /ship), the orchestrator owning the task registry and flow state, --abort removing a clean worktree, and ci-monitor and ci-fixer as the pinned agents behave: ci-monitor waits on gh pr checks --watch for at most 30 minutes and is not spawned by /next-task or /ship, ci-fixer makes one minimal fix and leaves replies and thread resolution to its caller.
docs/INSTALLATION.md and docs/CROSS_PLATFORM.md describe the Kiro install the CLI performs: global ~/.kiro/, commands as prompts in ~/.kiro/prompts/, whole skill directories. They, docs/ARCHITECTURE.md, the Codex and OpenCode references and the cross-platform checklist also describe whole skill directories on the other platforms, Codex plugin skills, and Cursor's global ~/.cursor/ install.
docs/workflows/SHIP.md and the README /ship section match the pinned ship plugin. CI waits on gh pr checks --watch, not a 15-second poll. There is no fixed 3-minute reviewer wait or SHIP_INITIAL_WAIT: /ship waits only for a review bot that recent PRs show posting without a check run, for its review of the current commit, at most 15 minutes per wait. The review loop stops after 5 rounds, not 10; feedback is fixed or answered on its merits instead of sorted into five categories; production rolls back with git revert, not git reset --hard and a force push; SHIP_DEBUG is gone; and /next-task calls /ship, not sync-docs-agent.
Marketplace pins move to each plugin's current main: next-task 1.3.0, prepare-delivery 0.3.0, ship 1.3.0, audit-project 1.3.0, perf 1.2.0, drift-detect 5.4.0, sync-docs 1.2.0, skill-curator 1.2.0, repo-intel 0.5.0, debate 1.2.0, deslop 1.3.0, learn 1.3.0, consult 1.2.0, enhance 1.2.0 and agnix 0.56.5. zig-lsp's entry declares 0.1.1, the version its pinned commit carries; its pin does not move.
Marketplace pins move for gate-and-ship 0.1.0 to 0.2.0, system-prompt-curator 2.0.1 to 2.1.0, skillers 0.2.1 to 0.3.0, onboard 0.1.1 to 0.2.0, can-i-help 0.1.1 to 0.2.0, mojo 0.2.0 to 0.3.0 and ada-spark 0.1.0 to 0.2.0 (#405).
The agnix marketplace description counts 457 rules, the number its pinned plugin.json declares, instead of 414.
agent-docs/workflow.md and docs/reference/AGENTS.md list Bash(gh run view:*) in ci-fixer's tools, as the pinned next-task allows since next-task#56, so ci-fixer can fetch a failing run's log itself.
Core lib synced from agent-core (#412, #419). The new lib/agentsys.js resolves the agentsys lib/ for the analyzer binary, repo-intel and repo-map and tries the plugin's own vendored lib/ first. The enhance analyzers accept one file as well as a directory, the skill and hook analyzers report LOW certainty findings only with verbose as the others do, and the docs analyzer resolves a relative link against the directory of the file that holds it and computes heading anchors the way GitHub renders them. The project memory check accepts a rules section under any Rules or Conventions heading and an overview under Project overview or Layout.
Removed
Removed the orientation marketplace entry and install manifest item. Its lookups returned missing, stale, or ambiguous history in real repositories.
Removed the .kiro/ mirror of plugin skills and agents. Nothing in agent-sh read it: agentsys --tool kiro builds ~/.kiro/ from the plugins in ~/.agentsys/plugins, and no test, CI job, site or other agent-sh repo used the copy, so it drifted from its sources. .kiro/ is now in .gitignore, and the agnix exemptions that existed only for the mirror (kiro_agents = false, KR-SK-001) are gone.
Fixed
Claude Code installs each plugin at the commit .claude-plugin/marketplace.json pins. Its url plugin source reads url, ref and sha and ignores any other key, so the commit pins added in #347 never reached Claude Code: it installed the ref tag for the 9 entries that have one and the default branch HEAD for the other 15. Every entry now also carries sha with the same SHA as commit, and Claude Code checks out sha when ref is set too. scripts/pin-marketplace.js writes sha next to commit, and a test fails any entry whose sha differs from its commit. A scratch claude plugin install of all 24 plugins (Claude Code 2.1.290) lands each one at its pin; without sha, gate-and-ship and zig-lsp landed at their main HEAD.
The npm installer fetches each plugin at the commit pinned in .claude-plugin/marketplace.json, the commit Claude Code installs. It reads sha and falls back to commit for an entry without sha. It ignored commit and ref and tried v<version>, <version>, then main, so at the current pins 14 of 24 plugins reached OpenCode, Codex, Cursor and Kiro at another commit: 8 from main and 6 from a version tag at a different commit. A commit pin is now fetched exactly and the archive must come from that commit, a ref pin without a commit is fetched exactly, and only an entry with neither falls back to the old order. A commit pin must be a full 40-character SHA and match the archive's commit exactly. The archive is extracted beside the cache and moved into ~/.agentsys/plugins/<name>/ only once it is complete and from the pinned commit, so a cut-off download no longer leaves a partial plugin that a later agentsys install for OpenCode, Codex, Cursor or Kiro would install. A .ref, .commit or .version file inside an archive is replaced by the installer's own, so it cannot make a cache look like the pinned commit. A pinned commit or ref that GitHub does not serve is an error, not a fallback. The cache in ~/.agentsys/plugins/<name>/ records the fetched .ref and .commit, so agentsys install at the same pin reuses the cache and a cache from an earlier version is fetched again; agentsys install also records commit in ~/.agentsys/installed.json. agentsys install <plugin>@<version> for a version other than the marketplace one is not pinned and keeps the old order.
A first agentsys install <plugin> for OpenCode, Codex, Cursor or Kiro installs the plugin. It fetched the plugin into ~/.agentsys/plugins/ and then replaced ~/.agentsys to set up the local install, which deleted the plugin again, so nothing from it reached the platform while the install reported success. The local install is now set up before the fetch, and a plugin that fails to fetch stops agentsys install with an error instead of being installed and recorded as if it had arrived. That setup no longer deletes ~/.agentsys first, so it keeps installed.json: after a Claude Code only agentsys install a, a first agentsys install b --tool kiro dropped the record for a and agentsys remove a reported it as not installed.
OpenCode, Codex, Cursor and Kiro installs copy each skill's whole directory instead of only SKILL.md, so skills from consult, debate, deslop, drift-detect, learn, repo-intel and others keep their references/ and scripts/ files. Markdown files in the directory go through the platform's skill transform, a relative link that leaves the skill directory (deslop's ../../references/slop-categories.md) points at the file under ~/.agentsys/plugins/<plugin>/, and a reinstall removes files that a skill no longer has. A skill the plugin drops entirely stays installed. scripts/dev-install.js installs Kiro skills through the same code.
Installers delete or replace only skill directories that agentsys installed or that an earlier agentsys version could have written, so a user's own skill with the name of a plugin skill survives a reinstall unless it holds only files that skill ships. Each skill directory agentsys installs on OpenCode, Codex, Cursor and Kiro (Codex command skills included) gets a .agentsys-skill marker with the plugin name and version, and a reinstall replaces a marked directory. A directory from an earlier agentsys version has no marker; when every file in it, at any depth, has a path the plugin's skill ships at the version being installed (earlier versions wrote only SKILL.md), the install replaces it and marks it, so upgrading needs no manual step. A user's skill that is only a SKILL.md looks the same, so on OpenCode, Cursor and Kiro and for Codex command skills it is still replaced, as before; adding any other file to it keeps it. Codex plugin skills are new in this release, so no earlier version wrote one: an unmarked directory at a Codex plugin skill name is skipped whatever it holds, unless it is empty. A directory without the marker that holds any other file, or is a symlink, is skipped with a warning naming its path, and nothing is written into it; before, Cursor and Kiro deleted it, OpenCode overwrote its SKILL.md, and Codex deleted a command skill's directory or a review skill. The same rule gates the Cursor and Kiro cleanup before install, the Codex removal of renamed skills (review, pr-merge, ...), which agentsys wrote as one SKILL.md, and the Codex and Kiro skill deletes in scripts/dev-install.js (--clean and the Codex install).
Codex skips, with a warning, a command whose name holds anything but letters, digits, - and _. A command file named ..md gave the name ., whose skill directory is ~/.codex/skills itself, so the install deleted that directory with every skill in it. No pinned plugin has such a file.
Codex installs plugin skills. It installed only commands as skills, so skill-only plugins (mojo, ada-spark) and skills such as orchestrate-review, enhance-docs and the perf-* skills never reached ~/.codex/skills/. A plugin skill named like a command (deslop, consult and 10 others at the pinned commits) is still left out, so $<name> stays the command, and so is a skill without a description, which Codex cannot list.
Skills that locate their plugin "two directories up from this skill" name ~/.agentsys/plugins/<plugin> instead on OpenCode, Codex, Cursor and Kiro: two directories up from ~/.kiro/skills/<name>/ is ~/.kiro, and the other platforms' skills directories have the same problem.
Installs no longer assume Claude Code's versioned plugin cache. Fallback globs on a plugin name (consult-agent, debate-orchestrator, sync-docs-agent, prepare-delivery-agent, the debate command), such as **/consult/*/skills/consult/SKILL.md, become **/consult/**/... on every platform, which also matches ~/.agentsys/plugins/consult/. ${CLAUDE_PLUGIN_ROOT}/../../consult/*/acp/run.js in the debate command and skill becomes ~/.agentsys/plugins/consult/acp/run.js on Codex, Cursor and Kiro; OpenCode keeps its ${PLUGIN_ROOT} placeholder there, so only its globs change.
The cmd.exe plan for .cmd and .bat shims passes /v:off. On a machine whose cmd.exe enables delayed expansion by default, !NAME! inside an argument was replaced by the value of NAME. This covers the installer, dev-cli, bump-version, dev-install and the perf and custom-source runners, which all plan through lib/utils/command-parser.js. The file matches the copy in agent-core#35, so once that lands the next core sync leaves it alone.