You're reading this because you have Coco, you have a Snowflake project, and you've decided that unstructured AI development has a cost you'd rather not keep paying. Good. The only irreversible decision you need to make upfront is which project to apply it to. Everything else is undoable, configurable, or skippable.

Prerequisites

Coco CLI — Snowflake Cortex Code CLI installed and connected to a Snowflake account. Run cortex --version to verify.

Git — Your project directory must be a git repository. CocoPlus is tightly coupled to git — lifecycle phase commits, worktree isolation for parallel builds, rollback by commit hash. If your project isn't in git, run git init && git commit --allow-empty -m "init" before proceeding.

CocoPlus plugin installed — Install it once per machine using npx skills add:

npx skills add https://github.com/Snowflake-Labs/cocoplus

Verify with:

cortex plugins list
# cocoplus should appear in the output

That's the full list. CocoPlus adds no external services, no databases, no background processes. If the plugin is installed and Coco is connected to Snowflake, you have everything.

Initialize Your Project

Navigate to the root of your project directory — the same directory where your .git/ folder lives. Then run:

/pod init

This creates the .cocoplus/ directory and writes the initial state files that every CocoPlus feature reads from and writes to. You'll be prompted for a project name and a brief description.

What /pod init does:

If the directory already has a CocoPlus initialization, /pod init will refuse with a clear message. Use /pod status or /pod resume instead.

If you're working in a monorepo, initialize CocoPlus at the subdirectory level for the specific data workstream — not at the repo root.

Activate All Features

/cocoplus on

This is the single command that enables everything. It creates mode flag files in .cocoplus/modes/ for each feature, immediately runs an Environment Inspector scan in the background, updates AGENTS.md to show FULL ASSIST MODE: ACTIVE, and creates a git commit marking the activation.

✓ Memory Engine — on
✓ Environment Inspector — auto (background scan starting)
✓ Safety Gate — normal
✓ Code Quality Advisor — on
✓ Context Mode — on
✓ CocoMeter — on
✓ Full Assist Mode — ACTIVE

What /cocoplus on does not activate: CocoBrew lifecycle phases (start those yourself with /spec), CocoSpark (always explicit), and CocoFleet (requires deliberate setup). These are intentional — a tool that starts things without you is a tool you can't trust.

Verify Your Setup

/pod status

This is your dashboard. It reads from .cocoplus/ and reports everything: current phase, active modes, Environment Inspector snapshot, Safety Gate status, CocoMeter session data, and CocoGrove patterns.

Personas Available to You

/personas
ShorthandRoleDomainMode
$deData EngineerSchema design, SQL, stored proceduresauto
$aeAnalytics EngineerSemantic models, transformationsauto
$dsData ScientistNotebooks, ML, Cortex AI functionsauto
$daData AnalystQuery writing, explorationauto
$biBI AnalystDashboards, semantic layerauto
$dpmData Product ManagerRequirements, documentationplan only
$dstData StewardGovernance, data qualityplan only
$cdoChief Data OfficerStrategic architecture (uses Opus)plan only

The three plan-mode personas advise — they don't execute. If you ask $dpm to write SQL, it will explain why that's not its job and suggest who you should ask instead.

Your Ongoing Dashboard Commands

/pod status — Full state report. Run this at the start of any session.

/pod resume — For returning developers. Produces a focused narrative of where you left off, what was completed, what remains, and what to do next.

/meter — Token and cost summary for the current session.

/inspect — On-demand Snowflake environment scan. Add --schema <name> to limit scope.

Your First Actual Work

CocoPlus is initialized. Features are active. Your Snowflake environment is scanned. The right next command is:

/spec

This opens the Spec phase of CocoBrew — a structured dialogue that helps you articulate what you're building before a single line of SQL is written. The spec is not bureaucracy. It is the mirror that shows you your own assumptions.

If you want to explore alternatives before committing to a direction:

/spark [topic]

CocoSpark generates multiple approaches and raises the questions you may not have thought to ask. Its output is explicitly marked as exploration and never flows automatically into your spec. When you're ready to commit, /spec is always the next step.

If Something Goes Wrong

/pod init fails — "CocoPlus already initialized" — Your pod exists. Run /pod status. If you genuinely want to start fresh, remove .cocoplus/ manually, but this discards all existing state.

Command not recognized — Verify the plugin is installed with coco plugins list.

Safety Gate blocking an intended operation — The default normal mode warns but doesn't block. If you're in strict mode, run /safety normal to reduce protection level. Never use /safety off with production data.

Setup is not overhead. Setup is the first act of professional intent — the moment you decide to build deliberately instead of by accident.