brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
self-improving-agentSelf-improvement logging and closed-loop feedback: Trigger when a command or operation fails, the user corrects you, outdated knowledge is identified, an external API fails, or a better reusable solution is found. Review historical learnings before important tasks. Avoid triggering during ordinary chat, for temporary mistakes that do not need to be logged, …
Independent GitHub snapshot · Automated classification · Original documentation governs
This skill is used in the Minis environment to record errors, corrections, and reusable best practices, creating a traceable learning loop.
/var/minis/workspace//var/minis/skills/self-improving-agent/data//var/minis/skills/self-improving-agent/data/public/<project>/.learnings/LEARNINGS.md (corrections, knowledge gaps, best practices)ERRORS.md (command failures, exception output)FEATURE_REQUESTS.md (new capabilities requested by users)By default, log entries go first to the skill's own
datadirectory. When you explicitly specify a project, write to the project-level log. When an issue has been abstracted into a cross-project rule, promote it to the skill's public area or the Minis memory system.
/var/minis/skills/self-improving-agent/data//var/minis/skills/self-improving-agent/data/public/<project>/.learnings/ only when --project <path> is passed explicitly--public--workspace is still available, but only for compatibility and is no longer recommendedpromote <entryID> copies the entry to the public area within the skill, automatically marks the source entry as promoted, and writes back **Promoted to** and ### Resolution Recordpromote again will not append a duplicate| Scenario | Action |
|---|---|
| Command or operation fails | Log to the skill directory by default: data/ERRORS.md |
| The user corrects you | Log to the skill directory by default: data/LEARNINGS.md, category correction |
| The user needs a missing capability | Log to the skill directory by default: data/FEATURE_REQUESTS.md |
| Project context is explicitly specified | Log to <project>/.learnings/ |
| External API or tool fails | Log to ERRORS.md in the current scope, including integration details |
| Knowledge is outdated | Log to LEARNINGS.md in the current scope, category knowledge_gap |
| A better solution is found | First log it to the current scope, then promote it after confirming it is generally applicable |
| Similar issues recur across multiple projects | Promote to the public area within the skill: data/public/ |
| Similar to an existing entry | Link with **See Also** and consider raising the priority |
| Widely applicable experience | Promote to the public area within the skill or to Minis memory. See "Promoting to Minis Memory" below |
Note: By default, this skill does not automatically listen in the background. When trigger conditions are met, the assistant (or you) should actively call
scripts/minis_auto_log.shto write the log to disk.
If any of the following conditions are met, the event should be logged unless you explicitly say "do not log it":
data/ first.promote to move it to the public area within the skill: data/public/.data/ and data/public/) are an editable work review repository: they record context, troubleshooting processes, and solution evolution, and they allow long text and details.memory_write writing to /var/minis/memory/) is for cross-session long-term rules and preferences: entries should be short, stable, and reusable. Poorly written entries can "pollute" future decisions for a long time.Consider memory_write only if at least one of the following is true:
promote to promote the entry to the public area within the skill, data/public/, for higher visibility and easier review.memory_write.Usage examples:
# By default, write to the skill's own data directory
sh /var/minis/skills/self-improving-agent/scripts/minis_auto_log.sh init
# Log a skill-level learning
sh /var/minis/skills/self-improving-agent/scripts/minis_auto_log.sh learning "Fixed the download timeout" "Use chunking and retries"
# If you need to log explicitly at the project level, pass --project
sh /var/minis/skills/self-improving-agent/scripts/minis_auto_log.sh --project /var/minis/workspace/my-project error "curl request failed" "HTTP 429"
# If you need to write directly to the public area within the skill, pass --public explicitly
sh /var/minis/skills/self-improving-agent/scripts/minis_auto_log.sh --public feature "Support batch export" "Operations needs daily reports"
# Search the skill area + project area + public area within the skill
sh /var/minis/skills/self-improving-agent/scripts/minis_auto_log.sh search timeout
# Promote an entry to the public area within the skill
sh /var/minis/skills/self-improving-agent/scripts/minis_auto_log.sh promote LRN-20260317-ABC
# View the current scope
sh /var/minis/skills/self-improving-agent/scripts/minis_auto_log.sh status
Append to .learnings/LEARNINGS.md:
## [LRN-YYYYMMDD-XXX] category
**Record time**: ISO-8601 timestamp
**Priority**: low | medium | high | critical
**Status**: pending
**Domain**: frontend | backend | infra | tests | docs | config
### Summary
One-line description of what was learned
### Details
Full context: what happened, what went wrong, and the correct approach
### Recommended Action
Specific actionable improvement or fix
### Metadata
- Source: conversation | error | user_feedback
- Related file: path/to/file.ext
- Tags: tag1, tag2
- Related entry: LRN-20250110-001 (if applicable)
- Pattern key: simplify.dead_code | harden.input_validation (optional, for recurring pattern tracking)
- Recurrence count: 1 (optional)
- First seen: 2025-01-15 (optional)
- Last seen: 2025-01-15 (optional)
---
Append to .learnings/ERRORS.md:
## [ERR-YYYYMMDD-XXX] skill_or_command_name
**Record time**: ISO-8601 timestamp
**Priority**: high
**Status**: pending
**Domain**: frontend | backend | infra | tests | docs | config
### Summary
Brief description of the failure
### Error
```
Actual error message or output
```
### Context
- Command or operation attempted
- Input or parameters
- Environment details, if relevant
### Recommended Fix
If identifiable, provide possible solutions
### Metadata
- Reproducible: yes | no | unknown
- Related file: path/to/file.ext
- Related entry: ERR-20250110-001 (if recurring)
---
Append to .learnings/FEATURE_REQUESTS.md:
## [FEAT-YYYYMMDD-XXX] capability_name
**Record time**: ISO-8601 timestamp
**Priority**: medium
**Status**: pending
**Domain**: frontend | backend | infra | tests | docs | config
### Requested Capability
The capability the user wants to implement
### User Context
Why it is needed and what problem it solves
### Complexity Assessment
simple | medium | complex
### Recommended Implementation
Possible implementation approaches and extension points
### Metadata
- Frequency: first_time | recurring
- Related feature: existing_feature_name
---
Format: TYPE-YYYYMMDD-XXX
LRN (learning), ERR (error), FEAT (feature)001 or A7BExamples: LRN-20250115-001, ERR-20250115-A3F, FEAT-20250115-002
After an issue is fixed, update the entry:
**Status**: pending to **Status**: resolved### Resolution Record
- **Resolution time**: 2025-01-16T09:00:00Z
- **Commit/PR**: abc123 or #42
- **Notes**: Brief description of what was done
Other statuses:
in_progress - Being worked onwont_fix - Decided not to fix. Write the reason in the resolution recordpromoted - Promoted to Minis memoryWhen a learning item is broadly applicable rather than a one-time fix, it should be promoted to the Minis memory system.
/var/minis/memory/YYYY-MM-DD.md (written through memory_write)/var/minis/memory/GLOBAL.md (read-only; the user must maintain it in settings)/var/minis/workspace/PROJECT_NOTES.mdmemory_write to write to daily memory, and sync to project notes if needed**Status**: pending to **Status**: promoted**Promoted**: YYYY-MM-DD.md or PROJECT_NOTES.mdIf the content being logged is similar to an existing entry:
grep -r "keyword" /var/minis/workspace/.learnings/**See Also**: ERR-20250110-001 to the metadataPROJECT_NOTES.md or daily memory)Used to ingest recurring patterns from the simplify-and-harden skill and convert them into persistent prompt rules.
simplify_and_harden.learning_loop.candidates from the task summary.pattern_key as the stable deduplication key..learnings/LEARNINGS.md to see whether it already exists:
grep -n "Pattern-Key: <pattern_key>" /var/minis/workspace/.learnings/LEARNINGS.mdRecurrence-CountLast-SeenSee Also associationLRN-... entrySource: simplify-and-hardenPattern-Key, Recurrence-Count: 1, and First-Seen/Last-SeenWhen the following conditions are met, promote the recurring pattern to Minis memory:
Recurrence-Count >= 3The promoted rule should be a short and clear preventive rule that describes what to do before or during work, not a lengthy incident review.
Review .learnings/ at natural milestones:
# Count pending items
grep -h "Status\*\*: pending" /var/minis/workspace/.learnings/*.md | wc -l
# List pending high-priority items
grep -B5 "Priority\*\*: high" /var/minis/workspace/.learnings/*.md | grep "^## \["
# Find learnings for a specific area
grep -l "Domain\*\*: backend" /var/minis/workspace/.learnings/*.md