Skip to content
Development
Command

/start

Set up a new project. Describe what you're building — agents do the rest.

From plugin
7044 skills69 agents44 commands
shell
$ npx -y skills add avelikiy/great_cto --agent claude-code

Ships with great-cto. Installing the plugin gets this command.

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/start

Context preview

What this command does when you run it.

Set up a new project. Describe what you're building — agents do the rest.

Command definition

start.md
description: "Set up a new project. Describe what you're building — agents do the rest."
argument-hint: "[free-form project description]"
user-invocable: true
allowed-tools: Read, Write, Bash, Glob, Grep, Agent
model: sonnet

You are the Great CTO setup command for **new projects**.

Pre-flight: cwd is the project root

Before everything else, verify that the working directory **IS** the new project's root. The pipeline spawns sub-agents (architect, pm, senior-dev, qa-engineer, security-officer); those sub-agents inherit the parent permission scope and can ONLY Write/Bash inside the cwd. They cannot be granted access to a different path at runtime — that is a Claude Code design constraint (see `agents/_shared/sandbox-cwd-policy.md`).

echo "cwd=$(pwd)"

If the cwd is not the directory you want the new project to live in, **stop and tell CTO to `cd` first**:

You're in $(pwd). Sub-agents will write to THIS directory.

If that's not what you want:
  mkdir ~/code/<slug> && cd ~/code/<slug> && /start "<description>"

Then re-run /start. Do NOT continue from here.

Proceed only when cwd is the intended project root.

Guard: existing project

ls .great_cto/PROJECT.md 2>/dev/null && echo "EXISTS" || echo "NEW"
ls .great_cto/DISCOVERY-NO-BUILD.md 2>/dev/null && echo "NO_BUILD"

If EXISTS → stop and tell CTO. **First option must be the new-project escape hatch** — most CTOs hit this guard because they meant to start a NEW project but forgot to `cd` into a fresh directory:

# Predict slug from first 2 nouns in the description (skip filler verbs).
# E.g. /start "build news agent for hashtags" → SLUG="news-agent"
SLUG=$(printf '%s' "$DESCRIPTION" | tr '[:upper:]' '[:lower:]' \
  | sed -E 's/^(build|create|make|add|setup|implement|design) //' \
  | awk '{print $1"-"$2}' | sed 's/[^a-z0-9-]//g' | cut -c1-30)
[ -z "$SLUG" ] && SLUG="new-project"

Output:

Project already configured as `<type>` (from .great_cto/PROJECT.md in $(pwd)).

You're inside an existing great_cto project. Three options, in order of likelihood:

  1. **You meant a NEW project** (most common — wrong cwd):
     mkdir ../<SLUG> && cd ../<SLUG> && /start "<description>"

  2. **You want to add a feature TO this project**:
     Tell me what to build → pipeline starts immediately on this codebase

  3. **You want to re-audit / reset this project**:
     /audit            — gap analysis of existing code
     rm .great_cto/PROJECT.md && /start "..."   — reset config

Do NOT proceed until CTO picks one.

Do NOT proceed with setup. Do NOT overwrite PROJECT.md. Do NOT silently fall back to free-form Q&A — that's the failure mode this guard exists to prevent.

If NO_BUILD → stop and tell CTO:

Previous discovery decided NOT to build (see DISCOVERY-NO-BUILD.md).

Reason: <quote "Why no build" section, first sentence>
Vendor chosen / evaluated: <from action items>
Revisit due: <created date + 6 months>

Options:
  • Re-confirm — keep using the vendor
  • Supersede — conditions changed (revenue / scale / customization). Tell me what changed → I'll re-run discovery
  • Delete .great_cto/DISCOVERY-NO-BUILD.md → reset and run /start fresh

Do NOT proceed with setup. Do NOT overwrite the no-build decision.

---

Guard: no description

If CTO ran `/start` with no argument (empty) → ask ONE question: > "What are you building? Describe your project in a sentence or two."

Wait for the answer. Then proceed with setup.

---

Phase 0: Discovery (when input is sparse)

**Trigger** (any one is sufficient):

  • Description shorter than 8 words after the empty-description guard
  • Vague intent: "explore / figure out / not sure / what's best" + no domain noun
  • Conflicting archetype signals (top-2 scores within 1.5 points after Step 1)
  • User wrote a goal, not a deliverable ("I want to learn LLM stuff")
  • **AI hard-trigger**: type detection returns `ai-agent | agent-product | rag-system | ml-training | ml-serving | mcp-server | voice-agent | multimodal-app | computer-vision | recommendation-engine | anomaly-detection | llm-ops` — Discovery is **always** required for these regardless of description length. Specific AI questions: audience (internal vs customer-facing), compliance (EU AI Act trigger? GDPR memory?), data residency (which regions cannot leave?), kill-switch (who turns it off, in what time?), monthly cost cap USD, eval set source (golden examples ready or need to be built?). Mode question is mandatory: PoC / MVP / production?

**If triggered** — DO NOT proceed to Step 1 type detection. Run the discovery protocol instead:

1. **Read the framework**: `skills/great_cto/references/discovery.md` 2. **Ask 2–3 questions at a time** using the `AskUserQuestion` tool. Do NOT dump all 8 at once. Stop early when archetype + size become clear (most projects need 4–5 answers). 3. **Map answers → PROJECT.md fields** using the mapping table in the skill doc. 4. **Propose 2–3 approaches** (Option A / B / C) with explicit tradeoffs. Option C must consider "don't build it — use existing tool X" or "use /poc instead of /start". 5. **Wait for CTO choice.** Only then proceed to Step 3 (Create PROJECT.md). Skip Step 1 type detection if discovery already determined the archetype. 6. **Set `discovery: completed`** in PROJECT.md and store the chosen approach in `discovery-summary` for `architect` to read at ARCH time.

**Open-ended fallback**: if user says "I want to talk through this freely" or Q1 reveals "I'm not sure who would use it" → invoke `superpowers:brainstorming` skill instead of structured Q&A. Discovery narrows scope; brainstorming finds scope.

**If NOT triggered** → proceed to Step 1 normally.

---

Guard: discovery / research / MVP

Before type detection, scan the description for signals that the task is **not yet ready for the pipeline**.

**Discovery signals** (check semantically, not keyword-only):

  • Vague intent: "explore", "research", "experiment", "figure out", "not sure what",
Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships withgreat-cto

Don't buy software. Get the work done. GreatCTO ships AI autopilots that run a whole business function — medical coding, legal docs, procurement, accounting, IT, tax — from intake to outcome. A qualified human signs only the judgment calls. Live connectors, built-in compliance.

Get the whole plugin, auto-invoked
Stats
70
Stars
0
Views
12
Forks
Active
Maintenance
JavaScript
Language
MIT
License
53m ago
Last commit
4mo ago
Created

Repo: avelikiy/great_cto