Portfolio / Python lane / PromptCompanion
PY

PromptCompanion

Curated, searchable, offline AI prompt library

Python
Delivery
Source-first
Browse code, README, and release notes on GitHub.
Primary lane
Python lane
The clearest adjacent context for this project inside the portfolio.
Freshness
Updated Apr 26, 2026
Latest release
No tag yet
README is the clearest project overview right now.

Preview

Using the generated project card as a clean fallback until a live capture is available.

PromptCompanion card

Source at github.com/SysAdminDoc/PromptCompanion.

README

Cached at build time, cleaned up for in-site reading, and linked back to the canonical GitHub source.

PromptCompanion

PromptCompanion

The AI Prompt Companion — a curated, searchable, offline library of the best AI prompts.

version license platform python prompts


PromptCompanion GUI


What is this?

PromptCompanion is a library-first tool for AI prompts. It aggregates, cleans, and categorizes the best publicly-available prompts from multiple upstream sources into a single structured dataset, and exposes them through a dark-themed desktop GUI with fast search, variable substitution, and one-click copy-to-clipboard.

Unlike existing tools (AnythingLLM, LibreChat, MSTY) that bolt a prompt library onto a full chat application, PromptCompanion is built around the library itself. The primary action is "find the right prompt and copy it." No chat window, no accounts, no cloud.

Current status — v0.5.3

  • Prompt record JSON Schema + category/tag taxonomy
  • 5 importers for upstream sources (CC0 + MIT only, English)
  • Body-hash deduplication + quality scoring (0-100)
  • SQLite FTS5 search with bm25 relevance ranking (title 10x, tags 5x, author 2x)
  • PyQt6 desktop GUI — Catppuccin Mocha dark theme
  • Three-pane layout — category tree | prompt list | preview
  • FTS5 search bar — full-text search with prefix matching
  • Filter controls — role, quality threshold, source
  • Variable substitution — fill {{placeholders}} inline, copy filled
  • Favorites — star any prompt, browse your favorites collection
  • History — recently copied/pasted prompts tracked automatically
  • System tray — minimize to tray, stays running in background
  • Global hotkey — Win+Shift+P summons window from anywhere (Windows)
  • Paste-to-active-window — copies prompt and pastes into previous window
  • Export profiles — Plain Text, Markdown, or JSON copy
  • PyInstaller buildpython build.py produces a single PromptCompanion.exe

Bundled Sources

Source License Status
f/awesome-chatgpt-prompts CC0-1.0 Bundled
0xeb/TheBigPromptLibrary MIT Bundled
dontriskit/awesome-ai-system-prompts MIT Bundled
abilzerian/LLM-Prompt-Library MIT Bundled
mustvlad/ChatGPT-System-Prompts MIT Bundled

Each record retains its upstream source, author, and license fields for attribution. Only CC0 and MIT sources are bundled to keep the aggregate dataset permissively licensed.

Repository Layout

PromptCompanion/
├── data/
│   ├── prompts/           # Curated prompts, JSONL, one file per category
│   ├── sources/           # Source registry + attribution (upstream clones gitignored)
│   ├── index/             # Built SQLite FTS5 index (gitignored)
│   ├── schema.json        # JSON Schema for a prompt record
│   └── taxonomy.json      # Category + tag vocabulary
├── tools/
│   ├── fetch_sources.py   # Clone upstream repos into data/sources/upstream/
│   ├── import_awesome.py  # Parse f/awesome-chatgpt-prompts CSV
│   ├── import_bigprompt.py# Parse TheBigPromptLibrary markdown tree
│   ├── import_system.py   # Parse awesome-ai-system-prompts markdown tree
│   ├── import_llmprompt.py# Parse LLM-Prompt-Library markdown + Jinja2
│   ├── import_chatsys.py  # Parse ChatGPT-System-Prompts markdown
│   ├── validate.py        # Schema validation + deduplication
│   └── build_index.py     # Compile SQLite FTS5 search index
├── promptcompanion.py       # Desktop GUI (PyQt6)
├── docs/
│   └── SCHEMA.md          # Human-readable schema documentation
├── CHANGELOG.md
├── LICENSE
└── README.md

Quick Start (data pipeline)

# From the repo root
python tools/fetch_sources.py      # Clone upstream prompt repos
python tools/import_awesome.py     # Parse CSV → data/prompts/*.jsonl
python tools/import_bigprompt.py   # Parse markdown tree
python tools/import_system.py      # Parse system-prompt collection
python tools/import_llmprompt.py   # Parse LLM-Prompt-Library (md + j2)
python tools/import_chatsys.py    # Parse ChatGPT-System-Prompts
python tools/validate.py           # Schema check + dedupe report
python tools/build_index.py        # Emit data/index/prompts.db (FTS5)

Python 3.10+. All scripts auto-install dependencies on first run via _bootstrap().

Launch the GUI

python promptcompanion.py

Requires PyQt6. Auto-installed on first run. Reads from data/index/prompts.db. The app minimizes to the system tray on close. On Windows, press Win+Shift+P from any window to summon PromptCompanion, pick a prompt, and click Paste to App to send it directly into ChatGPT, Claude, or any text field.

Build Standalone Exe

python build.py    # Produces dist/PromptCompanion.exe (single file, ~30 MB)

Bundles the prompt database and logo. User data (favorites, history) stored in ~/.promptcompanion/.

Prompt Record Schema

{
  "id": "awesome-linux-terminal",
  "title": "Linux Terminal",
  "body": "I want you to act as a linux terminal...",
  "role": "user",
  "category": "roleplay",
  "tags": ["shell", "simulation", "developer"],
  "variables": [],
  "target_models": ["any"],
  "language": "en",
  "source": "https://github.com/f/awesome-chatgpt-prompts",
  "author": "f (Fatih Kadir Akın)",
  "license": "CC0-1.0",
  "version": 1,
  "created": "2026-04-18T00:00:00Z",
  "quality": 55,
  "updated": "2026-04-18T00:00:00Z"
}

Full schema documentation lives in docs/SCHEMA.md.

Category Taxonomy

Ten flat top-level buckets + free-form tags:

  • development — code gen, review, debugging, refactor, SQL, devops, regex
  • writing — blog, copy, email, editing, summarize
  • research — literature review, data analysis, fact-check, compare
  • creative — fiction, worldbuilding, poetry, lyrics, image prompts
  • business — strategy, meeting notes, reports, pitch, hiring
  • productivity — planning, learning, teaching, flashcards
  • system — agent personas, custom-GPT system prompts
  • roleplay — "act as" prompts
  • translation — translate, grammar, localize
  • specialized — medical, legal, finance, academic (each gated with disclaimer)

See data/taxonomy.json for the machine-readable vocabulary.

Roadmap

Version Focus
0.0.x Data foundation, schema, importers, validation
0.1.x More sources, dedupe heuristics, quality scoring
0.2.x PyQt6 desktop GUI, SQLite FTS5 search, variable panel
0.3.x System tray, global hotkey, paste-to-window, export profiles
0.4.x Personal overlay (edit bundled prompts without forking)
1.0.0 First stable release with full feature set

See CHANGELOG.md for detailed release history.

Contributing

This is currently a personal curation project. Issues and PRs welcome for:

  • New upstream sources (CC0 or MIT only)
  • Schema extensions
  • Category taxonomy refinements
  • Quality flags / deprecation of low-value prompts

License

Tooling and curation: MIT (see LICENSE). Bundled prompt data: retains upstream licenses (CC0 and MIT only).

Read on GitHub → github.com/SysAdminDoc/PromptCompanion