Agent Skills
Give your coding agent the Wajub rules it would otherwise guess.
A coding agent writing a Wajub integration from memory gets the shape right and the details wrong:
it reads event.type instead of event, it parses the body before verifying the signature, it
sends an amount in minor units. Agent Skills ship those rules into your repository so the agent
reads them instead of guessing.
wajub skills install --scope projectwajub login offers this on first run, which is why you may already have them. --no-skills on
the login command skips the offer.
What gets installed
Ten skills, each one a SKILL.md with a reference document beside it. An agent loads the one
whose description matches the task at hand, and ignores the rest.
| Skill | Covers |
|---|---|
wajub-integrate | End to end: detect the stack, pick the SDK and the checkout mode, coordinate the pieces |
wajub-payments | Checkout, refunds, Hosted Checkout, Payment Links, embedded components, mobile sheets |
wajub-webhooks | Signatures, raw bodies, retries, idempotency, local forwarding |
wajub-payouts | Transfers, beneficiaries, payout status tracking |
wajub-billing | Invoice creation, delivery, updates, marking paid, cancellation |
wajub-platform-api | Accounts, customers, balance, disputes, events, raw authenticated requests |
wajub-shield | Fraud controls, blocklists, risk settings, decisions |
wajub-tax | Tax integrations and tax related workflows |
wajub-sync | Sync synchronisation, reconciliation, event driven consistency |
wajub-testing | Sandbox scenarios, the CLI, webhook forwarding, go live checks |
The suite is pinned to an API version, currently 2026-08-01, so the guidance and the platform do
not drift apart silently.
Where they land
Two destinations per scope, one for the open .agents convention and one for Claude Code. Agents
that read either directory pick them up: Codex, Claude Code, Cursor, GitHub Copilot and Gemini CLI
all do.
| Scope | Destinations |
|---|---|
project | ./.agents/skills, ./.claude/skills |
user | ~/.agents/skills, ~/.claude/skills |
Project scope commits with your repository, so everyone on the team and every agent run gets the same rules. User scope follows you across repositories. Installing both is fine, and the project copy wins where an agent reads both.
$ wajub skills install --scope project --dry-run
Planned destinations (project):
agents: /Users/you/code/shop/.agents/skills
claude: /Users/you/code/shop/.claude/skills
✓ install wajub-integrate (agents)
✓ install wajub-payments (agents)
✓ install wajub-webhooks (agents)
…Checking what you have
wajub skills status reports every skill in every scope, with its integrity.
$ wajub skills status
Wajub Agent Skills 1.4.0 (API 2026-08-01)
current wajub-integrate project/agents
current wajub-payments project/agents
modified wajub-webhooks project/agents
absent wajub-shield project/agents
…modified means the directory no longer matches what the CLI installed, usually because someone
edited a skill by hand. A plain install leaves those alone rather than overwriting your changes.
--force replaces them.
| Flag | Command | Effect |
|---|---|---|
--scope | all three | project or user. status also accepts all |
--dry-run | install, uninstall | Print the plan, write nothing |
--force | install | Replace existing or locally modified directories |
--force | uninstall | Also remove unmanaged directories |
-y, --yes | uninstall | Skip the confirmation prompt |
--json | all three | Machine readable output |
Keeping them current
Skills ship inside the CLI package, so updating the CLI and reinstalling is the whole upgrade path.
npm install -g @wajub/cli
wajub skills install --scope project --forceCommit the project scope
.agents/skills and .claude/skills are text. Committing them means a teammate cloning the
repository gets the same guidance without running anything, and a code review shows exactly what
changed when you upgrade.
Removing them
wajub skills uninstall --scope project --dry-run
wajub skills uninstall --scope project --yesWithout --force, directories you modified are left in place, on the assumption that your edits
are worth more than a clean removal.