devskill 2.0.6 → 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 (1437) hide show
  1. package/meta.ts +13 -1
  2. package/package.json +1 -1
  3. package/scripts/cli.ts +55 -10
  4. package/skills/add-educational-comments/LICENSE.md +21 -0
  5. package/skills/add-educational-comments/SKILL.md +128 -0
  6. package/skills/add-educational-comments/SYNC.md +5 -0
  7. package/skills/agent-governance/LICENSE.md +21 -0
  8. package/skills/agent-governance/SKILL.md +569 -0
  9. package/skills/agent-governance/SYNC.md +5 -0
  10. package/skills/agentic-eval/LICENSE.md +21 -0
  11. package/skills/agentic-eval/SKILL.md +189 -0
  12. package/skills/agentic-eval/SYNC.md +5 -0
  13. package/skills/ai-prompt-engineering-safety-review/LICENSE.md +21 -0
  14. package/skills/ai-prompt-engineering-safety-review/SKILL.md +230 -0
  15. package/skills/ai-prompt-engineering-safety-review/SYNC.md +5 -0
  16. package/skills/algorithmic-art/LICENSE.txt +202 -0
  17. package/skills/algorithmic-art/SKILL.md +405 -0
  18. package/skills/algorithmic-art/SYNC.md +5 -0
  19. package/skills/algorithmic-art/templates/generator_template.js +223 -0
  20. package/skills/algorithmic-art/templates/viewer.html +599 -0
  21. package/skills/appinsights-instrumentation/LICENSE.md +21 -0
  22. package/skills/appinsights-instrumentation/LICENSE.txt +21 -0
  23. package/skills/appinsights-instrumentation/SKILL.md +48 -0
  24. package/skills/appinsights-instrumentation/SYNC.md +5 -0
  25. package/skills/appinsights-instrumentation/examples/appinsights.bicep +30 -0
  26. package/skills/appinsights-instrumentation/references/ASPNETCORE.md +29 -0
  27. package/skills/appinsights-instrumentation/references/AUTO.md +13 -0
  28. package/skills/appinsights-instrumentation/references/NODEJS.md +28 -0
  29. package/skills/appinsights-instrumentation/references/PYTHON.md +48 -0
  30. package/skills/appinsights-instrumentation/scripts/appinsights.ps1 +20 -0
  31. package/skills/apple-appstore-reviewer/LICENSE.md +21 -0
  32. package/skills/apple-appstore-reviewer/SKILL.md +305 -0
  33. package/skills/apple-appstore-reviewer/SYNC.md +5 -0
  34. package/skills/arch-linux-triage/LICENSE.md +21 -0
  35. package/skills/arch-linux-triage/SKILL.md +31 -0
  36. package/skills/arch-linux-triage/SYNC.md +5 -0
  37. package/skills/architecture-blueprint-generator/LICENSE.md +21 -0
  38. package/skills/architecture-blueprint-generator/SKILL.md +322 -0
  39. package/skills/architecture-blueprint-generator/SYNC.md +5 -0
  40. package/skills/aspire/LICENSE.md +21 -0
  41. package/skills/aspire/SKILL.md +231 -0
  42. package/skills/aspire/SYNC.md +5 -0
  43. package/skills/aspire/references/architecture.md +341 -0
  44. package/skills/aspire/references/cli-reference.md +307 -0
  45. package/skills/aspire/references/dashboard.md +226 -0
  46. package/skills/aspire/references/deployment.md +237 -0
  47. package/skills/aspire/references/integrations-catalog.md +68 -0
  48. package/skills/aspire/references/mcp-server.md +195 -0
  49. package/skills/aspire/references/polyglot-apis.md +296 -0
  50. package/skills/aspire/references/testing.md +281 -0
  51. package/skills/aspire/references/troubleshooting.md +194 -0
  52. package/skills/aspnet-minimal-api-openapi/LICENSE.md +21 -0
  53. package/skills/aspnet-minimal-api-openapi/SKILL.md +41 -0
  54. package/skills/aspnet-minimal-api-openapi/SYNC.md +5 -0
  55. package/skills/automate-this/LICENSE.md +21 -0
  56. package/skills/automate-this/SKILL.md +244 -0
  57. package/skills/automate-this/SYNC.md +5 -0
  58. package/skills/autoresearch/LICENSE.md +21 -0
  59. package/skills/autoresearch/SKILL.md +275 -0
  60. package/skills/autoresearch/SYNC.md +5 -0
  61. package/skills/aws-cdk-python-setup/LICENSE.md +21 -0
  62. package/skills/aws-cdk-python-setup/SKILL.md +111 -0
  63. package/skills/aws-cdk-python-setup/SYNC.md +5 -0
  64. package/skills/az-cost-optimize/LICENSE.md +21 -0
  65. package/skills/az-cost-optimize/SKILL.md +305 -0
  66. package/skills/az-cost-optimize/SYNC.md +5 -0
  67. package/skills/azure-deployment-preflight/LICENSE.md +21 -0
  68. package/skills/azure-deployment-preflight/SKILL.md +216 -0
  69. package/skills/azure-deployment-preflight/SYNC.md +5 -0
  70. package/skills/azure-deployment-preflight/references/ERROR-HANDLING.md +392 -0
  71. package/skills/azure-deployment-preflight/references/REPORT-TEMPLATE.md +352 -0
  72. package/skills/azure-deployment-preflight/references/VALIDATION-COMMANDS.md +379 -0
  73. package/skills/azure-devops-cli/LICENSE.md +21 -0
  74. package/skills/azure-devops-cli/SKILL.md +94 -0
  75. package/skills/azure-devops-cli/SYNC.md +5 -0
  76. package/skills/azure-devops-cli/references/advanced-usage.md +197 -0
  77. package/skills/azure-devops-cli/references/boards-and-iterations.md +258 -0
  78. package/skills/azure-devops-cli/references/org-and-security.md +469 -0
  79. package/skills/azure-devops-cli/references/pipelines-and-builds.md +245 -0
  80. package/skills/azure-devops-cli/references/repos-and-prs.md +333 -0
  81. package/skills/azure-devops-cli/references/variables-and-agents.md +212 -0
  82. package/skills/azure-devops-cli/references/workflows-and-patterns.md +668 -0
  83. package/skills/azure-pricing/LICENSE.md +21 -0
  84. package/skills/azure-pricing/SKILL.md +189 -0
  85. package/skills/azure-pricing/SYNC.md +5 -0
  86. package/skills/azure-pricing/references/COPILOT-STUDIO-RATES.md +135 -0
  87. package/skills/azure-pricing/references/COST-ESTIMATOR.md +142 -0
  88. package/skills/azure-pricing/references/REGIONS.md +84 -0
  89. package/skills/azure-pricing/references/SERVICE-NAMES.md +106 -0
  90. package/skills/azure-resource-health-diagnose/LICENSE.md +21 -0
  91. package/skills/azure-resource-health-diagnose/SKILL.md +290 -0
  92. package/skills/azure-resource-health-diagnose/SYNC.md +5 -0
  93. package/skills/azure-resource-visualizer/LICENSE.md +21 -0
  94. package/skills/azure-resource-visualizer/LICENSE.txt +21 -0
  95. package/skills/azure-resource-visualizer/SKILL.md +233 -0
  96. package/skills/azure-resource-visualizer/SYNC.md +5 -0
  97. package/skills/azure-resource-visualizer/assets/template-architecture.md +41 -0
  98. package/skills/azure-role-selector/LICENSE.md +21 -0
  99. package/skills/azure-role-selector/LICENSE.txt +21 -0
  100. package/skills/azure-role-selector/SKILL.md +6 -0
  101. package/skills/azure-role-selector/SYNC.md +5 -0
  102. package/skills/azure-static-web-apps/LICENSE.md +21 -0
  103. package/skills/azure-static-web-apps/SKILL.md +315 -0
  104. package/skills/azure-static-web-apps/SYNC.md +5 -0
  105. package/skills/bigquery-pipeline-audit/LICENSE.md +21 -0
  106. package/skills/bigquery-pipeline-audit/SKILL.md +129 -0
  107. package/skills/bigquery-pipeline-audit/SYNC.md +5 -0
  108. package/skills/boost-prompt/LICENSE.md +21 -0
  109. package/skills/boost-prompt/SKILL.md +25 -0
  110. package/skills/boost-prompt/SYNC.md +5 -0
  111. package/skills/brand-guidelines/LICENSE.txt +202 -0
  112. package/skills/brand-guidelines/SKILL.md +73 -0
  113. package/skills/brand-guidelines/SYNC.md +5 -0
  114. package/skills/breakdown-epic-arch/LICENSE.md +21 -0
  115. package/skills/breakdown-epic-arch/SKILL.md +66 -0
  116. package/skills/breakdown-epic-arch/SYNC.md +5 -0
  117. package/skills/breakdown-epic-pm/LICENSE.md +21 -0
  118. package/skills/breakdown-epic-pm/SKILL.md +58 -0
  119. package/skills/breakdown-epic-pm/SYNC.md +5 -0
  120. package/skills/breakdown-feature-implementation/LICENSE.md +21 -0
  121. package/skills/breakdown-feature-implementation/SKILL.md +128 -0
  122. package/skills/breakdown-feature-implementation/SYNC.md +5 -0
  123. package/skills/breakdown-feature-prd/LICENSE.md +21 -0
  124. package/skills/breakdown-feature-prd/SKILL.md +61 -0
  125. package/skills/breakdown-feature-prd/SYNC.md +5 -0
  126. package/skills/breakdown-plan/LICENSE.md +21 -0
  127. package/skills/breakdown-plan/SKILL.md +509 -0
  128. package/skills/breakdown-plan/SYNC.md +5 -0
  129. package/skills/breakdown-test/LICENSE.md +21 -0
  130. package/skills/breakdown-test/SKILL.md +365 -0
  131. package/skills/breakdown-test/SYNC.md +5 -0
  132. package/skills/canvas-design/LICENSE.txt +202 -0
  133. package/skills/canvas-design/SKILL.md +130 -0
  134. package/skills/canvas-design/SYNC.md +5 -0
  135. package/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  136. package/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  137. package/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  138. package/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  139. package/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  140. package/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  141. package/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  142. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  143. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  144. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  145. package/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  146. package/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  147. package/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  148. package/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  149. package/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  150. package/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  151. package/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  152. package/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  153. package/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  154. package/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  155. package/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  156. package/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  157. package/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  158. package/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  159. package/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  160. package/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  161. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  162. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  163. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  164. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  165. package/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  166. package/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  167. package/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  168. package/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  169. package/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  170. package/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  171. package/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  172. package/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  173. package/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  174. package/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  175. package/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  176. package/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  177. package/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  178. package/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  179. package/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  180. package/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  181. package/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  182. package/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  183. package/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  184. package/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  185. package/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  186. package/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  187. package/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  188. package/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  189. package/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  190. package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  191. package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  192. package/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  193. package/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  194. package/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  195. package/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  196. package/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  197. package/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  198. package/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  199. package/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  200. package/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  201. package/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  202. package/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  203. package/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  204. package/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  205. package/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  206. package/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  207. package/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  208. package/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  209. package/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  210. package/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  211. package/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  212. package/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  213. package/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  214. package/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  215. package/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  216. package/skills/centos-linux-triage/LICENSE.md +21 -0
  217. package/skills/centos-linux-triage/SKILL.md +31 -0
  218. package/skills/centos-linux-triage/SYNC.md +5 -0
  219. package/skills/chrome-devtools/LICENSE.md +21 -0
  220. package/skills/chrome-devtools/SKILL.md +97 -0
  221. package/skills/chrome-devtools/SYNC.md +5 -0
  222. package/skills/claude-api/LICENSE.txt +202 -0
  223. package/skills/claude-api/SKILL.md +246 -0
  224. package/skills/claude-api/SYNC.md +5 -0
  225. package/skills/claude-api/csharp/claude-api.md +400 -0
  226. package/skills/claude-api/curl/examples.md +193 -0
  227. package/skills/claude-api/go/claude-api.md +404 -0
  228. package/skills/claude-api/java/claude-api.md +430 -0
  229. package/skills/claude-api/php/claude-api.md +241 -0
  230. package/skills/claude-api/python/agent-sdk/README.md +345 -0
  231. package/skills/claude-api/python/agent-sdk/patterns.md +359 -0
  232. package/skills/claude-api/python/claude-api/README.md +410 -0
  233. package/skills/claude-api/python/claude-api/batches.md +185 -0
  234. package/skills/claude-api/python/claude-api/files-api.md +165 -0
  235. package/skills/claude-api/python/claude-api/streaming.md +162 -0
  236. package/skills/claude-api/python/claude-api/tool-use.md +590 -0
  237. package/skills/claude-api/ruby/claude-api.md +92 -0
  238. package/skills/claude-api/shared/error-codes.md +206 -0
  239. package/skills/claude-api/shared/live-sources.md +121 -0
  240. package/skills/claude-api/shared/models.md +119 -0
  241. package/skills/claude-api/shared/tool-use-concepts.md +305 -0
  242. package/skills/claude-api/typescript/agent-sdk/README.md +296 -0
  243. package/skills/claude-api/typescript/agent-sdk/patterns.md +209 -0
  244. package/skills/claude-api/typescript/claude-api/README.md +321 -0
  245. package/skills/claude-api/typescript/claude-api/batches.md +106 -0
  246. package/skills/claude-api/typescript/claude-api/files-api.md +98 -0
  247. package/skills/claude-api/typescript/claude-api/streaming.md +178 -0
  248. package/skills/claude-api/typescript/claude-api/tool-use.md +527 -0
  249. package/skills/cli-mastery/LICENSE.md +21 -0
  250. package/skills/cli-mastery/SKILL.md +43 -0
  251. package/skills/cli-mastery/SYNC.md +5 -0
  252. package/skills/cli-mastery/references/final-exam.md +24 -0
  253. package/skills/cli-mastery/references/module-1-slash-commands.md +88 -0
  254. package/skills/cli-mastery/references/module-2-keyboard-shortcuts.md +38 -0
  255. package/skills/cli-mastery/references/module-3-modes.md +33 -0
  256. package/skills/cli-mastery/references/module-4-agents.md +42 -0
  257. package/skills/cli-mastery/references/module-5-skills.md +33 -0
  258. package/skills/cli-mastery/references/module-6-mcp.md +50 -0
  259. package/skills/cli-mastery/references/module-7-advanced.md +38 -0
  260. package/skills/cli-mastery/references/module-8-configuration.md +34 -0
  261. package/skills/cli-mastery/references/scenarios.md +44 -0
  262. package/skills/cloud-design-patterns/LICENSE.md +21 -0
  263. package/skills/cloud-design-patterns/SKILL.md +62 -0
  264. package/skills/cloud-design-patterns/SYNC.md +5 -0
  265. package/skills/cloud-design-patterns/references/architecture-design.md +127 -0
  266. package/skills/cloud-design-patterns/references/azure-service-mappings.md +13 -0
  267. package/skills/cloud-design-patterns/references/best-practices.md +34 -0
  268. package/skills/cloud-design-patterns/references/deployment-operational.md +91 -0
  269. package/skills/cloud-design-patterns/references/event-driven.md +21 -0
  270. package/skills/cloud-design-patterns/references/messaging-integration.md +127 -0
  271. package/skills/cloud-design-patterns/references/performance.md +180 -0
  272. package/skills/cloud-design-patterns/references/reliability-resilience.md +156 -0
  273. package/skills/cloud-design-patterns/references/security.md +55 -0
  274. package/skills/code-exemplars-blueprint-generator/LICENSE.md +21 -0
  275. package/skills/code-exemplars-blueprint-generator/SKILL.md +126 -0
  276. package/skills/code-exemplars-blueprint-generator/SYNC.md +5 -0
  277. package/skills/codeql/LICENSE.md +21 -0
  278. package/skills/codeql/SKILL.md +405 -0
  279. package/skills/codeql/SYNC.md +5 -0
  280. package/skills/codeql/references/alert-management.md +170 -0
  281. package/skills/codeql/references/cli-commands.md +283 -0
  282. package/skills/codeql/references/compiled-languages.md +284 -0
  283. package/skills/codeql/references/sarif-output.md +265 -0
  284. package/skills/codeql/references/troubleshooting.md +259 -0
  285. package/skills/codeql/references/workflow-configuration.md +398 -0
  286. package/skills/comment-code-generate-a-tutorial/LICENSE.md +21 -0
  287. package/skills/comment-code-generate-a-tutorial/SKILL.md +26 -0
  288. package/skills/comment-code-generate-a-tutorial/SYNC.md +5 -0
  289. package/skills/containerize-aspnet-framework/LICENSE.md +21 -0
  290. package/skills/containerize-aspnet-framework/SKILL.md +454 -0
  291. package/skills/containerize-aspnet-framework/SYNC.md +5 -0
  292. package/skills/containerize-aspnetcore/LICENSE.md +21 -0
  293. package/skills/containerize-aspnetcore/SKILL.md +392 -0
  294. package/skills/containerize-aspnetcore/SYNC.md +5 -0
  295. package/skills/context-map/LICENSE.md +21 -0
  296. package/skills/context-map/SKILL.md +52 -0
  297. package/skills/context-map/SYNC.md +5 -0
  298. package/skills/conventional-commit/LICENSE.md +21 -0
  299. package/skills/conventional-commit/SKILL.md +72 -0
  300. package/skills/conventional-commit/SYNC.md +5 -0
  301. package/skills/convert-plaintext-to-md/LICENSE.md +21 -0
  302. package/skills/convert-plaintext-to-md/SKILL.md +362 -0
  303. package/skills/convert-plaintext-to-md/SYNC.md +5 -0
  304. package/skills/copilot-cli-quickstart/LICENSE.md +21 -0
  305. package/skills/copilot-cli-quickstart/SKILL.md +774 -0
  306. package/skills/copilot-cli-quickstart/SYNC.md +5 -0
  307. package/skills/copilot-instructions-blueprint-generator/LICENSE.md +21 -0
  308. package/skills/copilot-instructions-blueprint-generator/SKILL.md +294 -0
  309. package/skills/copilot-instructions-blueprint-generator/SYNC.md +5 -0
  310. package/skills/copilot-sdk/LICENSE.md +21 -0
  311. package/skills/copilot-sdk/SKILL.md +914 -0
  312. package/skills/copilot-sdk/SYNC.md +5 -0
  313. package/skills/copilot-spaces/LICENSE.md +21 -0
  314. package/skills/copilot-spaces/SKILL.md +205 -0
  315. package/skills/copilot-spaces/SYNC.md +5 -0
  316. package/skills/copilot-usage-metrics/LICENSE.md +21 -0
  317. package/skills/copilot-usage-metrics/SKILL.md +52 -0
  318. package/skills/copilot-usage-metrics/SYNC.md +5 -0
  319. package/skills/copilot-usage-metrics/get-enterprise-metrics.sh +22 -0
  320. package/skills/copilot-usage-metrics/get-enterprise-user-metrics.sh +22 -0
  321. package/skills/copilot-usage-metrics/get-org-metrics.sh +22 -0
  322. package/skills/copilot-usage-metrics/get-org-user-metrics.sh +22 -0
  323. package/skills/cosmosdb-datamodeling/LICENSE.md +21 -0
  324. package/skills/cosmosdb-datamodeling/SKILL.md +1045 -0
  325. package/skills/cosmosdb-datamodeling/SYNC.md +5 -0
  326. package/skills/create-agentsmd/LICENSE.md +21 -0
  327. package/skills/create-agentsmd/SKILL.md +249 -0
  328. package/skills/create-agentsmd/SYNC.md +5 -0
  329. package/skills/create-architectural-decision-record/LICENSE.md +21 -0
  330. package/skills/create-architectural-decision-record/SKILL.md +97 -0
  331. package/skills/create-architectural-decision-record/SYNC.md +5 -0
  332. package/skills/create-github-action-workflow-specification/LICENSE.md +21 -0
  333. package/skills/create-github-action-workflow-specification/SKILL.md +276 -0
  334. package/skills/create-github-action-workflow-specification/SYNC.md +5 -0
  335. package/skills/create-github-issue-feature-from-specification/LICENSE.md +21 -0
  336. package/skills/create-github-issue-feature-from-specification/SKILL.md +28 -0
  337. package/skills/create-github-issue-feature-from-specification/SYNC.md +5 -0
  338. package/skills/create-github-issues-feature-from-implementation-plan/LICENSE.md +21 -0
  339. package/skills/create-github-issues-feature-from-implementation-plan/SKILL.md +28 -0
  340. package/skills/create-github-issues-feature-from-implementation-plan/SYNC.md +5 -0
  341. package/skills/create-github-issues-for-unmet-specification-requirements/LICENSE.md +21 -0
  342. package/skills/create-github-issues-for-unmet-specification-requirements/SKILL.md +35 -0
  343. package/skills/create-github-issues-for-unmet-specification-requirements/SYNC.md +5 -0
  344. package/skills/create-github-pull-request-from-specification/LICENSE.md +21 -0
  345. package/skills/create-github-pull-request-from-specification/SKILL.md +24 -0
  346. package/skills/create-github-pull-request-from-specification/SYNC.md +5 -0
  347. package/skills/create-implementation-plan/LICENSE.md +21 -0
  348. package/skills/create-implementation-plan/SKILL.md +157 -0
  349. package/skills/create-implementation-plan/SYNC.md +5 -0
  350. package/skills/create-llms/LICENSE.md +21 -0
  351. package/skills/create-llms/SKILL.md +210 -0
  352. package/skills/create-llms/SYNC.md +5 -0
  353. package/skills/create-readme/LICENSE.md +21 -0
  354. package/skills/create-readme/SKILL.md +21 -0
  355. package/skills/create-readme/SYNC.md +5 -0
  356. package/skills/create-specification/LICENSE.md +21 -0
  357. package/skills/create-specification/SKILL.md +127 -0
  358. package/skills/create-specification/SYNC.md +5 -0
  359. package/skills/create-spring-boot-java-project/LICENSE.md +21 -0
  360. package/skills/create-spring-boot-java-project/SKILL.md +163 -0
  361. package/skills/create-spring-boot-java-project/SYNC.md +5 -0
  362. package/skills/create-spring-boot-kotlin-project/LICENSE.md +21 -0
  363. package/skills/create-spring-boot-kotlin-project/SKILL.md +147 -0
  364. package/skills/create-spring-boot-kotlin-project/SYNC.md +5 -0
  365. package/skills/create-technical-spike/LICENSE.md +21 -0
  366. package/skills/create-technical-spike/SKILL.md +230 -0
  367. package/skills/create-technical-spike/SYNC.md +5 -0
  368. package/skills/create-tldr-page/LICENSE.md +21 -0
  369. package/skills/create-tldr-page/SKILL.md +210 -0
  370. package/skills/create-tldr-page/SYNC.md +5 -0
  371. package/skills/creating-oracle-to-postgres-master-migration-plan/LICENSE.md +21 -0
  372. package/skills/creating-oracle-to-postgres-master-migration-plan/SKILL.md +83 -0
  373. package/skills/creating-oracle-to-postgres-master-migration-plan/SYNC.md +5 -0
  374. package/skills/creating-oracle-to-postgres-migration-bug-report/LICENSE.md +21 -0
  375. package/skills/creating-oracle-to-postgres-migration-bug-report/SKILL.md +43 -0
  376. package/skills/creating-oracle-to-postgres-migration-bug-report/SYNC.md +5 -0
  377. package/skills/creating-oracle-to-postgres-migration-bug-report/references/BUG-REPORT-TEMPLATE.md +79 -0
  378. package/skills/creating-oracle-to-postgres-migration-integration-tests/LICENSE.md +21 -0
  379. package/skills/creating-oracle-to-postgres-migration-integration-tests/SKILL.md +60 -0
  380. package/skills/creating-oracle-to-postgres-migration-integration-tests/SYNC.md +5 -0
  381. package/skills/csharp-async/LICENSE.md +21 -0
  382. package/skills/csharp-async/SKILL.md +49 -0
  383. package/skills/csharp-async/SYNC.md +5 -0
  384. package/skills/csharp-docs/LICENSE.md +21 -0
  385. package/skills/csharp-docs/SKILL.md +62 -0
  386. package/skills/csharp-docs/SYNC.md +5 -0
  387. package/skills/csharp-mcp-server-generator/LICENSE.md +21 -0
  388. package/skills/csharp-mcp-server-generator/SKILL.md +59 -0
  389. package/skills/csharp-mcp-server-generator/SYNC.md +5 -0
  390. package/skills/csharp-mstest/LICENSE.md +21 -0
  391. package/skills/csharp-mstest/SKILL.md +478 -0
  392. package/skills/csharp-mstest/SYNC.md +5 -0
  393. package/skills/csharp-nunit/LICENSE.md +21 -0
  394. package/skills/csharp-nunit/SKILL.md +71 -0
  395. package/skills/csharp-nunit/SYNC.md +5 -0
  396. package/skills/csharp-tunit/LICENSE.md +21 -0
  397. package/skills/csharp-tunit/SKILL.md +100 -0
  398. package/skills/csharp-tunit/SYNC.md +5 -0
  399. package/skills/csharp-xunit/LICENSE.md +21 -0
  400. package/skills/csharp-xunit/SKILL.md +68 -0
  401. package/skills/csharp-xunit/SYNC.md +5 -0
  402. package/skills/datanalysis-credit-risk/LICENSE.md +21 -0
  403. package/skills/datanalysis-credit-risk/SKILL.md +113 -0
  404. package/skills/datanalysis-credit-risk/SYNC.md +5 -0
  405. package/skills/datanalysis-credit-risk/references/analysis.py +1223 -0
  406. package/skills/datanalysis-credit-risk/references/func.py +228 -0
  407. package/skills/datanalysis-credit-risk/scripts/example.py +391 -0
  408. package/skills/dataverse-python-advanced-patterns/LICENSE.md +21 -0
  409. package/skills/dataverse-python-advanced-patterns/SKILL.md +17 -0
  410. package/skills/dataverse-python-advanced-patterns/SYNC.md +5 -0
  411. package/skills/dataverse-python-production-code/LICENSE.md +21 -0
  412. package/skills/dataverse-python-production-code/SKILL.md +116 -0
  413. package/skills/dataverse-python-production-code/SYNC.md +5 -0
  414. package/skills/dataverse-python-quickstart/LICENSE.md +21 -0
  415. package/skills/dataverse-python-quickstart/SKILL.md +14 -0
  416. package/skills/dataverse-python-quickstart/SYNC.md +5 -0
  417. package/skills/dataverse-python-usecase-builder/LICENSE.md +21 -0
  418. package/skills/dataverse-python-usecase-builder/SKILL.md +246 -0
  419. package/skills/dataverse-python-usecase-builder/SYNC.md +5 -0
  420. package/skills/debian-linux-triage/LICENSE.md +21 -0
  421. package/skills/debian-linux-triage/SKILL.md +31 -0
  422. package/skills/debian-linux-triage/SYNC.md +5 -0
  423. package/skills/declarative-agents/LICENSE.md +21 -0
  424. package/skills/declarative-agents/SKILL.md +94 -0
  425. package/skills/declarative-agents/SYNC.md +5 -0
  426. package/skills/dependabot/LICENSE.md +21 -0
  427. package/skills/dependabot/SKILL.md +422 -0
  428. package/skills/dependabot/SYNC.md +5 -0
  429. package/skills/dependabot/references/dependabot-yml-reference.md +374 -0
  430. package/skills/dependabot/references/example-configs.md +409 -0
  431. package/skills/dependabot/references/pr-commands.md +91 -0
  432. package/skills/devops-rollout-plan/LICENSE.md +21 -0
  433. package/skills/devops-rollout-plan/SKILL.md +117 -0
  434. package/skills/devops-rollout-plan/SYNC.md +5 -0
  435. package/skills/doc-coauthoring/SKILL.md +375 -0
  436. package/skills/doc-coauthoring/SYNC.md +5 -0
  437. package/skills/documentation-writer/LICENSE.md +21 -0
  438. package/skills/documentation-writer/SKILL.md +45 -0
  439. package/skills/documentation-writer/SYNC.md +5 -0
  440. package/skills/docx/LICENSE.txt +30 -0
  441. package/skills/docx/SKILL.md +590 -0
  442. package/skills/docx/SYNC.md +5 -0
  443. package/skills/docx/scripts/__init__.py +1 -0
  444. package/skills/docx/scripts/accept_changes.py +135 -0
  445. package/skills/docx/scripts/comment.py +318 -0
  446. package/skills/docx/scripts/office/helpers/__init__.py +0 -0
  447. package/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
  448. package/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  449. package/skills/docx/scripts/office/pack.py +159 -0
  450. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  451. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  452. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  453. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  454. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  455. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  456. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  457. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  458. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  459. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  460. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  461. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  462. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  463. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  464. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  465. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  466. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  467. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  468. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  469. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  470. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  471. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  472. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  473. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  474. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  475. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  476. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  477. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  478. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  479. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  480. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  481. package/skills/docx/scripts/office/schemas/mce/mc.xsd +75 -0
  482. package/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  483. package/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  484. package/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  485. package/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  486. package/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  487. package/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  488. package/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  489. package/skills/docx/scripts/office/soffice.py +183 -0
  490. package/skills/docx/scripts/office/unpack.py +132 -0
  491. package/skills/docx/scripts/office/validate.py +111 -0
  492. package/skills/docx/scripts/office/validators/__init__.py +15 -0
  493. package/skills/docx/scripts/office/validators/base.py +847 -0
  494. package/skills/docx/scripts/office/validators/docx.py +446 -0
  495. package/skills/docx/scripts/office/validators/pptx.py +275 -0
  496. package/skills/docx/scripts/office/validators/redlining.py +247 -0
  497. package/skills/docx/scripts/templates/comments.xml +3 -0
  498. package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  499. package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  500. package/skills/docx/scripts/templates/commentsIds.xml +3 -0
  501. package/skills/docx/scripts/templates/people.xml +3 -0
  502. package/skills/dotnet-best-practices/LICENSE.md +21 -0
  503. package/skills/dotnet-best-practices/SKILL.md +85 -0
  504. package/skills/dotnet-best-practices/SYNC.md +5 -0
  505. package/skills/dotnet-design-pattern-review/LICENSE.md +21 -0
  506. package/skills/dotnet-design-pattern-review/SKILL.md +42 -0
  507. package/skills/dotnet-design-pattern-review/SYNC.md +5 -0
  508. package/skills/dotnet-timezone/LICENSE.md +21 -0
  509. package/skills/dotnet-timezone/SKILL.md +109 -0
  510. package/skills/dotnet-timezone/SYNC.md +5 -0
  511. package/skills/dotnet-timezone/references/code-patterns.md +153 -0
  512. package/skills/dotnet-timezone/references/timezone-index.md +87 -0
  513. package/skills/dotnet-upgrade/LICENSE.md +21 -0
  514. package/skills/dotnet-upgrade/SKILL.md +116 -0
  515. package/skills/dotnet-upgrade/SYNC.md +5 -0
  516. package/skills/doublecheck/LICENSE.md +21 -0
  517. package/skills/doublecheck/SKILL.md +277 -0
  518. package/skills/doublecheck/SYNC.md +5 -0
  519. package/skills/doublecheck/assets/verification-report-template.md +92 -0
  520. package/skills/editorconfig/LICENSE.md +21 -0
  521. package/skills/editorconfig/SKILL.md +63 -0
  522. package/skills/editorconfig/SYNC.md +5 -0
  523. package/skills/ef-core/LICENSE.md +21 -0
  524. package/skills/ef-core/SKILL.md +75 -0
  525. package/skills/ef-core/SYNC.md +5 -0
  526. package/skills/entra-agent-user/LICENSE.md +21 -0
  527. package/skills/entra-agent-user/SKILL.md +270 -0
  528. package/skills/entra-agent-user/SYNC.md +5 -0
  529. package/skills/eval-driven-dev/LICENSE.md +21 -0
  530. package/skills/eval-driven-dev/SKILL.md +862 -0
  531. package/skills/eval-driven-dev/SYNC.md +5 -0
  532. package/skills/eval-driven-dev/references/pixie-api.md +195 -0
  533. package/skills/excalidraw-diagram-generator/LICENSE.md +21 -0
  534. package/skills/excalidraw-diagram-generator/SKILL.md +613 -0
  535. package/skills/excalidraw-diagram-generator/SYNC.md +5 -0
  536. package/skills/excalidraw-diagram-generator/references/element-types.md +497 -0
  537. package/skills/excalidraw-diagram-generator/references/excalidraw-schema.md +350 -0
  538. package/skills/excalidraw-diagram-generator/scripts/README.md +193 -0
  539. package/skills/excalidraw-diagram-generator/scripts/add-arrow.py +312 -0
  540. package/skills/excalidraw-diagram-generator/scripts/add-icon-to-diagram.py +404 -0
  541. package/skills/excalidraw-diagram-generator/scripts/split-excalidraw-library.py +183 -0
  542. package/skills/excalidraw-diagram-generator/templates/business-flow-swimlane-template.excalidraw +334 -0
  543. package/skills/excalidraw-diagram-generator/templates/class-diagram-template.excalidraw +558 -0
  544. package/skills/excalidraw-diagram-generator/templates/data-flow-diagram-template.excalidraw +279 -0
  545. package/skills/excalidraw-diagram-generator/templates/er-diagram-template.excalidraw +662 -0
  546. package/skills/excalidraw-diagram-generator/templates/flowchart-template.excalidraw +179 -0
  547. package/skills/excalidraw-diagram-generator/templates/mindmap-template.excalidraw +244 -0
  548. package/skills/excalidraw-diagram-generator/templates/relationship-template.excalidraw +145 -0
  549. package/skills/excalidraw-diagram-generator/templates/sequence-diagram-template.excalidraw +509 -0
  550. package/skills/fabric-lakehouse/LICENSE.md +21 -0
  551. package/skills/fabric-lakehouse/SKILL.md +106 -0
  552. package/skills/fabric-lakehouse/SYNC.md +5 -0
  553. package/skills/fabric-lakehouse/references/getdata.md +36 -0
  554. package/skills/fabric-lakehouse/references/pyspark.md +189 -0
  555. package/skills/fedora-linux-triage/LICENSE.md +21 -0
  556. package/skills/fedora-linux-triage/SKILL.md +31 -0
  557. package/skills/fedora-linux-triage/SYNC.md +5 -0
  558. package/skills/finalize-agent-prompt/LICENSE.md +21 -0
  559. package/skills/finalize-agent-prompt/SKILL.md +26 -0
  560. package/skills/finalize-agent-prompt/SYNC.md +5 -0
  561. package/skills/finnish-humanizer/LICENSE.md +21 -0
  562. package/skills/finnish-humanizer/SKILL.md +145 -0
  563. package/skills/finnish-humanizer/SYNC.md +5 -0
  564. package/skills/finnish-humanizer/references/patterns.md +338 -0
  565. package/skills/first-ask/LICENSE.md +21 -0
  566. package/skills/first-ask/SKILL.md +30 -0
  567. package/skills/first-ask/SYNC.md +5 -0
  568. package/skills/flowstudio-power-automate-build/LICENSE.md +21 -0
  569. package/skills/flowstudio-power-automate-build/SKILL.md +460 -0
  570. package/skills/flowstudio-power-automate-build/SYNC.md +5 -0
  571. package/skills/flowstudio-power-automate-build/references/action-patterns-connectors.md +542 -0
  572. package/skills/flowstudio-power-automate-build/references/action-patterns-core.md +542 -0
  573. package/skills/flowstudio-power-automate-build/references/action-patterns-data.md +735 -0
  574. package/skills/flowstudio-power-automate-build/references/build-patterns.md +108 -0
  575. package/skills/flowstudio-power-automate-build/references/flow-schema.md +225 -0
  576. package/skills/flowstudio-power-automate-build/references/trigger-types.md +211 -0
  577. package/skills/flowstudio-power-automate-debug/LICENSE.md +21 -0
  578. package/skills/flowstudio-power-automate-debug/SKILL.md +322 -0
  579. package/skills/flowstudio-power-automate-debug/SYNC.md +5 -0
  580. package/skills/flowstudio-power-automate-debug/references/common-errors.md +188 -0
  581. package/skills/flowstudio-power-automate-debug/references/debug-workflow.md +157 -0
  582. package/skills/flowstudio-power-automate-mcp/LICENSE.md +21 -0
  583. package/skills/flowstudio-power-automate-mcp/SKILL.md +450 -0
  584. package/skills/flowstudio-power-automate-mcp/SYNC.md +5 -0
  585. package/skills/flowstudio-power-automate-mcp/references/MCP-BOOTSTRAP.md +53 -0
  586. package/skills/flowstudio-power-automate-mcp/references/action-types.md +79 -0
  587. package/skills/flowstudio-power-automate-mcp/references/connection-references.md +115 -0
  588. package/skills/flowstudio-power-automate-mcp/references/tool-reference.md +445 -0
  589. package/skills/fluentui-blazor/LICENSE.md +21 -0
  590. package/skills/fluentui-blazor/SKILL.md +231 -0
  591. package/skills/fluentui-blazor/SYNC.md +5 -0
  592. package/skills/fluentui-blazor/references/DATAGRID.md +162 -0
  593. package/skills/fluentui-blazor/references/LAYOUT-AND-NAVIGATION.md +173 -0
  594. package/skills/fluentui-blazor/references/SETUP.md +129 -0
  595. package/skills/fluentui-blazor/references/THEMING.md +103 -0
  596. package/skills/folder-structure-blueprint-generator/LICENSE.md +21 -0
  597. package/skills/folder-structure-blueprint-generator/SKILL.md +405 -0
  598. package/skills/folder-structure-blueprint-generator/SYNC.md +5 -0
  599. package/skills/frontend-design/LICENSE.txt +177 -0
  600. package/skills/frontend-design/SKILL.md +42 -0
  601. package/skills/frontend-design/SYNC.md +5 -0
  602. package/skills/game-engine/LICENSE.md +21 -0
  603. package/skills/game-engine/SKILL.md +139 -0
  604. package/skills/game-engine/SYNC.md +5 -0
  605. package/skills/game-engine/assets/2d-maze-game.md +528 -0
  606. package/skills/game-engine/assets/2d-platform-game.md +1855 -0
  607. package/skills/game-engine/assets/gameBase-template-repo.md +310 -0
  608. package/skills/game-engine/assets/paddle-game-template.md +1528 -0
  609. package/skills/game-engine/assets/simple-2d-engine.md +507 -0
  610. package/skills/game-engine/references/3d-web-games.md +754 -0
  611. package/skills/game-engine/references/algorithms.md +843 -0
  612. package/skills/game-engine/references/basics.md +343 -0
  613. package/skills/game-engine/references/game-control-mechanisms.md +617 -0
  614. package/skills/game-engine/references/game-engine-core-principles.md +695 -0
  615. package/skills/game-engine/references/game-publishing.md +352 -0
  616. package/skills/game-engine/references/techniques.md +894 -0
  617. package/skills/game-engine/references/terminology.md +354 -0
  618. package/skills/game-engine/references/web-apis.md +1394 -0
  619. package/skills/gen-specs-as-issues/LICENSE.md +21 -0
  620. package/skills/gen-specs-as-issues/SKILL.md +165 -0
  621. package/skills/gen-specs-as-issues/SYNC.md +5 -0
  622. package/skills/generate-custom-instructions-from-codebase/LICENSE.md +21 -0
  623. package/skills/generate-custom-instructions-from-codebase/SKILL.md +240 -0
  624. package/skills/generate-custom-instructions-from-codebase/SYNC.md +5 -0
  625. package/skills/geofeed-tuner/LICENSE.md +21 -0
  626. package/skills/geofeed-tuner/SKILL.md +864 -0
  627. package/skills/geofeed-tuner/SYNC.md +5 -0
  628. package/skills/geofeed-tuner/assets/example/01-user-input-rfc8805-feed.csv +5 -0
  629. package/skills/geofeed-tuner/assets/iso3166-1.json +1249 -0
  630. package/skills/geofeed-tuner/assets/iso3166-2.json +20188 -0
  631. package/skills/geofeed-tuner/assets/small-territories.json +106 -0
  632. package/skills/geofeed-tuner/references/rfc8805.txt +735 -0
  633. package/skills/geofeed-tuner/references/snippets-python3.md +85 -0
  634. package/skills/geofeed-tuner/scripts/templates/index.html +2305 -0
  635. package/skills/gh-cli/LICENSE.md +21 -0
  636. package/skills/gh-cli/SKILL.md +2187 -0
  637. package/skills/gh-cli/SYNC.md +5 -0
  638. package/skills/git-commit/LICENSE.md +21 -0
  639. package/skills/git-commit/SKILL.md +124 -0
  640. package/skills/git-commit/SYNC.md +5 -0
  641. package/skills/git-flow-branch-creator/LICENSE.md +21 -0
  642. package/skills/git-flow-branch-creator/SKILL.md +292 -0
  643. package/skills/git-flow-branch-creator/SYNC.md +5 -0
  644. package/skills/github-copilot-starter/LICENSE.md +21 -0
  645. package/skills/github-copilot-starter/SKILL.md +402 -0
  646. package/skills/github-copilot-starter/SYNC.md +5 -0
  647. package/skills/github-issues/LICENSE.md +21 -0
  648. package/skills/github-issues/SKILL.md +201 -0
  649. package/skills/github-issues/SYNC.md +5 -0
  650. package/skills/github-issues/references/dependencies.md +71 -0
  651. package/skills/github-issues/references/images.md +116 -0
  652. package/skills/github-issues/references/issue-fields.md +191 -0
  653. package/skills/github-issues/references/issue-types.md +72 -0
  654. package/skills/github-issues/references/projects.md +273 -0
  655. package/skills/github-issues/references/search.md +231 -0
  656. package/skills/github-issues/references/sub-issues.md +137 -0
  657. package/skills/github-issues/references/templates.md +90 -0
  658. package/skills/go-mcp-server-generator/LICENSE.md +21 -0
  659. package/skills/go-mcp-server-generator/SKILL.md +334 -0
  660. package/skills/go-mcp-server-generator/SYNC.md +5 -0
  661. package/skills/gtm-0-to-1-launch/LICENSE.md +21 -0
  662. package/skills/gtm-0-to-1-launch/SKILL.md +321 -0
  663. package/skills/gtm-0-to-1-launch/SYNC.md +5 -0
  664. package/skills/gtm-ai-gtm/LICENSE.md +21 -0
  665. package/skills/gtm-ai-gtm/SKILL.md +569 -0
  666. package/skills/gtm-ai-gtm/SYNC.md +5 -0
  667. package/skills/gtm-board-and-investor-communication/LICENSE.md +21 -0
  668. package/skills/gtm-board-and-investor-communication/SKILL.md +456 -0
  669. package/skills/gtm-board-and-investor-communication/SYNC.md +5 -0
  670. package/skills/gtm-developer-ecosystem/LICENSE.md +21 -0
  671. package/skills/gtm-developer-ecosystem/SKILL.md +310 -0
  672. package/skills/gtm-developer-ecosystem/SYNC.md +5 -0
  673. package/skills/gtm-enterprise-account-planning/LICENSE.md +21 -0
  674. package/skills/gtm-enterprise-account-planning/SKILL.md +429 -0
  675. package/skills/gtm-enterprise-account-planning/SYNC.md +5 -0
  676. package/skills/gtm-enterprise-onboarding/LICENSE.md +21 -0
  677. package/skills/gtm-enterprise-onboarding/SKILL.md +457 -0
  678. package/skills/gtm-enterprise-onboarding/SYNC.md +5 -0
  679. package/skills/gtm-operating-cadence/LICENSE.md +21 -0
  680. package/skills/gtm-operating-cadence/SKILL.md +420 -0
  681. package/skills/gtm-operating-cadence/SYNC.md +5 -0
  682. package/skills/gtm-partnership-architecture/LICENSE.md +21 -0
  683. package/skills/gtm-partnership-architecture/SKILL.md +470 -0
  684. package/skills/gtm-partnership-architecture/SYNC.md +5 -0
  685. package/skills/gtm-positioning-strategy/LICENSE.md +21 -0
  686. package/skills/gtm-positioning-strategy/SKILL.md +438 -0
  687. package/skills/gtm-positioning-strategy/SYNC.md +5 -0
  688. package/skills/gtm-product-led-growth/LICENSE.md +21 -0
  689. package/skills/gtm-product-led-growth/SKILL.md +339 -0
  690. package/skills/gtm-product-led-growth/SYNC.md +5 -0
  691. package/skills/gtm-technical-product-pricing/LICENSE.md +21 -0
  692. package/skills/gtm-technical-product-pricing/SKILL.md +353 -0
  693. package/skills/gtm-technical-product-pricing/SYNC.md +5 -0
  694. package/skills/image-manipulation-image-magick/LICENSE.md +21 -0
  695. package/skills/image-manipulation-image-magick/SKILL.md +252 -0
  696. package/skills/image-manipulation-image-magick/SYNC.md +5 -0
  697. package/skills/import-infrastructure-as-code/LICENSE.md +21 -0
  698. package/skills/import-infrastructure-as-code/SKILL.md +367 -0
  699. package/skills/import-infrastructure-as-code/SYNC.md +5 -0
  700. package/skills/internal-comms/LICENSE.txt +202 -0
  701. package/skills/internal-comms/SKILL.md +32 -0
  702. package/skills/internal-comms/SYNC.md +5 -0
  703. package/skills/internal-comms/examples/3p-updates.md +47 -0
  704. package/skills/internal-comms/examples/company-newsletter.md +65 -0
  705. package/skills/internal-comms/examples/faq-answers.md +30 -0
  706. package/skills/internal-comms/examples/general-comms.md +16 -0
  707. package/skills/issue-fields-migration/LICENSE.md +21 -0
  708. package/skills/issue-fields-migration/SKILL.md +533 -0
  709. package/skills/issue-fields-migration/SYNC.md +5 -0
  710. package/skills/issue-fields-migration/references/issue-fields-api.md +129 -0
  711. package/skills/issue-fields-migration/references/labels-api.md +74 -0
  712. package/skills/issue-fields-migration/references/projects-api.md +116 -0
  713. package/skills/java-add-graalvm-native-image-support/LICENSE.md +21 -0
  714. package/skills/java-add-graalvm-native-image-support/SKILL.md +449 -0
  715. package/skills/java-add-graalvm-native-image-support/SYNC.md +5 -0
  716. package/skills/java-docs/LICENSE.md +21 -0
  717. package/skills/java-docs/SKILL.md +23 -0
  718. package/skills/java-docs/SYNC.md +5 -0
  719. package/skills/java-junit/LICENSE.md +21 -0
  720. package/skills/java-junit/SKILL.md +63 -0
  721. package/skills/java-junit/SYNC.md +5 -0
  722. package/skills/java-mcp-server-generator/LICENSE.md +21 -0
  723. package/skills/java-mcp-server-generator/SKILL.md +756 -0
  724. package/skills/java-mcp-server-generator/SYNC.md +5 -0
  725. package/skills/java-refactoring-extract-method/LICENSE.md +21 -0
  726. package/skills/java-refactoring-extract-method/SKILL.md +104 -0
  727. package/skills/java-refactoring-extract-method/SYNC.md +5 -0
  728. package/skills/java-refactoring-remove-parameter/LICENSE.md +21 -0
  729. package/skills/java-refactoring-remove-parameter/SKILL.md +84 -0
  730. package/skills/java-refactoring-remove-parameter/SYNC.md +5 -0
  731. package/skills/java-springboot/LICENSE.md +21 -0
  732. package/skills/java-springboot/SKILL.md +65 -0
  733. package/skills/java-springboot/SYNC.md +5 -0
  734. package/skills/javascript-typescript-jest/LICENSE.md +21 -0
  735. package/skills/javascript-typescript-jest/SKILL.md +44 -0
  736. package/skills/javascript-typescript-jest/SYNC.md +5 -0
  737. package/skills/kotlin-mcp-server-generator/LICENSE.md +21 -0
  738. package/skills/kotlin-mcp-server-generator/SKILL.md +449 -0
  739. package/skills/kotlin-mcp-server-generator/SYNC.md +5 -0
  740. package/skills/kotlin-springboot/LICENSE.md +21 -0
  741. package/skills/kotlin-springboot/SKILL.md +70 -0
  742. package/skills/kotlin-springboot/SYNC.md +5 -0
  743. package/skills/legacy-circuit-mockups/LICENSE.md +21 -0
  744. package/skills/legacy-circuit-mockups/SKILL.md +276 -0
  745. package/skills/legacy-circuit-mockups/SYNC.md +5 -0
  746. package/skills/legacy-circuit-mockups/references/28256-eeprom.md +190 -0
  747. package/skills/legacy-circuit-mockups/references/555.md +861 -0
  748. package/skills/legacy-circuit-mockups/references/6502.md +221 -0
  749. package/skills/legacy-circuit-mockups/references/6522.md +211 -0
  750. package/skills/legacy-circuit-mockups/references/6C62256.md +177 -0
  751. package/skills/legacy-circuit-mockups/references/7400-series.md +177 -0
  752. package/skills/legacy-circuit-mockups/references/assembly-compiler.md +258 -0
  753. package/skills/legacy-circuit-mockups/references/assembly-language.md +226 -0
  754. package/skills/legacy-circuit-mockups/references/basic-electronic-components.md +86 -0
  755. package/skills/legacy-circuit-mockups/references/breadboard.md +214 -0
  756. package/skills/legacy-circuit-mockups/references/common-breadboard-components.md +281 -0
  757. package/skills/legacy-circuit-mockups/references/connecting-electronic-components.md +310 -0
  758. package/skills/legacy-circuit-mockups/references/emulator-28256-eeprom.md +245 -0
  759. package/skills/legacy-circuit-mockups/references/emulator-6502.md +251 -0
  760. package/skills/legacy-circuit-mockups/references/emulator-6522.md +288 -0
  761. package/skills/legacy-circuit-mockups/references/emulator-6C62256.md +233 -0
  762. package/skills/legacy-circuit-mockups/references/emulator-lcd.md +266 -0
  763. package/skills/legacy-circuit-mockups/references/lcd.md +208 -0
  764. package/skills/legacy-circuit-mockups/references/minipro.md +211 -0
  765. package/skills/legacy-circuit-mockups/references/t48eeprom-programmer.md +174 -0
  766. package/skills/make-repo-contribution/LICENSE.md +21 -0
  767. package/skills/make-repo-contribution/SKILL.md +90 -0
  768. package/skills/make-repo-contribution/SYNC.md +5 -0
  769. package/skills/make-repo-contribution/assets/issue-template.md +37 -0
  770. package/skills/make-repo-contribution/assets/pr-template.md +36 -0
  771. package/skills/make-skill-template/LICENSE.md +21 -0
  772. package/skills/make-skill-template/SKILL.md +147 -0
  773. package/skills/make-skill-template/SYNC.md +5 -0
  774. package/skills/markdown-to-html/LICENSE.md +21 -0
  775. package/skills/markdown-to-html/SKILL.md +916 -0
  776. package/skills/markdown-to-html/SYNC.md +5 -0
  777. package/skills/markdown-to-html/references/basic-markdown-to-html.md +420 -0
  778. package/skills/markdown-to-html/references/basic-markdown.md +496 -0
  779. package/skills/markdown-to-html/references/code-blocks-to-html.md +165 -0
  780. package/skills/markdown-to-html/references/code-blocks.md +70 -0
  781. package/skills/markdown-to-html/references/collapsed-sections-to-html.md +136 -0
  782. package/skills/markdown-to-html/references/collapsed-sections.md +48 -0
  783. package/skills/markdown-to-html/references/gomarkdown.md +253 -0
  784. package/skills/markdown-to-html/references/hugo.md +394 -0
  785. package/skills/markdown-to-html/references/jekyll.md +321 -0
  786. package/skills/markdown-to-html/references/marked.md +121 -0
  787. package/skills/markdown-to-html/references/pandoc.md +226 -0
  788. package/skills/markdown-to-html/references/tables-to-html.md +169 -0
  789. package/skills/markdown-to-html/references/tables.md +72 -0
  790. package/skills/markdown-to-html/references/writing-mathematical-expressions-to-html.md +350 -0
  791. package/skills/markdown-to-html/references/writing-mathematical-expressions.md +76 -0
  792. package/skills/mcp-builder/LICENSE.txt +202 -0
  793. package/skills/mcp-builder/SKILL.md +236 -0
  794. package/skills/mcp-builder/SYNC.md +5 -0
  795. package/skills/mcp-builder/reference/evaluation.md +602 -0
  796. package/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  797. package/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  798. package/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  799. package/skills/mcp-builder/scripts/connections.py +151 -0
  800. package/skills/mcp-builder/scripts/evaluation.py +373 -0
  801. package/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  802. package/skills/mcp-builder/scripts/requirements.txt +2 -0
  803. package/skills/mcp-cli/LICENSE.md +21 -0
  804. package/skills/mcp-cli/SKILL.md +78 -0
  805. package/skills/mcp-cli/SYNC.md +5 -0
  806. package/skills/mcp-copilot-studio-server-generator/LICENSE.md +21 -0
  807. package/skills/mcp-copilot-studio-server-generator/SKILL.md +118 -0
  808. package/skills/mcp-copilot-studio-server-generator/SYNC.md +5 -0
  809. package/skills/mcp-create-adaptive-cards/LICENSE.md +21 -0
  810. package/skills/mcp-create-adaptive-cards/SKILL.md +532 -0
  811. package/skills/mcp-create-adaptive-cards/SYNC.md +5 -0
  812. package/skills/mcp-create-declarative-agent/LICENSE.md +21 -0
  813. package/skills/mcp-create-declarative-agent/SKILL.md +315 -0
  814. package/skills/mcp-create-declarative-agent/SYNC.md +5 -0
  815. package/skills/mcp-deploy-manage-agents/LICENSE.md +21 -0
  816. package/skills/mcp-deploy-manage-agents/SKILL.md +341 -0
  817. package/skills/mcp-deploy-manage-agents/SYNC.md +5 -0
  818. package/skills/meeting-minutes/LICENSE.md +21 -0
  819. package/skills/meeting-minutes/SKILL.md +235 -0
  820. package/skills/meeting-minutes/SYNC.md +5 -0
  821. package/skills/memory-merger/LICENSE.md +21 -0
  822. package/skills/memory-merger/SKILL.md +108 -0
  823. package/skills/memory-merger/SYNC.md +5 -0
  824. package/skills/mentoring-juniors/LICENSE.md +21 -0
  825. package/skills/mentoring-juniors/SKILL.md +310 -0
  826. package/skills/mentoring-juniors/SYNC.md +5 -0
  827. package/skills/microsoft-agent-framework/LICENSE.md +21 -0
  828. package/skills/microsoft-agent-framework/SKILL.md +65 -0
  829. package/skills/microsoft-agent-framework/SYNC.md +5 -0
  830. package/skills/microsoft-agent-framework/references/dotnet.md +24 -0
  831. package/skills/microsoft-agent-framework/references/python.md +24 -0
  832. package/skills/microsoft-code-reference/LICENSE.md +21 -0
  833. package/skills/microsoft-code-reference/SKILL.md +99 -0
  834. package/skills/microsoft-code-reference/SYNC.md +5 -0
  835. package/skills/microsoft-docs/LICENSE.md +21 -0
  836. package/skills/microsoft-docs/SKILL.md +134 -0
  837. package/skills/microsoft-docs/SYNC.md +5 -0
  838. package/skills/microsoft-skill-creator/LICENSE.md +21 -0
  839. package/skills/microsoft-skill-creator/SKILL.md +250 -0
  840. package/skills/microsoft-skill-creator/SYNC.md +5 -0
  841. package/skills/microsoft-skill-creator/references/skill-templates.md +345 -0
  842. package/skills/migrating-oracle-to-postgres-stored-procedures/LICENSE.md +21 -0
  843. package/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.md +42 -0
  844. package/skills/migrating-oracle-to-postgres-stored-procedures/SYNC.md +5 -0
  845. package/skills/mkdocs-translations/LICENSE.md +21 -0
  846. package/skills/mkdocs-translations/SKILL.md +108 -0
  847. package/skills/mkdocs-translations/SYNC.md +5 -0
  848. package/skills/model-recommendation/LICENSE.md +21 -0
  849. package/skills/model-recommendation/SKILL.md +672 -0
  850. package/skills/model-recommendation/SYNC.md +5 -0
  851. package/skills/msstore-cli/LICENSE.md +21 -0
  852. package/skills/msstore-cli/SKILL.md +600 -0
  853. package/skills/msstore-cli/SYNC.md +5 -0
  854. package/skills/multi-stage-dockerfile/LICENSE.md +21 -0
  855. package/skills/multi-stage-dockerfile/SKILL.md +46 -0
  856. package/skills/multi-stage-dockerfile/SYNC.md +5 -0
  857. package/skills/my-issues/LICENSE.md +21 -0
  858. package/skills/my-issues/SKILL.md +8 -0
  859. package/skills/my-issues/SYNC.md +5 -0
  860. package/skills/my-pull-requests/LICENSE.md +21 -0
  861. package/skills/my-pull-requests/SKILL.md +14 -0
  862. package/skills/my-pull-requests/SYNC.md +5 -0
  863. package/skills/nano-banana-pro-openrouter/LICENSE.md +21 -0
  864. package/skills/nano-banana-pro-openrouter/SKILL.md +74 -0
  865. package/skills/nano-banana-pro-openrouter/SYNC.md +5 -0
  866. package/skills/nano-banana-pro-openrouter/assets/SYSTEM_TEMPLATE +14 -0
  867. package/skills/nano-banana-pro-openrouter/scripts/generate_image.py +191 -0
  868. package/skills/napkin/LICENSE.md +21 -0
  869. package/skills/napkin/SKILL.md +154 -0
  870. package/skills/napkin/SYNC.md +5 -0
  871. package/skills/napkin/assets/napkin.html +2019 -0
  872. package/skills/napkin/assets/step1-activate.svg +107 -0
  873. package/skills/napkin/assets/step2-whiteboard.svg +157 -0
  874. package/skills/napkin/assets/step3-draw.svg +143 -0
  875. package/skills/napkin/assets/step4-share.svg +98 -0
  876. package/skills/napkin/assets/step5-response.svg +112 -0
  877. package/skills/next-best-practices/SKILL.md +153 -0
  878. package/skills/next-best-practices/SYNC.md +5 -0
  879. package/skills/next-best-practices/async-patterns.md +87 -0
  880. package/skills/next-best-practices/bundling.md +180 -0
  881. package/skills/next-best-practices/data-patterns.md +297 -0
  882. package/skills/next-best-practices/debug-tricks.md +105 -0
  883. package/skills/next-best-practices/directives.md +73 -0
  884. package/skills/next-best-practices/error-handling.md +227 -0
  885. package/skills/next-best-practices/file-conventions.md +140 -0
  886. package/skills/next-best-practices/font.md +245 -0
  887. package/skills/next-best-practices/functions.md +108 -0
  888. package/skills/next-best-practices/hydration-error.md +91 -0
  889. package/skills/next-best-practices/image.md +173 -0
  890. package/skills/next-best-practices/metadata.md +301 -0
  891. package/skills/next-best-practices/parallel-routes.md +287 -0
  892. package/skills/next-best-practices/route-handlers.md +146 -0
  893. package/skills/next-best-practices/rsc-boundaries.md +159 -0
  894. package/skills/next-best-practices/runtime-selection.md +39 -0
  895. package/skills/next-best-practices/scripts.md +141 -0
  896. package/skills/next-best-practices/self-hosting.md +371 -0
  897. package/skills/next-best-practices/suspense-boundaries.md +67 -0
  898. package/skills/next-cache-components/SKILL.md +411 -0
  899. package/skills/next-cache-components/SYNC.md +5 -0
  900. package/skills/next-intl-add-language/LICENSE.md +21 -0
  901. package/skills/next-intl-add-language/SKILL.md +19 -0
  902. package/skills/next-intl-add-language/SYNC.md +5 -0
  903. package/skills/next-upgrade/SKILL.md +50 -0
  904. package/skills/next-upgrade/SYNC.md +5 -0
  905. package/skills/noob-mode/LICENSE.md +21 -0
  906. package/skills/noob-mode/SKILL.md +263 -0
  907. package/skills/noob-mode/SYNC.md +5 -0
  908. package/skills/noob-mode/references/examples.md +418 -0
  909. package/skills/noob-mode/references/glossary.md +368 -0
  910. package/skills/nuget-manager/LICENSE.md +21 -0
  911. package/skills/nuget-manager/SKILL.md +68 -0
  912. package/skills/nuget-manager/SYNC.md +5 -0
  913. package/skills/oo-component-documentation/LICENSE.md +21 -0
  914. package/skills/oo-component-documentation/SKILL.md +74 -0
  915. package/skills/oo-component-documentation/SYNC.md +5 -0
  916. package/skills/oo-component-documentation/assets/documentation-template.md +97 -0
  917. package/skills/oo-component-documentation/references/create-mode.md +32 -0
  918. package/skills/oo-component-documentation/references/update-mode.md +32 -0
  919. package/skills/openapi-to-application-code/LICENSE.md +21 -0
  920. package/skills/openapi-to-application-code/SKILL.md +112 -0
  921. package/skills/openapi-to-application-code/SYNC.md +5 -0
  922. package/skills/pdf/LICENSE.txt +30 -0
  923. package/skills/pdf/SKILL.md +314 -0
  924. package/skills/pdf/SYNC.md +5 -0
  925. package/skills/pdf/forms.md +294 -0
  926. package/skills/pdf/reference.md +612 -0
  927. package/skills/pdf/scripts/check_bounding_boxes.py +65 -0
  928. package/skills/pdf/scripts/check_fillable_fields.py +11 -0
  929. package/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
  930. package/skills/pdf/scripts/create_validation_image.py +37 -0
  931. package/skills/pdf/scripts/extract_form_field_info.py +122 -0
  932. package/skills/pdf/scripts/extract_form_structure.py +115 -0
  933. package/skills/pdf/scripts/fill_fillable_fields.py +98 -0
  934. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  935. package/skills/pdftk-server/LICENSE.md +21 -0
  936. package/skills/pdftk-server/SKILL.md +162 -0
  937. package/skills/pdftk-server/SYNC.md +5 -0
  938. package/skills/pdftk-server/references/download.md +75 -0
  939. package/skills/pdftk-server/references/pdftk-cli-examples.md +193 -0
  940. package/skills/pdftk-server/references/pdftk-man-page.md +232 -0
  941. package/skills/pdftk-server/references/pdftk-server-license.md +25 -0
  942. package/skills/pdftk-server/references/third-party-materials.md +103 -0
  943. package/skills/penpot-uiux-design/LICENSE.md +21 -0
  944. package/skills/penpot-uiux-design/SKILL.md +342 -0
  945. package/skills/penpot-uiux-design/SYNC.md +5 -0
  946. package/skills/penpot-uiux-design/references/accessibility.md +329 -0
  947. package/skills/penpot-uiux-design/references/component-patterns.md +339 -0
  948. package/skills/penpot-uiux-design/references/platform-guidelines.md +367 -0
  949. package/skills/penpot-uiux-design/references/setup-troubleshooting.md +328 -0
  950. package/skills/php-mcp-server-generator/LICENSE.md +21 -0
  951. package/skills/php-mcp-server-generator/SKILL.md +522 -0
  952. package/skills/php-mcp-server-generator/SYNC.md +5 -0
  953. package/skills/planning-oracle-to-postgres-migration-integration-testing/LICENSE.md +21 -0
  954. package/skills/planning-oracle-to-postgres-migration-integration-testing/SKILL.md +44 -0
  955. package/skills/planning-oracle-to-postgres-migration-integration-testing/SYNC.md +5 -0
  956. package/skills/plantuml-ascii/LICENSE.md +21 -0
  957. package/skills/plantuml-ascii/SKILL.md +305 -0
  958. package/skills/plantuml-ascii/SYNC.md +5 -0
  959. package/skills/playwright-automation-fill-in-form/LICENSE.md +21 -0
  960. package/skills/playwright-automation-fill-in-form/SKILL.md +28 -0
  961. package/skills/playwright-automation-fill-in-form/SYNC.md +5 -0
  962. package/skills/playwright-explore-website/LICENSE.md +21 -0
  963. package/skills/playwright-explore-website/SKILL.md +17 -0
  964. package/skills/playwright-explore-website/SYNC.md +5 -0
  965. package/skills/playwright-generate-test/LICENSE.md +21 -0
  966. package/skills/playwright-generate-test/SKILL.md +17 -0
  967. package/skills/playwright-generate-test/SYNC.md +5 -0
  968. package/skills/polyglot-test-agent/LICENSE.md +21 -0
  969. package/skills/polyglot-test-agent/SKILL.md +161 -0
  970. package/skills/polyglot-test-agent/SYNC.md +5 -0
  971. package/skills/polyglot-test-agent/unit-test-generation.prompt.md +155 -0
  972. package/skills/postgresql-code-review/LICENSE.md +21 -0
  973. package/skills/postgresql-code-review/SKILL.md +212 -0
  974. package/skills/postgresql-code-review/SYNC.md +5 -0
  975. package/skills/postgresql-optimization/LICENSE.md +21 -0
  976. package/skills/postgresql-optimization/SKILL.md +404 -0
  977. package/skills/postgresql-optimization/SYNC.md +5 -0
  978. package/skills/power-apps-code-app-scaffold/LICENSE.md +21 -0
  979. package/skills/power-apps-code-app-scaffold/SKILL.md +146 -0
  980. package/skills/power-apps-code-app-scaffold/SYNC.md +5 -0
  981. package/skills/power-bi-dax-optimization/LICENSE.md +21 -0
  982. package/skills/power-bi-dax-optimization/SKILL.md +173 -0
  983. package/skills/power-bi-dax-optimization/SYNC.md +5 -0
  984. package/skills/power-bi-model-design-review/LICENSE.md +21 -0
  985. package/skills/power-bi-model-design-review/SKILL.md +403 -0
  986. package/skills/power-bi-model-design-review/SYNC.md +5 -0
  987. package/skills/power-bi-performance-troubleshooting/LICENSE.md +21 -0
  988. package/skills/power-bi-performance-troubleshooting/SKILL.md +382 -0
  989. package/skills/power-bi-performance-troubleshooting/SYNC.md +5 -0
  990. package/skills/power-bi-report-design-consultation/LICENSE.md +21 -0
  991. package/skills/power-bi-report-design-consultation/SKILL.md +351 -0
  992. package/skills/power-bi-report-design-consultation/SYNC.md +5 -0
  993. package/skills/power-platform-mcp-connector-suite/LICENSE.md +21 -0
  994. package/skills/power-platform-mcp-connector-suite/SKILL.md +156 -0
  995. package/skills/power-platform-mcp-connector-suite/SYNC.md +5 -0
  996. package/skills/powerbi-modeling/LICENSE.md +21 -0
  997. package/skills/powerbi-modeling/SKILL.md +153 -0
  998. package/skills/powerbi-modeling/SYNC.md +5 -0
  999. package/skills/powerbi-modeling/references/MEASURES-DAX.md +195 -0
  1000. package/skills/powerbi-modeling/references/PERFORMANCE.md +215 -0
  1001. package/skills/powerbi-modeling/references/RELATIONSHIPS.md +147 -0
  1002. package/skills/powerbi-modeling/references/RLS.md +226 -0
  1003. package/skills/powerbi-modeling/references/STAR-SCHEMA.md +103 -0
  1004. package/skills/pptx/LICENSE.txt +30 -0
  1005. package/skills/pptx/SKILL.md +232 -0
  1006. package/skills/pptx/SYNC.md +5 -0
  1007. package/skills/pptx/editing.md +205 -0
  1008. package/skills/pptx/pptxgenjs.md +420 -0
  1009. package/skills/pptx/scripts/__init__.py +0 -0
  1010. package/skills/pptx/scripts/add_slide.py +195 -0
  1011. package/skills/pptx/scripts/clean.py +286 -0
  1012. package/skills/pptx/scripts/office/helpers/__init__.py +0 -0
  1013. package/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
  1014. package/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  1015. package/skills/pptx/scripts/office/pack.py +159 -0
  1016. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  1017. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  1018. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  1019. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  1020. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  1021. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  1022. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  1023. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  1024. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  1025. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  1026. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  1027. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  1028. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  1029. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  1030. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  1031. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  1032. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  1033. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  1034. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  1035. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  1036. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  1037. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  1038. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  1039. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  1040. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  1041. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  1042. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  1043. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  1044. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  1045. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  1046. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  1047. package/skills/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
  1048. package/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  1049. package/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  1050. package/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  1051. package/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  1052. package/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  1053. package/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  1054. package/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  1055. package/skills/pptx/scripts/office/soffice.py +183 -0
  1056. package/skills/pptx/scripts/office/unpack.py +132 -0
  1057. package/skills/pptx/scripts/office/validate.py +111 -0
  1058. package/skills/pptx/scripts/office/validators/__init__.py +15 -0
  1059. package/skills/pptx/scripts/office/validators/base.py +847 -0
  1060. package/skills/pptx/scripts/office/validators/docx.py +446 -0
  1061. package/skills/pptx/scripts/office/validators/pptx.py +275 -0
  1062. package/skills/pptx/scripts/office/validators/redlining.py +247 -0
  1063. package/skills/pptx/scripts/thumbnail.py +289 -0
  1064. package/skills/prd/LICENSE.md +21 -0
  1065. package/skills/prd/SKILL.md +143 -0
  1066. package/skills/prd/SYNC.md +5 -0
  1067. package/skills/premium-frontend-ui/LICENSE.md +21 -0
  1068. package/skills/premium-frontend-ui/SKILL.md +110 -0
  1069. package/skills/premium-frontend-ui/SYNC.md +5 -0
  1070. package/skills/project-workflow-analysis-blueprint-generator/LICENSE.md +21 -0
  1071. package/skills/project-workflow-analysis-blueprint-generator/SKILL.md +293 -0
  1072. package/skills/project-workflow-analysis-blueprint-generator/SYNC.md +5 -0
  1073. package/skills/prompt-builder/LICENSE.md +21 -0
  1074. package/skills/prompt-builder/SKILL.md +141 -0
  1075. package/skills/prompt-builder/SYNC.md +5 -0
  1076. package/skills/publish-to-pages/LICENSE.md +21 -0
  1077. package/skills/publish-to-pages/SKILL.md +107 -0
  1078. package/skills/publish-to-pages/SYNC.md +5 -0
  1079. package/skills/publish-to-pages/scripts/convert-pdf.py +176 -0
  1080. package/skills/publish-to-pages/scripts/convert-pptx.py +376 -0
  1081. package/skills/publish-to-pages/scripts/publish.sh +51 -0
  1082. package/skills/pytest-coverage/LICENSE.md +21 -0
  1083. package/skills/pytest-coverage/SKILL.md +28 -0
  1084. package/skills/pytest-coverage/SYNC.md +5 -0
  1085. package/skills/python-mcp-server-generator/LICENSE.md +21 -0
  1086. package/skills/python-mcp-server-generator/SKILL.md +105 -0
  1087. package/skills/python-mcp-server-generator/SYNC.md +5 -0
  1088. package/skills/quasi-coder/LICENSE.md +21 -0
  1089. package/skills/quasi-coder/SKILL.md +369 -0
  1090. package/skills/quasi-coder/SYNC.md +5 -0
  1091. package/skills/readme-blueprint-generator/LICENSE.md +21 -0
  1092. package/skills/readme-blueprint-generator/SKILL.md +78 -0
  1093. package/skills/readme-blueprint-generator/SYNC.md +5 -0
  1094. package/skills/refactor/LICENSE.md +21 -0
  1095. package/skills/refactor/SKILL.md +645 -0
  1096. package/skills/refactor/SYNC.md +5 -0
  1097. package/skills/refactor-method-complexity-reduce/LICENSE.md +21 -0
  1098. package/skills/refactor-method-complexity-reduce/SKILL.md +98 -0
  1099. package/skills/refactor-method-complexity-reduce/SYNC.md +5 -0
  1100. package/skills/refactor-plan/LICENSE.md +21 -0
  1101. package/skills/refactor-plan/SKILL.md +65 -0
  1102. package/skills/refactor-plan/SYNC.md +5 -0
  1103. package/skills/remember/LICENSE.md +21 -0
  1104. package/skills/remember/SKILL.md +126 -0
  1105. package/skills/remember/SYNC.md +5 -0
  1106. package/skills/remember-interactive-programming/LICENSE.md +21 -0
  1107. package/skills/remember-interactive-programming/SKILL.md +13 -0
  1108. package/skills/remember-interactive-programming/SYNC.md +5 -0
  1109. package/skills/repo-story-time/LICENSE.md +21 -0
  1110. package/skills/repo-story-time/SKILL.md +154 -0
  1111. package/skills/repo-story-time/SYNC.md +5 -0
  1112. package/skills/review-and-refactor/LICENSE.md +21 -0
  1113. package/skills/review-and-refactor/SKILL.md +15 -0
  1114. package/skills/review-and-refactor/SYNC.md +5 -0
  1115. package/skills/reviewing-oracle-to-postgres-migration/LICENSE.md +21 -0
  1116. package/skills/reviewing-oracle-to-postgres-migration/SKILL.md +67 -0
  1117. package/skills/reviewing-oracle-to-postgres-migration/SYNC.md +5 -0
  1118. package/skills/reviewing-oracle-to-postgres-migration/references/REFERENCE.md +13 -0
  1119. package/skills/reviewing-oracle-to-postgres-migration/references/empty-strings-handling.md +69 -0
  1120. package/skills/reviewing-oracle-to-postgres-migration/references/no-data-found-exceptions.md +99 -0
  1121. package/skills/reviewing-oracle-to-postgres-migration/references/oracle-parentheses-from-clause.md +190 -0
  1122. package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-sorting.md +51 -0
  1123. package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-timestamp-timezone.md +187 -0
  1124. package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-to-char-numeric.md +145 -0
  1125. package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-type-coercion.md +182 -0
  1126. package/skills/reviewing-oracle-to-postgres-migration/references/postgres-concurrent-transactions.md +259 -0
  1127. package/skills/reviewing-oracle-to-postgres-migration/references/postgres-refcursor-handling.md +148 -0
  1128. package/skills/ruby-mcp-server-generator/LICENSE.md +21 -0
  1129. package/skills/ruby-mcp-server-generator/SKILL.md +660 -0
  1130. package/skills/ruby-mcp-server-generator/SYNC.md +5 -0
  1131. package/skills/rust-mcp-server-generator/LICENSE.md +21 -0
  1132. package/skills/rust-mcp-server-generator/SKILL.md +577 -0
  1133. package/skills/rust-mcp-server-generator/SYNC.md +5 -0
  1134. package/skills/sandbox-npm-install/LICENSE.md +21 -0
  1135. package/skills/sandbox-npm-install/SKILL.md +80 -0
  1136. package/skills/sandbox-npm-install/SYNC.md +5 -0
  1137. package/skills/sandbox-npm-install/scripts/install.sh +193 -0
  1138. package/skills/scaffolding-oracle-to-postgres-migration-test-project/LICENSE.md +21 -0
  1139. package/skills/scaffolding-oracle-to-postgres-migration-test-project/SKILL.md +54 -0
  1140. package/skills/scaffolding-oracle-to-postgres-migration-test-project/SYNC.md +5 -0
  1141. package/skills/scoutqa-test/LICENSE.md +21 -0
  1142. package/skills/scoutqa-test/SKILL.md +375 -0
  1143. package/skills/scoutqa-test/SYNC.md +5 -0
  1144. package/skills/secret-scanning/LICENSE.md +21 -0
  1145. package/skills/secret-scanning/SKILL.md +224 -0
  1146. package/skills/secret-scanning/SYNC.md +5 -0
  1147. package/skills/secret-scanning/references/alerts-and-remediation.md +245 -0
  1148. package/skills/secret-scanning/references/custom-patterns.md +158 -0
  1149. package/skills/secret-scanning/references/push-protection.md +164 -0
  1150. package/skills/semantic-kernel/LICENSE.md +21 -0
  1151. package/skills/semantic-kernel/SKILL.md +56 -0
  1152. package/skills/semantic-kernel/SYNC.md +5 -0
  1153. package/skills/semantic-kernel/references/dotnet.md +15 -0
  1154. package/skills/semantic-kernel/references/python.md +15 -0
  1155. package/skills/shadcn/LICENSE.md +21 -0
  1156. package/skills/shadcn/SKILL.md +242 -0
  1157. package/skills/shadcn/SYNC.md +5 -0
  1158. package/skills/shadcn/agents/openai.yml +5 -0
  1159. package/skills/shadcn/assets/shadcn-small.png +0 -0
  1160. package/skills/shadcn/assets/shadcn.png +0 -0
  1161. package/skills/shadcn/cli.md +257 -0
  1162. package/skills/shadcn/customization.md +202 -0
  1163. package/skills/shadcn/evals/evals.json +47 -0
  1164. package/skills/shadcn/mcp.md +94 -0
  1165. package/skills/shadcn/rules/base-vs-radix.md +306 -0
  1166. package/skills/shadcn/rules/composition.md +195 -0
  1167. package/skills/shadcn/rules/forms.md +192 -0
  1168. package/skills/shadcn/rules/icons.md +101 -0
  1169. package/skills/shadcn/rules/styling.md +162 -0
  1170. package/skills/shuffle-json-data/LICENSE.md +21 -0
  1171. package/skills/shuffle-json-data/SKILL.md +150 -0
  1172. package/skills/shuffle-json-data/SYNC.md +5 -0
  1173. package/skills/skill-creator/LICENSE.txt +202 -0
  1174. package/skills/skill-creator/SKILL.md +485 -0
  1175. package/skills/skill-creator/SYNC.md +5 -0
  1176. package/skills/skill-creator/agents/analyzer.md +274 -0
  1177. package/skills/skill-creator/agents/comparator.md +202 -0
  1178. package/skills/skill-creator/agents/grader.md +223 -0
  1179. package/skills/skill-creator/assets/eval_review.html +146 -0
  1180. package/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  1181. package/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  1182. package/skills/skill-creator/references/schemas.md +430 -0
  1183. package/skills/skill-creator/scripts/__init__.py +0 -0
  1184. package/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  1185. package/skills/skill-creator/scripts/generate_report.py +326 -0
  1186. package/skills/skill-creator/scripts/improve_description.py +247 -0
  1187. package/skills/skill-creator/scripts/package_skill.py +136 -0
  1188. package/skills/skill-creator/scripts/quick_validate.py +103 -0
  1189. package/skills/skill-creator/scripts/run_eval.py +310 -0
  1190. package/skills/skill-creator/scripts/run_loop.py +328 -0
  1191. package/skills/skill-creator/scripts/utils.py +47 -0
  1192. package/skills/slack-gif-creator/LICENSE.txt +202 -0
  1193. package/skills/slack-gif-creator/SKILL.md +254 -0
  1194. package/skills/slack-gif-creator/SYNC.md +5 -0
  1195. package/skills/slack-gif-creator/core/easing.py +234 -0
  1196. package/skills/slack-gif-creator/core/frame_composer.py +176 -0
  1197. package/skills/slack-gif-creator/core/gif_builder.py +269 -0
  1198. package/skills/slack-gif-creator/core/validators.py +136 -0
  1199. package/skills/slack-gif-creator/requirements.txt +4 -0
  1200. package/skills/snowflake-semanticview/LICENSE.md +21 -0
  1201. package/skills/snowflake-semanticview/SKILL.md +83 -0
  1202. package/skills/snowflake-semanticview/SYNC.md +5 -0
  1203. package/skills/sponsor-finder/LICENSE.md +21 -0
  1204. package/skills/sponsor-finder/SKILL.md +258 -0
  1205. package/skills/sponsor-finder/SYNC.md +5 -0
  1206. package/skills/spring-boot-testing/LICENSE.md +21 -0
  1207. package/skills/spring-boot-testing/SKILL.md +189 -0
  1208. package/skills/spring-boot-testing/SYNC.md +5 -0
  1209. package/skills/spring-boot-testing/references/assertj-basics.md +207 -0
  1210. package/skills/spring-boot-testing/references/assertj-collections.md +183 -0
  1211. package/skills/spring-boot-testing/references/context-caching.md +115 -0
  1212. package/skills/spring-boot-testing/references/datajpatest.md +197 -0
  1213. package/skills/spring-boot-testing/references/instancio.md +230 -0
  1214. package/skills/spring-boot-testing/references/mockitobean.md +232 -0
  1215. package/skills/spring-boot-testing/references/mockmvc-classic.md +206 -0
  1216. package/skills/spring-boot-testing/references/mockmvc-tester.md +311 -0
  1217. package/skills/spring-boot-testing/references/restclienttest.md +227 -0
  1218. package/skills/spring-boot-testing/references/resttestclient.md +278 -0
  1219. package/skills/spring-boot-testing/references/sb4-migration.md +181 -0
  1220. package/skills/spring-boot-testing/references/test-slices-overview.md +203 -0
  1221. package/skills/spring-boot-testing/references/testcontainers-jdbc.md +234 -0
  1222. package/skills/spring-boot-testing/references/webmvctest.md +177 -0
  1223. package/skills/sql-code-review/LICENSE.md +21 -0
  1224. package/skills/sql-code-review/SKILL.md +301 -0
  1225. package/skills/sql-code-review/SYNC.md +5 -0
  1226. package/skills/sql-optimization/LICENSE.md +21 -0
  1227. package/skills/sql-optimization/SKILL.md +296 -0
  1228. package/skills/sql-optimization/SYNC.md +5 -0
  1229. package/skills/structured-autonomy-generate/LICENSE.md +21 -0
  1230. package/skills/structured-autonomy-generate/SKILL.md +125 -0
  1231. package/skills/structured-autonomy-generate/SYNC.md +5 -0
  1232. package/skills/structured-autonomy-implement/LICENSE.md +21 -0
  1233. package/skills/structured-autonomy-implement/SKILL.md +19 -0
  1234. package/skills/structured-autonomy-implement/SYNC.md +5 -0
  1235. package/skills/structured-autonomy-plan/LICENSE.md +21 -0
  1236. package/skills/structured-autonomy-plan/SKILL.md +81 -0
  1237. package/skills/structured-autonomy-plan/SYNC.md +5 -0
  1238. package/skills/suggest-awesome-github-copilot-agents/LICENSE.md +21 -0
  1239. package/skills/suggest-awesome-github-copilot-agents/SKILL.md +106 -0
  1240. package/skills/suggest-awesome-github-copilot-agents/SYNC.md +5 -0
  1241. package/skills/suggest-awesome-github-copilot-instructions/LICENSE.md +21 -0
  1242. package/skills/suggest-awesome-github-copilot-instructions/SKILL.md +122 -0
  1243. package/skills/suggest-awesome-github-copilot-instructions/SYNC.md +5 -0
  1244. package/skills/suggest-awesome-github-copilot-skills/LICENSE.md +21 -0
  1245. package/skills/suggest-awesome-github-copilot-skills/SKILL.md +130 -0
  1246. package/skills/suggest-awesome-github-copilot-skills/SYNC.md +5 -0
  1247. package/skills/swift-mcp-server-generator/LICENSE.md +21 -0
  1248. package/skills/swift-mcp-server-generator/SKILL.md +669 -0
  1249. package/skills/swift-mcp-server-generator/SYNC.md +5 -0
  1250. package/skills/technology-stack-blueprint-generator/LICENSE.md +21 -0
  1251. package/skills/technology-stack-blueprint-generator/SKILL.md +242 -0
  1252. package/skills/technology-stack-blueprint-generator/SYNC.md +5 -0
  1253. package/skills/terraform-azurerm-set-diff-analyzer/LICENSE.md +21 -0
  1254. package/skills/terraform-azurerm-set-diff-analyzer/SKILL.md +48 -0
  1255. package/skills/terraform-azurerm-set-diff-analyzer/SYNC.md +5 -0
  1256. package/skills/terraform-azurerm-set-diff-analyzer/references/azurerm_set_attributes.json +154 -0
  1257. package/skills/terraform-azurerm-set-diff-analyzer/references/azurerm_set_attributes.md +145 -0
  1258. package/skills/terraform-azurerm-set-diff-analyzer/scripts/README.md +205 -0
  1259. package/skills/terraform-azurerm-set-diff-analyzer/scripts/analyze_plan.py +940 -0
  1260. package/skills/theme-factory/LICENSE.txt +202 -0
  1261. package/skills/theme-factory/SKILL.md +59 -0
  1262. package/skills/theme-factory/SYNC.md +5 -0
  1263. package/skills/theme-factory/theme-showcase.pdf +0 -0
  1264. package/skills/theme-factory/themes/arctic-frost.md +19 -0
  1265. package/skills/theme-factory/themes/botanical-garden.md +19 -0
  1266. package/skills/theme-factory/themes/desert-rose.md +19 -0
  1267. package/skills/theme-factory/themes/forest-canopy.md +19 -0
  1268. package/skills/theme-factory/themes/golden-hour.md +19 -0
  1269. package/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  1270. package/skills/theme-factory/themes/modern-minimalist.md +19 -0
  1271. package/skills/theme-factory/themes/ocean-depths.md +19 -0
  1272. package/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  1273. package/skills/theme-factory/themes/tech-innovation.md +19 -0
  1274. package/skills/tldr-prompt/LICENSE.md +21 -0
  1275. package/skills/tldr-prompt/SKILL.md +304 -0
  1276. package/skills/tldr-prompt/SYNC.md +5 -0
  1277. package/skills/transloadit-media-processing/LICENSE.md +21 -0
  1278. package/skills/transloadit-media-processing/SKILL.md +194 -0
  1279. package/skills/transloadit-media-processing/SYNC.md +5 -0
  1280. package/skills/typescript-mcp-server-generator/LICENSE.md +21 -0
  1281. package/skills/typescript-mcp-server-generator/SKILL.md +90 -0
  1282. package/skills/typescript-mcp-server-generator/SYNC.md +5 -0
  1283. package/skills/typespec-api-operations/LICENSE.md +21 -0
  1284. package/skills/typespec-api-operations/SKILL.md +418 -0
  1285. package/skills/typespec-api-operations/SYNC.md +5 -0
  1286. package/skills/typespec-create-agent/LICENSE.md +21 -0
  1287. package/skills/typespec-create-agent/SKILL.md +91 -0
  1288. package/skills/typespec-create-agent/SYNC.md +5 -0
  1289. package/skills/typespec-create-api-plugin/LICENSE.md +21 -0
  1290. package/skills/typespec-create-api-plugin/SKILL.md +164 -0
  1291. package/skills/typespec-create-api-plugin/SYNC.md +5 -0
  1292. package/skills/unit-test-vue-pinia/LICENSE.md +21 -0
  1293. package/skills/unit-test-vue-pinia/SKILL.md +198 -0
  1294. package/skills/unit-test-vue-pinia/SYNC.md +5 -0
  1295. package/skills/unit-test-vue-pinia/references/pinia-patterns.md +95 -0
  1296. package/skills/update-avm-modules-in-bicep/LICENSE.md +21 -0
  1297. package/skills/update-avm-modules-in-bicep/SKILL.md +60 -0
  1298. package/skills/update-avm-modules-in-bicep/SYNC.md +5 -0
  1299. package/skills/update-implementation-plan/LICENSE.md +21 -0
  1300. package/skills/update-implementation-plan/SKILL.md +157 -0
  1301. package/skills/update-implementation-plan/SYNC.md +5 -0
  1302. package/skills/update-llms/LICENSE.md +21 -0
  1303. package/skills/update-llms/SKILL.md +216 -0
  1304. package/skills/update-llms/SYNC.md +5 -0
  1305. package/skills/update-markdown-file-index/LICENSE.md +21 -0
  1306. package/skills/update-markdown-file-index/SKILL.md +76 -0
  1307. package/skills/update-markdown-file-index/SYNC.md +5 -0
  1308. package/skills/update-specification/LICENSE.md +21 -0
  1309. package/skills/update-specification/SKILL.md +127 -0
  1310. package/skills/update-specification/SYNC.md +5 -0
  1311. package/skills/vscode-ext-commands/LICENSE.md +21 -0
  1312. package/skills/vscode-ext-commands/SKILL.md +21 -0
  1313. package/skills/vscode-ext-commands/SYNC.md +5 -0
  1314. package/skills/vscode-ext-localization/LICENSE.md +21 -0
  1315. package/skills/vscode-ext-localization/SKILL.md +25 -0
  1316. package/skills/vscode-ext-localization/SYNC.md +5 -0
  1317. package/skills/vue-best-practices/SYNC.md +1 -1
  1318. package/skills/vue-jsx-best-practices/SYNC.md +1 -1
  1319. package/skills/vue-options-api-best-practices/SYNC.md +1 -1
  1320. package/skills/vue-pinia-best-practices/SYNC.md +1 -1
  1321. package/skills/vue-router-best-practices/SYNC.md +1 -1
  1322. package/skills/vue-testing-best-practices/SYNC.md +1 -1
  1323. package/skills/web-artifacts-builder/LICENSE.txt +202 -0
  1324. package/skills/web-artifacts-builder/SKILL.md +74 -0
  1325. package/skills/web-artifacts-builder/SYNC.md +5 -0
  1326. package/skills/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
  1327. package/skills/web-artifacts-builder/scripts/init-artifact.sh +322 -0
  1328. package/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  1329. package/skills/web-coder/LICENSE.md +21 -0
  1330. package/skills/web-coder/SKILL.md +563 -0
  1331. package/skills/web-coder/SYNC.md +5 -0
  1332. package/skills/web-coder/references/accessibility.md +346 -0
  1333. package/skills/web-coder/references/architecture-patterns.md +625 -0
  1334. package/skills/web-coder/references/browsers-engines.md +358 -0
  1335. package/skills/web-coder/references/css-styling.md +696 -0
  1336. package/skills/web-coder/references/data-formats-encoding.md +411 -0
  1337. package/skills/web-coder/references/development-tools.md +502 -0
  1338. package/skills/web-coder/references/glossary.md +649 -0
  1339. package/skills/web-coder/references/html-markup.md +387 -0
  1340. package/skills/web-coder/references/http-networking.md +538 -0
  1341. package/skills/web-coder/references/javascript-programming.md +807 -0
  1342. package/skills/web-coder/references/media-graphics.md +504 -0
  1343. package/skills/web-coder/references/performance-optimization.md +546 -0
  1344. package/skills/web-coder/references/security-authentication.md +603 -0
  1345. package/skills/web-coder/references/servers-infrastructure.md +615 -0
  1346. package/skills/web-coder/references/web-apis-dom.md +654 -0
  1347. package/skills/web-coder/references/web-protocols-standards.md +265 -0
  1348. package/skills/web-design-reviewer/LICENSE.md +21 -0
  1349. package/skills/web-design-reviewer/SKILL.md +368 -0
  1350. package/skills/web-design-reviewer/SYNC.md +5 -0
  1351. package/skills/web-design-reviewer/references/framework-fixes.md +475 -0
  1352. package/skills/web-design-reviewer/references/visual-checklist.md +236 -0
  1353. package/skills/webapp-testing/LICENSE.md +21 -0
  1354. package/skills/webapp-testing/SKILL.md +133 -0
  1355. package/skills/webapp-testing/SYNC.md +5 -0
  1356. package/skills/webapp-testing/assets/test-helper.js +56 -0
  1357. package/skills/what-context-needed/LICENSE.md +21 -0
  1358. package/skills/what-context-needed/SKILL.md +39 -0
  1359. package/skills/what-context-needed/SYNC.md +5 -0
  1360. package/skills/winapp-cli/LICENSE.md +21 -0
  1361. package/skills/winapp-cli/SKILL.md +217 -0
  1362. package/skills/winapp-cli/SYNC.md +5 -0
  1363. package/skills/winmd-api-search/LICENSE.md +21 -0
  1364. package/skills/winmd-api-search/LICENSE.txt +21 -0
  1365. package/skills/winmd-api-search/SKILL.md +192 -0
  1366. package/skills/winmd-api-search/SYNC.md +5 -0
  1367. package/skills/winmd-api-search/scripts/Invoke-WinMdQuery.ps1 +505 -0
  1368. package/skills/winmd-api-search/scripts/Update-WinMdCache.ps1 +208 -0
  1369. package/skills/winmd-api-search/scripts/cache-generator/CacheGenerator.csproj +29 -0
  1370. package/skills/winmd-api-search/scripts/cache-generator/Directory.Build.props +3 -0
  1371. package/skills/winmd-api-search/scripts/cache-generator/Directory.Build.targets +3 -0
  1372. package/skills/winmd-api-search/scripts/cache-generator/Directory.Packages.props +3 -0
  1373. package/skills/winmd-api-search/scripts/cache-generator/Program.cs +1222 -0
  1374. package/skills/winui3-migration-guide/LICENSE.md +21 -0
  1375. package/skills/winui3-migration-guide/SKILL.md +277 -0
  1376. package/skills/winui3-migration-guide/SYNC.md +5 -0
  1377. package/skills/workiq-copilot/LICENSE.md +21 -0
  1378. package/skills/workiq-copilot/SKILL.md +98 -0
  1379. package/skills/workiq-copilot/SYNC.md +5 -0
  1380. package/skills/write-coding-standards-from-file/LICENSE.md +21 -0
  1381. package/skills/write-coding-standards-from-file/SKILL.md +316 -0
  1382. package/skills/write-coding-standards-from-file/SYNC.md +5 -0
  1383. package/skills/xlsx/LICENSE.txt +30 -0
  1384. package/skills/xlsx/SKILL.md +292 -0
  1385. package/skills/xlsx/SYNC.md +5 -0
  1386. package/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  1387. package/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  1388. package/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  1389. package/skills/xlsx/scripts/office/pack.py +159 -0
  1390. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  1391. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  1392. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  1393. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  1394. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  1395. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  1396. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  1397. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  1398. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  1399. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  1400. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  1401. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  1402. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  1403. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  1404. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  1405. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  1406. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  1407. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  1408. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  1409. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  1410. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  1411. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  1412. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  1413. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  1414. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  1415. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  1416. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  1417. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  1418. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  1419. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  1420. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  1421. package/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  1422. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  1423. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  1424. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  1425. package/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  1426. package/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  1427. package/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  1428. package/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  1429. package/skills/xlsx/scripts/office/soffice.py +183 -0
  1430. package/skills/xlsx/scripts/office/unpack.py +132 -0
  1431. package/skills/xlsx/scripts/office/validate.py +111 -0
  1432. package/skills/xlsx/scripts/office/validators/__init__.py +15 -0
  1433. package/skills/xlsx/scripts/office/validators/base.py +847 -0
  1434. package/skills/xlsx/scripts/office/validators/docx.py +446 -0
  1435. package/skills/xlsx/scripts/office/validators/pptx.py +275 -0
  1436. package/skills/xlsx/scripts/office/validators/redlining.py +247 -0
  1437. package/skills/xlsx/scripts/recalc.py +184 -0
