AgentStack
SKILL verified MIT Self-run

Prompt Keeper

skill-ea-studio-shark-prompt-keeper-prompt-keeper · by EA-Studio-SHARK

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.

No reviews yet
0 installs
6 views
0.0% view→install

Install

$ agentstack add skill-ea-studio-shark-prompt-keeper-prompt-keeper

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Prompt Keeper? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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: /记 or /p save
  • Save recent: /记 or /p save
  • Find: /找 or /p find
  • Use: /用 or /p use
  • 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//.md

Use this exact frontmatter shape:

---
name: 
category: 
tags: []
project: global
created: 
used: 0
---

If there are no variables, write:

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 /记 , /p save , /记, 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.
  1. 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//.md.
  1. Update INDEX.md:
  • Ensure one line per saved prompt.
  • Keep lines readable.
  • Remove stale duplicate index lines for the same file.
  1. 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 /找 or /p find :

  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
  1. Return the top matches, usually 3-5 entries.
  2. For each match, show:
  • name
  • category
  • one-sentence purpose
  • path
  1. 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 /用 or /p use :

  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.
  1. Output the ready-to-use prompt.
  2. 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.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.