
babatunde-fatai/ai-agent-skills-library
Developer toolsA library of useful AI Agent skills I have created and used in my projects
Overview
A collection of production-ready skills for AI coding agents. Built and tested with Claude Code, but designed to work with any AI agent — OpenAI Codex, GitHub Copilot, Cursor, Windsurf, or any tool that can read structured markdown instructions. AI coding agents are powerful, but they need domain context to implement things like payment gateways correctly. These skills give your agent the guardrails, security patterns, and implementation references it needs to ship production-quality code — regardless of which agent you use. More skills coming soon — contributions welcome. Browse the Available Skills table above and open the skill folder you need. Every skill has a SKILL.md entry point. How you load it depends on your agent: Once your agent has the skill loaded, prompt it with what you need: The skill's decision tree will route your agent to the right reference files automatically. These skills handle high-risk surfaces (money and identity).
README
Useful AI Agent Skills
A collection of production-ready skills for AI coding agents. Built and tested with Claude Code, but designed to work with any AI agent — OpenAI Codex, GitHub Copilot, Cursor, Windsurf, or any tool that can read structured markdown instructions.
Why Agent Skills?
AI coding agents are powerful, but they need domain context to implement things like payment gateways correctly. These skills give your agent the guardrails, security patterns, and implementation references it needs to ship production-quality code — regardless of which agent you use.
Available Skills
| Skill | Coverage | Key Features |
|---|---|---|
| Flutterwave Integration | 34+ African countries | Mobile money, card, bank transfer, subscriptions |
| Paystack Integration | Nigeria, Ghana, Kenya, South Africa | Card, bank, USSD, subscriptions |
| Social Auth Core | OAuth 2.0 + OIDC | Google, GitHub, LinkedIn, Apple, Twitter/X + PKCE, sessions, account linking |
More skills coming soon — contributions welcome.
Quick Start
1. Pick a skill
Browse the Available Skills table above and open the skill folder you need.
2. Point your agent at it
Every skill has a SKILL.md entry point. How you load it depends on your agent:
Claude Code (recommended — built and tested here first)
# Add as a project skill (persists across sessions)
cp -r payment-gateway-integrations-skills/paystack-integration ~/.claude/skills/paystack-integration
# Add another skill the same way
cp -r authentication-skills/social-auth-core ~/.claude/skills/social-auth-core
# Or reference directly in a prompt
# "Read payment-gateway-integrations-skills/paystack-integration/SKILL.md and implement Paystack payments for my Next.js app"
OpenAI Codex / ChatGPT
Point your agent to the folder containing SKILL.md and references, and tell it to follow instructions within. Codex will follow the decision tree and reference files just like Claude does. Reference SKILL.md in your prompt:
"Follow the instructions in SKILL.md to add Flutterwave payments. ...{You can add other codebase specific instructions or unique features you want}"
GitHub Copilot / Cursor / Windsurf
Add the skill folder to your project (or workspace) so the agent can
discover it. Reference SKILL.md in your prompt:
"Follow the instructions in SKILL.md to add Flutterwave payments. ...{You can add other codebase specific instructions or unique features you want}"
Any other agent
These skills are plain markdown — no proprietary format. Any agent that
can read files or accept text context can use them. Just point them to SKILL.md and its references/ folder for deeper implementation details.
3. Give it a task
Once your agent has the skill loaded, prompt it with what you need:
"Set up Paystack one-time payments in my Next.js app with webhook verification"
"Add Flutterwave mobile money payments for Kenya and Ghana"
"Implement subscription billing with Paystack"
"Implement Google social login (OAuth/OIDC) in my Next.js app using Auth Code + PKCE"
The skill’s decision tree will route your agent to the right reference files automatically.
4. Verify before shipping
These skills handle high-risk surfaces (money and identity). Always:
- Test end-to-end in sandbox/test mode using the provided test credentials
- Audit webhook signature verification (payments)
- Confirm amount verification logic (payments)
- Audit
state/noncevalidation and session rotation (auth) - Review the
AGENT_EXECUTION_SPEC.mdsafety checklist
Flutterwave Integration Skill
An AI agent skill for implementing Flutterwave payment processing across 34+ African countries. Framework agnostic with Next.js and Express implementation guidelines.
What This Skill Does
This skill provides structured guidance for coding agents implementing:
- One-time payments - Card, bank transfer, USSD, mobile money
- Mobile money - M-Pesa (Kenya), MTN/Vodafone/Airtel (Ghana, Uganda), Francophone Africa (XOF/XAF)
- Subscriptions - Payment plans and recurring billing
- Bank transfers & payouts - Collection and disbursement
- Webhook handling - Two verification methods with security guarantees
Key Design Decisions
tx_ref Generation (User-Generated)
Unlike platforms like Paystack where the API can generate references, Flutterwave requires you to generate the tx_ref before calling the API:
1. Generate unique tx_ref
2. Store in DB with status=pending
3. Call Flutterwave /v3/payments
4. Redirect user to returned link
This ensures your database always knows about the transaction before Flutterwave does, preventing orphan webhook events.
Two Webhook Verification Methods
The skill documents both approaches:
- Simple (verif-hash) - Direct header comparison to your secret hash
- Secure (HMAC-SHA256) - Cryptographic signature with timing-safe comparison
Both are production-valid. Use HMAC when you can access the raw request body.
Pan-African Mobile Money Coverage
Comprehensive documentation for mobile money across regions:
| Region | Countries | Networks |
|---|---|---|
| East Africa | Kenya, Uganda, Tanzania, Rwanda | M-Pesa, MTN, Airtel |
| West Africa | Ghana, Nigeria | MTN, Vodafone, Airtel, USSD |
| Francophone | Senegal, Ivory Coast, Mali, Cameroon | Orange, MTN, Moov |
Skill Structure
flutterwave-integration/
├── SKILL.md # Entry point - start here
└── references/
├── AGENT_EXECUTION_SPEC.md # Safety contract (read first)
├── one-time-payments.md # Initialize, verify, tokenization
├── webhooks.md # Both verification methods
├── mobile-money.md # M-Pesa, MTN, Airtel, Francophone
├── bank-transfers.md # Payouts, PWBT collection
├── subscriptions.md # Payment plans, recurring billing
├── nextjs-implementation.md # Complete App Router guide
├── express-implementation.md # Full MVC structure
├── implementation-patterns.md # Framework-agnostic pseudocode
├── flutterwave-specific.md # v3 vs v4, enckey, split payments
├── troubleshooting.md # Common errors, debug checklist
├── database-example.md # Schema examples
└── testing-with-ngrok.md # Local webhook testing
How Agents Should Use This Skill
- Read SKILL.md - Contains the decision tree for which reference file to read
- Start with AGENT_EXECUTION_SPEC.md - Defines the 10 payment invariants that prevent fraud
- Pick framework guide -
nextjs-implementation.mdorexpress-implementation.md - Add specialized features - Mobile money, subscriptions, etc.
Security Standards (Non-Negotiable)
- SHA256 HMAC webhook verification with
crypto.timingSafeEqual() - Amount verification in smallest currency unit (kobo/pesewas/cents)
- Raw body handling for webhook signature verification
- Secret key isolation (backend only, never frontend)
- Idempotent webhook handlers (check if order already paid before processing)
Test Credentials
| Type | Number | Details |
|---|---|---|
| Success Card | 5531886652142950 |
CVV: 564, Expiry: 09/32, PIN: 3310, OTP: 12345 |
| Failed Card | 5258585922666506 |
Insufficient funds |
| Ghana Mobile | 0551234987 |
OTP: 123456 |
Keys format:
- Test:
FLWSECK_TEST-*/FLWPUBK_TEST-* - Live:
FLWSECK-*/FLWPUBK-*
Differences from Paystack Skill
| Aspect | Flutterwave | Paystack |
|---|---|---|
| Reference | tx_ref (user generates) |
reference (API can generate) |
| Webhook header | verif-hash or flutterwave-signature |
x-paystack-signature |
| Hash algorithm | SHA256 | SHA512 |
| Countries | 34+ African countries | 4 (NG, GH, ZA, KE) |
| Mobile money | Built-in per-country types | Single mobile_money channel |
| API version | v3 (stable) / v4 (beta) | Single version |
Quality Score
- Score: 9/10
- Strengths: Clear security-first approach, comprehensive mobile money docs, excellent TypeScript types
- Minor gaps: Could add subscription lifecycle flowchart
Built for AI coding agents implementing African payment infrastructure. Works with Claude Code, OpenAI Codex, GitHub Copilot, Cursor, and any agent that reads markdown. Covers frontend and backend implementations.
=======================================================
Paystack Integration Skill
An AI agent skill for implementing Paystack payment processing for African markets (Nigeria, Ghana, Kenya, South Africa). Framework agnostic with Next.js and Express implementation guidelines.
What This Skill Does
This skill provides structured guidance for coding agents implementing:
- One-time payments - Card, bank transfer, USSD, QR, mobile money
- Subscriptions - Plans, recurring billing, charge authorization
- Webhook handling - SHA512 HMAC verification with security guarantees
- Multi-currency - NGN (kobo), GHS (pesewas), ZAR (cents), KES (cents)
Key Design Decisions
Reference Flow (Paystack-First)
Unlike some platforms where you generate references locally, Paystack can generate references for you. The skill enforces a Paystack-first pattern:
1. Call Paystack /transaction/initialize (omit reference)
2. Paystack returns unique reference
3. Store reference in DB with status=pending
4. Redirect user to authorization_url
This prevents orphan database records when API calls fail.
SHA512 Webhook Verification
Paystack uses HMAC-SHA512 for webhook signatures. The skill documents:
- Raw body capture before JSON parsing
- Timing-safe comparison with
crypto.timingSafeEqual() - Proper header extraction (
x-paystack-signature)
Kobo Conversion
All amounts are in smallest currency unit. The skill enforces:
- NGN → kobo (×100)
- GHS → pesewas (×100)
- ZAR/KES → cents (×100)
Amount verification prevents underpayment fraud.
Skill Structure
paystack-integration/
├── SKILL.md # Entry point - start here
└── references/
├── AGENT_EXECUTION_SPEC.md # Safety contract (read first)
├── one-time-payments.md # Initialize, verify, popup/redirect
├── webhooks.md # Signature verification, events
├── subscriptions.md # Plans, recurring, authorization
├── nextjs-implementation.md # Complete App Router guide
├── express-implementation.md # Full MVC structure
├── implementation-patterns.md # Framework-agnostic pseudocode
└── troubleshooting.md # Common errors, debug checklist
How Agents Should Use This Skill
- Read SKILL.md - Contains the decision tree for which reference file to read
- Start with AGENT_EXECUTION_SPEC.md - Defines the payment invariants that prevent fraud
- Pick framework guide -
nextjs-implementation.mdorexpress-implementation.md - Add specialized features - Subscriptions, charge authorization, etc.
Security Standards (Non-Negotiable)
- SHA512 HMAC webhook verification with
crypto.timingSafeEqual() - Amount verification in smallest currency unit (kobo/pesewas/cents)
- Raw body handling for webhook signature verification
- Secret key isolation (backend only, never frontend)
- Idempotent webhook handlers (check if order already paid before processing)
Test Credentials
| Type | Number | Details |
|---|---|---|
| Success Card | 4084084084084081 |
CVV: any 3 digits, Expiry: any future, PIN: 1234, OTP: 123456 |
| Insufficient Funds | 5078575078575078 |
Same details as above |
| Declined | 4084080000005408 |
Same details as above |
Keys format:
- Test:
sk_test_*/pk_test_* - Live:
sk_live_*/pk_live_*
Environment Setup
| Key | Scope | Purpose |
|---|---|---|
PAYSTACK_SECRET_KEY |
Backend Only | Authorizing API requests and verifying webhooks |
PAYSTACK_PUBLIC_KEY |
Frontend/Mobile | Initializing Inline.js popup/redirect |
Quality Score
- Score: 8.5/10
- Strengths: Clear security-first approach, production-ready examples, comprehensive types
- Minor gaps: Could add subscription lifecycle flowchart
Built for AI coding agents implementing African payment infrastructure. Works with Claude Code, OpenAI Codex, GitHub Copilot, Cursor, and any agent that reads markdown. Covers frontend and backend implementations.
Developer Safety Note
These skills handle financial transactions. Before moving to production:
- Always verify AI-generated code regardless of which agent produced it.
- Test end-to-end flows in sandbox/test mode with the provided test credentials.
- Audit your webhook signature verification — never skip the raw body check.
Social Auth Core Skill
A security-first AI agent skill for implementing OAuth 2.0 + OpenID Connect (OIDC) social login. Provider-agnostic, framework-agnostic, and designed to enforce a deterministic, safe execution order before any code is written.
Supported Providers (Out of the Box)
- GitHub
- Apple
- Twitter/X
If you need another provider, this skill includes a clear pattern for adding a new provider file under authentication-skills/social-auth-core/references/providers/.
What This Skill Does
This skill provides structured guidance for agents implementing:
- OAuth login (Auth Code + PKCE) -
state,nonce(OIDC), PKCES256, strict redirect URI handling - Provider integration - Google, GitHub, LinkedIn, Apple, Twitter/X (and a pattern for adding others)
- Token exchange + validation - server-side token handling, OIDC ID token validation with JWKS
- Sessions + cookies - secure cookie/session configuration, session rotation after login
- Token lifecycle - storage rules, refresh token rotation, revocation on logout (where supported)
- Account linking - multi-provider identities, verified-email linking policy, takeover protections
- Framework adapters - Next.js, Express, vanilla Node, plus backend patterns for Laravel/Django/Flask/Rails and Vue integration guidance
Key Design Decisions
Discovery-First (No Code Until Discovery Report)
OAuth/OIDC work fails most often due to missing context: callback URLs, domain topology, existing auth stack, and account linking rules. This skill requires a Discovery Report before any code/config changes and defines stop conditions when required inputs are missing.
Authorization Code + PKCE Only
The skill forbids implicit flow and enforces a canonical “Auth Code + PKCE (S256)” path:
1. Generate state, nonce, code_verifier
2. Derive code_challenge (S256)
3. Store state/nonce/verifier server-side (bound to a pre-auth session)
4. Redirect to provider authorize endpoint
5. Callback: validate state (+ nonce for OIDC), one-time use
6. Exchange code for tokens using code_verifier
7. Validate ID token (OIDC): signature + claims
8. Create/link user, rotate session, persist tokens server-side only
Server-Side Token Discipline
- No tokens in
localStorage. - No tokens in client-readable cookies.
- Encrypt tokens at rest if persisted.
- Never log auth codes, tokens, client secrets, or full provider responses.
Account Linking Policy (Takeover-Resistant)
The skill includes an explicit, safe “trusted email” rule: auto-link by email only when both sides are verified and provider asserts email_verified. It also covers collision handling for provider IDs.
Skill Structure
authentication-skills/social-auth-core/
├── SKILL.md # Entry point - start here
└── references/
├── AGENT_EXECUTION_SPEC.md # Security contract + required output order
├── providers/ # Provider specifics (Google, GitHub, LinkedIn, Apple, Twitter/X)
├── patterns/ # OAuth flow, sessions, tokens, refresh lifecycle, data models
├── adapters/ # Next.js, Express, vanilla Node, plus other framework patterns
└── governance/ # Env contract, edge cases, account linking, testing/validation
How Agents Should Use This Skill
- Read
SKILL.md- routing logic for providers, patterns, adapters, and governance - Start with
references/AGENT_EXECUTION_SPEC.md- execution order + non-negotiable security rules - Pick provider docs - read the provider reference and verify against live provider docs
- Pick an adapter - Next.js/Express/vanilla Node, or pseudocode patterns for unsupported frameworks
- Follow governance - env naming, edge cases, account linking, and testing checklist are mandatory
Security Standards (Non-Negotiable)
- Authorization Code flow only; implicit flow is forbidden
- PKCE required (method
S256) staterequired and validated; enforce one-time usenoncerequired for OIDC and validated against ID token- Exact-match redirect URI allowlist (no wildcards)
- Server-side token storage only; encrypt at rest when persisted
- Session rotation after successful login
- Least-privilege scopes; no scope broadening without approval
- Rate limit login start + callback routes
Environment Setup (Recommended)
Core variables follow a provider-scoped naming discipline:
| Key | Scope | Purpose |
|---|---|---|
SOCIAL_AUTH__CLIENT_ID |
Server (and sometimes public) | OAuth client id |
SOCIAL_AUTH__CLIENT_SECRET |
Server only | OAuth client secret |
SOCIAL_AUTH__REDIRECT_URI |
Server only | Callback URL registered with provider |
SOCIAL_AUTH__SCOPES |
Server only | Requested scopes (e.g., openid email profile) |
SOCIAL_AUTH_SESSION_SECRET |
Server only | Encrypts short-lived OAuth state storage |
FRONTEND_URL |
Server only | Used for post-callback redirects (if applicable) |
Provider credential formats differ; the provider reference files include mapping guidance.
Testing Checklist (Minimum)
- Reject missing/mismatched
state(CSRF protection) - Reject missing
codeon callback - Verify
noncefor OIDC providers - Ensure session id rotates on login
- Verify cookie flags:
HttpOnly,Secure, and correctSameSite - Confirm tokens are never returned to frontend by default
Quality Score
- Score: 9/10
- Strengths: discovery-first workflow, strong security invariants, multi-provider/account-linking guidance, broad adapter coverage
- Minor gaps: more concrete end-to-end samples per framework/provider; serverless-first adapter
Built for AI coding agents implementing OAuth/OIDC social login safely. Works with Claude Code, OpenAI Codex, GitHub Copilot, Cursor, and any agent that can read markdown.
Developer Safety Note
Authentication is a high-risk surface. Before shipping:
- Verify the provider’s latest docs (endpoints, scopes, PKCE requirements, token claims).
- Audit
state/noncevalidation and session rotation. - Confirm tokens never reach the browser unless explicitly required by your architecture.
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add babatunde-fatai/ai-agent-skills-library