Use Super Prompts (reusable prompt library)
Super Prompts is a built-in library of 190 reusable first-message prompts for the Claude virtual project: search or browse them, pin favourites, duplicate and edit them, author your own, hide the ones you do not want, and launch a session already briefed with a well-crafted prompt.
What it is
Super Prompts are a built-in library of reusable first-message prompts for the Claude virtual project (the ~/Claude workspace). Omniscio ships ~170 curated bundled prompts spanning Coaching, Coding, Writing, Planning, Analysis, Research, Productivity, Design, Sales, Meta, and Personal categories. You can pin favorites, duplicate a bundled prompt to tweak it, author your own, and hide any bundled prompt you don't want. Everything refreshes silently from a remote GitHub-Pages feed so you get new prompts without an app update. Each prompt is a single big-kick-off message — unlike Recipes (multi-step) or Skills (how-to instructions), a Super Prompt just starts a session with a well-crafted brief already typed in.
Where to find it
From any project, open the ⋮ menu at the top of the sessions sidebar and click Super Prompts — or press Ctrl+Shift+K anywhere (the toolbar Super Prompts button works too). It's available in every view that shows a sessions sidebar. The same library is also a Quick Launch tab in the Ctrl+Space pop-up, which you pin from the strip's "+" or from Settings → Quick Launch tabs.
How it behaves
How to use it
- Open the picker. From any project, open the ⋮ menu at the top of the sessions sidebar and click Super Prompts — or press Ctrl+Shift+K anywhere (the toolbar Super Prompts button works too). It's available in every view that shows a sessions sidebar. The picker opens as a tall modal (fixed 80% viewport height) on a minimal home screen: a Find card (a search box with Help Me Choose right beside it) and a separate Browse all card, with New Prompt as its own quiet action. Nothing from the library is shown until you start typing or open it, so the first thing you see is calm rather than a wall of prompts.
- Find a prompt. Type in the Find card (or click Browse all) to reveal the two-pane browser — a list on the left, a live preview on the right. The search filters across a prompt's title, summary, tags, and description — so typing a topic word like solving surfaces every prompt tagged for it (the whole
problem-solvingcluster — Field Diagnosis, MECE, Unsolved Problem Finder, …), not only the ones with that exact word in the title. Hyphens and spaces are treated the same, so "problem solving" matches theproblem-solvingtag. Click the Filter button above the list to open a tag popover and narrow to a tag exactly; toggle the Pinned filter there to see just your favorites. Switch between Short (summary only) and Full (body preview) tabs to compare. - Launch a session with it. Select a prompt and hit Enter (or click Launch Session) — Omniscio creates a new session pre-populated with the prompt body. By default the session launches into the project you are currently viewing; a "Launch into" dropdown sits next to the Launch Session button in the preview, so you can switch to any launchable project, or to the Claude virtual project (
~/Claude), right where you launch. First agent turn begins immediately. Prompts marked "Pre-loaded" (a small badge in the list) open differently: the agent's opening questions appear instantly with no waiting — Claude doesn't start up yet — so you can begin answering right away. The real session spins up the moment you send your first answer (see Pre-loaded below). - Author or customize. Click New to open the editor and fill in Title, Summary, Description, Body (up to 200K characters), and an optional Stock first response — a canned opening message (usually the clarifying questions the agent would ask) that makes your own prompt "Pre-loaded" too. Or select any bundled prompt and click Duplicate to get an editable user copy — the original stays untouched. Your prompts (
source = 'user') have full CRUD; bundled prompts (source = 'builtin') are read-only but can be hidden. - Hide, restore, or pin. Hide a bundled prompt to keep it out of your picker; the Restore Hidden menu brings it back. Pin any prompt to push it to the top of the list. Pin state, usage counters, and hidden state all persist across app restarts.
- Help Me Choose. If you're not sure which prompt fits, click Help Me Choose — it sits beside the search on the home screen, and again in the browse list's search row. A modal opens titled "What do you need help with?" with a single textarea (placeholder "Topic, project, or problem") — type the topic, project, or problem you want help with, then click Find a prompt. Omniscio sends the bundled "advisor" prompt (which lists every prompt in your library and asks the agent to pick the best one) plus your text as the model's first message, so the advisor can pick a Super Prompt for you immediately without first asking what you want help with — but your chat only ever shows a short "Please help me find a super prompt that will help me with the following: …" line, never the advisor's internal instructions or the full prompt catalog. The advisor starts in the background — Omniscio does not pull you into the new session, so you stay exactly where you were (a session, Settings, wherever you opened the picker from); a brief "Prompt advisor started" toast with a View action jumps you to it whenever you want, and it also shows up in the sessions sidebar like any other session. The advisor then asks a few quick questions and hands back clickable prompt recommendations. Find a prompt is disabled until you type non-whitespace. The textarea respects your Submit Key Mode setting from Settings → Chat: in Enter mode (default) plain Enter submits and Shift+Enter inserts a newline; in Ctrl+Enter mode plain Enter inserts a newline and Ctrl+Enter (or Cmd+Enter on macOS) submits. Cancel or Escape closes the modal and reopens the picker without launching anything.
Also in Quick Launch. Super Prompts is also a Quick Launch tab (the Ctrl+Space pop-up): pin its Super Prompts tab (from the strip's "+" or Settings → Quick Launch tabs) to type-search the same library and launch a prompt — with a "Launch into" project chooser and the same "Pre-loaded" instant-greeting behavior — without opening this full picker. It's a faster second door for "I know roughly what I want, just launch it." See quick-launch-modal.md.
The Master Solving SOP, grouped
The prompts that make up the Master Solving SOP — a full methodology for solving any field (Field Diagnosis, MECE, First Principles, Unsolved Problem Finder, the Solving Roadmap Generator, and more) — all carry a shared solving-sop tag. Because they span several categories (research, design, meta, education), no single keyword lists them all on its own, so the tag groups the whole set: search "solving" or "sop", or open the Filter popover and pick the solving sop tag, to pull up the entire methodology at once. The exact 19-prompt set is locked by a test so a catalog rebuild can't silently drop it.
Mission Control PM prompts, grouped
20 prompts for Mission Control project management workflows carry the shared mission-control tag. They cover sprint planning, board setup, item triage, workload balancing, status reports, retrospectives, dependency mapping, velocity analysis, backlog grooming, standup summaries, risk registers, milestone tracking, capacity planning, item decomposition, dashboard design, release planning, column advising, and project health checks. Search "mission" or "mc", or pick the mission-control tag in the Filter popover, to pull up the full set. All IDs are prefixed mc-.
Linkable super prompts
There are two kinds of super-prompt link, for two different jobs:
- AI-emitted deep link, in chat. When an agent points you at a prompt (e.g. via Help Me Choose), it emits an
omniscio://superprompt/<id>link. Click it → a small menu: Run it now (starts a session with the prompt), Copy the prompt (copies the raw body to the clipboard), or Open in picker. The legacyhttp://127.0.0.1:<port>/superprompt/<id>form still works and opens the same menu. A deep link only resolves inside Omniscio, and only for a prompt already in your own library. - Copy link → a PUBLIC web link. The picker detail pane (mobile + desktop) and the editor each have a Copy link button beside Copy raw prompt. Because a deep link is a dead link for anyone else (its id lives only in your library), this button instead publishes the prompt to a public page at
https://shares.omniscio.com/s/<token>and copies THAT — anyone you send it to opens it in any browser, no app or account needed. The first time, a "Create a public link?" confirmation appears (with a "Don't ask again" checkbox); publishing needs you to be signed in. Re-copying the same prompt returns the same link; it stays live up to a year (each copy refreshes that) and can be deleted anytime from the Shares panel. - Safety. Only the in-app menu's Run it now launches a session; a deep link followed from OUTSIDE Omniscio always lands on the picker behind a confirm, so a forwarded link can never spawn a paid session on its own. The public Copy-link page is read-only — it shows the prompt text and never runs anything. Invariants: super-prompt-link-contract.md.
Instant start (stock first response)
A prompt can carry a stock first response — a pre-written agent opening turn stored on the prompt itself (saved_prompts.stock_first_response). When it's set, launching the prompt is deferred: Omniscio creates the session but does not spawn Claude yet. The stock response shows instantly as the agent's first message (under a "Started from Super Prompt: …" line), and the prompt body + that opening are stashed in a durable session column (sessions.pending_launch_prefix). The moment you send your first reply, Omniscio prepends that stashed prefix to your message and spawns Claude once — so the live agent resumes with the full brief, its own opening, and your answer, with no repeated work. The stash is durable, so closing and reopening Omniscio before you reply never loses the prompt. Prompts without a stock response are unchanged (the body is submitted immediately). Launching a stock-response prompt into a non-Claude project (codex/gemini) gracefully falls back to the immediate behavior. Full invariants + tests: super-prompt-stock-first-response-contract.md.
Coaching prompts also live in AI Coaching
23 coaching-themed Super Prompts (Pain Points Excavator, Year-End Life Review, Life Pattern Detector, Marriage and Relationship Deep Analysis, etc.) are also seeded into the AI Coaching virtual project as interview prompts. The two systems share one SQLite table (saved_prompts), but the AI Coaching copies are independent rows with tags='["interview"]' and a non-null produces_artifact_title — so they appear in the AI Coaching library and emit a versioned artifact when the user clicks Save from Transcript, while the originals in the Super Prompts picker stay one-shot session starters. Editing or hiding a Super Prompts copy does NOT affect the AI Coaching copy and vice versa. Seeding happens in the v95 + v100 migrations from /src/main/db/ai-coaching-seed-prompts.ts.
For agents
How it works
The picker lives at /src/renderer/src/features/super-prompts/SuperPromptsPicker.tsx with the editor at /src/renderer/src/features/super-prompts/SuperPromptEditor.tsx, and it's fixed at h-[80vh]. The picker has two views — a minimal home screen (Find / Browse cards) and, once the user acts, the two-pane browser (list + preview, with the tag filter behind a Filter popover shared by desktop and mobile). The launch target is resolved by /src/renderer/src/features/super-prompts/launch-target.ts: resolveDefaultLaunchTarget returns the project the user is currently viewing if it is launchable (can host a spawned session), otherwise the Claude virtual project; getLaunchableProjects populates the "Launch into" dropdown that sits beside Launch Session in the preview so the user can override the default per-launch. The gate (SuperPromptsPickerGate.tsx) computes this default and passes it to the picker as projectId; only a launchable project id ever reaches launchSession. The shortcut registration is in /src/shared/keybindings.ts under superPrompts. Frontend state (search, filters, usage tracking, optimistic mutations) is managed by /src/renderer/src/stores/saved-prompts-store.ts. Backend CRUD, tombstone semantics, and upsert-on-reseed logic are in /src/main/db/queries-saved-prompts.ts; eleven IPC channels (list, list-lite, get-body, create, update, delete, restore, duplicate, mark-used, restore-hidden, toggle-pin) are wired by /src/main/ipc/saved-prompts-handlers.ts, which emits SAVED_PROMPTS_CHANGED push events. Tombstones work two ways: user prompts soft-delete via is_deleted = 1, while bundled prompts use a user_hidden_at timestamp so re-seeding won't un-hide them. The bundled catalog ships in /resources/super-prompts.json (schema v3, version 2026-08-12-mc-pm-prompts-001, 190 prompts — most of which now carry a stock first response, see Pre-loaded) and is seeded into SQLite by /src/main/services/super-prompts-seed.ts. Remote refresh runs through /src/main/services/remote-super-prompts-service.ts: fetches https://jlstradingco.github.io/Agent-Orchestrator/super-prompts.json with a 10s timeout and 10MB cap, skips the DB write if the remote bundle_version matches the cached value (checked 60s after launch and every 24h via createPeriodicTask). Full design: super-prompts.md, super-prompts-remote.md.
Quick Launch tab
A second entry point lives in the Quick Launch pop-up (the Ctrl+Space window — a separate renderer with no main-window stores): the Super Prompts tab (QuickLaunchSuperPromptsTab.tsx). It does not go through SuperPromptsPickerGate / openPicker. Instead it loads the lite list via saved-prompts:list-lite, filters client-side with the shared promptMatchesSearch, reads the project list + default from QUICK_LAUNCH_GET_INITIAL_STATE, and on select invokes its own QUICK_LAUNCH_LAUNCH_SUPER_PROMPT handler (quick-launch-handlers.ts). That handler loads the body + stock first response main-side (getSavedPromptById), resolves the target project (explicit chooser id → resolveDefaultProjectId), and hands off to the shared launchSessionInMain core (NOT the renderer's launchSession) — so the deferred "Pre-loaded" launch, the non-Claude deferred→immediate degrade, and provider readiness are inherited rather than re-implemented; the spawn is deferred fire-and-forget past the exit animation like QUICK_LAUNCH_SUBMIT, with a promptId+project dedup window. Registered as an unpinned action in quick-launch-actions.ts. Behavior locked by tests/unit/main/quick-launch-launch-super-prompt.test.ts.
Lite cold-mount (mobile WebSocket bootstrap)
The picker's bootstrap list IPC is saved-prompts:list-lite, not saved-prompts:list. The lite shape strips every prompt's body and replaces it with a bodyLength: number hint, dropping a typical 174-prompt catalog from ~3.7 MB to ~120 KB. Mobile / web PWA renderers run over a Tailscale-Funnel-tunnelled WebSocket bridge that disconnects on payloads above ~2 MB; lite shape restores sub-second cold-mount on weak cellular links. The saved-prompts store is not initialized at mobile/web boot (init runs only under Electron — the cold-boot 1-round-trip rule), so the list loads lazily the moment the picker opens (the gate triggers it, retrying if a flaky-socket first load comes up empty); on desktop it's already loaded at startup. Invariants: /.claude/memory/contracts/saved-prompts-contract.md. Detail panes, the editor, and handleLaunch await saved-prompts:get-body on demand and cache the result per-id in the store; the cache is fully cleared on every SAVED_PROMPTS_CHANGED push so catalog upserts and external edits cannot show stale body content. Optimistic create / update / duplicate flows populate the cache with the body the IPC handed back, so detail-open immediately after a write is instant with no extra round-trip. The shape is a function-pair (SavedPromptLite separate type + separate listSavedPromptsLite query), not an optional-body shape, so the compiler enforces correct consumption — mirrors getSessionHistory / getSessionHistoryLite. Full incident + invariants: /.claude/memory/postmortems/saved-prompts-lite-shape-postmortem.md.
Pre-loaded (stock first response)
On web/mobile the catalog is not fetched at app boot — that cold-boot round-trip is deliberately skipped over the tunnel (the desktop-only init()). Instead the gate (SuperPromptsPickerGate.tsx) calls ensureLoaded() the moment the picker opens, so the list loads on demand; a failed load retries on the next open. (Before this fix the mobile picker showed an empty "No prompts yet" because nothing ever triggered the load — fixed 2026-06-22.)
CLI access (for AI sessions)
AI sessions can read and edit Super Prompts via the CLI control server (127.0.0.1:19519). Eight routes mirror the in-app IPC surface, reusing the same DB queries and Zod schemas so the CLI and UI can't drift. All routes are bearer-gated; reads use the 60/min read budget, mutations use the 10/min mutation pool and apply immediately (no inbox approval). Every mutation emits SAVED_PROMPTS_CHANGED so an open Omniscio window refreshes.
| Method | Path | Purpose |
|---|---|---|
GET |
/saved-prompts |
List all (lite shape — no body, has bodyLength) |
GET |
/saved-prompts/:id |
Full prompt including body + stockFirstResponse |
POST |
/saved-prompts |
Create a user prompt |
PATCH |
/saved-prompts/:id |
Partial update (user only; builtins → 400) |
DELETE |
/saved-prompts/:id |
Soft-delete user / hide builtin (tombstone semantics) |
POST |
/saved-prompts/:id/restore |
Restore deleted / unhide builtin |
POST |
/saved-prompts/:id/duplicate |
Clone as user-owned copy |
POST |
/saved-prompts/:id/pin |
Toggle pin/unpin |
TOKEN=$(<~/.amc/cli-token)
# List all prompts (lite)
curl -s -H "Authorization: Bearer $TOKEN" http://127.0.0.1:19519/saved-prompts
# Read one in full
curl -s -H "Authorization: Bearer $TOKEN" http://127.0.0.1:19519/saved-prompts/<id>
# Update a user prompt's body
curl -s -X PATCH http://127.0.0.1:19519/saved-prompts/<id> \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"body":"Updated instructions..."}'
Builtin prompts cannot be patched — duplicate first (POST .../duplicate), then edit the copy. Full route docs: /.claude/skills/omniscio-control/saved-prompts.md. Route source: /src/main/services/cli/cli-server-saved-prompt-routes.ts.
Hand the user a prompt by link: emit omniscio://superprompt/<id> (id from GET /saved-prompts) — clicking it in chat gives the user a Run it now / Copy the prompt / Open in picker menu; from outside Omniscio it opens the picker (confirm-gated). See super-prompt-link-contract.md.
Related
Super Prompts is the single-message member of the same family, so start with:
- use-recipes.md — multi-step workflows (Super Prompts are single-message starts)
- use-skills.md — skills teach agents how to do something; super prompts are what to start on
Last verified 2026-09-28