Best for
- First time using Sage on a project (no .sage/ directory exists)
- User says "set up sage", "onboard", "initialize", or "get started"
- Sage detects no .sage/ directory and prompts: "This project isn't set up
xoai/sage/core/capabilities/orchestration/onboard/SKILL.md
First-run project setup that detects tech stack, selects quality packs, and generates .sage/ directory with CLAUDE.md. For new projects, guides technology selection. Use when no .sage/ directory exists, when the user says "set up sage", "initialize", "get started", or when starting a brand new project from scratch.
Decision brief
Set up Sage for a project. Detect what exists, configure what's needed, generate the agent instructions. This is the FIRST thing that runs.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/xoai/sage --skill "core/capabilities/orchestration/onboard"Inspect the Agent Skill "onboard" from https://github.com/xoai/sage/blob/f7cc487b393474030cef15d50efdbb195612b756/core/capabilities/orchestration/onboard/SKILL.md at commit f7cc487b393474030cef15d50efdbb195612b756. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Check what exists: - Does .sage/ exist? → Already onboarded. Offer to re-scan or update. - Does package.json / requirements.txt / pubspec.yaml exist? → Existing project. - Is the directory empty or near-empty? → New project (greenfield).
Check what exists: - Does .sage/ exist? → Already onboarded. Offer to re-scan or update. - Does package.json / requirements.txt / pubspec.yaml exist? → Existing project. - Is the directory empty or near-empty? → New project (greenfield).
Normally sage init / sage update generate the platform's instructions file (CLAUDE.md / AGENTS.md / GEMINI.md) from the shared body in runtime/platforms/shared/instructions-body.sh with the merged constitution spliced in — you do not hand-assemble it during onboarding.
First time using Sage on a project (no .sage/ directory exists)
Read dependency files to detect the tech stack:
Permission review
The documentation asks the agent to run terminal commands or scripts.
go.mod → detect: gin, echo, fiberThe documentation asks the agent to read local files, directories, or repositories.
Scan the codebase for established patterns:The documentation asks the agent to create, modify, or delete local files.
Create the `.sage/` directory and all files. See [Output](#output) below.The documentation asks the agent to create, modify, or delete local files.
Same as A4 — create `.sage/` directory. Conventions will be minimal forThe documentation asks the agent to run terminal commands or scripts.
bash sage/runtime/mcp/discover.sh .Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 85/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 25 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Set up Sage for a project. Detect what exists, configure what's needed, generate the agent instructions. This is the FIRST thing that runs.
Core Principle: A beginner should go from "I have a project" (or "I have an idea") to "Sage is configured and ready" in under 3 minutes.
.sage/ directory exists).sage/ directory and prompts: "This project isn't set up
with Sage yet. Want me to set it up? (Takes ~2 minutes)"Check what exists:
.sage/ exist? → Already onboarded. Offer to re-scan or update.package.json / requirements.txt / pubspec.yaml exist? → Existing project.Branch accordingly:
Read dependency files to detect the tech stack:
package.json → detect: next, react, vue, svelte, express, supabase, firebase
pubspec.yaml → detect: flutter, firebase
requirements.txt / pyproject.toml → detect: django, flask, fastapi
go.mod → detect: gin, echo, fiber
Produce a stack summary:
DETECTED STACK:
Frontend: Next.js 14 (App Router), React 19, Tailwind CSS 4
Backend: Supabase (@supabase/ssr, @supabase/supabase-js)
Testing: Vitest, Testing Library
Build: Turbopack
Show to user: "I detected this stack. Anything I missed or got wrong?"
Based on detected stack, select which packs activate:
PACKS TO LOAD:
L1: web (web application detected)
L1: baas (Supabase detected)
L2: nextjs (Next.js detected)
L2: react (React detected)
nextjs surfaces integration/supabase-integration.md (Supabase detected)
Show to user: "These packs will guide code quality. Look right?"
Scan the codebase for established patterns:
Save to .sage/conventions.md.
Create the .sage/ directory and all files. See Output below.
One question: "What are you building? Describe it in a sentence or two."
Examples of what they might say:
Based on what they described, recommend a stack. Ask focused questions:
Question 1: Platform "Is this a web app, mobile app, or both?"
Question 2: Backend complexity "Will this need complex backend logic (custom algorithms, complex queries, multi-step workflows), or is it mostly storing/fetching data with user accounts?"
Question 3: Scale expectation (only if unclear) "Is this an MVP/prototype, or do you need it production-ready from day one?"
Based on answers, recommend:
RECOMMENDED STACK:
You're building a web app with user accounts and data storage.
For fast MVP delivery, I recommend:
Frontend: Next.js (App Router) + React + Tailwind CSS
Backend: Supabase (auth, database, storage — no backend to build)
Testing: Vitest + Testing Library
Deploy: Vercel
This gets you from idea to deployed app fastest.
Ready to go with this, or want to explore alternatives?
If user wants alternatives, explain trade-offs briefly. Don't overwhelm.
After stack approval, create the project structure:
npx create-next-app, flutter create, etc.)Same as A4 — create .sage/ directory. Conventions will be minimal for
a new project (establish them as the first code is written).
.sage/ Directory.sage/
├── config.yaml # Project configuration
├── conventions.md # Discovered or established patterns
├── decisions.md # Shared decision log (agent + human)
├── docs/ # Project-level knowledge (flat, skill-prefixed)
├── work/ # Per-initiative (YYYYMMDD-slug/ subfolders)
└── gates/ # Quality gate scripts and config
sage-version: "<stamped by sage init from the framework's VERSION file>"
project-name: "<detected or provided>"
mode-default: build
packs:
enabled:
- web
- baas
- nextjs
- react
constitution:
base: sage/core/constitution/base.constitution.md
preset: startup # or enterprise, opensource
# Decisions
Shared log for significant decisions and context.
Both the AI agent and human collaborators write here.
### YYYY-MM-DD — [Decision title]
[What was decided, why, alternatives considered.]
# Project Conventions
Discovered by Sage onboard on <date>.
Update this file as conventions evolve.
## Naming
- Files: <detected pattern>
- Components: <detected pattern>
- Variables: <detected pattern>
## Structure
- Components: <detected layout>
- Tests: <detected location and framework>
- Styles: <detected approach>
## Patterns
- State management: <detected or TBD>
- Data fetching: <detected or TBD>
- Error handling: <detected or TBD>
Normally sage init / sage update generate the platform's instructions file
(CLAUDE.md / AGENTS.md / GEMINI.md) from the shared body in
runtime/platforms/_shared/instructions-body.sh with the merged constitution
spliced in — you do not hand-assemble it during onboarding.
If you must produce one directly, the template is
core/capabilities/context/context-loader/templates/main-instructions.template.md:
{{CONSTITUTION}} with the loaded constitution principles{{NAVIGATOR_PATH}} with the sage-navigator skill path{{AVAILABLE_SKILLS}} and {{COMMANDS_TABLE}} from the enabled skillsSave to project root as the platform's instructions file (e.g. CLAUDE.md).
If .claude/mcp.json or .sage/mcp.json exists, run tool discovery:
bash sage/runtime/mcp/discover.sh .
This connects to each configured MCP server, lists available tools, and caches
the manifest at .sage/mcp-manifest.json. The CLAUDE.md generation includes
a lightweight tool summary (~50 tokens per server) so you know what's available
without consuming context with full schemas.
If no MCP config exists, skip this step. Layer 1 tools (bash scripts) are always available regardless of MCP configuration.
Show the user: "Sage is set up. Here's what I configured: [summary]. Tell me what to build, or say 'sage help' for guidance on what to do next."
MUST (violation = broken setup or confused user):
.sage/ directory and CLAUDE.md — they're the minimum viable setup.SHOULD (violation = suboptimal experience):
MAY (context-dependent):
Alternatives
clacky-ai/openclacky
Onboard a new user OR curate a single piece of the assistant's inner state. Without arguments, runs the full first-run ceremony (AI name, personality, user profile, SOUL.md + USER.md, optional browser + personal website). With `scope:soul` or `scope:user`, runs a quick chat to update just that one profile file. With `path:<abs>`, runs a quick chat to update / keep / delete one memory file under ~/.clacky/memories/.
tobihagemann/turbo
Developer onboarding guide that composes architecture mapping, tooling review, and agentic setup review with setup, troubleshooting, and next-steps agents to produce a comprehensive guide at .turbo/onboarding.md and .turbo/onboarding.html. Use when the user asks to "onboard me", "onboard to this project", "generate onboarding guide", "new developer guide", "how do I get started", or "help me ramp up".
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "build a win-back campaign", "re-engage lapsed subscribers", "run a re-permission / re-consent sweep", or "sunset my dead list"; produces a closed-loop reactivation program — a lapsed-cohort definition, a staged offer ladder, a re-consent (re-permission) capture step, and a sunset-confirm / suppression rule. Owns none of the SEND-N sub-item notes: engagement-decay / sunset is email-sequence-designer's and preference-center / frequency options is preference-frequency-man