Skip to content

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.

Install into the current project
wajub skills install --scope project

wajub 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.

SkillCovers
wajub-integrateEnd to end: detect the stack, pick the SDK and the checkout mode, coordinate the pieces
wajub-paymentsCheckout, refunds, Hosted Checkout, Payment Links, embedded components, mobile sheets
wajub-webhooksSignatures, raw bodies, retries, idempotency, local forwarding
wajub-payoutsTransfers, beneficiaries, payout status tracking
wajub-billingInvoice creation, delivery, updates, marking paid, cancellation
wajub-platform-apiAccounts, customers, balance, disputes, events, raw authenticated requests
wajub-shieldFraud controls, blocklists, risk settings, decisions
wajub-taxTax integrations and tax related workflows
wajub-syncSync synchronisation, reconciliation, event driven consistency
wajub-testingSandbox 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.

ScopeDestinations
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.

See what would happen before it happens
$ 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 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.

FlagCommandEffect
--scopeall threeproject or user. status also accepts all
--dry-runinstall, uninstallPrint the plan, write nothing
--forceinstallReplace existing or locally modified directories
--forceuninstallAlso remove unmanaged directories
-y, --yesuninstallSkip the confirmation prompt
--jsonall threeMachine readable output

Keeping them current

Skills ship inside the CLI package, so updating the CLI and reinstalling is the whole upgrade path.

Update
npm install -g @wajub/cli
wajub skills install --scope project --force

Commit 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

Uninstall
wajub skills uninstall --scope project --dry-run
wajub skills uninstall --scope project --yes

Without --force, directories you modified are left in place, on the assumption that your edits are worth more than a clean removal.

What did you think of this content?