Prompt Library
Store, optimize, and reuse your best prompts across every workflow -- with built-in quality scoring.
Overview
The Prompt Library is a shared Notion database where you save the prompts that work. Every prompt gets auto-tagged with variables, scored on five quality dimensions, and tracked for usage. When you retrieve a prompt, variables like {{client_name}} are filled in interactively, so the output is ready to paste into any AI tool.
The quality scoring system catches vague language, missing context, and common anti-patterns before they cost you a bad output. When a prompt scores below threshold, the optimizer rewrites it using targeted strategies -- adding audience context, specifying output format, or replacing vague modifiers with measurable criteria.
Six predefined categories (Email Templates, Meeting Prompts, Analysis Prompts, Content Creation, Code Assistance, Research Prompts) get you organized fast, but custom categories are accepted too. Visibility controls let you keep prompts personal or share them with your team.
Required Tools
| Tool | Required | Purpose |
|---|---|---|
| Notion CLI | Yes | Stores and retrieves prompts from the Prompts database |
Commands
/founder-os:prompt:add
What it does -- Adds a new prompt to your library with automatic variable detection (finds all {{placeholder}} patterns), category inference, and a quality check before saving. If the prompt scores below threshold, you'll see specific improvement suggestions and can choose to save as-is, edit, or cancel.
Usage:
/founder-os:prompt:add "[name]" "[content]" [--category=CAT] [--variables=a,b]
Example scenario:
You just crafted a great outreach email template and want to save it for reuse. You run the add command with the prompt text, it auto-detects
{{client_name}},{{company_name}}, and{{industry}}as variables, scores it 19/25 (Good), and saves it to your library under Email Templates.
What you get back:
- Quality score with per-dimension breakdown (Task Clarity, Context, Format, Constraints, Examples)
- Auto-detected variables list
- Category assignment (auto-detected or user-specified)
- Confirmation with retrieval and optimization commands
Flags:
| Flag | Default | Description |
|---|---|---|
--category=CAT |
Auto-detected | One of 6 predefined categories or a custom value |
--variables=a,b |
Auto-detected | Override the variable list manually |
/founder-os:prompt:get
What it does -- Retrieves a prompt by name, walks you through filling in each {{variable}} placeholder one at a time, and outputs the fully substituted prompt in a code block ready to copy. Usage tracking increments automatically so you can see which prompts your team uses most.
Usage:
/founder-os:prompt:get "[name]"
Example scenario:
You need to send a client introduction email and you saved a template last week. You run
get "Client Intro Email", fill in the client name, company, and industry when prompted, and get a ready-to-send email in seconds.
What you get back:
- Prompt metadata (category, visibility, usage count)
- Interactive variable collection with format hints
- Fully substituted prompt in a copyable code block
- Usage counter automatically incremented
Flags:
None -- this command is intentionally simple.
/founder-os:prompt:list
What it does -- Browse and search your prompt library, filtered by category, keyword, or both. Results are sorted by usage count (most-used first) so the highest-value prompts surface to the top.
Usage:
/founder-os:prompt:list [category] [--search=keyword] [--limit=N]
Example scenario:
You remember saving some email-related prompts but can't recall the exact names. You run
list --search=emailand get a table showing 4 matching prompts ranked by usage, with their categories and visibility status.
What you get back:
- Formatted table with name, category, visibility, and usage count
- Total count versus displayed count
- Active filter summary
Flags:
| Flag | Default | Description |
|---|---|---|
category |
All | Filter by category name |
--search=keyword |
-- | Search names, descriptions, and tags |
--limit=N |
20 |
Maximum results to display |
/founder-os:prompt:optimize
What it does -- Retrieves a saved prompt, scores it on five quality dimensions, identifies anti-patterns (vague verbs, missing audience, unbounded scope), and produces a complete rewritten version. You see the original and improved versions side by side with an explanation of every change.
Usage:
/founder-os:prompt:optimize "[name]"
Example scenario:
Your "Competitor Analysis Brief" prompt has been producing inconsistent results. You run optimize, discover it scored 12/25 (Fair) due to missing output format and unbounded scope. The rewrite adds a structured table format, limits analysis to top 3 strengths and weaknesses, and scores 21/25 (Excellent).
What you get back:
- Side-by-side comparison (original vs. improved)
- Per-dimension quality scores with explanations
- Anti-patterns detected with fixes
- Three options: keep original, use improved, or edit further
Flags:
None -- just provide the prompt name.
/founder-os:prompt:share
What it does -- Changes a prompt's visibility from Personal to Shared, making it available to all team members who query the library. A simple one-step operation that keeps your best prompts accessible.
Usage:
/founder-os:prompt:share "[name]"
Example scenario:
You've been using a "Weekly Status Update" prompt that your team keeps asking about. You run share and it flips the visibility to Shared. Now anyone running
prompt:listorprompt:getcan find and use it.
What you get back:
- Confirmation with previous and new visibility status
- Pointer to list and get commands for team members
Flags:
None -- just provide the prompt name.
How Does Prompt Quality Scoring Work?
Every prompt is scored on five dimensions: Task Clarity, Context, Format, Constraints, and Examples. Each dimension contributes up to 5 points for a maximum of 25. Scores below threshold trigger specific improvement suggestions -- such as adding audience context, specifying output format, or replacing vague modifiers with measurable criteria. The optimizer rewrites low-scoring prompts using targeted strategies and shows a side-by-side comparison with per-dimension explanations.
Tips & Patterns
- Use
{{variables}}generously. Prompts with well-named variables (like{{client_name}},{{tone}},{{deadline_date}}) are far more reusable than hardcoded versions. - Score before you save. The quality check during
addcatches issues that would otherwise produce inconsistent AI output. A few minutes fixing a prompt saves hours of fixing outputs. - Let usage counts guide you. The
listcommand sorts by usage, so your most valuable prompts naturally rise to the top. If a prompt has zero uses, consider archiving it. - Optimize prompts that underperform. If a prompt keeps needing manual tweaks to its output, run
optimizeon it. The five-dimension scoring often pinpoints exactly what's missing.