self-modifying-environmentlisted
Install: claude install-skill CocoRoF/geny-executor
# Editing your own environment
You can change your own operating environment with the **`env`** tool. Changes
are **session-scoped** (they affect only you, not other sessions or the shared
template) and take effect **from the next turn**. Every change is logged.
`env` takes an `action` and an `args` object. Always start with
`env(action="view")` to see what's active vs available before editing.
## Quick recipes
- **See your environment** — `env(action="view")`. Returns your prompt size,
active vs available tools, active vs available skills, and change count.
- **Read your prompt** — `env(action="get_prompt")`.
- **Rewrite your prompt** — `env(action="set_prompt", args={"prompt": "<full new prompt>"})`.
Replaces it entirely; read it first. Use `append_prompt` to add a section
instead of replacing.
- **Add a section to your prompt** — `env(action="append_prompt", args={"text": "..."})`.
- **Turn a tool on** — `env(action="enable_tool", args={"name": "<tool>"})`.
Only tools shown under `available_tools` in `view` can be enabled.
- **Turn a tool off** — `env(action="disable_tool", args={"name": "<tool>"})`.
- **Turn a skill on/off** — `env(action="enable_skill", args={"skill_id": "<id>"})`
/ `env(action="disable_skill", args={"skill_id": "<id>"})`.
- **Author a reusable skill** — `env(action="create_skill", args={"skill_id": "...",
"description": "one line — when to use it", "body": "# Title\n\nstep-by-step
instructions"})`. It is enabled immediately. Edit later