tma1-ai/tma1/tma1-setup
Claude Code and agent skill by tma1-ai/tma1
- community
Checking that the SKILL.md file is still in the repository.
Install and configure TMA1 local observability (Claude Code, Codex, GitHub Copilot CLI, any OTel SDK). Use when the user says: install tma1, setup observability, monitor my agent, track token usage, set up telemetry.
Install
npx vskill@latest install tma1-ai/tma1/tma1-setupSKILL.md
TMA1 Setup
You are helping the user install and configure TMA1, a local-first LLM agent observability tool.
Step 1: Check if TMA1 is already running
If this returns {"status":"ok"}, TMA1 is already running. Skip to Step 4.
Step 2: Install TMA1
Download and install the tma1-server binary:
This installs the binary to ~/.tma1/bin/tma1-server (or %USERPROFILE%\.tma1\bin\tma1-server.exe on Windows).
Step 3: Start TMA1
On macOS/Linux the installer registers a service that auto-starts. On Windows the installer registers a Scheduled Task that auto-starts.
If TMA1 is not running, start it manually:
Wait for GreptimeDB to become healthy:
If it does not become healthy after 30 seconds, check the logs and report the error.
Step 4: Verify OTel endpoint
Confirm GreptimeDB is accepting OTLP data:
This should return {"status":"ok","greptimedb":"running",...}.
Step 5: Configure the agent
Tell the user to set the OTel exporter endpoint. The exact method depends on their agent:
Claude Code — merge into ~/.claude/settings.json (Windows: %USERPROFILE%\.claude\settings.json):
CRITICAL: You MUST read the existing `settings.json` first and MERGE — NEVER overwrite.- For"env": add/update only the keys shown below. Keep all existing env vars intact.- For"hooks": for each event type, append the TMA1 hook entry to the existing array. Do NOT replace the array or remove other hooks.- For all other top-level keys (permissions,mcpServers,enabledPlugins, etc.): do NOT touch them.Example merge for a hook event that already has entries:```json"PreToolUse": [{ "hooks": [{ "type": "command", "command": "existing-hook.sh" }] },{ "hooks": [{ "type": "command", "command": "~/.tma1/hooks/tma1-hook.sh", "timeout": 3 }] }]```
The following keys need to be present (add if missing, do not remove others):
Claude Code exports metrics, logs, and traces (enhanced telemetry). CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1 enables trace spans with TTFT, tool timing, and permission waits for the Traces tab and waterfall. The hooks use command hooks (via ~/.tma1/hooks/tma1-hook.sh, auto-installed by tma1-server on startup) for all 27 event types. On Windows, use %USERPROFILE%\.tma1\hooks\tma1-hook.ps1 instead.
Codex — add to ~/.codex/config.toml (Windows: %USERPROFILE%\.codex\config.toml):
Codex uses separate exporters for logs, traces, and metrics. Restart Codex after config changes.
GitHub Copilot CLI — zero config. TMA1 auto-discovers session logs at ~/.copilot/session-state/<sessionId>/events.jsonl. Nothing to configure; just run tma1-server and use Copilot CLI normally. Sessions, tool calls (with failure detection), subagent lifecycle, and skill invocations all show up in the Copilot CLI dashboard view and the unified Sessions view.
Other OTel-compatible agents (standard GenAI SDK) — typically export traces:
Step 6: Verify data flow
After the user runs at least one agent interaction with the endpoint configured:
If you see opentelemetry_logs, opentelemetry_traces, claude_code_*, codex_*, tma1_hook_events, or tma1_messages tables, data is flowing. For Copilot CLI specifically, check that tma1_hook_events has rows with agent_source = 'copilot_cli'.
Handoff
Tell the user:
Persistent processes — wrap with tma1 build --watch
For commands that run indefinitely until the user stops them (npm run dev, cargo watch, pytest --watch, hugo serve, docker compose up), wrap with tma1 build --watch:
For one-shot commands (make test, go test ./..., pytest, cargo build), don't bother — just use the Bash tool directly. You already get the full output inline in the tool result, and any failure is visible to you immediately.
Why tma1 build --watch is worth it for persistent processes
The Bash tool's run_in_background mode can keep a dev server alive, but its output is fragmented across BashOutput polls and disappears when the session ends. tma1 build --watch solves that:
- Persistence beyond your session — output is written to
tma1_build_events; the next agent session (or another agent / the human at the dashboard) reads it via the get_build_status MCP tool without needing to be attached to your original process.
- Time-debounced flush + signal forwarding — flushes buffered output
every 2s (override with --debounce) instead of waiting for a line threshold, and forwards SIGINT/SIGTERM so Ctrl-C cleanly stops the dev server.
- Anomaly detection —
tma1_build_eventsfeeds the
repeated_failed_build and build_broken_after_my_edit rules, which surface in the next <tma1-context> injection if the dev server starts emitting failures.
Run tma1 build --help for the full flag list.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingclaude-plugin/skills/tma1-setup/SKILL.md
Popularity
- Repository stars
- 85
- Repository forks
- 6
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 22 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/tma1-ai/tma1/tma1-setup)