Install
$ agentstack add skill-ea-studio-shark-prompt-keeper-prompt-keeper ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
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:
- Create
~/.prompts/if missing. - Create
~/.prompts/INDEX.mdif missing. - 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:
- Initialize
~/.prompts/andINDEX.mdif needed. - Capture the prompt text.
- Read
INDEX.md. - Detect highly similar existing prompts by comparing intent, required inputs, expected output, domain, and wording.
- 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
createddate andusedcount. - Refresh the index line for that prompt.
- 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.
- Update
INDEX.md:
- Ensure one line per saved prompt.
- Keep lines readable.
- Remove stale duplicate index lines for the same file.
- 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 :
- Initialize
~/.prompts/andINDEX.mdif needed. - Read
INDEX.md. - Match semantically, not only by exact keyword:
- name similarity
- category relevance
- tag relevance
- one-sentence purpose
- likely user intent
- Return the top matches, usually 3-5 entries.
- For each match, show:
- name
- category
- one-sentence purpose
- path
- 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 :
- Read
INDEX.md. - Fuzzy-match the requested name against prompt names and index lines.
- If multiple candidates are close, show the best few and ask the user to choose.
- Read the selected markdown file.
- Extract the prompt body after frontmatter and the variables comment.
- 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.
- Output the ready-to-use prompt.
- Increment
usedin 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:
- Read
INDEX.md. - Group entries by category.
- Display name, tags, and one-sentence purpose under each category.
- 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.
- Author: EA-Studio-SHARK
- Source: EA-Studio-SHARK/prompt-keeper
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.