Files
nanobot/nanobot/skills/my/SKILL.md
T
chengyongruandGitHub 9d34fc5af2 refactor(agent): remove loop iteration state (#5549)
* refactor(agent): remove loop iteration state

* docs(my): remove stale iteration guidance
2026-08-26 15:57:47 +08:00

2.6 KiB
Raw Blame History

name, description
name description
my Inspect and optionally adjust the agent's runtime state. Use to check the current model or preset, context window and runtime limits, workspace and tool configuration, subagent status, and request routing metadata such as channel, chat ID, and sender ID; diagnose unavailable capabilities; change allowed runtime settings; or store temporary session scratchpad values.

Self-Awareness

How to use

  1. Identify the situation from the categories below
  2. Call the my tool with the appropriate action
  3. If set, warn the user before changing impactful settings such as the model or runtime limits
  4. For detailed examples, read references/examples.md

When to check

**Diagnose before explaining.** When something doesn't work, check your state first. **Check budget before complex tasks.** Know your limits before committing. **Recall across turns.** Store preferences in your scratchpad, read them back later.

When to set

**Only set when benefit is clear and user is informed.** Warn before changing model.
Situation Command
Check capacity for a large task my(action="check", key="context_window_tokens")
Switch model or context capacity my(action="set", key="model_preset", value="<preset-name>")
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

**Don't check every turn.** Costs a tool call. Use when you need information, not reflexively. **Don't store sensitive data.** No API keys, passwords, or tokens in scratchpad. **Don't set workspace.** Does not update file tool boundaries — won't work.

Constraints

  • model_preset is saved for the current session; other modifications are in-memory only
  • Direct model and context_window_tokens writes are rejected during active sessions because they would change the shared instance default. Use a configured model_preset instead.
  • Protected params have type/range validation: max_iterations (1100), context_window_tokens (40961M), model (non-empty str)
  • If tools.my.allow_set is false, check only
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.