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.

16 stars

Best use case

inference-smoke-tests is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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.

Teams using inference-smoke-tests should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/inference-smoke-tests/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/data-ai/inference-smoke-tests/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/inference-smoke-tests/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How inference-smoke-tests Compares

Feature / Agentinference-smoke-testsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Inference Smoke Tests

## Quick Start (Recommended)

Run the fast suite (geppetto non-TUI + pinocchio agent TUI) via the bundled script:

```bash
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 `OPENAI_API_KEY` is set (for OpenAI Chat + OpenAI Responses).
- Ensure Claude credentials are available (e.g. `ANTHROPIC_API_KEY`) if you want the Claude tool-calling smoke step to pass.
- Ensure `tmux` is installed (required for non-interactive TUI runs).
- Expect costs: these tests make real API calls.

## Workflow Decision Tree

1) Validate provider “thinking” streaming (Responses)?
- Run `geppetto/cmd/examples/openai-tools` in `--mode thinking`.

2) Validate tool loop orchestration?
- Run `geppetto/cmd/examples/generic-tool-calling`.

3) Validate Bubble Tea TUI event flow (thinking deltas + final)?
- Run `pinocchio/cmd/agents/simple-chat-agent` in tmux.

4) Validate Claude tool calling?
- Run `geppetto/cmd/examples/claude-tools` with `--ai-api-type claude --ai-engine claude-haiku-4-5`.

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):
- `pinocchio/cmd/examples/simple-redis-streaming-inference` (transport-focused; currently `eng.RunInference` direct)
- `pinocchio/cmd/examples/simple-chat` (exercises PinocchioCommand runner; could benefit indirectly if that runner standardizes on `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 `--log-level debug --with-caller` where supported.
- Confirm you’re using the correct provider mode:
  - `--ai-api-type openai-responses`
- If the error mentions invalid parameter support (e.g., `temperature` unsupported), it’s model-dependent; reduce parameters and retry.

### TUI doesn’t submit the prompt
- Some TUIs submit on `Tab` (not `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:

```bash
rg -n "cmd/examples" -S geppetto/cmd/examples pinocchio/cmd/examples
rg -n "cmd/agents" -S pinocchio/cmd/agents
```

Related Skills

chromatin-state-inference

16
from diegosouzapw/awesome-omni-skill

This skill should be used when users need to infer chromatin states from histone modification ChIP-seq data using chromHMM. It provides workflows for chromatin state segmentation, model training, state annotation.

symfony:api-platform-tests

16
from diegosouzapw/awesome-omni-skill

Use when symfony api platform tests

Bruno Smoke Test Generator

16
from diegosouzapw/awesome-omni-skill

Automatically generates Bruno (API testing tool) test collections from OpenAPI specs for smoke testing APIs. Bruno is a lightweight, open-source API testing alternative to Postman with text-based coll

ai-llm-inference

16
from diegosouzapw/awesome-omni-skill

Operational patterns for LLM inference: latency budgeting, tail-latency control, caching, batching/scheduling, quantization/compression, parallelism, and reliable serving at scale. Emphasizes production-grade performance, cost control, and observability.

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

mcp-create-declarative-agent

16
from diegosouzapw/awesome-omni-skill

Skill converted from mcp-create-declarative-agent.prompt.md

MCP Architecture Expert

16
from diegosouzapw/awesome-omni-skill

Design and implement Model Context Protocol servers for standardized AI-to-data integration with resources, tools, prompts, and security best practices

mathem-shopping

16
from diegosouzapw/awesome-omni-skill

Automatiserar att logga in på Mathem.se, söka och lägga till varor från en lista eller recept, hantera ersättningar enligt policy och reservera leveranstid, men lämnar varukorgen redo för manuell checkout.

math-modeling

16
from diegosouzapw/awesome-omni-skill

本技能应在用户要求"数学建模"、"建模比赛"、"数模论文"、"数学建模竞赛"、"建模分析"、"建模求解"或提及数学建模相关任务时使用。适用于全国大学生数学建模竞赛(CUMCM)、美国大学生数学建模竞赛(MCM/ICM)等各类数学建模比赛。

matchms

16
from diegosouzapw/awesome-omni-skill

Mass spectrometry analysis. Process mzML/MGF/MSP, spectral similarity (cosine, modified cosine), metadata harmonization, compound ID, for metabolomics and MS data processing.

managing-traefik

16
from diegosouzapw/awesome-omni-skill

Manages Traefik reverse proxy for local development. Use when routing domains to local services, configuring CORS, checking service health, or debugging connectivity issues.

managing-skills

16
from diegosouzapw/awesome-omni-skill

Install, find, update, and manage agent skills. Use when the user wants to add a new skill, search for skills that do something, check if skills are up to date, or update existing skills. Triggers on: install skill, add skill, get skill, find skill, search skill, update skill, check skills, list skills.