@@ -0,0 +1,862 @@
1
+ ---
2
+ name: eval-driven-dev
3
+ description: Add instrumentation, build golden datasets, write eval-based tests, run them, root-cause failures, and iterate — Ensure your Python LLM application works correctly. Make sure to use this skill whenever a user is developing, testing, QA-ing, evaluating, or benchmarking a Python project that calls an LLM. Use for making sure an LLM application works correctly, catching regressions after prompt changes, fixing unexpected behavior, or validating output quality before shipping.
4
+ license: MIT
5
+ compatibility: Python 3.11+
6
+ metadata:
7
+ version: 0.1.11
8
+ ---
9
+
10
+ # Evaluation-Driven Development for Python LLM Applications
11
+
12
+ This skill is about doing the work, not describing it. When a user asks you to set up evals for their app, you should be reading their code, editing their files, running commands, and producing a working test pipeline — not writing a plan for them to follow later.
13
+
14
+ ## Startup checks (always first)
15
+
16
+ Attempt to upgrade the `pixie-qa` package in the user's environment. Detect the package manager from the project (check for `uv.lock`, `poetry.lock`, `requirements.txt`, or a plain `pip` environment) and run the appropriate upgrade command:
17
+
18
+ - **uv**: `uv add pixie-qa --upgrade` (or `uv sync --upgrade-package pixie-qa`)
19
+ - **poetry**: `poetry add pixie-qa@latest`
20
+ - **pip**: `pip install --upgrade pixie-qa`
21
+
22
+ If the upgrade fails (e.g., no network, version conflict), log the error and continue — a failed upgrade must not block the rest of the skill.
23
+
24
+ **All pixie-generated files live in a single `pixie_qa` directory** at the project root:
25
+
26
+ ```
27
+ pixie_qa/
28
+ MEMORY.md # your understanding and eval plan
29
+ observations.db # SQLite trace DB (auto-created by enable_storage)
30
+ datasets/ # golden datasets (JSON files)
31
+ tests/ # eval test files (test_*.py)
32
+ scripts/ # helper scripts (run_harness.py, build_dataset.py, etc.)
33
+ ```
34
+
35
+ ---
36
+
37
+ ## Setup vs. Iteration: when to stop
38
+
39
+ **This is critical.** What you do depends on what the user asked for.
40
+
41
+ ### "Setup QA" / "set up evals" / "add tests" (setup intent)
42
+
43
+ The user wants a **working eval pipeline**. Your job is Stages 0–7: install, understand, instrument, build a run harness, capture real traces, write tests, build dataset, run tests. **Stop after the first test run**, regardless of whether tests pass or fail. Report:
44
+
45
+ 1. What you set up (instrumentation, run harness, test file, dataset)
46
+ 2. The test results (pass/fail, scores)
47
+ 3. If tests failed: a **brief summary** of what failed and likely causes — but do NOT fix anything
48
+
49
+ Then ask: _"QA setup is complete. Tests show N/M passing. Want me to investigate the failures and start iterating?"_
50
+
51
+ Only proceed to Stage 8 (investigation and fixes) if the user confirms.
52
+
53
+ **Exception**: If the test run itself errors out (import failures, missing API keys, configuration bugs) — those are **setup problems**, not eval failures. Fix them and re-run until you get a clean test execution where pass/fail reflects actual app quality, not broken plumbing.
54
+
55
+ ### "Fix" / "improve" / "debug" / "why is X failing" (iteration intent)
56
+
57
+ The user wants you to investigate and fix. Proceed through all stages including Stage 8 — investigate failures, root-cause them, apply fixes, rebuild dataset, re-run tests, iterate.
58
+
59
+ ### Ambiguous requests
60
+
61
+ If the intent is unclear, default to **setup only** and ask before iterating. It's better to stop early and ask than to make unwanted changes to the user's application code.
62
+
63
+ ---
64
+
65
+ ## Hard gates: when to STOP and get the user involved
66
+
67
+ Some blockers cannot be worked around. When you hit one, **stop working and tell the user what you need** — do not guess, fabricate data, or skip ahead to later stages.
68
+
69
+ ### Missing API keys or credentials
70
+
71
+ If the app or evaluators need an API key (e.g. `OPENAI_API_KEY`) and it's not set in the environment or `.env`, tell the user exactly which key is missing and wait for them to provide it. Do not:
72
+
73
+ - Proceed with running the app or evals (they will fail)
74
+ - Hardcode a placeholder key
75
+ - Skip to later stages hoping it won't matter
76
+
77
+ ### Cannot run the app from a script
78
+
79
+ If after reading the code (Stage 1) you cannot figure out how to invoke the app's core LLM-calling function from a standalone script — because it requires a running server, a webhook trigger, complex authentication, or external infrastructure you can't mock — **stop and ask the user**:
80
+
81
+ > "I've identified `<function_name>` in `<file>` as the core function to evaluate, but it requires `<dependency>` which I can't easily mock. Can you either (a) show me how to call this function standalone, or (b) run the app yourself with a few representative inputs so I can capture traces?"
82
+
83
+ ### App errors during run harness execution
84
+
85
+ If the run harness script (Stage 4) errors out and you can't fix it after two attempts, stop and share the error with the user. Common blockers include database connections, missing configuration files, authentication/OAuth flows, and hardware-specific dependencies.
86
+
87
+ ### Why stopping matters
88
+
89
+ Every subsequent stage depends on having real traces from the actual app. If you can't run the app, you can't capture traces. If you can't capture traces, you can't build a real dataset. If you fabricate a dataset, the entire eval pipeline is testing a fiction, not the user's app. It's better to stop early and get the user's help than to produce an eval pipeline that tests the wrong thing.
90
+
91
+ ---
92
+
93
+ ## The eval boundary: what to evaluate
94
+
95
+ **Eval-driven development focuses on LLM-dependent behaviour.** The purpose is to catch quality regressions in the parts of the system that are non-deterministic and hard to test with traditional unit tests — namely, LLM calls and the decisions they drive.
96
+
97
+ ### In scope (evaluate this)
98
+
99
+ - LLM response quality: factual accuracy, relevance, format compliance, safety
100
+ - Agent routing decisions: did the LLM choose the right tool/handoff/action?
101
+ - Prompt effectiveness: does the prompt produce the desired behaviour?
102
+ - Multi-turn coherence: does the agent maintain context across turns?
103
+
104
+ ### Out of scope (do NOT evaluate this with evals)
105
+
106
+ - **Tool implementations** (database queries, API calls, keyword matching, business logic) — these are traditional software; test them with unit tests
107
+ - **Infrastructure** (authentication, rate limiting, caching, serialization)
108
+ - **Deterministic post-processing** (formatting, filtering, sorting results)
109
+
110
+ The boundary is: everything **downstream** of the LLM call (tools, databases, APIs) produces deterministic outputs that serve as **inputs** to the LLM-powered system. Eval tests should treat those as given facts and focus on what the LLM does with them.
111
+
112
+ **Example**: If an FAQ tool has a keyword-matching bug that returns wrong data, that's a traditional bug — fix it with a regular code change, not by adjusting eval thresholds. The eval tests exist to verify that _given correct tool outputs_, the LLM agent produces correct user-facing responses.
113
+
114
+ When building datasets and expected outputs, **use the actual tool/system outputs as ground truth**. The expected output for an eval case should reflect what a correct LLM response looks like _given the tool results the system actually produces_.
115
+
116
+ ---
117
+
118
+ ## Stage 0: Ensure pixie-qa is Installed and API Keys Are Set
119
+
120
+ Before doing anything else, check that the `pixie-qa` package is available:
121
+
122
+ ```bash
123
+ python -c "import pixie" 2>/dev/null && echo "installed" || echo "not installed"
124
+ ```
125
+
126
+ If it's not installed, install it:
127
+
128
+ ```bash
129
+ pip install pixie-qa
130
+ ```
131
+
132
+ This provides the `pixie` Python module, the `pixie` CLI, and the `pixie test` runner — all required for instrumentation and evals. Don't skip this step; everything else in this skill depends on it.
133
+
134
+ ### Verify API keys
135
+
136
+ The application under test almost certainly needs an LLM provider API key (e.g. `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`). LLM-as-judge evaluators like `FactualityEval` also need `OPENAI_API_KEY`. **Before running anything**, verify the key is set:
137
+
138
+ ```bash
139
+ [ -n "$OPENAI_API_KEY" ] && echo "OPENAI_API_KEY set" || echo "OPENAI_API_KEY missing"
140
+ ```
141
+
142
+ If the key is not set: check whether the project uses a `.env` file. If it does, note that `python-dotenv` only loads `.env` when the app explicitly calls `load_dotenv()` — shell commands and the `pixie` CLI will not see variables from `.env` unless they're exported. Tell the user which key is missing and how to set it. **Do not proceed** with running the app or evals without a confirmed API key — you'll get failures that waste time and look like app bugs.
143
+
144
+ ---
145
+
146
+ ## Stage 1: Understand the Application
147
+
148
+ Before touching any code, spend time actually reading the source. The code will tell you more than asking the user would, and it puts you in a much better position to make good decisions about what and how to evaluate.
149
+
150
+ ### What to investigate
151
+
152
+ 1. **How the software runs**: What is the entry point? How do you start it? Is it a CLI, a server, a library function? What are the required arguments, config files, or environment variables?
153
+
154
+ 2. **All inputs to the LLM**: This is not limited to the user's message. Trace every piece of data that gets incorporated into any LLM prompt:
155
+
156
+ - User input (queries, messages, uploaded files)
157
+ - System prompts (hardcoded or templated)
158
+ - Retrieved context (RAG chunks, search results, database records)
159
+ - Tool definitions and function schemas
160
+ - Conversation history / memory
161
+ - Configuration or feature flags that change prompt behavior
162
+
163
+ 3. **All intermediate steps and outputs**: Walk through the code path from input to final output and document each stage:
164
+
165
+ - Retrieval / search results
166
+ - Tool calls and their results
167
+ - Agent routing / handoff decisions
168
+ - Intermediate LLM calls (e.g., summarization before final answer)
169
+ - Post-processing or formatting steps
170
+
171
+ 4. **The final output**: What does the user see? What format is it in? What are the quality expectations?
172
+
173
+ 5. **Use cases and expected behaviors**: What are the distinct things the app is supposed to handle? For each use case, what does a "good" response look like? What would constitute a failure?
174
+
175
+ ### Identify the eval-boundary function
176
+
177
+ This is the single most important decision you'll make, and getting it right determines whether the eval pipeline tests the real app or a fiction.
178
+
179
+ The **eval-boundary function** is the function in the actual production code that:
180
+
181
+ 1. Takes structured input (text, dict, message list) — not raw HTTP requests, audio streams, or webhook payloads
182
+ 2. Calls the LLM (directly or through a chain of internal calls)
183
+ 3. Returns the LLM's response (or a processed version of it)
184
+
185
+ Everything **upstream** of this function (webhook handlers, voice-to-text processing, request parsing, authentication, session management) will be mocked or bypassed when building the run harness. Everything **at and below** this function is the real code you're evaluating.
186
+
187
+ **Example**: In a Twilio voice AI app:
188
+
189
+ - Twilio sends a webhook with audio → **upstream, mock this**
190
+ - Audio processing converts speech to text → **upstream, mock this**
191
+ - Call state is loaded from Redis → **upstream, mock or simplify this**
192
+ - `agent.respond(user_text, conversation_history)` calls the LLM → **eval-boundary function**
193
+ - Response text is converted to speech → **downstream, not part of eval**
194
+
195
+ **Example**: In a FastAPI RAG chatbot:
196
+
197
+ - HTTP endpoint receives POST request → **upstream, bypass this**
198
+ - Request validation and auth → **upstream, bypass this**
199
+ - `chatbot.answer(question, context)` retrieves docs and calls LLM → **eval-boundary function**
200
+ - Response is formatted as JSON → **downstream, not part of eval**
201
+
202
+ **Example**: In a simple CLI Q&A tool:
203
+
204
+ - `main()` reads user input from stdin → **upstream, bypass this**
205
+ - `answer_question(question)` calls the LLM → **eval-boundary function**
206
+
207
+ When identifying the eval-boundary function, record:
208
+
209
+ - The exact function name and file location
210
+ - Its signature (parameter names and types)
211
+ - What upstream dependencies it needs (clients, config objects, state)
212
+ - Which of those dependencies require real credentials vs. can be mocked
213
+
214
+ If you cannot identify a clear eval-boundary function — if the LLM call is deeply entangled with infrastructure code that can't be separated — **stop and ask the user**. See "Hard gates" above.
215
+
216
+ ### Write MEMORY.md
217
+
218
+ Write your findings down in `pixie_qa/MEMORY.md`. This is the primary working document for the eval effort. It should be human-readable and detailed enough that someone unfamiliar with the project can understand the application and the eval strategy.
219
+
220
+ **CRITICAL: MEMORY.md documents your understanding of the existing application code. It must NOT contain references to pixie commands, instrumentation code you plan to add, or scripts/functions that don't exist yet.** Those belong in later sections, only after they've been implemented.
221
+
222
+ The understanding section should include:
223
+
224
+ ```markdown
225
+ # Eval Notes: <Project Name>
226
+
227
+ ## How the application works
228
+
229
+ ### Entry point and execution flow
230
+
231
+ <Describe how to start/run the app, what happens step by step>
232
+
233
+ ### Inputs to LLM calls
234
+
235
+ <For each LLM call in the codebase, document:>
236
+
237
+ - Where it is in the code (file + function name)
238
+ - What system prompt it uses (quote it or summarize)
239
+ - What user/dynamic content feeds into it
240
+ - What tools/functions are available to it
241
+
242
+ ### Intermediate processing
243
+
244
+ <Describe any steps between input and output:>
245
+ - Retrieval, routing, tool execution, etc.
246
+ - Include code pointers (file:line) for each step
247
+
248
+ ### Final output
249
+
250
+ <What the user sees, what format, what the quality bar should be>
251
+
252
+ ### Use cases
253
+
254
+ <List each distinct scenario the app handles, with examples of good/bad outputs>
255
+
256
+ ### Eval-boundary function
257
+
258
+ - **Function**: `<class.method or function_name>`
259
+ - **Location**: `<file:line>`
260
+ - **Signature**: `<parameters and return type>`
261
+ - **Upstream dependencies to mock**: <list what needs mocking for standalone execution>
262
+ - **Why this boundary**: <explain why this is the right function to evaluate>
263
+
264
+ ## Evaluation plan
265
+
266
+ ### What to evaluate and why
267
+
268
+ <Quality dimensions: factual accuracy, relevance, format compliance, safety, etc.>
269
+
270
+ ### Evaluation granularity
271
+
272
+ <Which function/span boundary captures one "test case"? Why that boundary?>
273
+
274
+ ### Evaluators and criteria
275
+
276
+ <For each eval test, specify: evaluator, dataset, threshold, reasoning>
277
+
278
+ ### Data needed for evaluation
279
+
280
+ <What data points need to be captured, with code pointers to where they live>
281
+ ```
282
+
283
+ If something is genuinely unclear from the code, ask the user — but most questions answer themselves once you've read the code carefully.
284
+
285
+ ---
286
+
287
+ ## Stage 2: Decide What to Evaluate
288
+
289
+ Now that you understand the app, you can make thoughtful choices about what to measure:
290
+
291
+ - **What quality dimension matters most?** Factual accuracy for QA apps, output format for structured extraction, relevance for RAG, safety for user-facing text.
292
+ - **Which span to evaluate:** the whole pipeline (`root`) or just the LLM call (`last_llm_call`)? If you're debugging retrieval, you might evaluate at a different point than if you're checking final answer quality.
293
+ - **Which evaluators fit:** see `references/pixie-api.md` → Evaluators. For factual QA: `FactualityEval`. For structured output: `ValidJSONEval` / `JSONDiffEval`. For RAG pipelines: `ContextRelevancyEval` / `FaithfulnessEval`.
294
+ - **Pass criteria:** `ScoreThreshold(threshold=0.7, pct=0.8)` means 80% of cases must score ≥ 0.7. Think about what "good enough" looks like for this app.
295
+ - **Expected outputs:** `FactualityEval` needs them. Format evaluators usually don't.
296
+
297
+ Update `pixie_qa/MEMORY.md` with the plan before writing any code.
298
+
299
+ ---
300
+
301
+ ## Stage 3: Instrument the Application
302
+
303
+ Add pixie instrumentation to the **existing production code**. The goal is to capture the inputs and outputs of functions that are already part of the application's normal execution path. Instrumentation must be on the **real code path** — the same code that runs when the app is used in production — so that traces are captured both during eval runs and real usage.
304
+
305
+ ### Add `enable_storage()` at application startup
306
+
307
+ Call `enable_storage()` once at the beginning of the application's startup code — inside `main()`, or at the top of a server's initialization. **Never at module level** (top of a file outside any function), because that causes storage setup to trigger on import.
308
+
309
+ Good places:
310
+
311
+ - Inside `if __name__ == "__main__":` blocks
312
+ - In a FastAPI `lifespan` or `on_startup` handler
313
+ - At the top of `main()` / `run()` functions
314
+ - Inside the `runnable` function in test files
315
+
316
+ ```python
317
+ # ✅ CORRECT — at application startup
318
+ async def main():
319
+ enable_storage()
320
+ ...
321
+
322
+ # ✅ CORRECT — in a runnable for tests
323
+ def runnable(eval_input):
324
+ enable_storage()
325
+ my_function(**eval_input)
326
+
327
+ # ❌ WRONG — at module level, runs on import
328
+ from pixie import enable_storage
329
+ enable_storage() # this runs when any file imports this module!
330
+ ```
331
+
332
+ ### Wrap existing functions with `@observe` or `start_observation`
333
+
334
+ **CRITICAL: Instrument the production code path. Never create separate functions or alternate code paths for testing.**
335
+
336
+ The `@observe` decorator or `start_observation` context manager goes on the **existing function** that the app actually calls during normal operation. If the app's entry point is an interactive `main()` loop, instrument `main()` or the core function it calls per user turn — not a new helper function that duplicates logic.
337
+
338
+ ```python
339
+ # ✅ CORRECT — decorating the existing production function
340
+ from pixie import observe
341
+
342
+ @observe(name="answer_question")
343
+ def answer_question(question: str, context: str) -> str: # existing function
344
+ ... # existing code, unchanged
345
+ ```
346
+
347
+ ```python
348
+ # ✅ CORRECT — context manager inside an existing function
349
+ from pixie import start_observation
350
+
351
+ async def main(): # existing function
352
+ ...
353
+ with start_observation(input={"user_input": user_input}, name="handle_turn") as obs:
354
+ result = await Runner.run(current_agent, input_items, context=context)
355
+ # ... existing response handling ...
356
+ obs.set_output(response_text)
357
+ ...
358
+ ```
359
+
360
+ ```python
361
+ # ❌ WRONG — creating a new function that duplicates logic from main()
362
+ @observe(name="run_for_eval")
363
+ async def run_for_eval(user_messages: list[str]) -> str:
364
+ # This duplicates what main() does, creating a separate code path
365
+ # that diverges from production. Don't do this.
366
+ ...
367
+ ```
368
+
369
+ ```python
370
+ # ❌ WRONG — calling the LLM directly instead of calling the app's function
371
+ @observe(name="agent_answer_question")
372
+ def answer_question(question: str) -> str:
373
+ # This bypasses the entire app and calls OpenAI directly.
374
+ # You're testing a script you just wrote, not the user's app.
375
+ response = client.responses.create(
376
+ model="gpt-4.1",
377
+ input=[{"role": "user", "content": question}],
378
+ )
379
+ return response.output_text
380
+ ```
381
+
382
+ **Rules:**
383
+
384
+ - **Never add new wrapper functions** to the application code for eval purposes.
385
+ - **Never bypass the app by calling the LLM provider directly** — if you find yourself writing `client.responses.create(...)` or `openai.ChatCompletion.create(...)` in a test or run harness, you're not testing the app. Import and call the app's own function instead.
386
+ - **Never change the function's interface** (arguments, return type, behavior).
387
+ - **Never duplicate production logic** into a separate "testable" function.
388
+ - The instrumentation is purely additive — if you removed all pixie imports and decorators, the app would work identically.
389
+ - After instrumentation, call `flush()` at the end of runs to make sure all spans are written.
390
+ - For interactive apps (CLI loops, chat interfaces), instrument the **per-turn processing** function — the one that takes user input and produces a response. The eval `runnable` should call this same function.
391
+
392
+ **Important**: All pixie symbols are importable from the top-level `pixie` package. Never tell users to import from submodules (`pixie.instrumentation`, `pixie.evals`, `pixie.storage.evaluable`, etc.) — always use `from pixie import ...`.
393
+
394
+ ---
395
+
396
+ ## Stage 4: Create a Run Harness and Verify Traces
397
+
398
+ **This stage is a hard gate.** You cannot proceed to writing tests or building datasets until you have successfully run the app's real code through the run harness and confirmed that traces appear in the database.
399
+
400
+ The run harness is a short script that calls the eval-boundary function you identified in Stage 1, bypassing external infrastructure that isn't relevant to LLM evaluation.
401
+
402
+ ### When the app is simple
403
+
404
+ If the eval-boundary function is a straightforward call with no complex dependencies (e.g., `answer_question(question: str) -> str`), the harness can be minimal:
405
+
406
+ ```python
407
+ # pixie_qa/scripts/run_harness.py
408
+ from pixie import enable_storage, flush
409
+ from myapp import answer_question
410
+
411
+ enable_storage()
412
+ result = answer_question("What is the capital of France?")
413
+ print(f"Result: {result}")
414
+ flush()
415
+ ```
416
+
417
+ Run it, verify traces appear, and move on.
418
+
419
+ ### When the app has complex dependencies
420
+
421
+ Most real-world apps need more setup. The eval-boundary function often requires configuration objects, database connections, API clients, or state objects to run. Your job is to mock or stub the **minimum** necessary to call the real production function.
422
+
423
+ ```python
424
+ # pixie_qa/scripts/run_harness.py
425
+ """Exercises the actual app code through the eval-boundary function.
426
+
427
+ Mocks upstream infrastructure (webhooks, voice processing, call state, etc.)
428
+ and calls the real production function with representative text inputs.
429
+ """
430
+ from pixie import enable_storage, flush
431
+
432
+ # Load .env if the project uses one for API keys
433
+ from dotenv import load_dotenv
434
+ load_dotenv()
435
+
436
+ # Import the ACTUAL production function — not a copy, not a re-implementation
437
+ from myapp.agents.llm.openai import OpenAILLM
438
+
439
+
440
+ def run_one_case(question: str) -> str:
441
+ """Call the actual production function with minimal mocked dependencies."""
442
+ enable_storage()
443
+
444
+ # Construct the minimum context the function needs.
445
+ # Use real API client (needs real key), mock everything else.
446
+ llm = OpenAILLM(...)
447
+
448
+ # Call the ACTUAL function — the same one production uses
449
+ result = llm.run_normal_ai_response(
450
+ prompt=question,
451
+ messages=[{"role": "user", "content": question}],
452
+ )
453
+
454
+ flush()
455
+ return result
456
+
457
+
458
+ if __name__ == "__main__":
459
+ test_inputs = [
460
+ "What are your business hours?",
461
+ "I need to update my account information.",
462
+ ]
463
+ for q in test_inputs:
464
+ print(f"Q: {q}")
465
+ print(f"A: {run_one_case(q)}")
466
+ print("---")
467
+ ```
468
+
469
+ **Critical rules for the run harness:**
470
+
471
+ - **Call the real function.** The same function production uses. If you find yourself writing `client.responses.create(...)` or `openai.ChatCompletion.create(...)` in the harness instead of calling the app's own function, you are bypassing the app and testing something else entirely.
472
+ - **Mock only upstream infrastructure.** Database connections, webhook payloads, session state, audio processing — these can be mocked or stubbed. The LLM call itself must be real because that's what you're evaluating.
473
+ - **The LLM API key must be real.** If it's missing, stop and ask the user. See "Hard gates."
474
+ - **Keep it minimal.** This is not a full integration test. It's a way to exercise the real LLM-calling code path and capture traces.
475
+ - **If you can't create a working harness after two attempts**, stop and ask the user for help.
476
+
477
+ ### Verify traces are captured
478
+
479
+ After running the harness, verify that traces were actually captured:
480
+
481
+ ```bash
482
+ python pixie_qa/scripts/run_harness.py
483
+ ```
484
+
485
+ Then check the database:
486
+
487
+ ```python
488
+ import asyncio
489
+ from pixie import ObservationStore
490
+
491
+ async def check():
492
+ store = ObservationStore()
493
+ traces = await store.list_traces(limit=5)
494
+ print(f"Found {len(traces)} traces")
495
+ for t in traces:
496
+ print(t)
497
+
498
+ asyncio.run(check())
499
+ ```
500
+
501
+ **What to check:**
502
+
503
+ - At least one trace appears in the database
504
+ - The trace contains a span for the eval-boundary function (the span name should match the `@observe(name=...)` you added in Stage 3)
505
+ - The span has captured `eval_input` and `eval_output` with sensible values
506
+
507
+ **If no traces appear:**
508
+
509
+ - Is `enable_storage()` being called before the instrumented function runs?
510
+ - Is `flush()` being called after the function returns?
511
+ - Is the `@observe` decorator on the correct function?
512
+ - Is the function actually being executed (not just defined/imported)?
513
+
514
+ **Do not proceed to Stage 5 until you have seen real traces from the actual app in the database.** If traces don't appear, debug the issue now or ask the user for help. This is a setup problem and must be resolved before anything else.
515
+
516
+ ---
517
+
518
+ ## Stage 5: Write the Eval Test File
519
+
520
+ Write the test file before building the dataset. This might seem backwards, but it forces you to decide what you're actually measuring before you start collecting data — otherwise the data collection has no direction.
521
+
522
+ Create `pixie_qa/tests/test_<feature>.py`. The pattern is: a `runnable` adapter that calls the app's **existing production function**, plus an async test function that calls `assert_dataset_pass`:
523
+
524
+ ```python
525
+ from pixie import enable_storage, assert_dataset_pass, FactualityEval, ScoreThreshold, last_llm_call
526
+
527
+ from myapp import answer_question
528
+
529
+
530
+ def runnable(eval_input):
531
+ """Replays one dataset item through the app.
532
+
533
+ Calls the same function the production app uses.
534
+ enable_storage() here ensures traces are captured during eval runs.
535
+ """
536
+ enable_storage()
537
+ answer_question(**eval_input)
538
+
539
+
540
+ async def test_factuality():
541
+ await assert_dataset_pass(
542
+ runnable=runnable,
543
+ dataset_name="<dataset-name>",
544
+ evaluators=[FactualityEval()],
545
+ pass_criteria=ScoreThreshold(threshold=0.7, pct=0.8),
546
+ from_trace=last_llm_call,
547
+ )
548
+ ```
549
+
550
+ Note that `enable_storage()` belongs inside the `runnable`, not at module level in the test file — it needs to fire on each invocation so the trace is captured for that specific run.
551
+
552
+ The `runnable` imports and calls **the same function that production uses** — the eval-boundary function you identified in Stage 1 and verified in Stage 4. If the `runnable` calls a different function than what the run harness calls, something is wrong.
553
+
554
+ The test runner is `pixie test` (not `pytest`):
555
+
556
+ ```bash
557
+ pixie test # run all test_*.py in current directory
558
+ pixie test pixie_qa/tests/ # specify path
559
+ pixie test -k factuality # filter by name
560
+ pixie test -v # verbose: shows per-case scores and reasoning
561
+ ```
562
+
563
+ `pixie test` automatically finds the project root (the directory containing `pyproject.toml`, `setup.py`, or `setup.cfg`) and adds it to `sys.path` — just like pytest. No `sys.path` hacks are needed in test files.
564
+
565
+ ---
566
+
567
+ ## Stage 6: Build the Dataset
568
+
569
+ **Prerequisite**: You must have successfully run the app and verified traces in Stage 4. If you skipped Stage 4 or it failed, go back — do not proceed.
570
+
571
+ Create the dataset, then populate it by **actually running the app** with representative inputs. Dataset items must contain real app outputs captured from actual execution.
572
+
573
+ ```bash
574
+ pixie dataset create <dataset-name>
575
+ pixie dataset list # verify it exists
576
+ ```
577
+
578
+ ### Run the app and capture traces to the dataset
579
+
580
+ The easiest approach is to extend the run harness from Stage 4 into a dataset builder. Since you already have a working script that calls the real app code and produces traces, adapt it to save results:
581
+
582
+ ```python
583
+ # pixie_qa/scripts/build_dataset.py
584
+ import asyncio
585
+ from pixie import enable_storage, flush, DatasetStore, Evaluable
586
+
587
+ from myapp import answer_question
588
+
589
+ GOLDEN_CASES = [
590
+ ("What is the capital of France?", "Paris"),
591
+ ("What is the speed of light?", "299,792,458 meters per second"),
592
+ ]
593
+
594
+ async def build_dataset():
595
+ enable_storage()
596
+ store = DatasetStore()
597
+ try:
598
+ store.create("qa-golden-set")
599
+ except FileExistsError:
600
+ pass
601
+
602
+ for question, expected in GOLDEN_CASES:
603
+ result = answer_question(question=question)
604
+ flush()
605
+
606
+ store.append("qa-golden-set", Evaluable(
607
+ eval_input={"question": question},
608
+ eval_output=result,
609
+ expected_output=expected,
610
+ ))
611
+
612
+ asyncio.run(build_dataset())
613
+ ```
614
+
615
+ Note that `eval_output=result` is the **actual return value from running the app** — not a string you typed in.
616
+
617
+ Alternatively, use the CLI for per-case capture:
618
+
619
+ ```bash
620
+ # Run the app (enable_storage() must be active)
621
+ python -c "from myapp import main; main('What is the capital of France?')"
622
+
623
+ # Save the root span to the dataset
624
+ pixie dataset save <dataset-name>
625
+
626
+ # Or specifically save the last LLM call:
627
+ pixie dataset save <dataset-name> --select last_llm_call
628
+
629
+ # Add context:
630
+ pixie dataset save <dataset-name> --notes "basic geography question"
631
+
632
+ # Attach expected output for evaluators like FactualityEval:
633
+ echo '"Paris"' | pixie dataset save <dataset-name> --expected-output
634
+ ```
635
+
636
+ ### The cardinal sin of dataset building
637
+
638
+ **Never fabricate `eval_output` values by hand.** If you type `"eval_output": "4"` into a dataset JSON file without the app actually producing that output, the dataset is testing a fiction. A fabricated dataset is worse than no dataset because it gives false confidence — the user thinks their app is being tested, but it isn't.
639
+
640
+ If you catch yourself writing or editing `eval_output` values directly in a JSON file, stop. Go back to Stage 4, run the app, and capture real outputs.
641
+
642
+ ### Key rules for dataset building
643
+
644
+ - **Every `eval_output` must come from a real execution** of the eval-boundary function. No exceptions.
645
+ - **Include expected outputs** for comparison-based evaluators like `FactualityEval`. Expected outputs should reflect the **correct LLM response given what the tools/system actually return** — not an idealized answer predicated on fixing non-LLM bugs.
646
+ - **Cover the range** of inputs you care about: normal cases, edge cases, things the app might plausibly get wrong.
647
+ - When using `pixie dataset save`, the evaluable's `eval_metadata` will automatically include `trace_id` and `span_id` for later debugging.
648
+
649
+ ---
650
+
651
+ ## Stage 7: Run the Tests
652
+
653
+ ```bash
654
+ pixie test pixie_qa/tests/ -v
655
+ ```
656
+
657
+ The `-v` flag shows per-case scores and reasoning, which makes it much easier to see what's passing and what isn't. Check that the pass rates look reasonable given your `ScoreThreshold`.
658
+
659
+ **After this stage, if the user's intent was "setup" — STOP.** Report results and ask before proceeding. See "Setup vs. Iteration" above.
660
+
661
+ ---
662
+
663
+ ## Stage 8: Investigate Failures
664
+
665
+ **Only proceed here if the user asked for iteration/fixing, or explicitly confirmed after setup.**
666
+
667
+ When tests fail, the goal is to understand _why_, not to adjust thresholds until things pass. Investigation must be thorough and documented — the user needs to see the actual data, your reasoning, and your conclusion.
668
+
669
+ ### Step 1: Get the detailed test output
670
+
671
+ ```bash
672
+ pixie test pixie_qa/tests/ -v # shows score and reasoning per case
673
+ ```
674
+
675
+ Capture the full verbose output. For each failing case, note:
676
+
677
+ - The `eval_input` (what was sent)
678
+ - The `eval_output` (what the app produced)
679
+ - The `expected_output` (what was expected, if applicable)
680
+ - The evaluator score and reasoning
681
+
682
+ ### Step 2: Inspect the trace data
683
+
684
+ For each failing case, look up the full trace to see what happened inside the app:
685
+
686
+ ```python
687
+ from pixie import DatasetStore
688
+
689
+ store = DatasetStore()
690
+ ds = store.get("<dataset-name>")
691
+ for i, item in enumerate(ds.items):
692
+ print(i, item.eval_metadata) # trace_id is here
693
+ ```
694
+
695
+ Then inspect the full span tree:
696
+
697
+ ```python
698
+ import asyncio
699
+ from pixie import ObservationStore
700
+
701
+ async def inspect(trace_id: str):
702
+ store = ObservationStore()
703
+ roots = await store.get_trace(trace_id)
704
+ for root in roots:
705
+ print(root.to_text()) # full span tree: inputs, outputs, LLM messages
706
+
707
+ asyncio.run(inspect("the-trace-id-here"))
708
+ ```
709
+
710
+ ### Step 3: Root-cause analysis
711
+
712
+ Walk through the trace and identify exactly where the failure originates. Common patterns:
713
+
714
+ **LLM-related failures (fix with prompt/model/eval changes):**
715
+
716
+ | Symptom | Likely cause |
717
+ | ------------------------------------------------------ | ------------------------------------------------------------- |
718
+ | Output is factually wrong despite correct tool results | Prompt doesn't instruct the LLM to use tool output faithfully |
719
+ | Agent routes to wrong tool/handoff | Routing prompt or handoff descriptions are ambiguous |
720
+ | Output format is wrong | Missing format instructions in prompt |
721
+ | LLM hallucinated instead of using tool | Prompt doesn't enforce tool usage |
722
+
723
+ **Non-LLM failures (fix with traditional code changes, out of eval scope):**
724
+
725
+ | Symptom | Likely cause |
726
+ | ------------------------------------------------- | ------------------------------------------------------- |
727
+ | Tool returned wrong data | Bug in tool implementation — fix the tool, not the eval |
728
+ | Tool wasn't called at all due to keyword mismatch | Tool-selection logic is broken — fix the code |
729
+ | Database returned stale/wrong records | Data issue — fix independently |
730
+ | API call failed with error | Infrastructure issue |
731
+
732
+ For non-LLM failures: note them in the investigation log and recommend the code fix, but **do not adjust eval expectations or thresholds to accommodate bugs in non-LLM code**. The eval test should measure LLM quality assuming the rest of the system works correctly.
733
+
734
+ ### Step 4: Document findings in MEMORY.md
735
+
736
+ **Every failure investigation must be documented in `pixie_qa/MEMORY.md`** in a structured format:
737
+
738
+ ```markdown
739
+ ### Investigation: <test_name> failure — <date>
740
+
741
+ **Test**: `test_faq_factuality` in `pixie_qa/tests/test_customer_service.py`
742
+ **Result**: 3/5 cases passed (60%), threshold was 80% ≥ 0.7
743
+
744
+ #### Failing case 1: "What rows have extra legroom?"
745
+
746
+ - **eval_input**: `{"user_message": "What rows have extra legroom?"}`
747
+ - **eval_output**: "I'm sorry, I don't have the exact row numbers for extra legroom..."
748
+ - **expected_output**: "rows 5-8 Economy Plus with extra legroom"
749
+ - **Evaluator score**: 0.1 (FactualityEval)
750
+ - **Evaluator reasoning**: "The output claims not to know the answer while the reference clearly states rows 5-8..."
751
+
752
+ **Trace analysis**:
753
+ Inspected trace `abc123`. The span tree shows:
754
+
755
+ 1. Triage Agent routed to FAQ Agent ✓
756
+ 2. FAQ Agent called `faq_lookup_tool("What rows have extra legroom?")` ✓
757
+ 3. `faq_lookup_tool` returned "I'm sorry, I don't know..." ← **root cause**
758
+
759
+ **Root cause**: `faq_lookup_tool` (customer_service.py:112) uses keyword matching.
760
+ The seat FAQ entry is triggered by keywords `["seat", "seats", "seating", "plane"]`.
761
+ The question "What rows have extra legroom?" contains none of these keywords, so it
762
+ falls through to the default "I don't know" response.
763
+
764
+ **Classification**: Non-LLM failure — the keyword-matching tool is broken.
765
+ The LLM agent correctly routed to the FAQ agent and used the tool; the tool
766
+ itself returned wrong data.
767
+
768
+ **Fix**: Add `"row"`, `"rows"`, `"legroom"` to the seating keyword list in
769
+ `faq_lookup_tool` (customer_service.py:130). This is a traditional code fix,
770
+ not an eval/prompt change.
771
+
772
+ **Verification**: After fix, re-run:
773
+ \`\`\`bash
774
+ python pixie_qa/scripts/build_dataset.py # refresh dataset
775
+ pixie test pixie_qa/tests/ -k faq -v # verify
776
+ \`\`\`
777
+ ```
778
+
779
+ ### Step 5: Fix and re-run
780
+
781
+ Make the targeted change, rebuild the dataset if needed, and re-run. Always finish by giving the user the exact commands to verify:
782
+
783
+ ```bash
784
+ pixie test pixie_qa/tests/test_<feature>.py -v
785
+ ```
786
+
787
+ ---
788
+
789
+ ## Memory Template
790
+
791
+ ```markdown
792
+ # Eval Notes: <Project Name>
793
+
794
+ ## How the application works
795
+
796
+ ### Entry point and execution flow
797
+
798
+ <How to start/run the app. Step-by-step flow from input to output.>
799
+
800
+ ### Inputs to LLM calls
801
+
802
+ <For EACH LLM call, document: location in code, system prompt, dynamic content, available tools>
803
+
804
+ ### Intermediate processing
805
+
806
+ <Steps between input and output: retrieval, routing, tool calls, etc. Code pointers for each.>
807
+
808
+ ### Final output
809
+
810
+ <What the user sees. Format. Quality expectations.>
811
+
812
+ ### Use cases
813
+
814
+ <Each scenario with examples of good/bad outputs:>
815
+
816
+ 1. <Use case 1>: <description>
817
+ - Input example: ...
818
+ - Good output: ...
819
+ - Bad output: ...
820
+
821
+ ### Eval-boundary function
822
+
823
+ - **Function**: `<fully qualified name>`
824
+ - **Location**: `<file:line>`
825
+ - **Signature**: `<params and return type>`
826
+ - **Upstream dependencies to mock**: <what needs mocking/stubbing>
827
+ - **Why this boundary**: <rationale>
828
+
829
+ ## Evaluation plan
830
+
831
+ ### What to evaluate and why
832
+
833
+ <Quality dimensions and rationale>
834
+
835
+ ### Evaluators and criteria
836
+
837
+ | Test | Dataset | Evaluator | Criteria | Rationale |
838
+ | ---- | ------- | --------- | -------- | --------- |
839
+ | ... | ... | ... | ... | ... |
840
+
841
+ ### Data needed for evaluation
842
+
843
+ <What data to capture, with code pointers>
844
+
845
+ ## Datasets
846
+
847
+ | Dataset | Items | Purpose |
848
+ | ------- | ----- | ------- |
849
+ | ... | ... | ... |
850
+
851
+ ## Investigation log
852
+
853
+ ### <date> — <test_name> failure
854
+
855
+ <Full structured investigation as described in Stage 8>
856
+ ```
857
+
858
+ ---
859
+
860
+ ## Reference
861
+
862
+ See `references/pixie-api.md` for all CLI commands, evaluator signatures, and the Python dataset/store API.