ワンクリックで
memory-retro
Save insights from completed tasks to role memory.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Save insights from completed tasks to role memory.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Web search, online search, real-time search, internet search, Google alternative, Bing alternative, DuckDuckGo alternative, search the web, lookup online, find information, research,查询,搜索,搜索结果,网页搜索,联网搜索,实时搜索,网络查询,资料查找,信息检索,最新资讯,新闻搜索, Tavily Search API for optimized, real-time web search results for RAG. A pre-configured, cost-effective search tool.
在 macOS 上使用 osascript 执行 AppleScript 或 JavaScript for Automation (JXA) 实现系统自动化。当用户需要控制 macOS 应用(Finder、Safari、Mail、Calendar、Keynote、Numbers、Pages 等)、操作系统 UI、显示对话框/通知、读写剪贴板、自动化重复任务、或任何涉及 osascript/AppleScript/JXA 的需求时,必须使用本技能。即使用户只说"帮我自动化这个"或"在 Mac 上操作 XXX",也应优先考虑本技能。
Model configuration editor for ~/.pi/agent/models.json - 使用 Bun 脚本管理模型配置
读取和写入输出风格目录的工具技能。当用户需要:(1)读取输出风格文件,(2)写入/创建输出风格文件,(3)管理输出风格目录,(4)解析风格文件格式时使用。
Best practices for writing and maintaining high-quality role memories.
Periodic maintenance of role memory: dedup, tidy, consolidate, and pending management.
| name | memory-retro |
| description | Save insights from completed tasks to role memory. |
| whenToUse | After completing any task involving code changes, architectural decisions, debugging, or non-trivial problem solving. Distill what you learned into reusable memories so future sessions can benefit. Invoke proactively at task end — do not wait for the user to ask. |
You have access to a role-based persistent memory system. After completing this task, reflect on what you learned and save valuable insights.
| Tool | Purpose |
|---|---|
memory({ action: "add_learning", content: "..." }) | Save a durable insight. LLM auto-extracts tags. Auto-deduplicates. |
memory({ action: "add_preference", content: "...", category: "..." }) | Save a user preference. Goes directly to consolidated. |
memory({ action: "search", query: "..." }) | Check if similar memory already exists |
memory({ action: "reinforce", content: "..." }) | Increment [Nx] usage count for existing learning |
add_learning auto-deduplicates. Just call it — if similar text exists, it returns "Already stored". Then use reinforce instead.
memory({ action: "add_learning", content: "MyBatis-Plus getOne needs .last('LIMIT 1') to avoid TooManyResultsException" })
LLM auto-extracts tags (e.g., mybatis, gotcha). No manual tagging.
memory({ action: "add_preference", content: "用户偏好中文沟通,技术术语可保留英文", category: "Communication" })
memory({ action: "reinforce", content: "安全删除原则" })
→ "Reinforced [abc123] -> 6x"
Two paths to memory:
Auto-extract (agent_end, compaction)
→ pending.md [○] → search score ≥0.5 → auto-promote → consolidated [0x]
Manual (this tool)
→ consolidated [0x] directly
The pending layer filters noise. Only memories proven useful by actual usage survive. Manual entries skip pending because you're explicitly deciding they're worth keeping.
| Action | Effect | When |
|---|---|---|
reinforce | used+1 in consolidated | You used an existing memory |
| Search score ≥0.5 | auto-reinforce (used+1) | Found via search |
| Pending auto-promote | pending → consolidated | Pending entry is relevant |
consolidate | dedup + canonical rewrite | Routine maintenance |
| Category | When |
|---|---|
Communication | Language, style, tone |
Code | Style, conventions, abstraction |
Tools | CLI, editors, workflows |
Workflow | Process, review, deployment |
General | Everything else |
✅ Good:
memory({ action: "add_learning", content: "MyBatis-Plus getOne needs .last('LIMIT 1')" })
✅ Good (reinforce):
memory({ action: "reinforce", content: "安全删除原则" })
❌ Bad: "The user asked me to fix a bug" — too generic
❌ Bad: "Error at /src/index.ts:42" — copy-paste, no insight
add_learning auto-deduplicates — if similar exists, use reinforce instead.