An open-source prompt database — browse on GitHub or fetch any prompt programmatically via the free JSON API.
No account. No key. No cost.
⭐ If you found this database helpful, please leave a star on the GitHub repository! ⭐
Quick Start · How to Use · Browse Prompts · JSON API · Contributing
No installation. No account. Just copy and use.
- Find a category in the table below
- Open any
.mdfile — the prompt lives inside the blockquote - Paste it into ChatGPT, Claude, Gemini, or any LLM
- Tweak and go
Developer? Skip the browsing — use the free JSON API to fetch prompts programmatically with a single
fetch()call.
No account. No API key. No setup required.
Click a category in the table below → open any .md file → copy the blockquote text → paste into your LLM of choice.
Prompts use ${variable} placeholders so you can fill in specifics:
| Syntax | Meaning |
|---|---|
${topic} |
Required input — replace with your value |
${audience:developers} |
Optional — default is developers, override as needed |
Example: Write a blog post about ${topic} for ${audience:developers}.
Replace ${topic} with your subject. Keep or change the ${audience} default.
# Full-text search across all prompt files
grep -ri "keyword" prompts/
# Search the machine-readable registry (one JSON record per line)
grep "keyword" data/registry.jsonl| Goal | File to use |
|---|---|
| Import into Excel or Google Sheets | data/prompts.csv |
| Load in Python / pandas | data/prompts.csv or data/prompts.json |
| Build a search tool or internal API | data/registry.jsonl — stable IDs, deduplicated |
| Filter by category, variables, or status | data/registry.jsonl — filter on category, variables, lifecycle_status |
These examples show the structure of a useful prompt: clear inputs, explicit constraints, a defined output format, and honest handling of missing evidence.
You are a senior code reviewer.
Review this change:
- Diff: ${diff}
- Project context: ${context}
- Risk priorities: ${risk_priorities:correctness,security,maintainability}
Rules:
1. Identify only issues supported by the diff or project context.
2. Do not invent files, tests, APIs, or runtime behavior.
3. Separate blocking issues from suggestions.
4. If evidence is insufficient, say so explicitly.
Return Markdown with exactly these sections:
## Summary
## Blocking issues
## Non-blocking suggestions
## Missing evidence
For every issue, include: severity, file and line when available, why it matters, and a concrete fix.
Extract the requested facts from ${document}.
Return one valid JSON object matching this shape:
{
"entities": [{"name": "string", "type": "string", "value": "string"}],
"dates": [{"label": "string", "value": "YYYY-MM-DD or null"}],
"uncertain_items": ["string"]
}
Use null or an empty array when the document does not provide a value. Do not infer facts from general knowledge. Preserve the document's wording in `uncertain_items`. Return JSON only, with no Markdown fences or commentary.
Prepare a concise research brief about ${topic} for ${audience:technical decision-makers}.
Use the supplied sources: ${sources}. For each important claim, include its source URL. Separate:
- verified facts directly supported by a source;
- reasonable interpretations;
- open questions or missing evidence.
Do not present an estimate, opinion, or single-source claim as an established fact. If the sources are insufficient, state what cannot be concluded. End with three decision-relevant questions, not a generic conclusion.
Translate ${text} from ${source_language:English} to ${target_language:French}.
Preserve exactly:
- Markdown headings, lists, links, code blocks, and HTML tags;
- variables such as ${name} and `${format:json}`;
- product names, file paths, and code identifiers.
Do not translate code or alter placeholder names. If a phrase has two materially different translations, choose the most natural one for the target locale and add one short note after the translated text. Otherwise, return only the translation.
2,103 curated prompts across 19 categories — updated regularly.
| Category | Prompts | Browse |
|---|---|---|
| Coding & Development | 857 | → prompts/coding-development |
| Image & Design | 478 | → prompts/image-design |
| Writing & Content | 253 | → prompts/writing-content |
| Data & Analytics | 224 | → prompts/data-analytics |
| Marketing & Social | 191 | → prompts/marketing-social |
| General | 159 | → prompts/general |
| AI & Automation | 147 | → prompts/ai-automation |
| Business & Career | 140 | → prompts/business-career |
| Documentation | 137 | → prompts/documentation |
| Security | 128 | → prompts/security |
| Health & Wellness | 115 | → prompts/health-wellness |
| Research & Analysis | 109 | → prompts/research-analysis |
| Sales & Business | 106 | → prompts/sales-business |
| Games & Fun | 100 | → prompts/games-fun |
| Product & Strategy | 95 | → prompts/product-strategy |
| Travel & Places | 94 | → prompts/travel-places |
| Philosophy & Humanities | 89 | → prompts/philosophy-humanities |
| Food & Recipes | 88 | → prompts/food-recipes |
| Education & Learning | 70 | → prompts/education-learning |
The canonical registry is the deduplicated, machine-readable source of truth. The original corpus files are preserved for compatibility.
| File | Format | Records | Use case |
|---|---|---|---|
data/registry.jsonl |
JSONL | 2,103 | Stable IDs, deduplication, variables, provenance |
data/prompts.json |
JSON array | 3,470 | Original imported corpus |
data/prompts.csv |
CSV UTF-8 | 3,470 | Excel, pandas, Sheets, SQL imports |
data/sources.json |
JSON array | 5 | Source inventory and review status |
Canonical registry record
{
"id": "opl_0123456789ab",
"slug": "prompt-title",
"title": "Prompt title",
"prompt": "Full prompt text",
"category": "Category name",
"folder": "category-folder-name",
"source_ids": ["src_0123456789ab"],
"provenance_status": "needs-review",
"lifecycle_status": "draft",
"revision": 1
}Every prompt is available as a structured JSON endpoint — served by GitHub Pages, no backend, no API key, no rate limits.
Base URL: https://belyagoubiabdelilah.github.io/open-prompt-library
| Endpoint | Description |
|---|---|
/v1/stats.json |
Global counts, category list, all endpoint URLs |
/v1/categories/index.json |
All 19 categories with prompt counts |
/v1/categories/{folder}.json |
All prompts in a category (full text) |
/v1/index.json |
Paginated prompt list — page 1, 100 per page |
/v1/index/page-N.json |
Subsequent pages (follow next link) |
/v1/prompts/{id}.json |
Single prompt by stable ID (full text) |
// Fetch all coding prompts
const res = await fetch(
'https://belyagoubiabdelilah.github.io/open-prompt-library/v1/categories/coding-development.json'
);
const { prompts } = await res.json();
console.log(prompts[0].prompt); // full prompt text, ready to useimport requests
# Discover all available categories
data = requests.get(
'https://belyagoubiabdelilah.github.io/open-prompt-library/v1/categories/index.json'
).json()
for cat in data['categories']:
print(cat['name'], cat['prompt_count'], cat['url'])# Fetch a single prompt by ID
curl https://belyagoubiabdelilah.github.io/open-prompt-library/v1/prompts/opl_8fbf9edcd378.json{
"id": "opl_0123456789ab",
"slug": "prompt-title",
"title": "Prompt title",
"prompt": "Full prompt text, ready to paste into any LLM.",
"category": "Coding & Development",
"folder": "coding-development",
"variables": [{ "name": "topic", "default": null }],
"provenance_status": "needs-review",
"lifecycle_status": "draft",
"source_ids": ["src_0123456789ab"],
"revision": 1,
"url": "https://belyagoubiabdelilah.github.io/open-prompt-library/v1/prompts/opl_0123456789ab.json"
}CORS — GitHub Pages serves all files with open CORS headers. Calls from any browser or origin work without a proxy.
Updates — The API rebuilds automatically on every push to
main. Thelast_updatedfield in each response tells you exactly when the snapshot was taken.
No dependencies required — only Node.js.
git clone https://github.com/BELYAGOUBIABDELILAH/open-prompt-library.git
cd open-prompt-library
node scripts/build-registry.js
node scripts/validate-registry.js
node scripts/generate-tree.js
node scripts/build-api.js # generates api/v1/ for local testingThe build is dependency-free and idempotent. build-registry.js creates data/registry.jsonl, data/sources.json, data/quarantine.jsonl, and data/registry-stats.json without modifying the source records.
See CONTRIBUTING.md for the full guide. New submissions should include a source, license, intended use, variables, and a short example of expected output.
| Single prompt | Open a PR directly |
| Batch of prompts | Open an issue first to coordinate |
| Found a duplicate or bug | Open an issue |
All contributions are reviewed and deduplicated before merging.
MIT · Prompt sources are credited inline in each file.
Maintained by BELYAGOUBIABDELILAH · Open source · Always free
2,103 curated prompts · Free JSON API · No sign-up required