@ruaruababa/vibe-kit 1.0.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 (462) hide show
  1. package/CATALOG.md +317 -0
  2. package/README.md +121 -0
  3. package/aliases.json +65 -0
  4. package/bin/vibe.js +2 -0
  5. package/bundles.json +265 -0
  6. package/catalog.json +1560 -0
  7. package/dist/antigravity-skills/bin/cli.js +438 -0
  8. package/dist/antigravity-skills/lib/skill-utils.js +158 -0
  9. package/dist/antigravity-skills/scripts/build-catalog.js +305 -0
  10. package/dist/antigravity-skills/scripts/normalize-frontmatter.js +144 -0
  11. package/dist/antigravity-skills/scripts/validate-skills.js +230 -0
  12. package/dist/bin/vibe.js +2 -0
  13. package/dist/dist/src/cli/index.js +26 -0
  14. package/dist/lib/skill-utils.js +158 -0
  15. package/dist/scripts/build-catalog.js +50 -0
  16. package/dist/scripts/normalize-frontmatter.js +144 -0
  17. package/dist/scripts/validate-skills.js +56 -0
  18. package/dist/src/cli/index.js +146 -0
  19. package/dist/src/types/index.js +13 -0
  20. package/dist/src/utils/fs.js +1 -0
  21. package/package.json +43 -0
  22. package/skills/accessibility-compliance-accessibility-audit/SKILL.md +42 -0
  23. package/skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +502 -0
  24. package/skills/agent-orchestration-improve-agent/SKILL.md +349 -0
  25. package/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
  26. package/skills/agent-orchestrator/SKILL.md +24 -0
  27. package/skills/ai-engineer/SKILL.md +171 -0
  28. package/skills/airflow-dag-patterns/SKILL.md +41 -0
  29. package/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
  30. package/skills/angular-migration/SKILL.md +428 -0
  31. package/skills/anti-reversing-techniques/SKILL.md +42 -0
  32. package/skills/anti-reversing-techniques/resources/implementation-playbook.md +539 -0
  33. package/skills/api-design-principles/SKILL.md +37 -0
  34. package/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  35. package/skills/api-design-principles/assets/rest-api-template.py +182 -0
  36. package/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  37. package/skills/api-design-principles/references/rest-best-practices.md +408 -0
  38. package/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  39. package/skills/api-documenter/SKILL.md +184 -0
  40. package/skills/api-testing-observability-api-mock/SKILL.md +46 -0
  41. package/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
  42. package/skills/application-performance-performance-optimization/SKILL.md +154 -0
  43. package/skills/architect-review/SKILL.md +174 -0
  44. package/skills/architecture-decision-records/SKILL.md +441 -0
  45. package/skills/architecture-patterns/SKILL.md +37 -0
  46. package/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
  47. package/skills/arm-cortex-expert/SKILL.md +306 -0
  48. package/skills/async-python-patterns/SKILL.md +39 -0
  49. package/skills/async-python-patterns/resources/implementation-playbook.md +678 -0
  50. package/skills/attack-tree-construction/SKILL.md +38 -0
  51. package/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
  52. package/skills/auth-implementation-patterns/SKILL.md +39 -0
  53. package/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
  54. package/skills/backend-architect/SKILL.md +333 -0
  55. package/skills/backend-development-feature-development/SKILL.md +180 -0
  56. package/skills/backend-security-coder/SKILL.md +156 -0
  57. package/skills/backtesting-frameworks/SKILL.md +39 -0
  58. package/skills/backtesting-frameworks/resources/implementation-playbook.md +647 -0
  59. package/skills/bash-defensive-patterns/SKILL.md +43 -0
  60. package/skills/bash-defensive-patterns/resources/implementation-playbook.md +517 -0
  61. package/skills/bash-pro/SKILL.md +310 -0
  62. package/skills/bats-testing-patterns/SKILL.md +34 -0
  63. package/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -0
  64. package/skills/bazel-build-optimization/SKILL.md +397 -0
  65. package/skills/billing-automation/SKILL.md +42 -0
  66. package/skills/billing-automation/resources/implementation-playbook.md +544 -0
  67. package/skills/binary-analysis-patterns/SKILL.md +450 -0
  68. package/skills/blockchain-developer/SKILL.md +208 -0
  69. package/skills/business-analyst/SKILL.md +182 -0
  70. package/skills/c-pro/SKILL.md +56 -0
  71. package/skills/c4-architecture-c4-architecture/SKILL.md +389 -0
  72. package/skills/c4-code/SKILL.md +244 -0
  73. package/skills/c4-component/SKILL.md +153 -0
  74. package/skills/c4-container/SKILL.md +171 -0
  75. package/skills/c4-context/SKILL.md +150 -0
  76. package/skills/changelog-automation/SKILL.md +38 -0
  77. package/skills/changelog-automation/resources/implementation-playbook.md +538 -0
  78. package/skills/cicd-automation-workflow-automate/SKILL.md +51 -0
  79. package/skills/cicd-automation-workflow-automate/resources/implementation-playbook.md +1333 -0
  80. package/skills/clean-markdown/SKILL.md +23 -0
  81. package/skills/cloud-architect/SKILL.md +135 -0
  82. package/skills/code-documentation-code-explain/SKILL.md +46 -0
  83. package/skills/code-documentation-code-explain/resources/implementation-playbook.md +802 -0
  84. package/skills/code-documentation-doc-generate/SKILL.md +48 -0
  85. package/skills/code-documentation-doc-generate/resources/implementation-playbook.md +640 -0
  86. package/skills/code-refactoring-context-restore/SKILL.md +179 -0
  87. package/skills/code-refactoring-refactor-clean/SKILL.md +51 -0
  88. package/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +879 -0
  89. package/skills/code-refactoring-tech-debt/SKILL.md +386 -0
  90. package/skills/code-review-ai-ai-review/SKILL.md +450 -0
  91. package/skills/code-review-excellence/SKILL.md +40 -0
  92. package/skills/code-review-excellence/resources/implementation-playbook.md +515 -0
  93. package/skills/code-reviewer/SKILL.md +178 -0
  94. package/skills/codebase-cleanup-deps-audit/SKILL.md +51 -0
  95. package/skills/codebase-cleanup-deps-audit/resources/implementation-playbook.md +766 -0
  96. package/skills/codebase-cleanup-refactor-clean/SKILL.md +51 -0
  97. package/skills/codebase-cleanup-refactor-clean/resources/implementation-playbook.md +879 -0
  98. package/skills/codebase-cleanup-tech-debt/SKILL.md +386 -0
  99. package/skills/competitive-landscape/SKILL.md +34 -0
  100. package/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
  101. package/skills/comprehensive-review-full-review/SKILL.md +146 -0
  102. package/skills/comprehensive-review-pr-enhance/SKILL.md +46 -0
  103. package/skills/comprehensive-review-pr-enhance/resources/implementation-playbook.md +691 -0
  104. package/skills/conductor-implement/SKILL.md +388 -0
  105. package/skills/conductor-manage/SKILL.md +39 -0
  106. package/skills/conductor-manage/resources/implementation-playbook.md +1120 -0
  107. package/skills/conductor-new-track/SKILL.md +433 -0
  108. package/skills/conductor-revert/SKILL.md +372 -0
  109. package/skills/conductor-setup/SKILL.md +426 -0
  110. package/skills/conductor-status/SKILL.md +338 -0
  111. package/skills/conductor-validator/SKILL.md +62 -0
  112. package/skills/content-marketer/SKILL.md +170 -0
  113. package/skills/context-driven-development/SKILL.md +400 -0
  114. package/skills/context-management-context-restore/SKILL.md +179 -0
  115. package/skills/context-management-context-save/SKILL.md +177 -0
  116. package/skills/context-manager/SKILL.md +185 -0
  117. package/skills/cost-optimization/SKILL.md +286 -0
  118. package/skills/cpp-pro/SKILL.md +59 -0
  119. package/skills/cqrs-implementation/SKILL.md +35 -0
  120. package/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
  121. package/skills/csharp-pro/SKILL.md +59 -0
  122. package/skills/customer-support/SKILL.md +170 -0
  123. package/skills/data-engineer/SKILL.md +224 -0
  124. package/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
  125. package/skills/data-engineering-data-pipeline/SKILL.md +201 -0
  126. package/skills/data-quality-frameworks/SKILL.md +40 -0
  127. package/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
  128. package/skills/data-scientist/SKILL.md +199 -0
  129. package/skills/data-storytelling/SKILL.md +465 -0
  130. package/skills/database-admin/SKILL.md +165 -0
  131. package/skills/database-architect/SKILL.md +268 -0
  132. package/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
  133. package/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
  134. package/skills/database-migration/SKILL.md +436 -0
  135. package/skills/database-migrations-migration-observability/SKILL.md +420 -0
  136. package/skills/database-migrations-sql-migrations/SKILL.md +53 -0
  137. package/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
  138. package/skills/database-optimizer/SKILL.md +167 -0
  139. package/skills/dbt-transformation-patterns/SKILL.md +34 -0
  140. package/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
  141. package/skills/debugger/SKILL.md +49 -0
  142. package/skills/debugging-strategies/SKILL.md +34 -0
  143. package/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
  144. package/skills/debugging-toolkit-smart-debug/SKILL.md +197 -0
  145. package/skills/defi-protocol-templates/SKILL.md +466 -0
  146. package/skills/dependency-management-deps-audit/SKILL.md +44 -0
  147. package/skills/dependency-management-deps-audit/resources/implementation-playbook.md +766 -0
  148. package/skills/dependency-upgrade/SKILL.md +421 -0
  149. package/skills/deployment-engineer/SKILL.md +170 -0
  150. package/skills/deployment-pipeline-design/SKILL.md +371 -0
  151. package/skills/deployment-validation-config-validate/SKILL.md +496 -0
  152. package/skills/devops-troubleshooter/SKILL.md +161 -0
  153. package/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
  154. package/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
  155. package/skills/distributed-tracing/SKILL.md +450 -0
  156. package/skills/django-pro/SKILL.md +180 -0
  157. package/skills/docs-architect/SKILL.md +98 -0
  158. package/skills/documentation-generation-doc-generate/SKILL.md +48 -0
  159. package/skills/documentation-generation-doc-generate/resources/implementation-playbook.md +640 -0
  160. package/skills/dotnet-architect/SKILL.md +197 -0
  161. package/skills/dotnet-backend-patterns/SKILL.md +37 -0
  162. package/skills/dotnet-backend-patterns/assets/repository-template.cs +523 -0
  163. package/skills/dotnet-backend-patterns/assets/service-template.cs +336 -0
  164. package/skills/dotnet-backend-patterns/references/dapper-patterns.md +544 -0
  165. package/skills/dotnet-backend-patterns/references/ef-core-best-practices.md +355 -0
  166. package/skills/dotnet-backend-patterns/resources/implementation-playbook.md +799 -0
  167. package/skills/dummy-skill/SKILL.md +5 -0
  168. package/skills/dx-optimizer/SKILL.md +83 -0
  169. package/skills/e2e-testing-patterns/SKILL.md +41 -0
  170. package/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
  171. package/skills/elixir-pro/SKILL.md +59 -0
  172. package/skills/embedding-strategies/SKILL.md +491 -0
  173. package/skills/employment-contract-templates/SKILL.md +39 -0
  174. package/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
  175. package/skills/error-debugging-error-analysis/SKILL.md +47 -0
  176. package/skills/error-debugging-error-analysis/resources/implementation-playbook.md +1143 -0
  177. package/skills/error-debugging-error-trace/SKILL.md +43 -0
  178. package/skills/error-debugging-error-trace/resources/implementation-playbook.md +1361 -0
  179. package/skills/error-debugging-multi-agent-review/SKILL.md +216 -0
  180. package/skills/error-detective/SKILL.md +53 -0
  181. package/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
  182. package/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
  183. package/skills/error-diagnostics-error-trace/SKILL.md +48 -0
  184. package/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
  185. package/skills/error-diagnostics-smart-debug/SKILL.md +197 -0
  186. package/skills/error-handling-patterns/SKILL.md +35 -0
  187. package/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
  188. package/skills/event-sourcing-architect/SKILL.md +58 -0
  189. package/skills/event-store-design/SKILL.md +449 -0
  190. package/skills/fastapi-pro/SKILL.md +192 -0
  191. package/skills/fastapi-templates/SKILL.md +32 -0
  192. package/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
  193. package/skills/final-test/SKILL.md +5 -0
  194. package/skills/firmware-analyst/SKILL.md +320 -0
  195. package/skills/flutter-expert/SKILL.md +200 -0
  196. package/skills/framework-migration-code-migrate/SKILL.md +48 -0
  197. package/skills/framework-migration-code-migrate/resources/implementation-playbook.md +1052 -0
  198. package/skills/framework-migration-deps-upgrade/SKILL.md +48 -0
  199. package/skills/framework-migration-deps-upgrade/resources/implementation-playbook.md +755 -0
  200. package/skills/framework-migration-legacy-modernize/SKILL.md +132 -0
  201. package/skills/frontend-developer/SKILL.md +171 -0
  202. package/skills/frontend-mobile-development-component-scaffold/SKILL.md +403 -0
  203. package/skills/frontend-mobile-security-xss-scan/SKILL.md +322 -0
  204. package/skills/frontend-security-coder/SKILL.md +170 -0
  205. package/skills/full-stack-orchestration-full-stack-feature/SKILL.md +135 -0
  206. package/skills/gdpr-data-handling/SKILL.md +33 -0
  207. package/skills/gdpr-data-handling/resources/implementation-playbook.md +615 -0
  208. package/skills/git-advanced-workflows/SKILL.md +412 -0
  209. package/skills/git-pr-workflows-git-workflow/SKILL.md +140 -0
  210. package/skills/git-pr-workflows-onboard/SKILL.md +416 -0
  211. package/skills/git-pr-workflows-pr-enhance/SKILL.md +48 -0
  212. package/skills/git-pr-workflows-pr-enhance/resources/implementation-playbook.md +701 -0
  213. package/skills/github-actions-templates/SKILL.md +345 -0
  214. package/skills/gitlab-ci-patterns/SKILL.md +283 -0
  215. package/skills/gitops-workflow/SKILL.md +303 -0
  216. package/skills/gitops-workflow/references/argocd-setup.md +134 -0
  217. package/skills/gitops-workflow/references/sync-policies.md +131 -0
  218. package/skills/go-concurrency-patterns/SKILL.md +33 -0
  219. package/skills/go-concurrency-patterns/resources/implementation-playbook.md +654 -0
  220. package/skills/godot-gdscript-patterns/SKILL.md +33 -0
  221. package/skills/godot-gdscript-patterns/resources/implementation-playbook.md +804 -0
  222. package/skills/golang-pro/SKILL.md +179 -0
  223. package/skills/grafana-dashboards/SKILL.md +381 -0
  224. package/skills/graphql-architect/SKILL.md +182 -0
  225. package/skills/haskell-pro/SKILL.md +56 -0
  226. package/skills/helm-chart-scaffolding/SKILL.md +34 -0
  227. package/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
  228. package/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
  229. package/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
  230. package/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
  231. package/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
  232. package/skills/hr-pro/SKILL.md +126 -0
  233. package/skills/hybrid-cloud-architect/SKILL.md +168 -0
  234. package/skills/hybrid-cloud-networking/SKILL.md +238 -0
  235. package/skills/hybrid-search-implementation/SKILL.md +32 -0
  236. package/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
  237. package/skills/incident-responder/SKILL.md +213 -0
  238. package/skills/incident-response-incident-response/SKILL.md +168 -0
  239. package/skills/incident-response-smart-fix/SKILL.md +29 -0
  240. package/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
  241. package/skills/incident-runbook-templates/SKILL.md +395 -0
  242. package/skills/ios-developer/SKILL.md +219 -0
  243. package/skills/istio-traffic-management/SKILL.md +337 -0
  244. package/skills/java-pro/SKILL.md +177 -0
  245. package/skills/javascript-pro/SKILL.md +57 -0
  246. package/skills/javascript-testing-patterns/SKILL.md +35 -0
  247. package/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
  248. package/skills/javascript-typescript-typescript-scaffold/SKILL.md +361 -0
  249. package/skills/julia-pro/SKILL.md +209 -0
  250. package/skills/k8s-manifest-generator/SKILL.md +35 -0
  251. package/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
  252. package/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
  253. package/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
  254. package/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
  255. package/skills/k8s-manifest-generator/references/service-spec.md +724 -0
  256. package/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
  257. package/skills/k8s-security-policies/SKILL.md +346 -0
  258. package/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
  259. package/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
  260. package/skills/kpi-dashboard-design/SKILL.md +440 -0
  261. package/skills/kubernetes-architect/SKILL.md +170 -0
  262. package/skills/langchain-architecture/SKILL.md +350 -0
  263. package/skills/legacy-modernizer/SKILL.md +53 -0
  264. package/skills/legal-advisor/SKILL.md +70 -0
  265. package/skills/linkerd-patterns/SKILL.md +321 -0
  266. package/skills/llm-application-dev-ai-assistant/SKILL.md +35 -0
  267. package/skills/llm-application-dev-ai-assistant/resources/implementation-playbook.md +1236 -0
  268. package/skills/llm-application-dev-langchain-agent/SKILL.md +246 -0
  269. package/skills/llm-application-dev-prompt-optimize/SKILL.md +37 -0
  270. package/skills/llm-application-dev-prompt-optimize/resources/implementation-playbook.md +591 -0
  271. package/skills/llm-evaluation/SKILL.md +483 -0
  272. package/skills/machine-learning-ops-ml-pipeline/SKILL.md +314 -0
  273. package/skills/malware-analyst/SKILL.md +247 -0
  274. package/skills/market-sizing-analysis/SKILL.md +425 -0
  275. package/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
  276. package/skills/market-sizing-analysis/references/data-sources.md +360 -0
  277. package/skills/memory-forensics/SKILL.md +491 -0
  278. package/skills/memory-safety-patterns/SKILL.md +33 -0
  279. package/skills/memory-safety-patterns/resources/implementation-playbook.md +603 -0
  280. package/skills/mermaid-expert/SKILL.md +59 -0
  281. package/skills/microservices-patterns/SKILL.md +35 -0
  282. package/skills/microservices-patterns/resources/implementation-playbook.md +607 -0
  283. package/skills/minecraft-bukkit-pro/SKILL.md +126 -0
  284. package/skills/ml-engineer/SKILL.md +168 -0
  285. package/skills/ml-pipeline-workflow/SKILL.md +257 -0
  286. package/skills/mlops-engineer/SKILL.md +219 -0
  287. package/skills/mobile-developer/SKILL.md +205 -0
  288. package/skills/mobile-security-coder/SKILL.md +184 -0
  289. package/skills/modern-javascript-patterns/SKILL.md +35 -0
  290. package/skills/modern-javascript-patterns/resources/implementation-playbook.md +910 -0
  291. package/skills/monorepo-architect/SKILL.md +61 -0
  292. package/skills/monorepo-management/SKILL.md +35 -0
  293. package/skills/monorepo-management/resources/implementation-playbook.md +621 -0
  294. package/skills/mtls-configuration/SKILL.md +359 -0
  295. package/skills/multi-cloud-architecture/SKILL.md +189 -0
  296. package/skills/multi-platform-apps-multi-platform/SKILL.md +203 -0
  297. package/skills/network-engineer/SKILL.md +169 -0
  298. package/skills/nextjs-app-router-patterns/SKILL.md +33 -0
  299. package/skills/nextjs-app-router-patterns/resources/implementation-playbook.md +543 -0
  300. package/skills/nft-standards/SKILL.md +395 -0
  301. package/skills/node-expert/SKILL.md +23 -0
  302. package/skills/nodejs-backend-patterns/SKILL.md +35 -0
  303. package/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
  304. package/skills/nx-workspace-patterns/SKILL.md +464 -0
  305. package/skills/observability-engineer/SKILL.md +237 -0
  306. package/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
  307. package/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
  308. package/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
  309. package/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
  310. package/skills/on-call-handoff-patterns/SKILL.md +453 -0
  311. package/skills/openapi-spec-generation/SKILL.md +33 -0
  312. package/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
  313. package/skills/payment-integration/SKILL.md +77 -0
  314. package/skills/paypal-integration/SKILL.md +479 -0
  315. package/skills/pci-compliance/SKILL.md +478 -0
  316. package/skills/performance-engineer/SKILL.md +180 -0
  317. package/skills/performance-testing-review-ai-review/SKILL.md +450 -0
  318. package/skills/performance-testing-review-multi-agent-review/SKILL.md +216 -0
  319. package/skills/php-pro/SKILL.md +63 -0
  320. package/skills/posix-shell-pro/SKILL.md +304 -0
  321. package/skills/postgresql/SKILL.md +230 -0
  322. package/skills/postmortem-writing/SKILL.md +386 -0
  323. package/skills/projection-patterns/SKILL.md +33 -0
  324. package/skills/projection-patterns/resources/implementation-playbook.md +501 -0
  325. package/skills/prometheus-configuration/SKILL.md +404 -0
  326. package/skills/prompt-engineer/SKILL.md +272 -0
  327. package/skills/prompt-engineering-patterns/SKILL.md +213 -0
  328. package/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
  329. package/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
  330. package/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
  331. package/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
  332. package/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
  333. package/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
  334. package/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
  335. package/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
  336. package/skills/protocol-reverse-engineering/SKILL.md +29 -0
  337. package/skills/protocol-reverse-engineering/resources/implementation-playbook.md +509 -0
  338. package/skills/python-development-python-scaffold/SKILL.md +331 -0
  339. package/skills/python-packaging/SKILL.md +36 -0
  340. package/skills/python-packaging/resources/implementation-playbook.md +869 -0
  341. package/skills/python-performance-optimization/SKILL.md +36 -0
  342. package/skills/python-performance-optimization/resources/implementation-playbook.md +868 -0
  343. package/skills/python-pro/SKILL.md +158 -0
  344. package/skills/python-testing-patterns/SKILL.md +37 -0
  345. package/skills/python-testing-patterns/resources/implementation-playbook.md +906 -0
  346. package/skills/quant-analyst/SKILL.md +53 -0
  347. package/skills/rag-implementation/SKILL.md +421 -0
  348. package/skills/react-modernization/SKILL.md +34 -0
  349. package/skills/react-modernization/resources/implementation-playbook.md +512 -0
  350. package/skills/react-native-architecture/SKILL.md +33 -0
  351. package/skills/react-native-architecture/resources/implementation-playbook.md +670 -0
  352. package/skills/react-state-management/SKILL.md +441 -0
  353. package/skills/reference-builder/SKILL.md +188 -0
  354. package/skills/reverse-engineer/SKILL.md +173 -0
  355. package/skills/risk-manager/SKILL.md +61 -0
  356. package/skills/risk-metrics-calculation/SKILL.md +33 -0
  357. package/skills/risk-metrics-calculation/resources/implementation-playbook.md +554 -0
  358. package/skills/ruby-pro/SKILL.md +56 -0
  359. package/skills/rust-async-patterns/SKILL.md +33 -0
  360. package/skills/rust-async-patterns/resources/implementation-playbook.md +516 -0
  361. package/skills/rust-pro/SKILL.md +178 -0
  362. package/skills/saga-orchestration/SKILL.md +496 -0
  363. package/skills/sales-automator/SKILL.md +55 -0
  364. package/skills/sast-configuration/SKILL.md +212 -0
  365. package/skills/scala-pro/SKILL.md +82 -0
  366. package/skills/screen-reader-testing/SKILL.md +33 -0
  367. package/skills/screen-reader-testing/resources/implementation-playbook.md +544 -0
  368. package/skills/search-specialist/SKILL.md +80 -0
  369. package/skills/secrets-management/SKILL.md +364 -0
  370. package/skills/security-auditor/SKILL.md +169 -0
  371. package/skills/security-compliance-compliance-check/SKILL.md +55 -0
  372. package/skills/security-compliance-compliance-check/resources/implementation-playbook.md +963 -0
  373. package/skills/security-requirement-extraction/SKILL.md +33 -0
  374. package/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
  375. package/skills/security-scanning-security-dependencies/SKILL.md +43 -0
  376. package/skills/security-scanning-security-dependencies/resources/implementation-playbook.md +544 -0
  377. package/skills/security-scanning-security-hardening/SKILL.md +147 -0
  378. package/skills/security-scanning-security-sast/SKILL.md +495 -0
  379. package/skills/seo-authority-builder/SKILL.md +136 -0
  380. package/skills/seo-cannibalization-detector/SKILL.md +123 -0
  381. package/skills/seo-content-auditor/SKILL.md +83 -0
  382. package/skills/seo-content-planner/SKILL.md +108 -0
  383. package/skills/seo-content-refresher/SKILL.md +118 -0
  384. package/skills/seo-content-writer/SKILL.md +96 -0
  385. package/skills/seo-keyword-strategist/SKILL.md +95 -0
  386. package/skills/seo-meta-optimizer/SKILL.md +92 -0
  387. package/skills/seo-snippet-hunter/SKILL.md +114 -0
  388. package/skills/seo-structure-architect/SKILL.md +108 -0
  389. package/skills/service-mesh-expert/SKILL.md +58 -0
  390. package/skills/service-mesh-observability/SKILL.md +395 -0
  391. package/skills/shellcheck-configuration/SKILL.md +466 -0
  392. package/skills/similarity-search-patterns/SKILL.md +33 -0
  393. package/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
  394. package/skills/slo-implementation/SKILL.md +341 -0
  395. package/skills/solidity-security/SKILL.md +34 -0
  396. package/skills/solidity-security/resources/implementation-playbook.md +524 -0
  397. package/skills/spark-optimization/SKILL.md +427 -0
  398. package/skills/sql-optimization-patterns/SKILL.md +35 -0
  399. package/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
  400. package/skills/sql-pro/SKILL.md +173 -0
  401. package/skills/startup-analyst/SKILL.md +328 -0
  402. package/skills/startup-business-analyst-business-case/SKILL.md +487 -0
  403. package/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
  404. package/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
  405. package/skills/startup-financial-modeling/SKILL.md +467 -0
  406. package/skills/startup-metrics-framework/SKILL.md +34 -0
  407. package/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
  408. package/skills/stride-analysis-patterns/SKILL.md +33 -0
  409. package/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
  410. package/skills/stripe-integration/SKILL.md +454 -0
  411. package/skills/systems-programming-rust-project/SKILL.md +440 -0
  412. package/skills/tailwind-design-system/SKILL.md +33 -0
  413. package/skills/tailwind-design-system/resources/implementation-playbook.md +665 -0
  414. package/skills/tdd-orchestrator/SKILL.md +205 -0
  415. package/skills/tdd-workflows-tdd-cycle/SKILL.md +221 -0
  416. package/skills/tdd-workflows-tdd-green/SKILL.md +73 -0
  417. package/skills/tdd-workflows-tdd-green/resources/implementation-playbook.md +870 -0
  418. package/skills/tdd-workflows-tdd-red/SKILL.md +164 -0
  419. package/skills/tdd-workflows-tdd-refactor/SKILL.md +187 -0
  420. package/skills/team-collaboration-issue/SKILL.md +37 -0
  421. package/skills/team-collaboration-issue/resources/implementation-playbook.md +640 -0
  422. package/skills/team-collaboration-standup-notes/SKILL.md +44 -0
  423. package/skills/team-collaboration-standup-notes/resources/implementation-playbook.md +768 -0
  424. package/skills/team-composition-analysis/SKILL.md +413 -0
  425. package/skills/temporal-python-pro/SKILL.md +370 -0
  426. package/skills/temporal-python-testing/SKILL.md +170 -0
  427. package/skills/temporal-python-testing/resources/integration-testing.md +455 -0
  428. package/skills/temporal-python-testing/resources/local-setup.md +553 -0
  429. package/skills/temporal-python-testing/resources/replay-testing.md +462 -0
  430. package/skills/temporal-python-testing/resources/unit-testing.md +328 -0
  431. package/skills/terraform-module-library/SKILL.md +261 -0
  432. package/skills/terraform-module-library/references/aws-modules.md +63 -0
  433. package/skills/terraform-specialist/SKILL.md +166 -0
  434. package/skills/test-automator/SKILL.md +224 -0
  435. package/skills/threat-mitigation-mapping/SKILL.md +33 -0
  436. package/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
  437. package/skills/threat-modeling-expert/SKILL.md +60 -0
  438. package/skills/track-management/SKILL.md +38 -0
  439. package/skills/track-management/resources/implementation-playbook.md +591 -0
  440. package/skills/turborepo-caching/SKILL.md +419 -0
  441. package/skills/tutorial-engineer/SKILL.md +139 -0
  442. package/skills/typescript-advanced-types/SKILL.md +35 -0
  443. package/skills/typescript-advanced-types/resources/implementation-playbook.md +716 -0
  444. package/skills/typescript-pro/SKILL.md +55 -0
  445. package/skills/ui-minimal/SKILL.md +23 -0
  446. package/skills/ui-ux-designer/SKILL.md +209 -0
  447. package/skills/ui-visual-validator/SKILL.md +214 -0
  448. package/skills/unit-testing-test-generate/SKILL.md +319 -0
  449. package/skills/unity-developer/SKILL.md +230 -0
  450. package/skills/unity-ecs-patterns/SKILL.md +33 -0
  451. package/skills/unity-ecs-patterns/resources/implementation-playbook.md +625 -0
  452. package/skills/uv-package-manager/SKILL.md +37 -0
  453. package/skills/uv-package-manager/resources/implementation-playbook.md +830 -0
  454. package/skills/vector-database-engineer/SKILL.md +60 -0
  455. package/skills/vector-index-tuning/SKILL.md +42 -0
  456. package/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
  457. package/skills/wcag-audit-patterns/SKILL.md +41 -0
  458. package/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -0
  459. package/skills/web3-testing/SKILL.md +427 -0
  460. package/skills/workflow-orchestration-patterns/SKILL.md +333 -0
  461. package/skills/workflow-patterns/SKILL.md +38 -0
  462. package/skills/workflow-patterns/resources/implementation-playbook.md +621 -0
