@poolzin/plcode 2.1.1 → 3.0.1

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 (844) hide show
  1. package/.plcode/.gitkeep +0 -0
  2. package/.plcode/AGENTS.md +160 -0
  3. package/.plcode/README.md +214 -0
  4. package/.plcode/agent/backend-architect.md +40 -0
  5. package/.plcode/agent/backend-security-coder.md +11 -0
  6. package/.plcode/agent/backend-specialist.md +117 -0
  7. package/.plcode/agent/backend-typescript-architect.md +18 -0
  8. package/.plcode/agent/code-reviewer.md +48 -0
  9. package/.plcode/agent/content/0-category.json +19 -0
  10. package/.plcode/agent/content/copywriter.md +68 -0
  11. package/.plcode/agent/content/technical-writer.md +68 -0
  12. package/.plcode/agent/core/0-category.json +50 -0
  13. package/.plcode/agent/core/health-monitor.md +187 -0
  14. package/.plcode/agent/core/memory-manager.md +168 -0
  15. package/.plcode/agent/core/openagent.md +430 -0
  16. package/.plcode/agent/core/opencoder.md +282 -0
  17. package/.plcode/agent/core/pool.md +383 -0
  18. package/.plcode/agent/data/0-category.json +13 -0
  19. package/.plcode/agent/data/data-analyst.md +69 -0
  20. package/.plcode/agent/database-architect.md +262 -0
  21. package/.plcode/agent/database-optimizer.md +161 -0
  22. package/.plcode/agent/database-specialist.md +101 -0
  23. package/.plcode/agent/development/0-category.json +36 -0
  24. package/.plcode/agent/development/backend-specialist.md +68 -0
  25. package/.plcode/agent/development/codebase-agent.md +137 -0
  26. package/.plcode/agent/development/devops-specialist.md +70 -0
  27. package/.plcode/agent/development/frontend-specialist.md +214 -0
  28. package/.plcode/agent/docs.md +33 -0
  29. package/.plcode/agent/eval-runner.md +34 -0
  30. package/.plcode/agent/frontend-developer.md +188 -0
  31. package/.plcode/agent/frontend-security-coder.md +11 -0
  32. package/.plcode/agent/git-committer.md +12 -0
  33. package/.plcode/agent/meta/0-category.json +19 -0
  34. package/.plcode/agent/meta/repo-manager.md +1078 -0
  35. package/.plcode/agent/meta/system-builder.md +724 -0
  36. package/.plcode/agent/orchestration/0-category.json +40 -0
  37. package/.plcode/agent/orchestration/adversarial-agent.md +115 -0
  38. package/.plcode/agent/orchestration/background-agent.md +121 -0
  39. package/.plcode/agent/orchestration/chat-agent.md +108 -0
  40. package/.plcode/agent/orchestration/code-agent.md +91 -0
  41. package/.plcode/agent/orchestration/critic-agent.md +103 -0
  42. package/.plcode/agent/orchestration/executor-agent.md +107 -0
  43. package/.plcode/agent/orchestration/media-agent.md +99 -0
  44. package/.plcode/agent/orchestration/planner-agent.md +105 -0
  45. package/.plcode/agent/orchestration/review-agent.md +105 -0
  46. package/.plcode/agent/orchestration/support-agent.md +117 -0
  47. package/.plcode/agent/orchestration/test-agent.md +104 -0
  48. package/.plcode/agent/subagents/code/build-agent.md +75 -0
  49. package/.plcode/agent/subagents/code/codebase-pattern-analyst.md +459 -0
  50. package/.plcode/agent/subagents/code/coder-agent.md +71 -0
  51. package/.plcode/agent/subagents/code/reviewer.md +58 -0
  52. package/.plcode/agent/subagents/code/tester.md +59 -0
  53. package/.plcode/agent/subagents/core/context-retriever.md +904 -0
  54. package/.plcode/agent/subagents/core/contextscout.md +149 -0
  55. package/.plcode/agent/subagents/core/documentation.md +49 -0
  56. package/.plcode/agent/subagents/core/task-manager.md +345 -0
  57. package/.plcode/agent/subagents/superpowers/code-reviewer.md +113 -0
  58. package/.plcode/agent/subagents/system-builder/agent-generator.md +452 -0
  59. package/.plcode/agent/subagents/system-builder/command-creator.md +226 -0
  60. package/.plcode/agent/subagents/system-builder/context-organizer.md +455 -0
  61. package/.plcode/agent/subagents/system-builder/domain-analyzer.md +459 -0
  62. package/.plcode/agent/subagents/system-builder/workflow-designer.md +240 -0
  63. package/.plcode/agent/subagents/test/simple-responder.md +44 -0
  64. package/.plcode/agent/subagents/utils/image-specialist.md +67 -0
  65. package/.plcode/agent/triage.md +86 -0
  66. package/.plcode/agent/typescript-pro.md +11 -0
  67. package/.plcode/agnos/config.json +154 -0
  68. package/.plcode/auto-update.json +7 -0
  69. package/.plcode/bra/config.json +109 -0
  70. package/.plcode/command/Indexes.md +35 -0
  71. package/.plcode/command/brainstorm.md +14 -0
  72. package/.plcode/command/build-context-system.md +849 -0
  73. package/.plcode/command/clean.md +82 -0
  74. package/.plcode/command/commit-openagents.md +589 -0
  75. package/.plcode/command/commit.md +158 -0
  76. package/.plcode/command/context.md +302 -0
  77. package/.plcode/command/data-model.md +519 -0
  78. package/.plcode/command/debug.md +14 -0
  79. package/.plcode/command/design-system.md +177 -0
  80. package/.plcode/command/enhance.md +159 -0
  81. package/.plcode/command/execute-plan.md +5 -0
  82. package/.plcode/command/fix.md +1474 -0
  83. package/.plcode/command/generate-agents.md +269 -0
  84. package/.plcode/command/issues.md +23 -0
  85. package/.plcode/command/mobile-responsiveness.md +30 -0
  86. package/.plcode/command/openagents/check-context-deps.md +457 -0
  87. package/.plcode/command/openagents/new-agents/README.md +404 -0
  88. package/.plcode/command/openagents/new-agents/create-agent.md +492 -0
  89. package/.plcode/command/openagents/new-agents/create-tests.md +918 -0
  90. package/.plcode/command/openagents/new-agents/templates/agent-template.md +123 -0
  91. package/.plcode/command/openagents/new-agents/templates/context-template.md +37 -0
  92. package/.plcode/command/openagents/new-agents/templates/test-1-planning-approval.yaml +41 -0
  93. package/.plcode/command/openagents/new-agents/templates/test-2-context-loading.yaml +36 -0
  94. package/.plcode/command/openagents/new-agents/templates/test-3-incremental.yaml +38 -0
  95. package/.plcode/command/openagents/new-agents/templates/test-4-tool-usage.yaml +35 -0
  96. package/.plcode/command/openagents/new-agents/templates/test-5-error-handling.yaml +49 -0
  97. package/.plcode/command/openagents/new-agents/templates/test-6-extended-thinking.yaml +42 -0
  98. package/.plcode/command/openagents/new-agents/templates/test-7-compaction.yaml +38 -0
  99. package/.plcode/command/openagents/new-agents/templates/test-8-completion.yaml +38 -0
  100. package/.plcode/command/openagents/new-agents/templates/test-config-template.yaml +27 -0
  101. package/.plcode/command/optimize.md +206 -0
  102. package/.plcode/command/prompt-engineering/prompt-enhancer.md +471 -0
  103. package/.plcode/command/prompt-engineering/prompt-optimizer.md +668 -0
  104. package/.plcode/command/review.md +14 -0
  105. package/.plcode/command/rmslop.md +15 -0
  106. package/.plcode/command/seo.md +68 -0
  107. package/.plcode/command/spellcheck.md +5 -0
  108. package/.plcode/command/subagent-driven-development.md +14 -0
  109. package/.plcode/command/superpowers-brainstorm.md +45 -0
  110. package/.plcode/command/superpowers-execute-plan.md +49 -0
  111. package/.plcode/command/superpowers-write-plan.md +55 -0
  112. package/.plcode/command/superpowers.md +10 -0
  113. package/.plcode/command/test-new-command.md +27 -0
  114. package/.plcode/command/test.md +26 -0
  115. package/.plcode/command/ultra-think.md +160 -0
  116. package/.plcode/command/validate-repo.md +369 -0
  117. package/.plcode/command/worktrees.md +116 -0
  118. package/.plcode/command/write-plan.md +5 -0
  119. package/.plcode/command/writing-plans.md +14 -0
  120. package/.plcode/context/content/README.md +39 -0
  121. package/.plcode/context/content/copywriting-frameworks.md +317 -0
  122. package/.plcode/context/content/tone-voice.md +391 -0
  123. package/.plcode/context/content-creation/examples/navigation.md +37 -0
  124. package/.plcode/context/content-creation/formats/audio-content.md +493 -0
  125. package/.plcode/context/content-creation/formats/image-content.md +387 -0
  126. package/.plcode/context/content-creation/formats/navigation.md +79 -0
  127. package/.plcode/context/content-creation/formats/video-content.md +533 -0
  128. package/.plcode/context/content-creation/formats/written-content.md +459 -0
  129. package/.plcode/context/content-creation/navigation.md +55 -0
  130. package/.plcode/context/content-creation/principles/audience-targeting.md +417 -0
  131. package/.plcode/context/content-creation/principles/copywriting-frameworks.md +317 -0
  132. package/.plcode/context/content-creation/principles/hooks.md +279 -0
  133. package/.plcode/context/content-creation/principles/navigation.md +79 -0
  134. package/.plcode/context/content-creation/principles/tone-voice.md +391 -0
  135. package/.plcode/context/content-creation/workflows/audience-review.md +474 -0
  136. package/.plcode/context/content-creation/workflows/content-ideas.md +504 -0
  137. package/.plcode/context/content-creation/workflows/content-matrix.md +397 -0
  138. package/.plcode/context/content-creation/workflows/navigation.md +85 -0
  139. package/.plcode/context/content-creation/workflows/remix-repurpose.md +577 -0
  140. package/.plcode/context/core/context-system/CHANGELOG.md +87 -0
  141. package/.plcode/context/core/context-system/examples/navigation-examples.md +510 -0
  142. package/.plcode/context/core/context-system/guides/compact.md +351 -0
  143. package/.plcode/context/core/context-system/guides/creation.md +363 -0
  144. package/.plcode/context/core/context-system/guides/navigation-design.md +458 -0
  145. package/.plcode/context/core/context-system/guides/organizing-context.md +549 -0
  146. package/.plcode/context/core/context-system/guides/workflows.md +598 -0
  147. package/.plcode/context/core/context-system/operations/error.md +299 -0
  148. package/.plcode/context/core/context-system/operations/extract.md +190 -0
  149. package/.plcode/context/core/context-system/operations/harvest.md +310 -0
  150. package/.plcode/context/core/context-system/operations/organize.md +245 -0
  151. package/.plcode/context/core/context-system/operations/update.md +260 -0
  152. package/.plcode/context/core/context-system/standards/mvi.md +154 -0
  153. package/.plcode/context/core/context-system/standards/structure.md +262 -0
  154. package/.plcode/context/core/context-system/standards/templates.md +350 -0
  155. package/.plcode/context/core/context-system.md +453 -0
  156. package/.plcode/context/core/essential-patterns.md +225 -0
  157. package/.plcode/context/core/navigation.md +69 -0
  158. package/.plcode/context/core/standards/code-analysis.md +172 -0
  159. package/.plcode/context/core/standards/code-quality.md +182 -0
  160. package/.plcode/context/core/standards/code.md +1 -0
  161. package/.plcode/context/core/standards/docs.md +1 -0
  162. package/.plcode/context/core/standards/documentation.md +173 -0
  163. package/.plcode/context/core/standards/navigation.md +46 -0
  164. package/.plcode/context/core/standards/security-patterns.md +149 -0
  165. package/.plcode/context/core/standards/test-coverage.md +133 -0
  166. package/.plcode/context/core/standards/tests.md +1 -0
  167. package/.plcode/context/core/system/context-guide.md +218 -0
  168. package/.plcode/context/core/workflows/code-review.md +150 -0
  169. package/.plcode/context/core/workflows/delegation.md +1 -0
  170. package/.plcode/context/core/workflows/design-iteration.md +595 -0
  171. package/.plcode/context/core/workflows/feature-breakdown.md +303 -0
  172. package/.plcode/context/core/workflows/navigation.md +44 -0
  173. package/.plcode/context/core/workflows/review.md +1 -0
  174. package/.plcode/context/core/workflows/session-management.md +162 -0
  175. package/.plcode/context/core/workflows/task-delegation.md +95 -0
  176. package/.plcode/context/data/README.md +18 -0
  177. package/.plcode/context/data/navigation.md +18 -0
  178. package/.plcode/context/development/README.md +52 -0
  179. package/.plcode/context/development/animation-patterns.md +831 -0
  180. package/.plcode/context/development/api-design.md +394 -0
  181. package/.plcode/context/development/backend/navigation.md +55 -0
  182. package/.plcode/context/development/backend-navigation.md +77 -0
  183. package/.plcode/context/development/clean-code.md +189 -0
  184. package/.plcode/context/development/data/navigation.md +36 -0
  185. package/.plcode/context/development/design-assets.md +604 -0
  186. package/.plcode/context/development/design-systems.md +395 -0
  187. package/.plcode/context/development/frontend/navigation.md +47 -0
  188. package/.plcode/context/development/fullstack-navigation.md +80 -0
  189. package/.plcode/context/development/infrastructure/navigation.md +31 -0
  190. package/.plcode/context/development/integration/navigation.md +36 -0
  191. package/.plcode/context/development/navigation.md +80 -0
  192. package/.plcode/context/development/principles/api-design.md +427 -0
  193. package/.plcode/context/development/principles/clean-code.md +189 -0
  194. package/.plcode/context/development/principles/navigation.md +46 -0
  195. package/.plcode/context/development/react-patterns.md +323 -0
  196. package/.plcode/context/development/ui-navigation.md +58 -0
  197. package/.plcode/context/development/ui-styling-standards.md +566 -0
  198. package/.plcode/context/learning/README.md +18 -0
  199. package/.plcode/context/learning/navigation.md +18 -0
  200. package/.plcode/context/navigation.md +47 -0
  201. package/.plcode/context/openagents-repo/blueprints/context-bundle-template.md +279 -0
  202. package/.plcode/context/openagents-repo/concepts/subagent-testing-modes.md +142 -0
  203. package/.plcode/context/openagents-repo/core-concepts/agents.md +368 -0
  204. package/.plcode/context/openagents-repo/core-concepts/categories.md +467 -0
  205. package/.plcode/context/openagents-repo/core-concepts/evals.md +515 -0
  206. package/.plcode/context/openagents-repo/core-concepts/registry.md +473 -0
  207. package/.plcode/context/openagents-repo/errors/tool-permission-errors.md +227 -0
  208. package/.plcode/context/openagents-repo/examples/context-bundle-example.md +234 -0
  209. package/.plcode/context/openagents-repo/examples/subagent-prompt-structure.md +291 -0
  210. package/.plcode/context/openagents-repo/guides/adding-agent.md +326 -0
  211. package/.plcode/context/openagents-repo/guides/creating-release.md +296 -0
  212. package/.plcode/context/openagents-repo/guides/debugging.md +438 -0
  213. package/.plcode/context/openagents-repo/guides/profile-validation.md +367 -0
  214. package/.plcode/context/openagents-repo/guides/subagent-invocation.md +386 -0
  215. package/.plcode/context/openagents-repo/guides/testing-agent.md +310 -0
  216. package/.plcode/context/openagents-repo/guides/testing-subagents-approval.md +140 -0
  217. package/.plcode/context/openagents-repo/guides/testing-subagents.md +301 -0
  218. package/.plcode/context/openagents-repo/guides/updating-registry.md +453 -0
  219. package/.plcode/context/openagents-repo/lookup/commands.md +400 -0
  220. package/.plcode/context/openagents-repo/lookup/file-locations.md +322 -0
  221. package/.plcode/context/openagents-repo/lookup/subagent-framework-maps.md +79 -0
  222. package/.plcode/context/openagents-repo/lookup/subagent-test-commands.md +213 -0
  223. package/.plcode/context/openagents-repo/navigation.md +143 -0
  224. package/.plcode/context/openagents-repo/plugins/context/architecture/lifecycle.md +39 -0
  225. package/.plcode/context/openagents-repo/plugins/context/architecture/overview.md +61 -0
  226. package/.plcode/context/openagents-repo/plugins/context/capabilities/agents.md +45 -0
  227. package/.plcode/context/openagents-repo/plugins/context/capabilities/events.md +48 -0
  228. package/.plcode/context/openagents-repo/plugins/context/capabilities/events_skills.md +608 -0
  229. package/.plcode/context/openagents-repo/plugins/context/capabilities/tools.md +48 -0
  230. package/.plcode/context/openagents-repo/plugins/context/context-overview.md +35 -0
  231. package/.plcode/context/openagents-repo/plugins/context/reference/best-practices.md +28 -0
  232. package/.plcode/context/openagents-repo/quality/registry-dependencies.md +642 -0
  233. package/.plcode/context/openagents-repo/quick-start.md +168 -0
  234. package/.plcode/context/openagents-repo/templates/context-bundle-template.md +272 -0
  235. package/.plcode/context/product/README.md +18 -0
  236. package/.plcode/context/product/navigation.md +18 -0
  237. package/.plcode/context/project/navigation.md +31 -0
  238. package/.plcode/context/project/project-context.md +102 -0
  239. package/.plcode/context/system-builder-templates/SYSTEM-BUILDER-GUIDE.md +495 -0
  240. package/.plcode/context/system-builder-templates/navigation.md +72 -0
  241. package/.plcode/context/system-builder-templates/orchestrator-template.md +261 -0
  242. package/.plcode/context/system-builder-templates/subagent-template.md +213 -0
  243. package/.plcode/context/ui/navigation.md +83 -0
  244. package/.plcode/context/ui/terminal/navigation.md +99 -0
  245. package/.plcode/context/ui/web/animation-patterns.md +831 -0
  246. package/.plcode/context/ui/web/design/concepts/scroll-linked-animations.md +52 -0
  247. package/.plcode/context/ui/web/design/examples/scrollytelling-headphone.md +242 -0
  248. package/.plcode/context/ui/web/design/guides/building-scrollytelling-pages.md +274 -0
  249. package/.plcode/context/ui/web/design/lookup/scroll-animation-prompts.md +211 -0
  250. package/.plcode/context/ui/web/design/navigation.md +87 -0
  251. package/.plcode/context/ui/web/design-assets.md +604 -0
  252. package/.plcode/context/ui/web/design-systems.md +395 -0
  253. package/.plcode/context/ui/web/navigation.md +116 -0
  254. package/.plcode/context/ui/web/react-patterns.md +323 -0
  255. package/.plcode/context/ui/web/ui-styling-standards.md +566 -0
  256. package/.plcode/env.d.ts +4 -0
  257. package/.plcode/instructions/agent-rules.md +21 -0
  258. package/.plcode/instructions/coding-preferences-general.md +26 -0
  259. package/.plcode/instructions/coding-preferences-typescript.md +7 -0
  260. package/.plcode/instructions/commits.md +10 -0
  261. package/.plcode/instructions/responses.md +7 -0
  262. package/.plcode/instructions/testing.md +6 -0
  263. package/.plcode/instructions/tooling-preferences.md +20 -0
  264. package/.plcode/plcode.jsonc +393 -0
  265. package/.plcode/plugin/fs-tool.js +169 -0
  266. package/.plcode/plugin/github-triage.ts +90 -0
  267. package/.plcode/plugin/github-triage.txt +88 -0
  268. package/.plcode/plugin/notification.ts +21 -0
  269. package/.plcode/plugin/superpowers.js +417 -0
  270. package/.plcode/scripts/install-mcp-servers.ps1 +33 -0
  271. package/.plcode/scripts/install-mcp-servers.sh +30 -0
  272. package/.plcode/skill/core/agents-md-generator/SKILL.md +220 -0
  273. package/.plcode/skill/core/api-design-principles/SKILL.md +41 -0
  274. package/.plcode/skill/core/api-design-principles/assets/api-design-checklist.md +155 -0
  275. package/.plcode/skill/core/api-design-principles/assets/rest-api-template.py +182 -0
  276. package/.plcode/skill/core/api-design-principles/references/graphql-schema-design.md +583 -0
  277. package/.plcode/skill/core/api-design-principles/references/rest-best-practices.md +408 -0
  278. package/.plcode/skill/core/api-design-principles/resources/implementation-playbook.md +513 -0
  279. package/.plcode/skill/core/api-documentation/SKILL.md +185 -0
  280. package/.plcode/skill/core/api-security-best-practices/SKILL.md +927 -0
  281. package/.plcode/skill/core/api-testing-observability-api-mock/SKILL.md +50 -0
  282. package/.plcode/skill/core/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
  283. package/.plcode/skill/core/audit/SKILL.md +141 -0
  284. package/.plcode/skill/core/backend-dev/README.md +333 -0
  285. package/.plcode/skill/core/backend-dev/SKILL.md +437 -0
  286. package/.plcode/skill/core/backend-dev/examples.md +622 -0
  287. package/.plcode/skill/core/backend-dev-guidelines/SKILL.md +344 -0
  288. package/.plcode/skill/core/backend-dev-guidelines/resources/architecture-overview.md +479 -0
  289. package/.plcode/skill/core/backend-dev-guidelines/resources/async-and-errors.md +305 -0
  290. package/.plcode/skill/core/backend-dev-guidelines/resources/complete-examples.md +607 -0
  291. package/.plcode/skill/core/backend-dev-guidelines/resources/configuration.md +285 -0
  292. package/.plcode/skill/core/backend-dev-guidelines/resources/database-patterns.md +227 -0
  293. package/.plcode/skill/core/backend-dev-guidelines/resources/middleware-guide.md +205 -0
  294. package/.plcode/skill/core/backend-dev-guidelines/resources/routing-and-controllers.md +704 -0
  295. package/.plcode/skill/core/backend-dev-guidelines/resources/sentry-and-monitoring.md +338 -0
  296. package/.plcode/skill/core/backend-dev-guidelines/resources/services-and-repositories.md +814 -0
  297. package/.plcode/skill/core/backend-dev-guidelines/resources/testing-guide.md +230 -0
  298. package/.plcode/skill/core/backend-dev-guidelines/resources/validation-patterns.md +750 -0
  299. package/.plcode/skill/core/browser/SKILL.md +67 -0
  300. package/.plcode/skill/core/browser/eval.js +38 -0
  301. package/.plcode/skill/core/browser/nav.js +37 -0
  302. package/.plcode/skill/core/browser/package-lock.json +928 -0
  303. package/.plcode/skill/core/browser/pick.js +106 -0
  304. package/.plcode/skill/core/browser/screenshot.js +31 -0
  305. package/.plcode/skill/core/browser/start.js +71 -0
  306. package/.plcode/skill/core/changelog-generator/SKILL.md +105 -0
  307. package/.plcode/skill/core/clarify/SKILL.md +199 -0
  308. package/.plcode/skill/core/code-refactoring/SKILL.md +232 -0
  309. package/.plcode/skill/core/code-review/SKILL.md +60 -0
  310. package/.plcode/skill/core/critique/SKILL.md +137 -0
  311. package/.plcode/skill/core/database-design/SKILL.md +186 -0
  312. package/.plcode/skill/core/dispatching-parallel-agents/SKILL.md +192 -0
  313. package/.plcode/skill/core/error-handling-patterns/SKILL.md +39 -0
  314. package/.plcode/skill/core/error-handling-patterns/resources/implementation-playbook.md +634 -0
  315. package/.plcode/skill/core/executing-plans/SKILL.md +97 -0
  316. package/.plcode/skill/core/finishing-a-development-branch/SKILL.md +214 -0
  317. package/.plcode/skill/core/frontend-design/LICENSE.txt +177 -0
  318. package/.plcode/skill/core/frontend-design/SKILL.md +516 -0
  319. package/.plcode/skill/core/javascript-typescript/SKILL.md +147 -0
  320. package/.plcode/skill/core/python-development/SKILL.md +142 -0
  321. package/.plcode/skill/core/receiving-code-review/SKILL.md +227 -0
  322. package/.plcode/skill/core/requesting-code-review/SKILL.md +116 -0
  323. package/.plcode/skill/core/requesting-code-review/code-reviewer.md +160 -0
  324. package/.plcode/skill/core/skill-creator/LICENSE.txt +202 -0
  325. package/.plcode/skill/core/skill-creator/SKILL.md +357 -0
  326. package/.plcode/skill/core/skill-creator/references/output-patterns.md +92 -0
  327. package/.plcode/skill/core/skill-creator/references/workflows.md +28 -0
  328. package/.plcode/skill/core/skill-creator/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
  329. package/.plcode/skill/core/skill-creator/scripts/init_skill.py +303 -0
  330. package/.plcode/skill/core/skill-creator/scripts/package_skill.py +110 -0
  331. package/.plcode/skill/core/skill-creator/scripts/quick_validate.py +103 -0
  332. package/.plcode/skill/core/subagent-driven-development/SKILL.md +256 -0
  333. package/.plcode/skill/core/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
  334. package/.plcode/skill/core/subagent-driven-development/implementer-prompt.md +78 -0
  335. package/.plcode/skill/core/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  336. package/.plcode/skill/core/systematic-debugging/CREATION-LOG.md +133 -0
  337. package/.plcode/skill/core/systematic-debugging/SKILL.md +309 -0
  338. package/.plcode/skill/core/systematic-debugging/condition-based-waiting-example.ts +158 -0
  339. package/.plcode/skill/core/systematic-debugging/condition-based-waiting.md +120 -0
  340. package/.plcode/skill/core/systematic-debugging/defense-in-depth.md +128 -0
  341. package/.plcode/skill/core/systematic-debugging/find-polluter.sh +63 -0
  342. package/.plcode/skill/core/systematic-debugging/root-cause-tracing.md +183 -0
  343. package/.plcode/skill/core/systematic-debugging/test-academic.md +14 -0
  344. package/.plcode/skill/core/systematic-debugging/test-pressure-1.md +65 -0
  345. package/.plcode/skill/core/systematic-debugging/test-pressure-2.md +75 -0
  346. package/.plcode/skill/core/systematic-debugging/test-pressure-3.md +75 -0
  347. package/.plcode/skill/core/task-generator/SKILL.md +72 -0
  348. package/.plcode/skill/core/test-driven-development/SKILL.md +393 -0
  349. package/.plcode/skill/core/test-driven-development/testing-anti-patterns.md +317 -0
  350. package/.plcode/skill/core/using-git-worktrees/SKILL.md +224 -0
  351. package/.plcode/skill/core/using-superpowers/SKILL.md +96 -0
  352. package/.plcode/skill/core/verification-before-completion/SKILL.md +148 -0
  353. package/.plcode/skill/core/writing-plans/SKILL.md +122 -0
  354. package/.plcode/skill/core/writing-skills/SKILL.md +717 -0
  355. package/.plcode/skill/core/writing-skills/anthropic-best-practices.md +1176 -0
  356. package/.plcode/skill/core/writing-skills/examples/CLAUDE_MD_TESTING.md +200 -0
  357. package/.plcode/skill/core/writing-skills/graphviz-conventions.dot +172 -0
  358. package/.plcode/skill/core/writing-skills/persuasion-principles.md +220 -0
  359. package/.plcode/skill/core/writing-skills/render-graphs.js +171 -0
  360. package/.plcode/skill/core/writing-skills/testing-skills-with-subagents.md +404 -0
  361. package/.plcode/skill/experimental/accessibility-compliance-accessibility-audit/SKILL.md +46 -0
  362. package/.plcode/skill/experimental/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +489 -0
  363. package/.plcode/skill/experimental/adapt/SKILL.md +214 -0
  364. package/.plcode/skill/experimental/agnos/ROUTING.md +128 -0
  365. package/.plcode/skill/experimental/agnos/SKILL.md +142 -0
  366. package/.plcode/skill/experimental/algorithmic-art/LICENSE.txt +202 -0
  367. package/.plcode/skill/experimental/algorithmic-art/SKILL.md +444 -0
  368. package/.plcode/skill/experimental/algorithmic-art/templates/generator_template.js +223 -0
  369. package/.plcode/skill/experimental/algorithmic-art/templates/viewer.html +634 -0
  370. package/.plcode/skill/experimental/animate/SKILL.md +204 -0
  371. package/.plcode/skill/experimental/application-performance-performance-optimization/SKILL.md +158 -0
  372. package/.plcode/skill/experimental/architecture-diagram/SKILL.md +378 -0
  373. package/.plcode/skill/experimental/artifacts-builder/LICENSE.txt +202 -0
  374. package/.plcode/skill/experimental/artifacts-builder/SKILL.md +80 -0
  375. package/.plcode/skill/experimental/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  376. package/.plcode/skill/experimental/artifacts-builder/scripts/init-artifact.sh +322 -0
  377. package/.plcode/skill/experimental/automem-memory-management/SKILL.md +401 -0
  378. package/.plcode/skill/experimental/backend-architect/SKILL.md +331 -0
  379. package/.plcode/skill/experimental/backend-security-coder/SKILL.md +172 -0
  380. package/.plcode/skill/experimental/bolder/SKILL.md +140 -0
  381. package/.plcode/skill/experimental/brainstorming/SKILL.md +102 -0
  382. package/.plcode/skill/experimental/canvas-design/LICENSE.txt +202 -0
  383. package/.plcode/skill/experimental/canvas-design/SKILL.md +138 -0
  384. package/.plcode/skill/experimental/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  385. package/.plcode/skill/experimental/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  386. package/.plcode/skill/experimental/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  387. package/.plcode/skill/experimental/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  388. package/.plcode/skill/experimental/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  389. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  390. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  391. package/.plcode/skill/experimental/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  392. package/.plcode/skill/experimental/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  393. package/.plcode/skill/experimental/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  394. package/.plcode/skill/experimental/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  395. package/.plcode/skill/experimental/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  396. package/.plcode/skill/experimental/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  397. package/.plcode/skill/experimental/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  398. package/.plcode/skill/experimental/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  399. package/.plcode/skill/experimental/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  400. package/.plcode/skill/experimental/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  401. package/.plcode/skill/experimental/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  402. package/.plcode/skill/experimental/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  403. package/.plcode/skill/experimental/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  404. package/.plcode/skill/experimental/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  405. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  406. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  407. package/.plcode/skill/experimental/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  408. package/.plcode/skill/experimental/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  409. package/.plcode/skill/experimental/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  410. package/.plcode/skill/experimental/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  411. package/.plcode/skill/experimental/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  412. package/.plcode/skill/experimental/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  413. package/.plcode/skill/experimental/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  414. package/.plcode/skill/experimental/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  415. package/.plcode/skill/experimental/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  416. package/.plcode/skill/experimental/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  417. package/.plcode/skill/experimental/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  418. package/.plcode/skill/experimental/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  419. package/.plcode/skill/experimental/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  420. package/.plcode/skill/experimental/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  421. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  422. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  423. package/.plcode/skill/experimental/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  424. package/.plcode/skill/experimental/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  425. package/.plcode/skill/experimental/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  426. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  427. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  428. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  429. package/.plcode/skill/experimental/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  430. package/.plcode/skill/experimental/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  431. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  432. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  433. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  434. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  435. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  436. package/.plcode/skill/experimental/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  437. package/.plcode/skill/experimental/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  438. package/.plcode/skill/experimental/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  439. package/.plcode/skill/experimental/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  440. package/.plcode/skill/experimental/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  441. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  442. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  443. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  444. package/.plcode/skill/experimental/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  445. package/.plcode/skill/experimental/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  446. package/.plcode/skill/experimental/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  447. package/.plcode/skill/experimental/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  448. package/.plcode/skill/experimental/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  449. package/.plcode/skill/experimental/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  450. package/.plcode/skill/experimental/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  451. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  452. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  453. package/.plcode/skill/experimental/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  454. package/.plcode/skill/experimental/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  455. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  456. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  457. package/.plcode/skill/experimental/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  458. package/.plcode/skill/experimental/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  459. package/.plcode/skill/experimental/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  460. package/.plcode/skill/experimental/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  461. package/.plcode/skill/experimental/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  462. package/.plcode/skill/experimental/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  463. package/.plcode/skill/experimental/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  464. package/.plcode/skill/experimental/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  465. package/.plcode/skill/experimental/colorize/SKILL.md +170 -0
  466. package/.plcode/skill/experimental/content-research-writer/SKILL.md +596 -0
  467. package/.plcode/skill/experimental/delight/SKILL.md +350 -0
  468. package/.plcode/skill/experimental/design-tokens/SKILL.md +456 -0
  469. package/.plcode/skill/experimental/distill/SKILL.md +146 -0
  470. package/.plcode/skill/experimental/doc-coauthoring/SKILL.md +395 -0
  471. package/.plcode/skill/experimental/document-docx/LICENSE.txt +30 -0
  472. package/.plcode/skill/experimental/document-docx/SKILL.md +581 -0
  473. package/.plcode/skill/experimental/document-docx/docx-js.md +488 -0
  474. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  475. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  476. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  477. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  478. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  479. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  480. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  481. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  482. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  483. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  484. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  485. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  486. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  487. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  488. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  489. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  490. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  491. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  492. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  493. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  494. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  495. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  496. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  497. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  498. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  499. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  500. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  501. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  502. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  503. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  504. package/.plcode/skill/experimental/document-docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  505. package/.plcode/skill/experimental/document-docx/ooxml/schemas/mce/mc.xsd +75 -0
  506. package/.plcode/skill/experimental/document-docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  507. package/.plcode/skill/experimental/document-docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  508. package/.plcode/skill/experimental/document-docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  509. package/.plcode/skill/experimental/document-docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  510. package/.plcode/skill/experimental/document-docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  511. package/.plcode/skill/experimental/document-docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  512. package/.plcode/skill/experimental/document-docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  513. package/.plcode/skill/experimental/document-docx/ooxml/scripts/pack.py +159 -0
  514. package/.plcode/skill/experimental/document-docx/ooxml/scripts/unpack.py +29 -0
  515. package/.plcode/skill/experimental/document-docx/ooxml/scripts/validate.py +69 -0
  516. package/.plcode/skill/experimental/document-docx/ooxml/scripts/validation/__init__.py +15 -0
  517. package/.plcode/skill/experimental/document-docx/ooxml/scripts/validation/base.py +951 -0
  518. package/.plcode/skill/experimental/document-docx/ooxml/scripts/validation/docx.py +274 -0
  519. package/.plcode/skill/experimental/document-docx/ooxml/scripts/validation/pptx.py +315 -0
  520. package/.plcode/skill/experimental/document-docx/ooxml/scripts/validation/redlining.py +279 -0
  521. package/.plcode/skill/experimental/document-docx/ooxml.md +635 -0
  522. package/.plcode/skill/experimental/document-docx/scripts/__init__.py +1 -0
  523. package/.plcode/skill/experimental/document-docx/scripts/accept_changes.py +135 -0
  524. package/.plcode/skill/experimental/document-docx/scripts/comment.py +318 -0
  525. package/.plcode/skill/experimental/document-docx/scripts/document.py +1276 -0
  526. package/.plcode/skill/experimental/document-docx/scripts/office/helpers/__init__.py +0 -0
  527. package/.plcode/skill/experimental/document-docx/scripts/office/helpers/merge_runs.py +199 -0
  528. package/.plcode/skill/experimental/document-docx/scripts/office/helpers/simplify_redlines.py +197 -0
  529. package/.plcode/skill/experimental/document-docx/scripts/office/pack.py +159 -0
  530. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  531. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  532. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  533. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  534. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  535. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  536. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  537. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  538. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  539. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  540. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  541. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  542. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  543. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  544. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  545. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  546. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  547. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  548. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  549. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  550. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  551. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  552. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  553. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  554. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  555. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  556. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  557. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  558. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  559. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  560. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  561. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/mce/mc.xsd +75 -0
  562. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  563. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  564. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  565. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  566. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  567. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  568. package/.plcode/skill/experimental/document-docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  569. package/.plcode/skill/experimental/document-docx/scripts/office/soffice.py +183 -0
  570. package/.plcode/skill/experimental/document-docx/scripts/office/unpack.py +132 -0
  571. package/.plcode/skill/experimental/document-docx/scripts/office/validate.py +111 -0
  572. package/.plcode/skill/experimental/document-docx/scripts/office/validators/__init__.py +15 -0
  573. package/.plcode/skill/experimental/document-docx/scripts/office/validators/base.py +847 -0
  574. package/.plcode/skill/experimental/document-docx/scripts/office/validators/docx.py +446 -0
  575. package/.plcode/skill/experimental/document-docx/scripts/office/validators/pptx.py +275 -0
  576. package/.plcode/skill/experimental/document-docx/scripts/office/validators/redlining.py +247 -0
  577. package/.plcode/skill/experimental/document-docx/scripts/templates/comments.xml +3 -0
  578. package/.plcode/skill/experimental/document-docx/scripts/templates/commentsExtended.xml +3 -0
  579. package/.plcode/skill/experimental/document-docx/scripts/templates/commentsExtensible.xml +3 -0
  580. package/.plcode/skill/experimental/document-docx/scripts/templates/commentsIds.xml +3 -0
  581. package/.plcode/skill/experimental/document-docx/scripts/templates/people.xml +3 -0
  582. package/.plcode/skill/experimental/document-docx/scripts/utilities.py +374 -0
  583. package/.plcode/skill/experimental/document-pdf/LICENSE.txt +30 -0
  584. package/.plcode/skill/experimental/document-pdf/SKILL.md +332 -0
  585. package/.plcode/skill/experimental/document-pdf/forms.md +312 -0
  586. package/.plcode/skill/experimental/document-pdf/reference.md +640 -0
  587. package/.plcode/skill/experimental/document-pdf/scripts/check_bounding_boxes.py +65 -0
  588. package/.plcode/skill/experimental/document-pdf/scripts/check_bounding_boxes_test.py +226 -0
  589. package/.plcode/skill/experimental/document-pdf/scripts/check_fillable_fields.py +11 -0
  590. package/.plcode/skill/experimental/document-pdf/scripts/convert_pdf_to_images.py +33 -0
  591. package/.plcode/skill/experimental/document-pdf/scripts/create_validation_image.py +37 -0
  592. package/.plcode/skill/experimental/document-pdf/scripts/extract_form_field_info.py +122 -0
  593. package/.plcode/skill/experimental/document-pdf/scripts/extract_form_structure.py +115 -0
  594. package/.plcode/skill/experimental/document-pdf/scripts/fill_fillable_fields.py +98 -0
  595. package/.plcode/skill/experimental/document-pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  596. package/.plcode/skill/experimental/document-pptx/LICENSE.txt +30 -0
  597. package/.plcode/skill/experimental/document-pptx/SKILL.md +236 -0
  598. package/.plcode/skill/experimental/document-pptx/editing.md +213 -0
  599. package/.plcode/skill/experimental/document-pptx/html2pptx.md +719 -0
  600. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  601. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  602. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  603. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  604. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  605. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  606. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  607. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  608. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  609. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  610. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  611. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  612. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  613. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  614. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  615. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  616. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  617. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  618. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  619. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  620. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  621. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  622. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  623. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  624. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  625. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  626. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  627. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  628. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  629. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  630. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  631. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/mce/mc.xsd +75 -0
  632. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  633. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  634. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  635. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  636. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  637. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  638. package/.plcode/skill/experimental/document-pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  639. package/.plcode/skill/experimental/document-pptx/ooxml/scripts/pack.py +159 -0
  640. package/.plcode/skill/experimental/document-pptx/ooxml/scripts/unpack.py +29 -0
  641. package/.plcode/skill/experimental/document-pptx/ooxml/scripts/validate.py +69 -0
  642. package/.plcode/skill/experimental/document-pptx/ooxml/scripts/validation/__init__.py +15 -0
  643. package/.plcode/skill/experimental/document-pptx/ooxml/scripts/validation/base.py +951 -0
  644. package/.plcode/skill/experimental/document-pptx/ooxml/scripts/validation/docx.py +274 -0
  645. package/.plcode/skill/experimental/document-pptx/ooxml/scripts/validation/pptx.py +315 -0
  646. package/.plcode/skill/experimental/document-pptx/ooxml/scripts/validation/redlining.py +279 -0
  647. package/.plcode/skill/experimental/document-pptx/ooxml.md +446 -0
  648. package/.plcode/skill/experimental/document-pptx/pptxgenjs.md +511 -0
  649. package/.plcode/skill/experimental/document-pptx/scripts/__init__.py +0 -0
  650. package/.plcode/skill/experimental/document-pptx/scripts/add_slide.py +195 -0
  651. package/.plcode/skill/experimental/document-pptx/scripts/clean.py +286 -0
  652. package/.plcode/skill/experimental/document-pptx/scripts/html2pptx.js +1008 -0
  653. package/.plcode/skill/experimental/document-pptx/scripts/inventory.py +1029 -0
  654. package/.plcode/skill/experimental/document-pptx/scripts/office/helpers/__init__.py +0 -0
  655. package/.plcode/skill/experimental/document-pptx/scripts/office/helpers/merge_runs.py +199 -0
  656. package/.plcode/skill/experimental/document-pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  657. package/.plcode/skill/experimental/document-pptx/scripts/office/pack.py +159 -0
  658. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  659. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  660. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  661. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  662. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  663. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  664. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  665. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  666. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  667. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  668. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  669. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  670. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  671. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  672. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  673. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  674. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  675. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  676. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  677. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  678. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  679. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  680. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  681. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  682. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  683. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  684. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  685. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  686. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  687. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  688. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  689. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/mce/mc.xsd +75 -0
  690. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  691. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  692. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  693. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  694. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  695. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  696. package/.plcode/skill/experimental/document-pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  697. package/.plcode/skill/experimental/document-pptx/scripts/office/soffice.py +183 -0
  698. package/.plcode/skill/experimental/document-pptx/scripts/office/unpack.py +132 -0
  699. package/.plcode/skill/experimental/document-pptx/scripts/office/validate.py +111 -0
  700. package/.plcode/skill/experimental/document-pptx/scripts/office/validators/__init__.py +15 -0
  701. package/.plcode/skill/experimental/document-pptx/scripts/office/validators/base.py +847 -0
  702. package/.plcode/skill/experimental/document-pptx/scripts/office/validators/docx.py +446 -0
  703. package/.plcode/skill/experimental/document-pptx/scripts/office/validators/pptx.py +275 -0
  704. package/.plcode/skill/experimental/document-pptx/scripts/office/validators/redlining.py +247 -0
  705. package/.plcode/skill/experimental/document-pptx/scripts/rearrange.py +231 -0
  706. package/.plcode/skill/experimental/document-pptx/scripts/replace.py +385 -0
  707. package/.plcode/skill/experimental/document-pptx/scripts/thumbnail.py +289 -0
  708. package/.plcode/skill/experimental/document-xlsx/LICENSE.txt +30 -0
  709. package/.plcode/skill/experimental/document-xlsx/SKILL.md +320 -0
  710. package/.plcode/skill/experimental/document-xlsx/recalc.py +211 -0
  711. package/.plcode/skill/experimental/document-xlsx/scripts/office/helpers/__init__.py +0 -0
  712. package/.plcode/skill/experimental/document-xlsx/scripts/office/helpers/merge_runs.py +199 -0
  713. package/.plcode/skill/experimental/document-xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  714. package/.plcode/skill/experimental/document-xlsx/scripts/office/pack.py +159 -0
  715. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  716. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  717. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  718. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  719. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  720. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  721. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  722. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  723. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  724. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  725. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  726. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  727. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  728. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  729. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  730. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  731. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  732. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  733. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  734. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  735. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  736. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  737. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  738. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  739. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  740. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  741. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  742. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  743. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  744. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  745. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  746. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  747. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  748. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  749. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  750. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  751. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  752. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  753. package/.plcode/skill/experimental/document-xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  754. package/.plcode/skill/experimental/document-xlsx/scripts/office/soffice.py +183 -0
  755. package/.plcode/skill/experimental/document-xlsx/scripts/office/unpack.py +132 -0
  756. package/.plcode/skill/experimental/document-xlsx/scripts/office/validate.py +111 -0
  757. package/.plcode/skill/experimental/document-xlsx/scripts/office/validators/__init__.py +15 -0
  758. package/.plcode/skill/experimental/document-xlsx/scripts/office/validators/base.py +847 -0
  759. package/.plcode/skill/experimental/document-xlsx/scripts/office/validators/docx.py +446 -0
  760. package/.plcode/skill/experimental/document-xlsx/scripts/office/validators/pptx.py +275 -0
  761. package/.plcode/skill/experimental/document-xlsx/scripts/office/validators/redlining.py +247 -0
  762. package/.plcode/skill/experimental/document-xlsx/scripts/recalc.py +184 -0
  763. package/.plcode/skill/experimental/domain-driven-design/SKILL.md +75 -0
  764. package/.plcode/skill/experimental/domain-driven-design/references/ddd-deliverables.md +24 -0
  765. package/.plcode/skill/experimental/excalidraw/SKILL.md +537 -0
  766. package/.plcode/skill/experimental/extract/SKILL.md +94 -0
  767. package/.plcode/skill/experimental/frontend-ui-animator/SKILL.md +147 -0
  768. package/.plcode/skill/experimental/frontend-ui-animator/references/animation-patterns.md +583 -0
  769. package/.plcode/skill/experimental/frontend-ui-animator/references/component-checklist.md +161 -0
  770. package/.plcode/skill/experimental/frontend-ui-animator/references/tailwind-presets.md +404 -0
  771. package/.plcode/skill/experimental/frontend-ui-integration/SKILL.md +79 -0
  772. package/.plcode/skill/experimental/harden/SKILL.md +385 -0
  773. package/.plcode/skill/experimental/infographic/SKILL.md +469 -0
  774. package/.plcode/skill/experimental/llm-application-dev/SKILL.md +221 -0
  775. package/.plcode/skill/experimental/mcp-builder/LICENSE.txt +202 -0
  776. package/.plcode/skill/experimental/mcp-builder/SKILL.md +256 -0
  777. package/.plcode/skill/experimental/mcp-builder/reference/evaluation.md +630 -0
  778. package/.plcode/skill/experimental/mcp-builder/reference/mcp_best_practices.md +269 -0
  779. package/.plcode/skill/experimental/mcp-builder/reference/node_mcp_server.md +974 -0
  780. package/.plcode/skill/experimental/mcp-builder/reference/python_mcp_server.md +737 -0
  781. package/.plcode/skill/experimental/mcp-builder/scripts/connections.py +151 -0
  782. package/.plcode/skill/experimental/mcp-builder/scripts/evaluation.py +373 -0
  783. package/.plcode/skill/experimental/mcp-builder/scripts/example_evaluation.xml +22 -0
  784. package/.plcode/skill/experimental/mcp-builder/scripts/requirements.txt +2 -0
  785. package/.plcode/skill/experimental/normalize/SKILL.md +69 -0
  786. package/.plcode/skill/experimental/onboard/SKILL.md +272 -0
  787. package/.plcode/skill/experimental/optimize/SKILL.md +291 -0
  788. package/.plcode/skill/experimental/polish/SKILL.md +204 -0
  789. package/.plcode/skill/experimental/product-management/SKILL.md +327 -0
  790. package/.plcode/skill/experimental/quieter/SKILL.md +125 -0
  791. package/.plcode/skill/experimental/ralph/scripts/prompt.md +108 -0
  792. package/.plcode/skill/experimental/ralph/scripts/ralph.sh +77 -0
  793. package/.plcode/skill/experimental/ralph/skill.md +170 -0
  794. package/.plcode/skill/experimental/ralph-executor/skill.md +130 -0
  795. package/.plcode/skill/experimental/rsc-data-optimizer/SKILL.md +117 -0
  796. package/.plcode/skill/experimental/rsc-data-optimizer/references/patterns.md +285 -0
  797. package/.plcode/skill/experimental/shadcn-management/SKILL.md +109 -0
  798. package/.plcode/skill/experimental/shadcn-management/references/workflows.md +214 -0
  799. package/.plcode/skill/experimental/sketch/SKILL.md +232 -0
  800. package/.plcode/skill/experimental/teach-impeccable/SKILL.md +78 -0
  801. package/.plcode/skill/experimental/theme-factory/LICENSE.txt +202 -0
  802. package/.plcode/skill/experimental/theme-factory/SKILL.md +63 -0
  803. package/.plcode/skill/experimental/theme-factory/theme-showcase.pdf +0 -0
  804. package/.plcode/skill/experimental/theme-factory/themes/arctic-frost.md +19 -0
  805. package/.plcode/skill/experimental/theme-factory/themes/botanical-garden.md +19 -0
  806. package/.plcode/skill/experimental/theme-factory/themes/desert-rose.md +19 -0
  807. package/.plcode/skill/experimental/theme-factory/themes/forest-canopy.md +19 -0
  808. package/.plcode/skill/experimental/theme-factory/themes/golden-hour.md +19 -0
  809. package/.plcode/skill/experimental/theme-factory/themes/midnight-galaxy.md +19 -0
  810. package/.plcode/skill/experimental/theme-factory/themes/modern-minimalist.md +19 -0
  811. package/.plcode/skill/experimental/theme-factory/themes/ocean-depths.md +19 -0
  812. package/.plcode/skill/experimental/theme-factory/themes/sunset-boulevard.md +19 -0
  813. package/.plcode/skill/experimental/theme-factory/themes/tech-innovation.md +19 -0
  814. package/.plcode/skill/experimental/ui-ux-pro-max/SKILL.md +238 -0
  815. package/.plcode/skill/experimental/ui-ux-pro-max/data/charts.csv +26 -0
  816. package/.plcode/skill/experimental/ui-ux-pro-max/data/colors.csv +97 -0
  817. package/.plcode/skill/experimental/ui-ux-pro-max/data/landing.csv +31 -0
  818. package/.plcode/skill/experimental/ui-ux-pro-max/data/products.csv +97 -0
  819. package/.plcode/skill/experimental/ui-ux-pro-max/data/prompts.csv +24 -0
  820. package/.plcode/skill/experimental/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  821. package/.plcode/skill/experimental/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  822. package/.plcode/skill/experimental/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  823. package/.plcode/skill/experimental/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  824. package/.plcode/skill/experimental/ui-ux-pro-max/data/stacks/react.csv +54 -0
  825. package/.plcode/skill/experimental/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  826. package/.plcode/skill/experimental/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  827. package/.plcode/skill/experimental/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  828. package/.plcode/skill/experimental/ui-ux-pro-max/data/styles.csv +59 -0
  829. package/.plcode/skill/experimental/ui-ux-pro-max/data/typography.csv +58 -0
  830. package/.plcode/skill/experimental/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  831. package/.plcode/skill/experimental/ui-ux-pro-max/scripts/core.py +236 -0
  832. package/.plcode/skill/experimental/ui-ux-pro-max/scripts/search.py +61 -0
  833. package/.plcode/skill/experimental/webapp-testing/LICENSE.txt +202 -0
  834. package/.plcode/skill/experimental/webapp-testing/SKILL.md +108 -0
  835. package/.plcode/skill/experimental/webapp-testing/examples/console_logging.py +35 -0
  836. package/.plcode/skill/experimental/webapp-testing/examples/element_discovery.py +40 -0
  837. package/.plcode/skill/experimental/webapp-testing/examples/static_html_automation.py +33 -0
  838. package/.plcode/skill/experimental/webapp-testing/scripts/with_server.py +106 -0
  839. package/.plcode/themes/mytheme.json +223 -0
  840. package/README.md +6 -33
  841. package/bin/plcode +10 -90
  842. package/lib/cli.js +212182 -0
  843. package/lib/worker.js +143504 -0
  844. package/package.json +14 -17
