Create README.md and enhance AGENTS.md to position this as an extensible framework for any Opencode skills and agents, not just PARA/task management. Includes installation, development workflow, code style guidelines, and Nix flake integration patterns.
6.8 KiB
name, description, compatibility
| name | description | compatibility |
|---|---|---|
| reflection | Conversation analysis to improve skills based on user feedback. Use when: (1) user explicitly requests reflection ('reflect', 'improve', 'learn from this'), (2) reflection mode is ON and clear correction signals detected, (3) user asks to analyze skill performance. Triggers: reflect, improve, learn, analyze conversation, skill feedback. Toggle with /reflection on|off command. | opencode |
Reflection
Analyze conversations to detect user corrections, preferences, and observations, then propose skill improvements.
Reflection Mode
Toggle: Use /reflection on|off|status command
When mode is ON:
- Actively monitor for correction signals during conversation
- Auto-suggest reflection when clear patterns detected
- Proactively offer skill improvements
When mode is OFF (default):
- Only trigger on explicit user request
- No automatic signal detection
Core Workflow
When triggered, follow this sequence:
1. Identify Target Skill
If skill explicitly mentioned:
User: "Reflect on the task-management skill"
→ Target: task-management
If not specified, ask:
"Which skill should I analyze? Recent skills used: [list from session]"
2. Scan Conversation
Use session tools to analyze the current conversation:
# Read current session messages
session_read --session_id [current] --include_todos true
Analyze for:
- When target skill was used
- User responses after skill usage
- Correction signals (see references/signal-patterns.md)
- Workflow patterns
- Repeated interactions
3. Classify Findings
Rate each finding using 3-tier system (see references/rating-guidelines.md):
HIGH (Explicit Constraints):
- Direct corrections: "No, don't do X"
- Explicit rules: "Always/Never..."
- Repeated violations
MEDIUM (Preferences & Patterns):
- Positive reinforcement: "That's perfect"
- Adopted patterns (used 3+ times)
- Workflow optimizations
LOW (Observations):
- Contextual insights
- Tentative patterns
- Environmental preferences
4. Read Target Skill
Before proposing changes, read the current skill implementation:
# Read the skill file
read skill/[target-skill]/SKILL.md
# Check for references if needed
glob pattern="**/*.md" path=skill/[target-skill]/references/
5. Generate Proposals
For each finding, create:
HIGH findings:
- Specific constraint text to add
- Location in skill where it should go
- Exact wording for the rule
MEDIUM findings:
- Preferred approach description
- Suggested default behavior
- Optional: code example or workflow update
LOW findings:
- Observation description
- Potential future action
- Context for when it might apply
6. User Confirmation
Present findings in structured format:
## Reflection Analysis: [Skill Name]
### HIGH Priority (Constraints)
1. **[Finding Title]**
- Signal: [What user said/did]
- Proposed: [Specific change to skill]
### MEDIUM Priority (Preferences)
1. **[Finding Title]**
- Signal: [What user said/did]
- Proposed: [Suggested update]
### LOW Priority (Observations)
[List observations]
---
Approve changes to [skill name]? (yes/no/selective)
7. Apply Changes or Document
If user approves (yes):
- Edit skill/[target-skill]/SKILL.md with proposed changes
- Confirm: "Updated [skill name] with [N] improvements"
- Show diff of changes
If user selects some (selective):
- Ask which findings to apply
- Edit skill with approved changes only
- Write rejected findings to OBSERVATIONS.md
If user declines (no):
- Create/append to skill/[target-skill]/OBSERVATIONS.md
- Document all findings with full context
- Confirm: "Documented [N] observations in OBSERVATIONS.md for future reference"
OBSERVATIONS.md Format
When writing observations file:
# Observations for [Skill Name]
Generated: [Date]
From conversation: [Session ID if available]
## HIGH: [Finding Title]
**Context:** [Which scenario/workflow]
**Signal:** [User's exact words or repeated pattern]
**Constraint:** [The rule to follow]
**Proposed Change:** [Exact text to add to skill]
**Status:** Pending user approval
---
## MEDIUM: [Finding Title]
**Context:** [Which scenario/workflow]
**Signal:** [What indicated this preference]
**Preference:** [The preferred approach]
**Rationale:** [Why this works well]
**Proposed Change:** [Suggested skill update]
**Status:** Pending user approval
---
## LOW: [Observation Title]
**Context:** [Which scenario/workflow]
**Signal:** [What was noticed]
**Observation:** [The pattern or insight]
**Potential Action:** [Possible future improvement]
**Status:** Noted for future consideration
Signal Detection Patterns
Key patterns to watch for (detailed in references/signal-patterns.md):
Explicit corrections:
- "No, that's wrong..."
- "Actually, you should..."
- "Don't do X, do Y instead"
Repeated clarifications:
- User explains same thing multiple times
- Same mistake corrected across sessions
Positive patterns:
- "Perfect, keep doing it this way"
- User requests same approach repeatedly
- "That's exactly what I needed"
Workflow corrections:
- "You skipped step X"
- "Wrong order"
- "You should have done Y first"
Usage Examples
Example 1: Post-Skill Usage
User: "Reflect on how the task-management skill performed"
Agent:
1. Read current session
2. Find all task-management skill invocations
3. Analyze user responses afterward
4. Read skill/task-management/SKILL.md
5. Present findings with confirmation prompt
Example 2: User-Prompted Learning
User: "Learn from this conversation - I had to correct you several times"
Agent:
1. Ask which skill to analyze (if multiple used)
2. Scan full conversation for correction signals
3. Classify by severity (HIGH/MEDIUM/LOW)
4. Propose changes with confirmation
Example 3: Detected Signals
# During conversation, user corrects workflow twice
User: "No, run tests BEFORE committing, not after"
[later]
User: "Again, tests first, then commit"
# Later when user says "reflect" or at end of session
Agent detects: HIGH priority constraint for relevant skill
References
- signal-patterns.md - Comprehensive list of correction patterns to detect
- rating-guidelines.md - Decision tree for classifying findings (HIGH/MEDIUM/LOW)
Load these when analyzing conversations for detailed pattern matching and classification logic.
Important Constraints
- Never edit skills without user approval - Always confirm first
- Read the skill before proposing changes - Avoid suggesting what already exists
- Preserve existing structure - Match the skill's current organization and style
- Be specific - Vague observations aren't actionable
- Full conversation scan - Don't just analyze last few messages
- Context matters - Include why the finding matters, not just what was said