en un clic
memory-retro
Save insights from completed tasks to role memory.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Save insights from completed tasks to role memory.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle 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.