@@ -0,0 +1,220 @@
1
+ ---
2
+ name: agents-md-generator
3
+ description: Generate hierarchical AGENTS.md structures for codebases. Use when user asks to create AGENTS.md files, analyze codebase for AI agent documentation, set up AI-friendly project documentation, or generate context files for AI coding assistants. Triggers on "create AGENTS.md", "generate agents", "analyze codebase for AI", "AI documentation setup", "hierarchical agents".
4
+ category: documents
5
+ ---
6
+
7
+ # AGENTS.md Generator
8
+
9
+ Generate hierarchical AGENTS.md structures optimized for AI coding agents with minimal token usage.
10
+
11
+ ## Core Principles
12
+
13
+ 1. **Root AGENTS.md is LIGHTWEIGHT** - Only universal guidance, links to sub-files (~100-200 lines max)
14
+ 2. **Nearest-wins hierarchy** - Agents read closest AGENTS.md to file being edited
15
+ 3. **JIT indexing** - Provide paths/globs/commands, NOT full content
16
+ 4. **Token efficiency** - Small, actionable guidance over encyclopedic docs
17
+ 5. **Sub-folder files have MORE detail** - Specific patterns, examples, commands
18
+
19
+ ## Workflow
20
+
21
+ ### Phase 1: Repository Analysis
22
+
23
+ Analyze and report:
24
+
25
+ 1. **Repository type**: Monorepo, multi-package, or simple?
26
+ 2. **Tech stack**: Languages, frameworks, key tools
27
+ 3. **Major directories** needing own AGENTS.md:
28
+ - Apps (`apps/web`, `apps/api`, `apps/mobile`)
29
+ - Services (`services/auth`, `services/transcribe`)
30
+ - Packages (`packages/ui`, `packages/shared`)
31
+ - Workers (`workers/queue`, `workers/cron`)
32
+ 4. **Build system**: pnpm/npm/yarn workspaces? Turborepo? Lerna?
33
+ 5. **Testing setup**: Jest, Vitest, Playwright, pytest?
34
+ 6. **Key patterns**: Organization, conventions, examples, anti-patterns
35
+
36
+ Present as structured map before generating files.
37
+
38
+ ### Phase 2: Root AGENTS.md
39
+
40
+ Create lightweight root (~100-200 lines):
41
+
42
+ ```markdown
43
+ # Project Name
44
+
45
+ ## Project Snapshot
46
+
47
+ [3-5 lines: repo type, tech stack, note about sub-AGENTS.md files]
48
+
49
+ ## Root Setup Commands
50
+
51
+ [5-10 lines: install, build all, typecheck all, test all]
52
+
53
+ ## Universal Conventions
54
+
55
+ [5-10 lines: code style, commit format, branch strategy, PR requirements]
56
+
57
+ ## Security & Secrets
58
+
59
+ [3-5 lines: never commit tokens, .env patterns, PII handling]
60
+
61
+ ## JIT Index
62
+
63
+ ### Package Structure
64
+
65
+ - Web UI: `apps/web/` -> [see apps/web/AGENTS.md](apps/web/AGENTS.md)
66
+ - API: `apps/api/` -> [see apps/api/AGENTS.md](apps/api/AGENTS.md)
67
+
68
+ ### Quick Find Commands
69
+
70
+ - Search function: `rg -n "functionName" apps/** packages/**`
71
+ - Find component: `rg -n "export.*ComponentName" apps/web/src`
72
+ - Find API routes: `rg -n "export const (GET|POST)" apps/api`
73
+
74
+ ## Definition of Done
75
+
76
+ [3-5 lines: what must pass before PR]
77
+ ```
78
+
79
+ ### Phase 3: Sub-Folder AGENTS.md
80
+
81
+ For each major package, create detailed AGENTS.md:
82
+
83
+ ```markdown
84
+ # Package Name
85
+
86
+ ## Package Identity
87
+
88
+ [2-3 lines: what it does, primary tech]
89
+
90
+ ## Setup & Run
91
+
92
+ [5-10 lines: install, dev, build, test, lint commands]
93
+
94
+ ## Patterns & Conventions
95
+
96
+ [10-20 lines - MOST IMPORTANT SECTION]
97
+
98
+ - File organization rules
99
+ - Naming conventions
100
+ - Examples with actual file paths:
101
+ - DO: Use pattern from `src/components/Button.tsx`
102
+ - DON'T: Class components like `src/legacy/OldButton.tsx`
103
+ - Forms: Copy `src/components/forms/ContactForm.tsx`
104
+ - API calls: See `src/hooks/useUser.ts`
105
+
106
+ ## Key Files
107
+
108
+ [5-10 lines: important files to understand package]
109
+
110
+ - Auth: `src/auth/provider.tsx`
111
+ - API client: `src/lib/api.ts`
112
+ - Types: `src/types/index.ts`
113
+
114
+ ## JIT Index Hints
115
+
116
+ [5-10 lines: search commands for this package]
117
+
118
+ - Find component: `rg -n "export function .*" src/components`
119
+ - Find hook: `rg -n "export const use" src/hooks`
120
+ - Find tests: `find . -name "*.test.ts"`
121
+
122
+ ## Common Gotchas
123
+
124
+ [3-5 lines if applicable]
125
+
126
+ - "Auth requires NEXT*PUBLIC* prefix for client-side"
127
+ - "Always use @/ imports for absolute paths"
128
+
129
+ ## Pre-PR Checks
130
+
131
+ [2-3 lines: copy-paste command]
132
+ pnpm --filter @repo/web typecheck && pnpm --filter @repo/web test
133
+ ```
134
+
135
+ ### Phase 4: Special Templates
136
+
137
+ #### Design System / UI Package
138
+
139
+ ```markdown
140
+ ## Design System
141
+
142
+ - Components: `packages/ui/src/components/**`
143
+ - Use design tokens from `packages/ui/src/tokens.ts`
144
+ - Component gallery: `pnpm --filter @repo/ui storybook`
145
+ - Examples:
146
+ - Buttons: `packages/ui/src/components/Button/Button.tsx`
147
+ - Forms: `packages/ui/src/components/Input/Input.tsx`
148
+ ```
149
+
150
+ #### Database / Data Layer
151
+
152
+ ```markdown
153
+ ## Database
154
+
155
+ - ORM: Prisma / Drizzle / TypeORM
156
+ - Schema: `prisma/schema.prisma`
157
+ - Migrations: `pnpm db:migrate`
158
+ - Connection: via `src/lib/db.ts` singleton
159
+ - NEVER run migrations in tests
160
+ ```
161
+
162
+ #### API / Backend Service
163
+
164
+ ```markdown
165
+ ## API Patterns
166
+
167
+ - REST routes: `src/routes/**/*.ts`
168
+ - Auth middleware: `src/middleware/auth.ts`
169
+ - Validation: Zod schemas in `src/schemas/**`
170
+ - Errors: `ApiError` from `src/lib/errors.ts`
171
+ - Example: `src/routes/users/get.ts`
172
+ ```
173
+
174
+ #### Testing
175
+
176
+ ```markdown
177
+ ## Testing
178
+
179
+ - Unit: `*.test.ts` colocated
180
+ - Integration: `tests/integration/**`
181
+ - E2E: `tests/e2e/**` (Playwright)
182
+ - Single test: `pnpm test -- path/to/file.test.ts`
183
+ - Mocks: `src/test/mocks/**`
184
+ ```
185
+
186
+ ## Output Format
187
+
188
+ Provide files in order:
189
+
190
+ 1. Analysis Summary
191
+ 2. Root AGENTS.md (complete)
192
+ 3. Each Sub-Folder AGENTS.md (with file path)
193
+
194
+ Format:
195
+
196
+ ```
197
+ ---
198
+ File: `AGENTS.md` (root)
199
+ ---
200
+ [content]
201
+
202
+ ---
203
+ File: `apps/web/AGENTS.md`
204
+ ---
205
+ [content]
206
+ ```
207
+
208
+ ## Quality Checklist
209
+
210
+ Before generating, verify:
211
+
212
+ - [ ] Root AGENTS.md under 200 lines
213
+ - [ ] Root links to all sub-AGENTS.md files
214
+ - [ ] Each sub-file has concrete examples (actual paths)
215
+ - [ ] Commands are copy-paste ready
216
+ - [ ] No duplication between root and sub-files
217
+ - [ ] JIT hints use actual patterns (ripgrep, find, glob)
218
+ - [ ] Every "DO" has real file example
219
+ - [ ] Every "DON'T" references real anti-pattern
220
+ - [ ] Pre-PR checks are single commands
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: api-design-principles
3
+ description: "Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing..."
4
+ category: backend
5
+ risk: unknown
6
+ source: community
7
+ date_added: "2026-02-27"
8
+ ---
9
+
10
+ # API Design Principles
11
+
12
+ Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers and stand the test of time.
13
+
14
+ ## Use this skill when
15
+
16
+ - Designing new REST or GraphQL APIs
17
+ - Refactoring existing APIs for better usability
18
+ - Establishing API design standards for your team
19
+ - Reviewing API specifications before implementation
20
+ - Migrating between API paradigms (REST to GraphQL, etc.)
21
+ - Creating developer-friendly API documentation
22
+ - Optimizing APIs for specific use cases (mobile, third-party integrations)
23
+
24
+ ## Do not use this skill when
25
+
26
+ - You only need implementation guidance for a specific framework
27
+ - You are doing infrastructure-only work without API contracts
28
+ - You cannot change or version public interfaces
29
+
30
+ ## Instructions
31
+
32
+ 1. Define consumers, use cases, and constraints.
33
+ 2. Choose API style and model resources or types.
34
+ 3. Specify errors, versioning, pagination, and auth strategy.
35
+ 4. Validate with examples and review for consistency.
36
+
37
+ Refer to `resources/implementation-playbook.md` for detailed patterns, checklists, and templates.
38
+
39
+ ## Resources
40
+
41
+ - `resources/implementation-playbook.md` for detailed patterns, checklists, and templates.
@@ -0,0 +1,155 @@
1
+ # API Design Checklist
2
+
3
+ ## Pre-Implementation Review
4
+
5
+ ### Resource Design
6
+
7
+ - [ ] Resources are nouns, not verbs
8
+ - [ ] Plural names for collections
9
+ - [ ] Consistent naming across all endpoints
10
+ - [ ] Clear resource hierarchy (avoid deep nesting >2 levels)
11
+ - [ ] All CRUD operations properly mapped to HTTP methods
12
+
13
+ ### HTTP Methods
14
+
15
+ - [ ] GET for retrieval (safe, idempotent)
16
+ - [ ] POST for creation
17
+ - [ ] PUT for full replacement (idempotent)
18
+ - [ ] PATCH for partial updates
19
+ - [ ] DELETE for removal (idempotent)
20
+
21
+ ### Status Codes
22
+
23
+ - [ ] 200 OK for successful GET/PATCH/PUT
24
+ - [ ] 201 Created for POST
25
+ - [ ] 204 No Content for DELETE
26
+ - [ ] 400 Bad Request for malformed requests
27
+ - [ ] 401 Unauthorized for missing auth
28
+ - [ ] 403 Forbidden for insufficient permissions
29
+ - [ ] 404 Not Found for missing resources
30
+ - [ ] 422 Unprocessable Entity for validation errors
31
+ - [ ] 429 Too Many Requests for rate limiting
32
+ - [ ] 500 Internal Server Error for server issues
33
+
34
+ ### Pagination
35
+
36
+ - [ ] All collection endpoints paginated
37
+ - [ ] Default page size defined (e.g., 20)
38
+ - [ ] Maximum page size enforced (e.g., 100)
39
+ - [ ] Pagination metadata included (total, pages, etc.)
40
+ - [ ] Cursor-based or offset-based pattern chosen
41
+
42
+ ### Filtering & Sorting
43
+
44
+ - [ ] Query parameters for filtering
45
+ - [ ] Sort parameter supported
46
+ - [ ] Search parameter for full-text search
47
+ - [ ] Field selection supported (sparse fieldsets)
48
+
49
+ ### Versioning
50
+
51
+ - [ ] Versioning strategy defined (URL/header/query)
52
+ - [ ] Version included in all endpoints
53
+ - [ ] Deprecation policy documented
54
+
55
+ ### Error Handling
56
+
57
+ - [ ] Consistent error response format
58
+ - [ ] Detailed error messages
59
+ - [ ] Field-level validation errors
60
+ - [ ] Error codes for client handling
61
+ - [ ] Timestamps in error responses
62
+
63
+ ### Authentication & Authorization
64
+
65
+ - [ ] Authentication method defined (Bearer token, API key)
66
+ - [ ] Authorization checks on all endpoints
67
+ - [ ] 401 vs 403 used correctly
68
+ - [ ] Token expiration handled
69
+
70
+ ### Rate Limiting
71
+
72
+ - [ ] Rate limits defined per endpoint/user
73
+ - [ ] Rate limit headers included
74
+ - [ ] 429 status code for exceeded limits
75
+ - [ ] Retry-After header provided
76
+
77
+ ### Documentation
78
+
79
+ - [ ] OpenAPI/Swagger spec generated
80
+ - [ ] All endpoints documented
81
+ - [ ] Request/response examples provided
82
+ - [ ] Error responses documented
83
+ - [ ] Authentication flow documented
84
+
85
+ ### Testing
86
+
87
+ - [ ] Unit tests for business logic
88
+ - [ ] Integration tests for endpoints
89
+ - [ ] Error scenarios tested
90
+ - [ ] Edge cases covered
91
+ - [ ] Performance tests for heavy endpoints
92
+
93
+ ### Security
94
+
95
+ - [ ] Input validation on all fields
96
+ - [ ] SQL injection prevention
97
+ - [ ] XSS prevention
98
+ - [ ] CORS configured correctly
99
+ - [ ] HTTPS enforced
100
+ - [ ] Sensitive data not in URLs
101
+ - [ ] No secrets in responses
102
+
103
+ ### Performance
104
+
105
+ - [ ] Database queries optimized
106
+ - [ ] N+1 queries prevented
107
+ - [ ] Caching strategy defined
108
+ - [ ] Cache headers set appropriately
109
+ - [ ] Large responses paginated
110
+
111
+ ### Monitoring
112
+
113
+ - [ ] Logging implemented
114
+ - [ ] Error tracking configured
115
+ - [ ] Performance metrics collected
116
+ - [ ] Health check endpoint available
117
+ - [ ] Alerts configured for errors
118
+
119
+ ## GraphQL-Specific Checks
120
+
121
+ ### Schema Design
122
+
123
+ - [ ] Schema-first approach used
124
+ - [ ] Types properly defined
125
+ - [ ] Non-null vs nullable decided
126
+ - [ ] Interfaces/unions used appropriately
127
+ - [ ] Custom scalars defined
128
+
129
+ ### Queries
130
+
131
+ - [ ] Query depth limiting
132
+ - [ ] Query complexity analysis
133
+ - [ ] DataLoaders prevent N+1
134
+ - [ ] Pagination pattern chosen (Relay/offset)
135
+
136
+ ### Mutations
137
+
138
+ - [ ] Input types defined
139
+ - [ ] Payload types with errors
140
+ - [ ] Optimistic response support
141
+ - [ ] Idempotency considered
142
+
143
+ ### Performance
144
+
145
+ - [ ] DataLoader for all relationships
146
+ - [ ] Query batching enabled
147
+ - [ ] Persisted queries considered
148
+ - [ ] Response caching implemented
149
+
150
+ ### Documentation
151
+
152
+ - [ ] All fields documented
153
+ - [ ] Deprecations marked
154
+ - [ ] Examples provided
155
+ - [ ] Schema introspection enabled
@@ -0,0 +1,182 @@
1
+ """
2
+ Production-ready REST API template using FastAPI.
3
+ Includes pagination, filtering, error handling, and best practices.
4
+ """
5
+
6
+ from fastapi import FastAPI, HTTPException, Query, Path, Depends, status
7
+ from fastapi.middleware.cors import CORSMiddleware
8
+ from fastapi.middleware.trustedhost import TrustedHostMiddleware
9
+ from fastapi.responses import JSONResponse
10
+ from pydantic import BaseModel, Field, EmailStr, ConfigDict
11
+ from typing import Optional, List, Any
12
+ from datetime import datetime
13
+ from enum import Enum
14
+
15
+ app = FastAPI(
16
+ title="API Template",
17
+ version="1.0.0",
18
+ docs_url="/api/docs"
19
+ )
20
+
21
+ # Security Middleware
22
+ # Trusted Host: Prevents HTTP Host Header attacks
23
+ app.add_middleware(
24
+ TrustedHostMiddleware,
25
+ allowed_hosts=["*"] # TODO: Configure this in production, e.g. ["api.example.com"]
26
+ )
27
+
28
+ # CORS: Configures Cross-Origin Resource Sharing
29
+ app.add_middleware(
30
+ CORSMiddleware,
31
+ allow_origins=["*"], # TODO: Update this with specific origins in production
32
+ allow_credentials=False, # TODO: Set to True if you need cookies/auth headers, but restrict origins
33
+ allow_methods=["*"],
34
+ allow_headers=["*"],
35
+ )
36
+
37
+ # Models
38
+ class UserStatus(str, Enum):
39
+ ACTIVE = "active"
40
+ INACTIVE = "inactive"
41
+ SUSPENDED = "suspended"
42
+
43
+ class UserBase(BaseModel):
44
+ email: EmailStr
45
+ name: str = Field(..., min_length=1, max_length=100)
46
+ status: UserStatus = UserStatus.ACTIVE
47
+
48
+ class UserCreate(UserBase):
49
+ password: str = Field(..., min_length=8)
50
+
51
+ class UserUpdate(BaseModel):
52
+ email: Optional[EmailStr] = None
53
+ name: Optional[str] = Field(None, min_length=1, max_length=100)
54
+ status: Optional[UserStatus] = None
55
+
56
+ class User(UserBase):
57
+ id: str
58
+ created_at: datetime
59
+ updated_at: datetime
60
+
61
+ model_config = ConfigDict(from_attributes=True)
62
+
63
+ # Pagination
64
+ class PaginationParams(BaseModel):
65
+ page: int = Field(1, ge=1)
66
+ page_size: int = Field(20, ge=1, le=100)
67
+
68
+ class PaginatedResponse(BaseModel):
69
+ items: List[Any]
70
+ total: int
71
+ page: int
72
+ page_size: int
73
+ pages: int
74
+
75
+ # Error handling
76
+ class ErrorDetail(BaseModel):
77
+ field: Optional[str] = None
78
+ message: str
79
+ code: str
80
+
81
+ class ErrorResponse(BaseModel):
82
+ error: str
83
+ message: str
84
+ details: Optional[List[ErrorDetail]] = None
85
+
86
+ @app.exception_handler(HTTPException)
87
+ async def http_exception_handler(request, exc):
88
+ return JSONResponse(
89
+ status_code=exc.status_code,
90
+ content=ErrorResponse(
91
+ error=exc.__class__.__name__,
92
+ message=exc.detail if isinstance(exc.detail, str) else exc.detail.get("message", "Error"),
93
+ details=exc.detail.get("details") if isinstance(exc.detail, dict) else None
94
+ ).model_dump()
95
+ )
96
+
97
+ # Endpoints
98
+ @app.get("/api/users", response_model=PaginatedResponse, tags=["Users"])
99
+ async def list_users(
100
+ page: int = Query(1, ge=1),
101
+ page_size: int = Query(20, ge=1, le=100),
102
+ status: Optional[UserStatus] = Query(None),
103
+ search: Optional[str] = Query(None)
104
+ ):
105
+ """List users with pagination and filtering."""
106
+ # Mock implementation
107
+ total = 100
108
+ items = [
109
+ User(
110
+ id=str(i),
111
+ email=f"user{i}@example.com",
112
+ name=f"User {i}",
113
+ status=UserStatus.ACTIVE,
114
+ created_at=datetime.now(),
115
+ updated_at=datetime.now()
116
+ ).model_dump()
117
+ for i in range((page-1)*page_size, min(page*page_size, total))
118
+ ]
119
+
120
+ return PaginatedResponse(
121
+ items=items,
122
+ total=total,
123
+ page=page,
124
+ page_size=page_size,
125
+ pages=(total + page_size - 1) // page_size
126
+ )
127
+
128
+ @app.post("/api/users", response_model=User, status_code=status.HTTP_201_CREATED, tags=["Users"])
129
+ async def create_user(user: UserCreate):
130
+ """Create a new user."""
131
+ # Mock implementation
132
+ return User(
133
+ id="123",
134
+ email=user.email,
135
+ name=user.name,
136
+ status=user.status,
137
+ created_at=datetime.now(),
138
+ updated_at=datetime.now()
139
+ )
140
+
141
+ @app.get("/api/users/{user_id}", response_model=User, tags=["Users"])
142
+ async def get_user(user_id: str = Path(..., description="User ID")):
143
+ """Get user by ID."""
144
+ # Mock: Check if exists
145
+ if user_id == "999":
146
+ raise HTTPException(
147
+ status_code=status.HTTP_404_NOT_FOUND,
148
+ detail={"message": "User not found", "details": {"id": user_id}}
149
+ )
150
+
151
+ return User(
152
+ id=user_id,
153
+ email="user@example.com",
154
+ name="User Name",
155
+ status=UserStatus.ACTIVE,
156
+ created_at=datetime.now(),
157
+ updated_at=datetime.now()
158
+ )
159
+
160
+ @app.patch("/api/users/{user_id}", response_model=User, tags=["Users"])
161
+ async def update_user(user_id: str, update: UserUpdate):
162
+ """Partially update user."""
163
+ # Validate user exists
164
+ existing = await get_user(user_id)
165
+
166
+ # Apply updates
167
+ update_data = update.model_dump(exclude_unset=True)
168
+ for field, value in update_data.items():
169
+ setattr(existing, field, value)
170
+
171
+ existing.updated_at = datetime.now()
172
+ return existing
173
+
174
+ @app.delete("/api/users/{user_id}", status_code=status.HTTP_204_NO_CONTENT, tags=["Users"])
175
+ async def delete_user(user_id: str):
176
+ """Delete user."""
177
+ await get_user(user_id) # Verify exists
178
+ return None
179
+
180
+ if __name__ == "__main__":
181
+ import uvicorn
182
+ uvicorn.run(app, host="0.0.0.0", port=8000)