packet-tracer-skill 0.1.0 → 0.2.0

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.
Files changed (72) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/CITATION.cff +15 -0
  3. package/CODE_OF_CONDUCT.md +26 -0
  4. package/CONTRIBUTING.md +120 -0
  5. package/README.md +164 -543
  6. package/SECURITY.md +36 -0
  7. package/SKILL.md +46 -5
  8. package/bin/packet-tracer-skill.js +503 -7
  9. package/docs/curated-donor-registry.md +51 -0
  10. package/docs/discovery-keywords.md +55 -0
  11. package/docs/github-discussions-setup.md +34 -0
  12. package/docs/github-metadata.md +33 -0
  13. package/docs/hero-demo-plan.md +42 -0
  14. package/docs/publish-preview-roadmap.md +31 -0
  15. package/docs/release-checklist.md +60 -0
  16. package/docs/release-notes-0.2.0.md +25 -0
  17. package/docs/runtime-truth.md +49 -0
  18. package/docs/screenshots/.gitkeep +1 -0
  19. package/docs/screenshots/packet-tracer-topology-cropped.png +0 -0
  20. package/examples/README.md +72 -0
  21. package/examples/complex_campus_master_edit_v4.inventory.json +94 -0
  22. package/examples/gallery.md +39 -0
  23. package/examples/home_iot_cli_edit_v1.inventory.json +58 -0
  24. package/examples/index.json +127 -0
  25. package/examples/screenshots/complex_campus_master_edit_v4.png +0 -0
  26. package/examples/screenshots/home_iot_cli_edit_v1.png +0 -0
  27. package/examples/screenshots/service_heavy_cli_edit_v1.png +0 -0
  28. package/examples/screenshots/service_heavy_cli_edit_v1_dhcp.png +0 -0
  29. package/examples/screenshots/service_heavy_cli_edit_v1_dns.png +0 -0
  30. package/examples/screenshots/service_heavy_cli_edit_v1_ftp.png +0 -0
  31. package/examples/service_heavy_cli_edit_v1.inventory.json +51 -0
  32. package/package.json +41 -4
  33. package/references/curated-donor-registry.json +71 -0
  34. package/references/scenario-fixture-corpus.json +53 -0
  35. package/scripts/__pycache__/build_examples_index.cpython-314.pyc +0 -0
  36. package/scripts/__pycache__/build_sample_catalog.cpython-314.pyc +0 -0
  37. package/scripts/__pycache__/coverage_matrix.cpython-314.pyc +0 -0
  38. package/scripts/__pycache__/donor_diagnostics.cpython-314.pyc +0 -0
  39. package/scripts/__pycache__/generate_pkt.cpython-314.pyc +0 -0
  40. package/scripts/__pycache__/install_skill.cpython-314.pyc +0 -0
  41. package/scripts/__pycache__/intent_parser.cpython-314.pyc +0 -0
  42. package/scripts/__pycache__/packet_tracer_env.cpython-314.pyc +0 -0
  43. package/scripts/__pycache__/pkt_builder.cpython-314.pyc +0 -0
  44. package/scripts/__pycache__/pkt_codec.cpython-314.pyc +0 -0
  45. package/scripts/__pycache__/pkt_editor.cpython-314.pyc +0 -0
  46. package/scripts/__pycache__/pkt_transformer.cpython-314.pyc +0 -0
  47. package/scripts/__pycache__/remote_search.cpython-314.pyc +0 -0
  48. package/scripts/__pycache__/runtime_doctor.cpython-314.pyc +0 -0
  49. package/scripts/__pycache__/sample_catalog.cpython-314.pyc +0 -0
  50. package/scripts/__pycache__/sample_selector.cpython-314.pyc +0 -0
  51. package/scripts/__pycache__/twofish_diagnostics.cpython-314.pyc +0 -0
  52. package/scripts/__pycache__/twofish_runtime.cpython-314.pyc +0 -0
  53. package/scripts/__pycache__/workspace_repair.cpython-314.pyc +0 -0
  54. package/scripts/build_examples_index.py +314 -0
  55. package/scripts/coverage_matrix.py +783 -0
  56. package/scripts/donor_diagnostics.py +6 -3
  57. package/scripts/generate_pkt.py +2605 -98
  58. package/scripts/intent_parser.py +173 -18
  59. package/scripts/packet_tracer_env.py +127 -14
  60. package/scripts/pkt_editor.py +312 -12
  61. package/scripts/pkt_transformer.py +195 -9
  62. package/scripts/remote_search.py +169 -0
  63. package/scripts/runtime_doctor.py +286 -0
  64. package/scripts/sample_catalog.py +643 -38
  65. package/scripts/sample_selector.py +251 -5
  66. package/scripts/setup.ps1 +2 -1
  67. package/scripts/twofish_diagnostics.py +20 -23
  68. package/scripts/twofish_runtime.py +101 -0
  69. package/scripts/vendor/README.md +13 -1
  70. package/scripts/vendor/__pycache__/twofish.cpython-314.pyc +0 -0
  71. package/scripts/vendor/twofish.py +11 -9
  72. package/scripts/workspace_repair.py +69 -2
