<h1 align="center">
<a href="https://prompts.chat">
A system for saving, organizing, and retrieving AI prompts with metadata like tags, sources, and AI model compatibility information. Now includes a browser extension for capturing prompts while browsing and a local API service for seamless integration.
Sign in to like and favorite skills
A system for saving, organizing, and retrieving AI prompts with metadata like tags, sources, and AI model compatibility information. Now includes a browser extension for capturing prompts while browsing and a local API service for seamless integration.
Following Python best practices, set up a virtual environment:
# Create a virtual environment python3 -m venv .venv # Activate the virtual environment # On macOS/Linux: source .venv/bin/activate # On Windows: # .venv\Scripts\activate # Update pip python3 -m pip install --upgrade pip
This project has minimal dependencies as it primarily uses Python's standard library.
Prompts are stored in a JSON file with the following structure:
{ "prompts": [ { "id": "unique-id", "title": "Prompt Title", "content": "The actual prompt text...", "tags": ["tag1", "tag2", "tag3"], "source": { "type": "person/website/book/etc", "name": "Source name", "platform": "Where it was found", "date_added": "YYYY-MM-DD" }, "ai_model": { "intended_for": ["model1", "model2"], "tested_on": ["model1"] }, "metadata": { "created_at": "ISO timestamp", "updated_at": "ISO timestamp", "usage_count": 0, "effectiveness_rating": null, "notes": "Additional notes about the prompt" } } ] }
The
prompt_manager_v2.py script provides a command-line interface for managing your prompt collection.
There are two ways to add prompts:
1. Using direct content input:
python3 prompt_manager_v2.py add \ --title "My Prompt Title" \ --content "The prompt text goes here..." \ --source-type "person" \ --source-name "John Doe" \ --source-platform "Twitter" \ --tags "tag1,tag2,tag3" \ --models "chatgpt,claude" \ --notes "This prompt is useful for X"
2. Using a file for content (recommended for longer prompts):
# First save your prompt to a text file echo "Your prompt text here..." > prompt_content.txt # Then add it to your collection python3 prompt_manager_v2.py add \ --title "My Prompt Title" \ --content-file prompt_content.txt \ --source-type "person" \ --source-name "John Doe" \ --source-platform "Twitter" \ --tags "tag1,tag2,tag3" \ --models "chatgpt,claude" \ --notes "This prompt is useful for X"
python3 prompt_manager_v2.py list
python3 prompt_manager_v2.py get <prompt-id>
# Search by text python3 prompt_manager_v2.py search --query "learning" # Search by tags python3 prompt_manager_v2.py search --tags "education,interactive" # Search by both text and tags python3 prompt_manager_v2.py search --query "learning" --tags "interactive"
You can also use the
PromptManager class in your own Python scripts:
from prompt_manager_v2 import PromptManager # Initialize the manager manager = PromptManager() # Add a prompt prompt_id = manager.add_prompt( title="My Prompt", content="Prompt content...", source_type="website", source_name="example.com", tags=["tag1", "tag2"] ) # List all prompts prompts = manager.list_prompts() # Get a specific prompt prompt = manager.get_prompt(prompt_id) # Search prompts results = manager.search_prompts(query="learning", tags=["education"])
The
prompt_manager_v2.py script provides the core functionality for managing your prompt collection. See usage instructions below.
A FastAPI-based service that provides RESTful API endpoints for managing prompts. This allows other applications to interact with your prompt collection.
api_service/ directoryA browser extension for Brave and Firefox that allows you to save prompts directly from web pages.
browser_extension/ directory