Skip to content

Commit d2ade24

Browse files
authored
feat: salvage network diagnostics skills (#1731)
1 parent df32d6b commit d2ade24

12 files changed

Lines changed: 522 additions & 13 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
{
1212
"name": "ecc",
1313
"source": "./",
14-
"description": "The most comprehensive Claude Code plugin — 53 agents, 195 skills, 69 legacy command shims, selective install profiles, and production-ready hooks for TDD, security scanning, code review, and continuous learning",
14+
"description": "The most comprehensive Claude Code plugin — 53 agents, 198 skills, 69 legacy command shims, selective install profiles, and production-ready hooks for TDD, security scanning, code review, and continuous learning",
1515
"version": "2.0.0-rc.1",
1616
"author": {
1717
"name": "Affaan Mustafa",

.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "ecc",
33
"version": "2.0.0-rc.1",
4-
"description": "Battle-tested Claude Code plugin for engineering teams — 53 agents, 195 skills, 69 legacy command shims, production-ready hooks, and selective install workflows evolved through continuous real-world use",
4+
"description": "Battle-tested Claude Code plugin for engineering teams — 53 agents, 198 skills, 69 legacy command shims, production-ready hooks, and selective install workflows evolved through continuous real-world use",
55
"author": {
66
"name": "Affaan Mustafa",
77
"url": "https://x.com/affaanmustafa"

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Everything Claude Code (ECC) — Agent Instructions
22

3-
This is a **production-ready AI coding plugin** providing 53 specialized agents, 195 skills, 69 commands, and automated hook workflows for software development.
3+
This is a **production-ready AI coding plugin** providing 53 specialized agents, 198 skills, 69 commands, and automated hook workflows for software development.
44

55
**Version:** 2.0.0-rc.1
66

@@ -146,7 +146,7 @@ Troubleshoot failures: check test isolation → verify mocks → fix implementat
146146

147147
```
148148
agents/ — 53 specialized subagents
149-
skills/ — 195 workflow skills and domain knowledge
149+
skills/ — 198 workflow skills and domain knowledge
150150
commands/ — 69 slash commands
151151
hooks/ — Trigger-based automations
152152
rules/ — Always-follow guidelines (common + per-language)

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ If you stacked methods, clean up in this order:
350350
/plugin list ecc@ecc
351351
```
352352

353-
**That's it!** You now have access to 53 agents, 195 skills, and 69 legacy command shims.
353+
**That's it!** You now have access to 53 agents, 198 skills, and 69 legacy command shims.
354354

355355
### Dashboard GUI
356356

@@ -1338,7 +1338,7 @@ The configuration is automatically detected from `.opencode/opencode.json`.
13381338
|---------|-------------|----------|--------|
13391339
| Agents | PASS: 53 agents | PASS: 12 agents | **Claude Code leads** |
13401340
| Commands | PASS: 69 commands | PASS: 31 commands | **Claude Code leads** |
1341-
| Skills | PASS: 195 skills | PASS: 37 skills | **Claude Code leads** |
1341+
| Skills | PASS: 198 skills | PASS: 37 skills | **Claude Code leads** |
13421342
| Hooks | PASS: 8 event types | PASS: 11 events | **OpenCode has more!** |
13431343
| Rules | PASS: 29 rules | PASS: 13 instructions | **Claude Code leads** |
13441344
| MCP Servers | PASS: 14 servers | PASS: Full | **Full parity** |
@@ -1443,7 +1443,7 @@ ECC is the **first plugin to maximize every major AI coding tool**. Here's how e
14431443
|---------|------------|------------|-----------|----------|
14441444
| **Agents** | 53 | Shared (AGENTS.md) | Shared (AGENTS.md) | 12 |
14451445
| **Commands** | 69 | Shared | Instruction-based | 31 |
1446-
| **Skills** | 195 | Shared | 10 (native format) | 37 |
1446+
| **Skills** | 198 | Shared | 10 (native format) | 37 |
14471447
| **Hook Events** | 8 types | 15 types | None yet | 11 types |
14481448
| **Hook Scripts** | 20+ scripts | 16 scripts (DRY adapter) | N/A | Plugin hooks |
14491449
| **Rules** | 34 (common + lang) | 34 (YAML frontmatter) | Instruction-based | 13 instructions |

README.zh-CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
160160
/plugin list ecc@ecc
161161
```
162162

163-
**完成!** 你现在可以使用 53 个代理、195 个技能和 69 个命令。
163+
**完成!** 你现在可以使用 53 个代理、198 个技能和 69 个命令。
164164

165165
### multi-* 命令需要额外配置
166166

docs/zh-CN/AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Everything Claude Code (ECC) — 智能体指令
22

3-
这是一个**生产就绪的 AI 编码插件**,提供 53 个专业代理、195 项技能、69 条命令以及自动化钩子工作流,用于软件开发。
3+
这是一个**生产就绪的 AI 编码插件**,提供 53 个专业代理、198 项技能、69 条命令以及自动化钩子工作流,用于软件开发。
44

55
**版本:** 2.0.0-rc.1
66

@@ -147,7 +147,7 @@
147147

148148
```
149149
agents/ — 53 个专业子代理
150-
skills/ — 195 个工作流技能和领域知识
150+
skills/ — 198 个工作流技能和领域知识
151151
commands/ — 69 个斜杠命令
152152
hooks/ — 基于触发的自动化
153153
rules/ — 始终遵循的指导方针(通用 + 每种语言)

docs/zh-CN/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
224224
/plugin list ecc@ecc
225225
```
226226

227-
**搞定!** 你现在可以使用 53 个智能体、195 项技能和 69 个命令了。
227+
**搞定!** 你现在可以使用 53 个智能体、198 项技能和 69 个命令了。
228228

229229
***
230230

@@ -1134,7 +1134,7 @@ opencode
11341134
|---------|-------------|----------|--------|
11351135
| 智能体 | PASS: 53 个 | PASS: 12 个 | **Claude Code 领先** |
11361136
| 命令 | PASS: 69 个 | PASS: 31 个 | **Claude Code 领先** |
1137-
| 技能 | PASS: 195| PASS: 37 项 | **Claude Code 领先** |
1137+
| 技能 | PASS: 198| PASS: 37 项 | **Claude Code 领先** |
11381138
| 钩子 | PASS: 8 种事件类型 | PASS: 11 种事件 | **OpenCode 更多!** |
11391139
| 规则 | PASS: 29 条 | PASS: 13 条指令 | **Claude Code 领先** |
11401140
| MCP 服务器 | PASS: 14 个 | PASS: 完整 | **完全对等** |
@@ -1242,7 +1242,7 @@ ECC 是**第一个最大化利用每个主要 AI 编码工具的插件**。以
12421242
|---------|------------|------------|-----------|----------|
12431243
| **智能体** | 53 | 共享 (AGENTS.md) | 共享 (AGENTS.md) | 12 |
12441244
| **命令** | 69 | 共享 | 基于指令 | 31 |
1245-
| **技能** | 195 | 共享 | 10 (原生格式) | 37 |
1245+
| **技能** | 198 | 共享 | 10 (原生格式) | 37 |
12461246
| **钩子事件** | 8 种类型 | 15 种类型 | 暂无 | 11 种类型 |
12471247
| **钩子脚本** | 20+ 个脚本 | 16 个脚本 (DRY 适配器) | N/A | 插件钩子 |
12481248
| **规则** | 34 (通用 + 语言) | 34 (YAML 前页) | 基于指令 | 13 条指令 |

manifests/install-modules.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -512,9 +512,12 @@
512512
"kind": "skills",
513513
"description": "Deployment workflows, Docker patterns, and infrastructure skills.",
514514
"paths": [
515+
"skills/cisco-ios-patterns",
515516
"skills/deployment-patterns",
516517
"skills/docker-patterns",
517518
"skills/homelab-network-setup",
519+
"skills/netmiko-ssh-automation",
520+
"skills/network-bgp-diagnostics",
518521
"skills/network-config-validation",
519522
"skills/network-interface-health"
520523
],

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
"skills/brand-voice/",
105105
"skills/carrier-relationship-management/",
106106
"skills/claude-devfleet/",
107+
"skills/cisco-ios-patterns/",
107108
"skills/clickhouse-io/",
108109
"skills/code-tour/",
109110
"skills/coding-standards/",
@@ -187,6 +188,8 @@
187188
"skills/messages-ops/",
188189
"skills/nanoclaw-repl/",
189190
"skills/nestjs-patterns/",
191+
"skills/netmiko-ssh-automation/",
192+
"skills/network-bgp-diagnostics/",
190193
"skills/network-config-validation/",
191194
"skills/network-interface-health/",
192195
"skills/nodejs-keccak256/",

skills/cisco-ios-patterns/SKILL.md

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
---
2+
name: cisco-ios-patterns
3+
description: Cisco IOS and IOS-XE review patterns for show commands, config hierarchy, wildcard masks, ACL placement, interface hygiene, and safe change-window verification.
4+
origin: community
5+
---
6+
7+
# Cisco IOS Patterns
8+
9+
Use this skill when reviewing Cisco IOS or IOS-XE snippets, building a
10+
change-window checklist, or explaining how to collect evidence from a router or
11+
switch without making the incident worse.
12+
13+
## When to Use
14+
15+
- Reviewing IOS or IOS-XE configuration before a planned change.
16+
- Choosing read-only `show` commands for troubleshooting.
17+
- Checking ACL wildcard masks and interface direction.
18+
- Explaining global, interface, routing process, and line configuration modes.
19+
- Verifying that a change landed in running config and was saved intentionally.
20+
21+
## Operating Rules
22+
23+
Treat IOS examples as patterns, not paste-ready production changes. Confirm the
24+
platform, interface names, current config, rollback path, and out-of-band access
25+
before making changes on a real device.
26+
27+
Prefer this workflow:
28+
29+
1. Capture current state with read-only commands.
30+
2. Review the exact candidate config.
31+
3. Confirm management access cannot be locked out.
32+
4. Apply the smallest change in a maintenance window.
33+
5. Re-read state, compare to the baseline, then save only after validation.
34+
35+
## Mode Reference
36+
37+
```text
38+
Router> enable
39+
Router# show running-config
40+
Router# configure terminal
41+
Router(config)# interface GigabitEthernet0/1
42+
Router(config-if)# description UPLINK-TO-CORE
43+
Router(config-if)# no shutdown
44+
Router(config-if)# exit
45+
Router(config)# end
46+
Router# show running-config interface GigabitEthernet0/1
47+
```
48+
49+
`running-config` is active memory. `startup-config` is what survives reload.
50+
Do not save a change just because a command was accepted; validate behavior
51+
first, then use `copy running-config startup-config` if the change is approved.
52+
53+
## Read-Only Collection
54+
55+
```text
56+
show version
57+
show inventory
58+
show processes cpu sorted
59+
show memory statistics
60+
show logging
61+
show running-config | section line vty
62+
show running-config | section interface
63+
show running-config | section router bgp
64+
show ip interface brief
65+
show interfaces
66+
show interfaces status
67+
show vlan brief
68+
show mac address-table
69+
show spanning-tree
70+
show ip route
71+
show ip protocols
72+
show ip access-lists
73+
show route-map
74+
show ip prefix-list
75+
```
76+
77+
Collect the specific section you need instead of dumping full config into a
78+
ticket when the config may contain secrets, customer names, or private topology.
79+
80+
## Wildcard Masks
81+
82+
IOS ACL and many routing statements use wildcard masks, not subnet masks.
83+
84+
```text
85+
Subnet mask Wildcard mask
86+
255.255.255.255 0.0.0.0
87+
255.255.255.252 0.0.0.3
88+
255.255.255.0 0.0.0.255
89+
255.255.0.0 0.0.255.255
90+
```
91+
92+
Review wildcard masks before deployment. A subnet mask accidentally used as a
93+
wildcard can match far more traffic than intended.
94+
95+
```text
96+
ip access-list extended WEB-IN
97+
10 permit tcp 192.0.2.0 0.0.0.255 any eq 443
98+
999 deny ip any any log
99+
```
100+
101+
Every ACL has an implicit deny at the end. Add an explicit logged deny when the
102+
operational goal includes observing misses, and confirm logging volume is safe.
103+
104+
## ACL Placement Review
105+
106+
Before applying an ACL to an interface, answer these questions:
107+
108+
- Which traffic direction is being filtered, `in` or `out`?
109+
- Is management traffic sourced from a known jump host or management subnet?
110+
- Is there an explicit permit for required routing, DNS, NTP, monitoring, or
111+
application traffic?
112+
- Are hit counters available from a safe test source?
113+
- Is there a rollback command and an active console or out-of-band path?
114+
115+
Do not test reachability by removing firewall or ACL protections. Read counters,
116+
logs, and route state first.
117+
118+
## Interface Hygiene
119+
120+
```text
121+
interface GigabitEthernet0/1
122+
description UPLINK-TO-CORE
123+
switchport mode trunk
124+
switchport trunk allowed vlan 10,20,30
125+
switchport trunk native vlan 999
126+
no shutdown
127+
```
128+
129+
Use clear descriptions, explicit switchport mode, and documented native VLANs.
130+
On routed interfaces, confirm the mask, peer addressing, and routing process
131+
before assuming link state means forwarding is correct.
132+
133+
## Change-Window Verification
134+
135+
Use before/after checks that match the actual change.
136+
137+
```text
138+
show running-config | section interface GigabitEthernet0/1
139+
show interfaces GigabitEthernet0/1
140+
show logging | include GigabitEthernet0/1|changed state|line protocol
141+
show ip route <prefix>
142+
show ip access-lists <name>
143+
```
144+
145+
For routing changes, also capture neighbor state and route tables before and
146+
after the change. For ACL changes, compare hit counters from a planned test
147+
source rather than relying on a generic ping.
148+
149+
## Anti-Patterns
150+
151+
- Applying a generated config without a device-specific diff.
152+
- Saving configuration before post-change checks pass.
153+
- Using a subnet mask where IOS expects a wildcard mask.
154+
- Applying an ACL to the wrong interface direction.
155+
- Troubleshooting by disabling ACLs, route policies, or authentication.
156+
- Pasting full configs into public tools without sanitizing secrets and topology.
157+
158+
## See Also
159+
160+
- Agent: `network-config-reviewer`
161+
- Agent: `network-troubleshooter`
162+
- Skill: `network-config-validation`
163+
- Skill: `network-interface-health`

0 commit comments

Comments
 (0)