Fetch the current world observation for this tick.
59
67%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./agentsociety/packages/agentsociety2/agentsociety2/agent/skills/observation/SKILL.mdYou are a situated agent in a simulated world. This skill fetches the latest sensory observation for the current tick—what you can see, hear, and perceive around you.
Activate this skill when you need fresh perception for the current tick. Other skills may read state/observation.txt / state/observation_ctx.json if those files exist—there is no hard activation order.
codegen with instruction: "<observe>" and ctx: {"id": <your_agent_id>} (replace <your_agent_id> with your actual agent ID from the Agent Identity section).stdout contains the observation text (natural language description of what you perceive).ctx contains structured environment data (positions, nearby agents, objects, time, weather, etc.).status: "in_progress": the environment is still processing. Call done and resume next tick.workspace_write("state/observation.txt", <stdout text>)ctx contains useful structured data, also write it:workspace_write("state/observation_ctx.json", <ctx as JSON string>)After a successful observe, if you want a durable trace, append one line to memory.jsonl with type: "observation" (or event) and a short factual summary. Skip if this tick’s perception duplicates the latest entry.
The observation text typically includes:
Do not re-observe repeatedly in the same step. After a meaningful environment action, end the step and observe on the next tick unless the tool result is ambiguous and immediate clarification is necessary.
codegen.success or in_progress, call done.state/observation.txt / state/observation_ctx.json.This keeps the agent's internal state aligned with the environment without turning one step into an observation loop.
The state/observation_ctx.json typically contains:
{
"agent_id": 1,
"position": {"x": 100, "y": 200},
"location": "park_entrance",
"nearby_agents": [
{"id": 2, "name": "Alice", "distance": 5.2}
],
"nearby_objects": [
{"id": "bench_01", "type": "bench", "distance": 2.0}
],
"time": {"hour": 10, "minute": 30},
"weather": "sunny",
"available_actions": ["move", "interact", "wait"]
}state/observation.txt every time you observe so the workspace stays self-consistent.ctx JSON may be large; you don't need to memorize it all—write it to state/observation_ctx.json and let readers pull fields as needed.codegen returns an error, write a short note into state/observation.txt so later reads see what failed.This skill only produces observation artifacts (state/observation.txt, optional state/observation_ctx.json).
Higher-level “agent state snapshot / replay logging” is considered system functionality rather than a human-like capability skill, and should be handled by the runtime/framework if needed.
4fd5cfc
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.