Skip to content

Commit f822448

Browse files
author
nocoder26
committed
Add /telos:start concierge skill, simplify install (MCP now optional)
New /telos:start is the front door for new users — auto-scaffolds brain/, runs /why → /problem → /interview in sequence with one-line context, and exits with a real interview script in 10 minutes. Install collapses to 3 slash commands. Python MCP moves to optional section: skills work file-only by default, MCP is a perf upgrade. SessionStart pitch and CLAUDE.md updated to recommend /telos:start when a founder lands fresh.
1 parent a29f1de commit f822448

4 files changed

Lines changed: 142 additions & 35 deletions

File tree

CLAUDE.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ When they describe a problem in their solution's language ("can't manage finance
4444

4545
Run any with `/<name>`:
4646

47+
**Front door (use this first for new founders):**
48+
- `/start` — concierge walkthrough. Auto-creates `brain/` skeleton, then runs `/why``/problem``/interview` in sequence with one-line explanations. Produces a real interview script in 10 minutes. Recommend this whenever a founder lands fresh and isn't sure where to begin.
49+
4750
**Anchor & hypothesis:**
4851
- `/why` — capture or recall the founder's motivation; surfaced when they're about to quit or pivot
4952
- `/problem` — capture or refine the problem hypothesis with falsification criteria
@@ -83,7 +86,7 @@ If the MCP server isn't available (e.g. founder skipped install), fall back to d
8386

8487
## On first run
8588

86-
If `brain_status()` shows stage 0 with no problem hypothesis and no why: stop everything. *Welcome them, name what stage they're in, and tell them to run `/why` first, then `/problem`.* Don't write code. Don't suggest features. The founder's first moves are an anchor and a hypothesis — earned the hard way.
89+
If `brain_status()` shows stage 0 with no problem hypothesis and no why: stop everything. *Welcome them, name what stage they're in, and recommend `/telos:start` — the concierge walkthrough that produces a real artifact in 10 minutes.* Don't write code. Don't suggest features. The founder's first moves are an anchor and a hypothesis — earned the hard way. `/telos:start` makes "earned the hard way" a guided 10-minute experience instead of a guess.
8790

8891
## When in doubt
8992

README.md

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -121,53 +121,53 @@ If you disagree with any of these, this tool isn't for you.
121121

122122
## Install
123123

124-
**One-time setup. In any Claude Code session, run these commands ONE AT A TIME** (Claude Code concatenates pasted multi-line input into a single broken command — paste each line, Enter, wait for confirmation, then the next):
124+
Three slash commands inside Claude Code. Run them **one at a time** Claude Code concatenates pasted multi-line input.
125125

126126
```
127127
/plugin marketplace add https://github.com/nocoder26/telos.git
128128
```
129-
130-
Wait for *"Successfully added marketplace: telos"*, then:
131-
132129
```
133130
/plugin install telos@telos
134131
```
135-
136-
Wait for *"Installed telos. Run /reload-plugins to apply."*, then:
137-
138132
```
139133
/reload-plugins
140134
```
141135

142-
Confirm: *"Reloaded: 1 plugin · 5 agents · 2 hooks · 1 plugin MCP server"*.
136+
That's it. **No Python, no `pip`, no terminal setup required.** Telos works file-only by default.
143137

