superomni Office Hours — product discovery and validation. Two modes: Startup mode: six forcing questions that expose demand reality, the narrowest wedge, and implementation alternatives. Builder mode: design thinking for side projects and open source. Saves a design doc. Triggers: "brainstorm this idea", "office hours", "validate my idea", "think about this product", "I want to build", "help me think through".
From superomninpx claudepluginhub wilder1222/superomni --plugin superomniThis skill is limited to using the following tools:
SKILL.md.tmplSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
mkdir -p ~/.omni-skills/sessions
_PROACTIVE=$(~/.claude/skills/superomni/bin/config get proactive 2>/dev/null || echo "true")
_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
_TEL_START=$(date +%s)
echo "Branch: $_BRANCH | PROACTIVE: $_PROACTIVE"
When this skill is active, NEVER use Claude Code's built-in EnterPlanMode tool.
Use the superomni pipeline skills (brainstorm, writing-plans, executing-plans) instead.
If PROACTIVE is false: do NOT proactively suggest skills. Only run skills the
user explicitly invokes. If you would have auto-invoked, say:
"I think [skill-name] might help here — want me to run it?" and wait.
Report status using one of these at the end of every skill session:
Pipeline stage order: THINK → PLAN → REVIEW → BUILD → VERIFY → SHIP → REFLECT
REVIEW is the only human gate. All other stages auto-advance on DONE.
| Status | At REVIEW stage | At all other stages |
|---|---|---|
| DONE | STOP — present review summary, wait for user input (Y / N / revision notes) | Auto-advance — print [STAGE] DONE → advancing to [NEXT-STAGE] and immediately invoke next skill |
| DONE_WITH_CONCERNS | STOP — present concerns, wait for user decision | STOP — present concerns, wait for user decision |
| BLOCKED / NEEDS_CONTEXT | STOP — present blocker, wait for user | STOP — present blocker, wait for user |
When auto-advancing:
docs/superomni/[STAGE] DONE → advancing to [NEXT-STAGE] ([skill-name])When the user sends a follow-up message after a completed session, before doing anything else:
ls docs/superomni/specs/spec-*.md docs/superomni/plans/plan-*.md docs/superomni/ .superomni/ 2>/dev/null | head -20
git log --oneline -3 2>/dev/null
To find the latest spec or plan:
_LATEST_SPEC=$(ls docs/superomni/specs/spec-*.md 2>/dev/null | sort | tail -1)
_LATEST_PLAN=$(ls docs/superomni/plans/plan-*.md 2>/dev/null | sort | tail -1)
workflow skill for stage → skill mapping) and announce:
"Continuing in superomni mode — picking up at [stage] using [skill-name]."using-skills/SKILL.md.When asking the user a question, match the confirmation requirement to the complexity of the response:
| Question type | Confirmation rule |
|---|---|
| Single-choice — user picks one option (A/B/C, 1/2/3, Yes/No) | The user's selection IS the confirmation. Do NOT ask "Are you sure?" or require a second submission. |
| Free-text input — user types a value and presses Enter | The submitted text IS the confirmation. No secondary prompt needed. |
| Multi-choice — user selects multiple items from a list | After the user lists their selections, ask once: "Confirm these selections? (Y to proceed)" before acting. |
| Complex / open-ended discussion — back-and-forth clarification | Collect all input, then present a summary and ask: "Ready to proceed with the above? (Y/N)" before acting. |
Rule: never add a redundant confirmation layer on top of a single-choice or text-input answer.
Custom Input Option Rule: Whenever you present a predefined list of choices (A/B/C, numbered options, etc.), always append a final "Other" option that lets the user describe their own idea:
[last letter/number + 1]) Other — describe your own idea: ___________
When the user selects "Other" and provides their custom text, treat that text as the chosen option and proceed exactly as you would for any other selection. If the custom text is ambiguous, ask one clarifying question before proceeding.
Load context progressively — only what is needed for the current phase:
| Phase | Load these | Defer these |
|---|---|---|
| Planning | Latest docs/superomni/specs/spec-*.md, constraints, prior decisions | Full codebase, test files |
| Implementation | Latest docs/superomni/plans/plan-*.md, relevant source files | Unrelated modules, docs |
| Review/Debug | diff, failing test output, minimal repro | Full history, specs |
If context pressure is high: summarize prior phases into 3-5 bullet points, then discard raw content.
All skill artifacts are written to docs/superomni/ (relative to project root).
See the Document Output Convention in CLAUDE.md for the full directory map.
Agent failures are harness signals — not reasons to retry the same approach:
harness-engineering skill to update the harness before retrying.It is always OK to stop and say "this is too hard for me." Escalation is expected, not penalized.
After completing any skill session, run a 3-question self-check before writing the final status:
If any answer is NO, address it before reporting DONE. If it cannot be addressed, report DONE_WITH_CONCERNS and name the gap.
For a full performance evaluation spanning the entire sprint, use the self-improvement skill.
_TEL_END=$(date +%s)
_TEL_DUR=$(( _TEL_END - _TEL_START ))
~/.claude/skills/superomni/bin/analytics-log "SKILL_NAME" "$_TEL_DUR" "OUTCOME" 2>/dev/null || true
Nothing is sent to external servers. Data is stored only in ~/.omni-skills/analytics/.
Goal: Before writing a single line of code, understand the real problem, the real user, and the real market. Save a design-doc.md that downstream skills can use.
Never start implementation without a design-doc.md. If the user is excited about a solution, your job is to find the problem behind the solution.
Ask the user which mode applies:
Startup Mode — validating a real product for real users with growth expectations Builder Mode — side project, hackathon, open source, learning, or personal tool
Ask these questions one at a time (never all at once):
"Tell me about the last time this problem bit you specifically. Not in general — the last actual time. What were you doing, what happened, and what did you do about it?"
Goal: Find if the problem is real or hypothetical.
"What do people do today to solve this? Walk me through their current workflow."
Goal: Find the incumbent. If there's no status quo, there may be no market.
"Who woke up this morning already desperate for this? Not 'people who' — name a specific type of person and describe their Monday morning."
Goal: Find the beachhead user. Vague answers → vague product.
"What is the absolute minimum you could build in a week that would be genuinely useful to the desperate user? Not a demo — actually useful."
Goal: Force scope reduction to something shippable.
"Have you talked to 5 of these users? What did they tell you that surprised you?"
Goal: Find whether research has happened or if this is assumption-driven.
"In 3 years, if this works, what does the company look like? What has to be true about the market?"
Goal: Find if the wedge leads anywhere.
Ask these questions to frame the builder's project:
After answers are collected, push back:
End with: RECOMMENDATION: Ship the narrowest wedge. The full vision is a [timeframe] project — start with what works tomorrow.
Create design-doc.md in the project root:
# Design Doc: [Product Name]
## Problem
[2-3 sentences: who has what problem, how badly]
## User
[Specific: "The person who..." not "People who..."]
## Status Quo
[What they do today. Why it's not good enough.]
## Solution
[The narrowest wedge. One paragraph.]
## Success Criteria (30 days)
[Measurable: X users, Y actions, Z outcome]
## Out of Scope (v1)
[Things we deliberately are NOT building]
## Implementation Alternatives
1. [Option A] — [effort, tradeoff]
2. [Option B] — [effort, tradeoff]
3. [Option C] — [effort, tradeoff]
## Open Questions
- [ ] [Question that must be answered before building]
OFFICE HOURS COMPLETE
════════════════════════════════════════
Mode: [Startup | Builder]
Product: [Name]
User: [Specific persona]
Wedge: [The minimum viable thing]
Design doc: design-doc.md
Status: DONE | DONE_WITH_CONCERNS | BLOCKED
════════════════════════════════════════