devskill 2.0.7 → 2.0.8

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 (1016) hide show
  1. package/meta.ts +4 -0
  2. package/package.json +1 -1
  3. package/skills/add-educational-comments/LICENSE.md +21 -0
  4. package/skills/add-educational-comments/SKILL.md +128 -0
  5. package/skills/add-educational-comments/SYNC.md +5 -0
  6. package/skills/agent-governance/LICENSE.md +21 -0
  7. package/skills/agent-governance/SKILL.md +569 -0
  8. package/skills/agent-governance/SYNC.md +5 -0
  9. package/skills/agentic-eval/LICENSE.md +21 -0
  10. package/skills/agentic-eval/SKILL.md +189 -0
  11. package/skills/agentic-eval/SYNC.md +5 -0
  12. package/skills/ai-prompt-engineering-safety-review/LICENSE.md +21 -0
  13. package/skills/ai-prompt-engineering-safety-review/SKILL.md +230 -0
  14. package/skills/ai-prompt-engineering-safety-review/SYNC.md +5 -0
  15. package/skills/appinsights-instrumentation/LICENSE.md +21 -0
  16. package/skills/appinsights-instrumentation/LICENSE.txt +21 -0
  17. package/skills/appinsights-instrumentation/SKILL.md +48 -0
  18. package/skills/appinsights-instrumentation/SYNC.md +5 -0
  19. package/skills/appinsights-instrumentation/examples/appinsights.bicep +30 -0
  20. package/skills/appinsights-instrumentation/references/ASPNETCORE.md +29 -0
  21. package/skills/appinsights-instrumentation/references/AUTO.md +13 -0
  22. package/skills/appinsights-instrumentation/references/NODEJS.md +28 -0
  23. package/skills/appinsights-instrumentation/references/PYTHON.md +48 -0
  24. package/skills/appinsights-instrumentation/scripts/appinsights.ps1 +20 -0
  25. package/skills/apple-appstore-reviewer/LICENSE.md +21 -0
  26. package/skills/apple-appstore-reviewer/SKILL.md +305 -0
  27. package/skills/apple-appstore-reviewer/SYNC.md +5 -0
  28. package/skills/arch-linux-triage/LICENSE.md +21 -0
  29. package/skills/arch-linux-triage/SKILL.md +31 -0
  30. package/skills/arch-linux-triage/SYNC.md +5 -0
  31. package/skills/architecture-blueprint-generator/LICENSE.md +21 -0
  32. package/skills/architecture-blueprint-generator/SKILL.md +322 -0
  33. package/skills/architecture-blueprint-generator/SYNC.md +5 -0
  34. package/skills/aspire/LICENSE.md +21 -0
  35. package/skills/aspire/SKILL.md +231 -0
  36. package/skills/aspire/SYNC.md +5 -0
  37. package/skills/aspire/references/architecture.md +341 -0
  38. package/skills/aspire/references/cli-reference.md +307 -0
  39. package/skills/aspire/references/dashboard.md +226 -0
  40. package/skills/aspire/references/deployment.md +237 -0
  41. package/skills/aspire/references/integrations-catalog.md +68 -0
  42. package/skills/aspire/references/mcp-server.md +195 -0
  43. package/skills/aspire/references/polyglot-apis.md +296 -0
  44. package/skills/aspire/references/testing.md +281 -0
  45. package/skills/aspire/references/troubleshooting.md +194 -0
  46. package/skills/aspnet-minimal-api-openapi/LICENSE.md +21 -0
  47. package/skills/aspnet-minimal-api-openapi/SKILL.md +41 -0
  48. package/skills/aspnet-minimal-api-openapi/SYNC.md +5 -0
  49. package/skills/automate-this/LICENSE.md +21 -0
  50. package/skills/automate-this/SKILL.md +244 -0
  51. package/skills/automate-this/SYNC.md +5 -0
  52. package/skills/autoresearch/LICENSE.md +21 -0
  53. package/skills/autoresearch/SKILL.md +275 -0
  54. package/skills/autoresearch/SYNC.md +5 -0
  55. package/skills/aws-cdk-python-setup/LICENSE.md +21 -0
  56. package/skills/aws-cdk-python-setup/SKILL.md +111 -0
  57. package/skills/aws-cdk-python-setup/SYNC.md +5 -0
  58. package/skills/az-cost-optimize/LICENSE.md +21 -0
  59. package/skills/az-cost-optimize/SKILL.md +305 -0
  60. package/skills/az-cost-optimize/SYNC.md +5 -0
  61. package/skills/azure-deployment-preflight/LICENSE.md +21 -0
  62. package/skills/azure-deployment-preflight/SKILL.md +216 -0
  63. package/skills/azure-deployment-preflight/SYNC.md +5 -0
  64. package/skills/azure-deployment-preflight/references/ERROR-HANDLING.md +392 -0
  65. package/skills/azure-deployment-preflight/references/REPORT-TEMPLATE.md +352 -0
  66. package/skills/azure-deployment-preflight/references/VALIDATION-COMMANDS.md +379 -0
  67. package/skills/azure-devops-cli/LICENSE.md +21 -0
  68. package/skills/azure-devops-cli/SKILL.md +94 -0
  69. package/skills/azure-devops-cli/SYNC.md +5 -0
  70. package/skills/azure-devops-cli/references/advanced-usage.md +197 -0
  71. package/skills/azure-devops-cli/references/boards-and-iterations.md +258 -0
  72. package/skills/azure-devops-cli/references/org-and-security.md +469 -0
  73. package/skills/azure-devops-cli/references/pipelines-and-builds.md +245 -0
  74. package/skills/azure-devops-cli/references/repos-and-prs.md +333 -0
  75. package/skills/azure-devops-cli/references/variables-and-agents.md +212 -0
  76. package/skills/azure-devops-cli/references/workflows-and-patterns.md +668 -0
  77. package/skills/azure-pricing/LICENSE.md +21 -0
  78. package/skills/azure-pricing/SKILL.md +189 -0
  79. package/skills/azure-pricing/SYNC.md +5 -0
  80. package/skills/azure-pricing/references/COPILOT-STUDIO-RATES.md +135 -0
  81. package/skills/azure-pricing/references/COST-ESTIMATOR.md +142 -0
  82. package/skills/azure-pricing/references/REGIONS.md +84 -0
  83. package/skills/azure-pricing/references/SERVICE-NAMES.md +106 -0
  84. package/skills/azure-resource-health-diagnose/LICENSE.md +21 -0
  85. package/skills/azure-resource-health-diagnose/SKILL.md +290 -0
  86. package/skills/azure-resource-health-diagnose/SYNC.md +5 -0
  87. package/skills/azure-resource-visualizer/LICENSE.md +21 -0
  88. package/skills/azure-resource-visualizer/LICENSE.txt +21 -0
  89. package/skills/azure-resource-visualizer/SKILL.md +233 -0
  90. package/skills/azure-resource-visualizer/SYNC.md +5 -0
  91. package/skills/azure-resource-visualizer/assets/template-architecture.md +41 -0
  92. package/skills/azure-role-selector/LICENSE.md +21 -0
  93. package/skills/azure-role-selector/LICENSE.txt +21 -0
  94. package/skills/azure-role-selector/SKILL.md +6 -0
  95. package/skills/azure-role-selector/SYNC.md +5 -0
  96. package/skills/azure-static-web-apps/LICENSE.md +21 -0
  97. package/skills/azure-static-web-apps/SKILL.md +315 -0
  98. package/skills/azure-static-web-apps/SYNC.md +5 -0
  99. package/skills/bigquery-pipeline-audit/LICENSE.md +21 -0
  100. package/skills/bigquery-pipeline-audit/SKILL.md +129 -0
  101. package/skills/bigquery-pipeline-audit/SYNC.md +5 -0
  102. package/skills/boost-prompt/LICENSE.md +21 -0
  103. package/skills/boost-prompt/SKILL.md +25 -0
  104. package/skills/boost-prompt/SYNC.md +5 -0
  105. package/skills/breakdown-epic-arch/LICENSE.md +21 -0
  106. package/skills/breakdown-epic-arch/SKILL.md +66 -0
  107. package/skills/breakdown-epic-arch/SYNC.md +5 -0
  108. package/skills/breakdown-epic-pm/LICENSE.md +21 -0
  109. package/skills/breakdown-epic-pm/SKILL.md +58 -0
  110. package/skills/breakdown-epic-pm/SYNC.md +5 -0
  111. package/skills/breakdown-feature-implementation/LICENSE.md +21 -0
  112. package/skills/breakdown-feature-implementation/SKILL.md +128 -0
  113. package/skills/breakdown-feature-implementation/SYNC.md +5 -0
  114. package/skills/breakdown-feature-prd/LICENSE.md +21 -0
  115. package/skills/breakdown-feature-prd/SKILL.md +61 -0
  116. package/skills/breakdown-feature-prd/SYNC.md +5 -0
  117. package/skills/breakdown-plan/LICENSE.md +21 -0
  118. package/skills/breakdown-plan/SKILL.md +509 -0
  119. package/skills/breakdown-plan/SYNC.md +5 -0
  120. package/skills/breakdown-test/LICENSE.md +21 -0
  121. package/skills/breakdown-test/SKILL.md +365 -0
  122. package/skills/breakdown-test/SYNC.md +5 -0
  123. package/skills/centos-linux-triage/LICENSE.md +21 -0
  124. package/skills/centos-linux-triage/SKILL.md +31 -0
  125. package/skills/centos-linux-triage/SYNC.md +5 -0
  126. package/skills/chrome-devtools/LICENSE.md +21 -0
  127. package/skills/chrome-devtools/SKILL.md +97 -0
  128. package/skills/chrome-devtools/SYNC.md +5 -0
  129. package/skills/cli-mastery/LICENSE.md +21 -0
  130. package/skills/cli-mastery/SKILL.md +43 -0
  131. package/skills/cli-mastery/SYNC.md +5 -0
  132. package/skills/cli-mastery/references/final-exam.md +24 -0
  133. package/skills/cli-mastery/references/module-1-slash-commands.md +88 -0
  134. package/skills/cli-mastery/references/module-2-keyboard-shortcuts.md +38 -0
  135. package/skills/cli-mastery/references/module-3-modes.md +33 -0
  136. package/skills/cli-mastery/references/module-4-agents.md +42 -0
  137. package/skills/cli-mastery/references/module-5-skills.md +33 -0
  138. package/skills/cli-mastery/references/module-6-mcp.md +50 -0
  139. package/skills/cli-mastery/references/module-7-advanced.md +38 -0
  140. package/skills/cli-mastery/references/module-8-configuration.md +34 -0
  141. package/skills/cli-mastery/references/scenarios.md +44 -0
  142. package/skills/cloud-design-patterns/LICENSE.md +21 -0
  143. package/skills/cloud-design-patterns/SKILL.md +62 -0
  144. package/skills/cloud-design-patterns/SYNC.md +5 -0
  145. package/skills/cloud-design-patterns/references/architecture-design.md +127 -0
  146. package/skills/cloud-design-patterns/references/azure-service-mappings.md +13 -0
  147. package/skills/cloud-design-patterns/references/best-practices.md +34 -0
  148. package/skills/cloud-design-patterns/references/deployment-operational.md +91 -0
  149. package/skills/cloud-design-patterns/references/event-driven.md +21 -0
  150. package/skills/cloud-design-patterns/references/messaging-integration.md +127 -0
  151. package/skills/cloud-design-patterns/references/performance.md +180 -0
  152. package/skills/cloud-design-patterns/references/reliability-resilience.md +156 -0
  153. package/skills/cloud-design-patterns/references/security.md +55 -0
  154. package/skills/code-exemplars-blueprint-generator/LICENSE.md +21 -0
  155. package/skills/code-exemplars-blueprint-generator/SKILL.md +126 -0
  156. package/skills/code-exemplars-blueprint-generator/SYNC.md +5 -0
  157. package/skills/codeql/LICENSE.md +21 -0
  158. package/skills/codeql/SKILL.md +405 -0
  159. package/skills/codeql/SYNC.md +5 -0
  160. package/skills/codeql/references/alert-management.md +170 -0
  161. package/skills/codeql/references/cli-commands.md +283 -0
  162. package/skills/codeql/references/compiled-languages.md +284 -0
  163. package/skills/codeql/references/sarif-output.md +265 -0
  164. package/skills/codeql/references/troubleshooting.md +259 -0
  165. package/skills/codeql/references/workflow-configuration.md +398 -0
  166. package/skills/comment-code-generate-a-tutorial/LICENSE.md +21 -0
  167. package/skills/comment-code-generate-a-tutorial/SKILL.md +26 -0
  168. package/skills/comment-code-generate-a-tutorial/SYNC.md +5 -0
  169. package/skills/containerize-aspnet-framework/LICENSE.md +21 -0
  170. package/skills/containerize-aspnet-framework/SKILL.md +454 -0
  171. package/skills/containerize-aspnet-framework/SYNC.md +5 -0
  172. package/skills/containerize-aspnetcore/LICENSE.md +21 -0
  173. package/skills/containerize-aspnetcore/SKILL.md +392 -0
  174. package/skills/containerize-aspnetcore/SYNC.md +5 -0
  175. package/skills/context-map/LICENSE.md +21 -0
  176. package/skills/context-map/SKILL.md +52 -0
  177. package/skills/context-map/SYNC.md +5 -0
  178. package/skills/conventional-commit/LICENSE.md +21 -0
  179. package/skills/conventional-commit/SKILL.md +72 -0
  180. package/skills/conventional-commit/SYNC.md +5 -0
  181. package/skills/convert-plaintext-to-md/LICENSE.md +21 -0
  182. package/skills/convert-plaintext-to-md/SKILL.md +362 -0
  183. package/skills/convert-plaintext-to-md/SYNC.md +5 -0
  184. package/skills/copilot-cli-quickstart/LICENSE.md +21 -0
  185. package/skills/copilot-cli-quickstart/SKILL.md +774 -0
  186. package/skills/copilot-cli-quickstart/SYNC.md +5 -0
  187. package/skills/copilot-instructions-blueprint-generator/LICENSE.md +21 -0
  188. package/skills/copilot-instructions-blueprint-generator/SKILL.md +294 -0
  189. package/skills/copilot-instructions-blueprint-generator/SYNC.md +5 -0
  190. package/skills/copilot-sdk/LICENSE.md +21 -0
  191. package/skills/copilot-sdk/SKILL.md +914 -0
  192. package/skills/copilot-sdk/SYNC.md +5 -0
  193. package/skills/copilot-spaces/LICENSE.md +21 -0
  194. package/skills/copilot-spaces/SKILL.md +205 -0
  195. package/skills/copilot-spaces/SYNC.md +5 -0
  196. package/skills/copilot-usage-metrics/LICENSE.md +21 -0
  197. package/skills/copilot-usage-metrics/SKILL.md +52 -0
  198. package/skills/copilot-usage-metrics/SYNC.md +5 -0
  199. package/skills/copilot-usage-metrics/get-enterprise-metrics.sh +22 -0
  200. package/skills/copilot-usage-metrics/get-enterprise-user-metrics.sh +22 -0
  201. package/skills/copilot-usage-metrics/get-org-metrics.sh +22 -0
  202. package/skills/copilot-usage-metrics/get-org-user-metrics.sh +22 -0
  203. package/skills/cosmosdb-datamodeling/LICENSE.md +21 -0
  204. package/skills/cosmosdb-datamodeling/SKILL.md +1045 -0
  205. package/skills/cosmosdb-datamodeling/SYNC.md +5 -0
  206. package/skills/create-agentsmd/LICENSE.md +21 -0
  207. package/skills/create-agentsmd/SKILL.md +249 -0
  208. package/skills/create-agentsmd/SYNC.md +5 -0
  209. package/skills/create-architectural-decision-record/LICENSE.md +21 -0
  210. package/skills/create-architectural-decision-record/SKILL.md +97 -0
  211. package/skills/create-architectural-decision-record/SYNC.md +5 -0
  212. package/skills/create-github-action-workflow-specification/LICENSE.md +21 -0
  213. package/skills/create-github-action-workflow-specification/SKILL.md +276 -0
  214. package/skills/create-github-action-workflow-specification/SYNC.md +5 -0
  215. package/skills/create-github-issue-feature-from-specification/LICENSE.md +21 -0
  216. package/skills/create-github-issue-feature-from-specification/SKILL.md +28 -0
  217. package/skills/create-github-issue-feature-from-specification/SYNC.md +5 -0
  218. package/skills/create-github-issues-feature-from-implementation-plan/LICENSE.md +21 -0
  219. package/skills/create-github-issues-feature-from-implementation-plan/SKILL.md +28 -0
  220. package/skills/create-github-issues-feature-from-implementation-plan/SYNC.md +5 -0
  221. package/skills/create-github-issues-for-unmet-specification-requirements/LICENSE.md +21 -0
  222. package/skills/create-github-issues-for-unmet-specification-requirements/SKILL.md +35 -0
  223. package/skills/create-github-issues-for-unmet-specification-requirements/SYNC.md +5 -0
  224. package/skills/create-github-pull-request-from-specification/LICENSE.md +21 -0
  225. package/skills/create-github-pull-request-from-specification/SKILL.md +24 -0
  226. package/skills/create-github-pull-request-from-specification/SYNC.md +5 -0
  227. package/skills/create-implementation-plan/LICENSE.md +21 -0
  228. package/skills/create-implementation-plan/SKILL.md +157 -0
  229. package/skills/create-implementation-plan/SYNC.md +5 -0
  230. package/skills/create-llms/LICENSE.md +21 -0
  231. package/skills/create-llms/SKILL.md +210 -0
  232. package/skills/create-llms/SYNC.md +5 -0
  233. package/skills/create-readme/LICENSE.md +21 -0
  234. package/skills/create-readme/SKILL.md +21 -0
  235. package/skills/create-readme/SYNC.md +5 -0
  236. package/skills/create-specification/LICENSE.md +21 -0
  237. package/skills/create-specification/SKILL.md +127 -0
  238. package/skills/create-specification/SYNC.md +5 -0
  239. package/skills/create-spring-boot-java-project/LICENSE.md +21 -0
  240. package/skills/create-spring-boot-java-project/SKILL.md +163 -0
  241. package/skills/create-spring-boot-java-project/SYNC.md +5 -0
  242. package/skills/create-spring-boot-kotlin-project/LICENSE.md +21 -0
  243. package/skills/create-spring-boot-kotlin-project/SKILL.md +147 -0
  244. package/skills/create-spring-boot-kotlin-project/SYNC.md +5 -0
  245. package/skills/create-technical-spike/LICENSE.md +21 -0
  246. package/skills/create-technical-spike/SKILL.md +230 -0
  247. package/skills/create-technical-spike/SYNC.md +5 -0
  248. package/skills/create-tldr-page/LICENSE.md +21 -0
  249. package/skills/create-tldr-page/SKILL.md +210 -0
  250. package/skills/create-tldr-page/SYNC.md +5 -0
  251. package/skills/creating-oracle-to-postgres-master-migration-plan/LICENSE.md +21 -0
  252. package/skills/creating-oracle-to-postgres-master-migration-plan/SKILL.md +83 -0
  253. package/skills/creating-oracle-to-postgres-master-migration-plan/SYNC.md +5 -0
  254. package/skills/creating-oracle-to-postgres-migration-bug-report/LICENSE.md +21 -0
  255. package/skills/creating-oracle-to-postgres-migration-bug-report/SKILL.md +43 -0
  256. package/skills/creating-oracle-to-postgres-migration-bug-report/SYNC.md +5 -0
  257. package/skills/creating-oracle-to-postgres-migration-bug-report/references/BUG-REPORT-TEMPLATE.md +79 -0
  258. package/skills/creating-oracle-to-postgres-migration-integration-tests/LICENSE.md +21 -0
  259. package/skills/creating-oracle-to-postgres-migration-integration-tests/SKILL.md +60 -0
  260. package/skills/creating-oracle-to-postgres-migration-integration-tests/SYNC.md +5 -0
  261. package/skills/csharp-async/LICENSE.md +21 -0
  262. package/skills/csharp-async/SKILL.md +49 -0
  263. package/skills/csharp-async/SYNC.md +5 -0
  264. package/skills/csharp-docs/LICENSE.md +21 -0
  265. package/skills/csharp-docs/SKILL.md +62 -0
  266. package/skills/csharp-docs/SYNC.md +5 -0
  267. package/skills/csharp-mcp-server-generator/LICENSE.md +21 -0
  268. package/skills/csharp-mcp-server-generator/SKILL.md +59 -0
  269. package/skills/csharp-mcp-server-generator/SYNC.md +5 -0
  270. package/skills/csharp-mstest/LICENSE.md +21 -0
  271. package/skills/csharp-mstest/SKILL.md +478 -0
  272. package/skills/csharp-mstest/SYNC.md +5 -0
  273. package/skills/csharp-nunit/LICENSE.md +21 -0
  274. package/skills/csharp-nunit/SKILL.md +71 -0
  275. package/skills/csharp-nunit/SYNC.md +5 -0
  276. package/skills/csharp-tunit/LICENSE.md +21 -0
  277. package/skills/csharp-tunit/SKILL.md +100 -0
  278. package/skills/csharp-tunit/SYNC.md +5 -0
  279. package/skills/csharp-xunit/LICENSE.md +21 -0
  280. package/skills/csharp-xunit/SKILL.md +68 -0
  281. package/skills/csharp-xunit/SYNC.md +5 -0
  282. package/skills/datanalysis-credit-risk/LICENSE.md +21 -0
  283. package/skills/datanalysis-credit-risk/SKILL.md +113 -0
  284. package/skills/datanalysis-credit-risk/SYNC.md +5 -0
  285. package/skills/datanalysis-credit-risk/references/analysis.py +1223 -0
  286. package/skills/datanalysis-credit-risk/references/func.py +228 -0
  287. package/skills/datanalysis-credit-risk/scripts/example.py +391 -0
  288. package/skills/dataverse-python-advanced-patterns/LICENSE.md +21 -0
  289. package/skills/dataverse-python-advanced-patterns/SKILL.md +17 -0
  290. package/skills/dataverse-python-advanced-patterns/SYNC.md +5 -0
  291. package/skills/dataverse-python-production-code/LICENSE.md +21 -0
  292. package/skills/dataverse-python-production-code/SKILL.md +116 -0
  293. package/skills/dataverse-python-production-code/SYNC.md +5 -0
  294. package/skills/dataverse-python-quickstart/LICENSE.md +21 -0
  295. package/skills/dataverse-python-quickstart/SKILL.md +14 -0
  296. package/skills/dataverse-python-quickstart/SYNC.md +5 -0
  297. package/skills/dataverse-python-usecase-builder/LICENSE.md +21 -0
  298. package/skills/dataverse-python-usecase-builder/SKILL.md +246 -0
  299. package/skills/dataverse-python-usecase-builder/SYNC.md +5 -0
  300. package/skills/debian-linux-triage/LICENSE.md +21 -0
  301. package/skills/debian-linux-triage/SKILL.md +31 -0
  302. package/skills/debian-linux-triage/SYNC.md +5 -0
  303. package/skills/declarative-agents/LICENSE.md +21 -0
  304. package/skills/declarative-agents/SKILL.md +94 -0
  305. package/skills/declarative-agents/SYNC.md +5 -0
  306. package/skills/dependabot/LICENSE.md +21 -0
  307. package/skills/dependabot/SKILL.md +422 -0
  308. package/skills/dependabot/SYNC.md +5 -0
  309. package/skills/dependabot/references/dependabot-yml-reference.md +374 -0
  310. package/skills/dependabot/references/example-configs.md +409 -0
  311. package/skills/dependabot/references/pr-commands.md +91 -0
  312. package/skills/devops-rollout-plan/LICENSE.md +21 -0
  313. package/skills/devops-rollout-plan/SKILL.md +117 -0
  314. package/skills/devops-rollout-plan/SYNC.md +5 -0
  315. package/skills/documentation-writer/LICENSE.md +21 -0
  316. package/skills/documentation-writer/SKILL.md +45 -0
  317. package/skills/documentation-writer/SYNC.md +5 -0
  318. package/skills/dotnet-best-practices/LICENSE.md +21 -0
  319. package/skills/dotnet-best-practices/SKILL.md +85 -0
  320. package/skills/dotnet-best-practices/SYNC.md +5 -0
  321. package/skills/dotnet-design-pattern-review/LICENSE.md +21 -0
  322. package/skills/dotnet-design-pattern-review/SKILL.md +42 -0
  323. package/skills/dotnet-design-pattern-review/SYNC.md +5 -0
  324. package/skills/dotnet-timezone/LICENSE.md +21 -0
  325. package/skills/dotnet-timezone/SKILL.md +109 -0
  326. package/skills/dotnet-timezone/SYNC.md +5 -0
  327. package/skills/dotnet-timezone/references/code-patterns.md +153 -0
  328. package/skills/dotnet-timezone/references/timezone-index.md +87 -0
  329. package/skills/dotnet-upgrade/LICENSE.md +21 -0
  330. package/skills/dotnet-upgrade/SKILL.md +116 -0
  331. package/skills/dotnet-upgrade/SYNC.md +5 -0
  332. package/skills/doublecheck/LICENSE.md +21 -0
  333. package/skills/doublecheck/SKILL.md +277 -0
  334. package/skills/doublecheck/SYNC.md +5 -0
  335. package/skills/doublecheck/assets/verification-report-template.md +92 -0
  336. package/skills/editorconfig/LICENSE.md +21 -0
  337. package/skills/editorconfig/SKILL.md +63 -0
  338. package/skills/editorconfig/SYNC.md +5 -0
  339. package/skills/ef-core/LICENSE.md +21 -0
  340. package/skills/ef-core/SKILL.md +75 -0
  341. package/skills/ef-core/SYNC.md +5 -0
  342. package/skills/entra-agent-user/LICENSE.md +21 -0
  343. package/skills/entra-agent-user/SKILL.md +270 -0
  344. package/skills/entra-agent-user/SYNC.md +5 -0
  345. package/skills/eval-driven-dev/LICENSE.md +21 -0
  346. package/skills/eval-driven-dev/SKILL.md +862 -0
  347. package/skills/eval-driven-dev/SYNC.md +5 -0
  348. package/skills/eval-driven-dev/references/pixie-api.md +195 -0
  349. package/skills/excalidraw-diagram-generator/LICENSE.md +21 -0
  350. package/skills/excalidraw-diagram-generator/SKILL.md +613 -0
  351. package/skills/excalidraw-diagram-generator/SYNC.md +5 -0
  352. package/skills/excalidraw-diagram-generator/references/element-types.md +497 -0
  353. package/skills/excalidraw-diagram-generator/references/excalidraw-schema.md +350 -0
  354. package/skills/excalidraw-diagram-generator/scripts/README.md +193 -0
  355. package/skills/excalidraw-diagram-generator/scripts/add-arrow.py +312 -0
  356. package/skills/excalidraw-diagram-generator/scripts/add-icon-to-diagram.py +404 -0
  357. package/skills/excalidraw-diagram-generator/scripts/split-excalidraw-library.py +183 -0
  358. package/skills/excalidraw-diagram-generator/templates/business-flow-swimlane-template.excalidraw +334 -0
  359. package/skills/excalidraw-diagram-generator/templates/class-diagram-template.excalidraw +558 -0
  360. package/skills/excalidraw-diagram-generator/templates/data-flow-diagram-template.excalidraw +279 -0
  361. package/skills/excalidraw-diagram-generator/templates/er-diagram-template.excalidraw +662 -0
  362. package/skills/excalidraw-diagram-generator/templates/flowchart-template.excalidraw +179 -0
  363. package/skills/excalidraw-diagram-generator/templates/mindmap-template.excalidraw +244 -0
  364. package/skills/excalidraw-diagram-generator/templates/relationship-template.excalidraw +145 -0
  365. package/skills/excalidraw-diagram-generator/templates/sequence-diagram-template.excalidraw +509 -0
  366. package/skills/fabric-lakehouse/LICENSE.md +21 -0
  367. package/skills/fabric-lakehouse/SKILL.md +106 -0
  368. package/skills/fabric-lakehouse/SYNC.md +5 -0
  369. package/skills/fabric-lakehouse/references/getdata.md +36 -0
  370. package/skills/fabric-lakehouse/references/pyspark.md +189 -0
  371. package/skills/fedora-linux-triage/LICENSE.md +21 -0
  372. package/skills/fedora-linux-triage/SKILL.md +31 -0
  373. package/skills/fedora-linux-triage/SYNC.md +5 -0
  374. package/skills/finalize-agent-prompt/LICENSE.md +21 -0
  375. package/skills/finalize-agent-prompt/SKILL.md +26 -0
  376. package/skills/finalize-agent-prompt/SYNC.md +5 -0
  377. package/skills/finnish-humanizer/LICENSE.md +21 -0
  378. package/skills/finnish-humanizer/SKILL.md +145 -0
  379. package/skills/finnish-humanizer/SYNC.md +5 -0
  380. package/skills/finnish-humanizer/references/patterns.md +338 -0
  381. package/skills/first-ask/LICENSE.md +21 -0
  382. package/skills/first-ask/SKILL.md +30 -0
  383. package/skills/first-ask/SYNC.md +5 -0
  384. package/skills/flowstudio-power-automate-build/LICENSE.md +21 -0
  385. package/skills/flowstudio-power-automate-build/SKILL.md +460 -0
  386. package/skills/flowstudio-power-automate-build/SYNC.md +5 -0
  387. package/skills/flowstudio-power-automate-build/references/action-patterns-connectors.md +542 -0
  388. package/skills/flowstudio-power-automate-build/references/action-patterns-core.md +542 -0
  389. package/skills/flowstudio-power-automate-build/references/action-patterns-data.md +735 -0
  390. package/skills/flowstudio-power-automate-build/references/build-patterns.md +108 -0
  391. package/skills/flowstudio-power-automate-build/references/flow-schema.md +225 -0
  392. package/skills/flowstudio-power-automate-build/references/trigger-types.md +211 -0
  393. package/skills/flowstudio-power-automate-debug/LICENSE.md +21 -0
  394. package/skills/flowstudio-power-automate-debug/SKILL.md +322 -0
  395. package/skills/flowstudio-power-automate-debug/SYNC.md +5 -0
  396. package/skills/flowstudio-power-automate-debug/references/common-errors.md +188 -0
  397. package/skills/flowstudio-power-automate-debug/references/debug-workflow.md +157 -0
  398. package/skills/flowstudio-power-automate-mcp/LICENSE.md +21 -0
  399. package/skills/flowstudio-power-automate-mcp/SKILL.md +450 -0
  400. package/skills/flowstudio-power-automate-mcp/SYNC.md +5 -0
  401. package/skills/flowstudio-power-automate-mcp/references/MCP-BOOTSTRAP.md +53 -0
  402. package/skills/flowstudio-power-automate-mcp/references/action-types.md +79 -0
  403. package/skills/flowstudio-power-automate-mcp/references/connection-references.md +115 -0
  404. package/skills/flowstudio-power-automate-mcp/references/tool-reference.md +445 -0
  405. package/skills/fluentui-blazor/LICENSE.md +21 -0
  406. package/skills/fluentui-blazor/SKILL.md +231 -0
  407. package/skills/fluentui-blazor/SYNC.md +5 -0
  408. package/skills/fluentui-blazor/references/DATAGRID.md +162 -0
  409. package/skills/fluentui-blazor/references/LAYOUT-AND-NAVIGATION.md +173 -0
  410. package/skills/fluentui-blazor/references/SETUP.md +129 -0
  411. package/skills/fluentui-blazor/references/THEMING.md +103 -0
  412. package/skills/folder-structure-blueprint-generator/LICENSE.md +21 -0
  413. package/skills/folder-structure-blueprint-generator/SKILL.md +405 -0
  414. package/skills/folder-structure-blueprint-generator/SYNC.md +5 -0
  415. package/skills/game-engine/LICENSE.md +21 -0
  416. package/skills/game-engine/SKILL.md +139 -0
  417. package/skills/game-engine/SYNC.md +5 -0
  418. package/skills/game-engine/assets/2d-maze-game.md +528 -0
  419. package/skills/game-engine/assets/2d-platform-game.md +1855 -0
  420. package/skills/game-engine/assets/gameBase-template-repo.md +310 -0
  421. package/skills/game-engine/assets/paddle-game-template.md +1528 -0
  422. package/skills/game-engine/assets/simple-2d-engine.md +507 -0
  423. package/skills/game-engine/references/3d-web-games.md +754 -0
  424. package/skills/game-engine/references/algorithms.md +843 -0
  425. package/skills/game-engine/references/basics.md +343 -0
  426. package/skills/game-engine/references/game-control-mechanisms.md +617 -0
  427. package/skills/game-engine/references/game-engine-core-principles.md +695 -0
  428. package/skills/game-engine/references/game-publishing.md +352 -0
  429. package/skills/game-engine/references/techniques.md +894 -0
  430. package/skills/game-engine/references/terminology.md +354 -0
  431. package/skills/game-engine/references/web-apis.md +1394 -0
  432. package/skills/gen-specs-as-issues/LICENSE.md +21 -0
  433. package/skills/gen-specs-as-issues/SKILL.md +165 -0
  434. package/skills/gen-specs-as-issues/SYNC.md +5 -0
  435. package/skills/generate-custom-instructions-from-codebase/LICENSE.md +21 -0
  436. package/skills/generate-custom-instructions-from-codebase/SKILL.md +240 -0
  437. package/skills/generate-custom-instructions-from-codebase/SYNC.md +5 -0
  438. package/skills/geofeed-tuner/LICENSE.md +21 -0
  439. package/skills/geofeed-tuner/SKILL.md +864 -0
  440. package/skills/geofeed-tuner/SYNC.md +5 -0
  441. package/skills/geofeed-tuner/assets/example/01-user-input-rfc8805-feed.csv +5 -0
  442. package/skills/geofeed-tuner/assets/iso3166-1.json +1249 -0
  443. package/skills/geofeed-tuner/assets/iso3166-2.json +20188 -0
  444. package/skills/geofeed-tuner/assets/small-territories.json +106 -0
  445. package/skills/geofeed-tuner/references/rfc8805.txt +735 -0
  446. package/skills/geofeed-tuner/references/snippets-python3.md +85 -0
  447. package/skills/geofeed-tuner/scripts/templates/index.html +2305 -0
  448. package/skills/gh-cli/LICENSE.md +21 -0
  449. package/skills/gh-cli/SKILL.md +2187 -0
  450. package/skills/gh-cli/SYNC.md +5 -0
  451. package/skills/git-commit/LICENSE.md +21 -0
  452. package/skills/git-commit/SKILL.md +124 -0
  453. package/skills/git-commit/SYNC.md +5 -0
  454. package/skills/git-flow-branch-creator/LICENSE.md +21 -0
  455. package/skills/git-flow-branch-creator/SKILL.md +292 -0
  456. package/skills/git-flow-branch-creator/SYNC.md +5 -0
  457. package/skills/github-copilot-starter/LICENSE.md +21 -0
  458. package/skills/github-copilot-starter/SKILL.md +402 -0
  459. package/skills/github-copilot-starter/SYNC.md +5 -0
  460. package/skills/github-issues/LICENSE.md +21 -0
  461. package/skills/github-issues/SKILL.md +201 -0
  462. package/skills/github-issues/SYNC.md +5 -0
  463. package/skills/github-issues/references/dependencies.md +71 -0
  464. package/skills/github-issues/references/images.md +116 -0
  465. package/skills/github-issues/references/issue-fields.md +191 -0
  466. package/skills/github-issues/references/issue-types.md +72 -0
  467. package/skills/github-issues/references/projects.md +273 -0
  468. package/skills/github-issues/references/search.md +231 -0
  469. package/skills/github-issues/references/sub-issues.md +137 -0
  470. package/skills/github-issues/references/templates.md +90 -0
  471. package/skills/go-mcp-server-generator/LICENSE.md +21 -0
  472. package/skills/go-mcp-server-generator/SKILL.md +334 -0
  473. package/skills/go-mcp-server-generator/SYNC.md +5 -0
  474. package/skills/gtm-0-to-1-launch/LICENSE.md +21 -0
  475. package/skills/gtm-0-to-1-launch/SKILL.md +321 -0
  476. package/skills/gtm-0-to-1-launch/SYNC.md +5 -0
  477. package/skills/gtm-ai-gtm/LICENSE.md +21 -0
  478. package/skills/gtm-ai-gtm/SKILL.md +569 -0
  479. package/skills/gtm-ai-gtm/SYNC.md +5 -0
  480. package/skills/gtm-board-and-investor-communication/LICENSE.md +21 -0
  481. package/skills/gtm-board-and-investor-communication/SKILL.md +456 -0
  482. package/skills/gtm-board-and-investor-communication/SYNC.md +5 -0
  483. package/skills/gtm-developer-ecosystem/LICENSE.md +21 -0
  484. package/skills/gtm-developer-ecosystem/SKILL.md +310 -0
  485. package/skills/gtm-developer-ecosystem/SYNC.md +5 -0
  486. package/skills/gtm-enterprise-account-planning/LICENSE.md +21 -0
  487. package/skills/gtm-enterprise-account-planning/SKILL.md +429 -0
  488. package/skills/gtm-enterprise-account-planning/SYNC.md +5 -0
  489. package/skills/gtm-enterprise-onboarding/LICENSE.md +21 -0
  490. package/skills/gtm-enterprise-onboarding/SKILL.md +457 -0
  491. package/skills/gtm-enterprise-onboarding/SYNC.md +5 -0
  492. package/skills/gtm-operating-cadence/LICENSE.md +21 -0
  493. package/skills/gtm-operating-cadence/SKILL.md +420 -0
  494. package/skills/gtm-operating-cadence/SYNC.md +5 -0
  495. package/skills/gtm-partnership-architecture/LICENSE.md +21 -0
  496. package/skills/gtm-partnership-architecture/SKILL.md +470 -0
  497. package/skills/gtm-partnership-architecture/SYNC.md +5 -0
  498. package/skills/gtm-positioning-strategy/LICENSE.md +21 -0
  499. package/skills/gtm-positioning-strategy/SKILL.md +438 -0
  500. package/skills/gtm-positioning-strategy/SYNC.md +5 -0
  501. package/skills/gtm-product-led-growth/LICENSE.md +21 -0
  502. package/skills/gtm-product-led-growth/SKILL.md +339 -0
  503. package/skills/gtm-product-led-growth/SYNC.md +5 -0
  504. package/skills/gtm-technical-product-pricing/LICENSE.md +21 -0
  505. package/skills/gtm-technical-product-pricing/SKILL.md +353 -0
  506. package/skills/gtm-technical-product-pricing/SYNC.md +5 -0
  507. package/skills/image-manipulation-image-magick/LICENSE.md +21 -0
  508. package/skills/image-manipulation-image-magick/SKILL.md +252 -0
  509. package/skills/image-manipulation-image-magick/SYNC.md +5 -0
  510. package/skills/import-infrastructure-as-code/LICENSE.md +21 -0
  511. package/skills/import-infrastructure-as-code/SKILL.md +367 -0
  512. package/skills/import-infrastructure-as-code/SYNC.md +5 -0
  513. package/skills/issue-fields-migration/LICENSE.md +21 -0
  514. package/skills/issue-fields-migration/SKILL.md +533 -0
  515. package/skills/issue-fields-migration/SYNC.md +5 -0
  516. package/skills/issue-fields-migration/references/issue-fields-api.md +129 -0
  517. package/skills/issue-fields-migration/references/labels-api.md +74 -0
  518. package/skills/issue-fields-migration/references/projects-api.md +116 -0
  519. package/skills/java-add-graalvm-native-image-support/LICENSE.md +21 -0
  520. package/skills/java-add-graalvm-native-image-support/SKILL.md +449 -0
  521. package/skills/java-add-graalvm-native-image-support/SYNC.md +5 -0
  522. package/skills/java-docs/LICENSE.md +21 -0
  523. package/skills/java-docs/SKILL.md +23 -0
  524. package/skills/java-docs/SYNC.md +5 -0
  525. package/skills/java-junit/LICENSE.md +21 -0
  526. package/skills/java-junit/SKILL.md +63 -0
  527. package/skills/java-junit/SYNC.md +5 -0
  528. package/skills/java-mcp-server-generator/LICENSE.md +21 -0
  529. package/skills/java-mcp-server-generator/SKILL.md +756 -0
  530. package/skills/java-mcp-server-generator/SYNC.md +5 -0
  531. package/skills/java-refactoring-extract-method/LICENSE.md +21 -0
  532. package/skills/java-refactoring-extract-method/SKILL.md +104 -0
  533. package/skills/java-refactoring-extract-method/SYNC.md +5 -0
  534. package/skills/java-refactoring-remove-parameter/LICENSE.md +21 -0
  535. package/skills/java-refactoring-remove-parameter/SKILL.md +84 -0
  536. package/skills/java-refactoring-remove-parameter/SYNC.md +5 -0
  537. package/skills/java-springboot/LICENSE.md +21 -0
  538. package/skills/java-springboot/SKILL.md +65 -0
  539. package/skills/java-springboot/SYNC.md +5 -0
  540. package/skills/javascript-typescript-jest/LICENSE.md +21 -0
  541. package/skills/javascript-typescript-jest/SKILL.md +44 -0
  542. package/skills/javascript-typescript-jest/SYNC.md +5 -0
  543. package/skills/kotlin-mcp-server-generator/LICENSE.md +21 -0
  544. package/skills/kotlin-mcp-server-generator/SKILL.md +449 -0
  545. package/skills/kotlin-mcp-server-generator/SYNC.md +5 -0
  546. package/skills/kotlin-springboot/LICENSE.md +21 -0
  547. package/skills/kotlin-springboot/SKILL.md +70 -0
  548. package/skills/kotlin-springboot/SYNC.md +5 -0
  549. package/skills/legacy-circuit-mockups/LICENSE.md +21 -0
  550. package/skills/legacy-circuit-mockups/SKILL.md +276 -0
  551. package/skills/legacy-circuit-mockups/SYNC.md +5 -0
  552. package/skills/legacy-circuit-mockups/references/28256-eeprom.md +190 -0
  553. package/skills/legacy-circuit-mockups/references/555.md +861 -0
  554. package/skills/legacy-circuit-mockups/references/6502.md +221 -0
  555. package/skills/legacy-circuit-mockups/references/6522.md +211 -0
  556. package/skills/legacy-circuit-mockups/references/6C62256.md +177 -0
  557. package/skills/legacy-circuit-mockups/references/7400-series.md +177 -0
  558. package/skills/legacy-circuit-mockups/references/assembly-compiler.md +258 -0
  559. package/skills/legacy-circuit-mockups/references/assembly-language.md +226 -0
  560. package/skills/legacy-circuit-mockups/references/basic-electronic-components.md +86 -0
  561. package/skills/legacy-circuit-mockups/references/breadboard.md +214 -0
  562. package/skills/legacy-circuit-mockups/references/common-breadboard-components.md +281 -0
  563. package/skills/legacy-circuit-mockups/references/connecting-electronic-components.md +310 -0
  564. package/skills/legacy-circuit-mockups/references/emulator-28256-eeprom.md +245 -0
  565. package/skills/legacy-circuit-mockups/references/emulator-6502.md +251 -0
  566. package/skills/legacy-circuit-mockups/references/emulator-6522.md +288 -0
  567. package/skills/legacy-circuit-mockups/references/emulator-6C62256.md +233 -0
  568. package/skills/legacy-circuit-mockups/references/emulator-lcd.md +266 -0
  569. package/skills/legacy-circuit-mockups/references/lcd.md +208 -0
  570. package/skills/legacy-circuit-mockups/references/minipro.md +211 -0
  571. package/skills/legacy-circuit-mockups/references/t48eeprom-programmer.md +174 -0
  572. package/skills/make-repo-contribution/LICENSE.md +21 -0
  573. package/skills/make-repo-contribution/SKILL.md +90 -0
  574. package/skills/make-repo-contribution/SYNC.md +5 -0
  575. package/skills/make-repo-contribution/assets/issue-template.md +37 -0
  576. package/skills/make-repo-contribution/assets/pr-template.md +36 -0
  577. package/skills/make-skill-template/LICENSE.md +21 -0
  578. package/skills/make-skill-template/SKILL.md +147 -0
  579. package/skills/make-skill-template/SYNC.md +5 -0
  580. package/skills/markdown-to-html/LICENSE.md +21 -0
  581. package/skills/markdown-to-html/SKILL.md +916 -0
  582. package/skills/markdown-to-html/SYNC.md +5 -0
  583. package/skills/markdown-to-html/references/basic-markdown-to-html.md +420 -0
  584. package/skills/markdown-to-html/references/basic-markdown.md +496 -0
  585. package/skills/markdown-to-html/references/code-blocks-to-html.md +165 -0
  586. package/skills/markdown-to-html/references/code-blocks.md +70 -0
  587. package/skills/markdown-to-html/references/collapsed-sections-to-html.md +136 -0
  588. package/skills/markdown-to-html/references/collapsed-sections.md +48 -0
  589. package/skills/markdown-to-html/references/gomarkdown.md +253 -0
  590. package/skills/markdown-to-html/references/hugo.md +394 -0
  591. package/skills/markdown-to-html/references/jekyll.md +321 -0
  592. package/skills/markdown-to-html/references/marked.md +121 -0
  593. package/skills/markdown-to-html/references/pandoc.md +226 -0
  594. package/skills/markdown-to-html/references/tables-to-html.md +169 -0
  595. package/skills/markdown-to-html/references/tables.md +72 -0
  596. package/skills/markdown-to-html/references/writing-mathematical-expressions-to-html.md +350 -0
  597. package/skills/markdown-to-html/references/writing-mathematical-expressions.md +76 -0
  598. package/skills/mcp-cli/LICENSE.md +21 -0
  599. package/skills/mcp-cli/SKILL.md +78 -0
  600. package/skills/mcp-cli/SYNC.md +5 -0
  601. package/skills/mcp-copilot-studio-server-generator/LICENSE.md +21 -0
  602. package/skills/mcp-copilot-studio-server-generator/SKILL.md +118 -0
  603. package/skills/mcp-copilot-studio-server-generator/SYNC.md +5 -0
  604. package/skills/mcp-create-adaptive-cards/LICENSE.md +21 -0
  605. package/skills/mcp-create-adaptive-cards/SKILL.md +532 -0
  606. package/skills/mcp-create-adaptive-cards/SYNC.md +5 -0
  607. package/skills/mcp-create-declarative-agent/LICENSE.md +21 -0
  608. package/skills/mcp-create-declarative-agent/SKILL.md +315 -0
  609. package/skills/mcp-create-declarative-agent/SYNC.md +5 -0
  610. package/skills/mcp-deploy-manage-agents/LICENSE.md +21 -0
  611. package/skills/mcp-deploy-manage-agents/SKILL.md +341 -0
  612. package/skills/mcp-deploy-manage-agents/SYNC.md +5 -0
  613. package/skills/meeting-minutes/LICENSE.md +21 -0
  614. package/skills/meeting-minutes/SKILL.md +235 -0
  615. package/skills/meeting-minutes/SYNC.md +5 -0
  616. package/skills/memory-merger/LICENSE.md +21 -0
  617. package/skills/memory-merger/SKILL.md +108 -0
  618. package/skills/memory-merger/SYNC.md +5 -0
  619. package/skills/mentoring-juniors/LICENSE.md +21 -0
  620. package/skills/mentoring-juniors/SKILL.md +310 -0
  621. package/skills/mentoring-juniors/SYNC.md +5 -0
  622. package/skills/microsoft-agent-framework/LICENSE.md +21 -0
  623. package/skills/microsoft-agent-framework/SKILL.md +65 -0
  624. package/skills/microsoft-agent-framework/SYNC.md +5 -0
  625. package/skills/microsoft-agent-framework/references/dotnet.md +24 -0
  626. package/skills/microsoft-agent-framework/references/python.md +24 -0
  627. package/skills/microsoft-code-reference/LICENSE.md +21 -0
  628. package/skills/microsoft-code-reference/SKILL.md +99 -0
  629. package/skills/microsoft-code-reference/SYNC.md +5 -0
  630. package/skills/microsoft-docs/LICENSE.md +21 -0
  631. package/skills/microsoft-docs/SKILL.md +134 -0
  632. package/skills/microsoft-docs/SYNC.md +5 -0
  633. package/skills/microsoft-skill-creator/LICENSE.md +21 -0
  634. package/skills/microsoft-skill-creator/SKILL.md +250 -0
  635. package/skills/microsoft-skill-creator/SYNC.md +5 -0
  636. package/skills/microsoft-skill-creator/references/skill-templates.md +345 -0
  637. package/skills/migrating-oracle-to-postgres-stored-procedures/LICENSE.md +21 -0
  638. package/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.md +42 -0
  639. package/skills/migrating-oracle-to-postgres-stored-procedures/SYNC.md +5 -0
  640. package/skills/mkdocs-translations/LICENSE.md +21 -0
  641. package/skills/mkdocs-translations/SKILL.md +108 -0
  642. package/skills/mkdocs-translations/SYNC.md +5 -0
  643. package/skills/model-recommendation/LICENSE.md +21 -0
  644. package/skills/model-recommendation/SKILL.md +672 -0
  645. package/skills/model-recommendation/SYNC.md +5 -0
  646. package/skills/msstore-cli/LICENSE.md +21 -0
  647. package/skills/msstore-cli/SKILL.md +600 -0
  648. package/skills/msstore-cli/SYNC.md +5 -0
  649. package/skills/multi-stage-dockerfile/LICENSE.md +21 -0
  650. package/skills/multi-stage-dockerfile/SKILL.md +46 -0
  651. package/skills/multi-stage-dockerfile/SYNC.md +5 -0
  652. package/skills/my-issues/LICENSE.md +21 -0
  653. package/skills/my-issues/SKILL.md +8 -0
  654. package/skills/my-issues/SYNC.md +5 -0
  655. package/skills/my-pull-requests/LICENSE.md +21 -0
  656. package/skills/my-pull-requests/SKILL.md +14 -0
  657. package/skills/my-pull-requests/SYNC.md +5 -0
  658. package/skills/nano-banana-pro-openrouter/LICENSE.md +21 -0
  659. package/skills/nano-banana-pro-openrouter/SKILL.md +74 -0
  660. package/skills/nano-banana-pro-openrouter/SYNC.md +5 -0
  661. package/skills/nano-banana-pro-openrouter/assets/SYSTEM_TEMPLATE +14 -0
  662. package/skills/nano-banana-pro-openrouter/scripts/generate_image.py +191 -0
  663. package/skills/napkin/LICENSE.md +21 -0
  664. package/skills/napkin/SKILL.md +154 -0
  665. package/skills/napkin/SYNC.md +5 -0
  666. package/skills/napkin/assets/napkin.html +2019 -0
  667. package/skills/napkin/assets/step1-activate.svg +107 -0
  668. package/skills/napkin/assets/step2-whiteboard.svg +157 -0
  669. package/skills/napkin/assets/step3-draw.svg +143 -0
  670. package/skills/napkin/assets/step4-share.svg +98 -0
  671. package/skills/napkin/assets/step5-response.svg +112 -0
  672. package/skills/next-intl-add-language/LICENSE.md +21 -0
  673. package/skills/next-intl-add-language/SKILL.md +19 -0
  674. package/skills/next-intl-add-language/SYNC.md +5 -0
  675. package/skills/noob-mode/LICENSE.md +21 -0
  676. package/skills/noob-mode/SKILL.md +263 -0
  677. package/skills/noob-mode/SYNC.md +5 -0
  678. package/skills/noob-mode/references/examples.md +418 -0
  679. package/skills/noob-mode/references/glossary.md +368 -0
  680. package/skills/nuget-manager/LICENSE.md +21 -0
  681. package/skills/nuget-manager/SKILL.md +68 -0
  682. package/skills/nuget-manager/SYNC.md +5 -0
  683. package/skills/oo-component-documentation/LICENSE.md +21 -0
  684. package/skills/oo-component-documentation/SKILL.md +74 -0
  685. package/skills/oo-component-documentation/SYNC.md +5 -0
  686. package/skills/oo-component-documentation/assets/documentation-template.md +97 -0
  687. package/skills/oo-component-documentation/references/create-mode.md +32 -0
  688. package/skills/oo-component-documentation/references/update-mode.md +32 -0
  689. package/skills/openapi-to-application-code/LICENSE.md +21 -0
  690. package/skills/openapi-to-application-code/SKILL.md +112 -0
  691. package/skills/openapi-to-application-code/SYNC.md +5 -0
  692. package/skills/pdftk-server/LICENSE.md +21 -0
  693. package/skills/pdftk-server/SKILL.md +162 -0
  694. package/skills/pdftk-server/SYNC.md +5 -0
  695. package/skills/pdftk-server/references/download.md +75 -0
  696. package/skills/pdftk-server/references/pdftk-cli-examples.md +193 -0
  697. package/skills/pdftk-server/references/pdftk-man-page.md +232 -0
  698. package/skills/pdftk-server/references/pdftk-server-license.md +25 -0
  699. package/skills/pdftk-server/references/third-party-materials.md +103 -0
  700. package/skills/penpot-uiux-design/LICENSE.md +21 -0
  701. package/skills/penpot-uiux-design/SKILL.md +342 -0
  702. package/skills/penpot-uiux-design/SYNC.md +5 -0
  703. package/skills/penpot-uiux-design/references/accessibility.md +329 -0
  704. package/skills/penpot-uiux-design/references/component-patterns.md +339 -0
  705. package/skills/penpot-uiux-design/references/platform-guidelines.md +367 -0
  706. package/skills/penpot-uiux-design/references/setup-troubleshooting.md +328 -0
  707. package/skills/php-mcp-server-generator/LICENSE.md +21 -0
  708. package/skills/php-mcp-server-generator/SKILL.md +522 -0
  709. package/skills/php-mcp-server-generator/SYNC.md +5 -0
  710. package/skills/planning-oracle-to-postgres-migration-integration-testing/LICENSE.md +21 -0
  711. package/skills/planning-oracle-to-postgres-migration-integration-testing/SKILL.md +44 -0
  712. package/skills/planning-oracle-to-postgres-migration-integration-testing/SYNC.md +5 -0
  713. package/skills/plantuml-ascii/LICENSE.md +21 -0
  714. package/skills/plantuml-ascii/SKILL.md +305 -0
  715. package/skills/plantuml-ascii/SYNC.md +5 -0
  716. package/skills/playwright-automation-fill-in-form/LICENSE.md +21 -0
  717. package/skills/playwright-automation-fill-in-form/SKILL.md +28 -0
  718. package/skills/playwright-automation-fill-in-form/SYNC.md +5 -0
  719. package/skills/playwright-explore-website/LICENSE.md +21 -0
  720. package/skills/playwright-explore-website/SKILL.md +17 -0
  721. package/skills/playwright-explore-website/SYNC.md +5 -0
  722. package/skills/playwright-generate-test/LICENSE.md +21 -0
  723. package/skills/playwright-generate-test/SKILL.md +17 -0
  724. package/skills/playwright-generate-test/SYNC.md +5 -0
  725. package/skills/polyglot-test-agent/LICENSE.md +21 -0
  726. package/skills/polyglot-test-agent/SKILL.md +161 -0
  727. package/skills/polyglot-test-agent/SYNC.md +5 -0
  728. package/skills/polyglot-test-agent/unit-test-generation.prompt.md +155 -0
  729. package/skills/postgresql-code-review/LICENSE.md +21 -0
  730. package/skills/postgresql-code-review/SKILL.md +212 -0
  731. package/skills/postgresql-code-review/SYNC.md +5 -0
  732. package/skills/postgresql-optimization/LICENSE.md +21 -0
  733. package/skills/postgresql-optimization/SKILL.md +404 -0
  734. package/skills/postgresql-optimization/SYNC.md +5 -0
  735. package/skills/power-apps-code-app-scaffold/LICENSE.md +21 -0
  736. package/skills/power-apps-code-app-scaffold/SKILL.md +146 -0
  737. package/skills/power-apps-code-app-scaffold/SYNC.md +5 -0
  738. package/skills/power-bi-dax-optimization/LICENSE.md +21 -0
  739. package/skills/power-bi-dax-optimization/SKILL.md +173 -0
  740. package/skills/power-bi-dax-optimization/SYNC.md +5 -0
  741. package/skills/power-bi-model-design-review/LICENSE.md +21 -0
  742. package/skills/power-bi-model-design-review/SKILL.md +403 -0
  743. package/skills/power-bi-model-design-review/SYNC.md +5 -0
  744. package/skills/power-bi-performance-troubleshooting/LICENSE.md +21 -0
  745. package/skills/power-bi-performance-troubleshooting/SKILL.md +382 -0
  746. package/skills/power-bi-performance-troubleshooting/SYNC.md +5 -0
  747. package/skills/power-bi-report-design-consultation/LICENSE.md +21 -0
  748. package/skills/power-bi-report-design-consultation/SKILL.md +351 -0
  749. package/skills/power-bi-report-design-consultation/SYNC.md +5 -0
  750. package/skills/power-platform-mcp-connector-suite/LICENSE.md +21 -0
  751. package/skills/power-platform-mcp-connector-suite/SKILL.md +156 -0
  752. package/skills/power-platform-mcp-connector-suite/SYNC.md +5 -0
  753. package/skills/powerbi-modeling/LICENSE.md +21 -0
  754. package/skills/powerbi-modeling/SKILL.md +153 -0
  755. package/skills/powerbi-modeling/SYNC.md +5 -0
  756. package/skills/powerbi-modeling/references/MEASURES-DAX.md +195 -0
  757. package/skills/powerbi-modeling/references/PERFORMANCE.md +215 -0
  758. package/skills/powerbi-modeling/references/RELATIONSHIPS.md +147 -0
  759. package/skills/powerbi-modeling/references/RLS.md +226 -0
  760. package/skills/powerbi-modeling/references/STAR-SCHEMA.md +103 -0
  761. package/skills/prd/LICENSE.md +21 -0
  762. package/skills/prd/SKILL.md +143 -0
  763. package/skills/prd/SYNC.md +5 -0
  764. package/skills/premium-frontend-ui/LICENSE.md +21 -0
  765. package/skills/premium-frontend-ui/SKILL.md +110 -0
  766. package/skills/premium-frontend-ui/SYNC.md +5 -0
  767. package/skills/project-workflow-analysis-blueprint-generator/LICENSE.md +21 -0
  768. package/skills/project-workflow-analysis-blueprint-generator/SKILL.md +293 -0
  769. package/skills/project-workflow-analysis-blueprint-generator/SYNC.md +5 -0
  770. package/skills/prompt-builder/LICENSE.md +21 -0
  771. package/skills/prompt-builder/SKILL.md +141 -0
  772. package/skills/prompt-builder/SYNC.md +5 -0
  773. package/skills/publish-to-pages/LICENSE.md +21 -0
  774. package/skills/publish-to-pages/SKILL.md +107 -0
  775. package/skills/publish-to-pages/SYNC.md +5 -0
  776. package/skills/publish-to-pages/scripts/convert-pdf.py +176 -0
  777. package/skills/publish-to-pages/scripts/convert-pptx.py +376 -0
  778. package/skills/publish-to-pages/scripts/publish.sh +51 -0
  779. package/skills/pytest-coverage/LICENSE.md +21 -0
  780. package/skills/pytest-coverage/SKILL.md +28 -0
  781. package/skills/pytest-coverage/SYNC.md +5 -0
  782. package/skills/python-mcp-server-generator/LICENSE.md +21 -0
  783. package/skills/python-mcp-server-generator/SKILL.md +105 -0
  784. package/skills/python-mcp-server-generator/SYNC.md +5 -0
  785. package/skills/quasi-coder/LICENSE.md +21 -0
  786. package/skills/quasi-coder/SKILL.md +369 -0
  787. package/skills/quasi-coder/SYNC.md +5 -0
  788. package/skills/readme-blueprint-generator/LICENSE.md +21 -0
  789. package/skills/readme-blueprint-generator/SKILL.md +78 -0
  790. package/skills/readme-blueprint-generator/SYNC.md +5 -0
  791. package/skills/refactor/LICENSE.md +21 -0
  792. package/skills/refactor/SKILL.md +645 -0
  793. package/skills/refactor/SYNC.md +5 -0
  794. package/skills/refactor-method-complexity-reduce/LICENSE.md +21 -0
  795. package/skills/refactor-method-complexity-reduce/SKILL.md +98 -0
  796. package/skills/refactor-method-complexity-reduce/SYNC.md +5 -0
  797. package/skills/refactor-plan/LICENSE.md +21 -0
  798. package/skills/refactor-plan/SKILL.md +65 -0
  799. package/skills/refactor-plan/SYNC.md +5 -0
  800. package/skills/remember/LICENSE.md +21 -0
  801. package/skills/remember/SKILL.md +126 -0
  802. package/skills/remember/SYNC.md +5 -0
  803. package/skills/remember-interactive-programming/LICENSE.md +21 -0
  804. package/skills/remember-interactive-programming/SKILL.md +13 -0
  805. package/skills/remember-interactive-programming/SYNC.md +5 -0
  806. package/skills/repo-story-time/LICENSE.md +21 -0
  807. package/skills/repo-story-time/SKILL.md +154 -0
  808. package/skills/repo-story-time/SYNC.md +5 -0
  809. package/skills/review-and-refactor/LICENSE.md +21 -0
  810. package/skills/review-and-refactor/SKILL.md +15 -0
  811. package/skills/review-and-refactor/SYNC.md +5 -0
  812. package/skills/reviewing-oracle-to-postgres-migration/LICENSE.md +21 -0
  813. package/skills/reviewing-oracle-to-postgres-migration/SKILL.md +67 -0
  814. package/skills/reviewing-oracle-to-postgres-migration/SYNC.md +5 -0
  815. package/skills/reviewing-oracle-to-postgres-migration/references/REFERENCE.md +13 -0
  816. package/skills/reviewing-oracle-to-postgres-migration/references/empty-strings-handling.md +69 -0
  817. package/skills/reviewing-oracle-to-postgres-migration/references/no-data-found-exceptions.md +99 -0
  818. package/skills/reviewing-oracle-to-postgres-migration/references/oracle-parentheses-from-clause.md +190 -0
  819. package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-sorting.md +51 -0
  820. package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-timestamp-timezone.md +187 -0
  821. package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-to-char-numeric.md +145 -0
  822. package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-type-coercion.md +182 -0
  823. package/skills/reviewing-oracle-to-postgres-migration/references/postgres-concurrent-transactions.md +259 -0
  824. package/skills/reviewing-oracle-to-postgres-migration/references/postgres-refcursor-handling.md +148 -0
  825. package/skills/ruby-mcp-server-generator/LICENSE.md +21 -0
  826. package/skills/ruby-mcp-server-generator/SKILL.md +660 -0
  827. package/skills/ruby-mcp-server-generator/SYNC.md +5 -0
  828. package/skills/rust-mcp-server-generator/LICENSE.md +21 -0
  829. package/skills/rust-mcp-server-generator/SKILL.md +577 -0
  830. package/skills/rust-mcp-server-generator/SYNC.md +5 -0
  831. package/skills/sandbox-npm-install/LICENSE.md +21 -0
  832. package/skills/sandbox-npm-install/SKILL.md +80 -0
  833. package/skills/sandbox-npm-install/SYNC.md +5 -0
  834. package/skills/sandbox-npm-install/scripts/install.sh +193 -0
  835. package/skills/scaffolding-oracle-to-postgres-migration-test-project/LICENSE.md +21 -0
  836. package/skills/scaffolding-oracle-to-postgres-migration-test-project/SKILL.md +54 -0
  837. package/skills/scaffolding-oracle-to-postgres-migration-test-project/SYNC.md +5 -0
  838. package/skills/scoutqa-test/LICENSE.md +21 -0
  839. package/skills/scoutqa-test/SKILL.md +375 -0
  840. package/skills/scoutqa-test/SYNC.md +5 -0
  841. package/skills/secret-scanning/LICENSE.md +21 -0
  842. package/skills/secret-scanning/SKILL.md +224 -0
  843. package/skills/secret-scanning/SYNC.md +5 -0
  844. package/skills/secret-scanning/references/alerts-and-remediation.md +245 -0
  845. package/skills/secret-scanning/references/custom-patterns.md +158 -0
  846. package/skills/secret-scanning/references/push-protection.md +164 -0
  847. package/skills/semantic-kernel/LICENSE.md +21 -0
  848. package/skills/semantic-kernel/SKILL.md +56 -0
  849. package/skills/semantic-kernel/SYNC.md +5 -0
  850. package/skills/semantic-kernel/references/dotnet.md +15 -0
  851. package/skills/semantic-kernel/references/python.md +15 -0
  852. package/skills/shuffle-json-data/LICENSE.md +21 -0
  853. package/skills/shuffle-json-data/SKILL.md +150 -0
  854. package/skills/shuffle-json-data/SYNC.md +5 -0
  855. package/skills/snowflake-semanticview/LICENSE.md +21 -0
  856. package/skills/snowflake-semanticview/SKILL.md +83 -0
  857. package/skills/snowflake-semanticview/SYNC.md +5 -0
  858. package/skills/sponsor-finder/LICENSE.md +21 -0
  859. package/skills/sponsor-finder/SKILL.md +258 -0
  860. package/skills/sponsor-finder/SYNC.md +5 -0
  861. package/skills/spring-boot-testing/LICENSE.md +21 -0
  862. package/skills/spring-boot-testing/SKILL.md +189 -0
  863. package/skills/spring-boot-testing/SYNC.md +5 -0
  864. package/skills/spring-boot-testing/references/assertj-basics.md +207 -0
  865. package/skills/spring-boot-testing/references/assertj-collections.md +183 -0
  866. package/skills/spring-boot-testing/references/context-caching.md +115 -0
  867. package/skills/spring-boot-testing/references/datajpatest.md +197 -0
  868. package/skills/spring-boot-testing/references/instancio.md +230 -0
  869. package/skills/spring-boot-testing/references/mockitobean.md +232 -0
  870. package/skills/spring-boot-testing/references/mockmvc-classic.md +206 -0
  871. package/skills/spring-boot-testing/references/mockmvc-tester.md +311 -0
  872. package/skills/spring-boot-testing/references/restclienttest.md +227 -0
  873. package/skills/spring-boot-testing/references/resttestclient.md +278 -0
  874. package/skills/spring-boot-testing/references/sb4-migration.md +181 -0
  875. package/skills/spring-boot-testing/references/test-slices-overview.md +203 -0
  876. package/skills/spring-boot-testing/references/testcontainers-jdbc.md +234 -0
  877. package/skills/spring-boot-testing/references/webmvctest.md +177 -0
  878. package/skills/sql-code-review/LICENSE.md +21 -0
  879. package/skills/sql-code-review/SKILL.md +301 -0
  880. package/skills/sql-code-review/SYNC.md +5 -0
  881. package/skills/sql-optimization/LICENSE.md +21 -0
  882. package/skills/sql-optimization/SKILL.md +296 -0
  883. package/skills/sql-optimization/SYNC.md +5 -0
  884. package/skills/structured-autonomy-generate/LICENSE.md +21 -0
  885. package/skills/structured-autonomy-generate/SKILL.md +125 -0
  886. package/skills/structured-autonomy-generate/SYNC.md +5 -0
  887. package/skills/structured-autonomy-implement/LICENSE.md +21 -0
  888. package/skills/structured-autonomy-implement/SKILL.md +19 -0
  889. package/skills/structured-autonomy-implement/SYNC.md +5 -0
  890. package/skills/structured-autonomy-plan/LICENSE.md +21 -0
  891. package/skills/structured-autonomy-plan/SKILL.md +81 -0
  892. package/skills/structured-autonomy-plan/SYNC.md +5 -0
  893. package/skills/suggest-awesome-github-copilot-agents/LICENSE.md +21 -0
  894. package/skills/suggest-awesome-github-copilot-agents/SKILL.md +106 -0
  895. package/skills/suggest-awesome-github-copilot-agents/SYNC.md +5 -0
  896. package/skills/suggest-awesome-github-copilot-instructions/LICENSE.md +21 -0
  897. package/skills/suggest-awesome-github-copilot-instructions/SKILL.md +122 -0
  898. package/skills/suggest-awesome-github-copilot-instructions/SYNC.md +5 -0
  899. package/skills/suggest-awesome-github-copilot-skills/LICENSE.md +21 -0
  900. package/skills/suggest-awesome-github-copilot-skills/SKILL.md +130 -0
  901. package/skills/suggest-awesome-github-copilot-skills/SYNC.md +5 -0
  902. package/skills/swift-mcp-server-generator/LICENSE.md +21 -0
  903. package/skills/swift-mcp-server-generator/SKILL.md +669 -0
  904. package/skills/swift-mcp-server-generator/SYNC.md +5 -0
  905. package/skills/technology-stack-blueprint-generator/LICENSE.md +21 -0
  906. package/skills/technology-stack-blueprint-generator/SKILL.md +242 -0
  907. package/skills/technology-stack-blueprint-generator/SYNC.md +5 -0
  908. package/skills/terraform-azurerm-set-diff-analyzer/LICENSE.md +21 -0
  909. package/skills/terraform-azurerm-set-diff-analyzer/SKILL.md +48 -0
  910. package/skills/terraform-azurerm-set-diff-analyzer/SYNC.md +5 -0
  911. package/skills/terraform-azurerm-set-diff-analyzer/references/azurerm_set_attributes.json +154 -0
  912. package/skills/terraform-azurerm-set-diff-analyzer/references/azurerm_set_attributes.md +145 -0
  913. package/skills/terraform-azurerm-set-diff-analyzer/scripts/README.md +205 -0
  914. package/skills/terraform-azurerm-set-diff-analyzer/scripts/analyze_plan.py +940 -0
  915. package/skills/tldr-prompt/LICENSE.md +21 -0
  916. package/skills/tldr-prompt/SKILL.md +304 -0
  917. package/skills/tldr-prompt/SYNC.md +5 -0
  918. package/skills/transloadit-media-processing/LICENSE.md +21 -0
  919. package/skills/transloadit-media-processing/SKILL.md +194 -0
  920. package/skills/transloadit-media-processing/SYNC.md +5 -0
  921. package/skills/typescript-mcp-server-generator/LICENSE.md +21 -0
  922. package/skills/typescript-mcp-server-generator/SKILL.md +90 -0
  923. package/skills/typescript-mcp-server-generator/SYNC.md +5 -0
  924. package/skills/typespec-api-operations/LICENSE.md +21 -0
  925. package/skills/typespec-api-operations/SKILL.md +418 -0
  926. package/skills/typespec-api-operations/SYNC.md +5 -0
  927. package/skills/typespec-create-agent/LICENSE.md +21 -0
  928. package/skills/typespec-create-agent/SKILL.md +91 -0
  929. package/skills/typespec-create-agent/SYNC.md +5 -0
  930. package/skills/typespec-create-api-plugin/LICENSE.md +21 -0
  931. package/skills/typespec-create-api-plugin/SKILL.md +164 -0
  932. package/skills/typespec-create-api-plugin/SYNC.md +5 -0
  933. package/skills/unit-test-vue-pinia/LICENSE.md +21 -0
  934. package/skills/unit-test-vue-pinia/SKILL.md +198 -0
  935. package/skills/unit-test-vue-pinia/SYNC.md +5 -0
  936. package/skills/unit-test-vue-pinia/references/pinia-patterns.md +95 -0
  937. package/skills/update-avm-modules-in-bicep/LICENSE.md +21 -0
  938. package/skills/update-avm-modules-in-bicep/SKILL.md +60 -0
  939. package/skills/update-avm-modules-in-bicep/SYNC.md +5 -0
  940. package/skills/update-implementation-plan/LICENSE.md +21 -0
  941. package/skills/update-implementation-plan/SKILL.md +157 -0
  942. package/skills/update-implementation-plan/SYNC.md +5 -0
  943. package/skills/update-llms/LICENSE.md +21 -0
  944. package/skills/update-llms/SKILL.md +216 -0
  945. package/skills/update-llms/SYNC.md +5 -0
  946. package/skills/update-markdown-file-index/LICENSE.md +21 -0
  947. package/skills/update-markdown-file-index/SKILL.md +76 -0
  948. package/skills/update-markdown-file-index/SYNC.md +5 -0
  949. package/skills/update-specification/LICENSE.md +21 -0
  950. package/skills/update-specification/SKILL.md +127 -0
  951. package/skills/update-specification/SYNC.md +5 -0
  952. package/skills/vscode-ext-commands/LICENSE.md +21 -0
  953. package/skills/vscode-ext-commands/SKILL.md +21 -0
  954. package/skills/vscode-ext-commands/SYNC.md +5 -0
  955. package/skills/vscode-ext-localization/LICENSE.md +21 -0
  956. package/skills/vscode-ext-localization/SKILL.md +25 -0
  957. package/skills/vscode-ext-localization/SYNC.md +5 -0
  958. package/skills/web-coder/LICENSE.md +21 -0
  959. package/skills/web-coder/SKILL.md +563 -0
  960. package/skills/web-coder/SYNC.md +5 -0
  961. package/skills/web-coder/references/accessibility.md +346 -0
  962. package/skills/web-coder/references/architecture-patterns.md +625 -0
  963. package/skills/web-coder/references/browsers-engines.md +358 -0
  964. package/skills/web-coder/references/css-styling.md +696 -0
  965. package/skills/web-coder/references/data-formats-encoding.md +411 -0
  966. package/skills/web-coder/references/development-tools.md +502 -0
  967. package/skills/web-coder/references/glossary.md +649 -0
  968. package/skills/web-coder/references/html-markup.md +387 -0
  969. package/skills/web-coder/references/http-networking.md +538 -0
  970. package/skills/web-coder/references/javascript-programming.md +807 -0
  971. package/skills/web-coder/references/media-graphics.md +504 -0
  972. package/skills/web-coder/references/performance-optimization.md +546 -0
  973. package/skills/web-coder/references/security-authentication.md +603 -0
  974. package/skills/web-coder/references/servers-infrastructure.md +615 -0
  975. package/skills/web-coder/references/web-apis-dom.md +654 -0
  976. package/skills/web-coder/references/web-protocols-standards.md +265 -0
  977. package/skills/web-design-reviewer/LICENSE.md +21 -0
  978. package/skills/web-design-reviewer/SKILL.md +368 -0
  979. package/skills/web-design-reviewer/SYNC.md +5 -0
  980. package/skills/web-design-reviewer/references/framework-fixes.md +475 -0
  981. package/skills/web-design-reviewer/references/visual-checklist.md +236 -0
  982. package/skills/webapp-testing/LICENSE.md +21 -0
  983. package/skills/webapp-testing/SKILL.md +104 -67
  984. package/skills/webapp-testing/SYNC.md +2 -2
  985. package/skills/webapp-testing/assets/test-helper.js +56 -0
  986. package/skills/what-context-needed/LICENSE.md +21 -0
  987. package/skills/what-context-needed/SKILL.md +39 -0
  988. package/skills/what-context-needed/SYNC.md +5 -0
  989. package/skills/winapp-cli/LICENSE.md +21 -0
  990. package/skills/winapp-cli/SKILL.md +217 -0
  991. package/skills/winapp-cli/SYNC.md +5 -0
  992. package/skills/winmd-api-search/LICENSE.md +21 -0
  993. package/skills/winmd-api-search/LICENSE.txt +21 -0
  994. package/skills/winmd-api-search/SKILL.md +192 -0
  995. package/skills/winmd-api-search/SYNC.md +5 -0
  996. package/skills/winmd-api-search/scripts/Invoke-WinMdQuery.ps1 +505 -0
  997. package/skills/winmd-api-search/scripts/Update-WinMdCache.ps1 +208 -0
  998. package/skills/winmd-api-search/scripts/cache-generator/CacheGenerator.csproj +29 -0
  999. package/skills/winmd-api-search/scripts/cache-generator/Directory.Build.props +3 -0
  1000. package/skills/winmd-api-search/scripts/cache-generator/Directory.Build.targets +3 -0
  1001. package/skills/winmd-api-search/scripts/cache-generator/Directory.Packages.props +3 -0
  1002. package/skills/winmd-api-search/scripts/cache-generator/Program.cs +1222 -0
  1003. package/skills/winui3-migration-guide/LICENSE.md +21 -0
  1004. package/skills/winui3-migration-guide/SKILL.md +277 -0
  1005. package/skills/winui3-migration-guide/SYNC.md +5 -0
  1006. package/skills/workiq-copilot/LICENSE.md +21 -0
  1007. package/skills/workiq-copilot/SKILL.md +98 -0
  1008. package/skills/workiq-copilot/SYNC.md +5 -0
  1009. package/skills/write-coding-standards-from-file/LICENSE.md +21 -0
  1010. package/skills/write-coding-standards-from-file/SKILL.md +316 -0
  1011. package/skills/write-coding-standards-from-file/SYNC.md +5 -0
  1012. package/skills/webapp-testing/LICENSE.txt +0 -202
  1013. package/skills/webapp-testing/examples/console_logging.py +0 -35
  1014. package/skills/webapp-testing/examples/element_discovery.py +0 -40
  1015. package/skills/webapp-testing/examples/static_html_automation.py +0 -33
  1016. package/skills/webapp-testing/scripts/with_server.py +0 -106