@@ -0,0 +1,127 @@
1
+ {
2
+ "curated_examples": [
3
+ {
4
+ "name": "complex_campus_master_edit_v4",
5
+ "title": "Complex Campus",
6
+ "scenario_family": "campus",
7
+ "summary": "Management VLAN, Telnet, ACL, DNS, email, AAA, and multi-SSID wireless campus edit.",
8
+ "capabilities": [
9
+ "management_vlan",
10
+ "telnet",
11
+ "acl",
12
+ "server_dns",
13
+ "server_email",
14
+ "server_aaa",
15
+ "wireless_mutation"
16
+ ],
17
+ "primary_capabilities": [
18
+ "management_vlan",
19
+ "telnet",
20
+ "acl",
21
+ "server_dns",
22
+ "server_email",
23
+ "server_aaa",
24
+ "wireless_mutation"
25
+ ],
26
+ "acceptance_rank": 3,
27
+ "acceptance_label": "known_working_example",
28
+ "acceptance_excerpt": "known_working_example | donor=donor-backed | capabilities=management_vlan, telnet, acl",
29
+ "donor_origin": "donor-backed",
30
+ "fixture_name": "campus_core_complex",
31
+ "matrix_excerpt": "campus_core_complex | known_working_example | family=campus",
32
+ "parity_excerpt": "management_vlan=generate-ready, telnet=generate-ready, acl=generate-ready",
33
+ "decision_excerpt": "decision=known_working_example | donor_origin=donor-backed",
34
+ "runtime_excerpt": "runtime=donor-backed example artifact",
35
+ "inventory_json": "examples/complex_campus_master_edit_v4.inventory.json",
36
+ "screenshots": [
37
+ "examples/screenshots/complex_campus_master_edit_v4.png"
38
+ ],
39
+ "screenshot_count": 1,
40
+ "screenshot": "examples/screenshots/complex_campus_master_edit_v4.png",
41
+ "detail_images": [],
42
+ "preview": "examples/previews/complex_campus_master_edit_v4.svg",
43
+ "image": "examples/screenshots/complex_campus_master_edit_v4.png"
44
+ },
45
+ {
46
+ "name": "home_iot_cli_edit_v1",
47
+ "title": "Home IoT",
48
+ "scenario_family": "home_iot",
49
+ "summary": "Home gateway and IoT device onboarding with gateway-backed registration state.",
50
+ "capabilities": [
51
+ "iot",
52
+ "iot_registration",
53
+ "wireless_ap"
54
+ ],
55
+ "primary_capabilities": [
56
+ "iot",
57
+ "iot_registration",
58
+ "wireless_ap"
59
+ ],
60
+ "acceptance_rank": 3,
61
+ "acceptance_label": "known_working_example",
62
+ "acceptance_excerpt": "known_working_example | donor=donor-backed | capabilities=iot, iot_registration, wireless_ap",
63
+ "donor_origin": "donor-backed",
64
+ "fixture_name": "home_iot_complex",
65
+ "matrix_excerpt": "home_iot_complex | known_working_example | family=home_iot",
66
+ "parity_excerpt": "iot=generate-ready, iot_registration=generate-ready, wireless_ap=generate-ready",
67
+ "decision_excerpt": "decision=known_working_example | donor_origin=donor-backed",
68
+ "runtime_excerpt": "runtime=donor-backed example artifact",
69
+ "inventory_json": "examples/home_iot_cli_edit_v1.inventory.json",
70
+ "screenshots": [
71
+ "examples/screenshots/home_iot_cli_edit_v1.png"
72
+ ],
73
+ "screenshot_count": 1,
74
+ "screenshot": "examples/screenshots/home_iot_cli_edit_v1.png",
75
+ "detail_images": [],
76
+ "preview": "examples/previews/home_iot_cli_edit_v1.svg",
77
+ "image": "examples/screenshots/home_iot_cli_edit_v1.png"
78
+ },
79
+ {
80
+ "name": "service_heavy_cli_edit_v1",
81
+ "title": "Service Heavy",
82
+ "scenario_family": "service_heavy",
83
+ "summary": "Service-rich server lab with DNS, DHCP, FTP, email, syslog, AAA, and detailed service metadata.",
84
+ "capabilities": [
85
+ "server_dns",
86
+ "server_dhcp",
87
+ "server_ftp",
88
+ "server_email",
89
+ "server_syslog",
90
+ "server_aaa"
91
+ ],
92
+ "primary_capabilities": [
93
+ "server_dns",
94
+ "server_dhcp",
95
+ "server_ftp",
96
+ "server_email",
97
+ "server_syslog",
98
+ "server_aaa"
99
+ ],
100
+ "acceptance_rank": 3,
101
+ "acceptance_label": "known_working_example",
102
+ "acceptance_excerpt": "known_working_example | donor=donor-backed | capabilities=server_dns, server_dhcp, server_ftp",
103
+ "donor_origin": "donor-backed",
104
+ "fixture_name": "service_heavy_complex",
105
+ "matrix_excerpt": "service_heavy_complex | known_working_example | family=service_heavy",
106
+ "parity_excerpt": "server_dns=generate-ready, server_dhcp=generate-ready, server_ftp=generate-ready",
107
+ "decision_excerpt": "decision=known_working_example | donor_origin=donor-backed",
108
+ "runtime_excerpt": "runtime=donor-backed example artifact",
109
+ "inventory_json": "examples/service_heavy_cli_edit_v1.inventory.json",
110
+ "screenshots": [
111
+ "examples/screenshots/service_heavy_cli_edit_v1.png",
112
+ "examples/screenshots/service_heavy_cli_edit_v1_dhcp.png",
113
+ "examples/screenshots/service_heavy_cli_edit_v1_dns.png",
114
+ "examples/screenshots/service_heavy_cli_edit_v1_ftp.png"
115
+ ],
116
+ "screenshot_count": 4,
117
+ "screenshot": "examples/screenshots/service_heavy_cli_edit_v1.png",
118
+ "detail_images": [
119
+ "examples/screenshots/service_heavy_cli_edit_v1_dhcp.png",
120
+ "examples/screenshots/service_heavy_cli_edit_v1_dns.png",
121
+ "examples/screenshots/service_heavy_cli_edit_v1_ftp.png"
122
+ ],
123
+ "preview": "examples/previews/service_heavy_cli_edit_v1.svg",
124
+ "image": "examples/screenshots/service_heavy_cli_edit_v1.png"
125
+ }
126
+ ]
127
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "example_name": "service_heavy_cli_edit_v1",
3
+ "source_mode": "donor-backed edit",
4
+ "scenario_family": "service_heavy",
5
+ "public_repo_policy": {
6
+ "commit_pkt_binary": false,
7
+ "commit_inventory_json": true,
8
+ "commit_screenshot": false
9
+ },
10
+ "artifact_paths": {
11
+ "inventory_json": "examples/service_heavy_cli_edit_v1.inventory.json",
12
+ "screenshot": "examples/screenshots/service_heavy_cli_edit_v1.png",
13
+ "screenshots": [
14
+ "examples/screenshots/service_heavy_cli_edit_v1.png",
15
+ "examples/screenshots/service_heavy_cli_edit_v1_dhcp.png",
16
+ "examples/screenshots/service_heavy_cli_edit_v1_dns.png",
17
+ "examples/screenshots/service_heavy_cli_edit_v1_ftp.png"
18
+ ]
19
+ },
20
+ "topology_summary": {
21
+ "core_server": "Server0",
22
+ "client_devices": [
23
+ "PC0",
24
+ "PC1"
25
+ ]
26
+ },
27
+ "service_summary": {
28
+ "Server0": [
29
+ "http_server",
30
+ "https_server",
31
+ "dns_server",
32
+ "dhcp_server",
33
+ "tftp_server",
34
+ "ftp_server",
35
+ "ntp_server",
36
+ "syslog_server",
37
+ "acs_server",
38
+ "email_server"
39
+ ]
40
+ },
41
+ "service_details": {
42
+ "Server0": {
43
+ "email_domain": "example.local",
44
+ "aaa_auth_port": "1812"
45
+ }
46
+ },
47
+ "verification_status": {
48
+ "inventory_roundtrip_verified": true,
49
+ "full_pytest_passed": true
50
+ }
51
+ }
package/package.json CHANGED
@@ -1,15 +1,39 @@
1
1
  {
2
2
  "name": "packet-tracer-skill",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "private": false,
5
- "description": "Install and verify the pkt skill for Codex, Cursor, Claude Code, Kiro, AdaL, and custom skill hosts.",
5
+ "description": "Donor-backed Cisco Packet Tracer 9.x skill for natural-language planning, safe-open generation, editing, parity reporting, and runtime diagnostics across coding hosts.",
6
6
  "keywords": [
7
7
  "packet-tracer",
8
8
  "cisco",
9
+ "pkt",
10
+ "network-topology-generator",
11
+ "packet-tracer-generator",
12
+ "packet-tracer-editor",
13
+ "network-lab",
14
+ "network-automation",
15
+ "network-lab-generator",
16
+ "natural-language",
17
+ "prompt-to-topology",
18
+ "vlan",
19
+ "dhcp",
20
+ "dns",
21
+ "acl",
22
+ "nat",
23
+ "router-on-a-stick",
24
+ "telnet",
25
+ "wireless",
26
+ "ccna",
27
+ "ccnp",
9
28
  "skill",
29
+ "ai-skill",
30
+ "llm-skill",
10
31
  "codex",
11
32
  "cursor",
12
- "claude"
33
+ "claude",
34
+ "gemini",
35
+ "github-copilot-skill",
36
+ "npx"
13
37
  ],
14
38
  "license": "MIT",
15
39
  "repository": {
@@ -23,18 +47,31 @@
23
47
  "bin": {
24
48
  "packet-tracer-skill": "bin/packet-tracer-skill.js"
25
49
  },
50
+ "scripts": {
51
+ "test": "python -m pytest tests -q",
52
+ "test:python": "python -m pytest tests -q",
53
+ "examples:build": "python scripts/build_examples_index.py",
54
+ "doctor": "node bin/packet-tracer-skill.js --doctor",
55
+ "smoke:parity": "python scripts/generate_pkt.py --parity-report \"campus with VLAN DHCP ACL\""
56
+ },
26
57
  "files": [
27
58
  "SKILL.md",
28
59
  "LICENSE",
29
60
  "LICENSES",
30
61
  "README.md",
62
+ "CONTRIBUTING.md",
63
+ "CHANGELOG.md",
64
+ "CITATION.cff",
65
+ "SECURITY.md",
66
+ "CODE_OF_CONDUCT.md",
31
67
  "requirements.txt",
32
68
  "requirements-dev.txt",
33
69
  "scripts",
34
70
  "templates",
35
71
  "references",
36
72
  "examples",
37
- "bin"
73
+ "bin",
74
+ "docs"
38
75
  ],
39
76
  "engines": {
40
77
  "node": ">=18"
@@ -0,0 +1,71 @@
1
+ {
2
+ "registry_version": "1.0",
3
+ "donors": [
4
+ {
5
+ "relative_path": "complex_campus_master_edit_v4.pkt",
6
+ "promotion_status": "acceptance_verified_curated",
7
+ "packet_tracer_version": "9.0.0.0810",
8
+ "workspace_validation": "inventory_roundtrip_verified",
9
+ "apply_safety_level": "acceptance-verified",
10
+ "archetype_tags": ["campus/core", "wireless-heavy"],
11
+ "validated_edit_capabilities": [
12
+ "management_vlan",
13
+ "telnet",
14
+ "acl",
15
+ "server_dns",
16
+ "server_email",
17
+ "server_aaa",
18
+ "wireless_mutation"
19
+ ],
20
+ "acceptance_fixtures": ["campus_core_complex"],
21
+ "acceptance_notes": [
22
+ "Known working campus example with public screenshot and inventory artifact.",
23
+ "Use when donor root contains the exported complex campus .pkt example."
24
+ ],
25
+ "provenance": "known-working-example:complex_campus_master_edit_v4"
26
+ },
27
+ {
28
+ "relative_path": "home_iot_cli_edit_v1.pkt",
29
+ "promotion_status": "acceptance_verified_curated",
30
+ "packet_tracer_version": "9.0.0.0810",
31
+ "workspace_validation": "inventory_roundtrip_verified",
32
+ "apply_safety_level": "acceptance-verified",
33
+ "archetype_tags": ["IoT/home gateway", "wireless-heavy"],
34
+ "validated_edit_capabilities": [
35
+ "iot",
36
+ "iot_registration",
37
+ "iot_control",
38
+ "wireless_ap"
39
+ ],
40
+ "acceptance_fixtures": ["home_iot_complex"],
41
+ "acceptance_notes": [
42
+ "Known working home IoT example with gateway-backed registration state.",
43
+ "Use when donor root contains the exported Home IoT showcase lab."
44
+ ],
45
+ "provenance": "known-working-example:home_iot_cli_edit_v1"
46
+ },
47
+ {
48
+ "relative_path": "service_heavy_cli_edit_v1.pkt",
49
+ "promotion_status": "acceptance_verified_curated",
50
+ "packet_tracer_version": "9.0.0.0810",
51
+ "workspace_validation": "inventory_roundtrip_verified",
52
+ "apply_safety_level": "acceptance-verified",
53
+ "archetype_tags": ["service-heavy"],
54
+ "validated_edit_capabilities": [
55
+ "server_dns",
56
+ "server_dhcp",
57
+ "server_ftp",
58
+ "server_email",
59
+ "server_syslog",
60
+ "server_aaa",
61
+ "end_device_mutation"
62
+ ],
63
+ "acceptance_fixtures": ["service_heavy_complex"],
64
+ "acceptance_notes": [
65
+ "Known working service-heavy example with topology and service detail screenshots.",
66
+ "Use when donor root contains the exported service-heavy showcase lab."
67
+ ],
68
+ "provenance": "known-working-example:service_heavy_cli_edit_v1"
69
+ }
70
+ ]
71
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "fixture_registry_version": "1.0",
3
+ "fixtures": [
4
+ {
5
+ "name": "campus_core_complex",
6
+ "scenario_family": "campus",
7
+ "preferred_donor_archetypes": ["campus/core"],
8
+ "critical_capabilities": ["router_on_a_stick", "trunk", "management_vlan", "telnet", "acl", "nat"],
9
+ "minimum_expectations": {
10
+ "requires_family_match": true,
11
+ "requires_nonempty_summary": true,
12
+ "requires_nonempty_matrix_row": true
13
+ },
14
+ "canonical_prompt": "6 şöbəli kampus, VLAN 10 20 30 40 50 60, management VLAN 99, Telnet, ACL, NAT, printer, wireless AP/client, router-on-a-stick"
15
+ },
16
+ {
17
+ "name": "service_heavy_complex",
18
+ "scenario_family": "service_heavy",
19
+ "preferred_donor_archetypes": ["service-heavy"],
20
+ "critical_capabilities": ["server_dns", "server_dhcp", "server_http", "server_https", "server_ftp", "server_tftp", "server_email", "server_syslog", "server_aaa", "ntp"],
21
+ "minimum_expectations": {
22
+ "requires_family_match": true,
23
+ "requires_nonempty_summary": true,
24
+ "requires_nonempty_matrix_row": true
25
+ },
26
+ "canonical_prompt": "server yönümlü lab, DNS, DHCP, HTTP, HTTPS, FTP, TFTP, NTP, email, syslog, AAA, end-device DNS/IP mutation"
27
+ },
28
+ {
29
+ "name": "home_iot_complex",
30
+ "scenario_family": "home_iot",
31
+ "preferred_donor_archetypes": ["IoT/home gateway", "wireless-heavy"],
32
+ "critical_capabilities": ["iot", "iot_registration", "iot_control", "wireless_ap"],
33
+ "minimum_expectations": {
34
+ "requires_family_match": true,
35
+ "requires_nonempty_summary": true,
36
+ "requires_nonempty_matrix_row": true
37
+ },
38
+ "canonical_prompt": "smart home, home gateway, IoT registration, IoT control, wireless edge"
39
+ },
40
+ {
41
+ "name": "wan_security_complex",
42
+ "scenario_family": "wan_security_edge",
43
+ "preferred_donor_archetypes": ["WAN/security edge"],
44
+ "critical_capabilities": ["vpn", "ipsec", "gre", "ppp", "multilayer_switching", "security_edge"],
45
+ "minimum_expectations": {
46
+ "requires_family_match": true,
47
+ "requires_nonempty_summary": true,
48
+ "requires_nonempty_matrix_row": true
49
+ },
50
+ "canonical_prompt": "wan security edge, multilayer switch, cloud, firewall/ASA, GRE, PPP, site-to-site VPN, IPsec, ACL, NAT"
51
+ }
52
+ ]
53
+ }