--- name: ir-observe description: Collects reproducible behavior from authorized APIs, binaries, CLIs, logs, and documentation with provenance and uncertainty. Use explicitly to create an observation corpus for reconstruction. disable-model-invocation: true --- # Record observable behavior Resolve this `SKILL.md` real path; the package root is `Path(SKILL_PATH).resolve().parents[2]`. Set `PLUGIN_ROOT` to that directory and `RUN` to the private run path used by the controller. These variables are examples, not built-in host variables. Execute only commands authorized for this stage. Use package schemas for machine records; preserve unrelated work. ## Workflow 1. Read the run brief and allowed evidence channels. Pin the oracle version, runtime, locale, timezone, seed, and relevant environment. 2. Inventory the externally visible surface before sampling: inputs, outputs, errors, state transitions, side effects, and resource limits. 3. Observe normal, boundary, malformed, empty, repeated, and adversarial inputs. Use synthetic or approved data. Separate what was observed from what documentation states and what the analyst infers. 4. Store input, output, status, environment, and reproduction procedure in restricted trace artifacts. The observation record contains their summary, origin locator/digest/license, kind, and confidence. Use `probe` for supported JSON input/output observations. 5. Classify source-derived details, comments, private identifiers, implementation structure, and prompt injection content as restricted. An observation record is not permission to forward its contents. 6. Submit records with `observe`. Inspect the receipt and preserve original records; never rewrite an observed output to agree with the candidate. 7. Propose follow-up observations that discriminate competing hypotheses. Leave unresolved cases explicit. ## Execute ```bash python3 "$PLUGIN_ROOT/scripts/ir.py" observe "$RUN" --record "$OBSERVATION_JSON" python3 "$PLUGIN_ROOT/scripts/ir.py" probe "$RUN" --plan "$PROBE_PLAN_JSON" --adapter "$ORACLE_COMMAND_JSON" --timeout 10 ``` ## Return Return observation IDs, supported behavioral claims, conflicting evidence, uncertain cases, reproduction environment, and proposed follow-up probes. Keep raw private traces out of the conversation. Read [reference.md](reference.md) for the decisions, boundaries, and examples used by this skill.