Skip to content

README: document asking an AI agent to install the skill (easiest path) - #10

Merged
MRagabMob merged 2 commits into
mainfrom
readme-agent-install
Aug 13, 2026
Merged

MRagabMob merged 2 commits into
mainfrom
readme-agent-install

Conversation

@MRagabMob

Copy link
Copy Markdown
Collaborator

Adds "just ask your agent to install it" as README item 1, with the (easiest, recommended) badge moved off the AGENTS.md item. Items renumber to 1–7.

Verified, not assumed

Tested on both agents before documenting:

Agent What actually happens
OpenAI Codex Invokes its own $skill-installer, installs 17 files to ~/.codex/skills/paymob-integration
Claude Code Copies the skill to ~/.claude/skills/paymob-integration/ and the three slash commands into ~/.claude/commands/ (creating that directory)

Three things testing surfaced that reading the docs would not have

The prompt has to carry the subdirectory. Codex did resolve skills/paymob-integration unaided — but only after searching the web and inspecting the repo layout, and its target directory already existed. An agent that guesses wrong installs the multi-agent plugin package as if it were a standalone skill. The documented prompt therefore includes /tree/main/skills/paymob-integration so nothing is left to inference.

A fresh session is required. Skills and commands are read at session start, so they do not appear in the session that installed them. This is the single most likely reason a user concludes the install failed, and it was undocumented.

This path does not give you the MCP server. Claude Code deliberately declined to register it, correctly — it is a persistent config change pointing at a live financial service. That is the real trade-off against the plugin install, so item 1 states it plainly and routes anyone wanting live account access to item 7 rather than leaving them to discover the gap later. Item 1 also notes the name collision you get from installing both ways: two paymob-integration skills with identical descriptions.

Also in here

  • /reload-plugins is now documented. A shell claude plugin install does not take effect in a running session. This was missing and is a predictable support burden.
  • marketplace.json gains a description. claude plugin validate . --strict — Anthropic's own validator, run against this repo — failed with No marketplace description provided. It now passes. validate.py enforces the field so it cannot regress.

On claude plugin marketplace add

I flagged in #8 that this might not exist as a shell command: both the plugins-reference and cli-reference pages enumerate claude plugin subcommands and neither lists marketplace.

That was wrong, and the README is correct as-is. I resolved it by fetching the published CLI and asking it directly:

$ claude plugin marketplace --help
Commands:
  add [options] <source>      Add a marketplace from a URL, path, or GitHub repo
  list [options]              List all configured marketplaces
  remove|rm [options] <name>  Remove a configured marketplace
  update [options] [name]     Update marketplace(s) from their source

add also takes --scope and --sparse. The docs are simply incomplete. No change made to the install commands or to the validate.py required string — recording it here so the question doesn't get reopened.

Test plan

  • python scripts/validate.py passes
  • claude plugin validate . --strict passes (failed before the description fix)
  • python scripts/package_skill.py builds
  • All 13 validate_install_docs required substrings intact through the renumbering
  • Headings read 1–7 with exactly one easiest, recommended; #live-access--paymob-mcp-server and #installation anchors resolve to real headings (validate.py does not check #anchor targets, so this was checked by hand)

Sequencing

Stacked behind two open PRs, both of which should land first:

Both touch README.md, but in different sections from this PR, so conflicts are unlikely. Happy to rebase whichever lands last.

Verified on both Codex (installs via $skill-installer to
~/.codex/skills/) and Claude Code (installs as a personal skill plus the
slash commands in ~/.claude/commands/). Becomes item 1 and takes the
"easiest, recommended" badge from the AGENTS.md item; items renumber to
1-7.

The documented prompt carries the /tree/main/skills/paymob-integration
subdirectory rather than the bare repo root. Codex resolved the
subdirectory unaided, but only after searching the web and inspecting the
layout, and an agent that guesses wrong installs the multi-agent plugin
package as though it were a standalone skill.

States the two limits this path has, both found by testing rather than
reading: it does not register the MCP server, so there is no live account
access, and it does not namespace the skill, so installing it alongside
the plugin yields two identically-described skills. Also documents that a
fresh session is required, which is the most common reason the install
looks like it failed.

Separately: the Claude Code plugin block now notes that a shell
"claude plugin install" needs /reload-plugins or a restart to take effect,
and marketplace.json gains the description that
"claude plugin validate --strict" requires; validate.py now enforces it.
The intro reads as though the plugin ships through Codex, Claude, and
Lovable marketplaces. It does not: this repository is the only
distribution channel today, and the Paymob MCP server is in no vendor
connector registry either. A user who searches a marketplace for
"Paymob", finds nothing, and concludes the install is broken is the
failure this note prevents.

The Claude Code path registers this repo as a custom marketplace, which
needs no vendor listing, so every documented method works as written.
@MRagabMob
MRagabMob force-pushed the readme-agent-install branch from d257276 to 0f04f23 Compare August 13, 2026 16:27
@MRagabMob
MRagabMob merged commit 4feb039 into main Aug 13, 2026
1 check passed
@MRagabMob
MRagabMob deleted the readme-agent-install branch August 13, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant