Awesome-omni-skill inference-smoke-tests
Run repeatable inference smoke tests using geppetto/pinocchio example binaries (single-pass, streaming, tool-loop, OpenAI Responses thinking) including tmux-driven TUI tests. Use when refactors touch InferenceState/Session/EngineBuilder, tool calling loop, event sinks, provider request formatting, or when you need a quick 'does inference still work?' checklist.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data-ai/inference-smoke-tests" ~/.claude/skills/diegosouzapw-awesome-omni-skill-inference-smoke-tests && rm -rf "$T"
skills/data-ai/inference-smoke-tests/SKILL.mdInference Smoke Tests
Quick Start (Recommended)
Run the fast suite (geppetto non-TUI + pinocchio agent TUI) via the bundled script:
bash geppetto/.codex/skills/inference-smoke-tests/scripts/run_smoke.sh --quick
If you need the full manual checklist, open:
geppetto/.codex/skills/inference-smoke-tests/references/playbook.md
Preconditions
- Ensure
is set (for OpenAI Chat + OpenAI Responses).OPENAI_API_KEY - Ensure Claude credentials are available (e.g.
) if you want the Claude tool-calling smoke step to pass.ANTHROPIC_API_KEY - Ensure
is installed (required for non-interactive TUI runs).tmux - Expect costs: these tests make real API calls.
Workflow Decision Tree
- Validate provider “thinking” streaming (Responses)?
- Run
ingeppetto/cmd/examples/openai-tools
.--mode thinking
- Validate tool loop orchestration?
- Run
.geppetto/cmd/examples/generic-tool-calling
- Validate Bubble Tea TUI event flow (thinking deltas + final)?
- Run
in tmux.pinocchio/cmd/agents/simple-chat-agent
- Validate Claude tool calling?
- Run
withgeppetto/cmd/examples/claude-tools
.--ai-api-type claude --ai-engine claude-haiku-4-5
- Validate multi-turn chat state persistence?
- Run pinocchio TUI chat in tmux (manual) and/or pinocchio webchat in browser (manual).
What “Benefits From InferenceState” (Rules of Thumb)
Already benefits (multi-turn, cancel-sensitive, tool-loop, strict provider validation):
- pinocchio TUI chat (
)pinocchio/cmd/pinocchio … --chat - pinocchio agent TUI (
)pinocchio/cmd/agents/simple-chat-agent … - pinocchio webchat (
)pinocchio/cmd/web-chat - geppetto example runners that execute via
geppetto/pkg/inference/core.Session
Could benefit (optional; mainly consistency/cancel):
(transport-focused; currentlypinocchio/cmd/examples/simple-redis-streaming-inference
direct)eng.RunInference
(exercises PinocchioCommand runner; could benefit indirectly if that runner standardizes onpinocchio/cmd/examples/simple-chat
)InferenceState
Does not apply (not an inference runner):
geppetto/cmd/examples/citations-event-stream
Troubleshooting (Common Failure Modes)
“OpenAI Responses 400” errors
- Re-run with higher logging:
- Add
where supported.--log-level debug --with-caller
- Add
- Confirm you’re using the correct provider mode:
--ai-api-type openai-responses
- If the error mentions invalid parameter support (e.g.,
unsupported), it’s model-dependent; reduce parameters and retry.temperature
TUI doesn’t submit the prompt
- Some TUIs submit on
(notTab
).Enter - Always capture logs to a file and confirm inference actually ran (look for
,EventPartialCompletionStart
).EventFinal
References
When you need copy/paste commands for the full sweep, read:
geppetto/.codex/skills/inference-smoke-tests/references/playbook.md
When you need to find new example entry points, search:
rg -n "cmd/examples" -S geppetto/cmd/examples pinocchio/cmd/examples rg -n "cmd/agents" -S pinocchio/cmd/agents