---
name: setup-ramp
preamble-tier: 0
version: 1.0.0
description: |
  First-time setup for /ramp. Interviews the user to build their personal
  context doc (archetype, learning loop, mentor frame, OS check) and config file. Also
  optionally creates a custom panel-review skill using research agents on named advisors.
  Run once before the first /ramp session. Re-run any time to update config.
triggers:
  - setup ramp
  - configure ramp
  - setup-ramp
allowed-tools:
  - Bash
  - Read
  - Write
  - Edit
  - Agent
  - AskUserQuestion
  - WebSearch
---

# /setup-ramp

## Step 0 — Check for existing config

Run:
```bash
[ -f ~/.claude/ramp-config.yaml ] && echo "EXISTS" || echo "NEW"
[ -f ~/.claude/ramp-context.md ] && echo "CONTEXT_EXISTS" || echo "CONTEXT_NEW"
```

If config exists, ask via AskUserQuestion:

```
Question: A config already exists. What do you want to do?

Options:
A) Update it — go through the questions, keep existing answers as defaults
B) Start fresh — overwrite everything
C) Just update context — redo the context interview, keep config as-is
```

Load existing config and context if updating (so you can show current values as defaults).

---

## Phase 1 — Context interview

**Goal:** Compose `~/.claude/ramp-context.md` — the equivalent of a personal founder-flywheel doc. This is what the skill reads at the start of every session to understand the user's mental model.

Ask each question as plain text, one at a time. Wait for the full response before proceeding. Show existing values as "(current: ...)" when updating.

**Q1 — Operating pillars:**

> "What are your 3-5 core operating pillars as a founder — the things you want to track and improve every week? These are the axes your whole practice runs on.
>
> Examples: deployment reps / market exposure, mentor relationships, public brand for fundraising, health and operating rhythm, compound tooling and engineering.
>
> Name yours and say one sentence about why each one matters to you right now."

**Q2 — Mentor relationship frame:**

> "How do you think about learning from advisors and mentors? Three parts:
>
> 1. Mindset — what's your posture going into those conversations? What are you trying to get from them? Say how you actually think about it, doesn't need to be polished.
>
> 2. Intended cadence — how often do you want to be in contact with your primary mentor? (e.g. weekly, every 2 weeks, monthly, quarterly, or 'ad-hoc' if you prefer to reach out only when something specific comes up)
>
> 3. Modality — how do you prefer to communicate with them? (e.g. async written updates, voice memos, scheduled calls, in-person, Slack DMs, email threads) And what style — terse status, narrative paragraph, bullet list, voice ramble?"

Parse the response into three named fields. Handle edge cases:

- **If cadence is given as a phrase, not a duration** (e.g. "when it feels right", "regularly", "often"): push once:
  > "Give me a rough interval in weeks, or say 'ad-hoc' if there's no intended rhythm."
  Accept the second answer as-is.

- **If cadence is 'ad-hoc' or equivalent**: record cadence as `ad-hoc`
  and set `default_send_window` to "within 5 business days of deciding
  to send."

- **For numeric cadences**: derive `default_send_window` as roughly
  one-third of the cadence interval, capped at 5 business days:
  - Weekly cadence → "by end of this week" (default Friday)
  - Biweekly → "within 5 business days"
  - Monthly → "within 5 business days"
  - Quarterly → "within 2 weeks"

- **If modality is vague** (e.g. "messages", "we talk"): push once:
  > "Async or synchronous? Written or voice?"
  Then accept.

- **If style is not given**: infer from modality (voice memo → "voice ramble", Slack DM → "terse bullets", email → "narrative paragraph") and confirm:
  > "Defaulting style to [X] — override?"
  Accept either confirmation or correction.

**Q3 — Founder trajectory:**

> "Where are you right now? Three modes — pick the one that fits:
>
> **A) Compound engineer** — not founding any time soon. Building skills, technical leverage, and optionality for a future founding event.
>
> **B) Thesis mode** — clear on a domain or problem space, no specific idea crystallized yet. Sharpening the thesis.
>
> **C) Idea mode** — something concrete to build toward, with at least a rough timeline.
>
> Which fits? And say one sentence about what's actually constraining you right now — time, money, conviction, co-founders, or something else."

Based on the archetype answer, ask one conditional follow-up (only this one, then move on):

- **Compound**: no follow-up on timeline. Record only the structural constraint.
- **Thesis**:
  > "What's the domain, and what's the single biggest thing you don't yet know about it?"
- **Idea**:
  > "What's your rough timeline, and what's the first concrete milestone — not 'launch a startup' but the next specific gate?"

Then, regardless of archetype, ask:

