Agent skill

Collectors Snmp Profiles

by netdata in netdata/netdata

Author or review Netdata SNMP polling profiles, ddsnmp parsing, topology/licensing/BGP rows and profile-format documentation.

GPL-3.0Auto-check passedFrontend & Design

Install Collectors Snmp Profiles

skills CLI
$ npx skills add netdata/netdata --skill collectors-snmp-profiles -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install netdata/netdata collectors-snmp-profiles --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/netdata/netdata.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/collectors-snmp-profiles .claude/skills/collectors-snmp-profiles && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
collectors-snmp-profiles
GitHub stars
81k
Token cost
~3.1k tokens
SKILL.md length
1,387 words
Files
1
Skills in repo
27
Repo updated
First seen
Licence
GPL-3.0

At a glance

Author or review Netdata SNMP polling profiles, ddsnmp parsing, topology/licensing/BGP rows and profile-format documentation.

  • Works in 12 steps: Identify the source MIB object for every… → Check the object's MAX-ACCESS (SMIv2) or… → If the object is not-accessible, do not… → …
  • Tasks that involve Accessibility
  • SKILL.md covers Select The Affected Contract, Required Checks, Device-Scoped MIB Deviations and Canonical Profile Syntax, plus 4 more sections
  • Calls go and rg

What it does

Collectors Snmp Profiles is an agent skill from netdata/netdata. Author or review Netdata SNMP polling profiles, ddsnmp parsing, topology/licensing/BGP rows and profile-format documentation. Check source MIB accessibility and row-index extraction for affected symbols. Trap profiles and topology payload design use their separate skills.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Accessibility. The repository describes itself as: The fastest path to AI-powered full stack observability, even for lean teams. The licence is GPL-3.0.

When your agent uses it

  • Tasks that involve Accessibility

Example prompts

  • “/collectors-snmp-profiles”

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. Identify the source MIB object for every profile field being added or changed.
  2. Check the object's MAX-ACCESS (SMIv2) or ACCESS (SMIv1).
  3. If the object is not-accessible, do not configure it as a readable symbol.OID unless it satisfies every
  4. If a not-accessible object appears in the table INDEX, derive it from the row OID index using index or index_transform.
  5. Keep index extraction and value formatting separate
  6. Put SNMP topology rows under top-level topology: with a required closed
  7. Do not use chart/export-only value fields on topology row anchor symbols
  8. Keep regular systemUptime rows under metrics:. Do not model uptime as a
  9. Put SNMP licensing rows under top-level licensing:. Do not model licensing
  10. Licensing row value symbols may use format and exact mapping, but must
  11. For scalar licensing rows that combine multiple scalar signal OIDs into one
  12. Put SNMP BGP rows under top-level bgp:. Do not model BGP telemetry as

What it can do on your machine

Read from SKILL.md and the folder at commit a7f3cf9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go
    • rg

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Collectors Snmp Profiles loads about 3.1k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 1,387 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from netdata/netdata at commit a7f3cf9, republished under its GPL-3.0 licence (© netdata). 1,387 words, ~3,076 tokens.

