.codex/skills/inference-smoke-tests/SKILL.md
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.
npx skillsauth add go-go-golems/geppetto inference-smoke-testsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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
OPENAI_API_KEY is set (for OpenAI Chat + OpenAI Responses).ANTHROPIC_API_KEY) if you want the Claude tool-calling smoke step to pass.tmux is installed (required for non-interactive TUI runs).geppetto/cmd/examples/openai-tools in --mode thinking.geppetto/cmd/examples/generic-tool-calling.pinocchio/cmd/agents/simple-chat-agent in tmux.geppetto/cmd/examples/claude-tools with --ai-api-type claude --ai-engine claude-haiku-4-5.Already benefits (multi-turn, cancel-sensitive, tool-loop, strict provider validation):
pinocchio/cmd/pinocchio … --chat)pinocchio/cmd/agents/simple-chat-agent …)pinocchio/cmd/web-chat)geppetto/pkg/inference/core.SessionCould 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--log-level debug --with-caller where supported.--ai-api-type openai-responsestemperature unsupported), it’s model-dependent; reduce parameters and retry.Tab (not Enter).EventPartialCompletionStart, EventFinal).When you need copy/paste commands for the full sweep, read:
geppetto/.codex/skills/inference-smoke-tests/references/playbook.mdWhen 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
documentation
--- Title: {{TITLE}} Ticket: {{TICKET}} Status: draft Topics: {{TOPICS}} DocType: skill Intent: long-term Owners: {{OWNERS}} RelatedFiles: [] ExternalSources: [] Summary: > {{SUMMARY}} LastUpdated: {{DATE}} WhatFor: > <!-- 2–5 sentences: what outcome does this workflow enforce? --> WhenToUse: > <!-- Trigger conditions: "Use when ..." --> --- # {{TITLE}} ## Overview <!-- 2–5 sentences: why this skill matters and what it enforces --> ## When to Use <!-- concrete triggers + examples -->
development
# Guidelines: Skill Documents ## Purpose Skills are **disciplined workflows** written as documents (`DocType: skill`) that teach LLMs (and humans) *how to work*, not just what exists. A good skill turns “best practice” into a repeatable, enforceable process. Skills are meant to be discoverable via: - `docmgr skill list` (filter by topics, file/dir, ticket) - `docmgr skill show <query>` (load and apply a skill) ## Required Elements - **Frontmatter contract** - `DocType: skill` - `Title`: U
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------