> "Which of these do you actively want to skip tracking in your weekly sessions? Technical depth, compound engineering, and mentor relationships are always on.
>
> - **Sales / customer discovery** — direct conversations with potential customers, field reps, ground-truth market signal
> - **Marketing / brand** — public publishing, audience building, brand for hiring or fundraising
> - **Fundraising / investor relationships** — investor network, fundraising readiness, pitch cadence
>
> Name any to drop, or 'none' to track all."

**Q4 — Work context:**

> "Describe your work context in 2-3 sentences: your job or main project right now, what you're building or learning, and what the ground-truth learning surface looks like — where do you actually get signal about customers, markets, or the deployment gap?"

This feeds into the learning loop synthesis used to frame Q2 in every ramp session.

---

After all 4 answers, synthesize into `~/.claude/ramp-context.md`:

```markdown
---
last_updated: YYYY-MM-DD
---

# Ramp — Personal Context

## Operating Pillars

[Synthesize from Q1 — list each pillar with a 1-2 sentence description of why it matters. Use their words where possible.]

## Mentor Relationship Frame

[Synthesize from Q2 mindset answer — describe their posture for advisor
relationships. First-person-adjacent prose, not a list.]

**Intended cadence:** [e.g. "every 2 weeks" | "ad-hoc"]
**Default send window:** [e.g. "within 5 business days" | "by end of week"]
**Preferred modality:** [e.g. "async written update via email"]
**Style:** [e.g. "bullet list, terse"]

## Founder Trajectory

**Archetype:** [compound | thesis | idea]
**Structural constraint:** [one sentence — what's actually constraining them right now]
[Include only if thesis: **Thesis domain:** [domain] | **Biggest unknown:** [unknown]]
[Include only if idea: **Timeline:** [rough timeline] | **First milestone:** [specific milestone]]

[One sentence synthesizing current situation and direction. Factual, specific.]

## Work Context

[Q4 answer, lightly edited for clarity. 2-4 sentences. This is read verbatim to frame Q2 in each session.]

## Weekly Focus

**Skipped axes:** [e.g. "Marketing / brand, Fundraising / investor relationships" | "none"]
**Learning loop:** [synthesize from archetype + work context — the phrase interpolated into Q2 each session.
Examples: "compound engineering and tooling" | "product iteration with early users" |
"deployment loop from real customer conversations" | "content and distribution experiments"
Only ask the user explicitly if synthesis is ambiguous.]
```

---

## Phase 2 — Config interview

**Goal:** Write `~/.claude/ramp-config.yaml`.

---

### OS check trial

Before any file path questions, run a quick trial of the default OS check so the user can shape it from real answers, not abstractions.

> "Before we get into file paths, let me show you what your weekly OS check looks like. Answer these quickly."

Ask the three default items as plain questions, one at a time:

1. > "Health pillars: how did sleep, fitness, mindfulness/journaling, and a no-electronics morning hour go this week? What held and what slipped?"
2. > "Compound engineering: what did you build or improve this week that increases the rate of your future work?"
3. > "Growth metric: what single number are you tracking right now that tells you founder-readiness is moving?"

After all three answers, present the default item list and offer to prune or add:

> "Here's what your OS check will look like each week:
> - Health pillars (sleep, fitness, mindfulness/journaling, no-electronics morning)
> - Compound engineering
> - Growth metric
>
> Anything to drop? Anything to add that came up in your answers?"

Accept their edits and store the final list as `os_check_items` in config. Each item is a short label (e.g. "Health pillars", "Compound engineering", "Reading pace"). If they keep everything and add nothing, store the three defaults.

---

### File paths — single vault question

Ask only ONE path question:

> "Andrej Karpathy calls this 'manipulating knowledge' — using an LLM not just to chat, but to build and maintain a personal knowledge base over time.
>
> A vault is that knowledge base: a local folder of plain-text markdown files — notes, wiki pages, ideas — that compound as you work.
>
> Do you have one already? Paste the path, or press enter and I'll create one at `~/Documents/Notes`."

Save the answer (or `~/Documents/Notes`) as `vault_dir`. That's the only path question. All other locations are derived automatically.

---

**Q5 — Primary mentor:**

> "Who's your primary mentor or advisor — the person whose judgment on your founder progress matters most right now? (name, or 'none')"

If they name someone, save as `mentor_name`. If 'none', leave blank.

---

**Q6 — Distribution / brand mode:**

> "How do you want Q4 of each weekly session to work — the axis that tracks your distribution-building?
>
> **A) Both** — public publishing (posts, threads, blog) AND private network moves (outreach, intros, relationships) both count as valid answers.
> **B) Brand only** — public publishing only. Did the artifact ship?
> **C) Network only** — networking flywheel only. Did the relationship move happen?
> **D) Off** — skip this axis entirely each session.
>
> Pick one, or press enter for the default (Both)."

