agentsclimarketplace

Prompt keeper

Skill EA-Studio-SHARK/prompt-keeper/prompt-keeper

Capture, auto-classify and reuse your best prompts — a local prompt library inside Claude Code / Cursor / Codex.

Install
npx -y skills add EA-Studio-SHARK/prompt-keeper --skill prompt-keeper

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Capture, auto-classify, search, list, and reuse developer prompts as a local markdown prompt library. Use when the user issues `/记`, `/找`, `/用`, `/列`, `/p save`, `/p find`, `/p use`, or `/p list`, or asks to save, find, or reuse prompts from a global prompt library.

SKILL.md

6.2 KB, as published. Nobody here has run it

prompt-keeper

Maintain a global prompt library with plain markdown files. Execute commands directly with local file operations. Keep responses short and focused on the requested command.

Supported Commands

Accept Chinese and English command forms:

  • Save: /记 <prompt> or /p save <prompt>
  • Save recent: /记 or /p save
  • Find: /找 <query> or /p find <query>
  • Use: /用 <name> or /p use <name>
  • List: /列 or /p list

For /记 or /p save without inline content, save the most recent user-authored prompt in the current conversation that is not the save command itself.

Library Layout

Use this global library:

~/.prompts/

On first use:

  1. Create ~/.prompts/ if missing.
  2. Create ~/.prompts/INDEX.md if missing.
  3. Add a simple title to a new index:
# Prompt Library

Store one prompt per markdown file:

~/.prompts/<category>/<short-name>.md

Use this exact frontmatter shape:

---
name: <short descriptive name>
category: <main category>
tags: [<language/framework/project/tool tags>]
project: global
created: <YYYY-MM-DD>
used: 0
---
<!-- variables: {{variable_one}}, {{variable_two}} -->

<prompt body>

If there are no variables, write:

<!-- variables: none -->

Update INDEX.md with one line per prompt:

- [name](relative/path.md) · category · tags · one-sentence purpose

Use paths relative to ~/.prompts/.

Categories

Choose one primary category when saving:

  • 写代码
  • 重构
  • 调试
  • 测试
  • 代码审查
  • 架构
  • 文档注释
  • Git
  • 数据SQL
  • 前端UI
  • 提示词工程
  • 内容写作
  • 调研
  • 其它

Create a new category only when none of the listed categories fits.

Save Workflow

When handling /记 <prompt>, /p save <prompt>, /记, or /p save:

  1. Initialize ~/.prompts/ and INDEX.md if needed.
  2. Capture the prompt text.
  3. Read INDEX.md.
  4. Detect highly similar existing prompts by comparing intent, required inputs, expected output, domain, and wording.
  5. If a highly similar prompt exists, update that file instead of creating a duplicate:
    • Preserve or improve the name if the existing name is still accurate.
    • Merge useful new constraints into the body.
    • Merge tags without duplicating them.
    • Keep the existing created date and used count.
    • Refresh the index line for that prompt.
  6. If no strong duplicate exists, create a new file:
    • Generate a lowercase hyphenated short name, preferably 2-5 words.
    • Select the best category.
    • Add concise cross-cutting tags such as language, framework, project, tool, domain, and workflow.
    • Identify variable parts such as file paths, project names, frameworks, languages, dates, audiences, output formats, and constraints.
    • Rewrite variable parts as {{double_brace_variables}}.
    • Add the variables comment immediately below frontmatter.
    • Write the markdown file under ~/.prompts/<category>/<short-name>.md.
  7. Update INDEX.md:
    • Ensure one line per saved prompt.
    • Keep lines readable.
    • Remove stale duplicate index lines for the same file.
  8. Reply in one sentence with the saved name, category, and tags.

Do not store secrets, tokens, cookies, private keys, credentials, or sensitive personal data. If the captured prompt includes sensitive values, replace them with variables before saving.

Find Workflow

When handling /找 <query> or /p find <query>:

  1. Initialize ~/.prompts/ and INDEX.md if needed.
  2. Read INDEX.md.
  3. Match semantically, not only by exact keyword:
    • name similarity
    • category relevance
    • tag relevance
    • one-sentence purpose
    • likely user intent
  4. Return the top matches, usually 3-5 entries.
  5. For each match, show:
    • name
    • category
    • one-sentence purpose
    • path
  6. Ask briefly whether the user wants to view the full prompt or use one directly.

If INDEX.md is empty, say the library has no saved prompts yet and suggest saving one.

Use Workflow

When handling /用 <name> or /p use <name>:

  1. Read INDEX.md.
  2. Fuzzy-match the requested name against prompt names and index lines.
  3. If multiple candidates are close, show the best few and ask the user to choose.
  4. Read the selected markdown file.
  5. Extract the prompt body after frontmatter and the variables comment.
  6. If variables exist:
    • Fill variables from the current conversation context when the value is clear.
    • Ask for only the missing variables that cannot be inferred.
    • Keep unresolved variables in {{variable}} form only when the user explicitly wants a template.
  7. Output the ready-to-use prompt.
  8. Increment used in frontmatter by 1 and write the file back.

Do not increment used when the command only previews candidates and no prompt is selected.

List Workflow

When handling /列 or /p list:

  1. Read INDEX.md.
  2. Group entries by category.
  3. Display name, tags, and one-sentence purpose under each category.
  4. Keep the list compact.

If the index is missing or empty, initialize the library and report that no prompts have been saved yet.

File Handling Rules

  • Prefer structured parsing for frontmatter when available; otherwise update only the bounded frontmatter block between the first two --- lines.
  • Preserve user edits in saved prompt bodies when updating metadata.
  • Sanitize generated filenames:
    • lowercase
    • hyphen-separated
    • no spaces
    • no shell metacharacters
    • avoid names longer than 60 characters
  • If a filename already exists for a new prompt, append -2, -3, and so on.
  • Keep markdown human-readable.
  • Do not create project-local prompt libraries unless the user explicitly asks for a local library.

Response Style

  • Save: one sentence naming the prompt, category, tags, and path.
  • Find: compact ranked results plus a short next-action question.
  • Use: output the filled prompt, then one short line noting the source name.
  • List: grouped compact list.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.