Agent-readable skill files for building on the Caffeine AI.
Structured, agent-readable skill files for every platform extension. Your AI reads the skill. It builds correctly. No hallucinations.
Every skill includes:
| Section | Purpose |
|---|---|
| Frontmatter | YAML metadata: name, description, version, package compatibility |
| Overview | One paragraph. What the component does. |
| Backend | Motoko module API and usage examples (mo:caffeineai-*) |
| Frontend | React hooks and TypeScript API (@caffeineai/*) |
| Implementation | Tested, copy-paste-correct code blocks |
Skills may include backend only, frontend only, or both — depending on the component.
All skills live in skills/extension-*/SKILL.md. Each skill is a self-contained markdown file with YAML frontmatter.
| Skill | Description |
|---|---|
| authorization | Authorization system with role-based access control |
| camera | Web-camera support |
| core-infrastructure | Core infrastructure providing backend connection configuration, storage client, and React app entry point |
| Support for sending service/transactional emails | |
| email-calendar-events | Support for organising events/meetings and sending invitations by email |
| email-marketing | Send personalised marketing emails to subscribers with an unsubscribe link |
| email-raw | Send an email with multiple to, cc and bcc addresses |
| email-verification | Support for sending a verification email with a link to prove email ownership |
| http-outcalls | HTTP outcalls performed by the backend canister |
| invite-links | Invite-link / RSVP based access for guest responses |
| object-storage | General file/object storage with browser-cached HTTP URL access |
| qr-code | QR code scanner using the camera |
| stripe | Payment support based on Stripe, supporting credit cards and debit cards |
| user-approval | Approval-based user management |
Works with any agent that supports skills (Claude Code, Cursor, Windsurf, Copilot, and more):
npx skills add caffeinelabs/skills
Browse available skills, pick your agent, and install. See skills.sh for details.
Fetch a single skill directly and place it wherever your agent reads instructions from:
curl -sL https://raw.githubusercontent.com/caffeinelabs/skills/main/skills/extension-authorization/SKILL.mdReplace extension-authorization with the skill directory name from the table above.
List all available skills programmatically:
curl -s https://api.github.com/repos/caffeinelabs/skills/contents/skills | \
jq -r '.[].name'Each SKILL.md follows a consistent structure:
---
name: extension-name
description: Short description of what the component does.
version: 0.1.1
compatibility:
mops:
caffeineai-component-name: "~0.1.0"
npm:
"@caffeineai/component-name": "~0.1.0"
---- name — identifier used for discovery and package resolution
- description — one-line summary for agents to match user intent
- version — skill file version
- compatibility — exact mops and/or npm package versions the skill documents
Below the frontmatter, skills are organized into # Backend and # Frontend sections with module APIs, usage examples, and integration notes.
Each extension might leverage reusable package in packages/:
packages/
<name>/
backend/ # Motoko package (mops.toml)
frontend/ # TypeScript package (package.json)
- Backend packages are published to the mops registry as
caffeineai-* - Frontend packages are published to GitHub Packages as
@caffeineai/*
Apache-2.0