prompt-library-curator
Organize and tag your personal prompt collection into a structured markdown catalog with an index table. Use when you have accumulated saved prompts and want to structure, deduplicate, and label them for reuse. Triggers: 'organize my prompts', 'prompt library', 'tag my prompts',
What it does
Prompt Library Curator
This skill organises a personal collection of saved prompts into a structured, navigable markdown catalog. It assigns categories, tags, summaries, and complexity ratings to each prompt, detects duplicates, and outputs a clean prompt-library.md file ready for reuse and sharing.
Input:
- Raw prompts as pasted text, an inline list, or a
.md/.txtfile
Output:
prompt-library.md— structured catalog with index table, categorised prompts, and flagged duplicates
Language Detection
Detect the user's language from their message:
- If Russian (or contains Cyrillic): respond in Russian, use Russian category names in output, and generate the entire catalog in Russian
- If English (or other Latin-script language): respond in English, use English category names, and generate the entire catalog in English
- If ambiguous: respond in the language of the trigger phrase used and generate catalog in that language
Instructions
Step 1: Accept and Validate Input
-
Determine input source:
- Pasted text block in chat
- Uploaded or referenced
.md/.txtfile - Inline numbered or bulleted list
-
Validate input is non-empty
- If empty: stop and respond — "No prompts found. Paste your prompts directly or attach a .md/.txt file."
-
Check for unsupported file formats (
.docx,.xlsx,.pdf, etc.)- If detected: stop and respond — "Unsupported format. Please paste your prompts as plain text or upload a .md or .txt file."
-
Check if input looks like a conversation log rather than a prompt collection
- Heuristic: high ratio of questions and conversational turns with no clear prompt-style structure
- If detected: respond — "This looks like a chat log, not a prompt collection. Paste the prompt texts you want to organise, or specify which lines are prompts."
Step 2: Split into Individual Prompts
-
Attempt to split the raw input into individual prompts using these separator heuristics (in priority order):
- Horizontal rules (
---) - Numbered list items (
1.,2., etc.) - Blank-line-separated paragraphs
- Double newlines
- Horizontal rules (
-
If no separators are detected and input is a wall of text:
- Split conservatively at double newlines
- Add a note at the top of the output: "⚠ Separation uncertain — review split points"
-
Count the total number of prompts identified; store as
N. -
If
N = 1:- Proceed with a single-entry catalog
- Add note at the bottom: "Add more prompts to build a full library"
- Skip the index table (single entry doesn't warrant it)
Step 3: Analyse Each Prompt
For each prompt, determine:
-
Category — assign one from this set (or create a new label if none fits):
- Writing, Research, Coding, Analysis, Meeting, Planning, Personal, Learning, Marketing, Other
-
Tags — assign 2–4 short keyword tags (e.g.,
email,summary,b2b,template) -
One-line summary — ≤10 words describing what the prompt does (e.g., "Summarise a long PDF report")
-
Complexity — one of:
Simple/Moderate/Advanced- Simple: short, single-step prompt
- Moderate: multi-step or context-dependent prompt
- Advanced: complex chain-of-thought, multi-role, or system-prompt level
-
Template flag — if prompt contains placeholder variables (
{{topic}},[PERSON],<context>, etc.):- Preserve variables verbatim in the prompt text
- Add
templateto the prompt's tag list
Step 4: Detect Duplicates
-
Compare prompts for near-identical intent or wording (semantic similarity heuristic):
- Exact duplicates: identical text after whitespace normalisation
- Near-duplicates: same core instruction with minor wording differences
-
For each duplicate pair:
- Keep both in their respective category sections
- List them in the Duplicates section with a note
- Do not delete either prompt automatically
Step 5: Build Index Table
-
Sort all prompts by: Category (A→Z) → Complexity (Simple → Advanced)
-
Create an index table with columns:
#,Category,Summary,Tags,Complexity -
If
N > 20: add a Quick Find section above the index with anchor links to each category heading
Step 6: Assemble Output Catalog
Build prompt-library.md using the Output Format structure:
-
Header block (title, date, stats: total prompts, categories, duplicates flagged)
-
Quick Find section (if N > 20)
-
Index table
-
Horizontal rule separator
-
One
## Categorysection per category, sorted A→Z- Under each: named prompt heading, frontmatter line (tags + complexity), original prompt text in a code block
-
Duplicates section (always present; states "No duplicates detected." if none found)
-
If user has file system access (Cowork mode): save as
prompt-library.mdin workspace folder and confirm path -
If no file system access: display full output inline in chat
Step 7: Handle Partially Organised Input
If the user's input already contains their own headings, categories, or tags:
- Preserve existing structure and user-defined category names
- Enhance only missing metadata (add tags/complexity where absent)
- Do not overwrite or rename user-defined categories
Output Format
prompt-library.md structured as follows:
# Prompt Library
**Last updated:** YYYY-MM-DD
**Total prompts:** N | **Categories:** X | **Duplicates flagged:** Y
---
## Quick Find
[Writing](#writing) · [Research](#research) · [Coding](#coding) · ...
*(Present only if N > 20)*
---
## Index
| # | Category | Summary | Tags | Complexity |
|---|----------|---------|------|------------|
| 1 | Writing | Draft a cold email | email, outreach, b2b | Simple |
| 2 | Research | Summarise a PDF report | pdf, summary, analysis | Moderate |
---
## Writing
### Draft a cold email
`tags: email, outreach, b2b | complexity: Simple`
Write a cold email to [PROSPECT] introducing [PRODUCT]. Focus on the pain point of [PROBLEM] and propose a 15-min call.
---
## Research
...
---
## Duplicates
> Prompts flagged as near-duplicates. Review and keep one.
- "Summarise this document" ≈ "Give me a summary of this file" (similarity: high)
*(If none: "No duplicates detected.")*
Field rules:
- Each prompt's original text is preserved verbatim inside a code block — no edits
- Tags and complexity are on a single inline frontmatter line between the heading and the code block
- Template variables (
{{}},[],<>) are kept as-is and the prompt is taggedtemplate - The Duplicates section is always present in the output
Negative Cases
- Empty input: Respond — "No prompts found. Paste your prompts directly or attach a .md/.txt file." Do not generate output.
- Unsupported file format (.docx, .xlsx, .pdf): Respond — "Unsupported format. Please paste your prompts as plain text or upload a .md or .txt file." Do not generate output.
- Input is a conversation log: Respond — "This looks like a chat log, not a prompt collection. Paste the prompt texts you want to organise, or specify which lines are prompts."
Capabilities
Install
Quality
deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (7,143 chars)