Plane
jeremylongshore/tons-of-skills-marketplace
Plane is a team behavior observatory — synthesize Plane API data into observations about how teams actually behave under pressure, not just ticket state.
Live BGP and OSPF control-plane participation — NetClaw itself acts as a protocol speaker: peer with real routers, inject/withdraw routes, query its own RIB/LSDB, adjust metrics, GRE tunnel status.
$ npx skills add automateyournetwork/netclaw --skill protocol-participation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install automateyournetwork/netclaw protocol-participation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/automateyournetwork/netclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/workspace/skills/protocol-participation .claude/skills/protocol-participation && rm -rf skills-srcUse ~/.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/
Install the "protocol-participation" agent skill from https://github.com/automateyournetwork/netclaw/tree/main/workspace/skills/protocol-participation into .claude/skills/protocol-participation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "protocol-participation", 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.
$skill-installer install https://github.com/automateyournetwork/netclaw/tree/main/workspace/skills/protocol-participationType 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.
$ npx skills add automateyournetwork/netclaw --skill protocol-participation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install automateyournetwork/netclaw protocol-participation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/automateyournetwork/netclaw.git skills-src && mkdir -p .agents/skills && cp -r skills-src/workspace/skills/protocol-participation .agents/skills/protocol-participation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "protocol-participation" agent skill from https://github.com/automateyournetwork/netclaw/tree/main/workspace/skills/protocol-participation into .agents/skills/protocol-participation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "protocol-participation", 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.
$ npx skills add automateyournetwork/netclaw --skill protocol-participation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install automateyournetwork/netclaw protocol-participation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/automateyournetwork/netclaw.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/workspace/skills/protocol-participation .cursor/skills/protocol-participation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "protocol-participation" agent skill from https://github.com/automateyournetwork/netclaw/tree/main/workspace/skills/protocol-participation into .cursor/skills/protocol-participation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "protocol-participation", 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.
$ gemini skills install https://github.com/automateyournetwork/netclaw.git --path workspace/skills/protocol-participation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add automateyournetwork/netclaw --skill protocol-participation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install automateyournetwork/netclaw protocol-participation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/automateyournetwork/netclaw.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/workspace/skills/protocol-participation .gemini/skills/protocol-participation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "protocol-participation" agent skill from https://github.com/automateyournetwork/netclaw/tree/main/workspace/skills/protocol-participation into .gemini/skills/protocol-participation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "protocol-participation", 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.
$ gh skill install automateyournetwork/netclaw protocol-participationInstalls 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).
$ npx skills add automateyournetwork/netclaw --skill protocol-participation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/automateyournetwork/netclaw.git skills-src && mkdir -p .github/skills && cp -r skills-src/workspace/skills/protocol-participation .github/skills/protocol-participation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "protocol-participation" agent skill from https://github.com/automateyournetwork/netclaw/tree/main/workspace/skills/protocol-participation into .github/skills/protocol-participation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "protocol-participation", 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.
$ npx skills add automateyournetwork/netclaw --skill protocol-participation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install automateyournetwork/netclaw protocol-participation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/automateyournetwork/netclaw.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/workspace/skills/protocol-participation .opencode/skills/protocol-participation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "protocol-participation" agent skill from https://github.com/automateyournetwork/netclaw/tree/main/workspace/skills/protocol-participation into .opencode/skills/protocol-participation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "protocol-participation", 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.
protocol-participationLive BGP and OSPF control-plane participation — NetClaw itself acts as a protocol speaker: peer with real routers, inject/withdraw routes, query its own RIB/LSDB, adjust metrics, GRE tunnel status.
Protocol Participation is an agent skill from automateyournetwork/netclaw. Live BGP and OSPF control-plane participation — NetClaw itself acts as a protocol speaker: peer with real routers, inject/withdraw routes, query its own RIB/LSDB, adjust metrics, GRE tunnel status. Use when injecting or withdrawing BGP routes, checking the state of NetClaw's own BGP peering, querying its own OSPF LSDB, or testing route advertisement in a lab. This does not query an existing device's routing table — for that, use pyats-routing (Cisco) or pyats-junos-routing (Juniper) instead.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: An AI agent that claws through your network. The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 95bb17e. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
bashdockerFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use docker, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Protocol Participation loads about 2.4k tokens when it runs. Until then it costs about 131 tokens; SKILL.md has 781 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
sudo bash scripts/setup-gre.shAutomated 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.
The full file from automateyournetwork/netclaw at commit 95bb17e, republished under its Apache-2.0 licence (© automateyournetwork). 781 words, ~2,449 tokens.
.claude/skills/protocol-participation/SKILL.md (or your agent's skills folder).| Property | Value |
|---|---|
| Source | WontYouBeMyNeighbour BGP/OSPFv3/GRE modules |
| Transport | stdio |
| Tools | 10 |
| Protocol modules | BGP (20 files), OSPFv3 (8 files), GRE (4 files), Connectors (2 files) |
| Dependencies | scapy, networkx, mcp, fastmcp |
bgp_get_peersList BGP peer sessions with state, AS, IP, uptime, and prefix counts.
| Parameter | Type | Default | Description |
|---|---|---|---|
| (none) | — | — | No parameters |
Returns: { peers: [{peer, peer_as, state, local_addr, is_ibgp, uptime, prefixes_received, prefixes_sent}], count }
bgp_get_ribQuery the Loc-RIB (best routes). Optionally filter by prefix.
| Parameter | Type | Default | Description |
|---|---|---|---|
prefix | string | null | Optional CIDR filter (e.g. 10.0.0.0/24) |
Returns: { routes: [{network, next_hop, as_path, local_pref, med, origin, communities}], count }
bgp_inject_routeInject a route into the BGP RIB and advertise to peers.
| Parameter | Type | Default | Description |
|---|---|---|---|
network | string | required | CIDR prefix (e.g. 192.168.1.0/24) |
next_hop | string | null | Next-hop IP (defaults to self) |
as_path | string | null | Comma-separated AS path (e.g. 65001,65002) |
local_pref | int | 100 | LOCAL_PREF value |
Returns: { success, network, route_info }
bgp_withdraw_routeWithdraw a route from the BGP RIB and send withdrawal to peers.
| Parameter | Type | Default | Description |
|---|---|---|---|
network | string | required | CIDR prefix to withdraw |
Returns: { success, network }
bgp_adjust_local_prefChange the LOCAL_PREF for a route in the RIB.
| Parameter | Type | Default | Description |
|---|---|---|---|
network | string | required | CIDR prefix |
local_pref | int | required | New LOCAL_PREF (higher = more preferred) |
Returns: { success, network, old_local_pref, new_local_pref }
ospf_get_neighborsList OSPF neighbors with state, address, priority, and router ID.
| Parameter | Type | Default | Description |
|---|---|---|---|
| (none) | — | — | No parameters |
Returns: { neighbors: [{neighbor_id, state, address, priority}], count }
ospf_get_lsdbQuery the OSPF Link State Database.
| Parameter | Type | Default | Description |
|---|---|---|---|
| (none) | — | — | No parameters |
Returns: { lsdb: [{type, advertising_router, ls_id, sequence, age}], count }
ospf_adjust_costChange the OSPF cost on an interface.
| Parameter | Type | Default | Description |
|---|---|---|---|
interface | string | required | Interface name (e.g. gre-netclaw) |
cost | int | required | New OSPF cost (1-65535) |
Returns: { success, interface, old_cost, new_cost }
gre_tunnel_statusCheck GRE tunnel status via system commands (ip tunnel show, ip addr show).
| Parameter | Type | Default | Description |
|---|---|---|---|
| (none) | — | — | No parameters |
Returns: { tunnels: [...], addresses: [...], count }
protocol_summaryConsolidated BGP + OSPF + GRE state summary in a single call.
| Parameter | Type | Default | Description |
|---|---|---|---|
| (none) | — | — | No parameters |
Returns: { router_id, local_as, lab_mode, bgp: {configured, peer_count, peers, rib_size}, ospf: {configured, neighbor_count, neighbors}, gre: {tunnels, addresses, count} }
| Variable | Example | Description |
|---|---|---|
NETCLAW_ROUTER_ID | 4.4.4.4 | BGP/OSPF router ID |
NETCLAW_LOCAL_AS | 65001 | BGP local autonomous system number |
NETCLAW_BGP_PEERS | [{"ip":"172.16.0.1","as":65000}] | JSON array of BGP peers |
NETCLAW_OSPF_AREAS | ["0.0.0.0"] | JSON array of OSPF area IDs |
NETCLAW_GRE_TUNNELS | [{"name":"gre-netclaw","local":"...","remote":"..."}] | JSON array of GRE tunnels |
NETCLAW_LAB_MODE | true | Relaxes CR requirement for lab testing |
A Docker-based 3-router FRR topology is provided in lab/frr-testbed/ for testing:
NetClaw (AS 65001) ──GRE── Edge1 (AS 65000) ──OSPF── Core (RR) ──OSPF── Edge2
host/WSL 1.1.1.1 2.2.2.2 3.3.3.3
172.16.0.2 172.16.0.1
eBGP iBGP→Core iBGP hub iBGP→Core# Start lab
cd lab/frr-testbed && docker compose up -d
# Create GRE tunnel (requires sudo)
sudo bash scripts/setup-gre.sh
# Verify
bash scripts/verify.shservicenow-change-workflow → CR approved
→ bgp_inject_route(network, next_hop, local_pref)
→ bgp_get_rib(prefix) → verify route in table
→ pyats-routing → verify on remote devices
→ gait-session-tracking → record changebgp_get_rib() → current routes
→ bgp_adjust_local_pref(network, local_pref)
→ bgp_get_peers() → verify advertisement
→ gait-session-trackingospf_get_neighbors() → verify adjacencies
→ ospf_adjust_cost(interface, cost)
→ ospf_get_lsdb() → verify LSA update
→ pyats-routing → verify SPF reconvergence
→ gait-session-trackingprotocol_summary() → full state snapshot
→ bgp_get_peers() → check all Established
→ ospf_get_neighbors() → check all Full
→ gre_tunnel_status() → check all tunnels up
→ gait-session-trackingservicenow-change-workflow → CR approved
→ bgp_get_rib(prefix) → verify route exists
→ bgp_withdraw_route(network)
→ bgp_get_rib(prefix) → verify withdrawal
→ pyats-routing → verify removal on peers
→ gait-session-trackingNETCLAW_LAB_MODE=true
→ bgp_inject_route / bgp_withdraw_route
→ bgp_get_rib → verify
→ ospf_adjust_cost → test convergence
→ protocol_summary → snapshot| Skill | Integration |
|---|---|
| servicenow-change-workflow | MUST gate all route inject/withdraw/cost changes in production |
| gait-session-tracking | Record every protocol mutation in the audit trail |
| pyats-routing | Cross-verify protocol state from the device CLI side |
| uml-diagram | Generate BGP state machines and OSPF area diagrams |
| markmap-viz | Visualise RIB hierarchy and OSPF LSDB as mind maps |
| netbox-reconcile | Cross-reference peering with NetBox IPAM/circuits |
| drawio-diagram | Topology diagrams showing GRE underlay + BGP/OSPF overlay |
| cml-topology-builder | Provision lab topologies that NetClaw can then peer with |
NETCLAW_LAB_MODE=truebgp_get_rib) before injecting to prevent routing loopsbgp_get_peers) before advertising — only to Established peersgait-session-tracking)gre_tunnel_status do not require elevated privilegesNETCLAW_LAB_MODE=true) relaxes the CR requirement for the FRR testbed — never set this in productionbgp_get_peers, bgp_get_rib, ospf_get_neighbors, ospf_get_lsdb, gre_tunnel_status, protocol_summaryNETCLAW_ROUTER_ID is set and valid before assuming a data or device problem.© automateyournetwork, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in workspace/skills/protocol-participation of automateyournetwork/netclaw.
Open the folder on GitHubat commit 95bb17e
Protocol Participation 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Protocol Participation this skillautomateyournetwork/netclaw | 676 | — | ~2.4k | Automated safety check: Notes | Apache-2.0 | |
| Planejeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Network Bgp Diagnosticsaffaan-m/ECC | 276k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Nasiko Control Planeaffaan-m/ECC | 276k | 1 repos | ~660 | Automated safety check: Pass | MIT | |
| Implementing Bgp Security With Rpkimukul975/Anthropic-Cybersecurity-Skills | 34k | — | ~2.9k | Automated safety check: Notes | Apache-2.0 | |
| Azure Bgpbenchflow-ai/skillsbench | 1.8k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 |
jeremylongshore/tons-of-skills-marketplace
Plane is a team behavior observatory — synthesize Plane API data into observations about how teams actually behave under pressure, not just ticket state.
affaan-m/ECC
Diagnostics-only BGP troubleshooting patterns for neighbor state, route exchange, prefix policy, AS path inspection, and safe evidence collection.
affaan-m/ECC
Manage the experimental Nasiko CLI lifecycle through ECC — read-only status checks, consent-gated install of the pinned qualified version with dry-run preview, and ownership-checked uninstall, under…
mukul975/Anthropic-Cybersecurity-Skills
Implement RPKI-based BGP route origin validation by creating Route Origin Authorizations (ROAs) at RIRs (ARIN, RIPE, APNIC, AFRINIC, LACNIC), deploying validator software (Routinator, FORT…
benchflow-ai/skillsbench
Analyze and resolve BGP oscillation and BGP route leaks in Azure Virtual WAN–style hub-and-spoke topologies (and similar cloud-managed BGP environments).
makeplane/plane
Builds categorized release notes for a Plane release pull request from its commits and writes them into the PR description, for both the plane-cloud and plane-ee repos.
automateyournetwork/netclaw
Entry point for designing EVE-NG network labs: classifies the request, gathers missing requirements, proposes options and validates the resulting topology.
automateyournetwork/netclaw
Deploys Cisco ACI policy changes only behind an approved ServiceNow Change Request, capturing pre and post-change fault baselines and rolling back automatically on a fault delta.
automateyournetwork/netclaw
Runs a phased health audit of a Cisco ACI fabric through MCP tools: node status, links, tenant and policy review, faults and endpoint learning.
automateyournetwork/netclaw
Validate Arista EOS network state against ANTA's pre-built 208-test catalogue, with structured pass/fail verdicts.
automateyournetwork/netclaw
Arista CloudVision Portal (CVP) automation via REST API — device inventory, events, connectivity monitoring, tag management (4 tools).
automateyournetwork/netclaw
AWS CloudWatch monitoring — metrics, alarms, log queries, VPC flow log analysis, network performance.
Live BGP and OSPF control-plane participation — NetClaw itself acts as a protocol speaker: peer with real routers, inject/withdraw routes, query its own RIB/LSDB, adjust metrics, GRE tunnel status. Protocol Participation is an agent skill from automateyournetwork/netclaw. Live BGP and OSPF control-plane participation — NetClaw itself acts as a protocol speaker: peer with real routers, inject/withdraw routes, query its own RIB/LSDB, adjust metrics, GRE tunnel status.
Protocol Participation fits situations like: withdrawing BGP routes; checking the state of NetClaws own BGP peering; querying its own OSPF LSDB; testing route advertisement in a lab.
Run `npx skills add automateyournetwork/netclaw --skill protocol-participation -a claude-code`. Or copy the skill folder (workspace/skills/protocol-participation in automateyournetwork/netclaw) into .claude/skills/protocol-participation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add automateyournetwork/netclaw --skill protocol-participation -a codex`. Or copy the skill folder (workspace/skills/protocol-participation in automateyournetwork/netclaw) into .agents/skills/protocol-participation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add automateyournetwork/netclaw --skill protocol-participation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/protocol-participation, .gemini/skills/protocol-participation, .github/skills/protocol-participation and .opencode/skills/protocol-participation in your project.
Going by SKILL.md and its folder, Protocol Participation needs the command-line tools its instructions call (bash and docker). Our summary lists: Docker.
SKILL.md contains no URLs. Its commands use docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Protocol Participation is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Protocol Participation: Plane (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Network Bgp Diagnostics (affaan-m/ECC, 276k stars), Nasiko Control Plane (affaan-m/ECC, 276k stars) and Implementing Bgp Security With Rpki (mukul975/Anthropic-Cybersecurity-Skills, 34k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
automateyournetwork (a GitHub user) maintains it in automateyournetwork/netclaw, which has 676 GitHub stars. The repository holds 120 skills in this directory. The repository was last updated on October 5, 2026.
Source: automateyournetwork/netclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.