Download SKILL.mdSave it as .claude/skills/collectors-snmp-profiles/SKILL.md (or your agent's skills folder).
name
collectors-snmp-profiles
description
Author or review Netdata SNMP polling profiles, ddsnmp parsing, topology/licensing/BGP rows and profile-format documentation. Check source MIB accessibility and row-index extraction for affected symbols. Trap profiles and topology payload design use their separate skills.

SNMP Profile Authoring

Use this skill when authoring or reviewing the profile contracts in:

  • src/go/plugin/go.d/config/go.d/snmp.profiles/
  • src/go/plugin/go.d/collector/snmp/ddsnmp/
  • src/go/plugin/go.d/collector/snmp/profile-format.md
  • src/go/plugin/go.d/collector/snmp_topology/

Boundary: this skill owns the profile topology: rows, which OIDs feed the SNMP topology producer and how they are extracted. What the producer emits from those observations (actors, links, evidence, modals) is the payload contract in src/plugins.d/FUNCTION_TOPOLOGY_DEVELOPER_GUIDE.md; the developer workflow for changing it is .agents/skills/topology-authoring/SKILL.md.

Select The Affected Contract

Apply AGENTS.md#skill-selection. Review uses the checks below and existing source/validation evidence; it does not create an implementation SOW or require a live device capture. Live access remains within the task's authorization. Verify every added or changed acquisition symbol against its source MIB. A prose-only change does not require a new MIB audit of untouched symbols; parser changes still need the relevant input and consumer contracts.

Affected behaviorRead/check
Acquired OIDs, index extraction or a device deviationRequired Checks, Device-Scoped MIB Deviations and Index Rules below; src/go/plugin/go.d/collector/snmp/profile-format.md#field-accessibility
Profile syntax, inheritance or parser behaviorCanonical Profile Syntax, full profile-format owner and parser/consumer tests
Topology, licensing or BGP rowsTheir Required Checks and Audit Recipe items; follow the typed producer/consumer paths
Emitted topology payloadtopology-authoring; this skill still covers affected profile acquisition
Received trap profiles or trap logscollectors-snmp-trap-profiles or query-snmp-traps

Required Checks

  1. Identify the source MIB object for every profile field being added or changed.
  2. Check the object's MAX-ACCESS (SMIv2) or ACCESS (SMIv1).
  3. If the object is not-accessible, do not configure it as a readable symbol.OID unless it satisfies every device-scoped MIB-deviation requirement below.
  4. If a not-accessible object appears in the table INDEX, derive it from the row OID index using index or index_transform.
  5. Keep index extraction and value formatting separate:
    • use index for one index component;
    • use index_transform for multiple components;
    • use symbol.format only for final formatting such as ip_address, mac_address, or hex.
  6. Put SNMP topology rows under top-level topology: with a required closed kind. Do not mark topology rows by naming metrics _topology_*.
  7. Do not use chart/export-only value fields on topology row anchor symbols: chart_meta, metric_type, mapping, transform, scale_factor, or format.
  8. Keep regular systemUptime rows under metrics:. Do not model uptime as a topology row kind; topology-specific uptime acquisition belongs in collector code, not profile topology schema.
  9. Put SNMP licensing rows under top-level licensing:. Do not model licensing telemetry as underscore-prefixed hidden metrics or _license_* tag protocols.
  10. Licensing row value symbols may use format and exact mapping, but must not use chart/export fields, transforms, scale factors, or underscore-prefixed generated names.
  11. For scalar licensing rows that combine multiple scalar signal OIDs into one license row, declare an explicit stable id:. For table licensing rows, keep every effective OID source (symbol.OID, from, or legacy OID) inside the same table OID and derive not-accessible INDEX values from the row index.
  12. Put SNMP BGP rows under top-level bgp:. Do not model BGP telemetry as vendor-specific raw metrics, virtual_metrics, or underscore-prefixed tag protocols when adding or migrating BGP coverage.
  13. BGP peer-state mappings must use the six RFC 4271 canonical states (idle, connect, active, opensent, openconfirm, established). Use partial: true plus partial_states only when the source MIB is intentionally partial.
  14. For BGP table rows, derive not-accessible INDEX objects with exactly one row-index selector: index, index_from_end, or index_transform. Use index_from_end for trailing AFI/SAFI-like components after variable-length indexes such as InetAddress.
  15. To constrain a topology table to a fixed structural index prefix, use one readable anchor symbol and set table.OID to <anchor-column>.<prefix>. A simple same-index cross-table dependency inherits that prefix and is anchor-gated only when its target table has no symbol-bearing producer. A target route with a real symbol owner remains eager. Do not rely on propagation for ordinary metrics, multiple anchors, lookup_symbol, index_transform, or conflicting dependency scopes.

Device-Scoped MIB Deviations

A vendor profile MAY poll an object that the source MIB marks not-accessible only when all of these requirements hold:

  • Scope: The polling row is declared in a selector-matched device or topology-role profile. A generic standards profile MUST NOT carry the deviation.
  • Proof: A checked repository fixture or repeatable live capture proves that the matched device returns the object as a readable column and omits the standards-readable anchor needed to obtain the row otherwise.
  • Isolation: The device row overrides the generic row identity instead of adding a second generic fallback or a second topology kind.
  • Documentation: A short profile comment explains the vendor deviation and why index-only decoding cannot be used.
  • Regression: Tests pin both the selector-scoped override and real fixture collection through the profile parser and consumer path.

Do not generalize a device deviation to related models or vendors without equivalent evidence.

Canonical Profile Syntax

Stock profiles MUST use symbol objects for OID/name pairs, including metric tags and typed licensing/BGP values. Put metric type overrides on each affected symbol or symbols entry instead of the deprecated row-level metric_type. Legacy custom profile aliases remain supported; typed OID precedence is symbol.OID, then from, then legacy OID. Collection, boundary validation and inheritance identity use that same source. Prefer one OID source form per value. Metric and topology column rows require table.OID; table.name is optional for those rows. The retired constant_value_one key is ignored. Ordinary metric symbols still require OIDs; do not use the key to generate or suppress metrics.

Show full SKILL.md (515 more words)Show less

Index Rules

  • index is 1-based.
  • index_transform.start and index_transform.end are 0-based and inclusive.
  • index_transform: [{start: N}] keeps index component N through the last component when N > 0.
  • index_transform: [{start: 0, end: 0}] keeps only the first index component.
  • drop_right can be used when the right side has fixed trailing components.

Common Patterns

Q-BRIDGE learned FDB MAC:

yaml
- tag: dot1q_fdb_mac
  symbol:
    format: mac_address
  index_transform:
    - start: 1

IP-MIB ipNetToPhysicalTable address:

yaml
- tag: arp_ip
  symbol:
    format: ip_address
  index_transform:
    - start: 3

The start: 3 skips ifIndex, address type, and the InetAddress length byte.

IP-MIB ipAddressTable IPv4 address:

yaml
table:
  OID: 1.3.6.1.2.1.4.34.1.3.1.4
  name: ipAddressTableIPv4
symbols:
  - OID: 1.3.6.1.2.1.4.34.1.3
    name: ip_if_index
metric_tags:
  - tag: topo_ip_addr
    symbol:
      name: ipAddressAddr
    index_transform:
      - start: 2

The table root anchors on readable ipAddressIfIndex and appends index prefix 1.4 for IPv4 type and its required four-octet length. The address is the not-accessible ipAddressAddr index component; start: 2 skips address type and length. The open-ended slice is intentional: a fixed end would hide malformed trailing components instead of letting the strict consumer reject the row. Keep the transformed components raw and require the topology consumer to decode exactly four decimal octets in 0..255; structural walk scope alone does not validate the remaining instance suffix. A malformed descendant can activate dependency walks, but it MUST NOT emit topology.

LLDP-MIB local management address:

yaml
- tag: lldp_loc_mgmt_addr
  symbol:
    name: lldpLocManAddr
    format: hex
  index_transform:
    - start: 2

The start: 2 skips management-address subtype and length. Use hex, not ip_address, because LLDP management addresses can carry non-IP subtypes; the topology runtime normalizes IP-compatible bytes later.

Audit Recipe

When a profile reads a table column, verify that the MIB object is readable:

bash
rg -n -C 4 'OBJECT-TYPE|MAX-ACCESS[[:space:]]+not-accessible|ACCESS[[:space:]]+not-accessible' path/to/MIB

For known topology-sensitive symbols, scan profile YAMLs before committing:

bash
rg -n 'name:[[:space:]]*(dot1qTpFdbAddress|ipAddressAddr|ipNetToPhysicalIfIndex|ipNetToPhysicalNetAddressType|ipNetToPhysicalNetAddress|lldpLocManAddrSubtype|lldpLocManAddr|lldpRemManAddrSubtype|lldpRemManAddr)\b' src/go/plugin/go.d/config/go.d/snmp.profiles

Any hit must be reviewed. It is valid only when the tag is index-derived without a symbol.OID, or when it satisfies every device-scoped MIB-deviation requirement above.

When adding a new topology kind, update all three parts together:

  • profile YAML using topology: - kind: <kind>;
  • the Go TopologyKind enum and validation;
  • the topology cache handler registry and tests.

Verify that topology rows are delivered through ProfileMetrics.TopologyMetrics, not through underscore-prefixed HiddenMetrics.

When adding or migrating licensing profile coverage, update all related parts together:

  • profile YAML using licensing:;
  • the closed licensing signal/state/sentinel enums and validation when adding new policy names;
  • typed ProfileMetrics.LicenseRows producer/consumer tests;
  • MIB evidence for every OID and every not-accessible index-derived field.

Verify that licensing rows are delivered through ProfileMetrics.LicenseRows, not through underscore-prefixed HiddenMetrics.

When adding or migrating BGP profile coverage, update all related parts together:

  • profile YAML using bgp:;
  • closed BGP row kind, peer-state, AFI/SAFI, and typed field validation when adding new policy names or value domains;
  • typed ProfileMetrics.BGPRows producer/consumer tests;
  • MIB evidence for every OID and every not-accessible index-derived field;
  • SNMP integration metadata and generated docs when public BGP capability claims change.

Verify that BGP rows are delivered through ProfileMetrics.BGPRows, not through metrics:, virtual_metrics:, or underscore-prefixed hidden metrics.

When adding or refactoring SNMP profile, parser, or topology tests, prefer table-driven cases using map[string]struct{} keyed by test-case name when the cases share setup and assertion shape. Use separate test functions only for materially different setup or assertions.

Validation

Select the suites for the affected behavior and its consumers. Existing relevant results count as review evidence; run local checks when needed to verify a claim, without treating review as a request to change profiles. From src/go:

bash
# Profile schema, parsing and validation
go test ./plugin/go.d/collector/snmp/ddsnmp/ddprofiledefinition
# Acquisition, index decoding and typed row delivery
go test ./plugin/go.d/collector/snmp/ddsnmp/ddsnmpcollector
# Topology consumption of profile observations
go test ./plugin/go.d/collector/snmp_topology

See src/go/plugin/go.d/collector/snmp/profile-format.md for the full profile syntax and the "Field accessibility" section.

© netdata, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/collectors-snmp-profiles of netdata/netdata.

Open the folder on GitHubat commit a7f3cf9

Compare with similar skills

Collectors Snmp Profiles next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Collectors Snmp Profiles compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Collectors Snmp Profiles this skillnetdata/netdata81k—~3.1kAutomated safety check: PassGPL-3.0
Msp Website SetupRTFM-IT-Services-LLC/msp-claude-skills115—~3.6kAutomated safety check: NotesCustom licence
Kb CI IntegrationCommunity-Access/accessibility-agents423—~1.3kAutomated safety check: PassMIT
Security DashboardCommunity-Access/accessibility-agents423—~943Automated safety check: PassMIT
Vitemagnus919/agent-skills116—~1.5kAutomated safety check: NotesMIT
Web Interface Guidelines Reviewervercel-labs/openreview1.7k97 repos~308Automated safety check: PassNone

Similar skills

  • Msp Website Setup

    RTFM-IT-Services-LLC/msp-claude-skills

    Your MSP's standard process for setting up a new static client website hosted on your static hosting platform with a git-based dev/prod CI/CD pipeline, plus the client-practice rules around it.

    115 GitHub stars~3.6k tokensUpdated 6 days ago
    Frontend & DesignAuto-check: notes
  • Kb CI Integration

    Community-Access/accessibility-agents

    Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.

    423 GitHub stars~1.3k tokensUpdated 15 days ago
    Frontend & DesignAuto-check passed
  • Security Dashboard

    Community-Access/accessibility-agents

    Triage Dependabot, code scanning and secret scanning alerts.

    423 GitHub stars~943 tokensUpdated 15 days ago
    Frontend & DesignAuto-check passed
  • Vite

    magnus919/agent-skills

    Operate Vite projects: inspect versions and configuration, run bounded development and production builds, diagnose dependency and asset failures, and configure environment-aware frontend delivery.

    116 GitHub stars~1.5k tokensUpdated today
    Frontend & DesignAuto-check: notes
  • Web Interface Guidelines Reviewer

    vercel-labs/openreview

    Official

    Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my…

    1.7k GitHub starsUsed in 97 repos~308 tokens
    Frontend & DesignAuto-check passed
  • Accessibility Review

    markmead/hyperui

    Run a WCAG 2.1 AA accessibility audit on a design or page. An agent skill from markmead/hyperui.

    12k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed

More from netdata/netdata

All 27 skills in this repo
  • Docs Learn PR Preview

    netdata/netdata

    Use only when the user explicitly asks to build, run, preview, inspect, or validate learn.netdata.cloud locally using the contents of a PR or documentation branch before merge.

    81k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Repo Mirror Sources

    netdata/netdata

    Inspect Netdata-org source checkouts under NETDATAREPOSDIR, or set up and synchronize that mirror when requested.

    81k GitHub stars~1.2k tokensUpdated today
    Auto-check: notes
  • Triage Agent Events

    netdata/netdata

    Investigate Netdata crashes, panics and fatals from agent-events captures or authorized fleet queries.

    81k GitHub stars~2.4k tokensUpdated today
    Auto-check: notes
  • Triage Codacy

    netdata/netdata

    Inspect, analyze, troubleshoot, or review Codacy findings and local analyzer/API helpers.

    81k GitHub stars~2.2k tokensUpdated today
    Auto-check: notes
  • Triage Coverity

    netdata/netdata

    Inspect or review Coverity Scan defects and saved CID bundles; fetch live findings or apply verified triage decisions when requested.

    81k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Triage Sonarqube

    netdata/netdata

    Inspect, review, or apply authorized triage decisions to SonarCloud issues and security hotspots; also review the Sonar helpers.

    81k GitHub stars~2.8k tokensUpdated today
    Auto-check: notes

Questions about Collectors Snmp Profiles

What does Collectors Snmp Profiles do?

Author or review Netdata SNMP polling profiles, ddsnmp parsing, topology/licensing/BGP rows and profile-format documentation. Collectors Snmp Profiles is an agent skill from netdata/netdata. Author or review Netdata SNMP polling profiles, ddsnmp parsing, topology/licensing/BGP rows and profile-format documentation.

When should I use Collectors Snmp Profiles?

Collectors Snmp Profiles fits situations like: tasks that involve Accessibility.

How do I install Collectors Snmp Profiles in Claude Code?

Run `npx skills add netdata/netdata --skill collectors-snmp-profiles -a claude-code`. Or copy the skill folder (.agents/skills/collectors-snmp-profiles in netdata/netdata) into .claude/skills/collectors-snmp-profiles in your project. Claude Code loads it when a task matches its description.

How do I install Collectors Snmp Profiles in Codex?

Run `npx skills add netdata/netdata --skill collectors-snmp-profiles -a codex`. Or copy the skill folder (.agents/skills/collectors-snmp-profiles in netdata/netdata) into .agents/skills/collectors-snmp-profiles in your project. Codex loads it when a task matches its description.

Can I use Collectors Snmp Profiles in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add netdata/netdata --skill collectors-snmp-profiles -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/collectors-snmp-profiles, .gemini/skills/collectors-snmp-profiles, .github/skills/collectors-snmp-profiles and .opencode/skills/collectors-snmp-profiles in your project.

What does Collectors Snmp Profiles need to run?

Going by SKILL.md and its folder, Collectors Snmp Profiles needs the command-line tools its instructions call (go and rg).

Does Collectors Snmp Profiles access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Collectors Snmp Profiles safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Collectors Snmp Profiles use?

Collectors Snmp Profiles is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Collectors Snmp Profiles use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Collectors Snmp Profiles?

Skills that share tags, products or a category with Collectors Snmp Profiles: Msp Website Setup (RTFM-IT-Services-LLC/msp-claude-skills, 115 stars), Kb CI Integration (Community-Access/accessibility-agents, 423 stars), Security Dashboard (Community-Access/accessibility-agents, 423 stars) and Vite (magnus919/agent-skills, 116 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Collectors Snmp Profiles?

netdata (a GitHub organization) maintains it in netdata/netdata, which has 80,853 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 9, 2026.

Source: netdata/netdata on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.