feat(api): GET /api/workspaces/:id/stats endpoint
This commit is contained in:
116
skills/memory-discipline/SKILL.md
Normal file
116
skills/memory-discipline/SKILL.md
Normal file
@@ -0,0 +1,116 @@
|
||||
---
|
||||
name: memory-discipline
|
||||
description: 'Enforce proper session memory recording. Use at: (1) session idle timeout, (2) task completion, (3) explicit /save command, (4) end of significant conversation milestones. Extracts decisions, key info, and action items from the session and writes them to memory storage (files or database).'
|
||||
metadata:
|
||||
{
|
||||
"openclaw": { "emoji": "💾", "requires": {} },
|
||||
}
|
||||
---
|
||||
|
||||
# Memory Discipline Skill
|
||||
|
||||
This skill ensures that session knowledge is properly captured and stored, not lost. It is **mandatory** to run this before:
|
||||
- Session idle timeout (no user input for X minutes)
|
||||
- Task completion
|
||||
- Explicit `/save` or `/memory` command
|
||||
- Any significant milestone in the conversation
|
||||
|
||||
## Why This Exists
|
||||
|
||||
Too often agents don't record important information from sessions. This causes:
|
||||
- Repeated questions about things the human already told you
|
||||
- Lost context between sessions
|
||||
- Frustration when "I told you that last time" happens
|
||||
|
||||
**This skill makes memory recording REQUIRED, not optional.**
|
||||
|
||||
## Workflow
|
||||
|
||||
### Step 1: Extract Key Information
|
||||
|
||||
Before writing, analyze the session and extract:
|
||||
|
||||
| Category | What to capture |
|
||||
|----------|-----------------|
|
||||
| **Decisions** | Any decision made by the human or jointly (e.g., "we'll use Postgres + pgvector") |
|
||||
| **Important Info** | Facts the human provided that should be remembered (e.g., preferences, constraints) |
|
||||
| **Action Items** | Things to do later, follow-ups, tasks not yet completed |
|
||||
| **Context Changes** | Project state changes, new businesses, new channels |
|
||||
| **Lessons** | What worked, what didn't, what to avoid |
|
||||
|
||||
### Step 2: Write to Storage
|
||||
|
||||
**File-based (current):**
|
||||
- Update `memory/YYYY-MM-DD.md` with new entries
|
||||
- Update `MEMORY.md` for long-term memory
|
||||
- Update `USER.md` if human preferences changed
|
||||
- Update project-specific files if applicable
|
||||
|
||||
**Database (future - when Postgres/pgvector available):**
|
||||
- Write to `session_summaries` table
|
||||
- Generate embeddings for RAG context
|
||||
- Log to `event_log` table
|
||||
|
||||
### Step 3: Confirm in Chat
|
||||
|
||||
After saving, say EXACTLY:
|
||||
```
|
||||
💾 Saved to memory:
|
||||
- X decisions
|
||||
- X key info items
|
||||
- X action items
|
||||
|
||||
[If action items exist:]
|
||||
TODO: [list each action item]
|
||||
```
|
||||
|
||||
This confirms to the human that their information was saved.
|
||||
|
||||
## Triggers
|
||||
|
||||
**Automatic triggers (run yourself):**
|
||||
1. Session idle for 5+ minutes (check on heartbeat or cron)
|
||||
2. Task marked as complete
|
||||
3. Human explicitly asks to save
|
||||
|
||||
**Manual triggers (human invokes):**
|
||||
- `/save` - Save current session state
|
||||
- `/memory` - Show what has been saved this session
|
||||
- `/remember <info>` - Manually add something to memory
|
||||
|
||||
## Quality Standards
|
||||
|
||||
✅ **DO:**
|
||||
- Write specific, actionable entries
|
||||
- Include context (why this matters)
|
||||
- Use bullet points for readability
|
||||
- Include dates when relevant
|
||||
- Add to appropriate memory file (daily vs long-term)
|
||||
|
||||
❌ **DON'T:**
|
||||
- Write vague entries like "discussed project"
|
||||
- Skip this step "if nothing important happened"
|
||||
- Save trivial things (greetings, small talk)
|
||||
- Write excessively long entries
|
||||
|
||||
## Integration Points
|
||||
|
||||
When running this skill, also check:
|
||||
1. **TODOs** - Any pending tasks that should be logged?
|
||||
2. **Open Threads** - Any ongoing conversations that need continuation notes?
|
||||
3. **Project State** - Did any project context change?
|
||||
|
||||
## Example Output
|
||||
|
||||
```
|
||||
💾 Saved to memory:
|
||||
- Decision: Use Valkey (not RabbitMQ) for message bus
|
||||
- Decision: bge-m3 for embeddings, cogito:14b for local chat
|
||||
- Key info: Postgres image already has pgvector built-in
|
||||
- Action: Check deployed stack via Portainer at 10.1.1.45
|
||||
|
||||
TODO:
|
||||
- [ ] Pull bge-m3 model to Ollama
|
||||
- [ ] Verify pgvector in postgres image
|
||||
- [ ] Draft instance configs for Main + 3 departments
|
||||
```
|
||||
60
skills/responsive-gateway/SKILL.md
Normal file
60
skills/responsive-gateway/SKILL.md
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
name: responsive-gateway
|
||||
description: 'Always keep the user informed. Show status, progress, and activity at all times.'
|
||||
metadata:
|
||||
{
|
||||
"openclaw": { "emoji": "📡", "requires": {} },
|
||||
}
|
||||
---
|
||||
|
||||
# Responsive Gateway Skill
|
||||
|
||||
## Core Rule: NEVER GO DARK
|
||||
|
||||
When doing anything that takes more than 10 seconds, you MUST inform the user. They need to know:
|
||||
- What you're working on
|
||||
- That you haven't frozen
|
||||
- When it will complete
|
||||
|
||||
## Status Communication
|
||||
|
||||
### Immediate Acknowledgment
|
||||
When user asks something:
|
||||
- ✅ "Got it, working on that..."
|
||||
- ✅ "Looking into it..."
|
||||
- ✅ "Spawning a worker for this..."
|
||||
|
||||
### Progress Updates
|
||||
For tasks taking >30 seconds:
|
||||
- "Checking the database..."
|
||||
- "Querying the API..."
|
||||
- "Running tests (1/3)..."
|
||||
|
||||
### Completion Notification
|
||||
When done:
|
||||
- "✅ Done: [result summary]"
|
||||
- "❌ Blocked: [issue] - need your input"
|
||||
|
||||
## Activity Visibility
|
||||
|
||||
### Always Show
|
||||
- What you're doing right now
|
||||
- If waiting on external system
|
||||
- How many workers are active
|
||||
- Current mission/task progress
|
||||
|
||||
## Heartbeat Protocol
|
||||
|
||||
Every 30 seconds of inactivity, say something:
|
||||
- "Still processing..."
|
||||
- "Waiting for worker..."
|
||||
- "Analyzing results..."
|
||||
|
||||
If you go silent for >2 minutes, you've failed.
|
||||
|
||||
## Success Criteria
|
||||
|
||||
User should NEVER wonder:
|
||||
- "Is it working?"
|
||||
- "Did it freeze?"
|
||||
- "What's happening?"
|
||||
Reference in New Issue
Block a user