Nanobot my

Check and set the agent's own runtime state (model, iterations, context window, token usage, web config). Use when diagnosing why something doesn't work ("why can't you search the web?", "why did you stop?"), checking resource limits before complex tasks, adapting configuration for long or simple tasks, or remembering user preferences across turns. Also use when the user asks what model you are running, how many tokens you've used, or what your settings are.

install
source · Clone the upstream repo
git clone https://github.com/HKUDS/nanobot
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HKUDS/nanobot "$T" && mkdir -p ~/.claude/skills && cp -r "$T/nanobot/skills/my" ~/.claude/skills/hkuds-nanobot-my && rm -rf "$T"
manifest: nanobot/skills/my/SKILL.md
source content

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 (model, iterations)
  4. For detailed examples, read references/examples.md

When to check

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

When to set

<rule> **Only set when benefit is clear and user is informed.** Warn before changing model. </rule>
SituationCommand
Large codebase analysis
my(action="set", key="context_window_tokens", value=131072)
Repetitive simple tasks
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

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

Constraints

  • All modifications in-memory only — restart resets everything
  • Protected params have type/range validation:
    max_iterations
    (1–100),
    context_window_tokens
    (4096–1M),
    model
    (non-empty str)
  • If
    tools.my.allow_set
    is false, check only

Related tools

NeedUsePersists?
Per-session temp state
my(action="set", key="...", value=...)
No
Long-term factsMemory skill (
MEMORY.md
,
USER.md
)
Yes
Permanent config changeEdit config fileYes

Rule of thumb: Tomorrow? Memory. This turn only? My.