Self-Awareness
How to use
- Identify the situation from the categories below
- Call the my tool with the appropriate action
- If set, warn the user before changing impactful settings (model, iterations)
- For detailed examples, read references/examples.md
When to check
When to set
| Situation | Command |
|---|---|
| Large codebase analysis | my(action="set", key="context_window_tokens", value=262144) |
| Switch to a named model preset | my(action="set", key="model_preset", value="<preset-name>") |
| Repetitive simple tasks without a preset | my(action="set", key="model", value="<fast-model>") |
| Long multi-step task | my(action="set", key="max_iterations", value=80) |
Tradeoff: Bias toward stability. Only set when defaults are genuinely insufficient.
Anti-patterns
Constraints
- All modifications in-memory only — restart resets everything
- Prefer
model_presetfor configured model choices. Directmodelchanges clear the active preset and should only be used when no preset exists. - Protected params have type/range validation:
max_iterations(1–100),context_window_tokens(4096–1M),model(non-empty str) - If
tools.my.allow_setis false, check only
Related tools
| Need | Use | Persists? |
|---|---|---|
| Per-session temp state | my(action="set", key="...", value=...) |
No |
| Long-term facts | Memory skill (MEMORY.md, USER.md) |
Yes |
| Permanent config change | Edit config file | Yes |
Rule of thumb: Tomorrow? Memory. This turn only? My.