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.
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. Use neatlogs-ts instead for TypeScript projects.
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.
The two 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, auto-instrumentation, and prompt templates for the TypeScript SDK |
Each skill bundles framework-specific reference material (OpenAI/Anthropic direct SDKs, LangChain/LangGraph, CrewAI, Mastra, the Vercel AI SDK, and more), so the agent picks the right pattern for whatever your project uses.
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.
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.