21 Commits
Author SHA1 Message Date
Addy Osmani aeac41d4d0 chore(release): bump plugin manifests to 0.6.13 2026-10-13 16:21:06 -04:00
Addy Osmani a06bc63b3f chore(release): bump plugin manifests to 0.6.12 2026-10-02 23:42:00 -07:00
Addy Osmani 2686b620fc chore(release): bump plugin manifests to 0.6.11 2026-09-25 21:19:37 -07:00
Federico Bartoli 5aec0d0eaf chore(evals): scope claude plugin eval to evals/plugin via the manifest 2026-09-25 23:16:34 +02:00
Addy Osmani c004a74784 chore(release): bump plugin manifests to 0.6.10 2026-09-17 20:32:15 -07:00
Addy Osmani 84ee506738 chore(release): bump plugin manifests to 0.6.9 2026-09-04 20:24:36 -07:00
Addy Osmani d2c37ef622 chore(release): bump plugin manifests to 0.6.8 2026-08-28 16:30:57 -07:00
Addy Osmani df1edb2e05 chore(release): bump plugin manifests to 0.6.7 2026-08-14 11:50:27 -07:00
Liyuk 65d41e529b Fix plugin manifest version consistency 2026-08-04 08:00:36 -07:00
Liyuk 0140c5869c Fix plugin manifest version consistency 2026-08-04 08:00:32 -07:00
Addy Osmani 366beecb73 fix(plugin): remove agents key so Claude Code loads the four personas (#449)
The explicit agents array in .claude-plugin/plugin.json causes Claude Code
to load zero subagents; it discovers agents/*.md on its own, and the explicit
list suppresses that discovery. Reproduced on Claude Code 2.1.219: with the
key present, plugin details reports Agents (0); with it removed, all four load
(code-reviewer, security-auditor, test-engineer, web-performance-auditor).

Safe to omit since #260 moved agents/README.md into docs/, so the agents/
directory now holds only real agent definitions. Scoped to the Claude Code
manifest only; the Codex manifest is untouched.
2026-08-03 13:00:49 -07:00
Shika a897dade86 fix(claude-plugin): clear "commands/ ignored" lint without breaking Antigravity
Claude Code v2.1.140+ flags the repo-root commands/ folder as "ignored" in
/doctor, `claude plugin list`, and the /plugin detail view, because
.claude-plugin/plugin.json points `commands` at ./.claude/commands (outside the
default folder) while a root commands/ still exists for Antigravity CLI.

List both locations explicitly so the default folder is no longer "ignored".
Per the plugins reference, the array form keeps the default and adds the custom
dir; the command loader only registers .md files, so Antigravity's
commands/*.toml are silently skipped (no extra Claude commands) and the lint
clears. No behavior change for Claude, Antigravity, or any other tool.
2026-06-13 15:07:38 -04:00
Addy Osmani d187883b7d fix(plugin): register web-performance-auditor in plugin.json agents
The .claude-plugin/plugin.json agents array still listed only 3 personas;
add web-performance-auditor so the manifest matches the agents/ directory
(now 4). Verified with `claude plugin validate .`.
2026-06-10 18:39:38 -07:00
Addy OsmaniandCopilot 77ffedb28c fix: update marketplace.json to use explicit GitHub source format
Replace relative path source ("./") with the canonical GitHub source
object format ({ "source": "github", "repo": "owner/repo" }).

This resolves schema validation errors seen in Claude CLI v2.1.156+
where the relative path format caused 'Invalid input' errors in
strict marketplace JSON validators.

Also adds:
- $schema reference for editor autocomplete and validation
- top-level description field (was nested under metadata)
- owner URL, homepage, license, and keywords fields

Closes #212

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-02 09:15:47 -07:00
Addy Osmani 63a4e1188a Merge pull request #163 from git-clone-abhinav/fix/marketplace-source-relative-path
fix(marketplace): use relative path source to bypass install bug
2026-05-24 13:58:20 -07:00
felixlogotelandClaude Opus 4.7 f3f8ed8352 fix(#145): drop pinning version field from plugin.json
The hard-coded `"version": "1.0.0"` in .claude-plugin/plugin.json
pins every install at the snapshot taken when that string was first
set. Per the Claude Code marketplace docs:

> Setting `version` pins the plugin. If `plugin.json` declares
> `"version": "1.0.0"`, pushing new commits without changing that
> string does nothing for existing users, because Claude Code sees
> the same version and keeps the cached copy. Bump the field on
> every release, or omit it to use the commit SHA.
> https://code.claude.com/docs/en/plugin-marketplaces#version-resolution-and-release-channels

Two consequences observed in practice:

1. Users who ran `/plugin install agent-skills@addy-agent-skills`
   weeks ago do not receive the 37 commits landed on main since
   the 0.6.0 release (including the new `doubt-driven-development`
   and `interview-me` skills, plus several frontmatter and
   cross-reference fixes). `claude plugin update` reports no
   change because the cached and remote `version` strings match.
2. The release tags `0.5.0` and `0.6.0` have shipped with no
   corresponding bump in `plugin.json`, so the existing release
   cadence already does not feed Claude Code's update mechanism.

Dropping the `version` field switches the plugin to commit-SHA
versioning, which the same docs explicitly recommend:

> If you omit `version` and host this marketplace in git, every
> commit automatically counts as a new version. This is the
> simplest setup for internal or actively-developed plugins.

Given the repo's commit cadence (37 commits / ~3 weeks between
0.6.0 and HEAD) and its content profile (mostly markdown SKILL.md
files with low per-commit breakage risk), commit-SHA versioning
fits this project better than manual semver bumps. Git tags and
GitHub Releases remain available as editorial milestones for
changelog and announcements; they just no longer need to drive
the update mechanism.

Closes #145.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 14:08:12 +02:00
BasedDev03 ac61f29182 fix(marketplace): use relative path source to bypass install bug
The github source object form `{ "source": "github", "repo": "..." }`
fails to install on Claude Code v2.1.112 with:

  fatal: repository 'https://github.com/:addyosmani/agent-skills.git/' not found

The `:owner/:repo` template is not interpolated, producing a malformed
URL. Since the plugin lives in the same repo as the marketplace, switch
to a relative path (`./`) which sidesteps the github source path
entirely and works for all marketplace add transports (github, https,
ssh, local).

CI workflow `.github/workflows/test-plugin-install.yml` already uses
`claude plugin marketplace add ./`, so the change is exercised on every
push.
2026-05-10 15:14:30 +05:30
Addy Osmani 23cf44428d fix(plugin): use directory form for skills (auto-discover)
The Claude Code plugin schema accepts string|array for the `skills`
field; passing a directory path auto-discovers every `<name>/SKILL.md`
beneath it (per https://code.claude.com/docs/en/plugins-reference,
which lists `"./custom/skills/"` as a valid example).

Switching `skills` from a 21-element array to `"./skills"` keeps the
fix for #112 (skills are still explicitly declared, so discovery is
not suppressed) while removing the maintenance burden — adding a new
skill no longer requires also editing this manifest.

`agents` stays as an explicit array because `./agents/` contains
`README.md`, which would be picked up as a malformed agent if the
directory form were used here.
2026-05-06 18:22:55 -07:00
Trivenzaa-AdminandClaude Sonnet 4.6 7c9bc4506d fix(plugin): use arrays for skills and agents in plugin.json
The previous commit used directory strings ("./skills", "./agents")
which is not the correct plugin.json schema. Real Claude Code plugins
(e.g. davidfowl/dotnet-skillz, pluginagentmarketplace/custom-plugin-graphql)
use arrays of paths — either skill directory paths or explicit file paths.

Corrects the fix to list all 21 skill directories and 3 agent files
as proper arrays.

Fixes #112

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 13:11:29 -07:00
Trivenzaa-AdminandClaude Sonnet 4.6 a90bad6cec fix(plugin): declare skills and agents paths in plugin.json
Claude Code's plugin loader requires explicit path declarations when
any path field (like `commands`) is already present. Without `skills`
and `agents` fields, auto-discovery is suppressed and all 21 skills
return "Unknown skill" when invoked via the Skill tool.

Adds:
  "skills": "./skills"
  "agents": "./agents"

This makes all 21 skills discoverable and invokable by name (e.g.
`code-review-and-quality`) and registers the 3 agent personas
(`code-reviewer`, `test-engineer`, `security-auditor`) as subagents.

Fixes #112

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 12:34:48 -07:00
Federico Bartoli 0490a93323 Add Claude Code plugin manifest and marketplace catalog
Enable this repo to work as a Claude Code plugin so users can
install it via `/plugin marketplace add addyosmani/agent-skills`.

Add:
- .claude-plugin/plugin.json — plugin manifest exposing
  .claude/commands/ as namespaced slash commands under
  the agent-skills: prefix
- .claude-plugin/marketplace.json — marketplace catalog
  listing this repo as the agent-skills plugin

Fix:
- hooks/hooks.json — rewrite from deprecated flat-array format
  to the plugin-system format keyed by event type; use
  ${CLAUDE_PLUGIN_ROOT} so the hook resolves correctly when the
  plugin is installed from the marketplace into the local cache
- README — replace non-existent `claude plugin add` with the
  correct `/plugin marketplace add` workflow; document namespaced
  slash commands and --plugin-dir usage; add .claude-plugin/ to
  the project tree
2026-02-23 12:29:43 +01:00