My
Agent BuildingmyMy is an Agent Skill for agent building published in the HKUDS/nanobot repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Inspect and optionally adjust the agent's runtime state. Use to check the current model or preset, context window, iteration progress and limits, token usage, 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.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/HKUDS/nanobot/blob/HEAD/nanobot/skills/my/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/my, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
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.