$npx -y skills add aleksander-dytko/ai-pm-workspace --skill guideInteractive 8-module learning path for the shipped skills, role-adaptive
| 1 | # Guide |
| 2 | |
| 3 | An interactive tour through the shipped skills. Each module teaches one skill by running it against sample data in `samples/`. Designed for PMs, designers, analysts, or engineers - the skill adapts framing to the role set in `CLAUDE.md`. |
| 4 | |
| 5 | ## Pre-emit checklist (run BEFORE every chat message in this skill) |
| 6 | |
| 7 | Before you send any message while `/guide` is active, audit your draft against these rules. If any fails, fix it before sending. |
| 8 | |
| 9 | 1. **Vault paths are backticked.** Any token that looks like a file path (contains `/` or ends in `.md`) must be wrapped in backticks so Claude Code renders it as a clickable reference. A path without backticks is a bug - it renders as plain text and the user can't click it. |
| 10 | 2. **File-argument commands use `@`.** When you tell the user how to run a skill with a file input, the path must be `@`-prefixed so Claude Code's file autocomplete activates: `` `/meeting @samples/sample-meeting-transcript.md` ``, not `` `/meeting samples/sample-meeting-transcript.md` ``. |
| 11 | 3. **Module intros below are printed verbatim.** Each module has a literal intro block in this file. Print that block exactly as written - do not rephrase, do not add extra paragraphs, do not strip backticks. The blocks are short on purpose. |
| 12 | 4. **Gate order.** If the current turn is a first-run orientation, a resume, or a numeric jump, the message ends with `Ready to start Module N? (y/n/skip)` and nothing else - no module intro on the same turn. If the user just typed `next`, there is NO gate - go straight to the next module's verbatim intro. |
| 13 | |
| 14 | ## Progress tracking |
| 15 | |
| 16 | Progress is stored in `.claude/memory/guide-progress.md`. The `.claude/memory/` directory ships with the template (see its `README.md`), so do NOT run `mkdir` or `ls` to check - use the `Read` tool directly, and if Read returns "file does not exist", treat it as a first run and create the file with `Write`. |
| 17 | |
| 18 | When you create the progress file for the first time, use this content (substitute today's date for `YYYY-MM-DD`): |
| 19 | |
| 20 | ```markdown |
| 21 | --- |
| 22 | tags: GuideProgress |
| 23 | started: YYYY-MM-DD |
| 24 | --- |
| 25 | |
| 26 | # /guide progress |
| 27 | |
| 28 | - [ ] Module 1: /meeting |
| 29 | - [ ] Module 2: /today morning |
| 30 | - [ ] Module 3: /decision |
| 31 | - [ ] Module 4: /communicate |
| 32 | - [ ] Module 5: /create-epic |
| 33 | - [ ] Module 6: /competitive-research |
| 34 | - [ ] Module 7: Capstone |
| 35 | - [ ] Module 8: Extend your workspace |
| 36 | ``` |
| 37 | |
| 38 | Mark a module complete (`[x]`) only once the user finishes it (see "End-of-module recap" for the specific moment). |
| 39 | |
| 40 | ## Mode selection |
| 41 | |
| 42 | Keep tool calls minimal and silent - no `Bash ls`, no `mkdir`, no "let me check..." narration. The user wants a coach, not a script. |
| 43 | |
| 44 | Check `$ARGUMENTS`: |
| 45 | |
| 46 | - **Empty** (`/guide` with no args): |
| 47 | - Read `.claude/memory/guide-progress.md`. |
| 48 | - If Read returns "file does not exist", it's a first run: show the **First-run orientation block** (verbatim), create the progress file with `Write`, then stop. The orientation block ends with the "Ready to start Module 1? (y/n/skip)" prompt. On the user's next turn with `y`, print the **Module 1 verbatim intro** and stop. |
| 49 | - If progress exists, show the **Resume line** (one line: `` You're on Module N of 8 - [Module title]. `/guide <n>` to jump, `/guide reset` to start over. ``), then ask `Ready to start Module N? (y/n/skip)`, then stop. On `y`, print the **Module N verbatim intro**. |
| 50 | |
| 51 | - **`next`**: |
| 52 | - Read `.claude/memory/guide-progress.md`. |
| 53 | - If missing, treat exactly like empty (first-run flow). |
| 54 | - If progress exists, find the first uncompleted module and print its **verbatim intro** directly - NO "Ready?" gate. The user already said `next`; asking again is friction. |
| 55 | |
| 56 | - **A number 1-8** (e.g. `/guide 3`): |
| 57 | - Read (or create) progress file. |
| 58 | - Print one line: `Jumping to Module N - [title].` |
| 59 | - Ask `Ready to start Module N? (y/n/skip)` and stop. |
| 60 | - On `y`, print the **Module N verbatim intro**. |
| 61 | |
| 62 | - **`reset`**: |
| 63 | - Overwrite `guide-progress.md` with a fresh copy (all modules unchecked, `started:` = today). |
| 64 | - Print one line: `Progress reset.` |
| 65 | - Then show the **First-run orientation block**. |
| 66 | |
| 67 | The "Ready?" prompt at a gate is the ONLY prompt for that turn. Do not preview the intro on the same turn as a gate - that buries the gate. |
| 68 | |
| 69 | Answers at a "Ready?" gate: |
| 70 | - `y` - print the module's verbatim intro on the next turn |
| 71 | - `n` - stop (one-line acknowledgement) |
| 72 | - `skip` - mark the current module `[x]`, move to the next gate |
| 73 | |
| 74 | --- |
| 75 | |
| 76 | ## First-run orientation block (print verbatim) |
| 77 | |
| 78 | ``` |
| 79 | Welcome to **/guide** - an interactive tour of the shipped skills. |
| 80 | |
| 81 | **What this is**: 8 short modules (~5-10 min each), one per shipped skill, run against sample data in `samples/`. Do 1-2 per session over days, not all at once. Progress is saved in `.claude/memory/guide-progress.md`, so you can stop and resume. The framing adapts to the role set in `CLAUDE.md`. |
| 82 | |
| 83 | **The 8 modules**: |
| 84 | 1. `/meeting` - r |