Agent Skills
Teach your coding agent to instrument code with Neatlogs correctly.
Neatlogs publishes Agent Skills that give your coding agent — Claude Code, Cursor, Codex, Windsurf, and others — expert knowledge of the Neatlogs SDK. Once installed, the agent knows the correct @span / trace() patterns, when to use wrap() versus auto-instrumentation, how prompt-template tracking works, and the framework-specific helpers — so when you ask it to "add Neatlogs tracing to my OpenAI calls," it does it the right way instead of guessing.
Agent Skills teach Codex to instrument your application. To capture Codex's
own turns, tools, and subagents, use the separate @neatlogs/codex
integration.
Install
The recommended way works across every agent. Run it from your project folder (requires Node.js):
npx skills add neatlogs/skills --skill "neatlogs-py"The CLI auto-detects which agent you have installed and links the skill into its
skills directory. Choose neatlogs-ts for TypeScript, neatlogs-go for Go, or
neatlogs-ingest when the application uses another language and sends JSON or
OTLP directly.
For a global install (available in every project):
npx skills add neatlogs/skills --skill "neatlogs-py" -gTo target a specific agent explicitly:
npx skills add neatlogs/skills --skill "neatlogs-py" --agent "claude-code"
npx skills add neatlogs/skills --skill "neatlogs-py" --agent "cursor"No Node.js? Just ask your agent in chat: "Install the Neatlogs AI skill from github.com/neatlogs/skills" — it will clone the repo and link the skill itself.
Core skills
| Skill | Stack | Covers |
|---|---|---|
neatlogs-py | Python | Decorators, spans, prompt templates, and framework integrations for the Python SDK |
neatlogs-ts | TypeScript / Node.js | Span wrappers, explicit provider/framework helpers, and prompt templates for the TypeScript SDK |
neatlogs-go | Go | Gemini wrapping, custom spans, unsupported providers, and request identity for the Go SDK |
neatlogs-ingest | Other languages | Nested JSON ingest or OTLP/gRPC for applications without a Neatlogs SDK |
The repository also includes focused framework skills for OpenAI, LangChain, LangGraph, CrewAI, Mastra, the Vercel AI SDK, and more, so an agent can load only the guidance relevant to the detected stack.
Claude Code — native plugin install
Claude Code (CLI, desktop, and IDE extensions) can install this as a plugin instead.
Slash commands (CLI / desktop):
/plugin marketplace add neatlogs/skills
/plugin install neatlogs-py@neatlogsGUI (VS Code / JetBrains extension): open the Claude Code panel → Manage Plugins → Marketplaces → paste https://github.com/neatlogs/skills → Add, then switch to the Plugins tab and install neatlogs-py. Restart Claude Code when prompted.
Where the skill is installed
| Agent | Project-level | Global |
|---|---|---|
| Claude Code | .claude/skills/neatlogs-py/ | ~/.claude/skills/neatlogs-py/ |
| Cursor | .agents/skills/neatlogs-py/ | ~/.cursor/skills/neatlogs-py/ |
| Codex | .agents/skills/neatlogs-py/ | ~/.codex/skills/neatlogs-py/ |
| Windsurf | .windsurf/skills/neatlogs-py/ | ~/.codeium/windsurf/skills/neatlogs-py/ |
.agents/skills/ is the open-standard shared directory that Cursor, Codex, Windsurf, and several other agents all read from.
Verify it worked
Open your agent and ask any Neatlogs question:
"What's the difference between
@spanandtrace()in neatlogs?"
If the skill is active, the answer references Neatlogs-specific patterns — the @span(kind="...") decorator with kinds like WORKFLOW, AGENT, TOOL, and prompt-template tracking via trace(). If the answer is generic, the skill didn't load — restart your agent or check the install path above.
This verifies skill discovery only. It does not prove that an SDK exported a complete trace or that the backend persisted it.
Instrumentation and verification
The Wizard detects the project, downloads the needed Skill from the latest Skills release, applies the documented instrumentation, and runs the applicable project checks. Running Doctor is optional and is not a prerequisite for editing the project.
Afterward, exercise a real application path and verify its persisted trace. Local installation and build success alone do not prove end-to-end ingestion.
Update
# CLI users
npx skills update
# Manual clone users
cd ~/neatlogs-skills && git pullClaude Code plugin users can refresh from /plugin → Installed (CLI/desktop) or Manage Plugins → Marketplaces (IDE extension).
The wizard installs the right skill for your project automatically at the end of its run, so if you onboarded with npx @neatlogs/wizard you may already have it.
