Ottto — AI skill for Claude Code
Local-first observability for AI coding agents - see what Claude Code, Codex & other agents cost and do.
How to install Ottto
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open ottto-ai/ottto and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Ottto does
Local-first observability for AI coding agents - see what Claude Code, Codex & other agents cost and do.
Alternatives in AI
- Codeburn — Free, local tool to track AI coding token usage and cost across 37 tools and agents (Claude Code, Cursor, Code 9.7k ★
- Manifest — Real-time cost observability for OpenClaw agents — track tokens, costs, messages, and model usage 4.1k ★
- Token Monitor — Local-first desktop widget for tracking token usage, costs, and limits across 32+ AI coding tools—including Cl 1.8k ★
README
Ottto Local Platform
This is the clean-slate local runtime for customer machines. It is the target production path for the daemon, CLI, macOS app, agent skill, and `/apps` integration. The retired Python companion implementation has been removed from the production repository path.
Public V1 Promise
The public `ottto` repository is intended to be enough for an external developer, support engineer, CI job, or coding agent to install, set up, verify, repair, diagnose, update, and uninstall Ottto without private repository knowledge.
Stable releases are distributed through the install owners advertised by the release manifest:
- Homebrew tap: installs
ottto, installsottto-service, and ownsbrew services start ottto. - Hosted native installer: downloads and verifies a signed, notarized DMG or PKG without installing mutable shell-managed payloads.
- GitHub Releases and release notes: publish immutable manifest-backed artifacts, checksums, SBOM/provenance metadata, and rollback instructions.
- Signed
Ottto.app: provides the native app path while staying aligned with the sameottto-serviceruntime and release manifest.
`net.ottto.service` is a single-owner user LaunchAgent. A normal install, launch, upgrade, or restart may repair only the LaunchAgent it already owns: Homebrew through `brew services`, the native app through its bundled helper, and the hosted installer through its installed helper. Replacing a different owner requires an explicit migration command; ordinary app launch must use a Homebrew-owned service without rewriting it, and ordinary Homebrew service start must not silently take over an app-bundle-owned job.
Final public-v1 closeout verifies that the public repository resolves as `ottto-ai/ottto`, uses `main` as its default branch, and has that public `main` branch head bound to the launch runtime commit. It also verifies that the exact stable GitHub Release is non-draft, non-prerelease, has `targetCommitish` bound to either
Related Skills
Tokenmonitor
See what your AI coding tools actually use and cost — token usage & estimated spend for Claude Code, Codex CLI
Core
Agentic AI monitoring and observability — OTEL traces and local log files from Copilot, Claude Code, Codex, an
Agentlens
Agentic AI monitoring and observability — OTEL traces and local log files from Copilot, Claude Code, Codex, an
ThinkWatch Lite
Menu-bar app for a local AI API gateway. See what Claude Code, Codex and other OpenAI/Anthropic clients cost,
TokenTracker
Local-first AI token usage & cost tracker for 31 coding tools incl. Claude Code, Codex, Cursor, Gemini & DeepS
Observer
Local-first control plane for AI coding agents — launch browser terminals, run and remotely control sessions,
Related Agents
Aux Delegator
Invokes external CLI coding agents (Codex, OpenCode, Claude -p, ACP). Use whenever a task should be offloaded
Claude Context Local
Code search MCP for Claude Code. Make entire codebase the context for any coding agent. Embeddings are created
Kimi Worker
Forward a coding, diagnosis, or review task to Kimi K3 (Moonshot) through the local kimi-worker.sh runtime. Us