# Wazzap Up

> Phase 1 of /wazzap — intake. Capture the user's high-level wish near-verbatim with minimal questioning. Use when the user invokes /wazzap:up or starts a new wazzap decision.

- Skill: `enw/wazzap-up` (Agent Skill)
- Install (CLI): `npx skillmds@latest add enw/wazzap-up`
- Raw SKILL.md: https://api.skillmd.com/api/skills/enw/wazzap-up/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: enw (https://skillmd.com/u/enw)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/enw/wazzap-up

---


# `/wazzap:up` — "What's up?"

Phase 1 of 4. **Mode: intake.** Capture the user's high-level wish in their own words. Do not Socratic. Do not pre-judge. Save the deep thinking for `:real`.

## Goal

Produce `up.md` and `MANIFEST.yml` for a new decision in under a minute.

## Inputs

- Free-text wish, either:
  - In the command: `/wazzap:up I want to redesign auth so onboarding is faster`
  - Or solicited: `/wazzap:up` → agent asks "What's up?"

## Steps

1. **Resolve `<wazzap-root>`** per parent SKILL (repo root `.wazzap/` if in a git repo, else `~/Documents/wazzap/`). Create directory if missing.

2. **Capture the wish.** If free text was provided in the command, use it. Otherwise ask: `"What's up? (one or two sentences is plenty)"`.

3. **Slug check (clarifier budget = 1).** Try to form a slug from the wish: `YYYY-MM-DD-<3+-word-kebab>`. If the wish is too sparse to form a meaningful slug ("fix it", "do the thing", "I'm stuck"), spend the clarifier on slug:
   > "Quick — give me a 3-word handle for this so we can find it later. (e.g. `auth-onboarding-redesign`)"
   
   Otherwise, **don't ask anything** and proceed.

4. **Privacy detection.** Scan the wish for relationship/money/career/health/personal-strategic signals (e.g. "co-founder", "salary", "should I leave", "my partner", "raise", "fire", "quit"). If detected, ask **once**:
   > "Should this be private (gitignored) or shared (committed)?"
   
   Otherwise default to `shared` silently.

5. **Collision check.** If `<wazzap-root>/<slug>/` already exists, append `-2` (or `-3`, etc.) to the slug.

6. **Create the folder** at `<wazzap-root>/<slug>/`.

7. **Write `MANIFEST.yml`** (see template below).

8. **If `visibility: private`,** append `.wazzap/<slug>/` to the repo's `.gitignore` (create the gitignore if missing). Skip if not in a git repo.

9. **Write `up.md`** (see template below).

10. **Set `_active`** by writing the slug to `<wazzap-root>/_active`.

11. **Tell the user** the slug, where it lives, and suggest `/wazzap:real` as the next step.

## `up.md` template

```markdown
# <Title — human-readable, derived from wish>

**Slug:** `<slug>`
**Started:** <ISO timestamp>
**Visibility:** <shared|private>

## The wish

<One sentence the user said, or distilled from their longer input. Use their words; don't paraphrase aggressively.>

## Why now?

<What triggered this thought today. If user didn't say, ask once or write "Not specified.">

## First instinct

<What would the user do if they had to act in the next 5 minutes? Captured verbatim.>

## Initial open questions

- <Things the user already flagged as unclear>
- <Or "None yet — will surface in :real">
```

If the user only gave you a one-sentence wish, **do not invent the other sections**. Write `_Not specified — will revisit in :real_` for the missing fields. The audit trail values "user actually said this" over agent-generated filler.

## `MANIFEST.yml` template

```yaml
slug: <slug>
title: <Title — derived from wish>
started_at: <ISO 8601 with TZ, e.g. 2026-04-28T15:00:00-04:00>
updated_at: <same as started_at on first write>
status: thinking
status_reason: ""
visibility: <shared|private>
current_phase: up
completed_phases: [up]
chosen_approach: ""
revisits: []
linked_commits: []
linked_prs: []
linked_pm_state: ""
notes: ""
```

## Output to user

Keep it tight:

```
✓ wazzap started: <slug>
  📁 <full path to folder>
  🔒 private  ← only if visibility=private

Next: /wazzap:real to drill into what's really going on.
(Or /wazzap to see the manifest summary anytime.)
```

## Anti-patterns to avoid in `:up`

- ❌ Asking "what would success look like?" — that's `:real` territory.
- ❌ Asking the user to clarify their wish unless the slug is genuinely impossible.
- ❌ Generating creative interpretations of what they meant. Capture, don't editorialize.
- ❌ Writing more than ~10 lines in `up.md` without explicit user input. Filler kills audit value.
- ❌ Skipping the privacy question when the topic is obviously personal.

## Self-check before finishing

- [ ] Folder exists at `<wazzap-root>/<slug>/`.
- [ ] `MANIFEST.yml` is valid YAML.
- [ ] `up.md` exists, contains user's wish in their words.
- [ ] `_active` file points to this slug.
- [ ] If `private`: `.gitignore` updated.
- [ ] Output to user is ≤ 5 lines and suggests the next command.

