@bcelep/capint 0.4.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1344) hide show
  1. package/AGENT.md +11 -1
  2. package/CHANGELOG.md +124 -0
  3. package/README.md +38 -10
  4. package/bin/capint.js +22 -1
  5. package/docs/PRD-capint.md +94 -0
  6. package/docs/PRD-v0.5-agent-capability-activation.md +439 -0
  7. package/docs/architecture-decisions.md +2 -0
  8. package/docs/capint-rehber.md +439 -0
  9. package/docs/capint-stack.md +118 -0
  10. package/docs/community.md +19 -0
  11. package/docs/conventions/cli-scripting.md +60 -0
  12. package/docs/conventions/daily-use.md +146 -0
  13. package/docs/conventions/task-to-capability-cheatsheet.md +29 -0
  14. package/docs/eval/beginner-test-protocol.md +39 -0
  15. package/docs/eval/survey-template.md +16 -0
  16. package/docs/execution-intent-contract.md +31 -3
  17. package/docs/generated/README.md +6 -0
  18. package/docs/generated/execution-intent.v1.md +211 -0
  19. package/docs/generated/explanation.v1.md +127 -0
  20. package/docs/generated/explanation.v2.md +142 -0
  21. package/docs/generated/ui-api.v1.md +178 -0
  22. package/docs/kullanim-kilavuzu.md +374 -0
  23. package/docs/maintainer-dogfood.md +91 -0
  24. package/docs/recipes/memory-graph-pairing.md +200 -0
  25. package/docs/skill-audit-runbook.md +32 -0
  26. package/locales/en.json +27 -0
  27. package/locales/tr.json +27 -0
  28. package/package.json +14 -3
  29. package/projections/session-start.md +26 -6
  30. package/registry.json +117 -4
  31. package/schemas/execution-intent.v1.json +69 -0
  32. package/schemas/explanation.v1.json +48 -0
  33. package/schemas/explanation.v2.json +51 -0
  34. package/schemas/ui-api.v1.json +85 -0
  35. package/scripts/capint-task.ps1 +38 -0
  36. package/scripts/capint-task.sh +40 -0
  37. package/scripts/generate-schema-docs.mjs +104 -0
  38. package/scripts/release-check.mjs +24 -1
  39. package/scripts/validate-registry.mjs +44 -0
  40. package/skill-routing-matrix.json +50 -4
  41. package/skills/agent-browser/LICENSE +201 -0
  42. package/skills/agent-browser/SKILL.md +522 -0
  43. package/skills/agent-browser/agents/verdent.yaml +7 -0
  44. package/skills/agent-browser/assets/icon-dark.png +0 -0
  45. package/skills/agent-browser/assets/icon-light.png +0 -0
  46. package/skills/agent-browser/references/authentication.md +202 -0
  47. package/skills/agent-browser/references/commands.md +263 -0
  48. package/skills/agent-browser/references/profiling.md +120 -0
  49. package/skills/agent-browser/references/proxy-support.md +194 -0
  50. package/skills/agent-browser/references/session-management.md +193 -0
  51. package/skills/agent-browser/references/snapshot-refs.md +194 -0
  52. package/skills/agent-browser/references/video-recording.md +173 -0
  53. package/skills/agent-browser/templates/authenticated-session.sh +105 -0
  54. package/skills/agent-browser/templates/capture-workflow.sh +69 -0
  55. package/skills/agent-browser/templates/form-automation.sh +62 -0
  56. package/skills/algorithmic-art/LICENSE.txt +202 -0
  57. package/skills/algorithmic-art/SKILL.md +410 -0
  58. package/skills/algorithmic-art/agents/verdent.yaml +11 -0
  59. package/skills/algorithmic-art/assets/icon-dark.png +0 -0
  60. package/skills/algorithmic-art/assets/icon-light.png +0 -0
  61. package/skills/algorithmic-art/templates/generator_template.js +223 -0
  62. package/skills/algorithmic-art/templates/viewer.html +599 -0
  63. package/skills/api-and-interface-design/SKILL.md +294 -0
  64. package/skills/aspnet-core/LICENSE.txt +202 -0
  65. package/skills/aspnet-core/SKILL.md +67 -0
  66. package/skills/aspnet-core/agents/verdent.yaml +11 -0
  67. package/skills/aspnet-core/assets/dotnet-logo.png +0 -0
  68. package/skills/aspnet-core/assets/icon-dark.png +0 -0
  69. package/skills/aspnet-core/assets/icon-light.png +0 -0
  70. package/skills/aspnet-core/references/_sections.md +40 -0
  71. package/skills/aspnet-core/references/apis-minimal-and-controllers.md +81 -0
  72. package/skills/aspnet-core/references/data-state-and-services.md +69 -0
  73. package/skills/aspnet-core/references/program-and-pipeline.md +103 -0
  74. package/skills/aspnet-core/references/realtime-grpc-and-background-work.md +58 -0
  75. package/skills/aspnet-core/references/security-and-identity.md +75 -0
  76. package/skills/aspnet-core/references/source-map.md +43 -0
  77. package/skills/aspnet-core/references/stack-selection.md +63 -0
  78. package/skills/aspnet-core/references/testing-performance-and-operations.md +92 -0
  79. package/skills/aspnet-core/references/ui-blazor.md +53 -0
  80. package/skills/aspnet-core/references/ui-mvc.md +56 -0
  81. package/skills/aspnet-core/references/ui-razor-pages.md +55 -0
  82. package/skills/aspnet-core/references/versioning-and-upgrades.md +51 -0
  83. package/skills/auth-patterns/SKILL.md +549 -0
  84. package/skills/best-practices/SKILL.md +641 -0
  85. package/skills/better-auth-best-practices/SKILL.md +180 -0
  86. package/skills/better-auth-best-practices/agents/verdent.yaml +11 -0
  87. package/skills/better-auth-best-practices/assets/icon-dark.png +0 -0
  88. package/skills/better-auth-best-practices/assets/icon-light.png +0 -0
  89. package/skills/brainstorming/SKILL.md +164 -0
  90. package/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  91. package/skills/brainstorming/visual-companion.md +287 -0
  92. package/skills/canvas-design/LICENSE.txt +202 -0
  93. package/skills/canvas-design/SKILL.md +135 -0
  94. package/skills/canvas-design/agents/verdent.yaml +11 -0
  95. package/skills/canvas-design/assets/icon-dark.png +0 -0
  96. package/skills/canvas-design/assets/icon-light.png +0 -0
  97. package/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  98. package/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  99. package/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  100. package/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  101. package/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  102. package/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  103. package/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  104. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  105. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  106. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  107. package/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  108. package/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  109. package/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  110. package/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  111. package/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  112. package/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  113. package/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  114. package/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  115. package/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  116. package/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  117. package/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  118. package/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  119. package/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  120. package/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  121. package/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  122. package/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  123. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  124. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  125. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  126. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  127. package/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  128. package/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  129. package/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  130. package/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  131. package/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  132. package/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  133. package/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  134. package/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  135. package/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  136. package/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  137. package/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  138. package/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  139. package/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  140. package/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  141. package/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  142. package/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  143. package/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  144. package/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  145. package/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  146. package/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  147. package/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  148. package/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  149. package/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  150. package/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  151. package/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  152. package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  153. package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  154. package/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  155. package/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  156. package/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  157. package/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  158. package/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  159. package/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  160. package/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  161. package/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  162. package/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  163. package/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  164. package/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  165. package/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  166. package/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  167. package/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  168. package/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  169. package/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  170. package/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  171. package/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  172. package/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  173. package/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  174. package/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  175. package/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  176. package/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  177. package/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  178. package/skills/ci-cd-and-automation/SKILL.md +390 -0
  179. package/skills/cloudflare/SKILL.md +233 -0
  180. package/skills/cloudflare/agents/verdent.yaml +12 -0
  181. package/skills/cloudflare/assets/icon-dark.png +0 -0
  182. package/skills/cloudflare/assets/icon-light.png +0 -0
  183. package/skills/cloudflare/references/agents-sdk/README.md +89 -0
  184. package/skills/cloudflare/references/agents-sdk/api.md +190 -0
  185. package/skills/cloudflare/references/agents-sdk/configuration.md +182 -0
  186. package/skills/cloudflare/references/agents-sdk/gotchas.md +158 -0
  187. package/skills/cloudflare/references/agents-sdk/patterns.md +192 -0
  188. package/skills/cloudflare/references/ai-gateway/README.md +175 -0
  189. package/skills/cloudflare/references/ai-gateway/configuration.md +111 -0
  190. package/skills/cloudflare/references/ai-gateway/dynamic-routing.md +82 -0
  191. package/skills/cloudflare/references/ai-gateway/features.md +96 -0
  192. package/skills/cloudflare/references/ai-gateway/sdk-integration.md +114 -0
  193. package/skills/cloudflare/references/ai-gateway/troubleshooting.md +88 -0
  194. package/skills/cloudflare/references/ai-search/README.md +138 -0
  195. package/skills/cloudflare/references/ai-search/api.md +87 -0
  196. package/skills/cloudflare/references/ai-search/configuration.md +88 -0
  197. package/skills/cloudflare/references/ai-search/gotchas.md +81 -0
  198. package/skills/cloudflare/references/ai-search/patterns.md +85 -0
  199. package/skills/cloudflare/references/analytics-engine/README.md +94 -0
  200. package/skills/cloudflare/references/analytics-engine/api.md +112 -0
  201. package/skills/cloudflare/references/analytics-engine/configuration.md +112 -0
  202. package/skills/cloudflare/references/analytics-engine/gotchas.md +85 -0
  203. package/skills/cloudflare/references/analytics-engine/patterns.md +83 -0
  204. package/skills/cloudflare/references/api/README.md +66 -0
  205. package/skills/cloudflare/references/api/api.md +204 -0
  206. package/skills/cloudflare/references/api/configuration.md +160 -0
  207. package/skills/cloudflare/references/api/gotchas.md +225 -0
  208. package/skills/cloudflare/references/api/patterns.md +204 -0
  209. package/skills/cloudflare/references/api-shield/README.md +44 -0
  210. package/skills/cloudflare/references/api-shield/api.md +141 -0
  211. package/skills/cloudflare/references/api-shield/configuration.md +192 -0
  212. package/skills/cloudflare/references/api-shield/gotchas.md +125 -0
  213. package/skills/cloudflare/references/api-shield/patterns.md +180 -0
  214. package/skills/cloudflare/references/argo-smart-routing/README.md +90 -0
  215. package/skills/cloudflare/references/argo-smart-routing/api.md +240 -0
  216. package/skills/cloudflare/references/argo-smart-routing/configuration.md +197 -0
  217. package/skills/cloudflare/references/argo-smart-routing/gotchas.md +111 -0
  218. package/skills/cloudflare/references/argo-smart-routing/patterns.md +104 -0
  219. package/skills/cloudflare/references/bindings/README.md +122 -0
  220. package/skills/cloudflare/references/bindings/api.md +203 -0
  221. package/skills/cloudflare/references/bindings/configuration.md +188 -0
  222. package/skills/cloudflare/references/bindings/gotchas.md +208 -0
  223. package/skills/cloudflare/references/bindings/patterns.md +200 -0
  224. package/skills/cloudflare/references/bot-management/README.md +94 -0
  225. package/skills/cloudflare/references/bot-management/api.md +169 -0
  226. package/skills/cloudflare/references/bot-management/configuration.md +163 -0
  227. package/skills/cloudflare/references/bot-management/gotchas.md +114 -0
  228. package/skills/cloudflare/references/bot-management/patterns.md +182 -0
  229. package/skills/cloudflare/references/browser-rendering/README.md +78 -0
  230. package/skills/cloudflare/references/browser-rendering/api.md +108 -0
  231. package/skills/cloudflare/references/browser-rendering/configuration.md +78 -0
  232. package/skills/cloudflare/references/browser-rendering/gotchas.md +88 -0
  233. package/skills/cloudflare/references/browser-rendering/patterns.md +91 -0
  234. package/skills/cloudflare/references/c3/README.md +111 -0
  235. package/skills/cloudflare/references/c3/api.md +71 -0
  236. package/skills/cloudflare/references/c3/configuration.md +81 -0
  237. package/skills/cloudflare/references/c3/gotchas.md +92 -0
  238. package/skills/cloudflare/references/c3/patterns.md +82 -0
  239. package/skills/cloudflare/references/cache-reserve/README.md +147 -0
  240. package/skills/cloudflare/references/cache-reserve/api.md +194 -0
  241. package/skills/cloudflare/references/cache-reserve/configuration.md +169 -0
  242. package/skills/cloudflare/references/cache-reserve/gotchas.md +132 -0
  243. package/skills/cloudflare/references/cache-reserve/patterns.md +197 -0
  244. package/skills/cloudflare/references/containers/README.md +85 -0
  245. package/skills/cloudflare/references/containers/api.md +187 -0
  246. package/skills/cloudflare/references/containers/configuration.md +188 -0
  247. package/skills/cloudflare/references/containers/gotchas.md +178 -0
  248. package/skills/cloudflare/references/containers/patterns.md +202 -0
  249. package/skills/cloudflare/references/cron-triggers/README.md +99 -0
  250. package/skills/cloudflare/references/cron-triggers/api.md +196 -0
  251. package/skills/cloudflare/references/cron-triggers/configuration.md +180 -0
  252. package/skills/cloudflare/references/cron-triggers/gotchas.md +199 -0
  253. package/skills/cloudflare/references/cron-triggers/patterns.md +190 -0
  254. package/skills/cloudflare/references/d1/README.md +133 -0
  255. package/skills/cloudflare/references/d1/api.md +196 -0
  256. package/skills/cloudflare/references/d1/configuration.md +188 -0
  257. package/skills/cloudflare/references/d1/gotchas.md +98 -0
  258. package/skills/cloudflare/references/d1/patterns.md +189 -0
  259. package/skills/cloudflare/references/ddos/README.md +41 -0
  260. package/skills/cloudflare/references/ddos/api.md +164 -0
  261. package/skills/cloudflare/references/ddos/configuration.md +93 -0
  262. package/skills/cloudflare/references/ddos/gotchas.md +107 -0
  263. package/skills/cloudflare/references/ddos/patterns.md +174 -0
  264. package/skills/cloudflare/references/do-storage/README.md +75 -0
  265. package/skills/cloudflare/references/do-storage/api.md +102 -0
  266. package/skills/cloudflare/references/do-storage/configuration.md +112 -0
  267. package/skills/cloudflare/references/do-storage/gotchas.md +150 -0
  268. package/skills/cloudflare/references/do-storage/patterns.md +194 -0
  269. package/skills/cloudflare/references/do-storage/testing.md +183 -0
  270. package/skills/cloudflare/references/durable-objects/README.md +185 -0
  271. package/skills/cloudflare/references/durable-objects/api.md +187 -0
  272. package/skills/cloudflare/references/durable-objects/configuration.md +160 -0
  273. package/skills/cloudflare/references/durable-objects/gotchas.md +197 -0
  274. package/skills/cloudflare/references/durable-objects/patterns.md +201 -0
  275. package/skills/cloudflare/references/email-routing/README.md +89 -0
  276. package/skills/cloudflare/references/email-routing/api.md +195 -0
  277. package/skills/cloudflare/references/email-routing/configuration.md +186 -0
  278. package/skills/cloudflare/references/email-routing/gotchas.md +196 -0
  279. package/skills/cloudflare/references/email-routing/patterns.md +229 -0
  280. package/skills/cloudflare/references/email-workers/README.md +151 -0
  281. package/skills/cloudflare/references/email-workers/api.md +237 -0
  282. package/skills/cloudflare/references/email-workers/configuration.md +112 -0
  283. package/skills/cloudflare/references/email-workers/gotchas.md +125 -0
  284. package/skills/cloudflare/references/email-workers/patterns.md +102 -0
  285. package/skills/cloudflare/references/graphql-api/README.md +147 -0
  286. package/skills/cloudflare/references/graphql-api/api.md +175 -0
  287. package/skills/cloudflare/references/graphql-api/configuration.md +118 -0
  288. package/skills/cloudflare/references/graphql-api/gotchas.md +110 -0
  289. package/skills/cloudflare/references/graphql-api/patterns.md +225 -0
  290. package/skills/cloudflare/references/hyperdrive/README.md +82 -0
  291. package/skills/cloudflare/references/hyperdrive/api.md +143 -0
  292. package/skills/cloudflare/references/hyperdrive/configuration.md +159 -0
  293. package/skills/cloudflare/references/hyperdrive/gotchas.md +77 -0
  294. package/skills/cloudflare/references/hyperdrive/patterns.md +190 -0
  295. package/skills/cloudflare/references/images/README.md +61 -0
  296. package/skills/cloudflare/references/images/api.md +96 -0
  297. package/skills/cloudflare/references/images/configuration.md +211 -0
  298. package/skills/cloudflare/references/images/gotchas.md +99 -0
  299. package/skills/cloudflare/references/images/patterns.md +115 -0
  300. package/skills/cloudflare/references/kv/README.md +89 -0
  301. package/skills/cloudflare/references/kv/api.md +160 -0
  302. package/skills/cloudflare/references/kv/configuration.md +144 -0
  303. package/skills/cloudflare/references/kv/gotchas.md +131 -0
  304. package/skills/cloudflare/references/kv/patterns.md +196 -0
  305. package/skills/cloudflare/references/miniflare/README.md +105 -0
  306. package/skills/cloudflare/references/miniflare/api.md +187 -0
  307. package/skills/cloudflare/references/miniflare/configuration.md +173 -0
  308. package/skills/cloudflare/references/miniflare/gotchas.md +160 -0
  309. package/skills/cloudflare/references/miniflare/patterns.md +181 -0
  310. package/skills/cloudflare/references/network-interconnect/README.md +99 -0
  311. package/skills/cloudflare/references/network-interconnect/api.md +199 -0
  312. package/skills/cloudflare/references/network-interconnect/configuration.md +114 -0
  313. package/skills/cloudflare/references/network-interconnect/gotchas.md +165 -0
  314. package/skills/cloudflare/references/network-interconnect/patterns.md +166 -0
  315. package/skills/cloudflare/references/observability/README.md +88 -0
  316. package/skills/cloudflare/references/observability/api.md +164 -0
  317. package/skills/cloudflare/references/observability/configuration.md +169 -0
  318. package/skills/cloudflare/references/observability/gotchas.md +115 -0
  319. package/skills/cloudflare/references/observability/patterns.md +105 -0
  320. package/skills/cloudflare/references/pages/README.md +88 -0
  321. package/skills/cloudflare/references/pages/api.md +204 -0
  322. package/skills/cloudflare/references/pages/configuration.md +201 -0
  323. package/skills/cloudflare/references/pages/gotchas.md +203 -0
  324. package/skills/cloudflare/references/pages/patterns.md +204 -0
  325. package/skills/cloudflare/references/pages-functions/README.md +98 -0
  326. package/skills/cloudflare/references/pages-functions/api.md +143 -0
  327. package/skills/cloudflare/references/pages-functions/configuration.md +122 -0
  328. package/skills/cloudflare/references/pages-functions/gotchas.md +94 -0
  329. package/skills/cloudflare/references/pages-functions/patterns.md +137 -0
  330. package/skills/cloudflare/references/pipelines/README.md +105 -0
  331. package/skills/cloudflare/references/pipelines/api.md +208 -0
  332. package/skills/cloudflare/references/pipelines/configuration.md +98 -0
  333. package/skills/cloudflare/references/pipelines/gotchas.md +80 -0
  334. package/skills/cloudflare/references/pipelines/patterns.md +87 -0
  335. package/skills/cloudflare/references/pulumi/README.md +100 -0
  336. package/skills/cloudflare/references/pulumi/api.md +200 -0
  337. package/skills/cloudflare/references/pulumi/configuration.md +198 -0
  338. package/skills/cloudflare/references/pulumi/gotchas.md +181 -0
  339. package/skills/cloudflare/references/pulumi/patterns.md +191 -0
  340. package/skills/cloudflare/references/queues/README.md +96 -0
  341. package/skills/cloudflare/references/queues/api.md +206 -0
  342. package/skills/cloudflare/references/queues/configuration.md +144 -0
  343. package/skills/cloudflare/references/queues/gotchas.md +206 -0
  344. package/skills/cloudflare/references/queues/patterns.md +220 -0
  345. package/skills/cloudflare/references/r2/README.md +95 -0
  346. package/skills/cloudflare/references/r2/api.md +200 -0
  347. package/skills/cloudflare/references/r2/configuration.md +165 -0
  348. package/skills/cloudflare/references/r2/gotchas.md +190 -0
  349. package/skills/cloudflare/references/r2/patterns.md +193 -0
  350. package/skills/cloudflare/references/r2-data-catalog/README.md +149 -0
  351. package/skills/cloudflare/references/r2-data-catalog/api.md +199 -0
  352. package/skills/cloudflare/references/r2-data-catalog/configuration.md +198 -0
  353. package/skills/cloudflare/references/r2-data-catalog/gotchas.md +170 -0
  354. package/skills/cloudflare/references/r2-data-catalog/patterns.md +191 -0
  355. package/skills/cloudflare/references/r2-sql/README.md +128 -0
  356. package/skills/cloudflare/references/r2-sql/SKILL.md.backup +512 -0
  357. package/skills/cloudflare/references/r2-sql/api.md +158 -0
  358. package/skills/cloudflare/references/r2-sql/configuration.md +147 -0
  359. package/skills/cloudflare/references/r2-sql/gotchas.md +212 -0
  360. package/skills/cloudflare/references/r2-sql/patterns.md +222 -0
  361. package/skills/cloudflare/references/realtime-sfu/README.md +65 -0
  362. package/skills/cloudflare/references/realtime-sfu/api.md +158 -0
  363. package/skills/cloudflare/references/realtime-sfu/configuration.md +137 -0
  364. package/skills/cloudflare/references/realtime-sfu/gotchas.md +133 -0
  365. package/skills/cloudflare/references/realtime-sfu/patterns.md +174 -0
  366. package/skills/cloudflare/references/realtimekit/README.md +113 -0
  367. package/skills/cloudflare/references/realtimekit/api.md +212 -0
  368. package/skills/cloudflare/references/realtimekit/configuration.md +203 -0
  369. package/skills/cloudflare/references/realtimekit/gotchas.md +169 -0
  370. package/skills/cloudflare/references/realtimekit/patterns.md +223 -0
  371. package/skills/cloudflare/references/sandbox/README.md +96 -0
  372. package/skills/cloudflare/references/sandbox/api.md +198 -0
  373. package/skills/cloudflare/references/sandbox/configuration.md +143 -0
  374. package/skills/cloudflare/references/sandbox/gotchas.md +194 -0
  375. package/skills/cloudflare/references/sandbox/patterns.md +201 -0
  376. package/skills/cloudflare/references/secrets-store/README.md +74 -0
  377. package/skills/cloudflare/references/secrets-store/api.md +200 -0
  378. package/skills/cloudflare/references/secrets-store/configuration.md +185 -0
  379. package/skills/cloudflare/references/secrets-store/gotchas.md +97 -0
  380. package/skills/cloudflare/references/secrets-store/patterns.md +207 -0
  381. package/skills/cloudflare/references/smart-placement/README.md +138 -0
  382. package/skills/cloudflare/references/smart-placement/api.md +183 -0
  383. package/skills/cloudflare/references/smart-placement/configuration.md +196 -0
  384. package/skills/cloudflare/references/smart-placement/gotchas.md +174 -0
  385. package/skills/cloudflare/references/smart-placement/patterns.md +183 -0
  386. package/skills/cloudflare/references/snippets/README.md +68 -0
  387. package/skills/cloudflare/references/snippets/api.md +198 -0
  388. package/skills/cloudflare/references/snippets/configuration.md +227 -0
  389. package/skills/cloudflare/references/snippets/gotchas.md +86 -0
  390. package/skills/cloudflare/references/snippets/patterns.md +135 -0
  391. package/skills/cloudflare/references/spectrum/README.md +52 -0
  392. package/skills/cloudflare/references/spectrum/api.md +181 -0
  393. package/skills/cloudflare/references/spectrum/configuration.md +194 -0
  394. package/skills/cloudflare/references/spectrum/gotchas.md +145 -0
  395. package/skills/cloudflare/references/spectrum/patterns.md +196 -0
  396. package/skills/cloudflare/references/static-assets/README.md +65 -0
  397. package/skills/cloudflare/references/static-assets/api.md +199 -0
  398. package/skills/cloudflare/references/static-assets/configuration.md +186 -0
  399. package/skills/cloudflare/references/static-assets/gotchas.md +162 -0
  400. package/skills/cloudflare/references/static-assets/patterns.md +189 -0
  401. package/skills/cloudflare/references/stream/README.md +114 -0
  402. package/skills/cloudflare/references/stream/api-live.md +195 -0
  403. package/skills/cloudflare/references/stream/api.md +199 -0
  404. package/skills/cloudflare/references/stream/configuration.md +141 -0
  405. package/skills/cloudflare/references/stream/gotchas.md +130 -0
  406. package/skills/cloudflare/references/stream/patterns.md +184 -0
  407. package/skills/cloudflare/references/tail-workers/README.md +89 -0
  408. package/skills/cloudflare/references/tail-workers/api.md +200 -0
  409. package/skills/cloudflare/references/tail-workers/configuration.md +176 -0
  410. package/skills/cloudflare/references/tail-workers/gotchas.md +192 -0
  411. package/skills/cloudflare/references/tail-workers/patterns.md +180 -0
  412. package/skills/cloudflare/references/terraform/README.md +102 -0
  413. package/skills/cloudflare/references/terraform/api.md +178 -0
  414. package/skills/cloudflare/references/terraform/configuration.md +197 -0
  415. package/skills/cloudflare/references/terraform/gotchas.md +150 -0
  416. package/skills/cloudflare/references/terraform/patterns.md +174 -0
  417. package/skills/cloudflare/references/tunnel/README.md +129 -0
  418. package/skills/cloudflare/references/tunnel/api.md +193 -0
  419. package/skills/cloudflare/references/tunnel/configuration.md +157 -0
  420. package/skills/cloudflare/references/tunnel/gotchas.md +147 -0
  421. package/skills/cloudflare/references/tunnel/networking.md +168 -0
  422. package/skills/cloudflare/references/tunnel/patterns.md +192 -0
  423. package/skills/cloudflare/references/turn/README.md +82 -0
  424. package/skills/cloudflare/references/turn/api.md +239 -0
  425. package/skills/cloudflare/references/turn/configuration.md +179 -0
  426. package/skills/cloudflare/references/turn/gotchas.md +231 -0
  427. package/skills/cloudflare/references/turn/patterns.md +213 -0
  428. package/skills/cloudflare/references/turnstile/README.md +99 -0
  429. package/skills/cloudflare/references/turnstile/api.md +240 -0
  430. package/skills/cloudflare/references/turnstile/configuration.md +222 -0
  431. package/skills/cloudflare/references/turnstile/gotchas.md +218 -0
  432. package/skills/cloudflare/references/turnstile/patterns.md +193 -0
  433. package/skills/cloudflare/references/vectorize/README.md +133 -0
  434. package/skills/cloudflare/references/vectorize/api.md +88 -0
  435. package/skills/cloudflare/references/vectorize/configuration.md +88 -0
  436. package/skills/cloudflare/references/vectorize/gotchas.md +76 -0
  437. package/skills/cloudflare/references/vectorize/patterns.md +90 -0
  438. package/skills/cloudflare/references/waf/README.md +113 -0
  439. package/skills/cloudflare/references/waf/api.md +202 -0
  440. package/skills/cloudflare/references/waf/configuration.md +203 -0
  441. package/skills/cloudflare/references/waf/gotchas.md +204 -0
  442. package/skills/cloudflare/references/waf/patterns.md +197 -0
  443. package/skills/cloudflare/references/web-analytics/README.md +141 -0
  444. package/skills/cloudflare/references/web-analytics/configuration.md +76 -0
  445. package/skills/cloudflare/references/web-analytics/gotchas.md +82 -0
  446. package/skills/cloudflare/references/web-analytics/integration.md +60 -0
  447. package/skills/cloudflare/references/web-analytics/patterns.md +91 -0
  448. package/skills/cloudflare/references/workerd/README.md +78 -0
  449. package/skills/cloudflare/references/workerd/api.md +185 -0
  450. package/skills/cloudflare/references/workerd/configuration.md +183 -0
  451. package/skills/cloudflare/references/workerd/gotchas.md +139 -0
  452. package/skills/cloudflare/references/workerd/patterns.md +192 -0
  453. package/skills/cloudflare/references/workers/README.md +108 -0
  454. package/skills/cloudflare/references/workers/api.md +195 -0
  455. package/skills/cloudflare/references/workers/configuration.md +185 -0
  456. package/skills/cloudflare/references/workers/frameworks.md +197 -0
  457. package/skills/cloudflare/references/workers/gotchas.md +136 -0
  458. package/skills/cloudflare/references/workers/patterns.md +198 -0
  459. package/skills/cloudflare/references/workers-ai/README.md +197 -0
  460. package/skills/cloudflare/references/workers-ai/api.md +112 -0
  461. package/skills/cloudflare/references/workers-ai/configuration.md +97 -0
  462. package/skills/cloudflare/references/workers-ai/gotchas.md +114 -0
  463. package/skills/cloudflare/references/workers-ai/patterns.md +120 -0
  464. package/skills/cloudflare/references/workers-for-platforms/README.md +89 -0
  465. package/skills/cloudflare/references/workers-for-platforms/api.md +196 -0
  466. package/skills/cloudflare/references/workers-for-platforms/configuration.md +167 -0
  467. package/skills/cloudflare/references/workers-for-platforms/gotchas.md +134 -0
  468. package/skills/cloudflare/references/workers-for-platforms/patterns.md +188 -0
  469. package/skills/cloudflare/references/workers-playground/README.md +127 -0
  470. package/skills/cloudflare/references/workers-playground/api.md +101 -0
  471. package/skills/cloudflare/references/workers-playground/configuration.md +163 -0
  472. package/skills/cloudflare/references/workers-playground/gotchas.md +88 -0
  473. package/skills/cloudflare/references/workers-playground/patterns.md +132 -0
  474. package/skills/cloudflare/references/workers-vpc/README.md +127 -0
  475. package/skills/cloudflare/references/workers-vpc/api.md +202 -0
  476. package/skills/cloudflare/references/workers-vpc/configuration.md +147 -0
  477. package/skills/cloudflare/references/workers-vpc/gotchas.md +167 -0
  478. package/skills/cloudflare/references/workers-vpc/patterns.md +209 -0
  479. package/skills/cloudflare/references/workflows/README.md +69 -0
  480. package/skills/cloudflare/references/workflows/api.md +185 -0
  481. package/skills/cloudflare/references/workflows/configuration.md +151 -0
  482. package/skills/cloudflare/references/workflows/gotchas.md +97 -0
  483. package/skills/cloudflare/references/workflows/patterns.md +175 -0
  484. package/skills/cloudflare/references/wrangler/README.md +135 -0
  485. package/skills/cloudflare/references/wrangler/api.md +188 -0
  486. package/skills/cloudflare/references/wrangler/configuration.md +197 -0
  487. package/skills/cloudflare/references/wrangler/gotchas.md +197 -0
  488. package/skills/cloudflare/references/wrangler/patterns.md +209 -0
  489. package/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md +121 -0
  490. package/skills/cloudflare/references/zaraz/README.md +111 -0
  491. package/skills/cloudflare/references/zaraz/api.md +112 -0
  492. package/skills/cloudflare/references/zaraz/configuration.md +90 -0
  493. package/skills/cloudflare/references/zaraz/gotchas.md +81 -0
  494. package/skills/cloudflare/references/zaraz/patterns.md +74 -0
  495. package/skills/code-reviewer/SKILL.md +347 -0
  496. package/skills/code-simplifier/SKILL.md +124 -0
  497. package/skills/code-simplifier/agents/verdent.yaml +11 -0
  498. package/skills/code-simplifier/assets/icon-dark.png +0 -0
  499. package/skills/code-simplifier/assets/icon-light.png +0 -0
  500. package/skills/concept-modeler/SKILL.md +178 -0
  501. package/skills/context-engineering/SKILL.md +289 -0
  502. package/skills/copywriting/SKILL.md +252 -0
  503. package/skills/copywriting/evals/evals.json +111 -0
  504. package/skills/copywriting/references/copy-frameworks.md +344 -0
  505. package/skills/copywriting/references/natural-transitions.md +272 -0
  506. package/skills/core-web-vitals/SKILL.md +483 -0
  507. package/skills/core-web-vitals/references/LCP.md +208 -0
  508. package/skills/craft-authoring/SKILL.md +123 -0
  509. package/skills/create-design-system-rules/SKILL.md +530 -0
  510. package/skills/create-design-system-rules/agents/verdent.yaml +11 -0
  511. package/skills/create-design-system-rules/assets/icon-dark.png +0 -0
  512. package/skills/create-design-system-rules/assets/icon-light.png +0 -0
  513. package/skills/database-and-data-modeling/SKILL.md +515 -0
  514. package/skills/database-blueprints/SKILL.md +60 -0
  515. package/skills/database-blueprints/agents/verdent.yaml +13 -0
  516. package/skills/database-blueprints/assets/icon-dark.png +0 -0
  517. package/skills/database-blueprints/assets/icon-light.png +0 -0
  518. package/skills/database-blueprints/references/core-schema.md +68 -0
  519. package/skills/database-blueprints/references/migration-safety.md +55 -0
  520. package/skills/database-blueprints/references/mysql.md +50 -0
  521. package/skills/database-blueprints/references/prisma.md +47 -0
  522. package/skills/database-blueprints/references/supabase-postgres.md +63 -0
  523. package/skills/delivery-acceptance/SKILL.md +60 -0
  524. package/skills/delivery-acceptance/agents/verdent.yaml +12 -0
  525. package/skills/delivery-acceptance/assets/icon-dark.png +0 -0
  526. package/skills/delivery-acceptance/assets/icon-light.png +0 -0
  527. package/skills/delivery-acceptance/references/acceptance-checklist.md +44 -0
  528. package/skills/delivery-acceptance/references/mobile-print-file.md +19 -0
  529. package/skills/delivery-acceptance/references/playwright-smoke.md +35 -0
  530. package/skills/dependency-audit/SKILL.md +97 -0
  531. package/skills/deprecation-and-migration/SKILL.md +206 -0
  532. package/skills/design-reviewer/SKILL.md +189 -0
  533. package/skills/develop-web-game/LICENSE.txt +201 -0
  534. package/skills/develop-web-game/SKILL.md +154 -0
  535. package/skills/develop-web-game/agents/verdent.yaml +12 -0
  536. package/skills/develop-web-game/assets/game-small.svg +4 -0
  537. package/skills/develop-web-game/assets/game.png +0 -0
  538. package/skills/develop-web-game/assets/icon-dark.png +0 -0
  539. package/skills/develop-web-game/assets/icon-light.png +0 -0
  540. package/skills/develop-web-game/references/action_payloads.json +7 -0
  541. package/skills/develop-web-game/scripts/web_game_playwright_client.js +356 -0
  542. package/skills/dignified-python/SKILL.md +175 -0
  543. package/skills/dignified-python/agents/verdent.yaml +11 -0
  544. package/skills/dignified-python/assets/icon-dark.png +0 -0
  545. package/skills/dignified-python/assets/icon-light.png +0 -0
  546. package/skills/dignified-python/cli-patterns.md +156 -0
  547. package/skills/dignified-python/dignified-python-core.md +345 -0
  548. package/skills/dignified-python/references/README.md +319 -0
  549. package/skills/dignified-python/references/advanced/api-design.md +230 -0
  550. package/skills/dignified-python/references/advanced/exception-handling.md +185 -0
  551. package/skills/dignified-python/references/advanced/interfaces.md +183 -0
  552. package/skills/dignified-python/references/advanced/typing-advanced.md +158 -0
  553. package/skills/dignified-python/references/checklists.md +134 -0
  554. package/skills/dignified-python/references/module-design.md +214 -0
  555. package/skills/dignified-python/subprocess.md +99 -0
  556. package/skills/dignified-python/versions/python-3.10.md +520 -0
  557. package/skills/dignified-python/versions/python-3.11.md +538 -0
  558. package/skills/dignified-python/versions/python-3.12.md +664 -0
  559. package/skills/dignified-python/versions/python-3.13.md +657 -0
  560. package/skills/dispatching-parallel-agents/SKILL.md +182 -0
  561. package/skills/documentation-and-adrs/SKILL.md +278 -0
  562. package/skills/documentation-sync/SKILL.md +76 -0
  563. package/skills/documentation-writer/SKILL.md +50 -0
  564. package/skills/documentation-writer/agents/verdent.yaml +10 -0
  565. package/skills/documentation-writer/assets/icon-dark.png +0 -0
  566. package/skills/documentation-writer/assets/icon-light.png +0 -0
  567. package/skills/docx/SKILL.md +186 -0
  568. package/skills/docx/agents/verdent.yaml +9 -0
  569. package/skills/docx/assets/docx.png +0 -0
  570. package/skills/docx/assets/icon-dark.png +0 -0
  571. package/skills/docx/assets/icon-light.png +0 -0
  572. package/skills/docx/references/creation-guide.md +309 -0
  573. package/skills/docx/references/xml-editing-guide.md +237 -0
  574. package/skills/docx/scripts/docx_tool.py +164 -0
  575. package/skills/docx/scripts/fixtures/comments.xml +3 -0
  576. package/skills/docx/scripts/fixtures/commentsExtended.xml +3 -0
  577. package/skills/docx/scripts/fixtures/commentsExtensible.xml +3 -0
  578. package/skills/docx/scripts/fixtures/commentsIds.xml +3 -0
  579. package/skills/docx/scripts/fixtures/people.xml +3 -0
  580. package/skills/docx/scripts/internals/__init__.py +0 -0
  581. package/skills/docx/scripts/internals/content.py +307 -0
  582. package/skills/docx/scripts/internals/integrity/__init__.py +0 -0
  583. package/skills/docx/scripts/internals/integrity/foundation.py +559 -0
  584. package/skills/docx/scripts/internals/integrity/orchestrator.py +66 -0
  585. package/skills/docx/scripts/internals/integrity/revision_checker.py +181 -0
  586. package/skills/docx/scripts/internals/integrity/schema_checker.py +294 -0
  587. package/skills/docx/scripts/internals/packaging.py +193 -0
  588. package/skills/docx/scripts/internals/preprocessing/__init__.py +0 -0
  589. package/skills/docx/scripts/internals/preprocessing/revision_merger.py +193 -0
  590. package/skills/docx/scripts/internals/preprocessing/run_consolidator.py +179 -0
  591. package/skills/docx/scripts/internals/runtime/__init__.py +0 -0
  592. package/skills/docx/scripts/internals/runtime/converter.py +184 -0
  593. package/skills/docx/scripts/internals/runtime/renderer.py +60 -0
  594. package/skills/docx/scripts/internals/runtime/revision_acceptor.py +122 -0
  595. package/skills/docx/scripts/render_docx.py +296 -0
  596. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  597. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  598. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  599. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  600. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  601. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  602. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  603. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  604. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  605. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  606. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  607. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  608. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  609. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  610. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  611. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  612. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  613. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  614. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  615. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  616. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  617. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  618. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  619. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  620. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  621. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  622. package/skills/docx/scripts/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  623. package/skills/docx/scripts/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  624. package/skills/docx/scripts/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  625. package/skills/docx/scripts/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  626. package/skills/docx/scripts/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  627. package/skills/docx/scripts/schemas/mce/mc.xsd +75 -0
  628. package/skills/docx/scripts/schemas/microsoft/wml-2010.xsd +560 -0
  629. package/skills/docx/scripts/schemas/microsoft/wml-2012.xsd +67 -0
  630. package/skills/docx/scripts/schemas/microsoft/wml-2018.xsd +14 -0
  631. package/skills/docx/scripts/schemas/microsoft/wml-cex-2018.xsd +20 -0
  632. package/skills/docx/scripts/schemas/microsoft/wml-cid-2016.xsd +13 -0
  633. package/skills/docx/scripts/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  634. package/skills/docx/scripts/schemas/microsoft/wml-symex-2015.xsd +8 -0
  635. package/skills/doubt-driven-development/SKILL.md +243 -0
  636. package/skills/e2e-testing-guide/SKILL.md +204 -0
  637. package/skills/emil-design-eng/SKILL.md +679 -0
  638. package/skills/environment-and-config/SKILL.md +849 -0
  639. package/skills/error-handling/SKILL.md +757 -0
  640. package/skills/excalidraw-diagram-generator/SKILL.md +618 -0
  641. package/skills/excalidraw-diagram-generator/agents/verdent.yaml +11 -0
  642. package/skills/excalidraw-diagram-generator/assets/icon-dark.png +0 -0
  643. package/skills/excalidraw-diagram-generator/assets/icon-light.png +0 -0
  644. package/skills/excalidraw-diagram-generator/references/element-types.md +497 -0
  645. package/skills/excalidraw-diagram-generator/references/excalidraw-schema.md +350 -0
  646. package/skills/excalidraw-diagram-generator/scripts/README.md +193 -0
  647. package/skills/excalidraw-diagram-generator/scripts/add-arrow.py +312 -0
  648. package/skills/excalidraw-diagram-generator/scripts/add-icon-to-diagram.py +404 -0
  649. package/skills/excalidraw-diagram-generator/scripts/split-excalidraw-library.py +183 -0
  650. package/skills/excalidraw-diagram-generator/templates/business-flow-swimlane-template.excalidraw +334 -0
  651. package/skills/excalidraw-diagram-generator/templates/class-diagram-template.excalidraw +558 -0
  652. package/skills/excalidraw-diagram-generator/templates/data-flow-diagram-template.excalidraw +279 -0
  653. package/skills/excalidraw-diagram-generator/templates/er-diagram-template.excalidraw +662 -0
  654. package/skills/excalidraw-diagram-generator/templates/flowchart-template.excalidraw +179 -0
  655. package/skills/excalidraw-diagram-generator/templates/mindmap-template.excalidraw +244 -0
  656. package/skills/excalidraw-diagram-generator/templates/relationship-template.excalidraw +145 -0
  657. package/skills/excalidraw-diagram-generator/templates/sequence-diagram-template.excalidraw +509 -0
  658. package/skills/executing-plans/SKILL.md +245 -0
  659. package/skills/figma/LICENSE.txt +202 -0
  660. package/skills/figma/SKILL.md +53 -0
  661. package/skills/figma/agents/verdent.yaml +7 -0
  662. package/skills/figma/assets/figma.png +0 -0
  663. package/skills/figma/assets/icon-dark.png +0 -0
  664. package/skills/figma/assets/icon-light.png +0 -0
  665. package/skills/figma/assets/icon.svg +28 -0
  666. package/skills/figma/references/figma-mcp-config.md +49 -0
  667. package/skills/figma/references/figma-tools-and-prompts.md +39 -0
  668. package/skills/figma-implement-design/LICENSE.txt +202 -0
  669. package/skills/figma-implement-design/SKILL.md +265 -0
  670. package/skills/figma-implement-design/agents/verdent.yaml +7 -0
  671. package/skills/figma-implement-design/assets/figma.png +0 -0
  672. package/skills/figma-implement-design/assets/icon-dark.png +0 -0
  673. package/skills/figma-implement-design/assets/icon-light.png +0 -0
  674. package/skills/figma-implement-design/assets/icon.svg +28 -0
  675. package/skills/find-docs/SKILL.md +164 -0
  676. package/skills/find-docs/agents/verdent.yaml +11 -0
  677. package/skills/find-docs/assets/icon-dark.png +0 -0
  678. package/skills/find-docs/assets/icon-light.png +0 -0
  679. package/skills/find-skills/SKILL.md +142 -0
  680. package/skills/firecrawl/SKILL.md +131 -0
  681. package/skills/firecrawl/agents/verdent.yaml +11 -0
  682. package/skills/firecrawl/assets/icon-dark.png +0 -0
  683. package/skills/firecrawl/assets/icon-light.png +0 -0
  684. package/skills/firecrawl/rules/install.md +63 -0
  685. package/skills/firecrawl/rules/security.md +26 -0
  686. package/skills/flutter-architecting-apps/SKILL.md +164 -0
  687. package/skills/flutter-architecting-apps/agents/verdent.yaml +11 -0
  688. package/skills/flutter-architecting-apps/assets/icon-dark.png +0 -0
  689. package/skills/flutter-architecting-apps/assets/icon-light.png +0 -0
  690. package/skills/frontend-design-pro/SKILL.md +328 -0
  691. package/skills/frontend-slides/LICENSE +21 -0
  692. package/skills/frontend-slides/SKILL.md +1169 -0
  693. package/skills/frontend-slides/STYLE_PRESETS.md +561 -0
  694. package/skills/frontend-slides/agents/verdent.yaml +7 -0
  695. package/skills/frontend-slides/assets/icon-dark.png +0 -0
  696. package/skills/frontend-slides/assets/icon-light.png +0 -0
  697. package/skills/gh-cli/SKILL.md +2192 -0
  698. package/skills/gh-cli/agents/verdent.yaml +12 -0
  699. package/skills/gh-cli/assets/icon-dark.png +0 -0
  700. package/skills/gh-cli/assets/icon-light.png +0 -0
  701. package/skills/git-commit/SKILL.md +129 -0
  702. package/skills/git-commit/agents/verdent.yaml +11 -0
  703. package/skills/git-commit/assets/icon-dark.png +0 -0
  704. package/skills/git-commit/assets/icon-light.png +0 -0
  705. package/skills/git-workflow-and-versioning/SKILL.md +300 -0
  706. package/skills/graphql-operations/SKILL.md +247 -0
  707. package/skills/graphql-operations/agents/verdent.yaml +11 -0
  708. package/skills/graphql-operations/assets/icon-dark.png +0 -0
  709. package/skills/graphql-operations/assets/icon-light.png +0 -0
  710. package/skills/graphql-operations/references/fragments.md +536 -0
  711. package/skills/graphql-operations/references/mutations.md +435 -0
  712. package/skills/graphql-operations/references/queries.md +504 -0
  713. package/skills/graphql-operations/references/tooling.md +404 -0
  714. package/skills/graphql-operations/references/variables.md +440 -0
  715. package/skills/graphql-schema/SKILL.md +175 -0
  716. package/skills/graphql-schema/agents/verdent.yaml +11 -0
  717. package/skills/graphql-schema/assets/icon-dark.png +0 -0
  718. package/skills/graphql-schema/assets/icon-light.png +0 -0
  719. package/skills/graphql-schema/references/errors.md +388 -0
  720. package/skills/graphql-schema/references/naming.md +400 -0
  721. package/skills/graphql-schema/references/pagination.md +396 -0
  722. package/skills/graphql-schema/references/security.md +484 -0
  723. package/skills/graphql-schema/references/types.md +445 -0
  724. package/skills/hugging-face-model-trainer/SKILL.md +722 -0
  725. package/skills/hugging-face-model-trainer/agents/verdent.yaml +12 -0
  726. package/skills/hugging-face-model-trainer/assets/icon-dark.png +0 -0
  727. package/skills/hugging-face-model-trainer/assets/icon-light.png +0 -0
  728. package/skills/hugging-face-model-trainer/references/gguf_conversion.md +296 -0
  729. package/skills/hugging-face-model-trainer/references/hardware_guide.md +283 -0
  730. package/skills/hugging-face-model-trainer/references/hub_saving.md +364 -0
  731. package/skills/hugging-face-model-trainer/references/local_training_macos.md +231 -0
  732. package/skills/hugging-face-model-trainer/references/reliability_principles.md +371 -0
  733. package/skills/hugging-face-model-trainer/references/trackio_guide.md +189 -0
  734. package/skills/hugging-face-model-trainer/references/training_methods.md +150 -0
  735. package/skills/hugging-face-model-trainer/references/training_patterns.md +203 -0
  736. package/skills/hugging-face-model-trainer/references/troubleshooting.md +282 -0
  737. package/skills/hugging-face-model-trainer/references/unsloth.md +313 -0
  738. package/skills/hugging-face-model-trainer/scripts/convert_to_gguf.py +424 -0
  739. package/skills/hugging-face-model-trainer/scripts/dataset_inspector.py +417 -0
  740. package/skills/hugging-face-model-trainer/scripts/estimate_cost.py +150 -0
  741. package/skills/hugging-face-model-trainer/scripts/train_dpo_example.py +106 -0
  742. package/skills/hugging-face-model-trainer/scripts/train_grpo_example.py +89 -0
  743. package/skills/hugging-face-model-trainer/scripts/train_sft_example.py +122 -0
  744. package/skills/hugging-face-model-trainer/scripts/unsloth_sft_example.py +512 -0
  745. package/skills/imagegen/LICENSE.txt +201 -0
  746. package/skills/imagegen/SKILL.md +180 -0
  747. package/skills/imagegen/agents/verdent.yaml +11 -0
  748. package/skills/imagegen/assets/icon-dark.png +0 -0
  749. package/skills/imagegen/assets/icon-light.png +0 -0
  750. package/skills/imagegen/assets/imagegen-small.svg +5 -0
  751. package/skills/imagegen/assets/imagegen.png +0 -0
  752. package/skills/imagegen/references/cli.md +132 -0
  753. package/skills/imagegen/references/image-api.md +36 -0
  754. package/skills/imagegen/references/network-notes.md +28 -0
  755. package/skills/imagegen/references/prompting.md +81 -0
  756. package/skills/imagegen/references/sample-prompts.md +384 -0
  757. package/skills/imagegen/scripts/image_gen.py +876 -0
  758. package/skills/impeccable/SKILL.md +450 -0
  759. package/skills/impeccable/reference/adapt.md +190 -0
  760. package/skills/impeccable/reference/animate.md +175 -0
  761. package/skills/impeccable/reference/audit.md +133 -0
  762. package/skills/impeccable/reference/bolder.md +113 -0
  763. package/skills/impeccable/reference/brand.md +114 -0
  764. package/skills/impeccable/reference/clarify.md +174 -0
  765. package/skills/impeccable/reference/cognitive-load.md +106 -0
  766. package/skills/impeccable/reference/color-and-contrast.md +105 -0
  767. package/skills/impeccable/reference/colorize.md +154 -0
  768. package/skills/impeccable/reference/craft.md +193 -0
  769. package/skills/impeccable/reference/critique.md +213 -0
  770. package/skills/impeccable/reference/delight.md +302 -0
  771. package/skills/impeccable/reference/distill.md +111 -0
  772. package/skills/impeccable/reference/document.md +427 -0
  773. package/skills/impeccable/reference/extract.md +69 -0
  774. package/skills/impeccable/reference/harden.md +347 -0
  775. package/skills/impeccable/reference/heuristics-scoring.md +234 -0
  776. package/skills/impeccable/reference/interaction-design.md +195 -0
  777. package/skills/impeccable/reference/layout.md +141 -0
  778. package/skills/impeccable/reference/live.md +622 -0
  779. package/skills/impeccable/reference/motion-design.md +109 -0
  780. package/skills/impeccable/reference/onboard.md +234 -0
  781. package/skills/impeccable/reference/optimize.md +258 -0
  782. package/skills/impeccable/reference/overdrive.md +130 -0
  783. package/skills/impeccable/reference/personas.md +179 -0
  784. package/skills/impeccable/reference/polish.md +233 -0
  785. package/skills/impeccable/reference/product.md +62 -0
  786. package/skills/impeccable/reference/quieter.md +99 -0
  787. package/skills/impeccable/reference/responsive-design.md +114 -0
  788. package/skills/impeccable/reference/shape.md +151 -0
  789. package/skills/impeccable/reference/spatial-design.md +100 -0
  790. package/skills/impeccable/reference/teach.md +156 -0
  791. package/skills/impeccable/reference/typeset.md +124 -0
  792. package/skills/impeccable/reference/typography.md +159 -0
  793. package/skills/impeccable/reference/ux-writing.md +107 -0
  794. package/skills/impeccable/references/A11Y-PATTERNS.md +233 -0
  795. package/skills/impeccable/references/WCAG.md +191 -0
  796. package/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  797. package/skills/impeccable/scripts/command-metadata.json +94 -0
  798. package/skills/impeccable/scripts/design-parser.mjs +820 -0
  799. package/skills/impeccable/scripts/detect-csp.mjs +198 -0
  800. package/skills/impeccable/scripts/impeccable-paths.mjs +105 -0
  801. package/skills/impeccable/scripts/is-generated.mjs +69 -0
  802. package/skills/impeccable/scripts/live-accept.mjs +595 -0
  803. package/skills/impeccable/scripts/live-browser-session.js +123 -0
  804. package/skills/impeccable/scripts/live-browser.js +4860 -0
  805. package/skills/impeccable/scripts/live-complete.mjs +75 -0
  806. package/skills/impeccable/scripts/live-completion.mjs +18 -0
  807. package/skills/impeccable/scripts/live-inject.mjs +446 -0
  808. package/skills/impeccable/scripts/live-poll.mjs +200 -0
  809. package/skills/impeccable/scripts/live-resume.mjs +48 -0
  810. package/skills/impeccable/scripts/live-server.mjs +836 -0
  811. package/skills/impeccable/scripts/live-session-store.mjs +254 -0
  812. package/skills/impeccable/scripts/live-status.mjs +47 -0
  813. package/skills/impeccable/scripts/live-wrap.mjs +632 -0
  814. package/skills/impeccable/scripts/live.mjs +247 -0
  815. package/skills/impeccable/scripts/load-context.mjs +141 -0
  816. package/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  817. package/skills/impeccable/scripts/pin.mjs +214 -0
  818. package/skills/improve-codebase-architecture/DEEPENING.md +37 -0
  819. package/skills/improve-codebase-architecture/INTERFACE-DESIGN.md +44 -0
  820. package/skills/improve-codebase-architecture/LANGUAGE.md +53 -0
  821. package/skills/improve-codebase-architecture/SKILL.md +331 -0
  822. package/skills/incident-response/SKILL.md +97 -0
  823. package/skills/interview-me/SKILL.md +221 -0
  824. package/skills/knowledge-base-update/SKILL.md +90 -0
  825. package/skills/langchain-rag/SKILL.md +522 -0
  826. package/skills/langchain-rag/agents/verdent.yaml +12 -0
  827. package/skills/langchain-rag/assets/icon-dark.png +0 -0
  828. package/skills/langchain-rag/assets/icon-light.png +0 -0
  829. package/skills/linear/LICENSE.txt +202 -0
  830. package/skills/linear/SKILL.md +102 -0
  831. package/skills/linear/agents/verdent.yaml +7 -0
  832. package/skills/linear/assets/icon-dark.png +0 -0
  833. package/skills/linear/assets/icon-light.png +0 -0
  834. package/skills/linear/assets/linear.png +0 -0
  835. package/skills/localization-hub/ai-batch.md +23 -0
  836. package/skills/localization-hub/key-naming.md +15 -0
  837. package/skills/localization-hub/route-slugs.md +14 -0
  838. package/skills/mcp-builder/LICENSE.txt +202 -0
  839. package/skills/mcp-builder/SKILL.md +260 -0
  840. package/skills/mcp-builder/agents/verdent.yaml +7 -0
  841. package/skills/mcp-builder/assets/icon-dark.png +0 -0
  842. package/skills/mcp-builder/assets/icon-light.png +0 -0
  843. package/skills/mcp-builder/reference/mcp_best_practices.md +269 -0
  844. package/skills/mcp-builder/reference/node_mcp_server.md +980 -0
  845. package/skills/mcp-builder/reference/python_mcp_server.md +737 -0
  846. package/skills/mcp-builder/scripts/connections.py +151 -0
  847. package/skills/netlify-deploy/LICENSE.txt +201 -0
  848. package/skills/netlify-deploy/SKILL.md +261 -0
  849. package/skills/netlify-deploy/agents/verdent.yaml +7 -0
  850. package/skills/netlify-deploy/assets/icon-dark.png +0 -0
  851. package/skills/netlify-deploy/assets/icon-light.png +0 -0
  852. package/skills/netlify-deploy/assets/netlify.png +0 -0
  853. package/skills/netlify-deploy/references/cli-commands.md +162 -0
  854. package/skills/netlify-deploy/references/deployment-patterns.md +319 -0
  855. package/skills/netlify-deploy/references/netlify-toml.md +259 -0
  856. package/skills/nexus-mapper/SKILL.md +314 -0
  857. package/skills/nexus-mapper/references/language-customization.md +164 -0
  858. package/skills/nexus-mapper/references/output-schema.md +298 -0
  859. package/skills/nexus-mapper/references/probe-protocol.md +246 -0
  860. package/skills/nexus-mapper/scripts/extract_ast.py +705 -0
  861. package/skills/nexus-mapper/scripts/git_detective.py +194 -0
  862. package/skills/nexus-mapper/scripts/languages.json +127 -0
  863. package/skills/nexus-mapper/scripts/query_graph.py +556 -0
  864. package/skills/nexus-mapper/scripts/requirements.txt +6 -0
  865. package/skills/notion-spec-to-implementation/LICENSE.txt +7 -0
  866. package/skills/notion-spec-to-implementation/SKILL.md +67 -0
  867. package/skills/notion-spec-to-implementation/agents/verdent.yaml +7 -0
  868. package/skills/notion-spec-to-implementation/assets/icon-dark.png +0 -0
  869. package/skills/notion-spec-to-implementation/assets/icon-light.png +0 -0
  870. package/skills/notion-spec-to-implementation/assets/notion.png +0 -0
  871. package/skills/notion-spec-to-implementation/evaluations/README.md +130 -0
  872. package/skills/notion-spec-to-implementation/evaluations/basic-spec-implementation.json +31 -0
  873. package/skills/notion-spec-to-implementation/evaluations/spec-to-tasks.json +34 -0
  874. package/skills/notion-spec-to-implementation/examples/api-feature.md +511 -0
  875. package/skills/notion-spec-to-implementation/examples/database-migration.md +89 -0
  876. package/skills/notion-spec-to-implementation/examples/ui-component.md +78 -0
  877. package/skills/notion-spec-to-implementation/reference/milestone-summary-template.md +31 -0
  878. package/skills/notion-spec-to-implementation/reference/progress-tracking.md +507 -0
  879. package/skills/notion-spec-to-implementation/reference/progress-update-template.md +29 -0
  880. package/skills/notion-spec-to-implementation/reference/quick-implementation-plan.md +30 -0
  881. package/skills/notion-spec-to-implementation/reference/spec-parsing.md +406 -0
  882. package/skills/notion-spec-to-implementation/reference/standard-implementation-plan.md +170 -0
  883. package/skills/notion-spec-to-implementation/reference/task-creation-template.md +40 -0
  884. package/skills/notion-spec-to-implementation/reference/task-creation.md +467 -0
  885. package/skills/pdf/LICENSE.txt +201 -0
  886. package/skills/pdf/SKILL.md +715 -0
  887. package/skills/pdf/agents/verdent.yaml +9 -0
  888. package/skills/pdf/assets/icon-dark.png +0 -0
  889. package/skills/pdf/assets/icon-light.png +0 -0
  890. package/skills/pdf/assets/pdf.png +0 -0
  891. package/skills/pdf/reference.md +221 -0
  892. package/skills/performance/SKILL.md +400 -0
  893. package/skills/playwright/LICENSE.txt +201 -0
  894. package/skills/playwright/NOTICE.txt +14 -0
  895. package/skills/playwright/SKILL.md +151 -0
  896. package/skills/playwright/agents/verdent.yaml +7 -0
  897. package/skills/playwright/assets/icon-dark.png +0 -0
  898. package/skills/playwright/assets/icon-light.png +0 -0
  899. package/skills/playwright/assets/playwright.png +0 -0
  900. package/skills/playwright/references/cli.md +116 -0
  901. package/skills/playwright/references/workflows.md +95 -0
  902. package/skills/playwright/scripts/playwright_cli.sh +25 -0
  903. package/skills/playwriter/SKILL.md +69 -0
  904. package/skills/playwriter/agents/verdent.yaml +7 -0
  905. package/skills/playwriter/assets/icon-dark.png +0 -0
  906. package/skills/playwriter/assets/icon-light.png +0 -0
  907. package/skills/pptx/SKILL.md +302 -0
  908. package/skills/pptx/agents/verdent.yaml +9 -0
  909. package/skills/pptx/assets/icon-dark.png +0 -0
  910. package/skills/pptx/assets/icon-light.png +0 -0
  911. package/skills/pptx/references/generate-with-js.md +412 -0
  912. package/skills/pptx/references/modify-workflow.md +157 -0
  913. package/skills/pptx/references/python-charts.md +91 -0
  914. package/skills/pptx/scripts/check_env.py +207 -0
  915. package/skills/pptx/scripts/deck.py +161 -0
  916. package/skills/pptx/scripts/internals/__init__.py +0 -0
  917. package/skills/pptx/scripts/internals/cleanup.py +194 -0
  918. package/skills/pptx/scripts/internals/content.py +62 -0
  919. package/skills/pptx/scripts/internals/create.py +122 -0
  920. package/skills/pptx/scripts/internals/gridshot.py +181 -0
  921. package/skills/pptx/scripts/internals/imaging.py +77 -0
  922. package/skills/pptx/scripts/internals/integrity/__init__.py +0 -0
  923. package/skills/pptx/scripts/internals/integrity/checks.py +318 -0
  924. package/skills/pptx/scripts/internals/packaging.py +127 -0
  925. package/skills/pptx/scripts/internals/runtime/__init__.py +0 -0
  926. package/skills/pptx/scripts/internals/runtime/converter.py +154 -0
  927. package/skills/pptx/scripts/internals/structure.py +162 -0
  928. package/skills/pr-creator/SKILL.md +98 -0
  929. package/skills/pr-creator/agents/verdent.yaml +11 -0
  930. package/skills/pr-creator/assets/icon-dark.png +0 -0
  931. package/skills/pr-creator/assets/icon-light.png +0 -0
  932. package/skills/prd/SKILL.md +148 -0
  933. package/skills/prd/agents/verdent.yaml +11 -0
  934. package/skills/prd/assets/icon-dark.png +0 -0
  935. package/skills/prd/assets/icon-light.png +0 -0
  936. package/skills/prismx-skill-gateway/SKILL.md +186 -0
  937. package/skills/prismx-skill-gateway/references/installed-skills.md +38 -0
  938. package/skills/prismx-skills-catalog/SKILL.md +51 -0
  939. package/skills/prismx-skills-catalog/references/inventory.json +1092 -0
  940. package/skills/prompt-enhancer/SKILL.md +90 -0
  941. package/skills/react-native-best-practices/SKILL.md +241 -0
  942. package/skills/react-native-best-practices/agents/verdent.yaml +11 -0
  943. package/skills/react-native-best-practices/assets/icon-dark.png +0 -0
  944. package/skills/react-native-best-practices/assets/icon-light.png +0 -0
  945. package/skills/react-native-best-practices/references/bundle-analyze-app.md +211 -0
  946. package/skills/react-native-best-practices/references/bundle-analyze-js.md +262 -0
  947. package/skills/react-native-best-practices/references/bundle-barrel-exports.md +248 -0
  948. package/skills/react-native-best-practices/references/bundle-code-splitting.md +224 -0
  949. package/skills/react-native-best-practices/references/bundle-hermes-mmap.md +167 -0
  950. package/skills/react-native-best-practices/references/bundle-library-size.md +177 -0
  951. package/skills/react-native-best-practices/references/bundle-native-assets.md +214 -0
  952. package/skills/react-native-best-practices/references/bundle-r8-android.md +225 -0
  953. package/skills/react-native-best-practices/references/bundle-tree-shaking.md +214 -0
  954. package/skills/react-native-best-practices/references/images/bundle-treemap-source-map-explorer.png +0 -0
  955. package/skills/react-native-best-practices/references/images/controlled-textinput-pingpong.png +0 -0
  956. package/skills/react-native-best-practices/references/images/devtools-flamegraph.png +0 -0
  957. package/skills/react-native-best-practices/references/images/emerge-xray-ios.png +0 -0
  958. package/skills/react-native-best-practices/references/images/expo-atlas-treemap.png +0 -0
  959. package/skills/react-native-best-practices/references/images/flashlight-flatlist-vs-flashlist.png +0 -0
  960. package/skills/react-native-best-practices/references/images/fps-drop-graph.png +0 -0
  961. package/skills/react-native-best-practices/references/images/memory-heap-snapshot.png +0 -0
  962. package/skills/react-native-best-practices/references/images/tti-warm-start-diagram.png +0 -0
  963. package/skills/react-native-best-practices/references/images/view-hierarchy-flattening.png +0 -0
  964. package/skills/react-native-best-practices/references/images/xcode-instruments-templates.png +0 -0
  965. package/skills/react-native-best-practices/references/images/xcode-thread-view.png +0 -0
  966. package/skills/react-native-best-practices/references/js-animations-reanimated.md +254 -0
  967. package/skills/react-native-best-practices/references/js-atomic-state.md +245 -0
  968. package/skills/react-native-best-practices/references/js-concurrent-react.md +236 -0
  969. package/skills/react-native-best-practices/references/js-lists-flatlist-flashlist.md +236 -0
  970. package/skills/react-native-best-practices/references/js-measure-fps.md +180 -0
  971. package/skills/react-native-best-practices/references/js-memory-leaks.md +205 -0
  972. package/skills/react-native-best-practices/references/js-profile-react.md +161 -0
  973. package/skills/react-native-best-practices/references/js-react-compiler.md +368 -0
  974. package/skills/react-native-best-practices/references/js-uncontrolled-components.md +216 -0
  975. package/skills/react-native-best-practices/references/native-android-16kb-alignment.md +113 -0
  976. package/skills/react-native-best-practices/references/native-measure-tti.md +262 -0
  977. package/skills/react-native-best-practices/references/native-memory-leaks.md +240 -0
  978. package/skills/react-native-best-practices/references/native-memory-patterns.md +274 -0
  979. package/skills/react-native-best-practices/references/native-platform-setup.md +110 -0
  980. package/skills/react-native-best-practices/references/native-profiling.md +176 -0
  981. package/skills/react-native-best-practices/references/native-sdks-over-polyfills.md +183 -0
  982. package/skills/react-native-best-practices/references/native-threading-model.md +234 -0
  983. package/skills/react-native-best-practices/references/native-turbo-modules.md +292 -0
  984. package/skills/react-native-best-practices/references/native-view-flattening.md +201 -0
  985. package/skills/redis-development/FULL_GUIDE.md +2216 -0
  986. package/skills/redis-development/SKILL.md +124 -0
  987. package/skills/redis-development/agents/verdent.yaml +12 -0
  988. package/skills/redis-development/assets/icon-dark.png +0 -0
  989. package/skills/redis-development/assets/icon-light.png +0 -0
  990. package/skills/redis-development/assets/logo.png +0 -0
  991. package/skills/redis-development/rules/_contributing.md +97 -0
  992. package/skills/redis-development/rules/_sections.md +50 -0
  993. package/skills/redis-development/rules/_template.md +52 -0
  994. package/skills/redis-development/rules/cluster-hash-tags.md +78 -0
  995. package/skills/redis-development/rules/cluster-read-replicas.md +55 -0
  996. package/skills/redis-development/rules/conn-blocking.md +75 -0
  997. package/skills/redis-development/rules/conn-client-cache.md +70 -0
  998. package/skills/redis-development/rules/conn-pipelining.md +58 -0
  999. package/skills/redis-development/rules/conn-pooling.md +71 -0
  1000. package/skills/redis-development/rules/conn-timeouts.md +41 -0
  1001. package/skills/redis-development/rules/data-choose-structure.md +76 -0
  1002. package/skills/redis-development/rules/data-hash-field-expiry.md +62 -0
  1003. package/skills/redis-development/rules/data-incr.md +76 -0
  1004. package/skills/redis-development/rules/data-key-naming.md +62 -0
  1005. package/skills/redis-development/rules/data-transactions.md +74 -0
  1006. package/skills/redis-development/rules/json-partial-updates.md +49 -0
  1007. package/skills/redis-development/rules/json-vs-hash.md +105 -0
  1008. package/skills/redis-development/rules/observe-commands.md +53 -0
  1009. package/skills/redis-development/rules/observe-metrics.md +39 -0
  1010. package/skills/redis-development/rules/ram-limits.md +42 -0
  1011. package/skills/redis-development/rules/ram-ttl.md +55 -0
  1012. package/skills/redis-development/rules/rqe-dialect.md +47 -0
  1013. package/skills/redis-development/rules/rqe-field-types.md +81 -0
  1014. package/skills/redis-development/rules/rqe-index-creation.md +73 -0
  1015. package/skills/redis-development/rules/rqe-index-management.md +49 -0
  1016. package/skills/redis-development/rules/rqe-query-optimization.md +49 -0
  1017. package/skills/redis-development/rules/rqe-skip-initial-scan.md +82 -0
  1018. package/skills/redis-development/rules/security-acls.md +41 -0
  1019. package/skills/redis-development/rules/security-auth.md +78 -0
  1020. package/skills/redis-development/rules/security-network.md +52 -0
  1021. package/skills/redis-development/rules/semantic-cache-best-practices.md +72 -0
  1022. package/skills/redis-development/rules/semantic-cache-langcache-usage.md +86 -0
  1023. package/skills/redis-development/rules/stream-choosing-pattern.md +44 -0
  1024. package/skills/redis-development/rules/vector-algorithm-choice.md +60 -0
  1025. package/skills/redis-development/rules/vector-hybrid-search.md +49 -0
  1026. package/skills/redis-development/rules/vector-index-creation.md +83 -0
  1027. package/skills/redis-development/rules/vector-rag-pattern.md +51 -0
  1028. package/skills/refactor/agents/verdent.yaml +11 -0
  1029. package/skills/refactor/assets/icon-dark.png +0 -0
  1030. package/skills/refactor/assets/icon-light.png +0 -0
  1031. package/skills/runtime-inspector/SKILL.md +99 -0
  1032. package/skills/schema-markup/SKILL.md +179 -0
  1033. package/skills/schema-markup/evals/evals.json +87 -0
  1034. package/skills/schema-markup/references/schema-examples.md +398 -0
  1035. package/skills/screenshot/LICENSE.txt +201 -0
  1036. package/skills/screenshot/SKILL.md +271 -0
  1037. package/skills/screenshot/agents/verdent.yaml +7 -0
  1038. package/skills/screenshot/assets/icon-dark.png +0 -0
  1039. package/skills/screenshot/assets/icon-light.png +0 -0
  1040. package/skills/screenshot/assets/screenshot.png +0 -0
  1041. package/skills/screenshot/scripts/ensure_macos_permissions.sh +54 -0
  1042. package/skills/screenshot/scripts/macos_display_info.swift +22 -0
  1043. package/skills/screenshot/scripts/macos_permissions.swift +40 -0
  1044. package/skills/screenshot/scripts/macos_window_info.swift +126 -0
  1045. package/skills/screenshot/scripts/take_screenshot.ps1 +163 -0
  1046. package/skills/screenshot/scripts/take_screenshot.py +585 -0
  1047. package/skills/security-and-hardening/SKILL.md +349 -0
  1048. package/skills/security-best-practices/LICENSE.txt +201 -0
  1049. package/skills/security-best-practices/SKILL.md +91 -0
  1050. package/skills/security-best-practices/agents/verdent.yaml +7 -0
  1051. package/skills/security-best-practices/assets/icon-dark.png +0 -0
  1052. package/skills/security-best-practices/assets/icon-light.png +0 -0
  1053. package/skills/security-best-practices/references/golang-general-backend-security.md +988 -0
  1054. package/skills/security-best-practices/references/javascript-express-web-server-security.md +1151 -0
  1055. package/skills/security-best-practices/references/javascript-general-web-frontend-security.md +725 -0
  1056. package/skills/security-best-practices/references/javascript-jquery-web-frontend-security.md +672 -0
  1057. package/skills/security-best-practices/references/javascript-typescript-nextjs-web-server-security.md +1138 -0
  1058. package/skills/security-best-practices/references/javascript-typescript-react-web-frontend-security.md +975 -0
  1059. package/skills/security-best-practices/references/javascript-typescript-vue-web-frontend-security.md +789 -0
  1060. package/skills/security-best-practices/references/python-django-web-server-security.md +880 -0
  1061. package/skills/security-best-practices/references/python-fastapi-web-server-security.md +1030 -0
  1062. package/skills/security-best-practices/references/python-flask-web-server-security.md +835 -0
  1063. package/skills/security-ownership-map/LICENSE.txt +201 -0
  1064. package/skills/security-ownership-map/SKILL.md +212 -0
  1065. package/skills/security-ownership-map/agents/verdent.yaml +12 -0
  1066. package/skills/security-ownership-map/assets/icon-dark.png +0 -0
  1067. package/skills/security-ownership-map/assets/icon-light.png +0 -0
  1068. package/skills/security-ownership-map/references/neo4j-import.md +60 -0
  1069. package/skills/security-ownership-map/scripts/build_ownership_map.py +956 -0
  1070. package/skills/security-ownership-map/scripts/community_maintainers.py +544 -0
  1071. package/skills/security-ownership-map/scripts/query_ownership.py +483 -0
  1072. package/skills/security-ownership-map/scripts/run_ownership_map.py +200 -0
  1073. package/skills/security-threat-model/LICENSE.txt +201 -0
  1074. package/skills/security-threat-model/SKILL.md +94 -0
  1075. package/skills/security-threat-model/agents/verdent.yaml +7 -0
  1076. package/skills/security-threat-model/assets/icon-dark.png +0 -0
  1077. package/skills/security-threat-model/assets/icon-light.png +0 -0
  1078. package/skills/security-threat-model/references/prompt-template.md +254 -0
  1079. package/skills/security-threat-model/references/security-controls-and-assets.md +35 -0
  1080. package/skills/seo-audit/SKILL.md +527 -0
  1081. package/skills/seo-audit/evals/evals.json +136 -0
  1082. package/skills/seo-audit/references/ai-writing-detection.md +200 -0
  1083. package/skills/seo-audit/references/international-seo.md +230 -0
  1084. package/skills/sequential-thinking/SKILL.md +224 -0
  1085. package/skills/session-context-primer/SKILL.md +69 -0
  1086. package/skills/shipping-and-launch/SKILL.md +309 -0
  1087. package/skills/source-driven-development/SKILL.md +194 -0
  1088. package/skills/spec-writer/SKILL.md +200 -0
  1089. package/skills/speech/LICENSE.txt +201 -0
  1090. package/skills/speech/SKILL.md +150 -0
  1091. package/skills/speech/agents/verdent.yaml +12 -0
  1092. package/skills/speech/assets/icon-dark.png +0 -0
  1093. package/skills/speech/assets/icon-light.png +0 -0
  1094. package/skills/speech/assets/speech-small.svg +3 -0
  1095. package/skills/speech/assets/speech.png +0 -0
  1096. package/skills/speech/references/accessibility.md +32 -0
  1097. package/skills/speech/references/audio-api.md +31 -0
  1098. package/skills/speech/references/cli.md +99 -0
  1099. package/skills/speech/references/ivr.md +32 -0
  1100. package/skills/speech/references/narration.md +31 -0
  1101. package/skills/speech/references/network-notes.md +28 -0
  1102. package/skills/speech/references/prompting.md +38 -0
  1103. package/skills/speech/references/sample-prompts.md +44 -0
  1104. package/skills/speech/references/voice-directions.md +80 -0
  1105. package/skills/speech/references/voiceover.md +31 -0
  1106. package/skills/speech/scripts/text_to_speech.py +528 -0
  1107. package/skills/system-architect/SKILL.md +677 -0
  1108. package/skills/system-designer/SKILL.md +601 -0
  1109. package/skills/systematic-debugging/CREATION-LOG.md +119 -0
  1110. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  1111. package/skills/systematic-debugging/condition-based-waiting.md +115 -0
  1112. package/skills/systematic-debugging/defense-in-depth.md +122 -0
  1113. package/skills/systematic-debugging/find-polluter.sh +63 -0
  1114. package/skills/systematic-debugging/root-cause-tracing.md +169 -0
  1115. package/skills/systematic-debugging/test-academic.md +14 -0
  1116. package/skills/systematic-debugging/test-pressure-1.md +58 -0
  1117. package/skills/systematic-debugging/test-pressure-2.md +68 -0
  1118. package/skills/systematic-debugging/test-pressure-3.md +69 -0
  1119. package/skills/task-planner/SKILL.md +699 -0
  1120. package/skills/task-reviewer/SKILL.md +387 -0
  1121. package/skills/task-skill-router/SKILL.md +105 -0
  1122. package/skills/tech-evaluator/SKILL.md +181 -0
  1123. package/skills/tech-evaluator/references/ADR_TEMPLATE.md +80 -0
  1124. package/skills/tech-evaluator/scripts/evaluate_matrix.py +190 -0
  1125. package/skills/test-driven-development/SKILL.md +383 -0
  1126. package/skills/test-driven-development/testing-anti-patterns.md +299 -0
  1127. package/skills/theme-factory/LICENSE.txt +202 -0
  1128. package/skills/theme-factory/SKILL.md +64 -0
  1129. package/skills/theme-factory/agents/verdent.yaml +11 -0
  1130. package/skills/theme-factory/assets/icon-dark.png +0 -0
  1131. package/skills/theme-factory/assets/icon-light.png +0 -0
  1132. package/skills/theme-factory/theme-showcase.pdf +0 -0
  1133. package/skills/theme-factory/themes/arctic-frost.md +19 -0
  1134. package/skills/theme-factory/themes/botanical-garden.md +19 -0
  1135. package/skills/theme-factory/themes/desert-rose.md +19 -0
  1136. package/skills/theme-factory/themes/forest-canopy.md +19 -0
  1137. package/skills/theme-factory/themes/golden-hour.md +19 -0
  1138. package/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  1139. package/skills/theme-factory/themes/modern-minimalist.md +19 -0
  1140. package/skills/theme-factory/themes/ocean-depths.md +19 -0
  1141. package/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  1142. package/skills/theme-factory/themes/tech-innovation.md +19 -0
  1143. package/skills/transcribe/LICENSE.txt +201 -0
  1144. package/skills/transcribe/SKILL.md +86 -0
  1145. package/skills/transcribe/agents/verdent.yaml +12 -0
  1146. package/skills/transcribe/assets/icon-dark.png +0 -0
  1147. package/skills/transcribe/assets/icon-light.png +0 -0
  1148. package/skills/transcribe/assets/transcribe-small.svg +3 -0
  1149. package/skills/transcribe/assets/transcribe.png +0 -0
  1150. package/skills/transcribe/references/api.md +8 -0
  1151. package/skills/transcribe/scripts/transcribe_diarize.py +276 -0
  1152. package/skills/vercel-composition-patterns/FULL_GUIDE.md +946 -0
  1153. package/skills/vercel-composition-patterns/SKILL.md +92 -0
  1154. package/skills/vercel-composition-patterns/agents/verdent.yaml +12 -0
  1155. package/skills/vercel-composition-patterns/assets/icon-dark.png +0 -0
  1156. package/skills/vercel-composition-patterns/assets/icon-light.png +0 -0
  1157. package/skills/vercel-composition-patterns/rules/_sections.md +29 -0
  1158. package/skills/vercel-composition-patterns/rules/_template.md +24 -0
  1159. package/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
  1160. package/skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
  1161. package/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
  1162. package/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
  1163. package/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
  1164. package/skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
  1165. package/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
  1166. package/skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
  1167. package/skills/vercel-deploy/LICENSE.txt +21 -0
  1168. package/skills/vercel-deploy/SKILL.md +75 -0
  1169. package/skills/vercel-deploy/agents/verdent.yaml +7 -0
  1170. package/skills/vercel-deploy/assets/icon-dark.png +0 -0
  1171. package/skills/vercel-deploy/assets/icon-light.png +0 -0
  1172. package/skills/vercel-deploy/assets/vercel.png +0 -0
  1173. package/skills/vercel-deploy/scripts/deploy.sh +301 -0
  1174. package/skills/vercel-react-best-practices/FULL_GUIDE.md +3254 -0
  1175. package/skills/vercel-react-best-practices/SKILL.md +144 -0
  1176. package/skills/vercel-react-best-practices/agents/verdent.yaml +12 -0
  1177. package/skills/vercel-react-best-practices/assets/icon-dark.png +0 -0
  1178. package/skills/vercel-react-best-practices/assets/icon-light.png +0 -0
  1179. package/skills/vercel-react-best-practices/rules/_sections.md +46 -0
  1180. package/skills/vercel-react-best-practices/rules/_template.md +28 -0
  1181. package/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  1182. package/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  1183. package/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  1184. package/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  1185. package/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  1186. package/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  1187. package/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  1188. package/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  1189. package/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  1190. package/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  1191. package/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  1192. package/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  1193. package/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  1194. package/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  1195. package/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  1196. package/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  1197. package/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  1198. package/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  1199. package/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  1200. package/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  1201. package/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  1202. package/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  1203. package/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  1204. package/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
  1205. package/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  1206. package/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  1207. package/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  1208. package/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  1209. package/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  1210. package/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  1211. package/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  1212. package/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  1213. package/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  1214. package/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  1215. package/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  1216. package/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  1217. package/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  1218. package/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
  1219. package/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
  1220. package/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  1221. package/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  1222. package/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  1223. package/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  1224. package/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  1225. package/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  1226. package/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  1227. package/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  1228. package/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  1229. package/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  1230. package/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  1231. package/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
  1232. package/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  1233. package/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  1234. package/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  1235. package/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  1236. package/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  1237. package/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  1238. package/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  1239. package/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  1240. package/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +142 -0
  1241. package/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  1242. package/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  1243. package/skills/verdent-image-cli/SKILL.md +218 -0
  1244. package/skills/verdent-image-cli/agents/verdent.yaml +11 -0
  1245. package/skills/verdent-image-cli/assets/icon-dark.png +0 -0
  1246. package/skills/verdent-image-cli/assets/icon-light.png +0 -0
  1247. package/skills/verdent-skills-catalog/SKILL.md +72 -0
  1248. package/skills/verdent-skills-catalog/references/categories.json +158 -0
  1249. package/skills/verdent-skills-catalog/references/inventory.json +493 -0
  1250. package/skills/verification-before-completion/SKILL.md +139 -0
  1251. package/skills/web-quality-audit/SKILL.md +172 -0
  1252. package/skills/web-quality-audit/scripts/analyze.sh +113 -0
  1253. package/skills/webapp-testing/LICENSE.txt +202 -0
  1254. package/skills/webapp-testing/SKILL.md +302 -0
  1255. package/skills/webapp-testing/examples/console_logging.py +35 -0
  1256. package/skills/webapp-testing/examples/element_discovery.py +40 -0
  1257. package/skills/webapp-testing/examples/static_html_automation.py +33 -0
  1258. package/skills/webapp-testing/scripts/with_server.py +110 -0
  1259. package/skills/workers-best-practices/SKILL.md +132 -0
  1260. package/skills/workers-best-practices/agents/verdent.yaml +11 -0
  1261. package/skills/workers-best-practices/assets/icon-dark.png +0 -0
  1262. package/skills/workers-best-practices/assets/icon-light.png +0 -0
  1263. package/skills/workers-best-practices/references/review.md +174 -0
  1264. package/skills/workers-best-practices/references/rules.md +463 -0
  1265. package/skills/xlsx/SKILL.md +318 -0
  1266. package/skills/xlsx/agents/verdent.yaml +9 -0
  1267. package/skills/xlsx/assets/icon-dark.png +0 -0
  1268. package/skills/xlsx/assets/icon-light.png +0 -0
  1269. package/skills/xlsx/assets/spreadsheet.png +0 -0
  1270. package/skills/xlsx/references/advanced-analysis.md +272 -0
  1271. package/skills/xlsx/references/examples/openpyxl/create_basic_spreadsheet.py +51 -0
  1272. package/skills/xlsx/references/examples/openpyxl/create_spreadsheet_with_styling.py +96 -0
  1273. package/skills/xlsx/references/examples/openpyxl/read_existing_spreadsheet.py +59 -0
  1274. package/skills/xlsx/references/examples/openpyxl/styling_spreadsheet.py +79 -0
  1275. package/skills/xlsx/scripts/formula_engine.py +219 -0
  1276. package/skills/xlsx/scripts/profile.py +62 -0
  1277. package/src/commands/doctor.js +9 -0
  1278. package/src/commands/feedback.js +29 -0
  1279. package/src/commands/init.js +39 -3
  1280. package/src/commands/pipeline.js +31 -0
  1281. package/src/commands/providers.js +54 -0
  1282. package/src/commands/recover.js +62 -0
  1283. package/src/commands/route.js +7 -0
  1284. package/src/commands/scaffold.js +7 -1
  1285. package/src/commands/skill.js +141 -0
  1286. package/src/commands/stack.js +97 -0
  1287. package/src/commands/ui.js +50 -0
  1288. package/src/commands/upgrade.js +2 -2
  1289. package/src/lib/audit.js +9 -1
  1290. package/src/lib/capability-router.js +4 -3
  1291. package/src/lib/contract.js +58 -0
  1292. package/src/lib/disabled-skills.js +86 -0
  1293. package/src/lib/doctor.js +100 -3
  1294. package/src/lib/env-flags.js +35 -0
  1295. package/src/lib/execution-policy.js +80 -4
  1296. package/src/lib/explanation-plain.js +72 -0
  1297. package/src/lib/explanation.js +183 -0
  1298. package/src/lib/feedback.js +65 -0
  1299. package/src/lib/i18n.js +43 -0
  1300. package/src/lib/ide-sync.js +4 -3
  1301. package/src/lib/pipeline.js +68 -0
  1302. package/src/lib/providers/doctor.js +205 -0
  1303. package/src/lib/recover.js +93 -0
  1304. package/src/lib/registry.js +79 -0
  1305. package/src/lib/route-engine.js +21 -1
  1306. package/src/lib/scaffold/index.js +24 -7
  1307. package/src/lib/scaffold/presets.js +213 -24
  1308. package/src/lib/skill-audit.js +141 -0
  1309. package/src/lib/stack/index.js +259 -0
  1310. package/src/lib/ui-server.js +226 -0
  1311. package/src/lib/upgrade-matrix.js +16 -1
  1312. package/src/lib/workspace-boundary.js +60 -0
  1313. package/templates/minimal/AGENT.md +10 -1
  1314. package/templates/minimal/DONE.md +10 -0
  1315. package/templates/minimal/GUNLUK.md +26 -0
  1316. package/templates/minimal/docs/conventions/daily-use.md +132 -0
  1317. package/templates/minimal/docs/conventions/task-to-capability-cheatsheet.md +29 -0
  1318. package/templates/minimal/docs/kullanim-kilavuzu.md +374 -0
  1319. package/ui/app.js +257 -0
  1320. package/ui/index.html +96 -0
  1321. package/ui/styles.css +227 -0
  1322. package/workflows/audit.md +143 -0
  1323. package/workflows/blueprint.md +374 -0
  1324. package/workflows/challenge.md +322 -0
  1325. package/workflows/change.md +162 -0
  1326. package/workflows/craft.md +135 -0
  1327. package/workflows/design-system.md +248 -0
  1328. package/workflows/explore.md +226 -0
  1329. package/workflows/forge.md +570 -34
  1330. package/workflows/genesis.md +307 -0
  1331. package/workflows/ingest.md +145 -0
  1332. package/workflows/init.md +216 -0
  1333. package/workflows/probe.md +181 -0
  1334. package/workflows/query-to-page.md +134 -0
  1335. package/workflows/quickstart.md +111 -0
  1336. package/workflows/retro.md +78 -0
  1337. package/workflows/upgrade.md +146 -0
  1338. package/workflows/wiki-lint.md +159 -0
  1339. package/templates/bundle/skills/capability-router/SKILL.md +0 -12
  1340. package/templates/bundle/skills/context-memory-bridge/SKILL.md +0 -17
  1341. package/templates/bundle/skills/localization-hub/SKILL.md +0 -17
  1342. package/templates/bundle/skills/refactor/SKILL.md +0 -17
  1343. package/templates/bundle/skills/systematic-debugging/SKILL.md +0 -19
  1344. package/templates/bundle/workflows/forge.md +0 -51
