Install the "collectors-snmp-profiles" agent skill from https://github.com/netdata/netdata/tree/master/.agents/skills/collectors-snmp-profiles into .claude/skills/collectors-snmp-profiles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "collectors-snmp-profiles", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add netdata/netdata --skill collectors-snmp-profiles -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "collectors-snmp-profiles" agent skill from https://github.com/netdata/netdata/tree/master/.agents/skills/collectors-snmp-profiles into .agents/skills/collectors-snmp-profiles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "collectors-snmp-profiles", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add netdata/netdata --skill collectors-snmp-profiles -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "collectors-snmp-profiles" agent skill from https://github.com/netdata/netdata/tree/master/.agents/skills/collectors-snmp-profiles into .cursor/skills/collectors-snmp-profiles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "collectors-snmp-profiles", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add netdata/netdata --skill collectors-snmp-profiles -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "collectors-snmp-profiles" agent skill from https://github.com/netdata/netdata/tree/master/.agents/skills/collectors-snmp-profiles into .gemini/skills/collectors-snmp-profiles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "collectors-snmp-profiles", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add netdata/netdata --skill collectors-snmp-profiles -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "collectors-snmp-profiles" agent skill from https://github.com/netdata/netdata/tree/master/.agents/skills/collectors-snmp-profiles into .github/skills/collectors-snmp-profiles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "collectors-snmp-profiles", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add netdata/netdata --skill collectors-snmp-profiles -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "collectors-snmp-profiles" agent skill from https://github.com/netdata/netdata/tree/master/.agents/skills/collectors-snmp-profiles into .opencode/skills/collectors-snmp-profiles/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "collectors-snmp-profiles", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
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.
1Identify the source MIB object for every profile field being added or changed.
2Check the object's MAX-ACCESS (SMIv2) or ACCESS (SMIv1).
3If the object is not-accessible, do not configure it as a readable symbol.OID unless it satisfies every
4If a not-accessible object appears in the table INDEX, derive it from the row OID index using index or index_transform.
5Keep index extraction and value formatting separate
6Put SNMP topology rows under top-level topology: with a required closed
7Do not use chart/export-only value fields on topology row anchor symbols
8Keep regular systemUptime rows under metrics:. Do not model uptime as a
9Put SNMP licensing rows under top-level licensing:. Do not model licensing
10Licensing row value symbols may use format and exact mapping, but must
11For scalar licensing rows that combine multiple scalar signal OIDs into one
12Put 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.
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:
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 behavior
Read/check
Acquired OIDs, index extraction or a device deviation
Required 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 behavior
Canonical Profile Syntax, full profile-format owner and parser/consumer tests
Topology, licensing or BGP rows
Their Required Checks and Audit Recipe items; follow the typed producer/consumer paths
Emitted topology payload
topology-authoring; this skill still covers affected profile acquisition
Received trap profiles or trap logs
collectors-snmp-trap-profiles or query-snmp-traps
Required Checks
Identify the source MIB object for every profile field being added or changed.
Check the object's MAX-ACCESS (SMIv2) or ACCESS (SMIv1).
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.
If a not-accessible object appears in the table INDEX, derive it from the row OID index using index or index_transform.
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.
Put SNMP topology rows under top-level topology: with a required closed
kind. Do not mark topology rows by naming metrics _topology_*.
Do not use chart/export-only value fields on topology row anchor symbols:
chart_meta, metric_type, mapping, transform, scale_factor,
or format.
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.
Put SNMP licensing rows under top-level licensing:. Do not model licensing
telemetry as underscore-prefixed hidden metrics or _license_* tag
protocols.
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.
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.
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.
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.
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.
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.
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.
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:
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;
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.
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
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Collectors Snmp Profiles this skillnetdata/netdata
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.
Operate Vite projects: inspect versions and configuration, run bounded development and production builds, diagnose dependency and asset failures, and configure environment-aware frontend delivery.
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my…
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.
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.