@@ -0,0 +1,258 @@
1
+ ---
2
+ name: sponsor-finder
3
+ description: Find which of a GitHub repository's dependencies are sponsorable via GitHub Sponsors. Uses deps.dev API for dependency resolution across npm, PyPI, Cargo, Go, RubyGems, Maven, and NuGet. Checks npm funding metadata, FUNDING.yml files, and web search. Verifies every link. Shows direct and transitive dependencies with OSSF Scorecard health data. Invoke with /sponsor followed by a GitHub owner/repo (e.g. "/sponsor expressjs/express").
4
+ ---
5
+
6
+ # Sponsor Finder
7
+
8
+ Discover opportunities to support the open source maintainers behind your project's dependencies. Accepts a GitHub `owner/repo` (e.g. `/sponsor expressjs/express`), uses the deps.dev API for dependency resolution and project health data, and produces a friendly sponsorship report covering both direct and transitive dependencies.
9
+
10
+ ## Your Workflow
11
+
12
+ When the user types `/sponsor {owner/repo}` or provides a repository in `owner/repo` format:
13
+
14
+ 1. **Parse the input** — Extract `owner` and `repo`.
15
+ 2. **Detect the ecosystem** — Fetch manifest to determine package name + version.
16
+ 3. **Get full dependency tree** — deps.dev `GetDependencies` (one call).
17
+ 4. **Resolve repos** — deps.dev `GetVersion` for each dep → `relatedProjects` gives GitHub repo.
18
+ 5. **Get project health** — deps.dev `GetProject` for unique repos → OSSF Scorecard.
19
+ 6. **Find funding links** — npm `funding` field, FUNDING.yml, web search fallback.
20
+ 7. **Verify every link** — fetch each URL to confirm it's live.
21
+ 8. **Group and report** — by funding destination, sorted by impact.
22
+
23
+ ---
24
+
25
+ ## Step 1: Detect Ecosystem and Package
26
+
27
+ Use `get_file_contents` to fetch the manifest from the target repo. Determine the ecosystem and extract the package name + latest version:
28
+
29
+ | File | Ecosystem | Package name from | Version from |
30
+ |------|-----------|-------------------|--------------|
31
+ | `package.json` | NPM | `name` field | `version` field |
32
+ | `requirements.txt` | PYPI | list of package names | use latest (omit version in deps.dev call) |
33
+ | `pyproject.toml` | PYPI | `[project.dependencies]` | use latest |
34
+ | `Cargo.toml` | CARGO | `[package] name` | `[package] version` |
35
+ | `go.mod` | GO | `module` path | extract from go.mod |
36
+ | `Gemfile` | RUBYGEMS | gem names | use latest |
37
+ | `pom.xml` | MAVEN | `groupId:artifactId` | `version` |
38
+
39
+ ---
40
+
41
+ ## Step 2: Get Full Dependency Tree (deps.dev)
42
+
43
+ **This is the key step.** Use `web_fetch` to call the deps.dev API:
44
+
45
+ ```
46
+ https://api.deps.dev/v3/systems/{ECOSYSTEM}/packages/{PACKAGE}/versions/{VERSION}:dependencies
47
+ ```
48
+
49
+ For example:
50
+ ```
51
+ https://api.deps.dev/v3/systems/npm/packages/express/versions/5.2.1:dependencies
52
+ ```
53
+
54
+ This returns a `nodes` array where each node has:
55
+ - `versionKey.name` — package name
56
+ - `versionKey.version` — resolved version
57
+ - `relation` — `"SELF"`, `"DIRECT"`, or `"INDIRECT"`
58
+
59
+ **This single call gives you the entire dependency tree** — both direct and transitive — with exact resolved versions. No need to parse lockfiles.
60
+
61
+ ### URL encoding
62
+ Package names containing special characters must be percent-encoded:
63
+ - `@colors/colors` → `%40colors%2Fcolors`
64
+ - Encode `@` as `%40`, `/` as `%2F`
65
+
66
+ ### For repos without a single root package
67
+ If the repo doesn't publish a package (e.g., it's an app not a library), fall back to reading `package.json` dependencies directly and calling deps.dev `GetVersion` for each.
68
+
69
+ ---
70
+
71
+ ## Step 3: Resolve Each Dependency to a GitHub Repo (deps.dev)
72
+
73
+ For each dependency from the tree, call deps.dev `GetVersion`:
74
+
75
+ ```
76
+ https://api.deps.dev/v3/systems/{ECOSYSTEM}/packages/{NAME}/versions/{VERSION}
77
+ ```
78
+
79
+ From the response, extract:
80
+ - **`relatedProjects`** → look for `relationType: "SOURCE_REPO"` → `projectKey.id` gives `github.com/{owner}/{repo}`
81
+ - **`links`** → look for `label: "SOURCE_REPO"` → `url` field
82
+
83
+ This works across **all ecosystems** — npm, PyPI, Cargo, Go, RubyGems, Maven, NuGet — with the same field structure.
84
+
85
+ ### Efficiency rules
86
+ - Process in batches of **10 at a time**.
87
+ - Deduplicate — multiple packages may map to the same repo.
88
+ - Skip deps where no GitHub project is found (count as "unresolvable").
89
+
90
+ ---
91
+
92
+ ## Step 4: Get Project Health Data (deps.dev)
93
+
94
+ For each unique GitHub repo, call deps.dev `GetProject`:
95
+
96
+ ```
97
+ https://api.deps.dev/v3/projects/github.com%2F{owner}%2F{repo}
98
+ ```
99
+
100
+ From the response, extract:
101
+ - **`scorecard.checks`** → find the `"Maintained"` check → `score` (0–10)
102
+ - **`starsCount`** — popularity indicator
103
+ - **`license`** — project license
104
+ - **`openIssuesCount`** — activity indicator
105
+
106
+ Use the Maintained score to label project health:
107
+ - Score 7–10 → ⭐ Actively maintained
108
+ - Score 4–6 → ⚠️ Partially maintained
109
+ - Score 0–3 → 💤 Possibly unmaintained
110
+
111
+ ### Efficiency rules
112
+ - Only fetch for **unique repos** (not per-package).
113
+ - Process in batches of **10 at a time**.
114
+ - This step is optional — skip if rate-limited and note in output.
115
+
116
+ ---
117
+
118
+ ## Step 5: Find Funding Links
119
+
120
+ For each unique GitHub repo, check for funding information using three sources in order:
121
+
122
+ ### 5a: npm `funding` field (npm ecosystem only)
123
+ Use `web_fetch` on `https://registry.npmjs.org/{package-name}/latest` and check for a `funding` field:
124
+ - **String:** `"https://github.com/sponsors/sindresorhus"` → use as URL
125
+ - **Object:** `{"type": "opencollective", "url": "https://opencollective.com/express"}` → use `url`
126
+ - **Array:** collect all URLs
127
+
128
+ ### 5b: `.github/FUNDING.yml` (repo-level, then org-level fallback)
129
+
130
+ **Step 5b-i — Per-repo check:**
131
+ Use `get_file_contents` to fetch `{owner}/{repo}` path `.github/FUNDING.yml`.
132
+
133
+ **Step 5b-ii — Org/user-level fallback:**
134
+ If 5b-i returned 404 (no FUNDING.yml in the repo itself), check the owner's default community health repo:
135
+ Use `get_file_contents` to fetch `{owner}/.github` path `FUNDING.yml`.
136
+
137
+ GitHub supports a [default community health files](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file) convention: a `.github` repository at the user/org level provides defaults for all repos that lack their own. For example, `isaacs/.github/FUNDING.yml` applies to all `isaacs/*` repos.
138
+
139
+ Only look up each unique `{owner}/.github` repo **once** — reuse the result for all repos under that owner. Process in batches of **10 owners at a time**.
140
+
141
+ Parse the YAML (same for both 5b-i and 5b-ii):
142
+ - `github: [username]` → `https://github.com/sponsors/{username}`
143
+ - `open_collective: slug` → `https://opencollective.com/{slug}`
144
+ - `ko_fi: username` → `https://ko-fi.com/{username}`
145
+ - `patreon: username` → `https://patreon.com/{username}`
146
+ - `tidelift: platform/package` → `https://tidelift.com/subscription/pkg/{platform-package}`
147
+ - `custom: [urls]` → use as-is
148
+
149
+ ### 5c: Web search fallback
150
+ For the **top 10 unfunded dependencies** (by number of transitive dependents), use `web_search`:
151
+ ```
152
+ "{package name}" github sponsors OR open collective OR funding
153
+ ```
154
+ Skip packages known to be corporate-maintained (React/Meta, TypeScript/Microsoft, @types/DefinitelyTyped).
155
+
156
+ ### Efficiency rules
157
+ - **Check 5a and 5b for all deps.** Only use 5c for top unfunded ones.
158
+ - Skip npm registry calls for non-npm ecosystems.
159
+ - Deduplicate repos — check each repo only once.
160
+ - **One `{owner}/.github` check per unique owner** — reuse the result for all their repos.
161
+ - Process org-level lookups in batches of **10 owners at a time**.
162
+
163
+ ---
164
+
165
+ ## Step 6: Verify Every Link (CRITICAL)
166
+
167
+ **Before including ANY funding link, verify it exists.**
168
+
169
+ Use `web_fetch` on each funding URL:
170
+ - **Valid page** → ✅ Include
171
+ - **404 / "not found" / "not enrolled"** → ❌ Exclude
172
+ - **Redirect to valid page** → ✅ Include final URL
173
+
174
+ Verify in batches of **5 at a time**. Never present unverified links.
175
+
176
+ ---
177
+
178
+ ## Step 7: Output the Report
179
+
180
+ ### Output discipline
181
+
182
+ **Minimize intermediate output during data gathering.** Do NOT announce each batch ("Batch 3 of 7…", "Now checking funding…"). Instead:
183
+ - Show **one brief status line** when starting each major phase (e.g., "Resolving 67 dependencies…", "Checking funding links…")
184
+ - **Collect ALL data before producing the report.** Never drip-feed partial tables.
185
+ - Output the final report as a **single cohesive block** at the end.
186
+
187
+ ### Report template
188
+
189
+ ```
190
+ ## 💜 Sponsor Finder Report
191
+
192
+ **Repository:** {owner}/{repo} · {ecosystem} · {package}@{version}
193
+ **Scanned:** {date} · {total} deps ({direct} direct + {transitive} transitive)
194
+
195
+ ---
196
+
197
+ ### 🎯 Ways to Give Back
198
+
199
+ Sponsoring just {N} people/orgs supports {sponsorable} of your {total} dependencies — a great way to invest in the open source your project depends on.
200
+
201
+ 1. **💜 @{user}** — {N} direct + {M} transitive deps · ⭐ Maintained
202
+ {dep1}, {dep2}, {dep3}, ...
203
+ https://github.com/sponsors/{user}
204
+
205
+ 2. **🟠 Open Collective: {name}** — {N} direct + {M} transitive deps · ⭐ Maintained
206
+ {dep1}, {dep2}, {dep3}, ...
207
+ https://opencollective.com/{name}
208
+
209
+ 3. **💜 @{user2}** — {N} direct dep · 💤 Low activity
210
+ {dep1}
211
+ https://github.com/sponsors/{user2}
212
+
213
+ ---
214
+
215
+ ### 📊 Coverage
216
+
217
+ - **{sponsorable}/{total}** dependencies have funding options ({percentage}%)
218
+ - **{destinations}** unique funding destinations
219
+ - **{unfunded_direct}** direct deps don't have funding set up yet ({top_names}, ...)
220
+ - All links verified ✅
221
+ ```
222
+
223
+ ### Report format rules
224
+
225
+ - **Lead with "🎯 Ways to Give Back"** — this is the primary output. Numbered list, sorted by total deps covered (descending).
226
+ - **Bare URLs on their own line** — not wrapped in markdown link syntax. This ensures they're clickable in any terminal emulator.
227
+ - **Inline dep names** — list the covered dependency names in a comma-separated line under each sponsor, so the user sees exactly what they're funding.
228
+ - **Health indicator inline** — show ⭐/⚠️/💤 next to each destination, not in a separate table column.
229
+ - **One "📊 Coverage" section** — compact stats. No separate "Verified Funding Links" table, no "No Funding Found" table.
230
+ - **Unfunded deps as a brief note** — just the count + top names. Frame as "don't have funding set up yet" rather than highlighting a gap. Never shame projects for not having funding — many maintainers prefer other forms of contribution.
231
+ - 💜 GitHub Sponsors, 🟠 Open Collective, ☕ Ko-fi, 🔗 Other
232
+ - Prioritize GitHub Sponsors links when multiple funding sources exist for the same maintainer.
233
+
234
+ ---
235
+
236
+ ## Error Handling
237
+
238
+ - If deps.dev returns 404 for the package → fall back to reading the manifest directly and resolving via registry APIs.
239
+ - If deps.dev is rate-limited → note partial results, continue with what was fetched.
240
+ - If `get_file_contents` returns 404 for the repo → inform user repo may not exist or is private.
241
+ - If link verification fails → exclude the link silently.
242
+ - Always produce a report even if partial — never fail silently.
243
+
244
+ ---
245
+
246
+ ## Critical Rules
247
+
248
+ 1. **NEVER present unverified links.** Fetch every URL before showing it. 5 verified links > 20 guessed links.
249
+ 2. **NEVER guess from training knowledge.** Always check — funding pages change over time.
250
+ 3. **Always be encouraging, never shaming.** Frame results positively — celebrate what IS funded, and treat unfunded deps as an opportunity, not a failing. Not every project needs or wants financial sponsorship.
251
+ 4. **Lead with action.** The "🎯 Ways to Give Back" section is the primary output — bare clickable URLs, grouped by destination.
252
+ 5. **Use deps.dev as primary resolver.** Fall back to registry APIs only if deps.dev is unavailable.
253
+ 6. **Always use GitHub MCP tools** (`get_file_contents`), `web_fetch`, and `web_search` — never clone or shell out.
254
+ 7. **Be efficient.** Batch API calls, deduplicate repos, check each owner's `.github` repo only once.
255
+ 8. **Focus on GitHub Sponsors.** Most actionable platform — show others but prioritize GitHub.
256
+ 9. **Deduplicate by maintainer.** Group to show real impact of sponsoring one person.
257
+ 10. **Show the actionable minimum.** Tell users the fewest sponsorships to support the most deps.
258
+ 11. **Minimize intermediate output.** Don't announce each batch. Collect all data, then output one cohesive report.
@@ -0,0 +1,5 @@
1
+ # Sync Info
2
+
3
+ - **Source:** `vendor/awesome-copilot/skills/sponsor-finder`
4
+ - **Git SHA:** `23fb7006c132a0bba75b0e5af7a35cab11272812`
5
+ - **Synced:** 2026-03-24
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright GitHub, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,189 @@
1
+ ---
2
+ name: spring-boot-testing
3
+ description: Expert Spring Boot 4 testing specialist that selects the best Spring Boot testing techniques for your situation with Junit 6 and AssertJ.
4
+ ---
5
+
6
+ # Spring Boot Testing
7
+
8
+ This skill provides expert guide for testing Spring Boot 4 applications with modern patterns and best practices.
9
+
10
+ ## Core Principles
11
+
12
+ 1. **Test Pyramid**: Unit (fast) > Slice (focused) > Integration (complete)
13
+ 2. **Right Tool**: Use the narrowest slice that gives you confidence
14
+ 3. **AssertJ Style**: Fluent, readable assertions over verbose matchers
15
+ 4. **Modern APIs**: Prefer MockMvcTester and RestTestClient over legacy alternatives
16
+
17
+ ## Which Test Slice?
18
+
19
+ | Scenario | Annotation | Reference |
20
+ |----------|------------|-----------|
21
+ | Controller + HTTP semantics | `@WebMvcTest` | [references/webmvctest.md](references/webmvctest.md) |
22
+ | Repository + JPA queries | `@DataJpaTest` | [references/datajpatest.md](references/datajpatest.md) |
23
+ | REST client + external APIs | `@RestClientTest` | [references/restclienttest.md](references/restclienttest.md) |
24
+ | JSON (de)serialization | `@JsonTest` | [references/test-slices-overview.md](references/test-slices-overview.md) |
25
+ | Full application | `@SpringBootTest` | [references/test-slices-overview.md](references/test-slices-overview.md) |
26
+
27
+ ## Test Slices Reference
28
+
29
+ - [references/test-slices-overview.md](references/test-slices-overview.md) - Decision matrix and comparison
30
+ - [references/webmvctest.md](references/webmvctest.md) - Web layer with MockMvc
31
+ - [references/datajpatest.md](references/datajpatest.md) - Data layer with Testcontainers
32
+ - [references/restclienttest.md](references/restclienttest.md) - REST client testing
33
+
34
+ ## Testing Tools Reference
35
+
36
+ - [references/mockmvc-tester.md](references/mockmvc-tester.md) - AssertJ-style MockMvc (3.2+)
37
+ - [references/mockmvc-classic.md](references/mockmvc-classic.md) - Traditional MockMvc (pre-3.2)
38
+ - [references/resttestclient.md](references/resttestclient.md) - Spring Boot 4+ REST client
39
+ - [references/mockitobean.md](references/mockitobean.md) - Mocking dependencies
40
+
41
+ ## Assertion Libraries
42
+
43
+ - [references/assertj-basics.md](references/assertj-basics.md) - Scalars, strings, booleans, dates
44
+ - [references/assertj-collections.md](references/assertj-collections.md) - Lists, Sets, Maps, arrays
45
+
46
+ ## Testcontainers
47
+
48
+ - [references/testcontainers-jdbc.md](references/testcontainers-jdbc.md) - PostgreSQL, MySQL, etc.
49
+
50
+ ## Test Data Generation
51
+
52
+ - [references/instancio.md](references/instancio.md) - Generate complex test objects (3+ properties)
53
+
54
+ ## Performance & Migration
55
+
56
+ - [references/context-caching.md](references/context-caching.md) - Speed up test suites
57
+ - [references/sb4-migration.md](references/sb4-migration.md) - Spring Boot 4.0 changes
58
+
59
+ ## Quick Decision Tree
60
+
61
+ ```
62
+ Testing a controller endpoint?
63
+ Yes → @WebMvcTest with MockMvcTester
64
+
65
+ Testing repository queries?
66
+ Yes → @DataJpaTest with Testcontainers (real DB)
67
+
68
+ Testing business logic in service?
69
+ Yes → Plain JUnit + Mockito (no Spring context)
70
+
71
+ Testing external API client?
72
+ Yes → @RestClientTest with MockRestServiceServer
73
+
74
+ Testing JSON mapping?
75
+ Yes → @JsonTest
76
+
77
+ Need full integration test?
78
+ Yes → @SpringBootTest with minimal context config
79
+ ```
80
+
81
+ ## Spring Boot 4 Highlights
82
+
83
+ - **RestTestClient**: Modern alternative to TestRestTemplate
84
+ - **@MockitoBean**: Replaces @MockBean (deprecated)
85
+ - **MockMvcTester**: AssertJ-style assertions for web tests
86
+ - **Modular starters**: Technology-specific test starters
87
+ - **Context pausing**: Automatic pausing of cached contexts (Spring Framework 7)
88
+
89
+ ## Testing Best Practices
90
+
91
+ ### Code Complexity Assessment
92
+
93
+ When a method or class is too complex to test effectively:
94
+
95
+ 1. **Analyze complexity** - If you need more than 5-7 test cases to cover a single method, it's likely too complex
96
+ 2. **Recommend refactoring** - Suggest breaking the code into smaller, focused functions
97
+ 3. **User decision** - If the user agrees to refactor, help identify extraction points
98
+ 4. **Proceed if needed** - If the user decides to continue with the complex code, implement tests despite the difficulty
99
+
100
+ **Example of refactoring recommendation:**
101
+ ```java
102
+ // Before: Complex method hard to test
103
+ public Order processOrder(OrderRequest request) {
104
+ // Validation, discount calculation, payment, inventory, notification...
105
+ // 50+ lines of mixed concerns
106
+ }
107
+
108
+ // After: Refactored into testable units
109
+ public Order processOrder(OrderRequest request) {
110
+ validateOrder(request);
111
+ var order = createOrder(request);
112
+ applyDiscount(order);
113
+ processPayment(order);
114
+ updateInventory(order);
115
+ sendNotification(order);
116
+ return order;
117
+ }
118
+ ```
119
+
120
+ ### Avoid Code Redundancy
121
+
122
+ Create helper methods for commonly used objects and mock setup to enhance readability and maintainability.
123
+
124
+ ### Test Organization with @DisplayName
125
+
126
+ Use descriptive display names to clarify test intent:
127
+
128
+ ```java
129
+ @Test
130
+ @DisplayName("Should calculate discount for VIP customer")
131
+ void shouldCalculateDiscountForVip() { }
132
+
133
+ @Test
134
+ @DisplayName("Should reject order when customer has insufficient credit")
135
+ void shouldRejectOrderForInsufficientCredit() { }
136
+ ```
137
+
138
+ ### Test Coverage Order
139
+
140
+ Always structure tests in this order:
141
+
142
+ 1. **Main scenario** - The happy path, most common use case
143
+ 2. **Other paths** - Alternative valid scenarios, edge cases
144
+ 3. **Exceptions/Errors** - Invalid inputs, error conditions, failure modes
145
+
146
+ ### Test Production Scenarios
147
+
148
+ Write tests with real production scenarios in mind. This makes tests more relatable and helps understand code behavior in actual production cases.
149
+
150
+ ### Test Coverage Goals
151
+
152
+ Aim for 80% code coverage as a practical balance between quality and effort. Higher coverage is beneficial but not the only goal.
153
+
154
+ Use Jacoco maven plugin for coverage reporting and tracking.
155
+
156
+
157
+ **Coverage Rules:**
158
+ - 80+% coverage minimum
159
+ - Focus on meaningful assertions, not just execution
160
+
161
+ **What to Prioritize:**
162
+ 1. Business-critical paths (payment processing, order validation)
163
+ 2. Complex algorithms (pricing, discount calculations)
164
+ 3. Error handling (exceptions, edge cases)
165
+ 4. Integration points (external APIs, databases)
166
+
167
+ ## Dependencies (Spring Boot 4)
168
+
169
+ ```xml
170
+ <dependency>
171
+ <groupId>org.springframework.boot</groupId>
172
+ <artifactId>spring-boot-starter-test</artifactId>
173
+ <scope>test</scope>
174
+ </dependency>
175
+
176
+ <!-- For WebMvc tests -->
177
+ <dependency>
178
+ <groupId>org.springframework.boot</groupId>
179
+ <artifactId>spring-boot-starter-webmvc-test</artifactId>
180
+ <scope>test</scope>
181
+ </dependency>
182
+
183
+ <!-- For Testcontainers -->
184
+ <dependency>
185
+ <groupId>org.springframework.boot</groupId>
186
+ <artifactId>spring-boot-testcontainers</artifactId>
187
+ <scope>test</scope>
188
+ </dependency>
189
+ ```
@@ -0,0 +1,5 @@
1
+ # Sync Info
2
+
3
+ - **Source:** `vendor/awesome-copilot/skills/spring-boot-testing`
4
+ - **Git SHA:** `23fb7006c132a0bba75b0e5af7a35cab11272812`
5
+ - **Synced:** 2026-03-24
@@ -0,0 +1,207 @@
1
+ # AssertJ Basics
2
+
3
+ Fluent assertions for readable, maintainable tests.
4
+
5
+ ## Basic Assertions
6
+
7
+ ### Object Equality
8
+
9
+ ```java
10
+ assertThat(order.getStatus()).isEqualTo("PENDING");
11
+ assertThat(order.getId()).isNotEqualTo(0);
12
+ assertThat(order).isEqualTo(expectedOrder);
13
+ assertThat(order).isNotNull();
14
+ assertThat(nullOrder).isNull();
15
+ ```
16
+
17
+ ### String Assertions
18
+
19
+ ```java
20
+ assertThat(order.getDescription())
21
+ .isEqualTo("Test Order")
22
+ .startsWith("Test")
23
+ .endsWith("Order")
24
+ .contains("Test")
25
+ .hasSize(10)
26
+ .matches("[A-Za-z ]+");
27
+ ```
28
+
29
+ ### Number Assertions
30
+
31
+ ```java
32
+ assertThat(order.getAmount())
33
+ .isEqualTo(99.99)
34
+ .isGreaterThan(50)
35
+ .isLessThan(100)
36
+ .isBetween(50, 100)
37
+ .isPositive()
38
+ .isNotZero();
39
+ ```
40
+
41
+ ### Boolean Assertions
42
+
43
+ ```java
44
+ assertThat(order.isActive()).isTrue();
45
+ assertThat(order.isDeleted()).isFalse();
46
+ ```
47
+
48
+ ## Date/Time Assertions
49
+
50
+ ```java
51
+ assertThat(order.getCreatedAt())
52
+ .isEqualTo(LocalDateTime.of(2024, 1, 15, 10, 30))
53
+ .isBefore(LocalDateTime.now())
54
+ .isAfter(LocalDateTime.of(2024, 1, 1))
55
+ .isCloseTo(LocalDateTime.now(), within(5, ChronoUnit.SECONDS));
56
+ ```
57
+
58
+ ## Optional Assertions
59
+
60
+ ```java
61
+ Optional<Order> maybeOrder = orderService.findById(1L);
62
+
63
+ assertThat(maybeOrder)
64
+ .isPresent()
65
+ .hasValueSatisfying(order -> {
66
+ assertThat(order.getId()).isEqualTo(1L);
67
+ });
68
+
69
+ assertThat(orderService.findById(999L)).isEmpty();
70
+ ```
71
+
72
+ ## Exception Assertions
73
+
74
+ ### JUnit 5 Exception Handling
75
+
76
+ ```java
77
+ @Test
78
+ void shouldThrowException() {
79
+ OrderService service = new OrderService();
80
+
81
+ assertThatThrownBy(() -> service.findById(999L))
82
+ .isInstanceOf(OrderNotFoundException.class)
83
+ .hasMessage("Order 999 not found")
84
+ .hasMessageContaining("999");
85
+ }
86
+ ```
87
+
88
+ ### AssertJ Exception Handling
89
+
90
+ ```java
91
+ @Test
92
+ void shouldThrowExceptionWithCause() {
93
+ assertThatExceptionOfType(OrderProcessingException.class)
94
+ .isThrownBy(() -> service.processOrder(invalidOrder))
95
+ .withCauseInstanceOf(ValidationException.class);
96
+ }
97
+ ```
98
+
99
+ ## Custom Assertions
100
+
101
+ Create domain-specific assertions for reusable test code:
102
+
103
+ ```java
104
+ public class OrderAssert extends AbstractAssert<OrderAssert, Order> {
105
+
106
+ public static OrderAssert assertThat(Order actual) {
107
+ return new OrderAssert(actual);
108
+ }
109
+
110
+ private OrderAssert(Order actual) {
111
+ super(actual, OrderAssert.class);
112
+ }
113
+
114
+ public OrderAssert isPending() {
115
+ isNotNull();
116
+ if (!"PENDING".equals(actual.getStatus())) {
117
+ failWithMessage("Expected order status to be PENDING but was %s", actual.getStatus());
118
+ }
119
+ return this;
120
+ }
121
+
122
+ public OrderAssert hasTotal(BigDecimal expected) {
123
+ isNotNull();
124
+ if (!expected.equals(actual.getTotal())) {
125
+ failWithMessage("Expected total %s but was %s", expected, actual.getTotal());
126
+ }
127
+ return this;
128
+ }
129
+ }
130
+ ```
131
+
132
+ Usage:
133
+
134
+ ```java
135
+ OrderAssert.assertThat(order)
136
+ .isPending()
137
+ .hasTotal(new BigDecimal("99.99"));
138
+ ```
139
+
140
+ ## Soft Assertions
141
+
142
+ Collect multiple failures before failing:
143
+
144
+ ```java
145
+ @Test
146
+ void shouldValidateOrder() {
147
+ Order order = orderService.findById(1L);
148
+
149
+ SoftAssertions.assertSoftly(softly -> {
150
+ softly.assertThat(order.getId()).isEqualTo(1L);
151
+ softly.assertThat(order.getStatus()).isEqualTo("PENDING");
152
+ softly.assertThat(order.getItems()).isNotEmpty();
153
+ });
154
+ }
155
+ ```
156
+
157
+ ## Satisfies Pattern
158
+
159
+ ```java
160
+ assertThat(order)
161
+ .satisfies(o -> {
162
+ assertThat(o.getId()).isPositive();
163
+ assertThat(o.getStatus()).isNotBlank();
164
+ assertThat(o.getCreatedAt()).isNotNull();
165
+ });
166
+ ```
167
+
168
+ ## Using with Spring
169
+
170
+ ```java
171
+ import static org.assertj.core.api.Assertions.assertThat;
172
+
173
+ @SpringBootTest
174
+ class OrderServiceTest {
175
+
176
+ @Autowired
177
+ private OrderService orderService;
178
+
179
+ @Test
180
+ void shouldCreateOrder() {
181
+ Order order = orderService.create(new OrderRequest("Product", 2));
182
+
183
+ assertThat(order)
184
+ .isNotNull()
185
+ .extracting(Order::getId, Order::getStatus)
186
+ .containsExactly(1L, "PENDING");
187
+ }
188
+ }
189
+ ```
190
+
191
+ ## Static Import
192
+
193
+ Always use static import for clean assertions:
194
+
195
+ ```java
196
+ import static org.assertj.core.api.Assertions.assertThat;
197
+ import static org.assertj.core.api.Assertions.assertThatThrownBy;
198
+ import static org.assertj.core.api.Assertions.catchThrowable;
199
+ ```
200
+
201
+ ## Key Benefits
202
+
203
+ 1. **Readable**: Sentence-like structure
204
+ 2. **Type-safe**: IDE autocomplete works
205
+ 3. **Rich API**: Many built-in assertions
206
+ 4. **Extensible**: Custom assertions for your domain
207
+ 5. **Better Errors**: Clear failure messages