@@ -0,0 +1,715 @@
1
+ ---
2
+ name: pdf
3
+ description: PDF toolkit for reading, analyzing, and creating PDF documents. Extracts text, tables, images, LaTeX formulas, and metadata from PDF files with page-range control. Creates new PDFs via reportlab (programmatic/structured) or LaTeX/Tectonic (academic). Use when the agent needs to read, parse, analyze, or generate PDF content.
4
+ metadata:
5
+ version: '3.0.1'
6
+ origin: verdent
7
+ prismx_bundle: verdent
8
+ prismx_imported_at: 2026-05-27
9
+ ---
10
+
11
+ # PDF Content Extraction Guide
12
+
13
+ ## File Writing Rule
14
+
15
+ When you need to write text content to a file (e.g. `.tex`, `.py`, `.txt`, `.csv`), **always use the `file_write` tool** instead of bash commands. Never pass large text blobs through bash (no heredocs, no `echo >`, no `cat <<EOF`, no `python -c "open(...).write(...)"`). Write the file with `file_write` first, then run any compilation or processing commands via bash separately.
16
+
17
+ ## No Subagent for PDF Reading
18
+
19
+ **Do NOT spawn subagents to read PDFs or extract content.** Subagents cannot effectively return the extracted text/context back to you — the content will be lost or truncated. Always read and extract PDF content yourself directly using the tools and code in this guide. If the PDF is very long, split it into batches (up to 8 pages per batch), read and process each batch yourself sequentially.
20
+
21
+ ## Page Range Convention
22
+
23
+ All extraction operations support a **page range** parameter to target specific pages.
24
+
25
+ Format: `"1-5"`, `"3"`, `"10-20"`, `"1,3,7-9"`
26
+
27
+ - Single page: `"4"` (page 4 only)
28
+ - Continuous range: `"2-8"` (pages 2 through 8)
29
+ - Mixed: `"1,3,5-10"` (pages 1, 3, and 5 through 10)
30
+
31
+ **Limit: process at most 8 pages per request.** If the target range exceeds 8 pages, split into multiple batches and process sequentially.
32
+
33
+ Helper to resolve a range string into a page index list (0-based):
34
+
35
+ ```python
36
+ def parse_page_range(range_str, total_pages):
37
+ pages = set()
38
+ for part in range_str.split(","):
39
+ part = part.strip()
40
+ if "-" in part:
41
+ start, end = part.split("-", 1)
42
+ start = max(1, int(start))
43
+ end = min(int(end), total_pages)
44
+ pages.update(range(start, end + 1))
45
+ else:
46
+ p = int(part)
47
+ if 1 <= p <= total_pages:
48
+ pages.add(p)
49
+ result = sorted(pages)
50
+ if len(result) > 8:
51
+ raise ValueError(f"Range covers {len(result)} pages; max 8 per request. Split into batches.")
52
+ return [p - 1 for p in result] # convert to 0-based
53
+ ```
54
+
55
+ ## Text Extraction
56
+
57
+ ### Basic — pypdf
58
+
59
+ ```python
60
+ from pypdf import PdfReader
61
+
62
+ reader = PdfReader("document.pdf")
63
+ page_indices = parse_page_range("1-5", len(reader.pages))
64
+ for idx in page_indices:
65
+ print(reader.pages[idx].extract_text())
66
+ ```
67
+
68
+ ### Layout-Preserving — pdfplumber
69
+
70
+ ```python
71
+ import pdfplumber
72
+
73
+ with pdfplumber.open("document.pdf") as pdf:
74
+ page_indices = parse_page_range("1-5", len(pdf.pages))
75
+ for idx in page_indices:
76
+ text = pdf.pages[idx].extract_text()
77
+ print(text)
78
+ ```
79
+
80
+ ### Character-Level Coordinates — pdfplumber
81
+
82
+ ```python
83
+ with pdfplumber.open("document.pdf") as pdf:
84
+ page = pdf.pages[0]
85
+ for ch in page.chars[:20]:
86
+ print(f"'{ch['text']}' x={ch['x0']:.1f} y={ch['y0']:.1f}")
87
+ ```
88
+
89
+ ### Region Extraction
90
+
91
+ Extract text from a specific rectangular area on a page:
92
+
93
+ ```python
94
+ with pdfplumber.open("document.pdf") as pdf:
95
+ page = pdf.pages[0]
96
+ region = page.within_bbox((left, top, right, bottom))
97
+ print(region.extract_text())
98
+ ```
99
+
100
+ ### Command-Line — pdftotext (poppler-utils)
101
+
102
+ ```bash
103
+ # Full text
104
+ pdftotext input.pdf output.txt
105
+
106
+ # Preserve spatial layout
107
+ pdftotext -layout input.pdf output.txt
108
+
109
+ # Specific page range (pages 3 to 7)
110
+ pdftotext -f 3 -l 7 input.pdf output.txt
111
+ ```
112
+
113
+ ## Table Extraction
114
+
115
+ ### PyMuPDF (Preferred)
116
+
117
+ PyMuPDF (`fitz`) provides the most accurate table detection and extraction:
118
+
119
+ ```python
120
+ import fitz
121
+
122
+ doc = fitz.open("report.pdf")
123
+ page_indices = parse_page_range("1-5", len(doc))
124
+ for idx in page_indices:
125
+ page = doc[idx]
126
+ tabs = page.find_tables()
127
+ for table in tabs.tables:
128
+ df = table.to_pandas()
129
+ print(df)
130
+ ```
131
+
132
+ ### Fallback — pdfplumber
133
+
134
+ If PyMuPDF is unavailable or misses tables, use pdfplumber:
135
+
136
+ ```python
137
+ import pdfplumber
138
+
139
+ with pdfplumber.open("report.pdf") as pdf:
140
+ page_indices = parse_page_range("1-5", len(pdf.pages))
141
+ for idx in page_indices:
142
+ tables = pdf.pages[idx].extract_tables()
143
+ for table in tables:
144
+ for row in table:
145
+ print(row)
146
+ ```
147
+
148
+ Tune detection strategies when default extraction misses rows or merges columns:
149
+
150
+ ```python
151
+ settings = {
152
+ "vertical_strategy": "lines",
153
+ "horizontal_strategy": "lines",
154
+ "snap_tolerance": 3,
155
+ "intersection_tolerance": 15,
156
+ }
157
+ tables = page.extract_tables(settings)
158
+ ```
159
+
160
+ ### Export Tables to DataFrame
161
+
162
+ ```python
163
+ import pandas as pd
164
+ import fitz
165
+
166
+ doc = fitz.open("data.pdf")
167
+ frames = []
168
+ page_indices = parse_page_range("1-8", len(doc))
169
+ for idx in page_indices:
170
+ page = doc[idx]
171
+ tabs = page.find_tables()
172
+ for table in tabs.tables:
173
+ frames.append(table.to_pandas())
174
+ if frames:
175
+ combined = pd.concat(frames, ignore_index=True)
176
+ ```
177
+
178
+ ## Image & Visual Extraction
179
+
180
+ ### Extract Embedded Images — pdfimages (Preferred)
181
+
182
+ **Always try `pdfimages` first** to extract images embedded in the PDF. This extracts the original image data without quality loss and is much faster than rendering pages.
183
+
184
+ ```bash
185
+ # List all embedded images with details
186
+ pdfimages -list document.pdf
187
+
188
+ # Extract in original format (preserves PNG/JPEG/etc.)
189
+ pdfimages -all document.pdf output_prefix
190
+
191
+ # Extract as JPEG
192
+ pdfimages -j document.pdf output_prefix
193
+ ```
194
+
195
+ ### Convert to High-Res PNG — CLI
196
+
197
+ ```bash
198
+ # All pages at 300 DPI
199
+ pdftoppm -png -r 300 document.pdf output_prefix
200
+
201
+ # Pages 2-4 at 600 DPI
202
+ pdftoppm -png -r 600 -f 2 -l 4 document.pdf output_prefix
203
+ ```
204
+
205
+ ### Fallback: Render Pages as Images (for scanned PDFs)
206
+
207
+ If the PDF is scanned (pages are full-page images, not searchable text), `pdfimages` may not help. In that case, render pages to images as a fallback:
208
+
209
+ #### pypdfium2
210
+
211
+ ```python
212
+ import pypdfium2 as pdfium
213
+ import os
214
+ from PIL import Image
215
+
216
+ pdf = pdfium.PdfDocument("document.pdf")
217
+ page_indices = parse_page_range("1-3", len(pdf))
218
+
219
+ img_dir = os.path.join(os.path.dirname("document.pdf") or ".", "images")
220
+ os.makedirs(img_dir, exist_ok=True)
221
+
222
+ for idx in page_indices:
223
+ bitmap = pdf[idx].render(scale=2.0)
224
+ pil_img = bitmap.to_pil()
225
+ pil_img.save(os.path.join(img_dir, f"page_{idx + 1}.png"))
226
+ ```
227
+
228
+ #### pdf2image
229
+
230
+ ```python
231
+ from pdf2image import convert_from_path
232
+ import os
233
+
234
+ images = convert_from_path("document.pdf", first_page=1, last_page=5, dpi=200)
235
+
236
+ img_dir = os.path.join(os.path.dirname("document.pdf") or ".", "images")
237
+ os.makedirs(img_dir, exist_ok=True)
238
+
239
+ for i, img in enumerate(images, start=1):
240
+ img.save(os.path.join(img_dir, f"page_{i}.png"), "PNG")
241
+ ```
242
+
243
+ ## Metadata Inspection
244
+
245
+ ```python
246
+ from pypdf import PdfReader
247
+
248
+ reader = PdfReader("document.pdf")
249
+ meta = reader.metadata
250
+ print(f"Title: {meta.title}")
251
+ print(f"Author: {meta.author}")
252
+ print(f"Subject: {meta.subject}")
253
+ print(f"Creator: {meta.creator}")
254
+ print(f"Pages: {len(reader.pages)}")
255
+ ```
256
+
257
+ ## OCR for Scanned Documents
258
+
259
+ When `extract_text()` returns empty or garbled results, fall back to OCR:
260
+
261
+ ```python
262
+ from pdf2image import convert_from_path
263
+ import pytesseract
264
+
265
+ images = convert_from_path("scanned.pdf", first_page=1, last_page=5)
266
+ for i, img in enumerate(images, start=1):
267
+ text = pytesseract.image_to_string(img)
268
+ print(f"--- Page {i} ---")
269
+ print(text)
270
+ ```
271
+
272
+ ## LaTeX Formula Extraction & Rendering
273
+
274
+ PDF documents from academic papers, textbooks, and technical reports frequently contain mathematical formulas. **Every LaTeX formula must be extracted and faithfully reproduced — never skip, simplify, or approximate any formula.** Treat formula extraction with the same priority as text extraction.
275
+
276
+ **Do not forget tables.** Academic PDFs often contain large tables with data, comparisons, or results. When extracting content from a LaTeX-generated PDF, always check for tables on every page using `extract_tables()` and convert them to proper LaTeX `tabular`/`table` environments. Large tables spanning multiple columns or pages are easily overlooked — treat table extraction with the same priority as formula extraction.
277
+
278
+ ### Default: Text-Based Formula Extraction
279
+
280
+ This is the default method. Most academic PDFs (especially LaTeX/arXiv-generated) have readable math content via `extract_text()`.
281
+
282
+ 1. **Detect PDF type:**
283
+
284
+ ```python
285
+ from pypdf import PdfReader
286
+ reader = PdfReader("paper.pdf")
287
+ creator = (reader.metadata.creator or "").lower()
288
+ is_text_native = any(k in creator for k in ["tex", "latex", "pdftex", "arxiv"])
289
+ ```
290
+
291
+ 2. **Extract formulas via text patterns:**
292
+ - Lines with high density of Unicode math symbols (∑, ∫, ∂, ∈, ∪, etc.)
293
+ - Equation numbering patterns like `.(N)` at end of line
294
+ - Known LaTeX-output patterns: `πθ` → `\pi_\theta`, `∼` → `\sim`
295
+
296
+ 3. **Reconstruct LaTeX manually:** The text preserves semantic content but loses spatial structure (fractions become flat, subscripts/superscripts disappear). Reconstruct LaTeX by mapping extracted text back to standard LaTeX notation.
297
+
298
+ **When to use:** `extract_text()` returns readable math symbols. This covers most LaTeX-generated PDFs.
299
+
300
+ **When NOT to use:** Scanned PDFs, image-heavy PDFs, or when `extract_text()` returns empty/garbled output — fall back to image-based methods below.
301
+
302
+ ### Fallback: Image-Based Formula Extraction
303
+
304
+ When text extraction fails (garbled, empty, or scanned PDF), use image-based methods. **Preferred approach:** Use font-based detection to locate formula regions precisely, then crop and recognize.
305
+
306
+ #### Option A: Font-Based Detection + pix2tex (best precision)
307
+
308
+ Use pdfplumber's character-level font data to find math-font clusters, crop tightly, then recognize with pix2tex:
309
+
310
+ ```python
311
+ import pdfplumber, pypdfium2 as pdfium, re
312
+ from pix2tex.cli import LatexOCR
313
+
314
+ MATH_FONT_PATTERN = re.compile(
315
+ r"(CMSY|CMMI|CMEX|CMSS|CMR|Math|Symbol|MT Extra|Cambria.*Math|STIX|rsfs|msbm|msam|eufm|bbold)",
316
+ re.IGNORECASE
317
+ )
318
+
319
+ def find_formula_regions(page, merge_gap=8):
320
+ math_chars = [
321
+ ch for ch in page.chars
322
+ if MATH_FONT_PATTERN.search(ch.get("fontname", ""))
323
+ ]
324
+ if not math_chars:
325
+ return []
326
+ clusters, current = [], [math_chars[0]]
327
+ for ch in math_chars[1:]:
328
+ prev = current[-1]
329
+ if abs(ch["top"] - prev["top"]) < merge_gap and ch["x0"] - prev["x1"] < merge_gap * 3:
330
+ current.append(ch)
331
+ else:
332
+ clusters.append(current)
333
+ current = [ch]
334
+ clusters.append(current)
335
+ regions = []
336
+ for cluster in clusters:
337
+ if len(cluster) < 2:
338
+ continue
339
+ regions.append((
340
+ min(c["x0"] for c in cluster), min(c["top"] for c in cluster),
341
+ max(c["x1"] for c in cluster), max(c["bottom"] for c in cluster),
342
+ ))
343
+ regions.sort(key=lambda r: (r[1], r[0]))
344
+ merged = [list(regions[0])] if regions else []
345
+ for x0, top, x1, bottom in regions[1:]:
346
+ p = merged[-1]
347
+ if top <= p[3] + merge_gap and x0 <= p[2] + merge_gap * 3:
348
+ p[0], p[1], p[2], p[3] = min(p[0], x0), min(p[1], top), max(p[2], x1), max(p[3], bottom)
349
+ else:
350
+ merged.append([x0, top, x1, bottom])
351
+ return merged
352
+ ```
353
+
354
+ Then render + crop + recognize:
355
+
356
+ ```python
357
+ RENDER_SCALE, PADDING_PX = 3.0, 6
358
+ model = LatexOCR()
359
+ pdf_doc = pdfium.PdfDocument("document.pdf")
360
+
361
+ with pdfplumber.open("document.pdf") as pdf:
362
+ page = pdf.pages[0]
363
+ regions = find_formula_regions(page)
364
+ bitmap = pdf_doc[0].render(scale=RENDER_SCALE)
365
+ full_img = bitmap.to_pil()
366
+ sx, sy = full_img.size[0] / float(page.width), full_img.size[1] / float(page.height)
367
+ img_w, img_h = full_img.size
368
+ for i, (x0, top, x1, bottom) in enumerate(regions):
369
+ crop_box = (
370
+ max(0, int(x0 * sx) - PADDING_PX), max(0, int(top * sy) - PADDING_PX),
371
+ min(img_w, int(x1 * sx) + PADDING_PX), min(img_h, int(bottom * sy) + PADDING_PX),
372
+ )
373
+ latex_str = model(full_img.crop(crop_box))
374
+ print(f"Formula {i+1}: {latex_str}")
375
+ ```
376
+
377
+ #### Option B: Nougat (full-page, no region detection needed)
378
+
379
+ [Nougat](https://github.com/facebookresearch/nougat) converts entire academic PDF pages to Markdown with LaTeX math. Use when font-based detection returns nothing or for bulk extraction:
380
+
381
+ ```bash
382
+ nougat paper.pdf -o output_dir --no-skipping
383
+ ```
384
+
385
+ The output `.mmd` file contains inline `$...$` and display `$$...$$` LaTeX formulas already parsed.
386
+
387
+ ### Generating Academic PDF via LaTeX
388
+
389
+ For academic or math-heavy documents, compose the entire document — text and formulas together — into a single `.tex` file, then compile once to produce a publication-quality PDF. **Do NOT render formulas in isolation.**
390
+
391
+ **Limit: process at most 8 pages worth of content per batch.** If the document exceeds 8 pages, split into multiple batches and write incrementally.
392
+
393
+ **Core workflow:**
394
+
395
+ 1. **Prepare all content** (text paragraphs, section headings, formulas, captions, tables, etc.) — up to 8 pages per batch
396
+ 2. **Write a `.tex` document** — plain text goes as normal LaTeX, formulas use LaTeX notation (inline `$...$` or display `\begin{equation}...\end{equation}`)
397
+ 3. **Compile once** via Tectonic to produce the final PDF
398
+
399
+ This produces a real academic-grade PDF with unified fonts, perfect formula baseline alignment, and no quality loss.
400
+
401
+ #### Install Tectonic
402
+
403
+ Tectonic is a lightweight, modern LaTeX engine that auto-resolves packages at first compile. No sudo/admin password required — it downloads a single binary.
404
+
405
+ **Auto-install if not present** (agent should do this automatically):
406
+
407
+ ```python
408
+ import subprocess, shutil, platform, os
409
+
410
+ def ensure_tectonic():
411
+ if shutil.which("tectonic"):
412
+ return True
413
+ system = platform.system()
414
+ if system in ("Darwin", "Linux"):
415
+ subprocess.run(
416
+ ["sh", "-c", "curl --proto '=https' --tlsv1.2 -fsSL https://drop-sh.fullyjustified.net | sh"],
417
+ check=True
418
+ )
419
+ # Move to a PATH directory
420
+ if os.path.exists("./tectonic"):
421
+ dest = os.path.expanduser("~/.local/bin/tectonic")
422
+ os.makedirs(os.path.dirname(dest), exist_ok=True)
423
+ os.rename("./tectonic", dest)
424
+ elif system == "Windows":
425
+ subprocess.run(
426
+ ["powershell", "-Command",
427
+ "[System.Net.ServicePointManager]::SecurityProtocol = "
428
+ "[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; "
429
+ "iex ((New-Object System.Net.WebClient).DownloadString('https://drop-ps1.fullyjustified.net'))"],
430
+ check=True
431
+ )
432
+ return shutil.which("tectonic") is not None
433
+ ```
434
+
435
+ #### Compile Full Document to PDF
436
+
437
+ Tectonic supports **all** LaTeX syntax — `cases`, `align`, `array`, matrices, `\text{}`, nested delimiters, etc. Packages are downloaded automatically on first use.
438
+
439
+ **Workflow:** Use `file_write` to create the `.tex` file, then run `tectonic` via bash to compile it. Do NOT write `.tex` content through bash.
440
+
441
+ **Incremental writing rule: NEVER write the entire `.tex` file in one shot.** For documents with multiple sections, follow this process:
442
+
443
+ 1. **First pass:** Use `file_write` to create the `.tex` file with the preamble (`\documentclass` through `\begin{document}`) and the first 1-2 sections, ending with `\end{document}`.
444
+ 2. **Extract figures and tables:** Extract embedded images with `pdfimages -all`. For tables captured as screenshots, **MUST tight-crop to the table's exact boundary** (no surrounding text, no headers/footers, no page margins) — verify each cropped image before proceeding. Save all images to the `images/` subdirectory.
445
+ 3. **Read source for next batch:** Read the next few pages to extract the next section(s).
446
+ 4. **Append sections:** Use `file_edit` to insert the new section(s) before `\end{document}`. Reference figures/tables with `\includegraphics` and `\begin{figure}`/`\begin{table}` environments.
447
+ 5. **Repeat** steps 2-4 until all sections are written.
448
+ 6. **Compile once** after all sections are in place: `tectonic /path/to/main.tex`
449
+
450
+ This prevents context overload and ensures each section is carefully extracted and written. Typical batch size: 1-2 sections or ~2-4 pages of source content per pass.
451
+
452
+ ```
453
+ Step 1: file_write main.tex — preamble + first 1-2 sections + \end{document}
454
+ Step 2: pdfimages for figures; tight-crop Table screenshots to exact boundary; save to images/
455
+ Step 3: Read next pages from source
456
+ Step 4: file_edit main.tex — insert next section(s) + \includegraphics references before \end{document}
457
+ Step 5: Repeat steps 2-4 for remaining sections
458
+ Step 6: Run bash: tectonic /path/to/main.tex
459
+ ```
460
+
461
+ **Example: recomposing an extracted paper into LaTeX:**
462
+
463
+ First, use `file_write` to create the `.tex` file:
464
+
465
+ ```latex
466
+ \documentclass[12pt]{article}
467
+ \usepackage[a4paper, margin=2cm]{geometry}
468
+ \usepackage{amsmath,amssymb,amsfonts}
469
+
470
+ \title{Extracted Paper Title}
471
+ \author{Original Authors}
472
+ \date{}
473
+
474
+ \begin{document}
475
+ \maketitle
476
+
477
+ \section{Introduction}
478
+
479
+ We consider the optimization problem where the objective is defined as:
480
+
481
+ \begin{equation}
482
+ \mathcal{L}(\theta) = \mathbb{E}_{x \sim p_{\text{data}}} \left[ \log p_\theta(x) \right]
483
+ \end{equation}
484
+
485
+ The policy gradient is computed via:
486
+
487
+ \begin{align}
488
+ \nabla_\theta \mathcal{L} &= \sum_{i=1}^{N} \nabla_\theta \log \pi_\theta(a_i | s_i) \cdot A_i
489
+ \end{align}
490
+
491
+ The reward function is:
492
+
493
+ \begin{equation}
494
+ r(s, a) = \begin{cases}
495
+ r_{\text{task}} & \text{if task completed} \\
496
+ 0 & \text{otherwise}
497
+ \end{cases}
498
+ \end{equation}
499
+
500
+ \end{document}
501
+ ```
502
+
503
+ Then compile via bash:
504
+
505
+ ```bash
506
+ tectonic /path/to/main.tex
507
+ ```
508
+
509
+ ### Verification Checklist
510
+
511
+ After extracting formulas from a PDF, always verify:
512
+
513
+ 1. **Completeness** — Count formulas in the source PDF (visual scan) vs. extracted count. **Zero tolerance for missed formulas.**
514
+ 2. **Structural fidelity** — Fractions, subscripts, superscripts, matrices, and nested expressions must be structurally correct.
515
+ 3. **Round-trip rendering** — Render each extracted LaTeX string back to an image and visually compare with the original PDF.
516
+ 4. **Edge cases to watch:**
517
+ - Multi-line equations (`align`, `gather`, `cases` environments)
518
+ - Inline vs. display math mode
519
+ - Equation numbering
520
+ - Special operators (`\operatorname`, `\mathbb`, `\mathcal`)
521
+ - Matrices and arrays
522
+
523
+ ## PDF Creation (Non-LaTeX)
524
+
525
+ For academic/math-heavy documents, use the LaTeX + Tectonic workflow above. For all other PDF creation needs, use **reportlab**.
526
+
527
+ **Decision flow:**
528
+
529
+ - Non-academic PDF (invoices, reports, certificates, data-driven documents)? → **reportlab**
530
+ - Academic paper with math formulas? → **LaTeX + Tectonic** (see above)
531
+
532
+ ### reportlab — Programmatic / Structured PDFs
533
+
534
+ Best for: invoices, certificates, reports with charts, data-driven documents, form-like layouts.
535
+
536
+ #### Basic Document
537
+
538
+ ```python
539
+ from reportlab.lib.pagesizes import A4, letter
540
+ from reportlab.lib.units import cm, mm, inch
541
+ from reportlab.pdfgen import canvas
542
+
543
+ c = canvas.Canvas("output.pdf", pagesize=A4)
544
+ width, height = A4
545
+
546
+ c.setFont("Helvetica-Bold", 18)
547
+ c.drawString(2*cm, height - 3*cm, "Report Title")
548
+
549
+ c.setFont("Helvetica", 11)
550
+ c.drawString(2*cm, height - 5*cm, "Generated on 2025-01-15")
551
+
552
+ c.showPage()
553
+ c.save()
554
+ ```
555
+
556
+ #### Platypus — High-Level Layout Engine
557
+
558
+ For multi-page documents with automatic pagination, headers, and flowing content, use Platypus (Page Layout and Typography Using Scripts):
559
+
560
+ ```python
561
+ from reportlab.lib.pagesizes import A4
562
+ from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
563
+ from reportlab.lib.units import cm
564
+ from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak
565
+ from reportlab.lib import colors
566
+
567
+ doc = SimpleDocTemplate("report.pdf", pagesize=A4,
568
+ topMargin=2*cm, bottomMargin=2*cm,
569
+ leftMargin=2.5*cm, rightMargin=2.5*cm)
570
+
571
+ styles = getSampleStyleSheet()
572
+ story = []
573
+
574
+ story.append(Paragraph("Quarterly Report", styles["Title"]))
575
+ story.append(Spacer(1, 0.5*cm))
576
+ story.append(Paragraph("This is the executive summary paragraph.", styles["BodyText"]))
577
+ story.append(Spacer(1, 1*cm))
578
+
579
+ data = [
580
+ ["Item", "Q1", "Q2", "Q3"],
581
+ ["Revenue", "$10M", "$12M", "$15M"],
582
+ ["Costs", "$8M", "$9M", "$10M"],
583
+ ]
584
+ table = Table(data, colWidths=[4*cm, 3*cm, 3*cm, 3*cm])
585
+ table.setStyle(TableStyle([
586
+ ("BACKGROUND", (0, 0), (-1, 0), colors.HexColor("#4472C4")),
587
+ ("TEXTCOLOR", (0, 0), (-1, 0), colors.white),
588
+ ("FONTNAME", (0, 0), (-1, 0), "Helvetica-Bold"),
589
+ ("ALIGN", (1, 0), (-1, -1), "CENTER"),
590
+ ("GRID", (0, 0), (-1, -1), 0.5, colors.grey),
591
+ ("ROWBACKGROUNDS", (0, 1), (-1, -1), [colors.white, colors.HexColor("#D9E2F3")]),
592
+ ]))
593
+ story.append(table)
594
+
595
+ doc.build(story)
596
+ ```
597
+
598
+ #### Subscripts and Superscripts
599
+
600
+ reportlab uses XML-style markup — **never use Unicode superscript/subscript characters** (they render incorrectly in most PDF fonts):
601
+
602
+ ```python
603
+ # Correct — XML tags
604
+ Paragraph("H<sub>2</sub>O and x<sup>2</sup>", styles["BodyText"])
605
+
606
+ # WRONG — Unicode characters (will render as missing glyphs)
607
+ # Paragraph("H₂O and x²", styles["BodyText"])
608
+ ```
609
+
610
+ #### Drawing Graphics
611
+
612
+ ```python
613
+ from reportlab.graphics.shapes import Drawing, Rect, Circle, Line, String
614
+ from reportlab.graphics import renderPDF
615
+
616
+ d = Drawing(400, 200)
617
+ d.add(Rect(50, 50, 100, 80, fillColor=colors.lightblue, strokeColor=colors.black))
618
+ d.add(Circle(250, 100, 40, fillColor=colors.salmon))
619
+ d.add(String(50, 160, "Chart Title", fontSize=14, fontName="Helvetica-Bold"))
620
+ renderPDF.drawToFile(d, "drawing.pdf", "Graphics")
621
+ ```
622
+
623
+ #### Images in reportlab
624
+
625
+ ```python
626
+ from reportlab.platypus import Image
627
+
628
+ story.append(Image("chart.png", width=12*cm, height=8*cm))
629
+ ```
630
+
631
+ ### Non-ASCII / CJK Font Handling
632
+
633
+ reportlab requires explicit font configuration for non-Latin text. See the "Encoding & Font Pitfalls" section below for font registration details.
634
+
635
+ ## Handling Encrypted PDFs
636
+
637
+ ```python
638
+ from pypdf import PdfReader
639
+
640
+ reader = PdfReader("protected.pdf")
641
+ if reader.is_encrypted:
642
+ reader.decrypt("password")
643
+ text = reader.pages[0].extract_text()
644
+ ```
645
+
646
+ ## Encoding & Font Pitfalls When Writing PDFs
647
+
648
+ When generating or annotating PDFs that contain non-ASCII text (CJK, Arabic, Cyrillic, accented Latin, symbols, etc.), follow these rules to avoid garbled output:
649
+
650
+ 1. **Use a Unicode-capable font.** Built-in PDF fonts (Helvetica, Times-Roman, Courier) only cover Latin-1. For any text outside that range, register and embed a TrueType/OpenType font that covers the required glyphs.
651
+
652
+ reportlab example:
653
+
654
+ ```python
655
+ from reportlab.pdfbase import pdfmetrics
656
+ from reportlab.pdfbase.ttfonts import TTFont
657
+
658
+ pdfmetrics.registerFont(TTFont("MyFont", "/path/to/font.ttf"))
659
+ canvas.setFont("MyFont", 12)
660
+ ```
661
+
662
+ 2. **Verify glyph coverage before rendering.** A font may support a language's main characters but miss specific symbols (e.g., bullet `U+2022`, em-dash `U+2014`, curly quotes). If a glyph is missing the PDF renderer may silently substitute a wrong character or show a blank. Pre-check with:
663
+
664
+ ```python
665
+ from fontTools.ttLib import TTFont as FTFont
666
+
667
+ font = FTFont("/path/to/font.ttf")
668
+ cmap = font.getBestCmap()
669
+ missing = [ch for ch in text if ord(ch) not in cmap]
670
+ ```
671
+
672
+ Replace or strip any characters not in the font's cmap before writing.
673
+
674
+ 3. **Normalize Unicode before embedding.** Use NFC normalization so that composed and decomposed forms are consistent:
675
+
676
+ ```python
677
+ import unicodedata
678
+ text = unicodedata.normalize("NFC", text)
679
+ ```
680
+
681
+ 4. **Sanitize special symbols.** Common culprits that cause garbled output:
682
+ - Bullet `U+2022` — replace with `U+00B7` (middle dot) or a hyphen if unsupported
683
+ - Smart quotes `U+201C` `U+201D` — fall back to straight quotes `"`
684
+ - Em-dash `U+2014` — fall back to `--`
685
+ - Ellipsis `U+2026` — fall back to `...`
686
+
687
+ 5. **Always embed fonts.** Set `embeddedFont=True` or equivalent so the PDF is self-contained and renders correctly on any machine, regardless of locally installed fonts.
688
+
689
+ 6. **Test with a round-trip.** After generating, re-read the PDF with pypdf or pdfplumber and compare extracted text against the original to catch silent corruption.
690
+
691
+ ## Advanced Topics
692
+
693
+ For additional extraction techniques, performance tuning, and troubleshooting:
694
+
695
+ - **pypdfium2 text extraction and rendering**: See [reference.md](reference.md)
696
+ - **Bounding-box text export (pdftotext -bbox-layout)**: See [reference.md](reference.md)
697
+ - **Batch processing large document sets**: See [reference.md](reference.md)
698
+ - **Memory-efficient chunked reading**: See [reference.md](reference.md)
699
+
700
+ ## Quick Lookup
701
+
702
+ | Goal | Recommended Tool | Key API |
703
+ | ----------------------------------------- | ---------------------------- | ------------------------------------------------------- |
704
+ | Plain text | pypdf | `page.extract_text()` |
705
+ | Layout-aware text | pdfplumber | `page.extract_text()` |
706
+ | Tables | PyMuPDF (fitz) | `page.find_tables()` → `table.to_pandas()` |
707
+ | Page images | pypdfium2 / pdf2image | `render()` / `convert_from_path()` |
708
+ | Embedded images | pdfimages (CLI) | `pdfimages -all` |
709
+ | Metadata | pypdf | `reader.metadata` |
710
+ | OCR (scanned) | pytesseract + pdf2image | `image_to_string()` |
711
+ | LaTeX formulas (text-native) | pypdf + text patterns | Method 0: `extract_text()` + pattern matching |
712
+ | LaTeX formulas (scanned/complex) | nougat / pix2tex (LaTeX-OCR) | `nougat` CLI / `LatexOCR()` |
713
+ | Recompose full PDF | Tectonic (local) | `tectonic main.tex` — auto-install, full syntax support |
714
+ | Create structured PDF (invoices, reports) | reportlab | `SimpleDocTemplate` + Platypus `story` |
715
+ | CLI text extract | pdftotext | `pdftotext -f -l` |