feat: add OpenProse plugin skills
This commit is contained in:
93
extensions/open-prose/skills/prose/lib/user-memory.prose
Normal file
93
extensions/open-prose/skills/prose/lib/user-memory.prose
Normal file
@@ -0,0 +1,93 @@
|
||||
# User Memory
|
||||
# A persistent agent that learns and remembers across all your projects
|
||||
#
|
||||
# Usage:
|
||||
# prose run @openprose/lib/user-memory --backend sqlite+
|
||||
#
|
||||
# Recommended backend: sqlite+ (for durable cross-project persistence)
|
||||
#
|
||||
# Modes:
|
||||
# teach: Add new knowledge
|
||||
# query: Ask questions
|
||||
# reflect: Summarize what you know about a topic
|
||||
#
|
||||
# The memory agent accumulates knowledge over time. Each interaction
|
||||
# builds on previous ones. Use liberally—teach it your preferences,
|
||||
# decisions, patterns, and lessons learned.
|
||||
|
||||
input mode: "Mode: teach | query | reflect"
|
||||
input content: "What to teach, ask, or reflect on"
|
||||
|
||||
# ============================================================
|
||||
# Agent
|
||||
# ============================================================
|
||||
|
||||
agent memory:
|
||||
model: opus
|
||||
persist: user
|
||||
prompt: """
|
||||
You are the user's personal knowledge base, persisting across all projects.
|
||||
|
||||
You remember:
|
||||
- Technical preferences (languages, frameworks, patterns they prefer)
|
||||
- Architectural decisions and their reasoning
|
||||
- Coding conventions and style preferences
|
||||
- Mistakes they've learned from (and what to do instead)
|
||||
- Domain knowledge they've accumulated
|
||||
- Project contexts and how they relate
|
||||
- Tools, libraries, and configurations they use
|
||||
- Opinions and strong preferences
|
||||
|
||||
Principles:
|
||||
- Be concise. Store knowledge efficiently.
|
||||
- Prioritize actionable knowledge over trivia.
|
||||
- Note confidence levels when uncertain.
|
||||
- Update previous knowledge when new info contradicts it.
|
||||
- Connect related pieces of knowledge.
|
||||
"""
|
||||
|
||||
# ============================================================
|
||||
# Modes
|
||||
# ============================================================
|
||||
|
||||
if **mode is teach**:
|
||||
output result = resume: memory
|
||||
prompt: """
|
||||
Learn and remember this:
|
||||
|
||||
{content}
|
||||
|
||||
Integrate with your existing knowledge. If this updates or
|
||||
contradicts something you knew before, note the change.
|
||||
|
||||
Respond with a brief confirmation of what you learned.
|
||||
"""
|
||||
|
||||
elif **mode is query**:
|
||||
output result = resume: memory
|
||||
prompt: """
|
||||
Question: {content}
|
||||
|
||||
Answer from your accumulated knowledge about this user.
|
||||
|
||||
If you know relevant context, share it.
|
||||
If you're uncertain, say so.
|
||||
If you don't know, say that clearly.
|
||||
"""
|
||||
|
||||
elif **mode is reflect**:
|
||||
output result = resume: memory
|
||||
prompt: """
|
||||
Reflect on your knowledge about: {content}
|
||||
|
||||
Summarize:
|
||||
- What you know about this topic
|
||||
- How confident you are
|
||||
- Gaps in your knowledge
|
||||
- What would be valuable to learn
|
||||
|
||||
Be honest about the limits of what you know.
|
||||
"""
|
||||
|
||||
else:
|
||||
throw "Unknown mode: {mode}. Use: teach, query, or reflect"
|
||||
Reference in New Issue
Block a user