144-
Then in a regular terminal (one-time, for the brain MCP server's Python deps):
138+
> Use the full HTTPS URL above — the `nocoder26/telos` shorthand defaults to SSH, which fails unless you have SSH keys configured for GitHub.
139+
140+
### Optional: faster brain queries via Python MCP
141+
142+
Telos ships a Python MCP server that turns the brain into queryable tools. It's a perf optimization, not a requirement — if you skip this, Claude reads `brain/` files directly via Read/Glob and everything still works.
143+
144+
To enable:
145145

146146
```bash
147147
pip install fastmcp
148148
```
149149

150-
> **Use the full HTTPS URL** (`https://github.com/...git`) above — Claude Code's plugin manager defaults to SSH for the shorthand form (`nocoder26/telos`), which fails unless you've set up SSH keys for GitHub.
151-
152-
Requires **Python 3.10+** and the **`claude` CLI** on your PATH.
150+
(Requires Python 3.10+.)
153151

154152
## Start using it
155153

156-
Open a fresh project directory and start Claude:
154+
Open a fresh project directory, start Claude, and run **one command**:
157155

158156
```bash
159157
mkdir my-startup && cd my-startup && claude
160158
```
161159

162-
Now type **anything** (e.g., `hi`). Claude opens with a one-line pitch:
160+
Then in Claude:
163161

164-
> *"Telos is loaded — it's like a senior co-founder who refuses to let you build until you've talked to customers. Want to use it here (run `/telos:why`) or normal session?"*
162+
```
163+
/telos:start
164+
```
165165

166-
- Say **yes** (or invoke `/telos:why` directly) → walks you through the founder anchor + problem hypothesis
167-
- Say **no** → silenced for this directory forever, normal Claude Code session
168-
- Say **anything else** → assumes "no", normal session, no nag
166+
A 10-minute concierge walks you through capturing your motivation, your hypothesis (with kill criteria), and an interview script you can send today. You exit with a real artifact — `brain/why.md`, `brain/problem.md`, and a script to send to one customer. No fumbling for which skill to run first.
169167

170-
The pitch fires **once per project** thanks to a per-project memory file. It also auto-skips directories that look like existing non-startup projects (have `.git`, `package.json`, `Cargo.toml`, etc.). To bootstrap an existing repo, run `/telos:why` manually.
168+
If you'd rather skip the walkthrough, run any specific skill (`/telos:why`, `/telos:problem`, `/telos:interview`) directly.
169+
170+
The SessionStart hook also offers `/telos:start` automatically when you open a fresh project. The pitch fires **once per project** thanks to a per-project memory file, and auto-skips directories that look like existing non-startup projects (have `.git`, `package.json`, `Cargo.toml`, etc.). To bootstrap an existing repo, run `/telos:start` manually.
171171

172172
## Update / re-install
173173

@@ -192,34 +192,39 @@ export TELOS_PITCH_ALWAYS=1 # show pitch even in dirs with package.json/.git/
192192

193193
```
194194
$ mkdir my-startup && cd my-startup && claude
195-
> hi
195+
> /telos:start
196196
197-
Claude: Telos is loaded — it's like a senior co-founder who refuses
198-
to let you build until you've talked to customers. Want to
199-
use it here (run /telos:why) or normal session?
197+
Claude: I'm Telos. I'll spend 10 minutes asking three questions, and
198+
you'll walk out with a real interview script and a hypothesis
199+
you can kill. Sound good?
200200
201201
> yes
202202
203-
> /telos:why
203+
[brain/ scaffolded automatically. Then runs /telos:why → /telos:problem
204+
→ /telos:interview in sequence, with one-line context before each
205+
step explaining why it matters.]
206+
204207
[5 questions about your motivation, written to brain/why.md.
205208
Includes the kill question: "what would make you quit?"]
206209
207-
> /telos:problem
208210
[8 questions about the pain, who, frequency, founder-market fit,
209211
falsification criteria, market type. Writes brain/problem.md.
210212
Stage advances 0 → 1.]
211213
214+
[Generates an interview script tailored to your hypothesis. Past
215+
behavior questions, not opinions.]
216+
217+
✓ Anchor captured brain/why.md
218+
✓ Hypothesis captured brain/problem.md
219+
✓ Interview script ready
220+
221+
You're at Stage 0 → Stage 1. Send the script to ONE person this week.
222+
212223
> let me build a Stripe integration
213224
214225
🚫 BLOCKED — Stage 1 (Customer Discovery)
215226
product/ writes are blocked until 5+ believers identified.
216-
You have 0. Run /telos:interview to find some.
217-
218-
> /telos:interview
219-
[Generates a Mom-Test script tailored to your hypothesis.
220-
Recruit one by one. Paste notes after each call —
221-
atomic signals get extracted, the participant gets classified
222-
as Believer / Neutral / Infidel.]
227+
You have 0. Run /telos:interview to find some, then /telos:believers.
223228
```
224229

225230
That's the loop. Talk → log → classify → eventually unlock `product/` → build with evidence citations.
@@ -229,6 +234,7 @@ That's the loop. Talk → log → classify → eventually unlock `product/` →
229234
All skills are namespaced under `telos:`:
230235

231236
```
237+
/telos:start ← concierge — start here if you're new
232238
/telos:why
233239
/telos:problem
234240
/telos:interview

plugins/telos/hooks/session-start.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ if [ -d "$BRAIN" ]; then
6565

6666
# Recommend next action
6767
if [ "$WHY_SET" = "no" ]; then
68-
NEXT="/telos:whycapture your anchor first"
68+
NEXT="/telos:startconcierge walkthrough (10 min, produces a real artifact)"
6969
elif [ "$PROBLEM_SET" = "no" ]; then
7070
NEXT="/telos:problem — capture your hypothesis"
7171
elif [ "$STAGE" = "1" ] && [ "$INTERVIEW_COUNT" -lt 5 ]; then
@@ -111,7 +111,7 @@ cat <<EOF
111111
{
112112
"hookSpecificOutput": {
113113
"hookEventName": "SessionStart",
114-
"additionalContext": "Telos is loaded for this fresh project (no brain/ yet, no existing decision).\n\nIn your VERY FIRST message to the founder, do EXACTLY this — no more, no less:\n\n Say: 'Telos is loaded — it's like a senior co-founder who refuses to let you build until you've talked to customers. Want to use it here (run /telos:why) or normal session?'\n\nThen WAIT for their response. Three cases:\n\n YES (or they invoke /telos:why themselves): immediately run /telos:why. Don't continue the pitch.\n\n NO (or they decline / change subject / ask about something else): silently run this bash command to record the decision, then continue as a normal Claude Code session and NEVER bring up Telos again unless they explicitly invoke a /telos:* skill themselves:\n echo \"$PROJECT_DIR\" >> ~/.claude/plugins/telos/decided.txt\n\n AMBIGUOUS ('maybe later', 'not sure'): treat as no. Run the bash above, continue as normal session.\n\nThe goal is ONE graceful question, then get out of the way. Don't pitch twice. Don't keep nudging. Don't volunteer telos skills unless they explicitly ask."
114+
"additionalContext": "Telos is loaded for this fresh project (no brain/ yet, no existing decision).\n\nIn your VERY FIRST message to the founder, do EXACTLY this — no more, no less:\n\n Say: 'Telos is loaded — a discipline layer that refuses to let you build until you've validated. Run /telos:start for a 10-min walkthrough that produces a real interview script, or skip and treat this as a normal Claude session?'\n\nThen WAIT for their response. Three cases:\n\n YES / start / walkthrough (or they invoke /telos:start themselves): immediately run /telos:start. Don't continue the pitch.\n\n NO / skip / not now (or they decline / change subject / ask about something else): silently run this bash command to record the decision, then continue as a normal Claude Code session and NEVER bring up Telos again unless they explicitly invoke a /telos:* skill themselves:\n echo \"$PROJECT_DIR\" >> ~/.claude/plugins/telos/decided.txt\n\n AMBIGUOUS ('maybe later', 'not sure'): treat as no. Run the bash above, continue as normal session.\n\nThe goal is ONE graceful question, then get out of the way. Don't pitch twice. Don't keep nudging. Don't volunteer telos skills unless they explicitly ask."
115115
}
116116
}
117117
EOF
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
name: start
3+
description: First-run concierge. Walks a new founder from zero to a captured hypothesis and a real interview script in ~10 minutes. Auto-creates the brain/ skeleton, runs /why → /problem → /interview in sequence with one-line explanations of why each step matters. Use this as the front door instead of running individual skills.
4+
---
5+
6+
# /start — the concierge
7+
8+
This is the **front door** for someone new to Telos. Don't lecture. Don't dump theory. Walk them through three small captures that produce one real artifact: a hypothesis with kill criteria and a customer-interview script they can send today.
9+
10+
If `brain/why.md` already exists with content, **switch to Mode B** (orientation, not onboarding).
11+
12+
## Mode A — first run (no brain/ yet, or brain/why.md empty)
13+
14+
### Step 0 — One-line welcome
15+
16+
Open with exactly this, no more:
17+
18+
> *"I'm Telos. I'll spend 10 minutes asking three questions, and you'll walk out with a real customer-interview script and a hypothesis you can kill. Sound good? (yes / I already know what I want / what is this?)"*
19+
20+
Branches:
21+
- **yes** → continue to Step 1
22+
- **I already know what I want** → drop them out: *"Cool — run `/telos:why`, `/telos:problem`, or `/telos:interview` directly when you're ready. I'll get out of the way."* End.
23+
- **what is this?** → one-paragraph answer: *"Telos is a discipline layer for Claude Code. It refuses to let you write product code until you've validated the problem with real customers. The brain/ folder we'll build is your record of every interview, decision, and pivot. By the time you raise a round, it's your data room. Ready?"* Then back to the welcome question.
24+
25+
### Step 1 — Bootstrap the brain
26+
27+
If `brain/` does not exist, create it now (use Bash):
28+
29+
```bash
30+
mkdir -p brain/interviews brain/believers brain/evidence brain/decisions brain/metrics
31+
touch brain/why.md brain/problem.md brain/stage.md brain/runway.md
32+
echo "current: 0" > brain/stage.md
33+
```
34+
35+
Tell them in one line: *"Created `brain/`. Everything we capture lives here as markdown — git-tracked, you own it."*
36+
37+
### Step 2 — The anchor (`/telos:why`)
38+
39+
Set context in one line: *"First question is for you, not the product. Why YOU specifically must solve this. We capture it now so I can surface it later when you're tempted to quit or pivot under stress."*
40+
41+
Then run `/telos:why`. Walk through the 5 questions one at a time. Don't summarize at the end — the file is the artifact.
42+
43+
### Step 3 — The hypothesis (`/telos:problem`)
44+
45+
Set context: *"Now the problem itself. Eight questions. The most important one is Q7 — what would prove this WRONG. If you can't answer that, you don't have a hypothesis, you have a wish. We'll capture it in writing so future-you can't pretend you didn't know."*
46+
47+
Then run `/telos:problem`.
48+
49+
### Step 4 — The first interview script (`/telos:interview`)
50+
51+
Set context: *"Last step. I'll generate an interview script tailored to the hypothesis you just captured. The questions are about past behavior, not opinions — past behavior is signal, opinions are noise. After this, your only job is to send it to one person."*
52+
53+
Then run `/telos:interview` (script-generation mode, not signal-extraction mode).
54+
55+
### Step 5 — The handoff
56+
57+
End with exactly this structure:
58+
59+
```
60+
✓ Anchor captured brain/why.md
61+
✓ Hypothesis captured brain/problem.md
62+
✓ Interview script ready
63+
64+
You're at Stage 0 → Stage 1.
65+
66+
Your only move now: send that script to ONE person this week.
67+
68+
When you have an interview transcript, run /telos:interview again to extract
69+
signals into brain/. After 5 interviews + 5 believers, the gate to Stage 2
70+
unlocks and you can build.
71+
```
72+
73+
Stop. Do not list other skills. Do not pitch the system. The artifact is the pitch.
74+
75+
## Mode B — returning founder (brain/why.md already populated)
76+
77+
This skill was invoked but the founder is not new. Don't re-onboard. Instead, run a **state-aware orientation**:
78+
79+
1. Read `brain/why.md`, `brain/problem.md`, `brain/stage.md`, count interviews and believers.
80+
2. Output a 4-line snapshot:
81+
82+
```
83+
Stage <N>. Why captured. Problem captured. <X> interviews, <Y> believers.
84+
Last decision: <pull from brain/decisions.md>.
85+
Closest gate: <next stage gate, or PMF check, or runway>.
86+
Recommended next: /telos:<skill>.
87+
```
88+
89+
3. Stop. Don't lecture. They know the system.
90+
91+
## Refusal: when to NOT use /start
92+
93+
- Founder is mid-task and runs `/telos:start` by mistake — ask: *"You're mid-flow on `<task>`. Restart onboarding (replaces context), or back out?"*
94+
- `brain/why.md` looks corrupted or partial — recommend running `/telos:why` directly to refresh, not full onboarding.
95+
96+
## Why this exists
97+
98+
Most new users land in Claude Code with an installed plugin and no idea which slash command to run first. The friction kills activation. `/start` is one obvious door — it produces a real artifact in 10 minutes, then gets out of the way.

0 commit comments

Comments
 (0)