autonomous-control
Turn what worked by hand into a step-wise Python controller, controller.py:main(ctx), that re-perceives the scene, completes the task from a fresh start and…
Skill by robot-agent-exploration
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/robot-agent-exploration-autonomous-control
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/autonomous-control
What's inside
- Skill name
autonomous-control- Description
- Turn what worked by hand into a step-wise Python controller, controller.py:main(ctx), that re-perceives the scene, completes the task from a fresh start and throws an exception you handle with your own perception when a step fails; develop, debug and test it end to end. Use after a confirmed manual success, for closed-loop scripts, and when switching between your code and direct control.
- License
- Apache-2.0
- Instructions
- 138 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- checkpoints.md · references/
SKILL.md (first lines)
# Autonomous control
The deliverable is a controller that completes the task from a fresh scene: the code
does the motions and measurements, re-localizes everything it acts on, checks each
step, and throws an exception when the scene is not what it was built for, never
failing silently.
AGENTS.md says how it is judged: run alone on unseen scenes, or run by you with your
perception checking the decisive points.
## Start from your manual success
Read the saved strategy and decisive frames in `memory/`. Create `code/<project>/` and
turn one useful maneuver into a function that takes `ctx` and explicit inputs. Test it
on the current scene, inspect its final images and logs, fix it, and repeat before
composing the whole `main(ctx)`. Reproduce the decisions that made the manual run
work, not its recorded actions.
## Model the invariant motion; perceive what changes
A new layout should need new perception and parameters, not new motion code.
- **Invariant motion in the object's frame.** Write approach standoffs, directions,
grasp offsets, lift heights and the contact strategy relative to the object or
target, never as coordinates from one run.
- **A perception layer with a fixed output.** One function turns the current scene
into a small description the motions consume (target pose and size, support height,
obstacles). Geometry comes from depth, camera geometry and kinematics; semantic
judgements (which object, is it held, did it tip) come from images: in code through
a [VLM](../vlm-perception/SKILL.md), asked with structured prompts and clear
references, and through you when a step throws an exception.
- **Three layers.** Perception, motion primitives (each with its own checks) and a
short task script that chains them, in separate modules.
- **Parameters as data.** Object descriptions, tolerances and per-scene settings live
in one config with the range each was tested on. A scene outside a tested range is
a reason to stop and look, not to extrapolate.
- **Choose at run time.** Pick the arm, approach side and posture from the perceived
scene: reason out a few candidates, check them with the robot's dry-run tools
(`<preview>`), and take the first that passes. Do not grid-search.
- Prefer simple motion functions and rules; use the VLM where simple rules break on
new views. A step acts on its answers alone only once that call is pressure-tested on
varied views and repeated frames; a failed call or an answer that disagrees with the
geometry is an exception.
## Steps you can read, resume and supervise
- Split the pipeline into steps, each with an observable precondition and completion
check.
- Each step `fn(ctx, ...)` checks its preconditions from fresh observations, acts,
verifies the result and returns `{"ok": bool, "measured": {...}, "why": str}` plus
the frames it used. When a check fails or is ambiguous, or the scene is outside what
it was tested on, it throws an exception instead of improvising: it leaves the robot
safe (nothing held dropped mid-air, arm clear, nothing moving) and returns `ok: False`
with `why`, its measurements and the frames to look at.
- Handle each exception with your own perception: look at its frames and fresh ones,
then rerun the step with corrected inputs, recover by hand, or stop. Fold an
exception that recurs, with its fix, into the step.
- Make the pipeline resumable at any step, and give every motion that can fail a
fallback.
- Keep tunable values as named constants at the top of a module, with their tested
ranges.
- `controller.py:main(ctx)` chains the steps, stops at the first failure and returns a
report. `code/<project>/README.md` says how to run the whole controller and each
step, with their preconditions.
Mark perception checkpoints where a step's success depends on what the scene looks
like. When the controller, or a skill made from it, runs in a new scene, the agent
running it looks there itself and adapts the code where the scene differs, until the
code's own checks have proved reliable there; see
[references/checkpoints.md](references/checkpoints.md).
## Ordinary Python
Write the controller against a supplied context. The entrypoint is the same in
development and in every test or evaluation run:
```python
# code/<project>/controller.py
import json
def main(ctx):
reply = ctx.call("<observe>") # {"content": [text and image blocks]}
state = json.loads(reply["content"][0]["text"])
# observation -> decision -> action, e.g. ctx.call("<move_pose>", **target)
return {"ok": True, "measured": {}, "why": ""}
```
Only a development wrapper, kept outside `code/<project>/` and run from the workspace
root, opens the context:
```python
# experiments/run_controller.py
import sys
from api.runtime import Context
sys.path.insert(0, "code/<project>")
from controller import main
with Context() as ctx:
print(main(ctx))
```
- `main(ctx)` and its helpers use the supplied context unchanged and pass it down;
they never open a new `Context()`.
- `ctx.call(tool, **arguments)` uses the live tool schemas (`MCP_SESSION.md`) and
returns MCP content blocks; JSON metadata is in the text block, images stay image
blocks. Inspect the schemas instead of inventing arguments.
- A tool error raises `RuntimeError` carrying the full error. Handle refusals in code;
never retry the same motion blindly.
- Robot calls run one at a time, but a script does not own the robot: your direct
calls can interleave with it. Run one controller at a time and stop it before you
act directly.
- Interrupting Python does not cancel a dispatched motion. After an interruption or an
ambiguous error, check `<status>` and a fresh observation before continuing.
- Returning does not reset the scene: it keeps the script's actions, so you can
inspect and continue by hand.
- Save replies, decisions and prints under `output/`; the harness keeps the robot's
own frames and traces.
## Test end to endFrom robot-agent-exploration/rax, Apache-2.0.
More from robot-agent-exploration/rax
- 0.793score
object-localization
robot-agent-exploration
Locate visible object points in the robot's frame from the current observation, choosing the method the observation profile allows (depth with camera…
SkillAFreshness: A★ 184Claude Code +9 - 0.790score
multi-agent-exploration
robot-agent-exploration
Divide exploration among subagents with explicit robot or environment ownership and complementary motion or subtask goals, and combine their results.
SkillAFreshness: A★ 184Claude Code +9 - 0.790score
continual-learning
robot-agent-exploration
Read, run and grow a persistent skill library of verified, executable sub-task skills that carries what agents learn across sessions and tasks on the same…
SkillAFreshness: A★ 184Claude Code +9 - 0.790score
experience-memory
robot-agent-exploration
Save successful action tips as soon as they work and retrieve them for later actions under matching observable conditions; distill reusable procedures into…
SkillAFreshness: A★ 184Claude Code +9 - 0.788score
camera-inspection
robot-agent-exploration
Get a closer or different view of small, occluded or out-of-view task details by moving a camera the robot carries (a wrist camera on an empty arm, a pan-tilt…
SkillAFreshness: A★ 184Claude Code +9 - 0.788score
multi-env-exploration
robot-agent-exploration
Select and operate parallel exploration environments, keep their independent scenes apart, and share one episode budget.
SkillAFreshness: A★ 184Claude Code +9 - 0.788score
vlm-perception
robot-agent-exploration
Use the harness's vision-language model tool for image questions (identify, point at, segment, check) from direct tool calls or inside Python controllers…
SkillAFreshness: A★ 184Claude Code +9 - 0.784score
in-context-action-learning
robot-agent-exploration
Infer task goals and a useful strategy from visual demonstrations (an image sequence of a human or robot completing the task, or a terminal-state image), and…
SkillAFreshness: A★ 184Claude Code +9 - 0.784score
transfer-handoff
robot-agent-exploration
Write handoff/README.md, describing how to plan the motion for each subtask and object manipulation of this task, for a later session (or a later copy of you)…
SkillAFreshness: A★ 184Claude Code +9 - 0.784score
manual-robot-control
robot-agent-exploration
Solve the task by choosing robot actions directly from current observations.
SkillAFreshness: A★ 184Claude Code +9 - 0.784score
live-stream
robot-agent-exploration
The continuous, read-only recording of the robot's cameras and state over the recent past.
SkillAFreshness: A★ 184Claude Code +9 - 0.652score
robot-interface
robot-agent-exploration
Placeholder for the robot's own interface skill, which every universal skill links to for tools, frames, limits and safety.
SkillAFreshness: A★ 184Claude Code +9
Signals
- Stars
- 184
- Forks
- 12
- Open issues
- 0
- Last commit (this folder)
- Oct 18, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/robot-agent-exploration/rax
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from robot-agent-exploration
- 0.793score
object-localization
robot-agent-exploration
Locate visible object points in the robot's frame from the current observation, choosing the method the observation profile allows (depth with camera…
SkillAFreshness: A★ 184Claude Code +9 - 0.790score
multi-agent-exploration
robot-agent-exploration
Divide exploration among subagents with explicit robot or environment ownership and complementary motion or subtask goals, and combine their results.
SkillAFreshness: A★ 184Claude Code +9 - 0.790score
continual-learning
robot-agent-exploration
Read, run and grow a persistent skill library of verified, executable sub-task skills that carries what agents learn across sessions and tasks on the same…
SkillAFreshness: A★ 184Claude Code +9 - 0.790score
experience-memory
robot-agent-exploration
Save successful action tips as soon as they work and retrieve them for later actions under matching observable conditions; distill reusable procedures into…
SkillAFreshness: A★ 184Claude Code +9 - 0.788score
camera-inspection
robot-agent-exploration
Get a closer or different view of small, occluded or out-of-view task details by moving a camera the robot carries (a wrist camera on an empty arm, a pan-tilt…
SkillAFreshness: A★ 184Claude Code +9 - 0.788score
multi-env-exploration
robot-agent-exploration
Select and operate parallel exploration environments, keep their independent scenes apart, and share one episode budget.
SkillAFreshness: A★ 184Claude Code +9
Cite this page
autonomous-control skill. Agent Mart. https://agentmart.dev/skills/robot-agent-exploration-autonomous-control (last updated 2026-10-24)