# Skills: procedures for your agent

A Fayz app gives your agent four layers of context, and each one answers a different question. **`AGENTS.md`** is the *contract* — the project's rules and conventions. **`llms.txt`** (plus the `.md` pages) is the *knowledge* — the map and the SDK reference. The **CLI** (`fayz create`, `fayz db`, `fayz deploy`) is the *execution* — the reproducible actions. And **skills** are the *procedures*: ready-made sequences the agent follows step by step instead of improvising. Fayz's direction is not to rewrite everything from scratch — the ecosystem reuses skills that already exist. The **official Fayz skills come first** (they're the rail for the CLI flow); **community skills** come after, covering UI, database and testing quality.

{% callout type="tip" %}
A **skill** is a `SKILL.md` file with YAML frontmatter (`name`, `description`) plus the procedure's instructions. The convention is `.claude/skills/<name>/SKILL.md` — it works in Claude Code and, via the installer's adapters, also in Cursor, Codex, Copilot, Windsurf, Gemini, Cline and Zed. The open directory is [skills.sh](https://www.skills.sh/); installing is `npx skills add <owner>/<repo>`.
{% /callout %}

## Official Fayz skills — the rail

The Fayz methodology lives as five skills, one per stage of the journey — discover, create, add data, extend, publish. They follow the same order as the CLI flow and the [Tutorial](/en/docs/tutorial) track.

{% callout type="info" %}
**Honest status:** today the official skills are **copy-paste prompts** — you paste the block into your agent and it runs the procedure. The complete `/fayz-descoberta`, ready to paste, is in [Agentic setup](/en/docs/agentic-setup#the-full-fayz-descoberta). **Packaging them as installable skills** (installing via `npx skills add` and calling them by name) is on the way — don't tell your agent they're installable yet.
{% /callout %}

| Skill | What it does | Stage | Status |
| --- | --- | --- | --- |
| **/fayz-descoberta** | Product discovery interview, one question at a time; writes `PRODUCT-BRIEF.md`. | Before the tutorial | Copy-paste prompt {% badge status="preview" %} |
| **fayz-create** | App bootstrap: reads the brief → `fayz create` → configures plugins and theme → verifies with `fayz doctor`. | [Tutorial 01](/en/docs/tutorial/01-create-the-app)–[04](/en/docs/tutorial/04-add-a-plugin) | Copy-paste prompt {% badge status="preview" %} |
| **fayz-db** | BYOS (bring your own Supabase): `fayz db apply --dry-run` → `apply` → seeds. | [Tutorial 05](/en/docs/tutorial/05-real-data-with-supabase) | Copy-paste prompt {% badge status="preview" %} |
| **fayz-plugin** | Authoring an app-local plugin (incubator) following the SDK pattern. | [Tutorial 06](/en/docs/tutorial/06-your-own-plugin) | Copy-paste prompt {% badge status="preview" %} |
| **fayz-ship** | build → GitHub → `fayz deploy`. | [Tutorial 07](/en/docs/tutorial/07-publish) | Copy-paste prompt {% badge status="preview" %} |

The `PRODUCT-BRIEF.md` that `/fayz-descoberta` writes is the project's memory: `fayz-create` reads from it to generate the right app, with the right plugins and theme, without you repeating the context.

## Community skills — reuse before you write

After the official rail, your agent gains a lot from open skills already maintained by third parties. They all live on [skills.sh](https://www.skills.sh/) and are open source on GitHub. Install only what the stage calls for.

| Skill | Author | What it's for in a Fayz context | Install |
| --- | --- | --- | --- |
| **ui-ux-pro-max** | nextlevelbuilder | UI for storefronts and admins: a local database of 84 styles, 192 palettes and 74 type pairings, with `--design-system` workflows and a `search.py`. **Recommended** for designing the look before touching `theme`. | `npx skills add nextlevelbuilder/ui-ux-pro-max-skill` |
| **frontend-design** | anthropics | General front-end quality and component best practices — useful when editing plugin screens. | `npx skills add anthropics/skills` |
| **web-design-guidelines** | vercel-labs | Web design guidelines (accessibility, layout, hierarchy) for reviewing app pages. | `npx skills add vercel-labs/agent-skills` |
| **vercel-react-best-practices** | vercel-labs | React/Next patterns for app code and incubator plugins. | `npx skills add vercel-labs/agent-skills` |
| **supabase-postgres-best-practices** | supabase | Postgres modeling, indexes and RLS — **recommended** for BYOS: it pairs with [RLS and multi-tenancy](/en/docs/data/rls) and with `fayz db apply`. | `npx skills add supabase/agent-skills` |
| **supabase** | supabase | Operating Supabase through the agent (schema, queries, migrations) — complements the Supabase MCP from [Agentic setup](/en/docs/agentic-setup#mcps). | `npx skills add supabase/agent-skills` |
| **browser-use** | browser-use | End-to-end browser testing — drive the app and check a real flow after `fayz doctor`. | `npx skills add browser-use/browser-use` |
| **find-skills** | vercel-labs | Meta-skill: the agent discovers other relevant skills in the directory. | `npx skills add vercel-labs/skills` |

{% callout type="tip" %}
Two choices are worth making by default: **ui-ux-pro-max** for the look of storefronts and admins, and **supabase-postgres-best-practices** for when you connect your own database. Both slot straight into the theming and data stages of the tutorial.
{% /callout %}

## Internal skills in development {% badge status="preview" %}

These skills are on the Fayz roadmap — **not** available yet, listed here so you know what's coming:

- **conceito-financeiro** — financial modeling across modules (accounts, entries, reconciliation).
- **integrations** — connecting Google Calendar, Stripe and friends through the connector spine; see [Connectors and channels](/en/docs/ai/connectors-and-channels).
- **module-building** — raising a plugin's quality to marketplace standard.

## For agents: how to discover and apply skills

If you're an agent opening a Fayz project, follow this order:

1. **Read the root `AGENTS.md`.** It's the project contract and points back to this Dev Center (`llms.txt` + `.md` pages).
2. **Check `.claude/skills/`.** If the project already has skills installed, each `SKILL.md` carries the procedure and the frontmatter (`name`, `description`) tells you when to apply it. Prefer the skill over improvising.
3. **Pull knowledge on demand.** Start with [`/llms.txt`](/llms.txt) as the index and fetch the specific `.md` page for the stage (e.g. [data/rls](/en/docs/data/rls) before touching RLS).
4. **Match skill to stage.** Discovery/bootstrap/data/plugin/ship → the matching official Fayz skill. UI → `ui-ux-pro-max`. Postgres/RLS → `supabase-postgres-best-practices`. Flow testing → `browser-use`.
5. **Cite the slug or the skill you used**, so the human can check.

To install a new skill in a project, use `npx skills add <owner>/<repo>` — the installer writes to `.claude/skills/` and adapts it for the agent in use.

---

Next: [Connect your agent](/en/docs/ai/connect-your-agent) · [Your app as a data layer](/en/docs/ai/your-app-as-a-data-layer).
