mcpField
N
netra-best-practices

netra-best-practices

github.com/keyvaluesoftwaresystemsDevelopment0115 installsUpdated 13w ago
Repository

About netra-best-practices

Netra Best Practices is a skill guide for developers integrating, operating, and improving AI systems with Netra. It directs users to language-specific references and documents package-manager detection and API safeguards.

Key features

  1. 01Detect Python or TypeScript/JavaScript
  2. 02Choose package manager from project files
  3. 03Load use-case-specific references
  4. 04Avoid mixing language conventions
  5. 05Fetch documentation when guidance is missing

Use cases

  1. 01Setting up netra-sdk in a project
  2. 02Instrumenting an LLM application
  3. 03Running evaluations or simulations
  4. 04Checking language-specific Netra API patterns

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/keyvaluesoftwaresystems/netra-skills --skill netra-best-practices

After installing, type/netra-best-practicesin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/python/
custom-metrics.md
evaluation.md
instrumentation.md
simulation.md
references/typescript/
custom-metrics.md
evaluation.md
instrumentation.md
simulation.md

Details

From the project README

Netra Best Practices

Use this skill as the end-to-end guide for integrating, operating, and improving AI systems with Netra.

Step 1 — Detect Project Language

Before doing anything else, determine whether the project is Python or TypeScript/JavaScript. Check the project root in this order:

Signal fileLanguage
pyproject.toml, setup.py, requirements.txt, PipfilePython
package.json, tsconfig.json, bun.lockbTypeScript / JavaScript

If both are present (monorepo), ask the user which sub-project they are working on. If neither is found, ask the user.

From this point forward, use ONLY the references for the detected language. Never mix Python and TypeScript patterns.

Step 2 — Installation

Detect the package manager before installing netra-sdk. Check in priority order:

PrioritySignal fileCommand
1uv.lockuv add netra-sdk
2poetry.lockpoetry add netra-sdk
3pyproject.toml (no lock file above)pip install netra-sdk
4requirements.txt (no Python indicators above)pip install netra-sdk
5yarn.lockyarn add netra-sdk
6pnpm-lock.yamlpnpm add netra-sdk
7package-lock.jsonnpm install netra-sdk
8bun.lockbbun add netra-sdk
9None foundAsk the user before proceeding

Do NOT run multiple install commands or install globally.

Step 3 — Load the Right References

Based on the detected language and the user's use case, read the appropriate reference files:

Python references (under references/python/)
Use caseReference file
Instrumenting an LLM applicationpython/instrumentation.md
Running evaluations / test suitespython/evaluation.md
Running multi-turn simulationspython/simulation.md
Custom metrics (counters, histograms, gauges)python/custom-metrics.md
TypeScript references (under references/typescript/)
Use caseReference file
Instrumenting an LLM applicationtypescript/instrumentation.md
Running evaluations / test suitestypescript/evaluation.md
Running multi-turn simulationstypescript/simulation.md
Custom metrics (Currently not supported for TS)typescript/custom-metrics.md

Step 4 — Anti-Hallucination Rules

Follow these rules strictly when generating Netra code:

  1. NEVER use enum values not listed in the Netra's official documentation. Do not guess.

  2. NEVER mix Python and TypeScript conventions. Specifically:

    • Python uses snake_case parameters (as_type, module_name, app_name)
    • TypeScript uses camelCase parameters (asType, moduleName, appName)
    • Python instrument sets: {InstrumentSet.OPENAI} (plain set literal)
    • TypeScript instrument sets: new Set([NetraInstruments.OPENAI]) (Set constructor)
  3. Respect lifecycle differences:

    • Python: Netra.init(...) is synchronous
    • TypeScript: await Netra.init(...) is asynchronous — always await it
    • Python: with Netra.start_span(...) as span: auto-closes
    • TypeScript: span.end() must be called manually in finally
  4. When unsure about an API, follow the doc-fetching protocol below rather than guessing.

Step 5 — Doc-Fetching Fallback

If a use case is not covered by the reference files:

  1. Fetch the documentation index: https://docs.getnetra.ai/llms.txt
  2. Identify the relevant documentation page from the index.
  3. Fetch that page for the detailed guide.

Feedback

If the user is unhappy with the results, ask them to open an issue at https://github.com/KeyValueSoftwareSystems/netra-skills/issues/new.

Comments

Markdown supported