agentleFS
MicrosoftKnown publishermicrosoft/rayfin/plugin/skills/rayfin-getting-started/SKILL.md

rayfin-getting-started

Skill646 starsChanged 24 days agoMITView on GitHub

Use when starting or creating a NEW Rayfin app, or when a Rayfin task comes up and you are not yet inside a Rayfin project. Gets you into a project with the Rayfin CLI, then hands off to the authoritative, version-locked in-project rayfin skill/docs that own all in-project work. Triggers: build a Rayfin app, start a Rayfin project, create a new Rayfin app, create-rayfin, npm create @microsoft/rayfin, rayfin init, scaffold rayfin, rayfin CLI, rayfin template, universal app, awesome-rayfin gallery, get started with Rayfin

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 0 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Check this first — before scaffolding anything, even when the user says "build" or "set up a new app".

    line 41
  2. Very specific:

    Existing non-Rayfin app here →: add Rayfin in place with npx rayfin init (don't scaffold a separate project), then load the in-project …

    line 49
  3. Very specific:

    Always scaffold universal-app: Don't browse the gallery and don't pick a domain-specific template.

    line 67

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Rayfin (Getting Started)

Rayfin is a Backend-as-a-Service: define your data model with TypeScript decorators and Rayfin provides auth, a typed data API, storage, and Fabric hosting.

This skill only handles getting started — getting you from zero into a working Rayfin project, then handing off. The moment you're in a project, the authoritative, version-locked skill at .agents/skills/rayfin/SKILL.md — alongside the package docs in node_modules and the rayfin docs CLI — owns everything else: schema, auth, storage, querying, deployment. Load it and stop using this one.

Route, don't improvise

Rayfin's specifics are version-locked per project — schema/decorator syntax, the typed data API and client queries, auth, storage, and deployment all live in the project's own skill and rayfin docs. Never answer them from memory; remembered Rayfin APIs are routinely wrong against the installed version. Get into a project, read .agents/skills/rayfin/SKILL.md, then follow it for version-matched signatures. The in-project skill file and the rayfin docs CLI are available the moment a project exists — including right after you scaffold one, in the same session. The rayfin MCP server is an optional extra that most projects do not install; if it happens to be available it is a convenience, never a prerequisite. Lean on the in-project skill file plus rayfin docs.

Being blocked does not unlock memory. Only treat yourself as blocked if you can reach none of the version-matched sources — you can't read .agents/skills/rayfin/SKILL.md and can't run rayfin docs (e.g. tool permissions denied). The rayfin MCP server not being installed or loaded is not a blocker. When genuinely blocked, say you need those sources to answer accurately and stop there — don't offer a "general approach" or example code "in the meantime"; that stopgap is exactly the fabrication this skill exists to prevent.

Already in a Rayfin project?

Check this first — before scaffolding anything, even when the user says "build" or "set up a new app". A directory is a Rayfin project if it has rayfin/rayfin.yml or a package.json depending on @microsoft/rayfin-*. Environment signals alone are enough: if the workspace context shows either — even when you can't open the files yet — treat it as an existing project and continue in place. Never stand up a nested or sibling project.

  • Already in one → load .agents/skills/rayfin/SKILL.md and use rayfin docs (or the rayfin MCP, if already installed). Stop using this skill.
  • Existing non-Rayfin app here → add Rayfin in place with npx rayfin init (don't scaffold a separate project), then load the in-project skill.
  • Empty directory → scaffold (below), then load the in-project skill from the project root.

Scaffold a new project

npm create @microsoft/rayfin@latest is a thin wrapper around rayfin init. As an agent you run non-interactively (stdin isn't a TTY), so use the npx -y form — npm create can mishandle piped stdin and strip flags, and --project-name is required non-interactively.

# Create non-interactively. --project-name is required; the template is pinned.
npx -y @microsoft/create-rayfin@latest --project-name <app-name> --template universal-app

# Or add Rayfin into an existing/empty directory
npx rayfin init [directory]

Always scaffold universal-app. Don't browse the gallery and don't pick a domain-specific template. The Universal App is a deliberately small React + Vite base with a built-in capability router that pulls in the right Rayfin services, npm modules, and skills on demand, so the domain shape (analytics, CRUD, storage, functions) gets decided inside the project rather than at scaffold time. The project's own .agents/skills/ own that decision, and they are version-matched in a way a scaffold-time template choice is not.

Mind the project root before loading the in-project skill: create-rayfin creates a child project directory (named from --project-name, slugified), so cd into it; an in-place rayfin init scaffolds in the current directory, so you're already there. Once at the project root, load its .agents/skills/rayfin/SKILL.md and let its capability router take over.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.