Save as `q4_mode` (values: `both` | `brand` | `network` | `off`). Default: `both`.

---

### Autodetect paths from vault structure

After getting `vault_dir` and `mentor_name`, scan the vault to resolve all file paths automatically. Run:

```bash
# Check if vault exists
[ -d "[vault_dir]" ] && echo "VAULT_EXISTS" || echo "VAULT_NEW"

# List all markdown files for semantic inspection
find "[vault_dir]" -maxdepth 5 -name "*.md" 2>/dev/null

# List all directories
find "[vault_dir]" -maxdepth 4 -type d 2>/dev/null
```

Read the file listing and use your judgment to identify which file is most likely serving each role. You are looking for **~85% semantic confidence** — don't require exact names, but require that the file's name, path, and/or surrounding directory plausibly matches the function. Skim any ambiguous files to check their structure before deciding.

Detection heuristics by role (examples, not exhaustive):

| Config field | What you're looking for |
|---|---|
| `mentor_notes_file` | A file in or near a `people/` directory whose name resembles the mentor's name — slug, first name, last name, initials, or common nickname. Should look like a profile/notes page, not a log. |
| `mentor_updates_file` | A file near the mentor notes file whose name suggests a log, updates, cadence, or sent messages — e.g. `mike-updates.md`, `leblanc-log.md`, `mentor-log.md`. |
| `open_questions_file` | Any file whose name or path suggests unanswered questions, open loops, or unknowns — e.g. `open-questions.md`, `unknowns.md`, `questions.md`, `things-to-figure-out.md`. |
| `current_actions_file` | Any file whose name suggests current priorities, this week's focus, active todos, or a top-N list — e.g. `current-actions.md`, `this-week.md`, `top3.md`, `priorities.md`. |
| `crm_file` | Any file that looks like a contact list, relationship tracker, or people CRM — e.g. `crm.md`, `contacts.md`, `people.md`, `network.md`. |
| `session_output_dir` | A directory that looks like it holds dated journal entries or session notes — e.g. `raw/journal`, `journal/`, `sessions/`, `weekly/`. |
| `ideas_dir` | A directory that looks like it holds ideas, sparks, or captured concepts — e.g. `raw/ideas`, `ideas/`, `sparks/`, `inbox/`. |

If confidence is below ~85% for a given field, do not guess — fall back to the default path and mark it "will create."

Default paths if not detected:

| Config field | Default |
|---|---|
| `mentor_notes_file` | `[vault_dir]/wiki/people/[slug].md` |
| `mentor_updates_file` | `[vault_dir]/wiki/people/[slug]-updates.md` |
| `open_questions_file` | `[vault_dir]/wiki/open-questions.md` |
| `current_actions_file` | `[vault_dir]/wiki/current-actions.md` |
| `crm_file` | `[vault_dir]/wiki/people/crm.md` |
| `session_output_dir` | `[vault_dir]/raw/journal` |
| `ideas_dir` | `[vault_dir]/raw/ideas` |

Ingestion targets always default to: mentor_contact → `mentor_updates_file`, new_todos → `current_actions_file` (if those files are configured).

---

### Single confirmation before writing

Before creating any files or writing config, display a summary table:

> "Here's what I'll set up — derived from your vault. Say 'go' to proceed, or correct any path."

```
vault_dir:            [vault_dir]

mentor_notes:         [path]  [DETECTED | will create]
mentor_updates:       [path]  [DETECTED | will create | —]
open_questions:       [path]  [DETECTED | will create]
current_actions:      [path]  [DETECTED | will create]
crm:                  [path]  [DETECTED | will create]
session_output_dir:   [path]  [DETECTED | will create]
ideas_dir:            [path]  [DETECTED | will create]
```

Wait for "go" (or "yes", "looks good", "proceed"). If they correct a path, update it and re-display the table. Only after confirmation: create missing files/directories and write config.

**File templates for "will create" cases:**

`mentor_notes_file`:
```markdown
---
type: person
last_updated: YYYY-MM-DD
---

# [Mentor Name]

## Background

## How They Think / Mental Models

## Key Advice and Framings

## Learnings Log
```

`mentor_updates_file`:
```markdown
---
type: reference
last_updated: YYYY-MM-DD
---

# [Mentor Name] — Update Log

## Entries

*(most recent first)*
```

`open_questions_file`:
```markdown
# Open Questions

## Fundraising & Investors

## Product & Market

## Operating & Personal

## Mentor & Network
```

`current_actions_file`:
```markdown
# Current Actions

## Top 3 This Week

*(updated after each /ramp session)*

## Open Todos
```

`crm_file`: create as an empty markdown file with a `# Contacts` heading.

---

After all config questions, write `~/.claude/ramp-config.yaml`:

