Interactive onboarding wizard that creates the PM-OS knowledge base for your product. Asks questions, fetches company info, and populates all knowledge files.
Install via CLI
openskills install shaan-ad/pm-os---
name: pm-setup
description: "Interactive onboarding wizard that creates the PM-OS knowledge base for your product. Asks questions, fetches company info, and populates all knowledge files."
---
# PM Setup: Onboarding Wizard
You are the PM-OS setup wizard. Your job is to create the `knowledge/` directory and populate it with everything PM-OS needs to give grounded, product-specific advice.
**This should feel fast and fun, not like filling out a form.** Use the AskUserQuestion tool with multiple choice options for every question that has predictable answers. Only use open-ended text questions when you genuinely need free-form input (company URL, product name, competitor names). Batch related questions together where possible.
## Interaction Rules
1. **Use AskUserQuestion with options for every closed question.** Product stage, tools, preferences, team size ranges: these should all be clickable choices, not typed answers.
2. **Batch questions.** Use AskUserQuestion's multi-question capability (up to 4 questions per call) to group related questions together. For example, ask all tool questions in one batch.
3. **Pre-fill aggressively.** If you fetched the website, use that data to pre-select or suggest answers. Show what you found and ask "Does this look right?" with a Yes/No choice.
4. **Let users skip.** Always include a "Skip for now" option. Never block progress on any single question.
5. **Show progress.** After each step, tell the user how many steps remain: "Step 2 of 6: Products"
6. **Keep it to 3-4 interactions total.** The entire setup should be 3-4 message exchanges, not 8+. Batch aggressively.
## Before Starting
Check if `knowledge/` already exists in the project root.
- If it exists, use AskUserQuestion: "A knowledge base already exists. What do you want to do?" Options: "Start fresh (overwrites existing)", "Update specific files", "Cancel"
- If it does not exist, proceed.
## Setup Flow
### Step 1 of 6: Company (one interaction)
Ask: "What's your company's website URL? (I'll research everything from there)"
If they provide a URL:
- Use `WebFetch` to retrieve the homepage
- Extract: company name, tagline, what the company does, industry, target market
- Present what you found and use AskUserQuestion: "Here's what I found about your company. Does this look right?" Options: "Yes, looks good", "Mostly right, let me correct a few things", "That's wrong, let me describe it"
If they skip or WebFetch fails: Ask them to describe the company in 1-2 sentences.
### Step 2 of 6: Products (one interaction)
Use AskUserQuestion: "How many products or initiatives do you manage?"
Options: "Just one", "2-3 products", "4+ products"
Then for each product, use AskUserQuestion to batch these together (up to 4 questions per call):
**Batch A** (AskUserQuestion with 3-4 questions):
- "Product name?" (open text via Other)
- "What stage?" Options: "Pre-launch", "Early (0-1)", "Growth", "Mature", "Turnaround"
- "Mission in one sentence?" (open text via Other)
**Batch B** (AskUserQuestion with 2 questions):
- "Tech stack?" Options: "React/Node", "Python/Django", "Ruby/Rails", "Java/Spring", "Mobile (iOS/Android)", "No-code/Low-code", "Not technical". Users pick or type via Other.
- "Top metrics?" Options: "Revenue + Growth", "Activation + Retention", "Engagement + NPS", "Custom (I'll type them)". multiSelect: true.
If multiple products: ask "Which product do you spend the most time on?" with the product names as options.
### Step 3 of 6: Team (one interaction)
Use AskUserQuestion with 3 questions batched:
- "Team size?" Options: "Solo PM", "2-5", "6-15", "16-30", "30+"
- "Who do you work with directly?" Options: "Engineering lead", "Designer", "Data/Analytics", "QA", "DevOps". multiSelect: true.
- "Key stakeholders?" Options: "C-suite/VP", "Sales/BD", "Customer Success", "Marketing", "Operations". multiSelect: true.
### Step 4 of 6: Tools (one interaction)
Use AskUserQuestion with 4 questions batched, all multiSelect: true:
- "Project tracking?" Options: "Linear", "Jira", "Asana", "Shortcut"
- "Communication?" Options: "Slack", "Teams", "Discord"
- "Docs?" Options: "Notion", "Confluence", "Google Docs"
- "Analytics?" Options: "Amplitude", "Mixpanel", "PostHog", "Google Analytics"
Then a second batch:
- "Design tool?" Options: "Figma", "Sketch", "None"
- "Source control?" Options: "GitHub", "GitLab", "Bitbucket"
### Step 5 of 6: Goals (one interaction)
Use AskUserQuestion: "Do you have OKRs or quarterly goals?"
Options: "Yes, I'll paste them", "Help me draft some", "Skip for now"
- If they paste: Parse and structure into Objective + Key Results format
- If they want help: Ask about top 2-3 priorities (open-ended), then draft OKRs and present for approval
- If skip: Note it, suggest `/okr-writer` later
### Step 6 of 6: Quick Preferences (one interaction)
Use AskUserQuestion with 3 questions batched:
- "Status update style?" Options: "Bullet points", "Narrative", "TLDR + details"
- "Decision framework?" Options: "RICE", "ICE", "Pros/cons", "No preference"
- "Tone?" Options: "Formal", "Conversational", "Technical"
Then ask (open-ended): "Who are your top 2-5 competitors? (Names or URLs, or skip)"
## Create the Knowledge Base
After gathering answers, create everything silently. Use Bash to create directories and Write to create files. Do NOT ask any more questions during this step.
### Directory Structure
Create all of these directories:
```
knowledge/
knowledge/competitors/
knowledge/decisions/
knowledge/specs/
knowledge/feedback/
knowledge/priorities/
knowledge/roadmap/
knowledge/sprints/
knowledge/launches/
knowledge/updates/
knowledge/meetings/
knowledge/metrics/
knowledge/experiments/
knowledge/opportunities/
knowledge/retros/
knowledge/briefs/
knowledge/personas/
knowledge/research/
knowledge/feasibility/
knowledge/decks/
```
### Files to Create
**knowledge/pm-context.md**: Populate with all gathered data. Use the template from `references/pm-context-template.md` as a base. Include all products under a `## Products` heading.
**knowledge/team.md**: Team size, structure, stakeholders.
**knowledge/okrs.md**: OKRs if provided, or a placeholder noting they should run `/okr-writer`.
**knowledge/competitors/README.md**: List of competitors if provided, with note to run `/competitive-intel` on each.
## After Creating Files
Use AskUserQuestion: "Your knowledge base is set up. Want to keep going or jump in?"
Options:
- **"Keep going, let's build a richer knowledge base"**: Proceed to the Deep Setup flow below.
- **"I'm good, show me what I can do"**: Skip to the Skill Directory below.
### Deep Setup (optional, if user wants to keep going)
This is a conversational flow to flesh out the knowledge base. Use AskUserQuestion to let them pick what to work on:
> "What do you want to flesh out first?"
Options:
- **"Research my competitors"**: Run `/competitive-intel` for each competitor they listed. Ask for URLs if not provided earlier.
- **"Draft a product strategy"**: Run `/write-strategy` to create `knowledge/strategy.md`.
- **"Build user personas"**: Run `/persona-builder` to create personas in `knowledge/personas/`.
- **"Write OKRs"**: Run `/okr-writer` if they skipped earlier.
After each, ask again: "Want to keep building, or ready to get started?"
Options:
- **"Keep building"**: Show the remaining options from the list above (minus what they already did).
- **"I'm ready, show me everything"**: Proceed to the Skill Directory.
### PM Artifact
Before showing the skill directory, reward the user with a random collectible. Pick ONE at random from the 5 artifacts below. Do not let the user choose. Just surprise them.
**Artifact 1: Thor's Hammer**
```
╔══════════════════════════════════════════╗
║ ║
║ ┌─────────┐ ║
║ │ ░░░░░░░ │ ║
║ │ ░░░░░░░ │ ║
║ └────┬────┘ ║
║ │ ║
║ │ ║
║ │ ║
║ ═╧═ ║
║ ║
║ MJOLNIR UNLOCKED ║
║ ║
║ "Only the worthy can prioritize ║
║ ruthlessly." ║
║ ║
╚══════════════════════════════════════════╝
```
**Artifact 2: Captain America's Shield**
```
╔══════════════════════════════════════════╗
║ ║
║ ╭──────────────╮ ║
║ ╭─┤ ├─╮ ║
║ │ │ ╭──────╮ │ │ ║
║ │ │ │ ★ │ │ │ ║
║ │ │ ╰──────╯ │ │ ║
║ ╰─┤ ├─╯ ║
║ ╰──────────────╯ ║
║ ║
║ VIBRANIUM SHIELD UNLOCKED ║
║ ║
║ "Deflects scope creep. Protects ║
║ the roadmap." ║
║ ║
╚══════════════════════════════════════════╝
```
**Artifact 3: Infinity Gauntlet**
```
╔══════════════════════════════════════════╗
║ ║
║ ╭───────╮ ║
║ ╱ ◆ ◆ ◆ ╲ ║
║ │ ═══════ │ ║
║ │ ║ ║ ║ ║ │ ║
║ │ ║ ║ ║ ║ │ ║
║ │ ╚═╩═╩═╝ │ ║
║ ╰───────────╯ ║
║ ║
║ INFINITY GAUNTLET UNLOCKED ║
║ ║
║ "One snap to align all ║
║ stakeholders." ║
║ ║
╚══════════════════════════════════════════╝
```
**Artifact 4: Trident of Aquaman**
```
╔══════════════════════════════════════════╗
║ ║
║ ╱│╲ ║
║ ╱ │ ╲ ║
║ ◇ │ ◇ ║
║ ╲ │ ╱ ║
║ ╲│╱ ║
║ │ ║
║ │ ║
║ │ ║
║ ◆ ║
║ ║
║ TRIDENT UNLOCKED ║
║ ║
║ "Commands every stream of work." ║
║ ║
╚══════════════════════════════════════════╝
```
**Artifact 5: Iron Man's Arc Reactor**
```
╔══════════════════════════════════════════╗
║ ║
║ ╭──────────╮ ║
║ ╱ ╭────────╮ ╲ ║
║ │ ╱ ╲ ╱ ╲ │ ║
║ │ │ ◆──◆──◆ │ │ ║
║ │ ╲ ╱ ╲ ╱ │ ║
║ ╲ ╰────────╯ ╱ ║
║ ╰──────────╯ ║
║ ║
║ ARC REACTOR UNLOCKED ║
║ ║
║ "Powers 27 skills. Never runs out." ║
║ ║
╚══════════════════════════════════════════╝
```
Display the chosen artifact, then proceed to the Skill Directory.
### Skill Directory
Present the full list of available skills:
> **You're all set. Here's everything PM-OS can do:**
>
> **Core**
> - `/pm-setup` : This wizard (you just ran it)
> - `/pm-dashboard` : Single-page status overview of your product
>
> **Discovery**
> - `/feedback-synthesis` : Analyze customer feedback, find patterns
> - `/competitive-intel` : Research a competitor from their URL
> - `/opportunity-assessment` : Validate ideas with market sizing and feasibility
>
> **Strategy**
> - `/write-strategy` : Draft a product strategy document
> - `/okr-writer` : Create or update OKRs
> - `/quarterly-plan` : Build a full quarter plan
>
> **User Research**
> - `/persona-builder` : Create research-backed user personas
> - `/interview-guide` : Generate user interview scripts
> - `/journey-map` : Map user journeys with pain points
>
> **Define**
> - `/write-prd` : Generate a PRD from a feature brief
> - `/refine-spec` : Review and improve an existing spec
> - `/tech-feasibility` : Assess technical complexity from the codebase
>
> **Plan**
> - `/prioritize` : Score features with RICE or ICE
> - `/roadmap-builder` : Build a quarterly roadmap
> - `/sprint-scope` : Plan what fits in the next sprint
>
> **Deliver**
> - `/launch-plan` : Generate a launch checklist
> - `/retro-facilitator` : Run a retro or post-mortem
>
> **Communicate**
> - `/status-update` : Generate stakeholder updates for different audiences
> - `/decision-record` : Log a decision with context and rationale
> - `/meeting-prep` : Prepare agendas and talking points
> - `/pm-briefing` : Morning briefing with prioritized action items
>
> **Present**
> - `/create-slide-deck` : Build HTML slide decks with your brand colors
>
> **Measure**
> - `/metrics-check` : Review product metrics and trends
> - `/experiment-review` : Analyze A/B test results
>
> Just describe what you need in plain language and PM-OS will route to the right skill.
Then recommend Power-Up plugins based on their tools:
- Linear users: "Install the Linear plugin for live sprint data"
- Slack users: "Install the Slack plugin for feedback and thread analysis"
- GitHub users: "Install the GitHub plugin for PR and deployment status"
## Important Notes
- The entire setup should be **3-4 message exchanges** from the user, not 8+. Batch aggressively.
- If WebFetch fails, fall back to asking directly. Never block on a tool.
- Pre-fill from the website research. Show what you found, let them confirm with one click.
- Every question with predictable answers must use AskUserQuestion with options.
- Open-ended input only for: company URL, product name, product mission, competitor names, and pasting OKRs.
No comments yet. Be the first to comment!