Agent Skills
Blocks Skills teach AI coding agents how to build on Blocks OS. Each skill covers one job on one Blocks service: which blocks CLI commands or @seliseblocks/client SDK calls to use, how to chain them into a working flow, and how to wire the result into an app.
You do not pick a skill. You describe what you want in plain language, and the agent maps the request to the right skill and runs it.
Skills work with any coding agent that reads the .agents/skills/ convention or has its own skills directory: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, Amp, Zed, Windsurf, Kilo Code, Kimi Code, Qwen Code and Kiro.
Get started
Open a terminal in the repository you want to work in, start your coding agent, and paste this prompt:
Read https://seliseblocks.com/bootstrap and follow it to bootstrap this repo, then help me sign in and get started with SELISE Blocks.
The agent installs the skills into the repository and then walks you through installing the CLI, signing in, and selecting a project. If you already have a project key, hand it over in the same prompt:
Read https://seliseblocks.com/bootstrap and follow it to bootstrap this repo, then get me set up on project <x-blocks-key> and show me what's already there.
To install the skills without starting any project work, drop everything after "bootstrap this repo".
The agent asks before it writes files, before it installs the CLI, and before any operation that changes a project. Nothing is added to your application's dependencies.
What gets installed
<your-repo>/
AGENTS.md # Blocks routing rules, imported between markers
.agents/skills/<skill>/ # the skill content, one directory per skill
.agents/skills/.blocks-skills-source # provenance: source repos, commits, skill list
.agents/skills/.blocks-reporting # your anonymous-reporting choice
# only for agents in use that do not read .agents/skills/ or AGENTS.md:
.claude/skills/<skill>/SKILL.md # pointer stubs (Claude Code)
CLAUDE.md, GEMINI.md, QWEN.md # pointer files
There is one copy of each skill. Agents that read .agents/skills/ and AGENTS.md natively need nothing else. Agents that only read their own directory get a small pointer stub there. The agent detects which tools are in use and confirms the list with you before writing anything.
Commit the installed files so your team shares the same skill versions.
The two surfaces
Every skill states which of two surfaces it uses. Agents never call the Blocks HTTP API directly.
| Surface | Package | Used for |
|---|---|---|
blocks CLI | @seliseblocks/cli-os | Terminal and admin work: sign-in, project selection, scaffolding, schemas, roles, SSO, translations, mail, releases. Runs with a project-scoped token that never enters app code. |
| SDK | @seliseblocks/client | Application code that runs as the signed-in user: CRUD, file upload, login flow, profile, translations, notifications. |
Install them when you need them. The bootstrap asks before installing the CLI.
npm install -g @seliseblocks/cli-os@latest
blocks --version
npm install @seliseblocks/client@latest
Both require Node.js 20 or newer.
Available skills
The routing rules live in the blocks-skills repository. The skill content lives in blocks-cli/blocks-skills/, which is the list below.
Start here
| Skill | Surface | Purpose |
|---|---|---|
blocks-bootstrap | CLI | Get from any starting state to a working setup: CLI installed, signed in, project selected, app scaffolded with blocks new web. Runs first whenever state is unknown. |
Data
| Skill | Surface | Purpose |
|---|---|---|
blocks-data-gateway-configuration | CLI | Define, edit, secure, validate and reload the data model: schemas, fields, access policies, validation rules. |
blocks-data-gateway-crud | SDK | Read and write records through a schema from app code, per-item or via GraphQL. |
blocks-data-storage | Both | File and document features: upload and download, folders, search, versions, trash and restore, sharing, access policies. |
blocks-storage-configuration | CLI | Choose or rotate the storage provider behind the file tree: Azure Blob, S3-compatible, local or SFTP. |
IAM
| Skill | Surface | Purpose |
|---|---|---|
blocks-iam-account | SDK | The signed-in user's own account: activation, password reset and change, logout, profile, signup. |
blocks-iam-users | Both | Manage other users: invite, edit, activate, deactivate, search, grant and revoke roles. |
blocks-iam-access-control | Both | Roles and permissions: gate features by the current user's roles, and define roles and permissions. |
blocks-iam-organizations | Both | Multi-tenant workspaces: organization switcher, signup policy, creating and editing organizations. |
blocks-iam-mfa | Both | Self-service MFA for the signed-in user and tenant-wide MFA policy. |
blocks-iam-sso-oidc-configuration | CLI | Enable SSO: register the OIDC client and identity provider a project needs. |
blocks-iam-sso-oidc-implementation | SDK | Extend or debug the hosted login flow the scaffold ships: redirect, callback, session, guards, refresh. |
blocks-captcha | CLI | Configure reCAPTCHA or hCaptcha on the project login: register keys, enable, disable, inspect. |
Localization
| Skill | Surface | Purpose |
|---|---|---|
blocks-localization-configuration | CLI | Author translations: local i18n dictionaries, validate, push and pull, languages, modules, AI suggestions. |
blocks-localization-implementation | SDK | Consume translations at runtime: load dictionaries, look up keys, build a language switcher. |
Messaging
| Skill | Surface | Purpose |
|---|---|---|
blocks-mail | Both | Send transactional email from app code, or administer mail servers, templates and mailbox history. |
blocks-notifier | Both | Send real-time and offline notifications and manage a user's notification inbox. |
blocks-notification | CLI | Configure tenant notification channels. |
Platform operations
| Skill | Surface | Purpose |
|---|---|---|
blocks-release-deployment | CLI | Trigger and inspect Release builds and deployments. |
blocks-secrets | CLI | Manage the project secret store: create, rotate, lock, audit and restore named secrets. |
Local development
| Skill | Surface | Purpose |
|---|---|---|
blocks-frontend-local-https | Tooling | Run a scaffolded app locally over HTTPS on its real project domain, which hosted login requires. |
Prerequisites
- A coding agent from the list above
- A git repository to work in, new or existing
- Node.js 20 or newer
- A Blocks OS account. If you do not have one, the bootstrap guides you through sign-up.
The CLI signs in with a device-code flow in your browser. You never type a password into the agent, and the agent never needs a credentials file.
How the agent works with Blocks
- Configuration work (schemas, roles, SSO, translations, releases) goes through the CLI with a project-scoped token held in the CLI's own credential store.
- Implementation work (the code your users run) goes through
@seliseblocks/clientusing the public project key and the hosted login flow. Privileged tokens never reach the browser. - Every mutating CLI command is run with
--dry-runfirst, and the agent asks before--yeson anything destructive or cloud-changing. - The agent never reads the CLI's local config or token files, and never prints their contents.
- Creating a project accepts the Blocks terms on your behalf, so the agent asks for explicit consent before running it.
Skills do not bypass Blocks access control. Operations still succeed or fail according to the signed-in user's roles, permissions and project access.
Keep skills up to date
Re-run the bootstrap prompt in the repository. The runbook reads the installed provenance file, refuses to overwrite files you have edited, and updates the rest. Review the diff and commit it with your application.
Contributing
Blocks Skills are open source under the MIT License.