Source profileQuality 85/100Review permissions

xoai/sage/core/capabilities/orchestration/onboard/SKILL.md

onboard

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.

Source repository stars
25
Declared platforms
0
Static risk flags
3
Last source update
2026-08-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

Set up Sage for a project. Detect what exists, configure what's needed, generate the agent instructions. This is the FIRST thing that runs.

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

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/xoai/sage --skill "core/capabilities/orchestration/onboard"
Safe inspection promptEditorial

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

What the source asks the agent to do

  1. 01

    Process

    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).

    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).
  2. 02

    Step 0: Detect Project State

    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).

    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).
  3. 03

    Generate the platform instructions file

    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.

    Replace {{CONSTITUTION}} with the loaded constitution principlesReplace {{NAVIGATORPATH}} with the sage-navigator skill pathReplace {{AVAILABLESKILLS}} and {{COMMANDSTABLE}} from the enabled skills
  4. 04

    When to Use

    First time using Sage on a project (no .sage/ directory exists)

    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
  5. 05

    Path A: Existing Project

    Read dependency files to detect the tech stack:

    File naming (kebab-case? PascalCase? camelCase?)Component structure (co-located files? flat directories?)State management approach

Permission review

Static risk signals and limitations

Runs scripts

medium · line 48

The documentation asks the agent to run terminal commands or scripts.

go.mod → detect: gin, echo, fiber

Reads files

low · line 79

The documentation asks the agent to read local files, directories, or repositories.

Scan the codebase for established patterns:

Writes files

medium · line 91

The documentation asks the agent to create, modify, or delete local files.

Create the `.sage/` directory and all files. See [Output](#output) below.

Writes files

medium · line 154

The documentation asks the agent to create, modify, or delete local files.

Same as A4 — create `.sage/` directory. Conventions will be minimal for

Runs scripts

medium · line 243

The documentation asks the agent to run terminal commands or scripts.

bash sage/runtime/mcp/discover.sh .

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score85/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars25SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
xoai/sage
Skill path
core/capabilities/orchestration/onboard/SKILL.md
Commit
f7cc487b393474030cef15d50efdbb195612b756
License
MIT
Collected
2026-08-04
Default branch
main
View the original SKILL.md

Onboard

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.

When to Use

  • 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 with Sage yet. Want me to set it up? (Takes ~2 minutes)"

Process

Step 0: Detect Project State

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).

Branch accordingly:


Path A: Existing Project

A1. Scan the Stack

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?"

A2. Select Packs

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?"

A3. Discover Conventions

Scan the codebase for established patterns:

  • File naming (kebab-case? PascalCase? camelCase?)
  • Component structure (co-located files? flat directories?)
  • State management approach
  • Test patterns and locations
  • Import style (absolute? relative? aliases?)
  • Formatting (Prettier? ESLint config?)

Save to .sage/conventions.md.

A4. Generate Configuration

Create the .sage/ directory and all files. See Output below.


Path B: New Project (Greenfield)

B1. Ask What They're Building

One question: "What are you building? Describe it in a sentence or two."

Examples of what they might say:

  • "A task management app for my team"
  • "An e-commerce site for my bakery"
  • "A mobile app for tracking workouts"
  • "A SaaS dashboard for analytics"

B2. Guide Tech Stack Selection

Based on what they described, recommend a stack. Ask focused questions:

Question 1: Platform "Is this a web app, mobile app, or both?"

  • Web only → React/Next.js path
  • Mobile only → Flutter or React Native path
  • Both → Next.js (web) + React Native (mobile) or Flutter (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?"

  • Mostly CRUD + auth → Supabase or Firebase (BaaS path)
  • Complex backend → Custom API (Express/Django + database)

Question 3: Scale expectation (only if unclear) "Is this an MVP/prototype, or do you need it production-ready from day one?"

  • MVP → optimize for speed, BaaS recommended
  • Production → optimize for control, consider custom backend

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.

B3. Scaffold the Project

After stack approval, create the project structure:

  • Run the framework's project creator (npx create-next-app, flutter create, etc.)
  • Set up initial dependencies
  • Create initial configuration files
  • Set up testing infrastructure

B4. Generate Configuration

Same as A4 — create .sage/ directory. Conventions will be minimal for a new project (establish them as the first code is written).


Output

Create .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/config.yaml

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

.sage/decisions.md

# 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.]

.sage/conventions.md

# 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>

Generate the platform instructions file

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:

  • Replace {{CONSTITUTION}} with the loaded constitution principles
  • Replace {{NAVIGATOR_PATH}} with the sage-navigator skill path
  • Replace {{AVAILABLE_SKILLS}} and {{COMMANDS_TABLE}} from the enabled skills

Save to project root as the platform's instructions file (e.g. CLAUDE.md).

Discover MCP Tools (if configured)

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."

Rules

MUST (violation = broken setup or confused user):

  • MUST NOT skip user confirmation on detected stack or recommended stack.
  • MUST generate .sage/ directory and CLAUDE.md — they're the minimum viable setup.
  • MUST detect packs from the stack — don't ask the user to pick packs manually.

SHOULD (violation = suboptimal experience):

  • SHOULD NOT overwhelm with options — recommend ONE stack, explain alternatives only if asked.
  • SHOULD recommend BaaS (Supabase/Firebase) for MVPs, custom backend for complex products.
  • SHOULD respect the existing stack — don't suggest rewriting what's already there.

MAY (context-dependent):

  • MAY skip pack selection confirmation if only L1 packs apply (no framework-specific packs detected).
  • MAY suggest additional packs if the user mentions planned additions ("we'll add Firebase later").

Failure Modes

  • Can't detect stack: Ask the user directly. "I can't tell what framework this uses. What's the main technology?"
  • Mixed/unusual stack: Load what you can detect, note gaps. "I found React but couldn't detect the backend. What are you using for data?"
  • User wants a stack you don't have packs for: Proceed without L2/L3 packs. L1 packs (web, mobile, api, baas) still apply. "I don't have specialized guidance for [framework] yet, but general web/API best practices will still apply."

Alternatives

Compare before choosing

Computed 871,160

clacky-ai/openclacky

onboard

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/.

Computed 86398

tobihagemann/turbo

onboard

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".

Computed 10023,781

alirezarezvani/claude-skills

app-store-optimization

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

Computed 982,504

aaron-he-zhu/aaron-marketing-skills

reactivation-specialist

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