Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "colgrep-mcp-marketplace",
"name": "cracking-shells",
"interface": {
"displayName": "colgrep"
"displayName": "CrackingShells"
},
"plugins": [
{
Expand Down
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "colgrep-mcp",
"description": "Marketplace for colgrep-mcp: the product plugin (semantic and hybrid code search as MCP tools) and the maintainer's dev plugin of skills.",
"name": "cracking-shells",
"description": "CrackingShells marketplace. Here: colgrep-mcp, the product plugin (semantic and hybrid code search as MCP tools), and colgrep-mcp-dev, the maintainer's plugin of skills.",
"owner": {
"name": "Eliott Jacopin",
"email": "eliott.jacopin@riken.jp"
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ runs the same roadmap sequentially under the same discipline. Load the

```bash
claude --plugin-dir ./dev # from a clone
claude plugin install colgrep-mcp-dev@colgrep-mcp # from the repo's marketplace
claude plugin install colgrep-mcp-dev@cracking-shells # from the repo's marketplace
```

`colgrep-mcp-dev` (`dev/`) ships the maintainer skills; the product plugin
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ claude plugin marketplace add CrackingShells/colgrep-mcp
```

```bash
claude plugin install colgrep-mcp@colgrep-mcp
claude plugin install colgrep-mcp@cracking-shells
```

Add `--scope project` to the marketplace command to declare it in the repository's own `.claude/settings.json` instead of your user settings, so teammates who open this project pick it up too.
Expand All @@ -41,7 +41,7 @@ codex plugin marketplace add CrackingShells/colgrep-mcp
```

```bash
codex plugin add colgrep-mcp@colgrep-mcp-marketplace
codex plugin add colgrep-mcp@cracking-shells
```

The Codex manifests are `.agents/plugins/marketplace.json` and `.codex-plugin/plugin.json`.
Expand Down
2 changes: 1 addition & 1 deletion dev/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ installs it:

```bash
claude --plugin-dir ./dev # from a clone
claude plugin install colgrep-mcp-dev@colgrep-mcp # from the repo's own marketplace
claude plugin install colgrep-mcp-dev@cracking-shells # from the repo's own marketplace
```

The product plugin (`colgrep-mcp`, repository root) never ships these skills;
Expand Down
42 changes: 24 additions & 18 deletions dev/skills/stack-traps/references/claude-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,27 +62,33 @@ hand and never re-tag.

## The install/list command reads oddly or fails to resolve {#namespaces}

**Symptom**: `claude plugin install colgrep-mcp@colgrep-mcp` looks like a
typo (same name on both sides of the `@`), or a plugin/marketplace name
collision seems like it should fail but doesn't — or conversely, an install
**Symptom**: `claude plugin install colgrep-mcp@cracking-shells` names a
marketplace that is not the repository; an install string copied from an
older README or report (`colgrep-mcp@colgrep-mcp`,
`colgrep-mcp@colgrep-mcp-marketplace`) no longer resolves; or an install
command copied from Claude Code's convention doesn't work verbatim for
Codex.

**Cause**: marketplace names and plugin names live in separate namespaces.
`colgrep-mcp@colgrep-mcp` parses unambiguously as `<plugin>@<marketplace>`
even though both happen to be named `colgrep-mcp` — a naming coincidence,
not a bug. Codex's own marketplace file names itself `colgrep-mcp-marketplace`
(not `colgrep-mcp`), so the equivalent Codex command is
`codex plugin add colgrep-mcp@colgrep-mcp-marketplace` — the two
ecosystems' install commands don't mirror each other syntactically. A
`source` field of `"./"` or `"./dev"` in a marketplace manifest resolves
relative to the marketplace root, which works for a marketplace added from
a git source or local directory but not for a direct URL to the
`marketplace.json` file itself. (`RI`.)

**What to do**: don't "fix" the `colgrep-mcp@colgrep-mcp` string as if it
were a typo. When writing install instructions for a second ecosystem,
copy that ecosystem's own marketplace `name`, not Claude Code's.
**Cause**: marketplace names and plugin names live in separate namespaces,
`<plugin>@<marketplace>`. Both marketplace files
(`.claude-plugin/marketplace.json`, `.agents/plugins/marketplace.json`) name
themselves `cracking-shells`, the organization, so one marketplace can carry
every CrackingShells plugin; the plugin keeps the repository's name. Until
after v0.5.0 the Claude marketplace was named `colgrep-mcp` and the Codex one
`colgrep-mcp-marketplace`, so reports and machines from that period still
carry those strings, and a machine that added the marketplace under the old
name keeps it under that name until it is removed and re-added. A `source`
field of `"./"` or `"./dev"` in a marketplace manifest resolves relative to
the marketplace root, which works for a marketplace added from a git source
or local directory but not for a direct URL to the `marketplace.json` file
itself. (`RI`.)

**What to do**: on a machine that shows `colgrep-mcp` under
`claude plugin marketplace list`, run
`claude plugin marketplace remove colgrep-mcp` and add it again, then
reinstall `colgrep-mcp@cracking-shells`. When writing install instructions
for a second ecosystem, copy that ecosystem's own marketplace `name`; here
the two happen to match, which is a choice, not a rule.

## `claude -p` / `claude plugin eval` fails with an OAuth error {#oauth}

Expand Down
2 changes: 1 addition & 1 deletion server/tests/test_dev_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ def test_agents_md_names_every_dev_skill():
def test_agents_md_says_how_to_load_the_dev_plugin():
text = AGENTS_MD.read_text()
assert "--plugin-dir ./dev" in text or "--plugin-dir dev" in text
assert "colgrep-mcp-dev@colgrep-mcp" in text
assert "colgrep-mcp-dev@cracking-shells" in text


def test_every_dev_skill_has_a_name_matching_its_directory_and_a_description():
Expand Down