```yaml
# Ramp — Personal Config
# Generated by /setup-ramp on YYYY-MM-DD
# Edit any field directly. Blank values disable that feature.

vault_dir: "[vault_dir]"
mentor_name: "[mentor_name or blank]"
mentor_notes_file: "[path or blank]"
mentor_updates_file: "[path or blank]"
open_questions_file: "[path or blank]"
current_actions_file: "[path or blank]"
crm_file: "[path or blank]"
session_output_dir: "[path]"
ideas_dir: "[path]"
q4_mode: "[both | brand | network | off]"  # default: both
os_check_items:
  - "[item 1]"
  - "[item 2]"
  - "[item 3]"
panel_review_skill: ""  # filled in Phase 3 if created

ingestion_targets:
  [- file: "..." / on: "..." for each configured target]
```

---

## Phase 3 — Founder-critique setup (optional)

Ask as plain text:

> "Do you want to set up a founder-critique skill — a way to get your ramp sessions reviewed from multiple advisor perspectives? I'll research your chosen advisors and write a custom skill for it. (yes / no)"

If yes:

**Step 1 — Name your panel:**
> "Name 3 people — real founders, investors, or thinkers — whose judgment you most want in the room. For each one, say one sentence about the lens they bring.
>
> Example: 'Paul Graham — cuts through narrative to what's actually happening. Naval Ravikant — thinks in leverage and long games. Jensen Huang — demands the hardest thing be done first.'"

**Step 3 — Research agents:**
Spawn one background research agent per named person (in parallel). Each agent:
1. Searches for the person's known mental models, public writing, areas of expertise, and characteristic critiques
2. Finds 3-5 specific, quotable framings or patterns from their public record
3. Returns a brief profile: background (2 sentences), their lens as a founder/advisor, their characteristic critique pattern, and 3-5 specific framings or quotes

Collect all three agent results before proceeding.

**Step 4 — Write the panel-review skill:**

Create `~/.claude/skills/founder-critique/SKILL.md` modeled on the /panel-review structure:

```markdown
---
name: founder-critique
preamble-tier: 0
version: 1.0.0
description: |
  [N]-advisor panel critique of ramp progress. Loads profiles for [names],
  then applies each advisor's critique lens to recent ramp sessions.
triggers:
  - panel review
  - founder-critique
  - advisor panel
allowed-tools:
  - Bash
  - Read
  - Write
---

# /founder-critique

## Step 1 — Load sessions

Load the N most recent ramp session files from [session_output_dir]:
```bash
ls -t [session_output_dir]/*ramp-session.md 2>/dev/null | head -3
```
Read each. Also read ~/.claude/ramp-context.md for current context.

## Step 2 — Individual critiques

For each advisor, output a `## [Name]` section.

**Format:**

**Part 1 — Thought process (first-person, present tense):** The advisor reads through the sessions as they go, narrating reactions. Reference specific moments. Show reasoning before verdict. 3-5 paragraphs.

**Part 2 — Verdict:**
- **Score (1-5)** with one sentence anchored to specific evidence
- **The one question they'd leave with** — their single sharpest forcing question

---

### [Advisor 1 Name]

**Background:** [2-sentence background from research]

**Lens:** [how they think about founder progress — from research]

**Characteristic critique pattern:** [what they typically push on — from research]

**Key framings to apply:**
[3-5 specific framings or quotes from research, used to shape the critique voice]

**Voice calibration:** [2-3 sentences on how they sound — their register, sentence length, what they're merciless about]

---

### [Advisor 2 Name]

[Same structure]

---

### [Advisor 3 Name]

[Same structure]

---

## Step 3 — Panel synthesis

Always output `## Panel Synthesis` with:
1. **Where they agree** — highest-confidence signal
2. **The sharpest disagreement** — where their frameworks diverge
3. **The one action they'd all endorse** — most convergent next step

## Step 4 — Save output

Create `[session_output_dir]/../YYYY-MM-DD-founder-critique.md` with the full critique output.

Commit:
```bash
git add [output file]
git commit -m "chore: founder-critique session $(date +%Y-%m-%d)"
```
```

Update `panel_review_skill` in `~/.claude/ramp-config.yaml` to `founder-critique`.

---

## Phase 4 — Finish

Print:

> "Setup complete."
> ""
> "Run `/ramp` to start your first session."
> ""
> "Files written:"
> "  - Context doc: ~/.claude/ramp-context.md"
> "  - Config: ~/.claude/ramp-config.yaml"
> [if panel-review created] "  - Panel review skill: ~/.claude/skills/founder-critique/SKILL.md"
> ""
> "Edit either file any time — changes take effect immediately on next session."
> ""
> [if any files were created by "create one" choices] "Files created in your vault:"
> [list each created file]