Repository navigation
Releases: charlesjones-dev/ai-agent-plugins
Release list
v3.1.0 — ai-slop: prune code comments and trace workarounds to their cause
Added
AI-Slop Plugin (v1.1.0 → v1.2.0)
/slop-comments— finds code comments that add nothing to the code, and the workarounds they explain. Agents copy what's already in a codebase, so a comment that narrates the code or excuses a workaround spreads. With no arguments it reviews the comments the current branch adds or changes against the default branch. A path or glob, orallfor the whole repo, widens it, and large scopes are split across read-only subagents. It skips vendored and generated code, migrations that have run, config files and prose. Every comment gets one verdict: delete (narration, history, commented-out code, stale notes, signature restatements, banners, agent leftovers, vague TODOs), rewrite, encode (a "must be called after init" note becomes a type, assertion, test, lint rule or CODEOWNERS entry), workaround, or keep. Keeps are a short list incomment-rules.md: tooling directives, legal headers, public API contracts, reasons a reader can't see in the code, surprises, dense notation and TODOs that link an issue. Doc comments a lint rule or doc generator needs stay. For each workaround, including lint and type suppressions, it reads the git history, names the cause and checks whether it still exists, then plans to fix the cause, delete the workaround with its comment, or keep it with a comment that names the cause and when it can go. It never deletes a workaround's comment and leaves the workaround. The report ends with a batched plan and numbered questions, and nothing changes until you answer. Applying runs the typecheck, lint and tests between batches and reverts a cause fix that breaks tests.--fixapplies the plan unattended, leaving medium and large refactors, code changes no test covers, and anything waiting on a question. Afterward it offers a comment rule forAGENTS.md,CLAUDE.mdor a Cursor rule. The agent can run it when you ask to prune or clean up code comments.- Marketplace metadata version bumped
3.0.1→3.1.0.
Full Changelog: v3.0.1...v3.1.0
v3.0.1 — ai-workflow: babysit a change only as far as staging, and watch Xcode Cloud builds
Added
AI-Workflow Plugin (v3.0.0 → v3.0.1)
/workflow-babysit --to staging— ends the run once the PR is merged into staging and the staging deploy has finished, and leaves the release PR for later. It's meant for repos where staging builds go to testers first, such as an internal TestFlight group, and production waits for their sign-off. "Babysit this to staging" works too. With--to staging, a staging branch on origin counts as a staging flow even before any release PR, and the step 0 question about other people's unreleased staging commits is skipped. The skill doesn't run CLAUDE.md's cleanup for when staging is done, such as taking staging services down, and lists it in the report as pending. The report says how to promote: run/workflow-babysitfrom the staging branch, which starts at the release step. If there's no staging branch or an existing PR targets the default branch, it stops before doing anything.- Xcode Cloud deploy target —
/workflow-babysitnow finds Xcode Cloud through itsxcode-cloudcheck runs. It treats a workflow that archives commits on staging or the default branch as that branch's deploy, and watches its check runs and commit status on the merge commit. On failure it reports the App Store Connect build link, and on success it notes that TestFlight processing takes a few more minutes and isn't reported to GitHub. - Marketplace metadata version bumped
3.0.0→3.0.1.
Full Changelog: v3.0.0...v3.0.1
v3.0.0 — AI Agent Plugins: Codex and Cursor support, merged plugins, and ai-knowledge on Claude Code rules
The repository and marketplace are renamed from claude-code-plugins-dev to ai-agent-plugins, and 8 plugins are now packaged for Codex and Cursor as well as Claude Code. Four plugins merge into others (ai-aeo and ai-geo into ai-seo, ai-cvp into ai-security, ai-writing into ai-slop), which leaves 13. Skills that repeated another skill are merged, skills that Claude Code now covers are removed, ai-knowledge moves to Claude Code's path-scoped rules, and five wrapper subagents that couldn't load their skills are removed. The marketplace goes from 64 skills to 41.
Removed
- ai-aeo and ai-geo — merged into ai-seo (see Changed).
/aeo-auditand/geo-auditare now/seo-audit aeoand/seo-audit geo,/aeo-fixand/geo-fixare folded into/seo-fix, and/aeo-faq,/aeo-questionsand/geo-llms-txtare now/seo-faq,/seo-questionsand/seo-llms-txt. The Claude Code catalog's newrenamesmap points both names at ai-seo, so Claude Code switches an existing install's setting over to ai-seo. Users then run/plugin install ai-seo@ai-agent-pluginsonce to install it. - ai-cvp — merged into ai-security.
/cvp-defense-auditis now/security-cvp-audit(see Added).renamespoints ai-cvp at ai-security, and users who only had ai-cvp run/plugin install ai-security@ai-agent-pluginsonce. - ai-writing — merged into ai-slop.
/writing-humanizeis now/slop-rewrite(see Added), and its pattern catalog is merged into ai-slop'ssignals.md, so the audit and the rewrite share one list.renamespoints ai-writing at ai-slop, and users run/plugin install ai-slop@ai-agent-pluginsonce. - ai-git
/git-commit-pushand/git-pr-codex-loop—/git-commit-pushis now/git-commit-push-pr --no-pr. The Codex review loop is removed: Claude Code's/code-review --fixand/autofix-prloop on review comments and CI failures, and/workflow-babysitstill triages Codex Code Review findings. Major version bump: ai-git 1.3.2 → 2.0.0. - ai-workflow
/workflow-ship,/workflow-preflight,/workflow-claude-actionsand/workflow-principles—/workflow-shipis now/git-commit-push-pr --preflightand/workflow-preflightis now/git-preflight, both in ai-git. Claude Code's/install-github-appreplaces/workflow-claude-actions: its review workflow posts inline comments since v2.1.229, and without--modelthe workflows use Claude Code's default model, Opus 5.5./initreplaces/workflow-principles. Major version bump: ai-workflow 2.1.0 → 3.0.0. - Five
/workflow-rulesrules —no-generated-by-footers(Claude Code'sattributionsetting does this),no-internal-narrationandmatch-response-to-task(the built-in concise output style,/output-style concise), andno-unrequested-featuresandconfirm-risky-actions(covered by Claude Code's built-in instructions). The list and remove modes still find copies already installed in CLAUDE.md and say what replaces each one. - ai-ado
/ado-create-feature,/ado-create-story,/ado-create-taskand/ado-work-items— replaced by/ado-create(see Added). The/ado-work-itemsguidelines are now/ado-create'sreferences/work-items.md. Major version bump: ai-ado 1.3.3 → 2.0.0. - ai-modernize
/modernize-scan— use/modernize-audit <path> --defaults(see Changed). - ai-knowledge Obsidian support — the vault instructions,
[[wiki-link]]syntax and therelatedandsourcesfrontmatter. Cross-references are plain paths in an optional Related section, the only place Claude sees them, since Claude Code strips frontmatter. - ai-knowledge
/kb-auto,/kb-load,/kb-ingest,/kb-import,/kb-harvest,/kb-absorb,/kb-search,/kb-list,/kb-organize,/kb-removeand/kb-upgrade— 17 skills become 7. Auto-capture replaces/kb-auto(see Added), and an @-mention replaces/kb-load./kb-addtakes over ingest, import, harvest and absorb,/kb-querytakes over search and list,/kb-prunetakes over organize and remove, and/kb-migratetakes over upgrade. The plugin README maps each one. Major version bump: ai-knowledge 1.5.2 → 2.0.0. - Wrapper subagents —
accessibility-auditor,modernize-auditor,performance-auditor,security-dependency-scannerandswift-release-auditor. Each one's instructions were to load its plugin's skill, which Claude Code refuses because those skills setdisable-model-invocation: true, so a skill that handed off to one reached a subagent without the methodology or report template./accessibility-audit,/modernize-audit,/performance-auditand/security-scan-dependenciesnow run their audits themselves. For unattended runs, pass the settings as arguments (see Changed);/swift-preflight --check-onlyreplacesswift-release-auditor.security-auditorstays: it's a separate reviewer role with its own instructions that/security-auditruns in parallel. Major version bumps: ai-accessibility 1.4.2 → 2.0.0, ai-modernize 1.1.1 → 2.0.0, ai-performance 1.2.2 → 2.0.0, ai-security 2.0.1 → 3.0.0, ai-swift 1.0.2 → 2.0.0.
Changed
- Repository and marketplace renamed —
charlesjones-dev/claude-code-plugins-devis nowcharlesjones-dev/ai-agent-plugins, and the marketplacenamein.claude-plugin/marketplace.jsonchanged to match. Install IDs change from<plugin>@claude-code-plugins-devto<plugin>@ai-agent-plugins. GitHub redirects the old URLs, so existing installs and links keep working, but Claude Code keeps those installs under the old marketplace name. To switch, remove the old marketplace, addcharlesjones-dev/ai-agent-pluginsand reinstall. Removing the old marketplace uninstalls its plugins. The README has the commands, and a table of renamed commands. - ai-seo covers SEO, AEO and GEO — six skills, all ai-aeo and ai-geo checks and fixes carried over. Major version bump: ai-seo 1.0.1 → 2.0.0.
/seo-audit [seo|aeo|geo|all]audits one lens or all three (the default, asked first when missing) and takes every setting as an argument, with defaults for unattended runs. It writes one report todocs/seo-audit/with a section and a score per lens and no combined score. Findings carry lens-prefixed IDs (SEO-1,AEO-1,GEO-1). The report index gets a column per lens, rows from 1.x are converted, and trends compare against reports in the olddocs/aeo-audit/anddocs/geo-audit/folders./seo-fixapplies the newest report for every lens it covers, keeps every fix type, confirmation rule and--dry-runfrom the three fix skills, applies fixes two lenses share once, and acts as--dry-runin an unattended run. It takes an optional report path, so an older AEO or GEO report can still be applied./seo-schemaowns all JSON-LD generation and validation, including FAQPage/QAPage and Organization/Person withsameAs./seo-schema,/seo-fixand/seo-faqshare onejson-ld.mdrule set./seo-faq,/seo-questionsand/seo-llms-txttake their setup as arguments and have unattended defaults. With no arguments they behave as before./seo-questionscan also start from an earlier question map, including one in the old folder.
- Audit skills take their settings as arguments — each asks only for what the arguments leave out, and asks nothing when they cover everything, so the audits can run unattended.
/accessibility-audit [WCAG version] [level] [path or URL], such as/accessibility-audit 2.2 AA src/. With a URL from the arguments, it uses Playwright visual testing when the Playwright MCP server responds and otherwise audits the HTML and notes that visual testing was skipped. The Playwright setup step now covers Claude Code (.mcp.json), Cursor (.cursor/mcp.json) and Codex (codex mcp add)./modernize-audit [path] [ai=…] [era=…] [stack=…|auto] [categories=all|…] [severity=all|medium|high] [--defaults].--defaultsasks nothing and uses the defaults for any setting the arguments leave out, which replaces/modernize-scan. The same defaults apply when no one can answer, and the report marks each one "(default)". The audit also takes a single file as its scope, and skips categories that can't apply to it. Its category checklist moved toskills/modernize-audit/references/categories.md./performance-audit [path]limits the audit to one directory./security-scan-dependencies [URL] [frontend|cms|headers|all]. With only a URL in an unattended run, the scope isall. The skill also gained build-tool detection (Webpack, Vite, Turbopack, Parcel), including a warning when a Vite dev server is exposed.- Their report paths are repository-relative (
docs/accessibility/,docs/modernize/,docs/performance/,docs/security/) rather than written with a leading slash.
- ai-git
/git-commit-push-pr— takes--preflight, which runs/git-preflight --fixfirst and stops if it applied fixes or problems remain, and--no-pr, which stops after the push. It used to ignore all arguments. It reads the default branch fromghinstead of assumingmain, returns the URL of a PR that's already open, stops when a push is rejected orghis missing, and writes a test plan with only what was actually run. In Codex and Cursor it runs preflight by loading thegit-preflightskill. - ai-git
/git-preflight— moved from ai-workflow, so it now runs in Codex and Cursor too. It no longer depends on Claude Code for platform detection or questions. - ai-workflow
/workflow-babysit— points to/install-github-appinstead of/workflow-claude-actionswhen Claude Code review is off, including its "Update workflow file with latest version" option, and treats the summary comment a v2.1.229 or later review workflow posts as a clean pass. - ai-security
/security-cvp-audit— its ignore rule no longer hides/security-auditreports. When git already tracks files indocs/security/, it ignores only the audit's own paths (/docs/security/*cvp*audit*, `/docs/security/tes...
v2.12.0 — ai-workflow: babysit a branch to production, and set up the Claude Code GitHub Actions on the newest Opus
Added
AI-Workflow Plugin (v2.0.1 → v2.1.0)
/workflow-babysit— takes the current branch to production in one unattended run. Runs from/workflow-babysitor when you say "babysit this to prod", and invoking it is the approval to merge.- Opens the PR itself when there isn't one: commits uncommitted changes in the repo's style, branches off the default or staging branch, pushes, and targets staging when the repo has a staging flow. It doesn't need
/workflow-shipfirst. - Asks every question at the start (which uncommitted files to leave out if some look unrelated, what to do when the Claude Code review action isn't set up, and whether to promote other people's unreleased commits already on staging, read from GitHub logins), and warns when a branch rule needs a human approval. Then it runs without stopping. It stops only for a blocking finding still open after 3 rounds, a teammate requesting changes, CI it can't fix, a merge GitHub refuses, or a failed deploy or health check. Every wait has a deadline. Running it again after a stop picks up the open PR, or the release step when run from staging.
- Waits for CI, the Claude Code GitHub Action, Codex Code Review and Cursor Bugbot on the head commit. Claude Code counts as on only when a workflow running
anthropics/claude-code-actionon pull requests is on the default branch and enabled, has its secret set, and posts its findings to the PR. A workflow that runs/code-reviewwithout--commentor another way to comment would otherwise pass as a clean review. A run whose log saysSkipping action due to workflow validationcounts as no review. A clean Codex pass that posts only a 👍 reaction counts as done. Each reviewer has a time limit. - Fixes correctness, data-loss, security and regression findings in code the PR changed, opens issues for the rest or replies "by design", and resolves every bot thread. Claude Code re-reviews by itself after each push and Codex gets one scoped
@codex reviewper round, with 3 rounds of fixes at most. A finding Claude Code raises again after it was answered gets a link to the earlier reply instead of a second round. When the review workflow doesn't run on pushes, the local/code-reviewcovers the new commits. It never resolves a person's thread or merges over a requested change. A repo's CLAUDE.md can set its own triage rules. - Cursor Bugbot — detected by its
Cursor Bugbotcheck run. A pass is done when a<!-- BUGBOT_REVIEW -->review names the head commit, and reviews markedBUGBOT_REVIEW_STALEare ignored. Onlycursor[bot]comments with aBUGBOT_BUG_IDcount as findings, so Cursor Automations approvals and Autofix results aren't triaged. Findings are handled High Severity first, and every location listed under "Additional Locations" is checked. Bugbot re-reviews by itself on pushes; when it doesn't run on the new commit within 5 minutes, the skill posts onebugbot run. It also posts one after resolving findings when a required Bugbot check failed on unresolved issues. It never writes@cursor, because a mention starts a Cursor agent that can push to the branch. - Bugbot Autofix — when Autofix commits to the PR branch, the skill waits for the
Cursor Bugbot Autofixcheck, pulls its commits, fixes only what it left, and runsgit pull --rebasebefore every push. When Autofix makes a separate branch, the skill fixes the finding in the PR and doesn't merge that branch. - When the Claude Code action isn't set up, it can run the built-in
/code-reviewlocally on each PR in its place and post the findings and what happened to them as a PR comment. - Merges only the commit that passed the review gate (
--match-head-commit), never with--admin, and uses a merge commit for release PRs so staging and the default branch don't diverge. Each PR's own base decides whether it goes on to the release step. If GitHub's automatic branch deletion removes staging when the release PR merges, it recreates staging at the same commit. - With a staging flow, it watches the staging deploy before promoting, opens or reuses a
Release:PR, and reviews it the same way. - Watches the production deploy without deploying anything itself: GitHub deployments first (Vercel, Railway and other hosts that report to GitHub), then GitHub Actions deploy runs, then a linked host CLI. Railway gets per-service status, logs and domains through its CLI, since Railway reports one GitHub deployment per environment. The health check skips
environment_urlvalues that point at a host dashboard, and treats a 401 or 403 from a protected URL as inconclusive. - Follows deploy rules from CLAUDE.md, such as starting staging services before a staging deploy.
- Opens the PR itself when there isn't one: commits uncommitted changes in the repo's style, branches off the default or staging branch, pushes, and targets staging when the repo has a staging flow. It doesn't need
/workflow-claude-actions— sets up or updates the Claude Code GitHub Actions so PR reviews post inline comments and both workflows run on the newest Opus. Builds on the built-in/install-github-app.- Passes
--model opuson the review and@claudemention workflows. The alias follows the newest Opus the action's bundled Claude Code knows about, and the floating@v1tag picks up new releases without edits. It asks before moving a pinned action to@v1or replacing a different model. - Edits existing workflows in place: adds the model,
--commenton thecode-reviewprompt and the inline-comment tool, and keeps triggers, filters, permissions and auth. Workflows from older versions of/install-github-appran/code-reviewwith no way to post, so their findings never reached the PR. For pre-v1 workflows it recommends regenerating them with/install-github-appfirst. - Copies the bundled workflows when one is missing, with a subscription token (
CLAUDE_CODE_OAUTH_TOKEN) or an Anthropic API key (ANTHROPIC_API_KEY). For a missing workflow next to one on Bedrock, Vertex, Foundry or workload identity federation, it copies that workflow's whole auth setup. The bundled review workflow skips fork PRs and bot PRs, which get no OIDC token or are refused by the action. On public repos the skill offers to add that guard to an existing review workflow. - Checks for the secret on the repo and the organization, and gives you the commands to set a missing one in your own terminal. It never asks for, prints or passes a token.
- Checks
ANTHROPIC_MODEL, which overrides--model, and edits every action step in a workflow. It adds the inline-comment tool without quotes so a double-quotedclaude_argsstays valid, and parses every edited file as YAML before showing the diff. - Skips asking about the Claude GitHub App when
claude[bot]has commented in the repo recently. It commits, pushes and opens one PR only after you approve the diff, targets staging when work lands there, switches back to your branch whenever it stops, and never merges or changes repo settings. - Explains why the PR's own review check passes without reviewing (and, in staging repos, why reviews pause on staging PRs until promotion), why
pull-requests: readfindings from bot reviewers are false positives, and how to confirm the model from the run log.
- Passes
/workflow-babysitpoints to/workflow-claude-actionswhen Claude Code review is off or its review workflow can't post to the PR.
Fixed
AI-Workflow Plugin (v2.0.1 → v2.1.0)
/workflow-shippreflight step —/workflow-preflighthaddisable-model-invocation: true, so Claude Code refused the Skill tool call that/workflow-shipmakes in its first step and told Claude not to run the checks another way./workflow-preflightcan now be invoked by Claude, and/workflow-shippasses--fixso preflight applies auto-fixes without stopping at its numbered menu. Claude can also run preflight when you ask to check code before committing.- Marketplace metadata version bumped
2.11.3→2.12.0.
Full Changelog: v2.11.3...v2.12.0
v2.11.3 — ai-cvp: output contract for audits, and a fix prompt that normalizes what the audit left
Fixed
AI-CVP Plugin (v1.0.2 → v1.0.3)
- Audit prompt output contract — an audit whose sandbox blocked the repo's own test harness invented its own layout: a misnamed report, different finding IDs, no test-path column, and live source files outside
docs/security/tests/. The finalgit statuscheck passed because git ignoresdocs/security/, and the fix prompt pointed at files that didn't exist. The archive rule was a step ("once it has run, move it"), so it never fired when no test ran in the source tree. The prompt now ends with one output contract that describes the end state:- the report at exactly the prompt's path, even if the audit runs on a later date, with
CVP-NNIDs and each test's archived path in the summary table; - every proof test, helper and fixture at
docs/security/tests/<path it would run from>.disabled, whether or not it ever sat in the source tree; - alternative-harness scripts and run logs in
docs/security/harness/, with no extension the repo's compiler, test runner, formatter or linter picks up, since most of those tools don't read git's ignore rules; - build staging in a
mktemp -dfolder outside the repo.
- the report at exactly the prompt's path, even if the audit runs on a later date, with
- Contract check — before finishing, the audit model runs
find docs/security -type f ! -path '<report>' ! -path 'docs/security/tests/*.disabled' ! -path 'docs/security/harness/*', which should print nothing, andgit status --porcelain. Whendocs/security/already holds earlier reports, the check adds-newermtwith the planning time so it lists only the audit's files, and the contract says to leave earlier files alone. - Alternative harness — when the sandbox blocks the repo's test command, the audit model may build its own harness under the contract. A result counts as Confirmed only if the test would also compile and run unchanged in the real project, and the report gives the command that runs each such test there.
- Fix prompt — step 1 no longer assumes the contract held. It runs the same check, moves the newest
.mddirectly underdocs/security/to the expected report path if the report isn't there, moves misplaced tests intodocs/security/tests/<path>.disabled(including tests stored relative to a test target's folder), disables source-extension files indocs/security/harness/, tells you what moved, reruns the check, and then uses the report's own IDs. Step 2 runs every test the sandbox kept from running through the real project, checks that each one actually ran, and tries to settle Unconfirmed findings with local tests, never real servers. When the project file lists sources explicitly (XcodeGen, or an Xcode project without synchronized folders), it regenerates or updates the project whenever a test moves in or out. - Apple apps — recon now warns that the strict sandbox can block
xcodegenandxcodebuildentirely, not just the test run: Foundation writes temp files undergetconf DARWIN_USER_TEMP_DIRrather than$TMPDIR, and the sandbox denies writes there. For apps whose only harness isxcodebuild, the checklist offers an optional launch line that adds that folder tosandbox.filesystem.allowWrite. Tested on an XcodeGen iOS app under Claude Code 2.1.295 and Xcode 27: with the line,xcodegen generateandxcodebuild build-for-testing(DerivedData under$TMPDIR,-disable-sandboxfor macro plugins) succeed in the sandbox.xcodebuild teststill fails on iOS and macOS, because the simulator andtestmanagerdare out of reach, so tests run through an alternative harness and the fix session reruns them. - Project MCP servers — recon checks
.mcp.jsonand.claude/settings*.jsonfor servers that start without a prompt (enableAllProjectMcpServers,enabledMcpjsonServers). MCP tools run outside the sandbox, so the reply warns about them, the checklist says to disable them with/mcpbefore pasting the prompt, and the audit prompt tells the audit model not to call MCP tools. - Launch checklist — the final step runs the contract check as well as
git status; anything either prints is normalized by the fix prompt's first step. - Marketplace metadata version bumped
2.11.2→2.11.3.
Full Changelog: v2.11.2...v2.11.3
v2.11.2 — ai-statusline: sandbox indicator, plus a one-line sandboxed launch for ai-cvp audits
Added
AI-Statusline Plugin (v1.4.1 → v1.5.0)
- Sandbox indicator — the Bash script template can show
Sandboxin orange right after the effort level while Claude Code's Bash sandbox is on for the session, and hides it while the sandbox is off. NewSHOW_SANDBOXtoggle (default off). Existing status lines don't change; to add it, re-run/statusline-wizardand select it.- The status line payload has no sandbox field, so the script resolves
sandbox.enabledthe way Claude Code does, taking the first layer that sets it: managed settings (managed-settings.jsonandmanaged-settings.d/),--settingson theclaudecommand line (inline JSON or a file path, read from the process found through$CLAUDE_PIDor by walking up the process tree),.claude/settings.local.jsonat the repository root (the main checkout's root in a worktree) and then in the starting directory,.claude/settings.json, and the user'ssettings.json(respectingCLAUDE_CONFIG_DIR). A/sandboxchange shows up on the next refresh. - On Linux and WSL2 the indicator stays hidden when
bwraporsocatis missing, since the sandbox can't start without them. It can't read MDM profiles or server-managed settings, and the docs say to confirm with thetouch ~/sandbox-probecheck when it matters. - Native Windows has no sandbox, so the PowerShell template has no indicator, and both wizards leave the option out on Windows.
- The status line payload has no sandbox field, so the script resolves
/statusline-wizardand/statusline-edit— "Sandbox indicator" is a new option in the Project Display question./statusline-editleaves it out for scripts generated before 1.5.0 and points to/statusline-wizard.
Changed
AI-CVP Plugin (v1.0.1 → v1.0.2)
- Launch checklist — the audit session now starts with one command instead of the
/sandboxpanel and Shift+Tab:claude --model <audit-model-id> --permission-mode auto --settings '{"sandbox":{"enabled":true,"autoAllowBashIfSandboxed":true,"allowUnsandboxedCommands":false,"failIfUnavailable":true}}'.- The settings last one session and write nothing to
.claude/settings.local.json. - Strict mode set through
--settingsmakes the sandbox admin-required, so on Claude Code v2.1.285 or later the audited repo's own.claude/settings.jsonand.claude/settings.local.jsoncan't loosen it (theirexcludedCommands,allowWriteandallowedDomainsentries are ignored). The README's requirements now list v2.1.285. failIfUnavailablemakes Claude Code exit at startup instead of running commands unsandboxed when the sandbox can't start.- The checklist checks
/statusforCommand line argumentsinstead of opening/sandbox, which can't change settings that come from the command line.
- The settings last one session and write nothing to
- Shorter reply —
/cvp-defense-auditno longer prints the audit prompt in the conversation. The reply gives the path to each prompt, whether the audit prompt is on the clipboard, whether the ignore rule was added, an audit checklist, a fix checklist and the warnings. The fix checklist covers phase 3: quit the audit session, startclaude --model opusunsandboxed, copy the fix prompt with the same clipboard tool, and paste it. Without a clipboard tool, both checklists say to open the file and copy it, replacing the/copyfallback, which needed the prompt in the conversation. - Marketplace metadata version bumped
2.11.1→2.11.2.
Full Changelog: v2.11.1...v2.11.2
v2.11.1 — ai-cvp: archive proof tests under docs/security and keep them out of git
Fixed
AI-CVP Plugin (v1.0.0 → v1.0.1)
/cvp-defense-auditaudit prompt — the audit session no longer leaves failing proof tests across the source tree, where a commit would turn CI red. It still writes each test where the repo keeps its tests and runs it, then moves it todocs/security/tests/under the same repo-relative path with.disabledappended (for exampledocs/security/tests/src/auth/session.cvp.test.ts.disabled). Before finishing, it checksgit statusfor strays. The report now always goes todocs/security/<date>-cvp-security-audit.md, and the summary table lists each finding's archived test./cvp-defense-auditignore rule — the planning session now adds/docs/security/to.git/info/excludeunless git already ignores it, so the report and archived tests stay out of commits in open-source repos and repos with confidential findings. The exclude file is never committed, so the repo carries no hint of the folder, and it applies to every worktree of the clone. The warnings list any files git already tracks underdocs/security/. The rule also covers ai-security's reports in the same folder.- Launch checklist — drops the
security/cvp-audit-<date>branch, which would now hold nothing. Instead it asks for a cleangit statusbefore launch and adds a finalgit statuscheck that should come back empty. - Fix prompt — checks that
docs/security/is ignored (adding the exclude line if it isn't) and archives any stray proof tests. It runs each proof from a temporary copy, and restores the proof test withmv(dropping.disabled, which removes the archived copy) on the fix branch. It never commits anything underdocs/security/. - Marketplace metadata version bumped
2.11.0→2.11.1.
Full Changelog: v2.11.0...v2.11.1
v2.11.0 — ai-cvp: plan sandboxed security audits with /cvp-defense-audit
Added
AI-CVP Plugin (new — v1.0.0)
New plugin for planning a defensive security audit of code you own or are authorized to test. The audit itself runs in a strict sandbox on the strongest security-capable model you can use.
/cvp-defense-audit— phase 1 of a three-phase audit. The planning session does read-only recon and writes a paste-ready audit prompt, a sandbox launch checklist and a fix prompt. The audit session (auto mode,/sandboxin strict mode) maps the attack surface, writes one failing test per finding as proof, and writes a report without fixing anything. The fixing session verifies each proof and ships each fix with its proof test as the regression test.- Asks what authorizes the audit (Cyber Verification Program enrollment, ownership or maintenance, or authorized third-party testing) and writes only that into the prompt. It never claims enrollment by default, and stops if there's no authorization.
- Recon covers entry points, auth and tenancy, untrusted-input sinks, billing, secrets (names only), integrations, CI and supply chain, deploy config, the test harness and earlier audits. With
ghsigned in, it adds open Dependabot and code-scanning alerts and notes when either feature is disabled. - Picks 5 to 9 attacker goals from
attack-catalog.md(web apps and APIs, Apple apps, libraries, CLIs and Claude Code plugins, Home Assistant integrations, static sites) and rewrites each in the repo's own actors, assets and files. - The prompt names the test framework, a file name with a
cvpmarker (*.cvp.test.ts,test_cvp_*.py) placed by the repo's convention, an existing test whose mocking to copy, libraries to mock because they call the network during verification, the single-file run command for each package, and a report path that matches the repo's audit naming. Recon also flags stale workspace builds and tests that bind localhost ports. fix-prompt-template.mddrives phase 3: re-run each proof outside the sandbox, propose checks for what code couldn't settle, triage, fix only what you pick on branches from the integration branch, never merge the audit branch, and update the report's status for each finding.- Saves both prompts to
~/.claude/cvp-audit-prompts/, copies the audit prompt to the clipboard (pbcopy,wl-copy,xcliporclip.exe), and warns that the files map the attack surface and shouldn't be committed or posted. - Model-agnostic:
--model <audit-model-id>fills in the launch line, and the skill refers to the planning, audit and fixing models by tier rather than by name.
- Marketplace metadata version bumped
2.10.0→2.11.0(new plugin).
Changed
- CONTRIBUTING.md — test a fix by loading the plugin from your clone with
claude --plugin-dir, instead of adding the clone as a local marketplace. The flag needs no install, and for that session it replaces an installed copy of the same plugin.
Full Changelog: v2.10.0...v2.11.0
v2.10.0 — ai-aeo: Answer Engine Optimization, plus ai-geo rebuilt around citations
AEO and GEO are now separate plugins. AEO (Answer Engine Optimization) is about being the direct answer in a featured snippet, voice reply or answer box. GEO (Generative Engine Optimization) is about being cited and mentioned inside AI answers that draw on many sources. ai-geo's direct-answer checks moved to the new ai-aeo plugin, and both plugins were checked against vendor documentation current as of October 2026.
Added
AI-AEO Plugin (new — v1.0.0)
/aeo-audit— scores how ready answer pages are to be lifted as the direct answer, across nine weighted categories: answer-first formatting, question headings, concise definitions, real lists and tables, snippet eligibility controls, FAQ sections and structured data, voice and assistant readiness, answer trust signals, and technical accessibility. Writes timestamped reports todocs/aeo-audit/with aREADME.mdindex (trend indicators 📈 📉 ➡️),latest.mdand an optional.gitignoreentry, the same way/geo-auditdoes.- Searches every source of
noindex,nosnippet,max-snippet,data-nosnippetand Bingnocache/noarchive: meta tags, framework metadata APIs, header config, middleware and robots.txt. Lists the Search Console "Search generative AI" setting as a manual check. - Flags accordions that render answers only after a click (
{open && …},v-if,{#if}), main answers collapsed by default, and lists or tables drawn with divs. - Optional live URL check: fetches up to ten deployed pages to confirm answers are in the served HTML and to read the robots directives actually sent.
- Searches every source of
/aeo-fix— applies fixes from the latest audit: safe fixes as one batch, a keep/remove/narrow question for every snippet control, answer-first rewrites and question headings drawn only from the page's own text, and refactors for click-to-load accordions and CSS-grid tables. Supports--dry-run./aeo-questions— builds a question map from the site's own headings plus typed questions, a Search Console or Bing Webmaster Tools export, or web search suggestions (each linked to its source). Merges duplicates, assigns one owner page per question, and marks each answered first, buried, partial, missing or competing./aeo-auditscores question coverage against the latest map./aeo-faq— builds, updates or validates visible FAQ sections, with optional FAQPage or QAPage JSON-LD rendered from the same data. Drafts answers only from site content or the user, and keeps the main answers open.- Marketplace metadata version bumped
2.9.0→2.10.0(new plugin).
Changed
AI-GEO Plugin (v1.1.1 → v1.2.0)
/geo-auditcategories rebuilt around GEO — AI Crawler Access, Technical AI Accessibility, Topical Authority (new), Original Research & Evidence (new), Expert Perspectives & Authorship, External Validation (new), Entity Clarity, Extractable Passages, Content Freshness, and llms.txt & Markdown Access. FAQPage, speakable, question headings, definitional openings and conversational heading checks moved to/aeo-audit. Scores aren't comparable with earlier audits; the index marks the first 1.2.0 run with 🔄 instead of a trend.- Three bot groups instead of two — training crawlers, AI search indexers and user-triggered fetchers, plus Googlebot, Bingbot and Applebot. Adds AI search indexers from more vendors (Meta-WebIndexer, Amzn-SearchBot, MistralAI-Index, DuckAssistBot) and more user fetchers (meta-externalfetcher, Amzn-User, MistralAI-User, Google-Agent), and notes which fetchers say robots.txt may not apply to them.
- Optional live URL check and web search —
/geo-auditcan compare the deployed robots.txt with the repo (CDNs such as Cloudflare can add rules), confirm content is in the served HTML, and test responses to AI user agents. With web search it adds a dated off-site snapshot of brand mentions and reviews, which isn't scored. - Measuring citations section in the report: Bing Webmaster Tools AI Performance, Search Console's Generative AI performance report, server logs and a fixed question panel.
/geo-fixasks three separate robots.txt questions, offers to swap retired bot names for current ones, hands snippet controls to/aeo-fix, asks for sources behind unsourced statistics, scaffolds author pages and topic hubs, and prints off-site work as manual steps./geo-llms-txtand the README now state that Google Search ignoresllms.txt, that some coding tools read it, and that Lighthouse's agentic browsing audit checks for it. Markdown companion routes are optional and recommended only for developer docs.
Fixed
- ai-geo —
/geo-auditlisted Google-Extended in its citation crawler table. It's a robots.txt token, not a crawler, and covers Gemini training and grounding in Gemini Apps and Vertex AI only. It doesn't affect Google Search, so it can't remove a site from AI Overviews or AI Mode; those follownosnippet,max-snippet,data-nosnippet,noindexand the Search Console "Search generative AI" setting. - ai-geo — a missing
llms.txtcould be rated Critical and the category carried 15% of the score. It's now Low (Medium for developer docs) at 5%, since Google says Google Search ignores the file and no AI search provider has said it uses it. - ai-geo — removed claims that FAQPage and HowTo "are disproportionately cited by AI engines", that AI engines "prefer markdown", and that Markdown companions are "the single biggest citation-quality improvement". None has a primary source. Google stopped showing HowTo rich results in 2023 and FAQ rich results in May 2026.
- ai-geo —
Datasetmarkup is described as used by Google Dataset Search rather than Search, and ClaimReview as being phased out of Google Search. - ai-geo — FacebookBot and Omgilibot were dropped from the bot tables (Meta no longer documents FacebookBot; Omgilibot has no vendor documentation), and bot documentation links point to current pages (OpenAI's moved to developers.openai.com, Anthropic's to support.claude.com).
- ai-geo — skill examples quoted the owner's own sites and name; they now use generic examples.
- ai-geo —
/geo-llms-txtasked a site-type question with six options (AskUserQuestion allows four) and offeredllms-full.txtas an alternative to generatingllms.txt. It now asks mode, full-text companion and site type as separate questions. - ai-geo — JSON-LD examples escape
<so text in the data can't close the script tag.
Full Changelog: v2.9.0...v2.10.0
v2.9.0 — ai-slop: /slop-audit, plus a docs cleanup across every plugin
Added
AI-Slop Plugin (new — v1.0.0)
New plugin for auditing what a codebase shows its users: copy that reads as AI-written, layouts that read as templates, metadata built from boilerplate, and factual errors in all of them.
/slop-audit— report-only audit of every user-facing surface: pages and shared layout, data files that feed cards, forms, emails, visible error text, legal pages, meta and OG tags, JSON-LD,llms.txt, app strings and store metadata, README and--helptext.- Reads the project's voice rules, documented house style and earlier audit decisions first, so deliberate choices aren't flagged and settled questions aren't asked again.
- Counts habits that repeat across the site (em dashes, the main tagline, triplets, "X, not Y" slogans, a word the copy leans on) and how many files each appears in.
- Checks facts: legal pages against the third parties the code loads (and the live page's scripts when given a URL), figures and names that differ between pages, claims another page contradicts, and links or components that lead nowhere.
- Scores each area 0–100, quotes every finding with
file:lineand a concrete fix, then ends with a fix plan, its defaults and numbered questions. Edits start only after you answer; it then removes old wording from every metadata surface, runs the project's checks, and records your answers as project rules. - Ships its checklist as
signals.md: sentence, structure, claims, positioning, visual and metadata tells, plus a list of things not to flag.
- Marketplace metadata version bumped
2.8.1→2.9.0(new plugin).
Changed
- Docs rewrite after an AI slop audit (October 2026) — root README, CONTRIBUTING.md, SECURITY.md, every plugin README, all 15 marketplace and
plugin.jsondescriptions, and several skill and agent descriptions.- Plugin descriptions now open with what the plugin does. "AI-powered" and the "Noun - Clause" shape are gone.
- Removed emoji headings, "Built with ❤️" closers, "Time Savings" sections with estimated hours, and unmeasured percentages.
- Cut repeated lists and IS / IS NOT blocks. Plugin READMEs are shorter, with a short "Limits" section where one is needed.
- The GitHub repository description now matches the README tagline.
- CONTRIBUTING.md — covers bug reports and fix PRs only (new plugins and features start as an issue), and describes the current
skills/andagents/layout instead of the removedcommands/folder and/plugins-scaffold. - SECURITY.md — only the latest marketplace release gets security fixes. Reports go through the contact form, with a reply within one business day.
- CLAUDE.md — new Documentation Style rules that record these decisions.
- Patch releases for the docs and fixes below: ai-accessibility 1.4.2, ai-ado 1.3.3, ai-compliance 1.0.1, ai-geo 1.1.1, ai-git 1.3.2, ai-knowledge 1.5.2, ai-modernize 1.1.1, ai-performance 1.2.2, ai-security 2.0.1, ai-seo 1.0.1, ai-statusline 1.4.1, ai-swift 1.0.2, ai-workflow 2.0.1, ai-writing 1.0.1. Every
plugin.jsonkeyword list now matches itsmarketplace.jsonentry.
Fixed
- ai-accessibility — WCAG criteria counts in the README and in
/accessibility-auditreports were WCAG 2.0's numbers. They now give 78 criteria for 2.1 and 86 for 2.2, with per-level counts. The touch-target rule is 24×24px at AA (SC 2.5.8) and 44×44px at AAA (SC 2.5.5), and focus-indicator contrast cites SC 1.4.11. The README now lists the 508 / WCAG 2.0 AA option and has a Plugin Details section. - ai-geo —
/geo-fixand the README usedanthropic-aiandClaude-Web, which Anthropic doesn't document. They now use ClaudeBot, Claude-User and Claude-SearchBot. Google-Extended is described as a robots.txt control token, and "SearchGPT" is now ChatGPT search./geo-llms-txtno longer calls the blockquote required (the llms.txt spec requires only the H1). The README documents--dry-runand the v1.1.0 discoverability checks. - ai-knowledge — the auto memory comparison now matches the Claude Code docs: a
MEMORY.mdindex plus topic files, the first 200 lines loaded at session start, and/memoryfor browsing. - ai-modernize — removed "Claude Sonnet 2" (no such model) from the README and
/modernize-audit, and dropped stale model names from its time estimates. The README's stack list names only stacks the skill checks. - ai-seo —
nuxt-simple-sitemapis now@nuxtjs/sitemap, TanStack Start's head component is<HeadContent />, and a dead web.dev link is gone. - ai-writing —
/writing-humanizecounts 26 patterns, not 24, and its before/after example no longer invents a citation. - ai-git — the README no longer says the plugin has agents or that
/git-commit-pushstages all changes. It stages the changed files by name and skips secrets. - ai-ado —
/ado-inithad lost its README heading and was described as writing work item guidelines. The timesheet example totals now add up, and the roadmap of unbuilt skills is gone. - ai-performance — the README no longer promises custom analysis templates or CI/CD gates.
- ai-statusline — "three categories" of display options is now four, and the examples use a current model label.
- ai-swift — removed unverified figures from the README and
/swift-preflight. - ai-workflow — added the missing
/workflow-shipsection and removed unbacked "syncs via /plugin update" claims. The README's check order matches what/workflow-preflightruns, and itsargument-hintis quoted so YAML reads it as a string. - ai-compliance — Apache 2.0's NOTICE requirement applies only when the project ships a NOTICE file, and BSD licenses use their SPDX names.
Full Changelog: v2.8.1...v2.9.0