# Debug Operator

> TRIGGER when operator errors appear or user reports broken behavior. Systematic diagnosis workflow. Use when this capability is needed.

- Skill: `tomevault-io/debug-operator` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/debug-operator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/debug-operator/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/debug-operator

---

<!-- Generated by Embody/Envoy - Do not remove this comment -->

# Debug Operator Workflow

Systematic approach to diagnosing TD operator errors:

1. **Get errors and warnings**: `get_op_errors` with `recurse=true` on the suspected operator and its children
2. **Inspect the operator**: `get_op` to see type, family, parameters, inputs, outputs, children
3. **Check connections**: `get_connections` to verify input/output wiring is correct
4. **Read DAT content**: `get_dat_content` if the operator is a DAT with script errors
5. **Check parameters**: `get_parameter` on specific parameters that might be misconfigured
6. **Check performance**: `get_op_performance` if the issue is cook-time related

## Common Error Patterns

- **Missing input**: Operator requires a specific input type — check connections
- **Script error in DAT**: Read the DAT content and fix the Python/expression
- **Parameter out of range**: Check parameter values against valid ranges
- **Missing operator reference**: An expression or parameter references a non-existent operator
- **Cook error**: The operator can't process its inputs — check input data types match expectations
- **Black or empty render**: Use `capture_top` on the intended output TOP, then check display/render flags on the output and upstream ops; missing light or camera (a 3D scene renders black without both); no cooking Null terminating the chain; a bypass flag left on; resolution is 0; alpha is premultiplied/zero so the image is present but invisible; and whether the op is cooking (check `cookedThisFrame` via `get_op_performance`, or force a cook). After each fix, use `capture_top` again to confirm the frame renders correctly.

---
> Source: [dylanroscover/Embody](https://github.com/dylanroscover/Embody) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-24 -->