@@ -0,0 +1,509 @@
1
+ # Protocol Reverse Engineering Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ # Protocol Reverse Engineering
6
+
7
+ Comprehensive techniques for capturing, analyzing, and documenting network protocols for security research, interoperability, and debugging.
8
+
9
+ ## Traffic Capture
10
+
11
+ ### Wireshark Capture
12
+
13
+ ```bash
14
+ # Capture on specific interface
15
+ wireshark -i eth0 -k
16
+
17
+ # Capture with filter
18
+ wireshark -i eth0 -k -f "port 443"
19
+
20
+ # Capture to file
21
+ tshark -i eth0 -w capture.pcap
22
+
23
+ # Ring buffer capture (rotate files)
24
+ tshark -i eth0 -b filesize:100000 -b files:10 -w capture.pcap
25
+ ```
26
+
27
+ ### tcpdump Capture
28
+
29
+ ```bash
30
+ # Basic capture
31
+ tcpdump -i eth0 -w capture.pcap
32
+
33
+ # With filter
34
+ tcpdump -i eth0 port 8080 -w capture.pcap
35
+
36
+ # Capture specific bytes
37
+ tcpdump -i eth0 -s 0 -w capture.pcap # Full packet
38
+
39
+ # Real-time display
40
+ tcpdump -i eth0 -X port 80
41
+ ```
42
+
43
+ ### Man-in-the-Middle Capture
44
+
45
+ ```bash
46
+ # mitmproxy for HTTP/HTTPS
47
+ mitmproxy --mode transparent -p 8080
48
+
49
+ # SSL/TLS interception
50
+ mitmproxy --mode transparent --ssl-insecure
51
+
52
+ # Dump to file
53
+ mitmdump -w traffic.mitm
54
+
55
+ # Burp Suite
56
+ # Configure browser proxy to 127.0.0.1:8080
57
+ ```
58
+
59
+ ## Protocol Analysis
60
+
61
+ ### Wireshark Analysis
62
+
63
+ ```
64
+ # Display filters
65
+ tcp.port == 8080
66
+ http.request.method == "POST"
67
+ ip.addr == 192.168.1.1
68
+ tcp.flags.syn == 1 && tcp.flags.ack == 0
69
+ frame contains "password"
70
+
71
+ # Following streams
72
+ Right-click > Follow > TCP Stream
73
+ Right-click > Follow > HTTP Stream
74
+
75
+ # Export objects
76
+ File > Export Objects > HTTP
77
+
78
+ # Decryption
79
+ Edit > Preferences > Protocols > TLS
80
+ - (Pre)-Master-Secret log filename
81
+ - RSA keys list
82
+ ```
83
+
84
+ ### tshark Analysis
85
+
86
+ ```bash
87
+ # Extract specific fields
88
+ tshark -r capture.pcap -T fields -e ip.src -e ip.dst -e tcp.port
89
+
90
+ # Statistics
91
+ tshark -r capture.pcap -q -z conv,tcp
92
+ tshark -r capture.pcap -q -z endpoints,ip
93
+
94
+ # Filter and extract
95
+ tshark -r capture.pcap -Y "http" -T json > http_traffic.json
96
+
97
+ # Protocol hierarchy
98
+ tshark -r capture.pcap -q -z io,phs
99
+ ```
100
+
101
+ ### Scapy for Custom Analysis
102
+
103
+ ```python
104
+ from scapy.all import *
105
+
106
+ # Read pcap
107
+ packets = rdpcap("capture.pcap")
108
+
109
+ # Analyze packets
110
+ for pkt in packets:
111
+ if pkt.haslayer(TCP):
112
+ print(f"Src: {pkt[IP].src}:{pkt[TCP].sport}")
113
+ print(f"Dst: {pkt[IP].dst}:{pkt[TCP].dport}")
114
+ if pkt.haslayer(Raw):
115
+ print(f"Data: {pkt[Raw].load[:50]}")
116
+
117
+ # Filter packets
118
+ http_packets = [p for p in packets if p.haslayer(TCP)
119
+ and (p[TCP].sport == 80 or p[TCP].dport == 80)]
120
+
121
+ # Create custom packets
122
+ pkt = IP(dst="target")/TCP(dport=80)/Raw(load="GET / HTTP/1.1\r\n")
123
+ send(pkt)
124
+ ```
125
+
126
+ ## Protocol Identification
127
+
128
+ ### Common Protocol Signatures
129
+
130
+ ```
131
+ HTTP - "HTTP/1." or "GET " or "POST " at start
132
+ TLS/SSL - 0x16 0x03 (record layer)
133
+ DNS - UDP port 53, specific header format
134
+ SMB - 0xFF 0x53 0x4D 0x42 ("SMB" signature)
135
+ SSH - "SSH-2.0" banner
136
+ FTP - "220 " response, "USER " command
137
+ SMTP - "220 " banner, "EHLO" command
138
+ MySQL - 0x00 length prefix, protocol version
139
+ PostgreSQL - 0x00 0x00 0x00 startup length
140
+ Redis - "*" RESP array prefix
141
+ MongoDB - BSON documents with specific header
142
+ ```
143
+
144
+ ### Protocol Header Patterns
145
+
146
+ ```
147
+ +--------+--------+--------+--------+
148
+ | Magic number / Signature |
149
+ +--------+--------+--------+--------+
150
+ | Version | Flags |
151
+ +--------+--------+--------+--------+
152
+ | Length | Message Type |
153
+ +--------+--------+--------+--------+
154
+ | Sequence Number / Session ID |
155
+ +--------+--------+--------+--------+
156
+ | Payload... |
157
+ +--------+--------+--------+--------+
158
+ ```
159
+
160
+ ## Binary Protocol Analysis
161
+
162
+ ### Structure Identification
163
+
164
+ ```python
165
+ # Common patterns in binary protocols
166
+
167
+ # Length-prefixed message
168
+ struct Message {
169
+ uint32_t length; # Total message length
170
+ uint16_t msg_type; # Message type identifier
171
+ uint8_t flags; # Flags/options
172
+ uint8_t reserved; # Padding/alignment
173
+ uint8_t payload[]; # Variable-length payload
174
+ };
175
+
176
+ # Type-Length-Value (TLV)
177
+ struct TLV {
178
+ uint8_t type; # Field type
179
+ uint16_t length; # Field length
180
+ uint8_t value[]; # Field data
181
+ };
182
+
183
+ # Fixed header + variable payload
184
+ struct Packet {
185
+ uint8_t magic[4]; # "ABCD" signature
186
+ uint32_t version;
187
+ uint32_t payload_len;
188
+ uint32_t checksum; # CRC32 or similar
189
+ uint8_t payload[];
190
+ };
191
+ ```
192
+
193
+ ### Python Protocol Parser
194
+
195
+ ```python
196
+ import struct
197
+ from dataclasses import dataclass
198
+
199
+ @dataclass
200
+ class MessageHeader:
201
+ magic: bytes
202
+ version: int
203
+ msg_type: int
204
+ length: int
205
+
206
+ @classmethod
207
+ def from_bytes(cls, data: bytes):
208
+ magic, version, msg_type, length = struct.unpack(
209
+ ">4sHHI", data[:12]
210
+ )
211
+ return cls(magic, version, msg_type, length)
212
+
213
+ def parse_messages(data: bytes):
214
+ offset = 0
215
+ messages = []
216
+
217
+ while offset < len(data):
218
+ header = MessageHeader.from_bytes(data[offset:])
219
+ payload = data[offset+12:offset+12+header.length]
220
+ messages.append((header, payload))
221
+ offset += 12 + header.length
222
+
223
+ return messages
224
+
225
+ # Parse TLV structure
226
+ def parse_tlv(data: bytes):
227
+ fields = []
228
+ offset = 0
229
+
230
+ while offset < len(data):
231
+ field_type = data[offset]
232
+ length = struct.unpack(">H", data[offset+1:offset+3])[0]
233
+ value = data[offset+3:offset+3+length]
234
+ fields.append((field_type, value))
235
+ offset += 3 + length
236
+
237
+ return fields
238
+ ```
239
+
240
+ ### Hex Dump Analysis
241
+
242
+ ```python
243
+ def hexdump(data: bytes, width: int = 16):
244
+ """Format binary data as hex dump."""
245
+ lines = []
246
+ for i in range(0, len(data), width):
247
+ chunk = data[i:i+width]
248
+ hex_part = ' '.join(f'{b:02x}' for b in chunk)
249
+ ascii_part = ''.join(
250
+ chr(b) if 32 <= b < 127 else '.'
251
+ for b in chunk
252
+ )
253
+ lines.append(f'{i:08x} {hex_part:<{width*3}} {ascii_part}')
254
+ return '\n'.join(lines)
255
+
256
+ # Example output:
257
+ # 00000000 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d HTTP/1.1 200 OK.
258
+ # 00000010 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 74 .Content-Type: t
259
+ ```
260
+
261
+ ## Encryption Analysis
262
+
263
+ ### Identifying Encryption
264
+
265
+ ```python
266
+ # Entropy analysis - high entropy suggests encryption/compression
267
+ import math
268
+ from collections import Counter
269
+
270
+ def entropy(data: bytes) -> float:
271
+ if not data:
272
+ return 0.0
273
+ counter = Counter(data)
274
+ probs = [count / len(data) for count in counter.values()]
275
+ return -sum(p * math.log2(p) for p in probs)
276
+
277
+ # Entropy thresholds:
278
+ # < 6.0: Likely plaintext or structured data
279
+ # 6.0-7.5: Possibly compressed
280
+ # > 7.5: Likely encrypted or random
281
+
282
+ # Common encryption indicators
283
+ # - High, uniform entropy
284
+ # - No obvious structure or patterns
285
+ # - Length often multiple of block size (16 for AES)
286
+ # - Possible IV at start (16 bytes for AES-CBC)
287
+ ```
288
+
289
+ ### TLS Analysis
290
+
291
+ ```bash
292
+ # Extract TLS metadata
293
+ tshark -r capture.pcap -Y "ssl.handshake" \
294
+ -T fields -e ip.src -e ssl.handshake.ciphersuite
295
+
296
+ # JA3 fingerprinting (client)
297
+ tshark -r capture.pcap -Y "ssl.handshake.type == 1" \
298
+ -T fields -e ssl.handshake.ja3
299
+
300
+ # JA3S fingerprinting (server)
301
+ tshark -r capture.pcap -Y "ssl.handshake.type == 2" \
302
+ -T fields -e ssl.handshake.ja3s
303
+
304
+ # Certificate extraction
305
+ tshark -r capture.pcap -Y "ssl.handshake.certificate" \
306
+ -T fields -e x509sat.printableString
307
+ ```
308
+
309
+ ### Decryption Approaches
310
+
311
+ ```bash
312
+ # Pre-master secret log (browser)
313
+ export SSLKEYLOGFILE=/tmp/keys.log
314
+
315
+ # Configure Wireshark
316
+ # Edit > Preferences > Protocols > TLS
317
+ # (Pre)-Master-Secret log filename: /tmp/keys.log
318
+
319
+ # Decrypt with private key (if available)
320
+ # Only works for RSA key exchange
321
+ # Edit > Preferences > Protocols > TLS > RSA keys list
322
+ ```
323
+
324
+ ## Custom Protocol Documentation
325
+
326
+ ### Protocol Specification Template
327
+
328
+ ```markdown
329
+ # Protocol Name Specification
330
+
331
+ ## Overview
332
+ Brief description of protocol purpose and design.
333
+
334
+ ## Transport
335
+ - Layer: TCP/UDP
336
+ - Port: XXXX
337
+ - Encryption: TLS 1.2+
338
+
339
+ ## Message Format
340
+
341
+ ### Header (12 bytes)
342
+ | Offset | Size | Field | Description |
343
+ |--------|------|-------------|--------------------------|
344
+ | 0 | 4 | Magic | 0x50524F54 ("PROT") |
345
+ | 4 | 2 | Version | Protocol version (1) |
346
+ | 6 | 2 | Type | Message type identifier |
347
+ | 8 | 4 | Length | Payload length in bytes |
348
+
349
+ ### Message Types
350
+ | Type | Name | Description |
351
+ |------|---------------|--------------------------|
352
+ | 0x01 | HELLO | Connection initiation |
353
+ | 0x02 | HELLO_ACK | Connection accepted |
354
+ | 0x03 | DATA | Application data |
355
+ | 0x04 | CLOSE | Connection termination |
356
+
357
+ ### Type 0x01: HELLO
358
+ | Offset | Size | Field | Description |
359
+ |--------|------|-------------|--------------------------|
360
+ | 0 | 4 | ClientID | Unique client identifier |
361
+ | 4 | 2 | Flags | Connection flags |
362
+ | 6 | var | Extensions | TLV-encoded extensions |
363
+
364
+ ## State Machine
365
+ ```
366
+ [INIT] --HELLO--> [WAIT_ACK] --HELLO_ACK--> [CONNECTED]
367
+ |
368
+ DATA/DATA
369
+ |
370
+ [CLOSED] <--CLOSE--+
371
+ ```
372
+
373
+ ## Examples
374
+ ### Connection Establishment
375
+ ```
376
+ Client -> Server: HELLO (ClientID=0x12345678)
377
+ Server -> Client: HELLO_ACK (Status=OK)
378
+ Client -> Server: DATA (payload)
379
+ ```
380
+ ```
381
+
382
+ ### Wireshark Dissector (Lua)
383
+
384
+ ```lua
385
+ -- custom_protocol.lua
386
+ local proto = Proto("custom", "Custom Protocol")
387
+
388
+ -- Define fields
389
+ local f_magic = ProtoField.string("custom.magic", "Magic")
390
+ local f_version = ProtoField.uint16("custom.version", "Version")
391
+ local f_type = ProtoField.uint16("custom.type", "Type")
392
+ local f_length = ProtoField.uint32("custom.length", "Length")
393
+ local f_payload = ProtoField.bytes("custom.payload", "Payload")
394
+
395
+ proto.fields = { f_magic, f_version, f_type, f_length, f_payload }
396
+
397
+ -- Message type names
398
+ local msg_types = {
399
+ [0x01] = "HELLO",
400
+ [0x02] = "HELLO_ACK",
401
+ [0x03] = "DATA",
402
+ [0x04] = "CLOSE"
403
+ }
404
+
405
+ function proto.dissector(buffer, pinfo, tree)
406
+ pinfo.cols.protocol = "CUSTOM"
407
+
408
+ local subtree = tree:add(proto, buffer())
409
+
410
+ -- Parse header
411
+ subtree:add(f_magic, buffer(0, 4))
412
+ subtree:add(f_version, buffer(4, 2))
413
+
414
+ local msg_type = buffer(6, 2):uint()
415
+ subtree:add(f_type, buffer(6, 2)):append_text(
416
+ " (" .. (msg_types[msg_type] or "Unknown") .. ")"
417
+ )
418
+
419
+ local length = buffer(8, 4):uint()
420
+ subtree:add(f_length, buffer(8, 4))
421
+
422
+ if length > 0 then
423
+ subtree:add(f_payload, buffer(12, length))
424
+ end
425
+ end
426
+
427
+ -- Register for TCP port
428
+ local tcp_table = DissectorTable.get("tcp.port")
429
+ tcp_table:add(8888, proto)
430
+ ```
431
+
432
+ ## Active Testing
433
+
434
+ ### Fuzzing with Boofuzz
435
+
436
+ ```python
437
+ from boofuzz import *
438
+
439
+ def main():
440
+ session = Session(
441
+ target=Target(
442
+ connection=TCPSocketConnection("target", 8888)
443
+ )
444
+ )
445
+
446
+ # Define protocol structure
447
+ s_initialize("HELLO")
448
+ s_static(b"\x50\x52\x4f\x54") # Magic
449
+ s_word(1, name="version") # Version
450
+ s_word(0x01, name="type") # Type (HELLO)
451
+ s_size("payload", length=4) # Length field
452
+ s_block_start("payload")
453
+ s_dword(0x12345678, name="client_id")
454
+ s_word(0, name="flags")
455
+ s_block_end()
456
+
457
+ session.connect(s_get("HELLO"))
458
+ session.fuzz()
459
+
460
+ if __name__ == "__main__":
461
+ main()
462
+ ```
463
+
464
+ ### Replay and Modification
465
+
466
+ ```python
467
+ from scapy.all import *
468
+
469
+ # Replay captured traffic
470
+ packets = rdpcap("capture.pcap")
471
+ for pkt in packets:
472
+ if pkt.haslayer(TCP) and pkt[TCP].dport == 8888:
473
+ send(pkt)
474
+
475
+ # Modify and replay
476
+ for pkt in packets:
477
+ if pkt.haslayer(Raw):
478
+ # Modify payload
479
+ original = pkt[Raw].load
480
+ modified = original.replace(b"client", b"CLIENT")
481
+ pkt[Raw].load = modified
482
+ # Recalculate checksums
483
+ del pkt[IP].chksum
484
+ del pkt[TCP].chksum
485
+ send(pkt)
486
+ ```
487
+
488
+ ## Best Practices
489
+
490
+ ### Analysis Workflow
491
+
492
+ 1. **Capture traffic**: Multiple sessions, different scenarios
493
+ 2. **Identify boundaries**: Message start/end markers
494
+ 3. **Map structure**: Fixed header, variable payload
495
+ 4. **Identify fields**: Compare multiple samples
496
+ 5. **Document format**: Create specification
497
+ 6. **Validate understanding**: Implement parser/generator
498
+ 7. **Test edge cases**: Fuzzing, boundary conditions
499
+
500
+ ### Common Patterns to Look For
501
+
502
+ - Magic numbers/signatures at message start
503
+ - Version fields for compatibility
504
+ - Length fields (often before variable data)
505
+ - Type/opcode fields for message identification
506
+ - Sequence numbers for ordering
507
+ - Checksums/CRCs for integrity
508
+ - Timestamps for timing
509
+ - Session/connection identifiers