@funnycode/myclaude 0.1.76 → 0.1.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/dist/SKILL-r7zmg5v7.md +3 -0
- package/dist/cli-mvr5k580.md +3 -0
- package/dist/myclaude.js +1367 -1189
- package/dist/myclaude.mjs +1367 -1189
- package/dist/server-zyhc2a9z.md +3 -0
- package/package.json +129 -129
- package/seed/marketplaces/ecc/.opencode/package-lock.json +169 -169
- package/seed/marketplaces/ecc/commands/aside.md +164 -164
- package/seed/marketplaces/ecc/commands/auto-update.md +28 -28
- package/seed/marketplaces/ecc/commands/build-fix.md +66 -66
- package/seed/marketplaces/ecc/commands/checkpoint.md +78 -78
- package/seed/marketplaces/ecc/commands/code-review.md +289 -289
- package/seed/marketplaces/ecc/commands/cost-report.md +107 -107
- package/seed/marketplaces/ecc/commands/cpp-build.md +173 -173
- package/seed/marketplaces/ecc/commands/cpp-review.md +132 -132
- package/seed/marketplaces/ecc/commands/cpp-test.md +251 -251
- package/seed/marketplaces/ecc/commands/ecc-guide.md +93 -93
- package/seed/marketplaces/ecc/commands/evolve.md +178 -178
- package/seed/marketplaces/ecc/commands/fastapi-review.md +39 -39
- package/seed/marketplaces/ecc/commands/feature-dev.md +49 -49
- package/seed/marketplaces/ecc/commands/flutter-build.md +164 -164
- package/seed/marketplaces/ecc/commands/flutter-review.md +116 -116
- package/seed/marketplaces/ecc/commands/flutter-test.md +144 -144
- package/seed/marketplaces/ecc/commands/gan-build.md +103 -103
- package/seed/marketplaces/ecc/commands/gan-design.md +39 -39
- package/seed/marketplaces/ecc/commands/go-build.md +183 -183
- package/seed/marketplaces/ecc/commands/go-review.md +148 -148
- package/seed/marketplaces/ecc/commands/go-test.md +268 -268
- package/seed/marketplaces/ecc/commands/gradle-build.md +70 -70
- package/seed/marketplaces/ecc/commands/harness-audit.md +84 -84
- package/seed/marketplaces/ecc/commands/hookify-configure.md +14 -14
- package/seed/marketplaces/ecc/commands/hookify-help.md +46 -46
- package/seed/marketplaces/ecc/commands/hookify-list.md +21 -21
- package/seed/marketplaces/ecc/commands/hookify.md +50 -50
- package/seed/marketplaces/ecc/commands/instinct-export.md +66 -66
- package/seed/marketplaces/ecc/commands/instinct-import.md +114 -114
- package/seed/marketplaces/ecc/commands/instinct-status.md +59 -59
- package/seed/marketplaces/ecc/commands/jira.md +106 -106
- package/seed/marketplaces/ecc/commands/kotlin-build.md +174 -174
- package/seed/marketplaces/ecc/commands/kotlin-review.md +140 -140
- package/seed/marketplaces/ecc/commands/kotlin-test.md +312 -312
- package/seed/marketplaces/ecc/commands/learn-eval.md +116 -116
- package/seed/marketplaces/ecc/commands/learn.md +74 -74
- package/seed/marketplaces/ecc/commands/loop-start.md +36 -36
- package/seed/marketplaces/ecc/commands/loop-status.md +77 -77
- package/seed/marketplaces/ecc/commands/marketing-campaign.md +129 -129
- package/seed/marketplaces/ecc/commands/model-route.md +30 -30
- package/seed/marketplaces/ecc/commands/multi-backend.md +162 -162
- package/seed/marketplaces/ecc/commands/multi-execute.md +319 -319
- package/seed/marketplaces/ecc/commands/multi-frontend.md +162 -162
- package/seed/marketplaces/ecc/commands/multi-plan.md +272 -272
- package/seed/marketplaces/ecc/commands/multi-workflow.md +195 -195
- package/seed/marketplaces/ecc/commands/plan-prd.md +160 -160
- package/seed/marketplaces/ecc/commands/plan.md +200 -200
- package/seed/marketplaces/ecc/commands/pm2.md +276 -276
- package/seed/marketplaces/ecc/commands/pr.md +184 -184
- package/seed/marketplaces/ecc/commands/project-init.md +86 -86
- package/seed/marketplaces/ecc/commands/projects.md +39 -39
- package/seed/marketplaces/ecc/commands/promote.md +41 -41
- package/seed/marketplaces/ecc/commands/prp-commit.md +112 -112
- package/seed/marketplaces/ecc/commands/prp-implement.md +385 -385
- package/seed/marketplaces/ecc/commands/prp-plan.md +502 -502
- package/seed/marketplaces/ecc/commands/prp-pr.md +184 -184
- package/seed/marketplaces/ecc/commands/prp-prd.md +447 -447
- package/seed/marketplaces/ecc/commands/prune.md +31 -31
- package/seed/marketplaces/ecc/commands/python-review.md +297 -297
- package/seed/marketplaces/ecc/commands/quality-gate.md +33 -33
- package/seed/marketplaces/ecc/commands/refactor-clean.md +84 -84
- package/seed/marketplaces/ecc/commands/resume-session.md +156 -156
- package/seed/marketplaces/ecc/commands/review-pr.md +37 -37
- package/seed/marketplaces/ecc/commands/rust-build.md +187 -187
- package/seed/marketplaces/ecc/commands/rust-review.md +142 -142
- package/seed/marketplaces/ecc/commands/rust-test.md +308 -308
- package/seed/marketplaces/ecc/commands/santa-loop.md +175 -175
- package/seed/marketplaces/ecc/commands/save-session.md +275 -275
- package/seed/marketplaces/ecc/commands/security-scan.md +92 -92
- package/seed/marketplaces/ecc/commands/sessions.md +339 -339
- package/seed/marketplaces/ecc/commands/setup-pm.md +80 -80
- package/seed/marketplaces/ecc/commands/skill-create.md +174 -174
- package/seed/marketplaces/ecc/commands/skill-health.md +54 -54
- package/seed/marketplaces/ecc/commands/test-coverage.md +73 -73
- package/seed/marketplaces/ecc/commands/update-codemaps.md +76 -76
- package/seed/marketplaces/ecc/commands/update-docs.md +88 -88
- package/seed/marketplaces/ecc/skills/accessibility/SKILL.md +146 -146
- package/seed/marketplaces/ecc/skills/agent-architecture-audit/SKILL.md +256 -256
- package/seed/marketplaces/ecc/skills/agent-eval/SKILL.md +145 -145
- package/seed/marketplaces/ecc/skills/agent-harness-construction/SKILL.md +73 -73
- package/seed/marketplaces/ecc/skills/agent-introspection-debugging/SKILL.md +153 -153
- package/seed/marketplaces/ecc/skills/agent-payment-x402/SKILL.md +224 -224
- package/seed/marketplaces/ecc/skills/agent-sort/SKILL.md +215 -215
- package/seed/marketplaces/ecc/skills/agentic-engineering/SKILL.md +63 -63
- package/seed/marketplaces/ecc/skills/agentic-os/SKILL.md +387 -387
- package/seed/marketplaces/ecc/skills/ai-first-engineering/SKILL.md +51 -51
- package/seed/marketplaces/ecc/skills/ai-regression-testing/SKILL.md +385 -385
- package/seed/marketplaces/ecc/skills/android-clean-architecture/SKILL.md +339 -339
- package/seed/marketplaces/ecc/skills/angular-developer/SKILL.md +154 -154
- package/seed/marketplaces/ecc/skills/angular-developer/references/angular-animations.md +160 -160
- package/seed/marketplaces/ecc/skills/angular-developer/references/angular-aria.md +410 -410
- package/seed/marketplaces/ecc/skills/angular-developer/references/cli.md +86 -86
- package/seed/marketplaces/ecc/skills/angular-developer/references/component-harnesses.md +59 -59
- package/seed/marketplaces/ecc/skills/angular-developer/references/component-styling.md +91 -91
- package/seed/marketplaces/ecc/skills/angular-developer/references/components.md +117 -117
- package/seed/marketplaces/ecc/skills/angular-developer/references/creating-services.md +97 -97
- package/seed/marketplaces/ecc/skills/angular-developer/references/data-resolvers.md +69 -69
- package/seed/marketplaces/ecc/skills/angular-developer/references/define-routes.md +67 -67
- package/seed/marketplaces/ecc/skills/angular-developer/references/defining-providers.md +72 -72
- package/seed/marketplaces/ecc/skills/angular-developer/references/di-fundamentals.md +120 -120
- package/seed/marketplaces/ecc/skills/angular-developer/references/e2e-testing.md +56 -56
- package/seed/marketplaces/ecc/skills/angular-developer/references/effects.md +83 -83
- package/seed/marketplaces/ecc/skills/angular-developer/references/hierarchical-injectors.md +43 -43
- package/seed/marketplaces/ecc/skills/angular-developer/references/host-elements.md +80 -80
- package/seed/marketplaces/ecc/skills/angular-developer/references/injection-context.md +63 -63
- package/seed/marketplaces/ecc/skills/angular-developer/references/inputs.md +101 -101
- package/seed/marketplaces/ecc/skills/angular-developer/references/linked-signal.md +59 -59
- package/seed/marketplaces/ecc/skills/angular-developer/references/loading-strategies.md +61 -61
- package/seed/marketplaces/ecc/skills/angular-developer/references/mcp.md +108 -108
- package/seed/marketplaces/ecc/skills/angular-developer/references/navigate-to-routes.md +69 -69
- package/seed/marketplaces/ecc/skills/angular-developer/references/outputs.md +86 -86
- package/seed/marketplaces/ecc/skills/angular-developer/references/reactive-forms.md +122 -122
- package/seed/marketplaces/ecc/skills/angular-developer/references/rendering-strategies.md +44 -44
- package/seed/marketplaces/ecc/skills/angular-developer/references/resource.md +77 -77
- package/seed/marketplaces/ecc/skills/angular-developer/references/route-animations.md +56 -56
- package/seed/marketplaces/ecc/skills/angular-developer/references/route-guards.md +52 -52
- package/seed/marketplaces/ecc/skills/angular-developer/references/router-lifecycle.md +45 -45
- package/seed/marketplaces/ecc/skills/angular-developer/references/router-testing.md +87 -87
- package/seed/marketplaces/ecc/skills/angular-developer/references/show-routes-with-outlets.md +68 -68
- package/seed/marketplaces/ecc/skills/angular-developer/references/signal-forms.md +795 -795
- package/seed/marketplaces/ecc/skills/angular-developer/references/signals-overview.md +94 -94
- package/seed/marketplaces/ecc/skills/angular-developer/references/tailwind-css.md +69 -69
- package/seed/marketplaces/ecc/skills/angular-developer/references/template-driven-forms.md +114 -114
- package/seed/marketplaces/ecc/skills/angular-developer/references/testing-fundamentals.md +65 -65
- package/seed/marketplaces/ecc/skills/api-connector-builder/SKILL.md +120 -120
- package/seed/marketplaces/ecc/skills/api-design/SKILL.md +523 -523
- package/seed/marketplaces/ecc/skills/architecture-decision-records/SKILL.md +179 -179
- package/seed/marketplaces/ecc/skills/article-writing/SKILL.md +79 -79
- package/seed/marketplaces/ecc/skills/automation-audit-ops/SKILL.md +142 -142
- package/seed/marketplaces/ecc/skills/autonomous-agent-harness/SKILL.md +273 -273
- package/seed/marketplaces/ecc/skills/autonomous-loops/SKILL.md +610 -610
- package/seed/marketplaces/ecc/skills/backend-patterns/SKILL.md +561 -561
- package/seed/marketplaces/ecc/skills/benchmark/SKILL.md +93 -93
- package/seed/marketplaces/ecc/skills/benchmark-optimization-loop/SKILL.md +69 -69
- package/seed/marketplaces/ecc/skills/blender-motion-state-inspection/SKILL.md +164 -164
- package/seed/marketplaces/ecc/skills/blueprint/SKILL.md +105 -105
- package/seed/marketplaces/ecc/skills/brand-voice/SKILL.md +97 -97
- package/seed/marketplaces/ecc/skills/brand-voice/references/voice-profile-schema.md +55 -55
- package/seed/marketplaces/ecc/skills/browser-qa/SKILL.md +87 -87
- package/seed/marketplaces/ecc/skills/bun-runtime/SKILL.md +84 -84
- package/seed/marketplaces/ecc/skills/canary-watch/SKILL.md +107 -107
- package/seed/marketplaces/ecc/skills/carrier-relationship-management/SKILL.md +212 -212
- package/seed/marketplaces/ecc/skills/cisco-ios-patterns/SKILL.md +163 -163
- package/seed/marketplaces/ecc/skills/ck/SKILL.md +147 -147
- package/seed/marketplaces/ecc/skills/ck/commands/forget.mjs +44 -44
- package/seed/marketplaces/ecc/skills/ck/commands/info.mjs +24 -24
- package/seed/marketplaces/ecc/skills/ck/commands/init.mjs +143 -143
- package/seed/marketplaces/ecc/skills/ck/commands/list.mjs +40 -40
- package/seed/marketplaces/ecc/skills/ck/commands/migrate.mjs +202 -202
- package/seed/marketplaces/ecc/skills/ck/commands/resume.mjs +36 -36
- package/seed/marketplaces/ecc/skills/ck/commands/save.mjs +210 -210
- package/seed/marketplaces/ecc/skills/ck/commands/shared.mjs +387 -387
- package/seed/marketplaces/ecc/skills/ck/hooks/session-start.mjs +224 -224
- package/seed/marketplaces/ecc/skills/claude-devfleet/SKILL.md +103 -103
- package/seed/marketplaces/ecc/skills/click-path-audit/SKILL.md +244 -244
- package/seed/marketplaces/ecc/skills/clickhouse-io/SKILL.md +439 -439
- package/seed/marketplaces/ecc/skills/code-tour/SKILL.md +236 -236
- package/seed/marketplaces/ecc/skills/codebase-onboarding/SKILL.md +233 -233
- package/seed/marketplaces/ecc/skills/coding-standards/SKILL.md +549 -549
- package/seed/marketplaces/ecc/skills/compose-multiplatform-patterns/SKILL.md +299 -299
- package/seed/marketplaces/ecc/skills/configure-ecc/SKILL.md +384 -384
- package/seed/marketplaces/ecc/skills/connections-optimizer/SKILL.md +189 -189
- package/seed/marketplaces/ecc/skills/content-engine/SKILL.md +131 -131
- package/seed/marketplaces/ecc/skills/content-hash-cache-pattern/SKILL.md +161 -161
- package/seed/marketplaces/ecc/skills/context-budget/SKILL.md +135 -135
- package/seed/marketplaces/ecc/skills/continuous-agent-loop/SKILL.md +45 -45
- package/seed/marketplaces/ecc/skills/continuous-learning/SKILL.md +131 -131
- package/seed/marketplaces/ecc/skills/continuous-learning/config.json +18 -18
- package/seed/marketplaces/ecc/skills/continuous-learning/evaluate-session.sh +69 -69
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/SKILL.md +360 -360
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +322 -322
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/agents/observer.md +198 -198
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/agents/session-guardian.sh +150 -150
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/agents/start-observer.sh +248 -248
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/config.json +8 -8
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/hooks/observe.sh +498 -498
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +322 -322
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +1826 -1826
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -31
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -62
- package/seed/marketplaces/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +1018 -1018
- package/seed/marketplaces/ecc/skills/cost-aware-llm-pipeline/SKILL.md +183 -183
- package/seed/marketplaces/ecc/skills/cost-tracking/SKILL.md +147 -147
- package/seed/marketplaces/ecc/skills/council/SKILL.md +203 -203
- package/seed/marketplaces/ecc/skills/cpp-coding-standards/SKILL.md +723 -723
- package/seed/marketplaces/ecc/skills/cpp-testing/SKILL.md +324 -324
- package/seed/marketplaces/ecc/skills/crosspost/SKILL.md +111 -111
- package/seed/marketplaces/ecc/skills/csharp-testing/SKILL.md +321 -321
- package/seed/marketplaces/ecc/skills/customer-billing-ops/SKILL.md +140 -140
- package/seed/marketplaces/ecc/skills/customs-trade-compliance/SKILL.md +263 -263
- package/seed/marketplaces/ecc/skills/dart-flutter-patterns/SKILL.md +563 -563
- package/seed/marketplaces/ecc/skills/dashboard-builder/SKILL.md +108 -108
- package/seed/marketplaces/ecc/skills/data-scraper-agent/SKILL.md +764 -764
- package/seed/marketplaces/ecc/skills/data-throughput-accelerator/SKILL.md +72 -72
- package/seed/marketplaces/ecc/skills/database-migrations/SKILL.md +429 -429
- package/seed/marketplaces/ecc/skills/deep-research/SKILL.md +159 -159
- package/seed/marketplaces/ecc/skills/defi-amm-security/SKILL.md +166 -166
- package/seed/marketplaces/ecc/skills/deployment-patterns/SKILL.md +427 -427
- package/seed/marketplaces/ecc/skills/design-system/SKILL.md +82 -82
- package/seed/marketplaces/ecc/skills/django-celery/SKILL.md +457 -457
- package/seed/marketplaces/ecc/skills/django-patterns/SKILL.md +734 -734
- package/seed/marketplaces/ecc/skills/django-security/SKILL.md +593 -593
- package/seed/marketplaces/ecc/skills/django-tdd/SKILL.md +729 -729
- package/seed/marketplaces/ecc/skills/django-verification/SKILL.md +469 -469
- package/seed/marketplaces/ecc/skills/dmux-workflows/SKILL.md +191 -191
- package/seed/marketplaces/ecc/skills/docker-patterns/SKILL.md +364 -364
- package/seed/marketplaces/ecc/skills/documentation-lookup/SKILL.md +90 -90
- package/seed/marketplaces/ecc/skills/dotnet-patterns/SKILL.md +321 -321
- package/seed/marketplaces/ecc/skills/e2e-testing/SKILL.md +326 -326
- package/seed/marketplaces/ecc/skills/ecc-guide/SKILL.md +189 -189
- package/seed/marketplaces/ecc/skills/ecc-tools-cost-audit/SKILL.md +160 -160
- package/seed/marketplaces/ecc/skills/email-ops/SKILL.md +121 -121
- package/seed/marketplaces/ecc/skills/energy-procurement/SKILL.md +228 -228
- package/seed/marketplaces/ecc/skills/enterprise-agent-ops/SKILL.md +50 -50
- package/seed/marketplaces/ecc/skills/error-handling/SKILL.md +376 -376
- package/seed/marketplaces/ecc/skills/eval-harness/SKILL.md +270 -270
- package/seed/marketplaces/ecc/skills/evm-token-decimals/SKILL.md +130 -130
- package/seed/marketplaces/ecc/skills/exa-search/SKILL.md +107 -107
- package/seed/marketplaces/ecc/skills/fal-ai-media/SKILL.md +288 -288
- package/seed/marketplaces/ecc/skills/fastapi-patterns/SKILL.md +327 -327
- package/seed/marketplaces/ecc/skills/finance-billing-ops/SKILL.md +127 -127
- package/seed/marketplaces/ecc/skills/flox-environments/SKILL.md +496 -496
- package/seed/marketplaces/ecc/skills/flutter-dart-code-review/SKILL.md +435 -435
- package/seed/marketplaces/ecc/skills/foundation-models-on-device/SKILL.md +243 -243
- package/seed/marketplaces/ecc/skills/frontend-a11y/SKILL.md +446 -446
- package/seed/marketplaces/ecc/skills/frontend-design-direction/SKILL.md +92 -92
- package/seed/marketplaces/ecc/skills/frontend-patterns/SKILL.md +642 -642
- package/seed/marketplaces/ecc/skills/frontend-slides/SKILL.md +184 -184
- package/seed/marketplaces/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -330
- package/seed/marketplaces/ecc/skills/frontend-slides/animation-patterns.md +122 -122
- package/seed/marketplaces/ecc/skills/frontend-slides/html-template.md +419 -419
- package/seed/marketplaces/ecc/skills/frontend-slides/scripts/export-pdf.sh +418 -418
- package/seed/marketplaces/ecc/skills/frontend-slides/scripts/extract-pptx.py +96 -96
- package/seed/marketplaces/ecc/skills/frontend-slides/viewport-base.css +153 -153
- package/seed/marketplaces/ecc/skills/fsharp-testing/SKILL.md +280 -280
- package/seed/marketplaces/ecc/skills/gan-style-harness/SKILL.md +278 -278
- package/seed/marketplaces/ecc/skills/gateguard/SKILL.md +125 -125
- package/seed/marketplaces/ecc/skills/git-workflow/SKILL.md +715 -715
- package/seed/marketplaces/ecc/skills/github-ops/SKILL.md +144 -144
- package/seed/marketplaces/ecc/skills/golang-patterns/SKILL.md +674 -674
- package/seed/marketplaces/ecc/skills/golang-testing/SKILL.md +720 -720
- package/seed/marketplaces/ecc/skills/google-workspace-ops/SKILL.md +95 -95
- package/seed/marketplaces/ecc/skills/healthcare-cdss-patterns/SKILL.md +245 -245
- package/seed/marketplaces/ecc/skills/healthcare-emr-patterns/SKILL.md +159 -159
- package/seed/marketplaces/ecc/skills/healthcare-eval-harness/SKILL.md +207 -207
- package/seed/marketplaces/ecc/skills/healthcare-phi-compliance/SKILL.md +145 -145
- package/seed/marketplaces/ecc/skills/hermes-imports/SKILL.md +88 -88
- package/seed/marketplaces/ecc/skills/hexagonal-architecture/SKILL.md +276 -276
- package/seed/marketplaces/ecc/skills/hipaa-compliance/SKILL.md +78 -78
- package/seed/marketplaces/ecc/skills/homelab-network-readiness/SKILL.md +169 -169
- package/seed/marketplaces/ecc/skills/homelab-network-setup/SKILL.md +129 -129
- package/seed/marketplaces/ecc/skills/homelab-pihole-dns/SKILL.md +274 -274
- package/seed/marketplaces/ecc/skills/homelab-vlan-segmentation/SKILL.md +311 -311
- package/seed/marketplaces/ecc/skills/homelab-wireguard-vpn/SKILL.md +305 -305
- package/seed/marketplaces/ecc/skills/hookify-rules/SKILL.md +128 -128
- package/seed/marketplaces/ecc/skills/inventory-demand-planning/SKILL.md +247 -247
- package/seed/marketplaces/ecc/skills/investor-materials/SKILL.md +96 -96
- package/seed/marketplaces/ecc/skills/investor-outreach/SKILL.md +91 -91
- package/seed/marketplaces/ecc/skills/ios-icon-gen/SKILL.md +157 -157
- package/seed/marketplaces/ecc/skills/ios-icon-gen/scripts/generate_icons.swift +258 -258
- package/seed/marketplaces/ecc/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -235
- package/seed/marketplaces/ecc/skills/iterative-retrieval/SKILL.md +211 -211
- package/seed/marketplaces/ecc/skills/ito-basket-compare/SKILL.md +63 -63
- package/seed/marketplaces/ecc/skills/ito-data-atlas-agent/SKILL.md +63 -63
- package/seed/marketplaces/ecc/skills/ito-market-intelligence/SKILL.md +60 -60
- package/seed/marketplaces/ecc/skills/ito-trade-planner/SKILL.md +67 -67
- package/seed/marketplaces/ecc/skills/java-coding-standards/SKILL.md +383 -383
- package/seed/marketplaces/ecc/skills/jira-integration/SKILL.md +293 -293
- package/seed/marketplaces/ecc/skills/jpa-patterns/SKILL.md +151 -151
- package/seed/marketplaces/ecc/skills/knowledge-ops/SKILL.md +154 -154
- package/seed/marketplaces/ecc/skills/kotlin-coroutines-flows/SKILL.md +284 -284
- package/seed/marketplaces/ecc/skills/kotlin-exposed-patterns/SKILL.md +719 -719
- package/seed/marketplaces/ecc/skills/kotlin-ktor-patterns/SKILL.md +689 -689
- package/seed/marketplaces/ecc/skills/kotlin-patterns/SKILL.md +711 -711
- package/seed/marketplaces/ecc/skills/kotlin-testing/SKILL.md +824 -824
- package/seed/marketplaces/ecc/skills/laravel-patterns/SKILL.md +415 -415
- package/seed/marketplaces/ecc/skills/laravel-plugin-discovery/SKILL.md +229 -229
- package/seed/marketplaces/ecc/skills/laravel-security/SKILL.md +285 -285
- package/seed/marketplaces/ecc/skills/laravel-tdd/SKILL.md +283 -283
- package/seed/marketplaces/ecc/skills/laravel-verification/SKILL.md +179 -179
- package/seed/marketplaces/ecc/skills/latency-critical-systems/SKILL.md +73 -73
- package/seed/marketplaces/ecc/skills/lead-intelligence/SKILL.md +321 -321
- package/seed/marketplaces/ecc/skills/lead-intelligence/agents/enrichment-agent.md +85 -85
- package/seed/marketplaces/ecc/skills/lead-intelligence/agents/mutual-mapper.md +75 -75
- package/seed/marketplaces/ecc/skills/lead-intelligence/agents/outreach-drafter.md +98 -98
- package/seed/marketplaces/ecc/skills/lead-intelligence/agents/signal-scorer.md +60 -60
- package/seed/marketplaces/ecc/skills/liquid-glass-design/SKILL.md +279 -279
- package/seed/marketplaces/ecc/skills/llm-trading-agent-security/SKILL.md +146 -146
- package/seed/marketplaces/ecc/skills/logistics-exception-management/SKILL.md +222 -222
- package/seed/marketplaces/ecc/skills/make-interfaces-feel-better/SKILL.md +151 -151
- package/seed/marketplaces/ecc/skills/manim-video/SKILL.md +89 -89
- package/seed/marketplaces/ecc/skills/manim-video/assets/network_graph_scene.py +52 -52
- package/seed/marketplaces/ecc/skills/market-research/SKILL.md +75 -75
- package/seed/marketplaces/ecc/skills/marketing-campaign/SKILL.md +113 -113
- package/seed/marketplaces/ecc/skills/mcp-server-patterns/SKILL.md +69 -69
- package/seed/marketplaces/ecc/skills/messages-ops/SKILL.md +104 -104
- package/seed/marketplaces/ecc/skills/mle-workflow/SKILL.md +346 -346
- package/seed/marketplaces/ecc/skills/motion-advanced/SKILL.md +596 -596
- package/seed/marketplaces/ecc/skills/motion-foundations/SKILL.md +299 -299
- package/seed/marketplaces/ecc/skills/motion-patterns/SKILL.md +435 -435
- package/seed/marketplaces/ecc/skills/motion-ui/SKILL.md +575 -575
- package/seed/marketplaces/ecc/skills/mysql-patterns/SKILL.md +412 -412
- package/seed/marketplaces/ecc/skills/nanoclaw-repl/SKILL.md +33 -33
- package/seed/marketplaces/ecc/skills/nestjs-patterns/SKILL.md +230 -230
- package/seed/marketplaces/ecc/skills/netmiko-ssh-automation/SKILL.md +173 -173
- package/seed/marketplaces/ecc/skills/network-bgp-diagnostics/SKILL.md +167 -167
- package/seed/marketplaces/ecc/skills/network-config-validation/SKILL.md +210 -210
- package/seed/marketplaces/ecc/skills/network-interface-health/SKILL.md +152 -152
- package/seed/marketplaces/ecc/skills/nextjs-turbopack/SKILL.md +57 -57
- package/seed/marketplaces/ecc/skills/nodejs-keccak256/SKILL.md +102 -102
- package/seed/marketplaces/ecc/skills/nutrient-document-processing/SKILL.md +167 -167
- package/seed/marketplaces/ecc/skills/nuxt4-patterns/SKILL.md +100 -100
- package/seed/marketplaces/ecc/skills/openclaw-persona-forge/SKILL.md +288 -288
- package/seed/marketplaces/ecc/skills/openclaw-persona-forge/gacha.py +224 -224
- package/seed/marketplaces/ecc/skills/openclaw-persona-forge/gacha.sh +5 -5
- package/seed/marketplaces/ecc/skills/openclaw-persona-forge/references/avatar-style.md +124 -124
- package/seed/marketplaces/ecc/skills/openclaw-persona-forge/references/boundary-rules.md +53 -53
- package/seed/marketplaces/ecc/skills/openclaw-persona-forge/references/error-handling.md +53 -53
- package/seed/marketplaces/ecc/skills/openclaw-persona-forge/references/identity-tension.md +48 -48
- package/seed/marketplaces/ecc/skills/openclaw-persona-forge/references/naming-system.md +39 -39
- package/seed/marketplaces/ecc/skills/openclaw-persona-forge/references/output-template.md +166 -166
- package/seed/marketplaces/ecc/skills/opensource-pipeline/SKILL.md +255 -255
- package/seed/marketplaces/ecc/skills/parallel-execution-optimizer/SKILL.md +72 -72
- package/seed/marketplaces/ecc/skills/perl-patterns/SKILL.md +504 -504
- package/seed/marketplaces/ecc/skills/perl-security/SKILL.md +503 -503
- package/seed/marketplaces/ecc/skills/perl-testing/SKILL.md +475 -475
- package/seed/marketplaces/ecc/skills/plan-orchestrate/SKILL.md +262 -262
- package/seed/marketplaces/ecc/skills/plankton-code-quality/SKILL.md +236 -236
- package/seed/marketplaces/ecc/skills/postgres-patterns/SKILL.md +147 -147
- package/seed/marketplaces/ecc/skills/prediction-market-oracle-research/SKILL.md +63 -63
- package/seed/marketplaces/ecc/skills/prediction-market-risk-review/SKILL.md +60 -60
- package/seed/marketplaces/ecc/skills/prisma-patterns/SKILL.md +371 -371
- package/seed/marketplaces/ecc/skills/product-capability/SKILL.md +141 -141
- package/seed/marketplaces/ecc/skills/product-lens/SKILL.md +92 -92
- package/seed/marketplaces/ecc/skills/production-audit/SKILL.md +206 -206
- package/seed/marketplaces/ecc/skills/production-scheduling/SKILL.md +238 -238
- package/seed/marketplaces/ecc/skills/project-flow-ops/SKILL.md +111 -111
- package/seed/marketplaces/ecc/skills/prompt-optimizer/SKILL.md +398 -398
- package/seed/marketplaces/ecc/skills/python-patterns/SKILL.md +750 -750
- package/seed/marketplaces/ecc/skills/python-testing/SKILL.md +816 -816
- package/seed/marketplaces/ecc/skills/pytorch-patterns/SKILL.md +396 -396
- package/seed/marketplaces/ecc/skills/quality-nonconformance/SKILL.md +260 -260
- package/seed/marketplaces/ecc/skills/quarkus-patterns/SKILL.md +722 -722
- package/seed/marketplaces/ecc/skills/quarkus-security/SKILL.md +467 -467
- package/seed/marketplaces/ecc/skills/quarkus-tdd/SKILL.md +811 -811
- package/seed/marketplaces/ecc/skills/quarkus-verification/SKILL.md +479 -479
- package/seed/marketplaces/ecc/skills/ralphinho-rfc-pipeline/SKILL.md +67 -67
- package/seed/marketplaces/ecc/skills/recsys-pipeline-architect/SKILL.md +114 -114
- package/seed/marketplaces/ecc/skills/recursive-decision-ledger/SKILL.md +79 -79
- package/seed/marketplaces/ecc/skills/redis-patterns/SKILL.md +403 -403
- package/seed/marketplaces/ecc/skills/regex-vs-llm-structured-text/SKILL.md +220 -220
- package/seed/marketplaces/ecc/skills/remotion-video-creation/SKILL.md +43 -43
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/3d.md +86 -86
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/animations.md +29 -29
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -173
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -100
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -108
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/assets.md +78 -78
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/audio.md +172 -172
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/calculate-metadata.md +104 -104
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/can-decode.md +75 -75
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/charts.md +58 -58
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/compositions.md +146 -146
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/display-captions.md +126 -126
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/extract-frames.md +229 -229
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/fonts.md +152 -152
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/get-audio-duration.md +58 -58
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -68
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/get-video-duration.md +58 -58
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/gifs.md +138 -138
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/images.md +130 -130
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/import-srt-captions.md +67 -67
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/lottie.md +67 -67
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -34
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/measuring-text.md +143 -143
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/sequencing.md +106 -106
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/tailwind.md +11 -11
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/text-animations.md +20 -20
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/timing.md +179 -179
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/transcribe-captions.md +19 -19
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/transitions.md +122 -122
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/trimming.md +52 -52
- package/seed/marketplaces/ecc/skills/remotion-video-creation/rules/videos.md +171 -171
- package/seed/marketplaces/ecc/skills/repo-scan/SKILL.md +78 -78
- package/seed/marketplaces/ecc/skills/research-ops/SKILL.md +112 -112
- package/seed/marketplaces/ecc/skills/returns-reverse-logistics/SKILL.md +240 -240
- package/seed/marketplaces/ecc/skills/rules-distill/SKILL.md +264 -264
- package/seed/marketplaces/ecc/skills/rules-distill/scripts/scan-rules.sh +58 -58
- package/seed/marketplaces/ecc/skills/rules-distill/scripts/scan-skills.sh +129 -129
- package/seed/marketplaces/ecc/skills/rust-patterns/SKILL.md +499 -499
- package/seed/marketplaces/ecc/skills/rust-testing/SKILL.md +500 -500
- package/seed/marketplaces/ecc/skills/safety-guard/SKILL.md +75 -75
- package/seed/marketplaces/ecc/skills/santa-method/SKILL.md +306 -306
- package/seed/marketplaces/ecc/skills/scientific-db-pubmed-database/SKILL.md +175 -175
- package/seed/marketplaces/ecc/skills/scientific-db-uspto-database/SKILL.md +177 -177
- package/seed/marketplaces/ecc/skills/scientific-pkg-gget/SKILL.md +166 -166
- package/seed/marketplaces/ecc/skills/scientific-thinking-literature-review/SKILL.md +192 -192
- package/seed/marketplaces/ecc/skills/scientific-thinking-scholar-evaluation/SKILL.md +160 -160
- package/seed/marketplaces/ecc/skills/search-first/SKILL.md +182 -182
- package/seed/marketplaces/ecc/skills/security-bounty-hunter/SKILL.md +99 -99
- package/seed/marketplaces/ecc/skills/security-review/SKILL.md +503 -503
- package/seed/marketplaces/ecc/skills/security-review/cloud-infrastructure-security.md +361 -361
- package/seed/marketplaces/ecc/skills/security-scan/SKILL.md +165 -165
- package/seed/marketplaces/ecc/skills/seo/SKILL.md +154 -154
- package/seed/marketplaces/ecc/skills/skill-comply/SKILL.md +58 -58
- package/seed/marketplaces/ecc/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -5
- package/seed/marketplaces/ecc/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -3
- package/seed/marketplaces/ecc/skills/skill-comply/fixtures/tdd_spec.yaml +44 -44
- package/seed/marketplaces/ecc/skills/skill-comply/prompts/classifier.md +24 -24
- package/seed/marketplaces/ecc/skills/skill-comply/prompts/scenario_generator.md +62 -62
- package/seed/marketplaces/ecc/skills/skill-comply/prompts/spec_generator.md +42 -42
- package/seed/marketplaces/ecc/skills/skill-comply/pyproject.toml +15 -15
- package/seed/marketplaces/ecc/skills/skill-comply/scripts/classifier.py +85 -85
- package/seed/marketplaces/ecc/skills/skill-comply/scripts/grader.py +124 -124
- package/seed/marketplaces/ecc/skills/skill-comply/scripts/parser.py +107 -107
- package/seed/marketplaces/ecc/skills/skill-comply/scripts/report.py +170 -170
- package/seed/marketplaces/ecc/skills/skill-comply/scripts/run.py +127 -127
- package/seed/marketplaces/ecc/skills/skill-comply/scripts/runner.py +186 -186
- package/seed/marketplaces/ecc/skills/skill-comply/scripts/scenario_generator.py +70 -70
- package/seed/marketplaces/ecc/skills/skill-comply/scripts/spec_generator.py +72 -72
- package/seed/marketplaces/ecc/skills/skill-comply/scripts/utils.py +13 -13
- package/seed/marketplaces/ecc/skills/skill-comply/tests/test_grader.py +197 -197
- package/seed/marketplaces/ecc/skills/skill-comply/tests/test_parser.py +90 -90
- package/seed/marketplaces/ecc/skills/skill-comply/tests/test_runner.py +172 -172
- package/seed/marketplaces/ecc/skills/skill-scout/SKILL.md +140 -140
- package/seed/marketplaces/ecc/skills/skill-stocktake/SKILL.md +194 -194
- package/seed/marketplaces/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -87
- package/seed/marketplaces/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -56
- package/seed/marketplaces/ecc/skills/skill-stocktake/scripts/scan.sh +170 -170
- package/seed/marketplaces/ecc/skills/social-graph-ranker/SKILL.md +154 -154
- package/seed/marketplaces/ecc/skills/social-publisher/SKILL.md +115 -115
- package/seed/marketplaces/ecc/skills/springboot-patterns/SKILL.md +314 -314
- package/seed/marketplaces/ecc/skills/springboot-security/SKILL.md +272 -272
- package/seed/marketplaces/ecc/skills/springboot-tdd/SKILL.md +158 -158
- package/seed/marketplaces/ecc/skills/springboot-verification/SKILL.md +231 -231
- package/seed/marketplaces/ecc/skills/strategic-compact/SKILL.md +131 -131
- package/seed/marketplaces/ecc/skills/swift-actor-persistence/SKILL.md +143 -143
- package/seed/marketplaces/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -216
- package/seed/marketplaces/ecc/skills/swift-protocol-di-testing/SKILL.md +190 -190
- package/seed/marketplaces/ecc/skills/swiftui-patterns/SKILL.md +259 -259
- package/seed/marketplaces/ecc/skills/tdd-workflow/SKILL.md +463 -463
- package/seed/marketplaces/ecc/skills/team-builder/SKILL.md +168 -168
- package/seed/marketplaces/ecc/skills/terminal-ops/SKILL.md +109 -109
- package/seed/marketplaces/ecc/skills/tinystruct-patterns/SKILL.md +203 -203
- package/seed/marketplaces/ecc/skills/tinystruct-patterns/references/architecture.md +90 -90
- package/seed/marketplaces/ecc/skills/tinystruct-patterns/references/data-handling.md +60 -60
- package/seed/marketplaces/ecc/skills/tinystruct-patterns/references/database.md +99 -99
- package/seed/marketplaces/ecc/skills/tinystruct-patterns/references/routing.md +64 -64
- package/seed/marketplaces/ecc/skills/tinystruct-patterns/references/system-usage.md +97 -97
- package/seed/marketplaces/ecc/skills/tinystruct-patterns/references/testing.md +72 -72
- package/seed/marketplaces/ecc/skills/token-budget-advisor/SKILL.md +133 -133
- package/seed/marketplaces/ecc/skills/ui-demo/SKILL.md +465 -465
- package/seed/marketplaces/ecc/skills/ui-to-vue/SKILL.md +134 -134
- package/seed/marketplaces/ecc/skills/uncloud/SKILL.md +343 -343
- package/seed/marketplaces/ecc/skills/unified-notifications-ops/SKILL.md +187 -187
- package/seed/marketplaces/ecc/skills/verification-loop/SKILL.md +126 -126
- package/seed/marketplaces/ecc/skills/video-editing/SKILL.md +310 -310
- package/seed/marketplaces/ecc/skills/videodb/SKILL.md +374 -374
- package/seed/marketplaces/ecc/skills/videodb/reference/api-reference.md +550 -550
- package/seed/marketplaces/ecc/skills/videodb/reference/capture-reference.md +407 -407
- package/seed/marketplaces/ecc/skills/videodb/reference/capture.md +101 -101
- package/seed/marketplaces/ecc/skills/videodb/reference/editor.md +443 -443
- package/seed/marketplaces/ecc/skills/videodb/reference/generative.md +331 -331
- package/seed/marketplaces/ecc/skills/videodb/reference/rtstream-reference.md +564 -564
- package/seed/marketplaces/ecc/skills/videodb/reference/rtstream.md +65 -65
- package/seed/marketplaces/ecc/skills/videodb/reference/search.md +230 -230
- package/seed/marketplaces/ecc/skills/videodb/reference/streaming.md +406 -406
- package/seed/marketplaces/ecc/skills/videodb/reference/use-cases.md +118 -118
- package/seed/marketplaces/ecc/skills/videodb/scripts/ws_listener.py +282 -282
- package/seed/marketplaces/ecc/skills/visa-doc-translate/README.md +86 -86
- package/seed/marketplaces/ecc/skills/visa-doc-translate/SKILL.md +117 -117
- package/seed/marketplaces/ecc/skills/vite-patterns/SKILL.md +449 -449
- package/seed/marketplaces/ecc/skills/windows-desktop-e2e/SKILL.md +887 -887
- package/seed/marketplaces/ecc/skills/workspace-surface-audit/SKILL.md +125 -125
- package/seed/marketplaces/ecc/skills/x-api/SKILL.md +234 -234
- package/seed/marketplaces/ecc/.claude/commands/add-language-rules.md +0 -39
- package/seed/marketplaces/ecc/.claude/commands/database-migration.md +0 -36
- package/seed/marketplaces/ecc/.claude/commands/feature-development.md +0 -38
- package/seed/marketplaces/ecc/.claude/ecc-tools.json +0 -334
- package/seed/marketplaces/ecc/.claude/enterprise/controls.md +0 -15
- package/seed/marketplaces/ecc/.claude/homunculus/instincts/inherited/everything-claude-code-instincts.yaml +0 -162
- package/seed/marketplaces/ecc/.claude/identity.json +0 -14
- package/seed/marketplaces/ecc/.claude/package-manager.json +0 -4
- package/seed/marketplaces/ecc/.claude/research/everything-claude-code-research-playbook.md +0 -21
- package/seed/marketplaces/ecc/.claude/rules/everything-claude-code-guardrails.md +0 -43
- package/seed/marketplaces/ecc/.claude/rules/node.md +0 -56
- package/seed/marketplaces/ecc/.claude/skills/everything-claude-code/SKILL.md +0 -442
- package/seed/marketplaces/ecc/.claude/team/everything-claude-code-team-config.json +0 -15
- package/seed/marketplaces/ecc/.vscode/settings.json +0 -17
|
@@ -1,210 +1,210 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: network-config-validation
|
|
3
|
-
description: Pre-deployment checks for router and switch configuration, including dangerous commands, duplicate addresses, subnet overlaps, stale references, management-plane risk, and IOS-style security hygiene.
|
|
4
|
-
origin: community
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Network Config Validation
|
|
8
|
-
|
|
9
|
-
Use this skill to review network configuration before a change window or before
|
|
10
|
-
an automation run touches production devices.
|
|
11
|
-
|
|
12
|
-
## When to Use
|
|
13
|
-
|
|
14
|
-
- Reviewing Cisco IOS or IOS-XE style snippets before deployment.
|
|
15
|
-
- Auditing generated config from scripts or templates.
|
|
16
|
-
- Looking for dangerous commands, duplicate IP addresses, or subnet overlaps.
|
|
17
|
-
- Checking whether ACLs, route-maps, prefix-lists, or line policies are referenced
|
|
18
|
-
but not defined.
|
|
19
|
-
- Building lightweight pre-flight scripts for network automation.
|
|
20
|
-
|
|
21
|
-
## How It Works
|
|
22
|
-
|
|
23
|
-
Treat config validation as layered evidence, not as a complete parser. Regex
|
|
24
|
-
checks are useful for pre-flight warnings, but final approval still needs a
|
|
25
|
-
network engineer to review intent, platform syntax, and rollback steps.
|
|
26
|
-
|
|
27
|
-
Validate in this order:
|
|
28
|
-
|
|
29
|
-
1. Destructive commands.
|
|
30
|
-
2. Credential and management-plane exposure.
|
|
31
|
-
3. Duplicate addresses and overlapping subnets.
|
|
32
|
-
4. Stale references to ACLs, route-maps, prefix-lists, and interfaces.
|
|
33
|
-
5. Operational hygiene such as NTP, timestamps, remote logging, and banners.
|
|
34
|
-
|
|
35
|
-
## Dangerous Command Detection
|
|
36
|
-
|
|
37
|
-
```python
|
|
38
|
-
import re
|
|
39
|
-
|
|
40
|
-
DANGEROUS_PATTERNS: list[tuple[re.Pattern[str], str]] = [
|
|
41
|
-
(re.compile(r"\breload\b", re.I), "reload causes downtime"),
|
|
42
|
-
(re.compile(r"\berase\s+(startup|nvram|flash)", re.I), "erases persistent storage"),
|
|
43
|
-
(re.compile(r"\bformat\b", re.I), "formats a device filesystem"),
|
|
44
|
-
(re.compile(r"\bno\s+router\s+(bgp|ospf|eigrp)\b", re.I), "removes a routing process"),
|
|
45
|
-
(re.compile(r"\bno\s+interface\s+\S+", re.I), "removes interface configuration"),
|
|
46
|
-
(re.compile(r"\baaa\s+new-model\b", re.I), "changes authentication behavior"),
|
|
47
|
-
(re.compile(r"\bcrypto\s+key\s+(zeroize|generate)\b", re.I), "changes device SSH keys"),
|
|
48
|
-
]
|
|
49
|
-
|
|
50
|
-
def find_dangerous_commands(lines: list[str]) -> list[dict[str, str | int]]:
|
|
51
|
-
findings = []
|
|
52
|
-
for line_number, line in enumerate(lines, start=1):
|
|
53
|
-
stripped = line.strip()
|
|
54
|
-
for pattern, reason in DANGEROUS_PATTERNS:
|
|
55
|
-
if pattern.search(stripped):
|
|
56
|
-
findings.append({
|
|
57
|
-
"line": line_number,
|
|
58
|
-
"command": stripped,
|
|
59
|
-
"reason": reason,
|
|
60
|
-
})
|
|
61
|
-
return findings
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## Duplicate IPs And Subnet Overlaps
|
|
65
|
-
|
|
66
|
-
```python
|
|
67
|
-
import ipaddress
|
|
68
|
-
import re
|
|
69
|
-
from collections import Counter
|
|
70
|
-
|
|
71
|
-
IP_ADDRESS_RE = re.compile(
|
|
72
|
-
r"^\s*ip address\s+"
|
|
73
|
-
r"(?P<ip>\d{1,3}(?:\.\d{1,3}){3})\s+"
|
|
74
|
-
r"(?P<mask>\d{1,3}(?:\.\d{1,3}){3})\b",
|
|
75
|
-
re.I | re.M,
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
def extract_interfaces(config: str) -> list[dict[str, str]]:
|
|
79
|
-
results = []
|
|
80
|
-
current = None
|
|
81
|
-
for line in config.splitlines():
|
|
82
|
-
if line.startswith("interface "):
|
|
83
|
-
current = line.split(maxsplit=1)[1]
|
|
84
|
-
continue
|
|
85
|
-
match = IP_ADDRESS_RE.match(line)
|
|
86
|
-
if current and match:
|
|
87
|
-
ip = match.group("ip")
|
|
88
|
-
mask = match.group("mask")
|
|
89
|
-
network = ipaddress.ip_interface(f"{ip}/{mask}").network
|
|
90
|
-
results.append({"interface": current, "ip": ip, "network": str(network)})
|
|
91
|
-
return results
|
|
92
|
-
|
|
93
|
-
def find_duplicate_ips(config: str) -> list[str]:
|
|
94
|
-
ips = [entry["ip"] for entry in extract_interfaces(config)]
|
|
95
|
-
counts = Counter(ips)
|
|
96
|
-
return sorted(ip for ip, count in counts.items() if count > 1)
|
|
97
|
-
|
|
98
|
-
def find_subnet_overlaps(config: str) -> list[tuple[str, str]]:
|
|
99
|
-
networks = [ipaddress.ip_network(entry["network"]) for entry in extract_interfaces(config)]
|
|
100
|
-
overlaps = []
|
|
101
|
-
for index, left in enumerate(networks):
|
|
102
|
-
for right in networks[index + 1:]:
|
|
103
|
-
if left.overlaps(right):
|
|
104
|
-
overlaps.append((str(left), str(right)))
|
|
105
|
-
return overlaps
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## Management-Plane Checks
|
|
109
|
-
|
|
110
|
-
Parse VTY blocks by section so access-class checks do not spill across unrelated
|
|
111
|
-
lines.
|
|
112
|
-
|
|
113
|
-
```python
|
|
114
|
-
import re
|
|
115
|
-
|
|
116
|
-
def iter_blocks(config: str, starts_with: str) -> list[str]:
|
|
117
|
-
blocks = []
|
|
118
|
-
current: list[str] = []
|
|
119
|
-
for line in config.splitlines():
|
|
120
|
-
if line.startswith(starts_with):
|
|
121
|
-
if current:
|
|
122
|
-
blocks.append("\n".join(current))
|
|
123
|
-
current = [line]
|
|
124
|
-
continue
|
|
125
|
-
if current:
|
|
126
|
-
if line and not line.startswith(" "):
|
|
127
|
-
blocks.append("\n".join(current))
|
|
128
|
-
current = []
|
|
129
|
-
else:
|
|
130
|
-
current.append(line)
|
|
131
|
-
if current:
|
|
132
|
-
blocks.append("\n".join(current))
|
|
133
|
-
return blocks
|
|
134
|
-
|
|
135
|
-
def check_vty_blocks(config: str) -> list[str]:
|
|
136
|
-
issues = []
|
|
137
|
-
for block in iter_blocks(config, "line vty"):
|
|
138
|
-
if re.search(r"transport\s+input\s+.*telnet", block, re.I):
|
|
139
|
-
issues.append("VTY allows Telnet; require SSH only.")
|
|
140
|
-
if not re.search(r"\baccess-class\s+\S+\s+in\b", block, re.I):
|
|
141
|
-
issues.append("VTY block has no inbound access-class source restriction.")
|
|
142
|
-
if not re.search(r"\bexec-timeout\s+\d+\s+\d+\b", block, re.I):
|
|
143
|
-
issues.append("VTY block has no explicit exec-timeout.")
|
|
144
|
-
return issues
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Security Hygiene Checks
|
|
148
|
-
|
|
149
|
-
```python
|
|
150
|
-
SECURITY_PATTERNS = [
|
|
151
|
-
(re.compile(r"\bsnmp-server community\s+(public|private)\b", re.I),
|
|
152
|
-
"default SNMP community configured"),
|
|
153
|
-
(re.compile(r"\bsnmp-server community\s+\S+", re.I),
|
|
154
|
-
"SNMPv2 community string configured; prefer SNMPv3 authPriv"),
|
|
155
|
-
(re.compile(r"\bip ssh version 1\b", re.I),
|
|
156
|
-
"SSH version 1 enabled"),
|
|
157
|
-
(re.compile(r"\benable password\b", re.I),
|
|
158
|
-
"enable password is present; use enable secret"),
|
|
159
|
-
(re.compile(r"\busername\s+\S+\s+password\b", re.I),
|
|
160
|
-
"local username uses password instead of secret"),
|
|
161
|
-
]
|
|
162
|
-
|
|
163
|
-
BEST_PRACTICE_PATTERNS = [
|
|
164
|
-
(re.compile(r"\bntp server\b", re.I), "NTP server"),
|
|
165
|
-
(re.compile(r"\bservice timestamps\b", re.I), "log timestamps"),
|
|
166
|
-
(re.compile(r"\blogging\s+\S+", re.I), "logging destination or buffer"),
|
|
167
|
-
(re.compile(r"\bsnmp-server group\s+\S+\s+v3\s+priv\b", re.I), "SNMPv3 authPriv group"),
|
|
168
|
-
(re.compile(r"\bbanner\s+(login|motd)\b", re.I), "login banner"),
|
|
169
|
-
]
|
|
170
|
-
|
|
171
|
-
def check_security(config: str) -> list[str]:
|
|
172
|
-
return [message for pattern, message in SECURITY_PATTERNS if pattern.search(config)]
|
|
173
|
-
|
|
174
|
-
def check_missing_hygiene(config: str) -> list[str]:
|
|
175
|
-
return [
|
|
176
|
-
f"Missing {description}"
|
|
177
|
-
for pattern, description in BEST_PRACTICE_PATTERNS
|
|
178
|
-
if not pattern.search(config)
|
|
179
|
-
]
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
## Examples
|
|
183
|
-
|
|
184
|
-
### Change-Window Preflight
|
|
185
|
-
|
|
186
|
-
1. Run dangerous-command checks on the exact snippet to be pasted.
|
|
187
|
-
2. Run duplicate IP and subnet overlap checks against the full candidate config.
|
|
188
|
-
3. Confirm every referenced ACL, route-map, and prefix-list exists.
|
|
189
|
-
4. Confirm rollback commands and out-of-band access before any management-plane
|
|
190
|
-
change.
|
|
191
|
-
|
|
192
|
-
### Automation Preflight
|
|
193
|
-
|
|
194
|
-
Use validation as a blocking gate before Netmiko, NAPALM, Ansible, or vendor API
|
|
195
|
-
automation pushes a generated config. Fail closed on dangerous commands and
|
|
196
|
-
credentials. Warn on best-practice gaps that are outside the change scope.
|
|
197
|
-
|
|
198
|
-
## Anti-Patterns
|
|
199
|
-
|
|
200
|
-
- Treating regex validation as a device parser.
|
|
201
|
-
- Applying generated config without a dry-run diff.
|
|
202
|
-
- Recommending SNMPv2 community strings as a monitoring requirement.
|
|
203
|
-
- Checking VTY blocks with regex that can accidentally span unrelated sections.
|
|
204
|
-
- Testing firewall behavior by disabling ACLs instead of reading counters/logs.
|
|
205
|
-
|
|
206
|
-
## See Also
|
|
207
|
-
|
|
208
|
-
- Agent: `network-config-reviewer`
|
|
209
|
-
- Agent: `network-troubleshooter`
|
|
210
|
-
- Skill: `network-interface-health`
|
|
1
|
+
---
|
|
2
|
+
name: network-config-validation
|
|
3
|
+
description: Pre-deployment checks for router and switch configuration, including dangerous commands, duplicate addresses, subnet overlaps, stale references, management-plane risk, and IOS-style security hygiene.
|
|
4
|
+
origin: community
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Network Config Validation
|
|
8
|
+
|
|
9
|
+
Use this skill to review network configuration before a change window or before
|
|
10
|
+
an automation run touches production devices.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- Reviewing Cisco IOS or IOS-XE style snippets before deployment.
|
|
15
|
+
- Auditing generated config from scripts or templates.
|
|
16
|
+
- Looking for dangerous commands, duplicate IP addresses, or subnet overlaps.
|
|
17
|
+
- Checking whether ACLs, route-maps, prefix-lists, or line policies are referenced
|
|
18
|
+
but not defined.
|
|
19
|
+
- Building lightweight pre-flight scripts for network automation.
|
|
20
|
+
|
|
21
|
+
## How It Works
|
|
22
|
+
|
|
23
|
+
Treat config validation as layered evidence, not as a complete parser. Regex
|
|
24
|
+
checks are useful for pre-flight warnings, but final approval still needs a
|
|
25
|
+
network engineer to review intent, platform syntax, and rollback steps.
|
|
26
|
+
|
|
27
|
+
Validate in this order:
|
|
28
|
+
|
|
29
|
+
1. Destructive commands.
|
|
30
|
+
2. Credential and management-plane exposure.
|
|
31
|
+
3. Duplicate addresses and overlapping subnets.
|
|
32
|
+
4. Stale references to ACLs, route-maps, prefix-lists, and interfaces.
|
|
33
|
+
5. Operational hygiene such as NTP, timestamps, remote logging, and banners.
|
|
34
|
+
|
|
35
|
+
## Dangerous Command Detection
|
|
36
|
+
|
|
37
|
+
```python
|
|
38
|
+
import re
|
|
39
|
+
|
|
40
|
+
DANGEROUS_PATTERNS: list[tuple[re.Pattern[str], str]] = [
|
|
41
|
+
(re.compile(r"\breload\b", re.I), "reload causes downtime"),
|
|
42
|
+
(re.compile(r"\berase\s+(startup|nvram|flash)", re.I), "erases persistent storage"),
|
|
43
|
+
(re.compile(r"\bformat\b", re.I), "formats a device filesystem"),
|
|
44
|
+
(re.compile(r"\bno\s+router\s+(bgp|ospf|eigrp)\b", re.I), "removes a routing process"),
|
|
45
|
+
(re.compile(r"\bno\s+interface\s+\S+", re.I), "removes interface configuration"),
|
|
46
|
+
(re.compile(r"\baaa\s+new-model\b", re.I), "changes authentication behavior"),
|
|
47
|
+
(re.compile(r"\bcrypto\s+key\s+(zeroize|generate)\b", re.I), "changes device SSH keys"),
|
|
48
|
+
]
|
|
49
|
+
|
|
50
|
+
def find_dangerous_commands(lines: list[str]) -> list[dict[str, str | int]]:
|
|
51
|
+
findings = []
|
|
52
|
+
for line_number, line in enumerate(lines, start=1):
|
|
53
|
+
stripped = line.strip()
|
|
54
|
+
for pattern, reason in DANGEROUS_PATTERNS:
|
|
55
|
+
if pattern.search(stripped):
|
|
56
|
+
findings.append({
|
|
57
|
+
"line": line_number,
|
|
58
|
+
"command": stripped,
|
|
59
|
+
"reason": reason,
|
|
60
|
+
})
|
|
61
|
+
return findings
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Duplicate IPs And Subnet Overlaps
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
import ipaddress
|
|
68
|
+
import re
|
|
69
|
+
from collections import Counter
|
|
70
|
+
|
|
71
|
+
IP_ADDRESS_RE = re.compile(
|
|
72
|
+
r"^\s*ip address\s+"
|
|
73
|
+
r"(?P<ip>\d{1,3}(?:\.\d{1,3}){3})\s+"
|
|
74
|
+
r"(?P<mask>\d{1,3}(?:\.\d{1,3}){3})\b",
|
|
75
|
+
re.I | re.M,
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
def extract_interfaces(config: str) -> list[dict[str, str]]:
|
|
79
|
+
results = []
|
|
80
|
+
current = None
|
|
81
|
+
for line in config.splitlines():
|
|
82
|
+
if line.startswith("interface "):
|
|
83
|
+
current = line.split(maxsplit=1)[1]
|
|
84
|
+
continue
|
|
85
|
+
match = IP_ADDRESS_RE.match(line)
|
|
86
|
+
if current and match:
|
|
87
|
+
ip = match.group("ip")
|
|
88
|
+
mask = match.group("mask")
|
|
89
|
+
network = ipaddress.ip_interface(f"{ip}/{mask}").network
|
|
90
|
+
results.append({"interface": current, "ip": ip, "network": str(network)})
|
|
91
|
+
return results
|
|
92
|
+
|
|
93
|
+
def find_duplicate_ips(config: str) -> list[str]:
|
|
94
|
+
ips = [entry["ip"] for entry in extract_interfaces(config)]
|
|
95
|
+
counts = Counter(ips)
|
|
96
|
+
return sorted(ip for ip, count in counts.items() if count > 1)
|
|
97
|
+
|
|
98
|
+
def find_subnet_overlaps(config: str) -> list[tuple[str, str]]:
|
|
99
|
+
networks = [ipaddress.ip_network(entry["network"]) for entry in extract_interfaces(config)]
|
|
100
|
+
overlaps = []
|
|
101
|
+
for index, left in enumerate(networks):
|
|
102
|
+
for right in networks[index + 1:]:
|
|
103
|
+
if left.overlaps(right):
|
|
104
|
+
overlaps.append((str(left), str(right)))
|
|
105
|
+
return overlaps
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Management-Plane Checks
|
|
109
|
+
|
|
110
|
+
Parse VTY blocks by section so access-class checks do not spill across unrelated
|
|
111
|
+
lines.
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
import re
|
|
115
|
+
|
|
116
|
+
def iter_blocks(config: str, starts_with: str) -> list[str]:
|
|
117
|
+
blocks = []
|
|
118
|
+
current: list[str] = []
|
|
119
|
+
for line in config.splitlines():
|
|
120
|
+
if line.startswith(starts_with):
|
|
121
|
+
if current:
|
|
122
|
+
blocks.append("\n".join(current))
|
|
123
|
+
current = [line]
|
|
124
|
+
continue
|
|
125
|
+
if current:
|
|
126
|
+
if line and not line.startswith(" "):
|
|
127
|
+
blocks.append("\n".join(current))
|
|
128
|
+
current = []
|
|
129
|
+
else:
|
|
130
|
+
current.append(line)
|
|
131
|
+
if current:
|
|
132
|
+
blocks.append("\n".join(current))
|
|
133
|
+
return blocks
|
|
134
|
+
|
|
135
|
+
def check_vty_blocks(config: str) -> list[str]:
|
|
136
|
+
issues = []
|
|
137
|
+
for block in iter_blocks(config, "line vty"):
|
|
138
|
+
if re.search(r"transport\s+input\s+.*telnet", block, re.I):
|
|
139
|
+
issues.append("VTY allows Telnet; require SSH only.")
|
|
140
|
+
if not re.search(r"\baccess-class\s+\S+\s+in\b", block, re.I):
|
|
141
|
+
issues.append("VTY block has no inbound access-class source restriction.")
|
|
142
|
+
if not re.search(r"\bexec-timeout\s+\d+\s+\d+\b", block, re.I):
|
|
143
|
+
issues.append("VTY block has no explicit exec-timeout.")
|
|
144
|
+
return issues
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Security Hygiene Checks
|
|
148
|
+
|
|
149
|
+
```python
|
|
150
|
+
SECURITY_PATTERNS = [
|
|
151
|
+
(re.compile(r"\bsnmp-server community\s+(public|private)\b", re.I),
|
|
152
|
+
"default SNMP community configured"),
|
|
153
|
+
(re.compile(r"\bsnmp-server community\s+\S+", re.I),
|
|
154
|
+
"SNMPv2 community string configured; prefer SNMPv3 authPriv"),
|
|
155
|
+
(re.compile(r"\bip ssh version 1\b", re.I),
|
|
156
|
+
"SSH version 1 enabled"),
|
|
157
|
+
(re.compile(r"\benable password\b", re.I),
|
|
158
|
+
"enable password is present; use enable secret"),
|
|
159
|
+
(re.compile(r"\busername\s+\S+\s+password\b", re.I),
|
|
160
|
+
"local username uses password instead of secret"),
|
|
161
|
+
]
|
|
162
|
+
|
|
163
|
+
BEST_PRACTICE_PATTERNS = [
|
|
164
|
+
(re.compile(r"\bntp server\b", re.I), "NTP server"),
|
|
165
|
+
(re.compile(r"\bservice timestamps\b", re.I), "log timestamps"),
|
|
166
|
+
(re.compile(r"\blogging\s+\S+", re.I), "logging destination or buffer"),
|
|
167
|
+
(re.compile(r"\bsnmp-server group\s+\S+\s+v3\s+priv\b", re.I), "SNMPv3 authPriv group"),
|
|
168
|
+
(re.compile(r"\bbanner\s+(login|motd)\b", re.I), "login banner"),
|
|
169
|
+
]
|
|
170
|
+
|
|
171
|
+
def check_security(config: str) -> list[str]:
|
|
172
|
+
return [message for pattern, message in SECURITY_PATTERNS if pattern.search(config)]
|
|
173
|
+
|
|
174
|
+
def check_missing_hygiene(config: str) -> list[str]:
|
|
175
|
+
return [
|
|
176
|
+
f"Missing {description}"
|
|
177
|
+
for pattern, description in BEST_PRACTICE_PATTERNS
|
|
178
|
+
if not pattern.search(config)
|
|
179
|
+
]
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Examples
|
|
183
|
+
|
|
184
|
+
### Change-Window Preflight
|
|
185
|
+
|
|
186
|
+
1. Run dangerous-command checks on the exact snippet to be pasted.
|
|
187
|
+
2. Run duplicate IP and subnet overlap checks against the full candidate config.
|
|
188
|
+
3. Confirm every referenced ACL, route-map, and prefix-list exists.
|
|
189
|
+
4. Confirm rollback commands and out-of-band access before any management-plane
|
|
190
|
+
change.
|
|
191
|
+
|
|
192
|
+
### Automation Preflight
|
|
193
|
+
|
|
194
|
+
Use validation as a blocking gate before Netmiko, NAPALM, Ansible, or vendor API
|
|
195
|
+
automation pushes a generated config. Fail closed on dangerous commands and
|
|
196
|
+
credentials. Warn on best-practice gaps that are outside the change scope.
|
|
197
|
+
|
|
198
|
+
## Anti-Patterns
|
|
199
|
+
|
|
200
|
+
- Treating regex validation as a device parser.
|
|
201
|
+
- Applying generated config without a dry-run diff.
|
|
202
|
+
- Recommending SNMPv2 community strings as a monitoring requirement.
|
|
203
|
+
- Checking VTY blocks with regex that can accidentally span unrelated sections.
|
|
204
|
+
- Testing firewall behavior by disabling ACLs instead of reading counters/logs.
|
|
205
|
+
|
|
206
|
+
## See Also
|
|
207
|
+
|
|
208
|
+
- Agent: `network-config-reviewer`
|
|
209
|
+
- Agent: `network-troubleshooter`
|
|
210
|
+
- Skill: `network-interface-health`
|