@techwavedev/agi-agent-kit 1.3.5 → 1.4.2

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 (1521) hide show
  1. package/CHANGELOG.md +114 -281
  2. package/README.md +93 -53
  3. package/bin/init.js +29 -11
  4. package/package.json +4 -1
  5. package/templates/base/AGENTS.md +88 -2
  6. package/templates/base/README.md +7 -7
  7. package/templates/base/data/workflows.json +162 -0
  8. package/templates/base/directives/memory_integration.md +44 -43
  9. package/templates/base/directives/release_process.md +40 -0
  10. package/templates/base/execution/memory_manager.py +85 -12
  11. package/templates/base/execution/session_init.py +10 -6
  12. package/templates/skills/SKILLS_CATALOG.md +923 -914
  13. package/templates/skills/core/documentation/SKILL.md +33 -0
  14. package/templates/skills/core/documentation/scripts/__pycache__/analyze_code.cpython-312.pyc +0 -0
  15. package/templates/skills/core/documentation/scripts/__pycache__/detect_changes.cpython-312.pyc +0 -0
  16. package/templates/skills/core/documentation/scripts/__pycache__/generate_changelog.cpython-312.pyc +0 -0
  17. package/templates/skills/core/documentation/scripts/__pycache__/sync_docs.cpython-312.pyc +0 -0
  18. package/templates/skills/core/documentation/scripts/__pycache__/update_skill_docs.cpython-312.pyc +0 -0
  19. package/templates/skills/core/pdf-reader/SKILL.md +33 -0
  20. package/templates/skills/core/pdf-reader/scripts/__pycache__/extract_text.cpython-312.pyc +0 -0
  21. package/templates/skills/core/qdrant-memory/SKILL.md +33 -0
  22. package/templates/skills/core/qdrant-memory/scripts/__pycache__/benchmark_token_savings.cpython-312.pyc +0 -0
  23. package/templates/skills/core/qdrant-memory/scripts/__pycache__/bm25_index.cpython-312.pyc +0 -0
  24. package/templates/skills/core/qdrant-memory/scripts/__pycache__/embedding_utils.cpython-312.pyc +0 -0
  25. package/templates/skills/core/qdrant-memory/scripts/__pycache__/hybrid_search.cpython-312.pyc +0 -0
  26. package/templates/skills/core/qdrant-memory/scripts/__pycache__/init_collection.cpython-312.pyc +0 -0
  27. package/templates/skills/core/qdrant-memory/scripts/__pycache__/memory_retrieval.cpython-312.pyc +0 -0
  28. package/templates/skills/core/qdrant-memory/scripts/__pycache__/semantic_cache.cpython-312.pyc +0 -0
  29. package/templates/skills/core/qdrant-memory/scripts/__pycache__/test_skill.cpython-312.pyc +0 -0
  30. package/templates/skills/core/qdrant-memory/scripts/bm25_index.py +532 -0
  31. package/templates/skills/core/qdrant-memory/scripts/hybrid_search.py +276 -45
  32. package/templates/skills/core/qdrant-memory/scripts/memory_retrieval.py +91 -39
  33. package/templates/skills/core/qdrant-memory/scripts/test_skill.py +139 -0
  34. package/templates/skills/core/webcrawler/SKILL.md +33 -0
  35. package/templates/skills/core/webcrawler/scripts/__pycache__/crawl_docs.cpython-312.pyc +0 -0
  36. package/templates/skills/core/webcrawler/scripts/__pycache__/extract_page.cpython-312.pyc +0 -0
  37. package/templates/skills/core/webcrawler/scripts/__pycache__/filter_docs.cpython-312.pyc +0 -0
  38. package/templates/skills/extended/ai-agents/activecampaign-automation/SKILL.md +10 -5
  39. package/templates/skills/extended/ai-agents/agent-evaluation/SKILL.md +10 -5
  40. package/templates/skills/extended/ai-agents/agent-framework-azure-ai-py/SKILL.md +10 -5
  41. package/templates/skills/extended/ai-agents/agent-manager-skill/SKILL.md +10 -5
  42. package/templates/skills/extended/ai-agents/agent-memory-mcp/SKILL.md +10 -5
  43. package/templates/skills/extended/ai-agents/agent-orchestration-improve-agent/SKILL.md +10 -5
  44. package/templates/skills/extended/ai-agents/agents-v2-py/SKILL.md +10 -5
  45. package/templates/skills/extended/ai-agents/ai-product/SKILL.md +10 -5
  46. package/templates/skills/extended/ai-agents/ai-wrapper-product/SKILL.md +10 -5
  47. package/templates/skills/extended/ai-agents/airtable-automation/SKILL.md +10 -5
  48. package/templates/skills/extended/ai-agents/autonomous-agents/SKILL.md +10 -5
  49. package/templates/skills/extended/ai-agents/azure-ai-agents-persistent-dotnet/SKILL.md +10 -5
  50. package/templates/skills/extended/ai-agents/azure-ai-agents-persistent-java/SKILL.md +10 -5
  51. package/templates/skills/extended/ai-agents/azure-ai-contentsafety-ts/SKILL.md +10 -5
  52. package/templates/skills/extended/ai-agents/azure-ai-openai-dotnet/SKILL.md +10 -5
  53. package/templates/skills/extended/ai-agents/azure-ai-projects-py/SKILL.md +10 -5
  54. package/templates/skills/extended/ai-agents/azure-ai-projects-ts/SKILL.md +10 -5
  55. package/templates/skills/extended/ai-agents/azure-ai-vision-imageanalysis-java/SKILL.md +10 -5
  56. package/templates/skills/extended/ai-agents/azure-ai-vision-imageanalysis-py/SKILL.md +10 -5
  57. package/templates/skills/extended/ai-agents/azure-ai-voicelive-py/SKILL.md +10 -5
  58. package/templates/skills/extended/ai-agents/bullmq-specialist/SKILL.md +10 -5
  59. package/templates/skills/extended/ai-agents/business-analyst/SKILL.md +10 -5
  60. package/templates/skills/extended/ai-agents/code-review-ai-ai-review/SKILL.md +10 -5
  61. package/templates/skills/extended/ai-agents/codex-review/SKILL.md +10 -5
  62. package/templates/skills/extended/ai-agents/computer-use-agents/SKILL.md +10 -5
  63. package/templates/skills/extended/ai-agents/computer-vision-expert/SKILL.md +10 -5
  64. package/templates/skills/extended/ai-agents/context-degradation/SKILL.md +10 -5
  65. package/templates/skills/extended/ai-agents/context-fundamentals/SKILL.md +10 -5
  66. package/templates/skills/extended/ai-agents/context-manager/SKILL.md +10 -5
  67. package/templates/skills/extended/ai-agents/conversation-memory/SKILL.md +10 -5
  68. package/templates/skills/extended/ai-agents/crewai/SKILL.md +10 -5
  69. package/templates/skills/extended/ai-agents/customer-support/SKILL.md +10 -5
  70. package/templates/skills/extended/ai-agents/daily-news-report/SKILL.md +10 -5
  71. package/templates/skills/extended/ai-agents/dispatching-parallel-agents/SKILL.md +10 -5
  72. package/templates/skills/extended/ai-agents/email-sequence/SKILL.md +10 -5
  73. package/templates/skills/extended/ai-agents/email-systems/SKILL.md +10 -5
  74. package/templates/skills/extended/ai-agents/embedding-strategies/SKILL.md +10 -5
  75. package/templates/skills/extended/ai-agents/evaluation/SKILL.md +10 -5
  76. package/templates/skills/extended/ai-agents/fal-audio/SKILL.md +10 -5
  77. package/templates/skills/extended/ai-agents/fal-generate/SKILL.md +10 -5
  78. package/templates/skills/extended/ai-agents/fal-image-edit/SKILL.md +10 -5
  79. package/templates/skills/extended/ai-agents/fal-upscale/SKILL.md +10 -5
  80. package/templates/skills/extended/ai-agents/fal-workflow/SKILL.md +10 -5
  81. package/templates/skills/extended/ai-agents/fp-ts-pragmatic/SKILL.md +10 -5
  82. package/templates/skills/extended/ai-agents/gemini-api-dev/SKILL.md +10 -5
  83. package/templates/skills/extended/ai-agents/gmail-automation/SKILL.md +10 -5
  84. package/templates/skills/extended/ai-agents/hosted-agents-v2-py/SKILL.md +10 -5
  85. package/templates/skills/extended/ai-agents/imagen/SKILL.md +10 -5
  86. package/templates/skills/extended/ai-agents/incident-response-smart-fix/SKILL.md +10 -5
  87. package/templates/skills/extended/ai-agents/javascript-mastery/SKILL.md +10 -5
  88. package/templates/skills/extended/ai-agents/kaizen/SKILL.md +10 -5
  89. package/templates/skills/extended/ai-agents/langchain-architecture/SKILL.md +10 -5
  90. package/templates/skills/extended/ai-agents/langfuse/SKILL.md +10 -5
  91. package/templates/skills/extended/ai-agents/langgraph/SKILL.md +10 -5
  92. package/templates/skills/extended/ai-agents/last30days/SKILL.md +10 -5
  93. package/templates/skills/extended/ai-agents/last30days/scripts/__pycache__/last30days.cpython-312.pyc +0 -0
  94. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/__init__.cpython-312.pyc +0 -0
  95. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/cache.cpython-312.pyc +0 -0
  96. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/dates.cpython-312.pyc +0 -0
  97. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/dedupe.cpython-312.pyc +0 -0
  98. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/env.cpython-312.pyc +0 -0
  99. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/http.cpython-312.pyc +0 -0
  100. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/models.cpython-312.pyc +0 -0
  101. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/normalize.cpython-312.pyc +0 -0
  102. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/openai_reddit.cpython-312.pyc +0 -0
  103. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/reddit_enrich.cpython-312.pyc +0 -0
  104. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/render.cpython-312.pyc +0 -0
  105. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/schema.cpython-312.pyc +0 -0
  106. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/score.cpython-312.pyc +0 -0
  107. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/ui.cpython-312.pyc +0 -0
  108. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/websearch.cpython-312.pyc +0 -0
  109. package/templates/skills/extended/ai-agents/last30days/scripts/lib/__pycache__/xai_x.cpython-312.pyc +0 -0
  110. package/templates/skills/extended/ai-agents/last30days/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  111. package/templates/skills/extended/ai-agents/last30days/tests/__pycache__/test_cache.cpython-312.pyc +0 -0
  112. package/templates/skills/extended/ai-agents/last30days/tests/__pycache__/test_dates.cpython-312.pyc +0 -0
  113. package/templates/skills/extended/ai-agents/last30days/tests/__pycache__/test_dedupe.cpython-312.pyc +0 -0
  114. package/templates/skills/extended/ai-agents/last30days/tests/__pycache__/test_models.cpython-312.pyc +0 -0
  115. package/templates/skills/extended/ai-agents/last30days/tests/__pycache__/test_normalize.cpython-312.pyc +0 -0
  116. package/templates/skills/extended/ai-agents/last30days/tests/__pycache__/test_render.cpython-312.pyc +0 -0
  117. package/templates/skills/extended/ai-agents/last30days/tests/__pycache__/test_score.cpython-312.pyc +0 -0
  118. package/templates/skills/extended/ai-agents/legal-advisor/SKILL.md +10 -5
  119. package/templates/skills/extended/ai-agents/llm-app-patterns/SKILL.md +10 -5
  120. package/templates/skills/extended/ai-agents/llm-application-dev-ai-assistant/SKILL.md +10 -5
  121. package/templates/skills/extended/ai-agents/llm-application-dev-langchain-agent/SKILL.md +10 -5
  122. package/templates/skills/extended/ai-agents/llm-application-dev-prompt-optimize/SKILL.md +10 -5
  123. package/templates/skills/extended/ai-agents/llm-evaluation/SKILL.md +10 -5
  124. package/templates/skills/extended/ai-agents/m365-agents-dotnet/SKILL.md +10 -5
  125. package/templates/skills/extended/ai-agents/m365-agents-py/SKILL.md +10 -5
  126. package/templates/skills/extended/ai-agents/m365-agents-ts/SKILL.md +10 -5
  127. package/templates/skills/extended/ai-agents/mailchimp-automation/SKILL.md +10 -5
  128. package/templates/skills/extended/ai-agents/memory-systems/SKILL.md +10 -5
  129. package/templates/skills/extended/ai-agents/mermaid-expert/SKILL.md +10 -5
  130. package/templates/skills/extended/ai-agents/multi-agent-brainstorming/SKILL.md +10 -5
  131. package/templates/skills/extended/ai-agents/nanobanana-ppt-skills/SKILL.md +10 -5
  132. package/templates/skills/extended/ai-agents/onboarding-cro/SKILL.md +10 -5
  133. package/templates/skills/extended/ai-agents/paid-ads/SKILL.md +10 -5
  134. package/templates/skills/extended/ai-agents/performance-testing-review-ai-review/SKILL.md +10 -5
  135. package/templates/skills/extended/ai-agents/plaid-fintech/SKILL.md +10 -5
  136. package/templates/skills/extended/ai-agents/prompt-caching/SKILL.md +10 -5
  137. package/templates/skills/extended/ai-agents/prompt-engineer/SKILL.md +10 -5
  138. package/templates/skills/extended/ai-agents/prompt-engineering/SKILL.md +10 -5
  139. package/templates/skills/extended/ai-agents/prompt-library/SKILL.md +10 -5
  140. package/templates/skills/extended/ai-agents/rag-engineer/SKILL.md +10 -5
  141. package/templates/skills/extended/ai-agents/rag-implementation/SKILL.md +10 -5
  142. package/templates/skills/extended/ai-agents/sales-automator/SKILL.md +10 -5
  143. package/templates/skills/extended/ai-agents/shodan-reconnaissance/SKILL.md +11 -6
  144. package/templates/skills/extended/ai-agents/skill-developer/SKILL.md +10 -5
  145. package/templates/skills/extended/ai-agents/skill-rails-upgrade/SKILL.md +10 -5
  146. package/templates/skills/extended/ai-agents/subagent-driven-development/SKILL.md +10 -5
  147. package/templates/skills/extended/ai-agents/voice-agents/SKILL.md +10 -5
  148. package/templates/skills/extended/ai-agents/voice-ai-development/SKILL.md +10 -5
  149. package/templates/skills/extended/ai-agents/voice-ai-engine-development/SKILL.md +10 -5
  150. package/templates/skills/extended/ai-agents/voice-ai-engine-development/examples/__pycache__/complete_voice_engine.cpython-312.pyc +0 -0
  151. package/templates/skills/extended/ai-agents/voice-ai-engine-development/examples/__pycache__/gemini_agent_example.cpython-312.pyc +0 -0
  152. package/templates/skills/extended/ai-agents/voice-ai-engine-development/examples/__pycache__/interrupt_system_example.cpython-312.pyc +0 -0
  153. package/templates/skills/extended/ai-agents/voice-ai-engine-development/templates/__pycache__/base_worker_template.cpython-312.pyc +0 -0
  154. package/templates/skills/extended/ai-agents/voice-ai-engine-development/templates/__pycache__/multi_provider_factory_template.cpython-312.pyc +0 -0
  155. package/templates/skills/extended/ai-agents/youtube-summarizer/SKILL.md +10 -5
  156. package/templates/skills/extended/ai-agents/youtube-summarizer/scripts/__pycache__/extract-transcript.cpython-312.pyc +0 -0
  157. package/templates/skills/extended/architecture/SPDD/SKILL.md +8 -7
  158. package/templates/skills/extended/architecture/architect-review/SKILL.md +10 -5
  159. package/templates/skills/extended/architecture/architecture-patterns/SKILL.md +10 -5
  160. package/templates/skills/extended/architecture/binary-analysis-patterns/SKILL.md +10 -5
  161. package/templates/skills/extended/architecture/c4-code/SKILL.md +10 -5
  162. package/templates/skills/extended/architecture/c4-context/SKILL.md +10 -5
  163. package/templates/skills/extended/architecture/concise-planning/SKILL.md +10 -5
  164. package/templates/skills/extended/architecture/conductor-new-track/SKILL.md +10 -5
  165. package/templates/skills/extended/architecture/ddd-context-mapping/SKILL.md +85 -0
  166. package/templates/skills/extended/architecture/ddd-strategic-design/SKILL.md +85 -0
  167. package/templates/skills/extended/architecture/ddd-tactical-patterns/SKILL.md +86 -0
  168. package/templates/skills/extended/architecture/domain-driven-design/SKILL.md +107 -0
  169. package/templates/skills/extended/architecture/error-handling-patterns/SKILL.md +10 -5
  170. package/templates/skills/extended/architecture/go-concurrency-patterns/SKILL.md +10 -5
  171. package/templates/skills/extended/architecture/linkerd-patterns/SKILL.md +10 -5
  172. package/templates/skills/extended/architecture/memory-safety-patterns/SKILL.md +10 -5
  173. package/templates/skills/extended/architecture/modern-javascript-patterns/SKILL.md +10 -5
  174. package/templates/skills/extended/architecture/multi-agent-patterns/SKILL.md +10 -5
  175. package/templates/skills/extended/architecture/nx-workspace-patterns/SKILL.md +10 -5
  176. package/templates/skills/extended/architecture/on-call-handoff-patterns/SKILL.md +10 -5
  177. package/templates/skills/extended/architecture/planning-with-files/SKILL.md +10 -5
  178. package/templates/skills/extended/architecture/projection-patterns/SKILL.md +10 -5
  179. package/templates/skills/extended/architecture/rust-async-patterns/SKILL.md +10 -5
  180. package/templates/skills/extended/architecture/software-architecture/SKILL.md +10 -5
  181. package/templates/skills/extended/architecture/stride-analysis-patterns/SKILL.md +10 -5
  182. package/templates/skills/extended/architecture/team-composition-analysis/SKILL.md +10 -5
  183. package/templates/skills/extended/architecture/workflow-patterns/SKILL.md +10 -5
  184. package/templates/skills/extended/architecture/writing-plans/SKILL.md +10 -5
  185. package/templates/skills/extended/backend/anti-reversing-techniques/SKILL.md +10 -5
  186. package/templates/skills/extended/backend/api-fuzzing-bug-bounty/SKILL.md +11 -6
  187. package/templates/skills/extended/backend/async-python-patterns/SKILL.md +10 -5
  188. package/templates/skills/extended/backend/azure-ai-formrecognizer-java/SKILL.md +10 -5
  189. package/templates/skills/extended/backend/azure-communication-callingserver-java/SKILL.md +10 -5
  190. package/templates/skills/extended/backend/azure-cosmos-db-py/SKILL.md +10 -5
  191. package/templates/skills/extended/backend/azure-data-tables-java/SKILL.md +10 -5
  192. package/templates/skills/extended/backend/azure-mgmt-apicenter-dotnet/SKILL.md +10 -5
  193. package/templates/skills/extended/backend/azure-mgmt-apicenter-py/SKILL.md +10 -5
  194. package/templates/skills/extended/backend/azure-mgmt-apimanagement-dotnet/SKILL.md +10 -5
  195. package/templates/skills/extended/backend/azure-mgmt-apimanagement-py/SKILL.md +10 -5
  196. package/templates/skills/extended/backend/azure-mgmt-mongodbatlas-dotnet/SKILL.md +10 -5
  197. package/templates/skills/extended/backend/azure-postgres-ts/SKILL.md +10 -5
  198. package/templates/skills/extended/backend/azure-resource-manager-mysql-dotnet/SKILL.md +10 -5
  199. package/templates/skills/extended/backend/azure-resource-manager-postgresql-dotnet/SKILL.md +10 -5
  200. package/templates/skills/extended/backend/azure-resource-manager-redis-dotnet/SKILL.md +10 -5
  201. package/templates/skills/extended/backend/azure-resource-manager-sql-dotnet/SKILL.md +10 -5
  202. package/templates/skills/extended/backend/azure-speech-to-text-rest-py/SKILL.md +10 -5
  203. package/templates/skills/extended/backend/backend-architect/SKILL.md +10 -5
  204. package/templates/skills/extended/backend/backend-dev-guidelines/SKILL.md +10 -5
  205. package/templates/skills/extended/backend/backend-development-feature-development/SKILL.md +10 -5
  206. package/templates/skills/extended/backend/backend-security-coder/SKILL.md +10 -5
  207. package/templates/skills/extended/backend/broken-authentication/SKILL.md +11 -6
  208. package/templates/skills/extended/backend/bun-development/SKILL.md +10 -5
  209. package/templates/skills/extended/backend/cc-skill-backend-patterns/SKILL.md +11 -6
  210. package/templates/skills/extended/backend/cc-skill-clickhouse-io/SKILL.md +11 -6
  211. package/templates/skills/extended/backend/clerk-auth/SKILL.md +10 -5
  212. package/templates/skills/extended/backend/code-refactoring-context-restore/SKILL.md +10 -5
  213. package/templates/skills/extended/backend/conductor-manage/SKILL.md +10 -5
  214. package/templates/skills/extended/backend/context-management-context-restore/SKILL.md +10 -5
  215. package/templates/skills/extended/backend/copilot-sdk/SKILL.md +10 -5
  216. package/templates/skills/extended/backend/database-admin/SKILL.md +10 -5
  217. package/templates/skills/extended/backend/database-architect/SKILL.md +10 -5
  218. package/templates/skills/extended/backend/database-migration/SKILL.md +10 -5
  219. package/templates/skills/extended/backend/database-migrations-sql-migrations/SKILL.md +10 -5
  220. package/templates/skills/extended/backend/database-optimizer/SKILL.md +10 -5
  221. package/templates/skills/extended/backend/dbos-golang/SKILL.md +167 -0
  222. package/templates/skills/extended/backend/dbos-python/SKILL.md +136 -0
  223. package/templates/skills/extended/backend/dbos-typescript/SKILL.md +145 -0
  224. package/templates/skills/extended/backend/dbt-transformation-patterns/SKILL.md +10 -5
  225. package/templates/skills/extended/backend/django-pro/SKILL.md +10 -5
  226. package/templates/skills/extended/backend/dotnet-architect/SKILL.md +10 -5
  227. package/templates/skills/extended/backend/dotnet-backend/SKILL.md +10 -5
  228. package/templates/skills/extended/backend/dotnet-backend-patterns/SKILL.md +10 -5
  229. package/templates/skills/extended/backend/exa-search/SKILL.md +10 -5
  230. package/templates/skills/extended/backend/fal-platform/SKILL.md +10 -5
  231. package/templates/skills/extended/backend/fastapi-pro/SKILL.md +10 -5
  232. package/templates/skills/extended/backend/fastapi-router-py/SKILL.md +10 -5
  233. package/templates/skills/extended/backend/fastapi-templates/SKILL.md +10 -5
  234. package/templates/skills/extended/backend/file-organizer/SKILL.md +10 -5
  235. package/templates/skills/extended/backend/firebase/SKILL.md +10 -5
  236. package/templates/skills/extended/backend/form-cro/SKILL.md +10 -5
  237. package/templates/skills/extended/backend/graphql/SKILL.md +10 -5
  238. package/templates/skills/extended/backend/graphql-architect/SKILL.md +10 -5
  239. package/templates/skills/extended/backend/hubspot-integration/SKILL.md +10 -5
  240. package/templates/skills/extended/backend/incident-responder/SKILL.md +10 -5
  241. package/templates/skills/extended/backend/inngest/SKILL.md +10 -5
  242. package/templates/skills/extended/backend/laravel-expert/SKILL.md +219 -0
  243. package/templates/skills/extended/backend/microservices-patterns/SKILL.md +10 -5
  244. package/templates/skills/extended/backend/microsoft-azure-webjobs-extensions-authentication-events-dotnet/SKILL.md +10 -5
  245. package/templates/skills/extended/backend/moodle-external-api-development/SKILL.md +10 -5
  246. package/templates/skills/extended/backend/multi-platform-apps-multi-platform/SKILL.md +10 -5
  247. package/templates/skills/extended/backend/n8n-code-python/SKILL.md +10 -5
  248. package/templates/skills/extended/backend/neon-postgres/SKILL.md +10 -5
  249. package/templates/skills/extended/backend/nestjs-expert/SKILL.md +10 -5
  250. package/templates/skills/extended/backend/network-101/SKILL.md +11 -6
  251. package/templates/skills/extended/backend/nextjs-supabase-auth/SKILL.md +10 -5
  252. package/templates/skills/extended/backend/nodejs-backend-patterns/SKILL.md +10 -5
  253. package/templates/skills/extended/backend/nosql-expert/SKILL.md +10 -5
  254. package/templates/skills/extended/backend/openapi-spec-generation/SKILL.md +10 -5
  255. package/templates/skills/extended/backend/performance-testing-review-multi-agent-review/SKILL.md +10 -5
  256. package/templates/skills/extended/backend/podcast-generation/SKILL.md +10 -5
  257. package/templates/skills/extended/backend/postgres-best-practices/SKILL.md +11 -6
  258. package/templates/skills/extended/backend/postgresql/SKILL.md +10 -5
  259. package/templates/skills/extended/backend/prisma-expert/SKILL.md +10 -5
  260. package/templates/skills/extended/backend/pydantic-models-py/SKILL.md +10 -5
  261. package/templates/skills/extended/backend/python-development-python-scaffold/SKILL.md +10 -5
  262. package/templates/skills/extended/backend/python-packaging/SKILL.md +10 -5
  263. package/templates/skills/extended/backend/python-pro/SKILL.md +10 -5
  264. package/templates/skills/extended/backend/salesforce-development/SKILL.md +10 -5
  265. package/templates/skills/extended/backend/segment-cdp/SKILL.md +10 -5
  266. package/templates/skills/extended/backend/senior-architect/SKILL.md +10 -5
  267. package/templates/skills/extended/backend/senior-architect/scripts/__pycache__/architecture_diagram_generator.cpython-312.pyc +0 -0
  268. package/templates/skills/extended/backend/senior-architect/scripts/__pycache__/dependency_analyzer.cpython-312.pyc +0 -0
  269. package/templates/skills/extended/backend/senior-architect/scripts/__pycache__/project_architect.cpython-312.pyc +0 -0
  270. package/templates/skills/extended/backend/sharp-edges/SKILL.md +10 -5
  271. package/templates/skills/extended/backend/signup-flow-cro/SKILL.md +10 -5
  272. package/templates/skills/extended/backend/similarity-search-patterns/SKILL.md +10 -5
  273. package/templates/skills/extended/backend/sql-injection-testing/SKILL.md +11 -6
  274. package/templates/skills/extended/backend/sql-optimization-patterns/SKILL.md +10 -5
  275. package/templates/skills/extended/backend/sql-pro/SKILL.md +10 -5
  276. package/templates/skills/extended/backend/sqlmap-database-pentesting/SKILL.md +11 -6
  277. package/templates/skills/extended/backend/supabase-automation/SKILL.md +10 -5
  278. package/templates/skills/extended/backend/tavily-web/SKILL.md +10 -5
  279. package/templates/skills/extended/backend/telegram-mini-app/SKILL.md +10 -5
  280. package/templates/skills/extended/backend/terraform-specialist/SKILL.md +10 -5
  281. package/templates/skills/extended/backend/twilio-communications/SKILL.md +10 -5
  282. package/templates/skills/extended/backend/using-neon/SKILL.md +10 -5
  283. package/templates/skills/extended/backend/vector-database-engineer/SKILL.md +10 -5
  284. package/templates/skills/extended/backend/vector-index-tuning/SKILL.md +10 -5
  285. package/templates/skills/extended/backend/wireshark-analysis/SKILL.md +11 -6
  286. package/templates/skills/extended/blockchain/crypto-bd-agent/SKILL.md +282 -0
  287. package/templates/skills/extended/blockchain/nft-standards/SKILL.md +10 -5
  288. package/templates/skills/extended/blockchain/web3-testing/SKILL.md +10 -5
  289. package/templates/skills/extended/content/algorithmic-art/SKILL.md +10 -5
  290. package/templates/skills/extended/content/content-marketer/SKILL.md +10 -5
  291. package/templates/skills/extended/content/copy-editing/SKILL.md +10 -5
  292. package/templates/skills/extended/content/free-tool-strategy/SKILL.md +10 -5
  293. package/templates/skills/extended/content/marketing-ideas/SKILL.md +10 -5
  294. package/templates/skills/extended/content/marketing-psychology/SKILL.md +10 -5
  295. package/templates/skills/extended/content/popup-cro/SKILL.md +10 -5
  296. package/templates/skills/extended/content/postmortem-writing/SKILL.md +10 -5
  297. package/templates/skills/extended/content/programmatic-seo/SKILL.md +10 -5
  298. package/templates/skills/extended/content/seo-authority-builder/SKILL.md +10 -5
  299. package/templates/skills/extended/content/seo-cannibalization-detector/SKILL.md +10 -5
  300. package/templates/skills/extended/content/seo-content-auditor/SKILL.md +10 -5
  301. package/templates/skills/extended/content/seo-content-refresher/SKILL.md +10 -5
  302. package/templates/skills/extended/content/seo-content-writer/SKILL.md +10 -5
  303. package/templates/skills/extended/content/seo-keyword-strategist/SKILL.md +10 -5
  304. package/templates/skills/extended/content/seo-meta-optimizer/SKILL.md +10 -5
  305. package/templates/skills/extended/content/seo-snippet-hunter/SKILL.md +10 -5
  306. package/templates/skills/extended/content/seo-structure-architect/SKILL.md +10 -5
  307. package/templates/skills/extended/content/social-content/SKILL.md +10 -5
  308. package/templates/skills/extended/content/writing-skills/SKILL.md +10 -5
  309. package/templates/skills/extended/content/x-article-publisher-skill/SKILL.md +10 -5
  310. package/templates/skills/extended/data/analytics-tracking/SKILL.md +10 -5
  311. package/templates/skills/extended/data/blockrun/SKILL.md +10 -5
  312. package/templates/skills/extended/data/data-engineer/SKILL.md +10 -5
  313. package/templates/skills/extended/data/data-engineering-data-driven-feature/SKILL.md +10 -5
  314. package/templates/skills/extended/data/data-engineering-data-pipeline/SKILL.md +10 -5
  315. package/templates/skills/extended/data/data-scientist/SKILL.md +10 -5
  316. package/templates/skills/extended/data/data-storytelling/SKILL.md +10 -5
  317. package/templates/skills/extended/data/datadog-automation/SKILL.md +10 -5
  318. package/templates/skills/extended/data/firecrawl-scraper/SKILL.md +10 -5
  319. package/templates/skills/extended/data/gdpr-data-handling/SKILL.md +10 -5
  320. package/templates/skills/extended/data/grafana-dashboards/SKILL.md +10 -5
  321. package/templates/skills/extended/data/pdf/SKILL.md +10 -5
  322. package/templates/skills/extended/data/pdf/scripts/__pycache__/check_bounding_boxes.cpython-312.pyc +0 -0
  323. package/templates/skills/extended/data/pdf/scripts/__pycache__/check_bounding_boxes_test.cpython-312.pyc +0 -0
  324. package/templates/skills/extended/data/pdf/scripts/__pycache__/check_fillable_fields.cpython-312.pyc +0 -0
  325. package/templates/skills/extended/data/pdf/scripts/__pycache__/convert_pdf_to_images.cpython-312.pyc +0 -0
  326. package/templates/skills/extended/data/pdf/scripts/__pycache__/create_validation_image.cpython-312.pyc +0 -0
  327. package/templates/skills/extended/data/pdf/scripts/__pycache__/extract_form_field_info.cpython-312.pyc +0 -0
  328. package/templates/skills/extended/data/pdf/scripts/__pycache__/fill_fillable_fields.cpython-312.pyc +0 -0
  329. package/templates/skills/extended/data/pdf/scripts/__pycache__/fill_pdf_form_with_annotations.cpython-312.pyc +0 -0
  330. package/templates/skills/extended/data/pdf-official/SKILL.md +11 -6
  331. package/templates/skills/extended/data/pdf-official/scripts/__pycache__/check_bounding_boxes.cpython-312.pyc +0 -0
  332. package/templates/skills/extended/data/pdf-official/scripts/__pycache__/check_bounding_boxes_test.cpython-312.pyc +0 -0
  333. package/templates/skills/extended/data/pdf-official/scripts/__pycache__/check_fillable_fields.cpython-312.pyc +0 -0
  334. package/templates/skills/extended/data/pdf-official/scripts/__pycache__/convert_pdf_to_images.cpython-312.pyc +0 -0
  335. package/templates/skills/extended/data/pdf-official/scripts/__pycache__/create_validation_image.cpython-312.pyc +0 -0
  336. package/templates/skills/extended/data/pdf-official/scripts/__pycache__/extract_form_field_info.cpython-312.pyc +0 -0
  337. package/templates/skills/extended/data/pdf-official/scripts/__pycache__/fill_fillable_fields.cpython-312.pyc +0 -0
  338. package/templates/skills/extended/data/pdf-official/scripts/__pycache__/fill_pdf_form_with_annotations.cpython-312.pyc +0 -0
  339. package/templates/skills/extended/data/schema-markup/SKILL.md +10 -5
  340. package/templates/skills/extended/data/xlsx/SKILL.md +10 -5
  341. package/templates/skills/extended/data/xlsx/__pycache__/recalc.cpython-312.pyc +0 -0
  342. package/templates/skills/extended/data/xlsx-official/SKILL.md +11 -6
  343. package/templates/skills/extended/data/xlsx-official/__pycache__/recalc.cpython-312.pyc +0 -0
  344. package/templates/skills/extended/debugging/application-performance-performance-optimization/SKILL.md +10 -5
  345. package/templates/skills/extended/debugging/bazel-build-optimization/SKILL.md +10 -5
  346. package/templates/skills/extended/debugging/code-refactoring-refactor-clean/SKILL.md +10 -5
  347. package/templates/skills/extended/debugging/codebase-cleanup-refactor-clean/SKILL.md +10 -5
  348. package/templates/skills/extended/debugging/codebase-cleanup-tech-debt/SKILL.md +10 -5
  349. package/templates/skills/extended/debugging/context-optimization/SKILL.md +10 -5
  350. package/templates/skills/extended/debugging/cost-optimization/SKILL.md +10 -5
  351. package/templates/skills/extended/debugging/database-migrations-migration-observability/SKILL.md +10 -5
  352. package/templates/skills/extended/debugging/debugger/SKILL.md +10 -5
  353. package/templates/skills/extended/debugging/debugging-strategies/SKILL.md +10 -5
  354. package/templates/skills/extended/debugging/debugging-toolkit-smart-debug/SKILL.md +10 -5
  355. package/templates/skills/extended/debugging/devops-troubleshooter/SKILL.md +10 -5
  356. package/templates/skills/extended/debugging/distributed-debugging-debug-trace/SKILL.md +10 -5
  357. package/templates/skills/extended/debugging/distributed-tracing/SKILL.md +10 -5
  358. package/templates/skills/extended/debugging/error-debugging-error-analysis/SKILL.md +10 -5
  359. package/templates/skills/extended/debugging/error-debugging-error-trace/SKILL.md +10 -5
  360. package/templates/skills/extended/debugging/error-debugging-multi-agent-review/SKILL.md +10 -5
  361. package/templates/skills/extended/debugging/error-diagnostics-error-analysis/SKILL.md +10 -5
  362. package/templates/skills/extended/debugging/error-diagnostics-error-trace/SKILL.md +10 -5
  363. package/templates/skills/extended/debugging/error-diagnostics-smart-debug/SKILL.md +10 -5
  364. package/templates/skills/extended/debugging/fp-ts-errors/SKILL.md +10 -5
  365. package/templates/skills/extended/debugging/framework-migration-code-migrate/SKILL.md +10 -5
  366. package/templates/skills/extended/debugging/framework-migration-deps-upgrade/SKILL.md +10 -5
  367. package/templates/skills/extended/debugging/framework-migration-legacy-modernize/SKILL.md +10 -5
  368. package/templates/skills/extended/debugging/legacy-modernizer/SKILL.md +10 -5
  369. package/templates/skills/extended/debugging/observability-engineer/SKILL.md +10 -5
  370. package/templates/skills/extended/debugging/observability-monitoring-monitor-setup/SKILL.md +10 -5
  371. package/templates/skills/extended/debugging/observability-monitoring-slo-implement/SKILL.md +10 -5
  372. package/templates/skills/extended/debugging/page-cro/SKILL.md +10 -5
  373. package/templates/skills/extended/debugging/paywall-upgrade-cro/SKILL.md +10 -5
  374. package/templates/skills/extended/debugging/performance-engineer/SKILL.md +10 -5
  375. package/templates/skills/extended/debugging/python-performance-optimization/SKILL.md +10 -5
  376. package/templates/skills/extended/debugging/service-mesh-observability/SKILL.md +10 -5
  377. package/templates/skills/extended/debugging/slo-implementation/SKILL.md +10 -5
  378. package/templates/skills/extended/debugging/spark-optimization/SKILL.md +10 -5
  379. package/templates/skills/extended/debugging/web-performance-optimization/SKILL.md +10 -5
  380. package/templates/skills/extended/devops/agent-orchestration-multi-agent-optimize/SKILL.md +10 -5
  381. package/templates/skills/extended/devops/airflow-dag-patterns/SKILL.md +10 -5
  382. package/templates/skills/extended/devops/aws-penetration-testing/SKILL.md +11 -6
  383. package/templates/skills/extended/devops/aws-skills/SKILL.md +10 -5
  384. package/templates/skills/extended/devops/azd-deployment/SKILL.md +10 -5
  385. package/templates/skills/extended/devops/azure-ai-anomalydetector-java/SKILL.md +10 -5
  386. package/templates/skills/extended/devops/azure-ai-contentsafety-java/SKILL.md +10 -5
  387. package/templates/skills/extended/devops/azure-ai-contentsafety-py/SKILL.md +10 -5
  388. package/templates/skills/extended/devops/azure-ai-contentunderstanding-py/SKILL.md +10 -5
  389. package/templates/skills/extended/devops/azure-ai-document-intelligence-dotnet/SKILL.md +10 -5
  390. package/templates/skills/extended/devops/azure-ai-document-intelligence-ts/SKILL.md +10 -5
  391. package/templates/skills/extended/devops/azure-ai-ml-py/SKILL.md +10 -5
  392. package/templates/skills/extended/devops/azure-ai-projects-dotnet/SKILL.md +10 -5
  393. package/templates/skills/extended/devops/azure-ai-projects-java/SKILL.md +10 -5
  394. package/templates/skills/extended/devops/azure-ai-textanalytics-py/SKILL.md +10 -5
  395. package/templates/skills/extended/devops/azure-ai-transcription-py/SKILL.md +10 -5
  396. package/templates/skills/extended/devops/azure-ai-translation-document-py/SKILL.md +10 -5
  397. package/templates/skills/extended/devops/azure-ai-translation-text-py/SKILL.md +10 -5
  398. package/templates/skills/extended/devops/azure-ai-translation-ts/SKILL.md +10 -5
  399. package/templates/skills/extended/devops/azure-ai-voicelive-dotnet/SKILL.md +10 -5
  400. package/templates/skills/extended/devops/azure-ai-voicelive-java/SKILL.md +10 -5
  401. package/templates/skills/extended/devops/azure-ai-voicelive-ts/SKILL.md +10 -5
  402. package/templates/skills/extended/devops/azure-appconfiguration-java/SKILL.md +10 -5
  403. package/templates/skills/extended/devops/azure-appconfiguration-py/SKILL.md +10 -5
  404. package/templates/skills/extended/devops/azure-appconfiguration-ts/SKILL.md +10 -5
  405. package/templates/skills/extended/devops/azure-communication-chat-java/SKILL.md +10 -5
  406. package/templates/skills/extended/devops/azure-communication-common-java/SKILL.md +10 -5
  407. package/templates/skills/extended/devops/azure-communication-sms-java/SKILL.md +10 -5
  408. package/templates/skills/extended/devops/azure-compute-batch-java/SKILL.md +10 -5
  409. package/templates/skills/extended/devops/azure-containerregistry-py/SKILL.md +10 -5
  410. package/templates/skills/extended/devops/azure-cosmos-java/SKILL.md +10 -5
  411. package/templates/skills/extended/devops/azure-cosmos-py/SKILL.md +10 -5
  412. package/templates/skills/extended/devops/azure-cosmos-rust/SKILL.md +10 -5
  413. package/templates/skills/extended/devops/azure-cosmos-ts/SKILL.md +10 -5
  414. package/templates/skills/extended/devops/azure-data-tables-py/SKILL.md +10 -5
  415. package/templates/skills/extended/devops/azure-eventgrid-dotnet/SKILL.md +10 -5
  416. package/templates/skills/extended/devops/azure-eventgrid-java/SKILL.md +10 -5
  417. package/templates/skills/extended/devops/azure-eventgrid-py/SKILL.md +10 -5
  418. package/templates/skills/extended/devops/azure-eventhub-dotnet/SKILL.md +10 -5
  419. package/templates/skills/extended/devops/azure-eventhub-java/SKILL.md +10 -5
  420. package/templates/skills/extended/devops/azure-eventhub-py/SKILL.md +10 -5
  421. package/templates/skills/extended/devops/azure-eventhub-rust/SKILL.md +10 -5
  422. package/templates/skills/extended/devops/azure-eventhub-ts/SKILL.md +10 -5
  423. package/templates/skills/extended/devops/azure-functions/SKILL.md +10 -5
  424. package/templates/skills/extended/devops/azure-identity-dotnet/SKILL.md +10 -5
  425. package/templates/skills/extended/devops/azure-identity-java/SKILL.md +10 -5
  426. package/templates/skills/extended/devops/azure-identity-py/SKILL.md +10 -5
  427. package/templates/skills/extended/devops/azure-identity-rust/SKILL.md +10 -5
  428. package/templates/skills/extended/devops/azure-identity-ts/SKILL.md +10 -5
  429. package/templates/skills/extended/devops/azure-keyvault-certificates-rust/SKILL.md +10 -5
  430. package/templates/skills/extended/devops/azure-keyvault-keys-rust/SKILL.md +10 -5
  431. package/templates/skills/extended/devops/azure-keyvault-keys-ts/SKILL.md +10 -5
  432. package/templates/skills/extended/devops/azure-keyvault-py/SKILL.md +10 -5
  433. package/templates/skills/extended/devops/azure-keyvault-secrets-rust/SKILL.md +10 -5
  434. package/templates/skills/extended/devops/azure-keyvault-secrets-ts/SKILL.md +10 -5
  435. package/templates/skills/extended/devops/azure-maps-search-dotnet/SKILL.md +10 -5
  436. package/templates/skills/extended/devops/azure-messaging-webpubsub-java/SKILL.md +10 -5
  437. package/templates/skills/extended/devops/azure-messaging-webpubsubservice-py/SKILL.md +10 -5
  438. package/templates/skills/extended/devops/azure-mgmt-applicationinsights-dotnet/SKILL.md +10 -5
  439. package/templates/skills/extended/devops/azure-mgmt-arizeaiobservabilityeval-dotnet/SKILL.md +10 -5
  440. package/templates/skills/extended/devops/azure-mgmt-botservice-dotnet/SKILL.md +10 -5
  441. package/templates/skills/extended/devops/azure-mgmt-botservice-py/SKILL.md +10 -5
  442. package/templates/skills/extended/devops/azure-mgmt-fabric-dotnet/SKILL.md +10 -5
  443. package/templates/skills/extended/devops/azure-mgmt-fabric-py/SKILL.md +10 -5
  444. package/templates/skills/extended/devops/azure-mgmt-weightsandbiases-dotnet/SKILL.md +10 -5
  445. package/templates/skills/extended/devops/azure-microsoft-playwright-testing-ts/SKILL.md +10 -5
  446. package/templates/skills/extended/devops/azure-monitor-ingestion-java/SKILL.md +10 -5
  447. package/templates/skills/extended/devops/azure-monitor-ingestion-py/SKILL.md +10 -5
  448. package/templates/skills/extended/devops/azure-monitor-opentelemetry-exporter-java/SKILL.md +10 -5
  449. package/templates/skills/extended/devops/azure-monitor-opentelemetry-exporter-py/SKILL.md +10 -5
  450. package/templates/skills/extended/devops/azure-monitor-opentelemetry-py/SKILL.md +10 -5
  451. package/templates/skills/extended/devops/azure-monitor-opentelemetry-ts/SKILL.md +10 -5
  452. package/templates/skills/extended/devops/azure-monitor-query-java/SKILL.md +10 -5
  453. package/templates/skills/extended/devops/azure-monitor-query-py/SKILL.md +10 -5
  454. package/templates/skills/extended/devops/azure-resource-manager-cosmosdb-dotnet/SKILL.md +10 -5
  455. package/templates/skills/extended/devops/azure-resource-manager-durabletask-dotnet/SKILL.md +10 -5
  456. package/templates/skills/extended/devops/azure-resource-manager-playwright-dotnet/SKILL.md +10 -5
  457. package/templates/skills/extended/devops/azure-search-documents-dotnet/SKILL.md +10 -5
  458. package/templates/skills/extended/devops/azure-search-documents-py/SKILL.md +10 -5
  459. package/templates/skills/extended/devops/azure-security-keyvault-keys-dotnet/SKILL.md +10 -5
  460. package/templates/skills/extended/devops/azure-security-keyvault-keys-java/SKILL.md +10 -5
  461. package/templates/skills/extended/devops/azure-security-keyvault-secrets-java/SKILL.md +10 -5
  462. package/templates/skills/extended/devops/azure-servicebus-dotnet/SKILL.md +10 -5
  463. package/templates/skills/extended/devops/azure-servicebus-py/SKILL.md +10 -5
  464. package/templates/skills/extended/devops/azure-servicebus-ts/SKILL.md +10 -5
  465. package/templates/skills/extended/devops/azure-storage-blob-java/SKILL.md +10 -5
  466. package/templates/skills/extended/devops/azure-storage-blob-py/SKILL.md +10 -5
  467. package/templates/skills/extended/devops/azure-storage-blob-rust/SKILL.md +10 -5
  468. package/templates/skills/extended/devops/azure-storage-blob-ts/SKILL.md +10 -5
  469. package/templates/skills/extended/devops/azure-storage-file-datalake-py/SKILL.md +10 -5
  470. package/templates/skills/extended/devops/azure-storage-file-share-py/SKILL.md +10 -5
  471. package/templates/skills/extended/devops/azure-storage-file-share-ts/SKILL.md +10 -5
  472. package/templates/skills/extended/devops/azure-storage-queue-py/SKILL.md +10 -5
  473. package/templates/skills/extended/devops/azure-storage-queue-ts/SKILL.md +10 -5
  474. package/templates/skills/extended/devops/azure-web-pubsub-ts/SKILL.md +10 -5
  475. package/templates/skills/extended/devops/bash-defensive-patterns/SKILL.md +10 -5
  476. package/templates/skills/extended/devops/bash-pro/SKILL.md +10 -5
  477. package/templates/skills/extended/devops/busybox-on-windows/SKILL.md +10 -5
  478. package/templates/skills/extended/devops/c4-container/SKILL.md +10 -5
  479. package/templates/skills/extended/devops/claude-win11-speckit-update-skill/SKILL.md +10 -5
  480. package/templates/skills/extended/devops/cloud-architect/SKILL.md +10 -5
  481. package/templates/skills/extended/devops/cloud-penetration-testing/SKILL.md +11 -6
  482. package/templates/skills/extended/devops/context-window-management/SKILL.md +10 -5
  483. package/templates/skills/extended/devops/database-cloud-optimization-cost-optimize/SKILL.md +10 -5
  484. package/templates/skills/extended/devops/deployment-engineer/SKILL.md +10 -5
  485. package/templates/skills/extended/devops/deployment-pipeline-design/SKILL.md +10 -5
  486. package/templates/skills/extended/devops/deployment-validation-config-validate/SKILL.md +10 -5
  487. package/templates/skills/extended/devops/expo-deployment/SKILL.md +10 -5
  488. package/templates/skills/extended/devops/file-uploads/SKILL.md +10 -5
  489. package/templates/skills/extended/devops/full-stack-orchestration-full-stack-feature/SKILL.md +10 -5
  490. package/templates/skills/extended/devops/gcp-cloud-run/SKILL.md +10 -5
  491. package/templates/skills/extended/devops/helm-chart-scaffolding/SKILL.md +10 -5
  492. package/templates/skills/extended/devops/hugging-face-cli/SKILL.md +10 -5
  493. package/templates/skills/extended/devops/hugging-face-jobs/SKILL.md +10 -5
  494. package/templates/skills/extended/devops/hybrid-cloud-architect/SKILL.md +10 -5
  495. package/templates/skills/extended/devops/hybrid-cloud-networking/SKILL.md +10 -5
  496. package/templates/skills/extended/devops/k8s-manifest-generator/SKILL.md +10 -5
  497. package/templates/skills/extended/devops/k8s-security-policies/SKILL.md +10 -5
  498. package/templates/skills/extended/devops/kubernetes-architect/SKILL.md +10 -5
  499. package/templates/skills/extended/devops/linux-shell-scripting/SKILL.md +11 -6
  500. package/templates/skills/extended/devops/loki-mode/SKILL.md +10 -5
  501. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/0.cpython-312.pyc +0 -0
  502. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/1.cpython-312.pyc +0 -0
  503. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/10.cpython-312.pyc +0 -0
  504. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/100.cpython-312.pyc +0 -0
  505. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/101.cpython-312.pyc +0 -0
  506. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/102.cpython-312.pyc +0 -0
  507. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/103.cpython-312.pyc +0 -0
  508. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/104.cpython-312.pyc +0 -0
  509. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/105.cpython-312.pyc +0 -0
  510. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/106.cpython-312.pyc +0 -0
  511. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/107.cpython-312.pyc +0 -0
  512. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/108.cpython-312.pyc +0 -0
  513. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/109.cpython-312.pyc +0 -0
  514. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/11.cpython-312.pyc +0 -0
  515. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/110.cpython-312.pyc +0 -0
  516. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/111.cpython-312.pyc +0 -0
  517. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/112.cpython-312.pyc +0 -0
  518. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/113.cpython-312.pyc +0 -0
  519. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/114.cpython-312.pyc +0 -0
  520. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/115.cpython-312.pyc +0 -0
  521. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/116.cpython-312.pyc +0 -0
  522. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/117.cpython-312.pyc +0 -0
  523. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/118.cpython-312.pyc +0 -0
  524. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/119.cpython-312.pyc +0 -0
  525. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/12.cpython-312.pyc +0 -0
  526. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/120.cpython-312.pyc +0 -0
  527. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/121.cpython-312.pyc +0 -0
  528. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/122.cpython-312.pyc +0 -0
  529. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/123.cpython-312.pyc +0 -0
  530. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/124.cpython-312.pyc +0 -0
  531. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/125.cpython-312.pyc +0 -0
  532. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/126.cpython-312.pyc +0 -0
  533. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/127.cpython-312.pyc +0 -0
  534. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/128.cpython-312.pyc +0 -0
  535. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/129.cpython-312.pyc +0 -0
  536. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/13.cpython-312.pyc +0 -0
  537. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/130.cpython-312.pyc +0 -0
  538. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/131.cpython-312.pyc +0 -0
  539. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/132.cpython-312.pyc +0 -0
  540. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/133.cpython-312.pyc +0 -0
  541. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/134.cpython-312.pyc +0 -0
  542. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/135.cpython-312.pyc +0 -0
  543. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/136.cpython-312.pyc +0 -0
  544. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/137.cpython-312.pyc +0 -0
  545. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/138.cpython-312.pyc +0 -0
  546. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/139.cpython-312.pyc +0 -0
  547. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/14.cpython-312.pyc +0 -0
  548. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/140.cpython-312.pyc +0 -0
  549. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/141.cpython-312.pyc +0 -0
  550. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/142.cpython-312.pyc +0 -0
  551. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/143.cpython-312.pyc +0 -0
  552. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/144.cpython-312.pyc +0 -0
  553. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/145.cpython-312.pyc +0 -0
  554. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/146.cpython-312.pyc +0 -0
  555. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/147.cpython-312.pyc +0 -0
  556. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/148.cpython-312.pyc +0 -0
  557. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/149.cpython-312.pyc +0 -0
  558. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/15.cpython-312.pyc +0 -0
  559. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/150.cpython-312.pyc +0 -0
  560. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/151.cpython-312.pyc +0 -0
  561. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/152.cpython-312.pyc +0 -0
  562. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/153.cpython-312.pyc +0 -0
  563. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/154.cpython-312.pyc +0 -0
  564. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/155.cpython-312.pyc +0 -0
  565. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/156.cpython-312.pyc +0 -0
  566. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/157.cpython-312.pyc +0 -0
  567. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/158.cpython-312.pyc +0 -0
  568. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/159.cpython-312.pyc +0 -0
  569. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/16.cpython-312.pyc +0 -0
  570. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/160.cpython-312.pyc +0 -0
  571. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/161.cpython-312.pyc +0 -0
  572. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/162.cpython-312.pyc +0 -0
  573. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/163.cpython-312.pyc +0 -0
  574. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/17.cpython-312.pyc +0 -0
  575. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/18.cpython-312.pyc +0 -0
  576. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/19.cpython-312.pyc +0 -0
  577. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/2.cpython-312.pyc +0 -0
  578. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/20.cpython-312.pyc +0 -0
  579. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/21.cpython-312.pyc +0 -0
  580. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/22.cpython-312.pyc +0 -0
  581. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/23.cpython-312.pyc +0 -0
  582. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/24.cpython-312.pyc +0 -0
  583. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/25.cpython-312.pyc +0 -0
  584. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/26.cpython-312.pyc +0 -0
  585. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/27.cpython-312.pyc +0 -0
  586. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/28.cpython-312.pyc +0 -0
  587. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/29.cpython-312.pyc +0 -0
  588. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/3.cpython-312.pyc +0 -0
  589. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/30.cpython-312.pyc +0 -0
  590. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/31.cpython-312.pyc +0 -0
  591. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/32.cpython-312.pyc +0 -0
  592. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/33.cpython-312.pyc +0 -0
  593. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/34.cpython-312.pyc +0 -0
  594. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/35.cpython-312.pyc +0 -0
  595. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/36.cpython-312.pyc +0 -0
  596. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/37.cpython-312.pyc +0 -0
  597. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/38.cpython-312.pyc +0 -0
  598. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/39.cpython-312.pyc +0 -0
  599. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/4.cpython-312.pyc +0 -0
  600. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/40.cpython-312.pyc +0 -0
  601. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/41.cpython-312.pyc +0 -0
  602. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/42.cpython-312.pyc +0 -0
  603. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/43.cpython-312.pyc +0 -0
  604. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/44.cpython-312.pyc +0 -0
  605. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/45.cpython-312.pyc +0 -0
  606. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/46.cpython-312.pyc +0 -0
  607. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/47.cpython-312.pyc +0 -0
  608. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/48.cpython-312.pyc +0 -0
  609. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/49.cpython-312.pyc +0 -0
  610. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/5.cpython-312.pyc +0 -0
  611. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/50.cpython-312.pyc +0 -0
  612. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/51.cpython-312.pyc +0 -0
  613. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/52.cpython-312.pyc +0 -0
  614. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/53.cpython-312.pyc +0 -0
  615. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/54.cpython-312.pyc +0 -0
  616. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/55.cpython-312.pyc +0 -0
  617. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/56.cpython-312.pyc +0 -0
  618. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/57.cpython-312.pyc +0 -0
  619. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/58.cpython-312.pyc +0 -0
  620. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/59.cpython-312.pyc +0 -0
  621. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/6.cpython-312.pyc +0 -0
  622. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/60.cpython-312.pyc +0 -0
  623. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/61.cpython-312.pyc +0 -0
  624. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/62.cpython-312.pyc +0 -0
  625. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/63.cpython-312.pyc +0 -0
  626. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/64.cpython-312.pyc +0 -0
  627. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/65.cpython-312.pyc +0 -0
  628. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/66.cpython-312.pyc +0 -0
  629. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/67.cpython-312.pyc +0 -0
  630. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/68.cpython-312.pyc +0 -0
  631. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/69.cpython-312.pyc +0 -0
  632. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/7.cpython-312.pyc +0 -0
  633. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/70.cpython-312.pyc +0 -0
  634. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/71.cpython-312.pyc +0 -0
  635. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/72.cpython-312.pyc +0 -0
  636. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/73.cpython-312.pyc +0 -0
  637. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/74.cpython-312.pyc +0 -0
  638. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/75.cpython-312.pyc +0 -0
  639. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/76.cpython-312.pyc +0 -0
  640. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/77.cpython-312.pyc +0 -0
  641. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/78.cpython-312.pyc +0 -0
  642. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/79.cpython-312.pyc +0 -0
  643. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/8.cpython-312.pyc +0 -0
  644. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/80.cpython-312.pyc +0 -0
  645. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/81.cpython-312.pyc +0 -0
  646. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/82.cpython-312.pyc +0 -0
  647. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/83.cpython-312.pyc +0 -0
  648. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/84.cpython-312.pyc +0 -0
  649. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/85.cpython-312.pyc +0 -0
  650. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/86.cpython-312.pyc +0 -0
  651. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/87.cpython-312.pyc +0 -0
  652. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/88.cpython-312.pyc +0 -0
  653. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/89.cpython-312.pyc +0 -0
  654. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/9.cpython-312.pyc +0 -0
  655. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/90.cpython-312.pyc +0 -0
  656. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/91.cpython-312.pyc +0 -0
  657. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/92.cpython-312.pyc +0 -0
  658. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/93.cpython-312.pyc +0 -0
  659. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/94.cpython-312.pyc +0 -0
  660. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/95.cpython-312.pyc +0 -0
  661. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/96.cpython-312.pyc +0 -0
  662. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/97.cpython-312.pyc +0 -0
  663. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/98.cpython-312.pyc +0 -0
  664. package/templates/skills/extended/devops/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/__pycache__/99.cpython-312.pyc +0 -0
  665. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/0.cpython-312.pyc +0 -0
  666. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/1.cpython-312.pyc +0 -0
  667. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/10.cpython-312.pyc +0 -0
  668. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/100.cpython-312.pyc +0 -0
  669. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/101.cpython-312.pyc +0 -0
  670. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/102.cpython-312.pyc +0 -0
  671. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/103.cpython-312.pyc +0 -0
  672. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/104.cpython-312.pyc +0 -0
  673. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/105.cpython-312.pyc +0 -0
  674. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/106.cpython-312.pyc +0 -0
  675. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/107.cpython-312.pyc +0 -0
  676. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/108.cpython-312.pyc +0 -0
  677. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/109.cpython-312.pyc +0 -0
  678. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/11.cpython-312.pyc +0 -0
  679. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/110.cpython-312.pyc +0 -0
  680. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/111.cpython-312.pyc +0 -0
  681. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/112.cpython-312.pyc +0 -0
  682. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/113.cpython-312.pyc +0 -0
  683. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/114.cpython-312.pyc +0 -0
  684. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/115.cpython-312.pyc +0 -0
  685. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/116.cpython-312.pyc +0 -0
  686. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/117.cpython-312.pyc +0 -0
  687. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/118.cpython-312.pyc +0 -0
  688. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/119.cpython-312.pyc +0 -0
  689. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/12.cpython-312.pyc +0 -0
  690. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/120.cpython-312.pyc +0 -0
  691. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/121.cpython-312.pyc +0 -0
  692. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/122.cpython-312.pyc +0 -0
  693. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/123.cpython-312.pyc +0 -0
  694. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/124.cpython-312.pyc +0 -0
  695. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/125.cpython-312.pyc +0 -0
  696. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/126.cpython-312.pyc +0 -0
  697. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/127.cpython-312.pyc +0 -0
  698. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/128.cpython-312.pyc +0 -0
  699. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/129.cpython-312.pyc +0 -0
  700. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/13.cpython-312.pyc +0 -0
  701. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/130.cpython-312.pyc +0 -0
  702. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/131.cpython-312.pyc +0 -0
  703. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/132.cpython-312.pyc +0 -0
  704. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/133.cpython-312.pyc +0 -0
  705. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/134.cpython-312.pyc +0 -0
  706. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/135.cpython-312.pyc +0 -0
  707. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/136.cpython-312.pyc +0 -0
  708. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/137.cpython-312.pyc +0 -0
  709. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/138.cpython-312.pyc +0 -0
  710. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/139.cpython-312.pyc +0 -0
  711. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/14.cpython-312.pyc +0 -0
  712. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/140.cpython-312.pyc +0 -0
  713. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/141.cpython-312.pyc +0 -0
  714. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/142.cpython-312.pyc +0 -0
  715. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/143.cpython-312.pyc +0 -0
  716. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/144.cpython-312.pyc +0 -0
  717. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/145.cpython-312.pyc +0 -0
  718. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/146.cpython-312.pyc +0 -0
  719. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/147.cpython-312.pyc +0 -0
  720. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/148.cpython-312.pyc +0 -0
  721. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/149.cpython-312.pyc +0 -0
  722. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/15.cpython-312.pyc +0 -0
  723. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/150.cpython-312.pyc +0 -0
  724. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/151.cpython-312.pyc +0 -0
  725. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/152.cpython-312.pyc +0 -0
  726. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/153.cpython-312.pyc +0 -0
  727. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/154.cpython-312.pyc +0 -0
  728. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/155.cpython-312.pyc +0 -0
  729. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/156.cpython-312.pyc +0 -0
  730. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/157.cpython-312.pyc +0 -0
  731. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/158.cpython-312.pyc +0 -0
  732. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/159.cpython-312.pyc +0 -0
  733. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/16.cpython-312.pyc +0 -0
  734. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/160.cpython-312.pyc +0 -0
  735. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/161.cpython-312.pyc +0 -0
  736. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/162.cpython-312.pyc +0 -0
  737. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/163.cpython-312.pyc +0 -0
  738. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/17.cpython-312.pyc +0 -0
  739. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/18.cpython-312.pyc +0 -0
  740. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/19.cpython-312.pyc +0 -0
  741. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/2.cpython-312.pyc +0 -0
  742. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/20.cpython-312.pyc +0 -0
  743. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/21.cpython-312.pyc +0 -0
  744. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/22.cpython-312.pyc +0 -0
  745. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/23.cpython-312.pyc +0 -0
  746. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/24.cpython-312.pyc +0 -0
  747. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/25.cpython-312.pyc +0 -0
  748. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/26.cpython-312.pyc +0 -0
  749. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/27.cpython-312.pyc +0 -0
  750. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/28.cpython-312.pyc +0 -0
  751. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/29.cpython-312.pyc +0 -0
  752. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/3.cpython-312.pyc +0 -0
  753. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/30.cpython-312.pyc +0 -0
  754. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/31.cpython-312.pyc +0 -0
  755. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/32.cpython-312.pyc +0 -0
  756. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/33.cpython-312.pyc +0 -0
  757. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/34.cpython-312.pyc +0 -0
  758. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/35.cpython-312.pyc +0 -0
  759. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/36.cpython-312.pyc +0 -0
  760. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/37.cpython-312.pyc +0 -0
  761. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/38.cpython-312.pyc +0 -0
  762. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/39.cpython-312.pyc +0 -0
  763. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/4.cpython-312.pyc +0 -0
  764. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/40.cpython-312.pyc +0 -0
  765. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/41.cpython-312.pyc +0 -0
  766. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/42.cpython-312.pyc +0 -0
  767. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/43.cpython-312.pyc +0 -0
  768. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/44.cpython-312.pyc +0 -0
  769. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/45.cpython-312.pyc +0 -0
  770. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/46.cpython-312.pyc +0 -0
  771. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/47.cpython-312.pyc +0 -0
  772. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/48.cpython-312.pyc +0 -0
  773. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/49.cpython-312.pyc +0 -0
  774. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/5.cpython-312.pyc +0 -0
  775. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/50.cpython-312.pyc +0 -0
  776. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/51.cpython-312.pyc +0 -0
  777. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/52.cpython-312.pyc +0 -0
  778. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/53.cpython-312.pyc +0 -0
  779. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/54.cpython-312.pyc +0 -0
  780. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/55.cpython-312.pyc +0 -0
  781. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/56.cpython-312.pyc +0 -0
  782. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/57.cpython-312.pyc +0 -0
  783. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/58.cpython-312.pyc +0 -0
  784. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/59.cpython-312.pyc +0 -0
  785. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/6.cpython-312.pyc +0 -0
  786. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/60.cpython-312.pyc +0 -0
  787. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/61.cpython-312.pyc +0 -0
  788. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/62.cpython-312.pyc +0 -0
  789. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/63.cpython-312.pyc +0 -0
  790. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/64.cpython-312.pyc +0 -0
  791. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/65.cpython-312.pyc +0 -0
  792. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/66.cpython-312.pyc +0 -0
  793. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/67.cpython-312.pyc +0 -0
  794. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/68.cpython-312.pyc +0 -0
  795. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/69.cpython-312.pyc +0 -0
  796. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/7.cpython-312.pyc +0 -0
  797. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/70.cpython-312.pyc +0 -0
  798. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/71.cpython-312.pyc +0 -0
  799. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/72.cpython-312.pyc +0 -0
  800. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/73.cpython-312.pyc +0 -0
  801. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/74.cpython-312.pyc +0 -0
  802. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/75.cpython-312.pyc +0 -0
  803. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/76.cpython-312.pyc +0 -0
  804. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/77.cpython-312.pyc +0 -0
  805. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/78.cpython-312.pyc +0 -0
  806. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/79.cpython-312.pyc +0 -0
  807. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/8.cpython-312.pyc +0 -0
  808. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/80.cpython-312.pyc +0 -0
  809. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/81.cpython-312.pyc +0 -0
  810. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/82.cpython-312.pyc +0 -0
  811. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/83.cpython-312.pyc +0 -0
  812. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/84.cpython-312.pyc +0 -0
  813. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/85.cpython-312.pyc +0 -0
  814. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/86.cpython-312.pyc +0 -0
  815. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/87.cpython-312.pyc +0 -0
  816. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/88.cpython-312.pyc +0 -0
  817. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/89.cpython-312.pyc +0 -0
  818. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/9.cpython-312.pyc +0 -0
  819. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/90.cpython-312.pyc +0 -0
  820. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/91.cpython-312.pyc +0 -0
  821. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/92.cpython-312.pyc +0 -0
  822. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/93.cpython-312.pyc +0 -0
  823. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/94.cpython-312.pyc +0 -0
  824. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/95.cpython-312.pyc +0 -0
  825. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/96.cpython-312.pyc +0 -0
  826. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/97.cpython-312.pyc +0 -0
  827. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/98.cpython-312.pyc +0 -0
  828. package/templates/skills/extended/devops/loki-mode/benchmarks/results/humaneval-loki-solutions/__pycache__/99.cpython-312.pyc +0 -0
  829. package/templates/skills/extended/devops/loki-mode/examples/todo-app-generated/backend/package.json +5 -2
  830. package/templates/skills/extended/devops/machine-learning-ops-ml-pipeline/SKILL.md +10 -5
  831. package/templates/skills/extended/devops/ml-pipeline-workflow/SKILL.md +10 -5
  832. package/templates/skills/extended/devops/multi-cloud-architecture/SKILL.md +10 -5
  833. package/templates/skills/extended/devops/network-engineer/SKILL.md +10 -5
  834. package/templates/skills/extended/devops/posix-shell-pro/SKILL.md +10 -5
  835. package/templates/skills/extended/devops/saga-orchestration/SKILL.md +10 -5
  836. package/templates/skills/extended/devops/secrets-management/SKILL.md +10 -5
  837. package/templates/skills/extended/devops/service-mesh-expert/SKILL.md +10 -5
  838. package/templates/skills/extended/devops/shellcheck-configuration/SKILL.md +10 -5
  839. package/templates/skills/extended/devops/tdd-orchestrator/SKILL.md +10 -5
  840. package/templates/skills/extended/devops/terraform-module-library/SKILL.md +10 -5
  841. package/templates/skills/extended/devops/terraform-skill/SKILL.md +10 -5
  842. package/templates/skills/extended/devops/upstash-qstash/SKILL.md +10 -5
  843. package/templates/skills/extended/devops/vercel-automation/SKILL.md +10 -5
  844. package/templates/skills/extended/devops/vercel-deploy-claimable/SKILL.md +10 -5
  845. package/templates/skills/extended/devops/vercel-deployment/SKILL.md +10 -5
  846. package/templates/skills/extended/devops/windows-privilege-escalation/SKILL.md +11 -6
  847. package/templates/skills/extended/documentation/api-documentation-generator/SKILL.md +10 -5
  848. package/templates/skills/extended/documentation/api-documenter/SKILL.md +10 -5
  849. package/templates/skills/extended/documentation/azure-search-documents-ts/SKILL.md +10 -5
  850. package/templates/skills/extended/documentation/claude-code-guide/SKILL.md +11 -6
  851. package/templates/skills/extended/documentation/claude-scientific-skills/SKILL.md +10 -5
  852. package/templates/skills/extended/documentation/code-documentation-code-explain/SKILL.md +10 -5
  853. package/templates/skills/extended/documentation/code-documentation-doc-generate/SKILL.md +10 -5
  854. package/templates/skills/extended/documentation/context7-auto-research/SKILL.md +10 -5
  855. package/templates/skills/extended/documentation/culture-index/SKILL.md +10 -5
  856. package/templates/skills/extended/documentation/defi-protocol-templates/SKILL.md +10 -5
  857. package/templates/skills/extended/documentation/docs-architect/SKILL.md +10 -5
  858. package/templates/skills/extended/documentation/documentation-generation-doc-generate/SKILL.md +10 -5
  859. package/templates/skills/extended/documentation/docusign-automation/SKILL.md +10 -5
  860. package/templates/skills/extended/documentation/docx/SKILL.md +10 -5
  861. package/templates/skills/extended/documentation/docx/ooxml/scripts/__pycache__/pack.cpython-312.pyc +0 -0
  862. package/templates/skills/extended/documentation/docx/ooxml/scripts/__pycache__/unpack.cpython-312.pyc +0 -0
  863. package/templates/skills/extended/documentation/docx/ooxml/scripts/__pycache__/validate.cpython-312.pyc +0 -0
  864. package/templates/skills/extended/documentation/docx/ooxml/scripts/validation/__pycache__/__init__.cpython-312.pyc +0 -0
  865. package/templates/skills/extended/documentation/docx/ooxml/scripts/validation/__pycache__/base.cpython-312.pyc +0 -0
  866. package/templates/skills/extended/documentation/docx/ooxml/scripts/validation/__pycache__/docx.cpython-312.pyc +0 -0
  867. package/templates/skills/extended/documentation/docx/ooxml/scripts/validation/__pycache__/pptx.cpython-312.pyc +0 -0
  868. package/templates/skills/extended/documentation/docx/ooxml/scripts/validation/__pycache__/redlining.cpython-312.pyc +0 -0
  869. package/templates/skills/extended/documentation/docx/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
  870. package/templates/skills/extended/documentation/docx/scripts/__pycache__/document.cpython-312.pyc +0 -0
  871. package/templates/skills/extended/documentation/docx/scripts/__pycache__/utilities.cpython-312.pyc +0 -0
  872. package/templates/skills/extended/documentation/employment-contract-templates/SKILL.md +10 -5
  873. package/templates/skills/extended/documentation/incident-runbook-templates/SKILL.md +10 -5
  874. package/templates/skills/extended/documentation/malware-analyst/SKILL.md +10 -5
  875. package/templates/skills/extended/documentation/notebooklm/SKILL.md +10 -5
  876. package/templates/skills/extended/documentation/obsidian-clipper-template-creator/SKILL.md +10 -5
  877. package/templates/skills/extended/documentation/product-manager-toolkit/SKILL.md +10 -5
  878. package/templates/skills/extended/documentation/product-manager-toolkit/scripts/__pycache__/customer_interview_analyzer.cpython-312.pyc +0 -0
  879. package/templates/skills/extended/documentation/product-manager-toolkit/scripts/__pycache__/rice_prioritizer.cpython-312.pyc +0 -0
  880. package/templates/skills/extended/documentation/readme/SKILL.md +10 -5
  881. package/templates/skills/extended/documentation/reference-builder/SKILL.md +10 -5
  882. package/templates/skills/extended/documentation/research-engineer/SKILL.md +10 -5
  883. package/templates/skills/extended/documentation/screenshots/SKILL.md +10 -5
  884. package/templates/skills/extended/documentation/search-specialist/SKILL.md +10 -5
  885. package/templates/skills/extended/documentation/skill-seekers/SKILL.md +10 -5
  886. package/templates/skills/extended/documentation/startup-business-analyst-business-case/SKILL.md +10 -5
  887. package/templates/skills/extended/documentation/tutorial-engineer/SKILL.md +10 -5
  888. package/templates/skills/extended/documentation/wiki-architect/SKILL.md +10 -5
  889. package/templates/skills/extended/documentation/wiki-changelog/SKILL.md +10 -5
  890. package/templates/skills/extended/documentation/wiki-onboarding/SKILL.md +10 -5
  891. package/templates/skills/extended/documentation/wiki-page-writer/SKILL.md +10 -5
  892. package/templates/skills/extended/documentation/wiki-qa/SKILL.md +10 -5
  893. package/templates/skills/extended/documentation/wiki-researcher/SKILL.md +10 -5
  894. package/templates/skills/extended/frontend/algolia-search/SKILL.md +10 -5
  895. package/templates/skills/extended/frontend/angular/SKILL.md +10 -5
  896. package/templates/skills/extended/frontend/angular-best-practices/SKILL.md +10 -5
  897. package/templates/skills/extended/frontend/angular-migration/SKILL.md +10 -5
  898. package/templates/skills/extended/frontend/angular-state-management/SKILL.md +10 -5
  899. package/templates/skills/extended/frontend/angular-ui-patterns/SKILL.md +10 -5
  900. package/templates/skills/extended/frontend/avalonia-layout-zafiro/SKILL.md +10 -5
  901. package/templates/skills/extended/frontend/avalonia-viewmodels-zafiro/SKILL.md +10 -5
  902. package/templates/skills/extended/frontend/avalonia-zafiro-development/SKILL.md +10 -5
  903. package/templates/skills/extended/frontend/beautiful-prose/SKILL.md +10 -5
  904. package/templates/skills/extended/frontend/browser-extension-builder/SKILL.md +10 -5
  905. package/templates/skills/extended/frontend/c4-component/SKILL.md +10 -5
  906. package/templates/skills/extended/frontend/canvas-design/SKILL.md +10 -5
  907. package/templates/skills/extended/frontend/cc-skill-coding-standards/SKILL.md +11 -6
  908. package/templates/skills/extended/frontend/cc-skill-frontend-patterns/SKILL.md +11 -6
  909. package/templates/skills/extended/frontend/cc-skill-project-guidelines-example/SKILL.md +10 -5
  910. package/templates/skills/extended/frontend/claude-ally-health/SKILL.md +10 -5
  911. package/templates/skills/extended/frontend/claude-d3js-skill/SKILL.md +11 -6
  912. package/templates/skills/extended/frontend/core-components/SKILL.md +10 -5
  913. package/templates/skills/extended/frontend/design-orchestration/SKILL.md +10 -5
  914. package/templates/skills/extended/frontend/environment-setup-guide/SKILL.md +10 -5
  915. package/templates/skills/extended/frontend/fp-ts-react/SKILL.md +10 -5
  916. package/templates/skills/extended/frontend/frontend-dev-guidelines/SKILL.md +10 -5
  917. package/templates/skills/extended/frontend/frontend-developer/SKILL.md +10 -5
  918. package/templates/skills/extended/frontend/frontend-mobile-development-component-scaffold/SKILL.md +10 -5
  919. package/templates/skills/extended/frontend/frontend-slides/SKILL.md +10 -5
  920. package/templates/skills/extended/frontend/frontend-ui-dark-ts/SKILL.md +10 -5
  921. package/templates/skills/extended/frontend/interactive-portfolio/SKILL.md +10 -5
  922. package/templates/skills/extended/frontend/javascript-typescript-typescript-scaffold/SKILL.md +10 -5
  923. package/templates/skills/extended/frontend/kpi-dashboard-design/SKILL.md +10 -5
  924. package/templates/skills/extended/frontend/makepad-skills/SKILL.md +10 -5
  925. package/templates/skills/extended/frontend/micro-saas-launcher/SKILL.md +10 -5
  926. package/templates/skills/extended/frontend/nextjs-app-router-patterns/SKILL.md +10 -5
  927. package/templates/skills/extended/frontend/personal-tool-builder/SKILL.md +10 -5
  928. package/templates/skills/extended/frontend/pptx/SKILL.md +10 -5
  929. package/templates/skills/extended/frontend/pptx/ooxml/scripts/__pycache__/pack.cpython-312.pyc +0 -0
  930. package/templates/skills/extended/frontend/pptx/ooxml/scripts/__pycache__/unpack.cpython-312.pyc +0 -0
  931. package/templates/skills/extended/frontend/pptx/ooxml/scripts/__pycache__/validate.cpython-312.pyc +0 -0
  932. package/templates/skills/extended/frontend/pptx/ooxml/scripts/validation/__pycache__/__init__.cpython-312.pyc +0 -0
  933. package/templates/skills/extended/frontend/pptx/ooxml/scripts/validation/__pycache__/base.cpython-312.pyc +0 -0
  934. package/templates/skills/extended/frontend/pptx/ooxml/scripts/validation/__pycache__/docx.cpython-312.pyc +0 -0
  935. package/templates/skills/extended/frontend/pptx/ooxml/scripts/validation/__pycache__/pptx.cpython-312.pyc +0 -0
  936. package/templates/skills/extended/frontend/pptx/ooxml/scripts/validation/__pycache__/redlining.cpython-312.pyc +0 -0
  937. package/templates/skills/extended/frontend/pptx/scripts/__pycache__/inventory.cpython-312.pyc +0 -0
  938. package/templates/skills/extended/frontend/pptx/scripts/__pycache__/rearrange.cpython-312.pyc +0 -0
  939. package/templates/skills/extended/frontend/pptx/scripts/__pycache__/replace.cpython-312.pyc +0 -0
  940. package/templates/skills/extended/frontend/pptx/scripts/__pycache__/thumbnail.cpython-312.pyc +0 -0
  941. package/templates/skills/extended/frontend/radix-ui-design-system/SKILL.md +10 -5
  942. package/templates/skills/extended/frontend/react-best-practices/SKILL.md +11 -6
  943. package/templates/skills/extended/frontend/react-flow-architect/SKILL.md +647 -0
  944. package/templates/skills/extended/frontend/react-flow-node-ts/SKILL.md +10 -5
  945. package/templates/skills/extended/frontend/react-modernization/SKILL.md +10 -5
  946. package/templates/skills/extended/frontend/react-state-management/SKILL.md +10 -5
  947. package/templates/skills/extended/frontend/react-ui-patterns/SKILL.md +10 -5
  948. package/templates/skills/extended/frontend/senior-fullstack/SKILL.md +10 -5
  949. package/templates/skills/extended/frontend/senior-fullstack/scripts/__pycache__/code_quality_analyzer.cpython-312.pyc +0 -0
  950. package/templates/skills/extended/frontend/senior-fullstack/scripts/__pycache__/fullstack_scaffolder.cpython-312.pyc +0 -0
  951. package/templates/skills/extended/frontend/senior-fullstack/scripts/__pycache__/project_scaffolder.cpython-312.pyc +0 -0
  952. package/templates/skills/extended/frontend/shopify-apps/SKILL.md +10 -5
  953. package/templates/skills/extended/frontend/stitch-ui-design/SKILL.md +10 -5
  954. package/templates/skills/extended/frontend/tailwind-design-system/SKILL.md +10 -5
  955. package/templates/skills/extended/frontend/theme-factory/SKILL.md +10 -5
  956. package/templates/skills/extended/frontend/tool-design/SKILL.md +10 -5
  957. package/templates/skills/extended/frontend/trigger-dev/SKILL.md +10 -5
  958. package/templates/skills/extended/frontend/turborepo-caching/SKILL.md +10 -5
  959. package/templates/skills/extended/frontend/typescript-advanced-types/SKILL.md +10 -5
  960. package/templates/skills/extended/frontend/ui-skills/SKILL.md +10 -5
  961. package/templates/skills/extended/frontend/ui-ux-designer/SKILL.md +10 -5
  962. package/templates/skills/extended/frontend/ui-ux-pro-max/SKILL.md +10 -5
  963. package/templates/skills/extended/frontend/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  964. package/templates/skills/extended/frontend/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
  965. package/templates/skills/extended/frontend/ui-ux-pro-max/scripts/__pycache__/search.cpython-312.pyc +0 -0
  966. package/templates/skills/extended/frontend/ui-visual-validator/SKILL.md +10 -5
  967. package/templates/skills/extended/frontend/viral-generator-builder/SKILL.md +10 -5
  968. package/templates/skills/extended/frontend/wcag-audit-patterns/SKILL.md +10 -5
  969. package/templates/skills/extended/frontend/web-artifacts-builder/SKILL.md +10 -5
  970. package/templates/skills/extended/frontend/web-design-guidelines/SKILL.md +10 -5
  971. package/templates/skills/extended/frontend/wiki-vitepress/SKILL.md +10 -5
  972. package/templates/skills/extended/frontend/zustand-store-ts/SKILL.md +10 -5
  973. package/templates/skills/extended/gaming/godot-gdscript-patterns/SKILL.md +10 -5
  974. package/templates/skills/extended/gaming/threejs-skills/SKILL.md +10 -5
  975. package/templates/skills/extended/gaming/unity-developer/SKILL.md +10 -5
  976. package/templates/skills/extended/gaming/unity-ecs-patterns/SKILL.md +10 -5
  977. package/templates/skills/extended/mobile/app-store-optimization/SKILL.md +10 -5
  978. package/templates/skills/extended/mobile/app-store-optimization/__pycache__/ab_test_planner.cpython-312.pyc +0 -0
  979. package/templates/skills/extended/mobile/app-store-optimization/__pycache__/aso_scorer.cpython-312.pyc +0 -0
  980. package/templates/skills/extended/mobile/app-store-optimization/__pycache__/competitor_analyzer.cpython-312.pyc +0 -0
  981. package/templates/skills/extended/mobile/app-store-optimization/__pycache__/keyword_analyzer.cpython-312.pyc +0 -0
  982. package/templates/skills/extended/mobile/app-store-optimization/__pycache__/launch_checklist.cpython-312.pyc +0 -0
  983. package/templates/skills/extended/mobile/app-store-optimization/__pycache__/localization_helper.cpython-312.pyc +0 -0
  984. package/templates/skills/extended/mobile/app-store-optimization/__pycache__/metadata_optimizer.cpython-312.pyc +0 -0
  985. package/templates/skills/extended/mobile/app-store-optimization/__pycache__/review_analyzer.cpython-312.pyc +0 -0
  986. package/templates/skills/extended/mobile/competitor-alternatives/SKILL.md +10 -5
  987. package/templates/skills/extended/mobile/flutter-expert/SKILL.md +10 -5
  988. package/templates/skills/extended/mobile/ios-developer/SKILL.md +10 -5
  989. package/templates/skills/extended/mobile/mobile-developer/SKILL.md +10 -5
  990. package/templates/skills/extended/mobile/react-native-architecture/SKILL.md +10 -5
  991. package/templates/skills/extended/mobile/swiftui-expert-skill/SKILL.md +10 -5
  992. package/templates/skills/extended/mobile/upgrading-expo/SKILL.md +10 -5
  993. package/templates/skills/extended/other/arm-cortex-expert/SKILL.md +10 -5
  994. package/templates/skills/extended/other/cc-skill-continuous-learning/SKILL.md +10 -5
  995. package/templates/skills/extended/other/cc-skill-strategic-compact/SKILL.md +10 -5
  996. package/templates/skills/extended/other/competitive-landscape/SKILL.md +10 -5
  997. package/templates/skills/extended/other/context-driven-development/SKILL.md +10 -5
  998. package/templates/skills/extended/other/context-management-context-save/SKILL.md +10 -5
  999. package/templates/skills/extended/other/ffuf-claude-skill/SKILL.md +10 -5
  1000. package/templates/skills/extended/other/firmware-analyst/SKILL.md +10 -5
  1001. package/templates/skills/extended/other/incident-response-incident-response/SKILL.md +10 -5
  1002. package/templates/skills/extended/other/market-sizing-analysis/SKILL.md +10 -5
  1003. package/templates/skills/extended/other/mtls-configuration/SKILL.md +10 -5
  1004. package/templates/skills/extended/other/oss-hunter/SKILL.md +10 -5
  1005. package/templates/skills/extended/other/oss-hunter/bin/__pycache__/hunter.cpython-312.pyc +0 -0
  1006. package/templates/skills/extended/other/reverse-engineer/SKILL.md +10 -5
  1007. package/templates/skills/extended/other/risk-manager/SKILL.md +10 -5
  1008. package/templates/skills/extended/other/shopify-development/SKILL.md +10 -5
  1009. package/templates/skills/extended/other/startup-analyst/SKILL.md +10 -5
  1010. package/templates/skills/extended/other/startup-financial-modeling/SKILL.md +10 -5
  1011. package/templates/skills/extended/other/startup-metrics-framework/SKILL.md +10 -5
  1012. package/templates/skills/extended/other/superpowers-lab/SKILL.md +10 -5
  1013. package/templates/skills/extended/other/track-management/SKILL.md +10 -5
  1014. package/templates/skills/extended/other/typescript-expert/SKILL.md +10 -5
  1015. package/templates/skills/extended/other/typescript-expert/scripts/__pycache__/ts_diagnostic.cpython-312.pyc +0 -0
  1016. package/templates/skills/extended/other/vexor/SKILL.md +10 -5
  1017. package/templates/skills/extended/security/attack-tree-construction/SKILL.md +10 -5
  1018. package/templates/skills/extended/security/cc-skill-security-review/SKILL.md +11 -6
  1019. package/templates/skills/extended/security/codebase-cleanup-deps-audit/SKILL.md +10 -5
  1020. package/templates/skills/extended/security/dependency-management-deps-audit/SKILL.md +10 -5
  1021. package/templates/skills/extended/security/ethical-hacking-methodology/SKILL.md +11 -6
  1022. package/templates/skills/extended/security/find-bugs/SKILL.md +10 -5
  1023. package/templates/skills/extended/security/fix-review/SKILL.md +10 -5
  1024. package/templates/skills/extended/security/frontend-mobile-security-xss-scan/SKILL.md +10 -5
  1025. package/templates/skills/extended/security/frontend-security-coder/SKILL.md +10 -5
  1026. package/templates/skills/extended/security/laravel-security-audit/SKILL.md +257 -0
  1027. package/templates/skills/extended/security/mobile-security-coder/SKILL.md +10 -5
  1028. package/templates/skills/extended/security/pci-compliance/SKILL.md +10 -5
  1029. package/templates/skills/extended/security/pentest-checklist/SKILL.md +11 -6
  1030. package/templates/skills/extended/security/pentest-commands/SKILL.md +11 -6
  1031. package/templates/skills/extended/security/production-code-audit/SKILL.md +10 -5
  1032. package/templates/skills/extended/security/red-team-tools/SKILL.md +11 -6
  1033. package/templates/skills/extended/security/sast-configuration/SKILL.md +10 -5
  1034. package/templates/skills/extended/security/scanning-tools/SKILL.md +11 -6
  1035. package/templates/skills/extended/security/security-auditor/SKILL.md +10 -5
  1036. package/templates/skills/extended/security/security-compliance-compliance-check/SKILL.md +10 -5
  1037. package/templates/skills/extended/security/security-requirement-extraction/SKILL.md +10 -5
  1038. package/templates/skills/extended/security/security-scanning-security-dependencies/SKILL.md +10 -5
  1039. package/templates/skills/extended/security/security-scanning-security-hardening/SKILL.md +10 -5
  1040. package/templates/skills/extended/security/security-scanning-security-sast/SKILL.md +10 -5
  1041. package/templates/skills/extended/security/seo-audit/SKILL.md +10 -5
  1042. package/templates/skills/extended/security/solidity-security/SKILL.md +10 -5
  1043. package/templates/skills/extended/security/ssh-penetration-testing/SKILL.md +11 -6
  1044. package/templates/skills/extended/security/threat-mitigation-mapping/SKILL.md +10 -5
  1045. package/templates/skills/extended/security/threat-modeling-expert/SKILL.md +10 -5
  1046. package/templates/skills/extended/security/top-web-vulnerabilities/SKILL.md +11 -6
  1047. package/templates/skills/extended/security/xss-html-injection/SKILL.md +11 -6
  1048. package/templates/skills/extended/testing/ab-test-setup/SKILL.md +10 -5
  1049. package/templates/skills/extended/testing/api-testing-observability-api-mock/SKILL.md +10 -5
  1050. package/templates/skills/extended/testing/backtesting-frameworks/SKILL.md +10 -5
  1051. package/templates/skills/extended/testing/bats-testing-patterns/SKILL.md +10 -5
  1052. package/templates/skills/extended/testing/code-review-excellence/SKILL.md +10 -5
  1053. package/templates/skills/extended/testing/code-reviewer/SKILL.md +10 -5
  1054. package/templates/skills/extended/testing/conductor-implement/SKILL.md +10 -5
  1055. package/templates/skills/extended/testing/data-quality-frameworks/SKILL.md +10 -5
  1056. package/templates/skills/extended/testing/e2e-testing-patterns/SKILL.md +10 -5
  1057. package/templates/skills/extended/testing/file-path-traversal/SKILL.md +11 -6
  1058. package/templates/skills/extended/testing/go-playwright/SKILL.md +10 -5
  1059. package/templates/skills/extended/testing/idor-testing/SKILL.md +11 -6
  1060. package/templates/skills/extended/testing/infinite-gratitude/SKILL.md +11 -6
  1061. package/templates/skills/extended/testing/javascript-testing-patterns/SKILL.md +10 -5
  1062. package/templates/skills/extended/testing/payment-integration/SKILL.md +10 -5
  1063. package/templates/skills/extended/testing/paypal-integration/SKILL.md +10 -5
  1064. package/templates/skills/extended/testing/pypict-skill/SKILL.md +10 -5
  1065. package/templates/skills/extended/testing/python-testing-patterns/SKILL.md +10 -5
  1066. package/templates/skills/extended/testing/receiving-code-review/SKILL.md +10 -5
  1067. package/templates/skills/extended/testing/requesting-code-review/SKILL.md +10 -5
  1068. package/templates/skills/extended/testing/screen-reader-testing/SKILL.md +10 -5
  1069. package/templates/skills/extended/testing/smtp-penetration-testing/SKILL.md +11 -6
  1070. package/templates/skills/extended/testing/stripe-integration/SKILL.md +10 -5
  1071. package/templates/skills/extended/testing/tdd-workflows-tdd-cycle/SKILL.md +10 -5
  1072. package/templates/skills/extended/testing/tdd-workflows-tdd-green/SKILL.md +10 -5
  1073. package/templates/skills/extended/testing/tdd-workflows-tdd-red/SKILL.md +10 -5
  1074. package/templates/skills/extended/testing/tdd-workflows-tdd-refactor/SKILL.md +10 -5
  1075. package/templates/skills/extended/testing/temporal-python-testing/SKILL.md +10 -5
  1076. package/templates/skills/extended/testing/test-automator/SKILL.md +10 -5
  1077. package/templates/skills/extended/testing/test-fixing/SKILL.md +10 -5
  1078. package/templates/skills/extended/testing/unit-testing-test-generate/SKILL.md +10 -5
  1079. package/templates/skills/extended/testing/wordpress-penetration-testing/SKILL.md +11 -6
  1080. package/templates/skills/extended/workflow/address-github-comments/SKILL.md +10 -5
  1081. package/templates/skills/extended/workflow/amplitude-automation/SKILL.md +10 -5
  1082. package/templates/skills/extended/workflow/antigravity-workflows/SKILL.md +10 -5
  1083. package/templates/skills/extended/workflow/asana-automation/SKILL.md +10 -5
  1084. package/templates/skills/extended/workflow/automate-whatsapp/SKILL.md +10 -5
  1085. package/templates/skills/extended/workflow/azure-communication-callautomation-java/SKILL.md +10 -5
  1086. package/templates/skills/extended/workflow/bamboohr-automation/SKILL.md +10 -5
  1087. package/templates/skills/extended/workflow/basecamp-automation/SKILL.md +10 -5
  1088. package/templates/skills/extended/workflow/billing-automation/SKILL.md +10 -5
  1089. package/templates/skills/extended/workflow/bitbucket-automation/SKILL.md +10 -5
  1090. package/templates/skills/extended/workflow/box-automation/SKILL.md +10 -5
  1091. package/templates/skills/extended/workflow/brevo-automation/SKILL.md +10 -5
  1092. package/templates/skills/extended/workflow/browser-automation/SKILL.md +10 -5
  1093. package/templates/skills/extended/workflow/c-pro/SKILL.md +10 -5
  1094. package/templates/skills/extended/workflow/cal-com-automation/SKILL.md +10 -5
  1095. package/templates/skills/extended/workflow/calendly-automation/SKILL.md +10 -5
  1096. package/templates/skills/extended/workflow/canva-automation/SKILL.md +10 -5
  1097. package/templates/skills/extended/workflow/cicd-automation-workflow-automate/SKILL.md +10 -5
  1098. package/templates/skills/extended/workflow/circleci-automation/SKILL.md +10 -5
  1099. package/templates/skills/extended/workflow/clarity-gate/SKILL.md +10 -5
  1100. package/templates/skills/extended/workflow/claude-speed-reader/SKILL.md +10 -5
  1101. package/templates/skills/extended/workflow/clickup-automation/SKILL.md +10 -5
  1102. package/templates/skills/extended/workflow/close-automation/SKILL.md +10 -5
  1103. package/templates/skills/extended/workflow/coda-automation/SKILL.md +10 -5
  1104. package/templates/skills/extended/workflow/commit/SKILL.md +10 -5
  1105. package/templates/skills/extended/workflow/comprehensive-review-full-review/SKILL.md +10 -5
  1106. package/templates/skills/extended/workflow/comprehensive-review-pr-enhance/SKILL.md +10 -5
  1107. package/templates/skills/extended/workflow/conductor-revert/SKILL.md +10 -5
  1108. package/templates/skills/extended/workflow/conductor-setup/SKILL.md +10 -5
  1109. package/templates/skills/extended/workflow/conductor-status/SKILL.md +10 -5
  1110. package/templates/skills/extended/workflow/conductor-validator/SKILL.md +10 -5
  1111. package/templates/skills/extended/workflow/confluence-automation/SKILL.md +10 -5
  1112. package/templates/skills/extended/workflow/context-compression/SKILL.md +10 -5
  1113. package/templates/skills/extended/workflow/convertkit-automation/SKILL.md +10 -5
  1114. package/templates/skills/extended/workflow/cpp-pro/SKILL.md +10 -5
  1115. package/templates/skills/extended/workflow/create-pr/SKILL.md +10 -5
  1116. package/templates/skills/extended/workflow/csharp-pro/SKILL.md +10 -5
  1117. package/templates/skills/extended/workflow/discord-automation/SKILL.md +10 -5
  1118. package/templates/skills/extended/workflow/dropbox-automation/SKILL.md +10 -5
  1119. package/templates/skills/extended/workflow/dx-optimizer/SKILL.md +10 -5
  1120. package/templates/skills/extended/workflow/elixir-pro/SKILL.md +10 -5
  1121. package/templates/skills/extended/workflow/finishing-a-development-branch/SKILL.md +10 -5
  1122. package/templates/skills/extended/workflow/freshdesk-automation/SKILL.md +10 -5
  1123. package/templates/skills/extended/workflow/freshservice-automation/SKILL.md +10 -5
  1124. package/templates/skills/extended/workflow/git-advanced-workflows/SKILL.md +10 -5
  1125. package/templates/skills/extended/workflow/git-pr-workflows-git-workflow/SKILL.md +10 -5
  1126. package/templates/skills/extended/workflow/git-pr-workflows-onboard/SKILL.md +10 -5
  1127. package/templates/skills/extended/workflow/git-pr-workflows-pr-enhance/SKILL.md +10 -5
  1128. package/templates/skills/extended/workflow/git-pushing/SKILL.md +10 -5
  1129. package/templates/skills/extended/workflow/github-actions-templates/SKILL.md +10 -5
  1130. package/templates/skills/extended/workflow/github-automation/SKILL.md +10 -5
  1131. package/templates/skills/extended/workflow/github-issue-creator/SKILL.md +10 -5
  1132. package/templates/skills/extended/workflow/github-workflow-automation/SKILL.md +10 -5
  1133. package/templates/skills/extended/workflow/gitlab-automation/SKILL.md +10 -5
  1134. package/templates/skills/extended/workflow/gitlab-ci-patterns/SKILL.md +10 -5
  1135. package/templates/skills/extended/workflow/gitops-workflow/SKILL.md +10 -5
  1136. package/templates/skills/extended/workflow/go-rod-master/SKILL.md +10 -5
  1137. package/templates/skills/extended/workflow/golang-pro/SKILL.md +10 -5
  1138. package/templates/skills/extended/workflow/google-analytics-automation/SKILL.md +10 -5
  1139. package/templates/skills/extended/workflow/google-calendar-automation/SKILL.md +10 -5
  1140. package/templates/skills/extended/workflow/google-drive-automation/SKILL.md +10 -5
  1141. package/templates/skills/extended/workflow/googlesheets-automation/SKILL.md +10 -5
  1142. package/templates/skills/extended/workflow/haskell-pro/SKILL.md +10 -5
  1143. package/templates/skills/extended/workflow/helpdesk-automation/SKILL.md +10 -5
  1144. package/templates/skills/extended/workflow/hr-pro/SKILL.md +10 -5
  1145. package/templates/skills/extended/workflow/hubspot-automation/SKILL.md +10 -5
  1146. package/templates/skills/extended/workflow/instagram-automation/SKILL.md +10 -5
  1147. package/templates/skills/extended/workflow/intercom-automation/SKILL.md +10 -5
  1148. package/templates/skills/extended/workflow/iterate-pr/SKILL.md +10 -5
  1149. package/templates/skills/extended/workflow/java-pro/SKILL.md +10 -5
  1150. package/templates/skills/extended/workflow/javascript-pro/SKILL.md +10 -5
  1151. package/templates/skills/extended/workflow/jira-automation/SKILL.md +10 -5
  1152. package/templates/skills/extended/workflow/julia-pro/SKILL.md +10 -5
  1153. package/templates/skills/extended/workflow/klaviyo-automation/SKILL.md +10 -5
  1154. package/templates/skills/extended/workflow/launch-strategy/SKILL.md +10 -5
  1155. package/templates/skills/extended/workflow/linear-automation/SKILL.md +10 -5
  1156. package/templates/skills/extended/workflow/linear-claude-skill/SKILL.md +10 -5
  1157. package/templates/skills/extended/workflow/linkedin-automation/SKILL.md +10 -5
  1158. package/templates/skills/extended/workflow/make-automation/SKILL.md +10 -5
  1159. package/templates/skills/extended/workflow/microsoft-teams-automation/SKILL.md +10 -5
  1160. package/templates/skills/extended/workflow/minecraft-bukkit-pro/SKILL.md +10 -5
  1161. package/templates/skills/extended/workflow/miro-automation/SKILL.md +10 -5
  1162. package/templates/skills/extended/workflow/mixpanel-automation/SKILL.md +10 -5
  1163. package/templates/skills/extended/workflow/monday-automation/SKILL.md +10 -5
  1164. package/templates/skills/extended/workflow/n8n-mcp-tools-expert/SKILL.md +10 -5
  1165. package/templates/skills/extended/workflow/n8n-node-configuration/SKILL.md +10 -5
  1166. package/templates/skills/extended/workflow/notion-automation/SKILL.md +10 -5
  1167. package/templates/skills/extended/workflow/notion-template-business/SKILL.md +10 -5
  1168. package/templates/skills/extended/workflow/observe-whatsapp/SKILL.md +10 -5
  1169. package/templates/skills/extended/workflow/one-drive-automation/SKILL.md +10 -5
  1170. package/templates/skills/extended/workflow/outlook-automation/SKILL.md +10 -5
  1171. package/templates/skills/extended/workflow/outlook-calendar-automation/SKILL.md +10 -5
  1172. package/templates/skills/extended/workflow/pagerduty-automation/SKILL.md +10 -5
  1173. package/templates/skills/extended/workflow/php-pro/SKILL.md +10 -5
  1174. package/templates/skills/extended/workflow/pipedrive-automation/SKILL.md +10 -5
  1175. package/templates/skills/extended/workflow/posthog-automation/SKILL.md +10 -5
  1176. package/templates/skills/extended/workflow/postmark-automation/SKILL.md +10 -5
  1177. package/templates/skills/extended/workflow/privilege-escalation-methods/SKILL.md +11 -6
  1178. package/templates/skills/extended/workflow/prometheus-configuration/SKILL.md +10 -5
  1179. package/templates/skills/extended/workflow/protocol-reverse-engineering/SKILL.md +10 -5
  1180. package/templates/skills/extended/workflow/reddit-automation/SKILL.md +10 -5
  1181. package/templates/skills/extended/workflow/referral-program/SKILL.md +10 -5
  1182. package/templates/skills/extended/workflow/remotion-best-practices/SKILL.md +10 -5
  1183. package/templates/skills/extended/workflow/render-automation/SKILL.md +10 -5
  1184. package/templates/skills/extended/workflow/ruby-pro/SKILL.md +10 -5
  1185. package/templates/skills/extended/workflow/rust-pro/SKILL.md +10 -5
  1186. package/templates/skills/extended/workflow/salesforce-automation/SKILL.md +10 -5
  1187. package/templates/skills/extended/workflow/scala-pro/SKILL.md +10 -5
  1188. package/templates/skills/extended/workflow/segment-automation/SKILL.md +10 -5
  1189. package/templates/skills/extended/workflow/sendgrid-automation/SKILL.md +10 -5
  1190. package/templates/skills/extended/workflow/sentry-automation/SKILL.md +10 -5
  1191. package/templates/skills/extended/workflow/shopify-automation/SKILL.md +10 -5
  1192. package/templates/skills/extended/workflow/slack-automation/SKILL.md +10 -5
  1193. package/templates/skills/extended/workflow/slack-bot-builder/SKILL.md +10 -5
  1194. package/templates/skills/extended/workflow/slack-gif-creator/SKILL.md +10 -5
  1195. package/templates/skills/extended/workflow/slack-gif-creator/core/__pycache__/easing.cpython-312.pyc +0 -0
  1196. package/templates/skills/extended/workflow/slack-gif-creator/core/__pycache__/frame_composer.cpython-312.pyc +0 -0
  1197. package/templates/skills/extended/workflow/slack-gif-creator/core/__pycache__/gif_builder.cpython-312.pyc +0 -0
  1198. package/templates/skills/extended/workflow/slack-gif-creator/core/__pycache__/validators.cpython-312.pyc +0 -0
  1199. package/templates/skills/extended/workflow/square-automation/SKILL.md +10 -5
  1200. package/templates/skills/extended/workflow/startup-business-analyst-financial-projections/SKILL.md +10 -5
  1201. package/templates/skills/extended/workflow/stripe-automation/SKILL.md +10 -5
  1202. package/templates/skills/extended/workflow/systems-programming-rust-project/SKILL.md +10 -5
  1203. package/templates/skills/extended/workflow/team-collaboration-issue/SKILL.md +10 -5
  1204. package/templates/skills/extended/workflow/team-collaboration-standup-notes/SKILL.md +10 -5
  1205. package/templates/skills/extended/workflow/telegram-automation/SKILL.md +10 -5
  1206. package/templates/skills/extended/workflow/temporal-python-pro/SKILL.md +10 -5
  1207. package/templates/skills/extended/workflow/tiktok-automation/SKILL.md +10 -5
  1208. package/templates/skills/extended/workflow/todoist-automation/SKILL.md +10 -5
  1209. package/templates/skills/extended/workflow/trello-automation/SKILL.md +10 -5
  1210. package/templates/skills/extended/workflow/twitter-automation/SKILL.md +10 -5
  1211. package/templates/skills/extended/workflow/typescript-pro/SKILL.md +10 -5
  1212. package/templates/skills/extended/workflow/unreal-engine-cpp-pro/SKILL.md +10 -5
  1213. package/templates/skills/extended/workflow/using-git-worktrees/SKILL.md +10 -5
  1214. package/templates/skills/extended/workflow/uv-package-manager/SKILL.md +10 -5
  1215. package/templates/skills/extended/workflow/varlock-claude-skill/SKILL.md +10 -5
  1216. package/templates/skills/extended/workflow/webflow-automation/SKILL.md +10 -5
  1217. package/templates/skills/extended/workflow/whatsapp-automation/SKILL.md +10 -5
  1218. package/templates/skills/extended/workflow/workflow-automation/SKILL.md +10 -5
  1219. package/templates/skills/extended/workflow/workflow-orchestration-patterns/SKILL.md +10 -5
  1220. package/templates/skills/extended/workflow/wrike-automation/SKILL.md +10 -5
  1221. package/templates/skills/extended/workflow/youtube-automation/SKILL.md +10 -5
  1222. package/templates/skills/extended/workflow/zapier-make-patterns/SKILL.md +10 -5
  1223. package/templates/skills/extended/workflow/zendesk-automation/SKILL.md +10 -5
  1224. package/templates/skills/extended/workflow/zoho-crm-automation/SKILL.md +10 -5
  1225. package/templates/skills/extended/workflow/zoom-automation/SKILL.md +10 -5
  1226. package/templates/skills/knowledge/ai-agents/agent-memory-systems/SKILL.md +10 -5
  1227. package/templates/skills/knowledge/ai-agents/agent-tool-builder/SKILL.md +10 -5
  1228. package/templates/skills/knowledge/ai-agents/ai-agents-architect/SKILL.md +10 -5
  1229. package/templates/skills/knowledge/ai-agents/ai-engineer/SKILL.md +10 -5
  1230. package/templates/skills/knowledge/ai-agents/autonomous-agent-patterns/SKILL.md +10 -5
  1231. package/templates/skills/knowledge/ai-agents/mcp-builder/SKILL.md +10 -7
  1232. package/templates/skills/knowledge/ai-agents/notebooklm-rag/SKILL.md +35 -0
  1233. package/templates/skills/knowledge/ai-agents/parallel-agents/SKILL.md +35 -0
  1234. package/templates/skills/knowledge/ai-agents/prompt-engineering-patterns/SKILL.md +10 -5
  1235. package/templates/skills/knowledge/ai-agents/prompt-engineering-patterns/scripts/__pycache__/optimize-prompt.cpython-312.pyc +0 -0
  1236. package/templates/skills/knowledge/architecture/architecture/SKILL.md +35 -0
  1237. package/templates/skills/knowledge/architecture/architecture-decision-records/SKILL.md +10 -5
  1238. package/templates/skills/knowledge/architecture/brainstorming/SKILL.md +35 -0
  1239. package/templates/skills/knowledge/architecture/c4-architecture-c4-architecture/SKILL.md +10 -5
  1240. package/templates/skills/knowledge/architecture/executing-plans/SKILL.md +35 -0
  1241. package/templates/skills/knowledge/architecture/plan-writing/SKILL.md +35 -0
  1242. package/templates/skills/knowledge/backend/api-design-principles/SKILL.md +10 -5
  1243. package/templates/skills/knowledge/backend/api-design-principles/assets/__pycache__/rest-api-template.cpython-312.pyc +0 -0
  1244. package/templates/skills/knowledge/backend/api-patterns/SKILL.md +34 -0
  1245. package/templates/skills/knowledge/backend/api-patterns/scripts/__pycache__/api_validator.cpython-312.pyc +0 -0
  1246. package/templates/skills/knowledge/backend/api-security-best-practices/SKILL.md +10 -5
  1247. package/templates/skills/knowledge/backend/auth-implementation-patterns/SKILL.md +10 -5
  1248. package/templates/skills/knowledge/backend/cqrs-implementation/SKILL.md +10 -5
  1249. package/templates/skills/knowledge/backend/database-design/SKILL.md +35 -0
  1250. package/templates/skills/knowledge/backend/database-design/scripts/__pycache__/schema_validator.cpython-312.pyc +0 -0
  1251. package/templates/skills/knowledge/backend/nodejs-best-practices/SKILL.md +35 -0
  1252. package/templates/skills/knowledge/backend/python-patterns/SKILL.md +35 -0
  1253. package/templates/skills/knowledge/blockchain/blockchain-developer/SKILL.md +10 -5
  1254. package/templates/skills/knowledge/content/content-creator/SKILL.md +10 -5
  1255. package/templates/skills/knowledge/content/content-creator/scripts/__pycache__/brand_voice_analyzer.cpython-312.pyc +0 -0
  1256. package/templates/skills/knowledge/content/content-creator/scripts/__pycache__/seo_optimizer.cpython-312.pyc +0 -0
  1257. package/templates/skills/knowledge/content/copywriting/SKILL.md +10 -5
  1258. package/templates/skills/knowledge/content/geo-fundamentals/SKILL.md +34 -0
  1259. package/templates/skills/knowledge/content/geo-fundamentals/scripts/__pycache__/geo_checker.cpython-312.pyc +0 -0
  1260. package/templates/skills/knowledge/content/pricing-strategy/SKILL.md +10 -5
  1261. package/templates/skills/knowledge/content/seo-content-planner/SKILL.md +10 -5
  1262. package/templates/skills/knowledge/content/seo-fundamentals/SKILL.md +10 -7
  1263. package/templates/skills/knowledge/content/seo-fundamentals/scripts/__pycache__/seo_checker.cpython-312.pyc +0 -0
  1264. package/templates/skills/knowledge/debugging/code-refactoring-tech-debt/SKILL.md +10 -5
  1265. package/templates/skills/knowledge/debugging/dependency-upgrade/SKILL.md +10 -5
  1266. package/templates/skills/knowledge/debugging/error-detective/SKILL.md +10 -5
  1267. package/templates/skills/knowledge/debugging/performance-profiling/SKILL.md +35 -0
  1268. package/templates/skills/knowledge/debugging/performance-profiling/scripts/__pycache__/lighthouse_audit.cpython-312.pyc +0 -0
  1269. package/templates/skills/knowledge/debugging/systematic-debugging/SKILL.md +10 -7
  1270. package/templates/skills/knowledge/devops/aws-serverless/SKILL.md +10 -5
  1271. package/templates/skills/knowledge/devops/bash-linux/SKILL.md +35 -0
  1272. package/templates/skills/knowledge/devops/docker-expert/SKILL.md +10 -5
  1273. package/templates/skills/knowledge/devops/powershell-windows/SKILL.md +35 -0
  1274. package/templates/skills/knowledge/devops/server-management/SKILL.md +35 -0
  1275. package/templates/skills/knowledge/documentation/deep-research/SKILL.md +10 -5
  1276. package/templates/skills/knowledge/documentation/doc-coauthoring/SKILL.md +10 -5
  1277. package/templates/skills/knowledge/documentation/documentation-templates/SKILL.md +35 -0
  1278. package/templates/skills/knowledge/frontend/3d-web-experience/SKILL.md +10 -5
  1279. package/templates/skills/knowledge/frontend/accessibility-compliance-accessibility-audit/SKILL.md +10 -5
  1280. package/templates/skills/knowledge/frontend/design-md/SKILL.md +35 -0
  1281. package/templates/skills/knowledge/frontend/figma-automation/SKILL.md +10 -5
  1282. package/templates/skills/knowledge/frontend/frontend-design/SKILL.md +35 -0
  1283. package/templates/skills/knowledge/frontend/frontend-design/scripts/__pycache__/accessibility_checker.cpython-312.pyc +0 -0
  1284. package/templates/skills/knowledge/frontend/frontend-design/scripts/__pycache__/ux_audit.cpython-312.pyc +0 -0
  1285. package/templates/skills/knowledge/frontend/nextjs-best-practices/SKILL.md +35 -0
  1286. package/templates/skills/knowledge/frontend/react-components/SKILL.md +35 -0
  1287. package/templates/skills/knowledge/frontend/react-patterns/SKILL.md +35 -0
  1288. package/templates/skills/knowledge/frontend/scroll-experience/SKILL.md +10 -5
  1289. package/templates/skills/knowledge/frontend/stitch-loop/SKILL.md +35 -0
  1290. package/templates/skills/knowledge/frontend/tailwind-patterns/SKILL.md +35 -0
  1291. package/templates/skills/knowledge/gaming/game-development/2d-games/SKILL.md +35 -0
  1292. package/templates/skills/knowledge/gaming/game-development/3d-games/SKILL.md +35 -0
  1293. package/templates/skills/knowledge/gaming/game-development/SKILL.md +35 -0
  1294. package/templates/skills/knowledge/gaming/game-development/game-art/SKILL.md +35 -0
  1295. package/templates/skills/knowledge/gaming/game-development/game-audio/SKILL.md +35 -0
  1296. package/templates/skills/knowledge/gaming/game-development/game-design/SKILL.md +35 -0
  1297. package/templates/skills/knowledge/gaming/game-development/mobile-games/SKILL.md +35 -0
  1298. package/templates/skills/knowledge/gaming/game-development/multiplayer/SKILL.md +35 -0
  1299. package/templates/skills/knowledge/gaming/game-development/pc-games/SKILL.md +35 -0
  1300. package/templates/skills/knowledge/gaming/game-development/vr-ar/SKILL.md +35 -0
  1301. package/templates/skills/knowledge/gaming/game-development/web-games/SKILL.md +35 -0
  1302. package/templates/skills/knowledge/i18n/i18n-localization/SKILL.md +35 -0
  1303. package/templates/skills/knowledge/i18n/i18n-localization/scripts/__pycache__/i18n_checker.cpython-312.pyc +0 -0
  1304. package/templates/skills/knowledge/mobile/mobile-design/SKILL.md +35 -0
  1305. package/templates/skills/knowledge/mobile/mobile-design/scripts/__pycache__/mobile_audit.cpython-312.pyc +0 -0
  1306. package/templates/skills/knowledge/security/red-team-tactics/SKILL.md +35 -0
  1307. package/templates/skills/knowledge/security/vulnerability-scanner/SKILL.md +35 -0
  1308. package/templates/skills/knowledge/security/vulnerability-scanner/scripts/__pycache__/security_scan.cpython-312.pyc +0 -0
  1309. package/templates/skills/knowledge/testing/lint-and-validate/SKILL.md +34 -0
  1310. package/templates/skills/knowledge/testing/lint-and-validate/scripts/__pycache__/lint_runner.cpython-312.pyc +0 -0
  1311. package/templates/skills/knowledge/testing/lint-and-validate/scripts/__pycache__/type_coverage.cpython-312.pyc +0 -0
  1312. package/templates/skills/knowledge/testing/playwright-skill/SKILL.md +10 -5
  1313. package/templates/skills/knowledge/testing/tdd-workflow/SKILL.md +35 -0
  1314. package/templates/skills/knowledge/testing/test-driven-development/SKILL.md +10 -7
  1315. package/templates/skills/knowledge/testing/testing-patterns/SKILL.md +10 -7
  1316. package/templates/skills/knowledge/testing/testing-patterns/scripts/__pycache__/test_runner.cpython-312.pyc +0 -0
  1317. package/templates/skills/knowledge/testing/webapp-testing/SKILL.md +35 -0
  1318. package/templates/skills/knowledge/testing/webapp-testing/scripts/__pycache__/playwright_runner.cpython-312.pyc +0 -0
  1319. package/templates/skills/knowledge/workflow/app-builder/SKILL.md +35 -0
  1320. package/templates/skills/knowledge/workflow/app-builder/templates/SKILL.md +35 -0
  1321. package/templates/skills/knowledge/workflow/behavioral-modes/SKILL.md +35 -0
  1322. package/templates/skills/knowledge/workflow/changelog-automation/SKILL.md +10 -5
  1323. package/templates/skills/knowledge/workflow/clean-code/SKILL.md +34 -0
  1324. package/templates/skills/knowledge/workflow/code-review-checklist/SKILL.md +10 -7
  1325. package/templates/skills/knowledge/workflow/deployment-procedures/SKILL.md +35 -0
  1326. package/templates/skills/knowledge/workflow/intelligent-routing/SKILL.md +35 -0
  1327. package/templates/skills/knowledge/workflow/plugin-discovery/SKILL.md +35 -0
  1328. package/templates/skills/knowledge/workflow/plugin-discovery/scripts/__pycache__/platform_setup.cpython-312.pyc +0 -0
  1329. package/templates/skills/knowledge/workflow/self-update/SKILL.md +35 -0
  1330. package/templates/skills/knowledge/workflow/self-update/scripts/__pycache__/update_kit.cpython-312.pyc +0 -0
  1331. package/templates/skills/knowledge/workflow/verification-before-completion/SKILL.md +35 -0
  1332. package/templates/skills/extended/ai-agents/internal-comms-anthropic/LICENSE.txt +0 -202
  1333. package/templates/skills/extended/ai-agents/internal-comms-anthropic/SKILL.md +0 -68
  1334. package/templates/skills/extended/ai-agents/internal-comms-anthropic/examples/3p-updates.md +0 -47
  1335. package/templates/skills/extended/ai-agents/internal-comms-anthropic/examples/company-newsletter.md +0 -65
  1336. package/templates/skills/extended/ai-agents/internal-comms-anthropic/examples/faq-answers.md +0 -30
  1337. package/templates/skills/extended/ai-agents/internal-comms-anthropic/examples/general-comms.md +0 -16
  1338. package/templates/skills/extended/ai-agents/skill-creator-ms/SKILL.md +0 -649
  1339. package/templates/skills/extended/devops/loki-mode/examples/todo-app-generated/backend/package-lock.json +0 -2698
  1340. package/templates/skills/extended/documentation/docx-official/LICENSE.txt +0 -30
  1341. package/templates/skills/extended/documentation/docx-official/SKILL.md +0 -233
  1342. package/templates/skills/extended/documentation/docx-official/docx-js.md +0 -350
  1343. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  1344. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  1345. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  1346. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  1347. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  1348. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  1349. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  1350. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  1351. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  1352. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  1353. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  1354. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  1355. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  1356. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  1357. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  1358. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  1359. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  1360. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  1361. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  1362. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  1363. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  1364. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  1365. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  1366. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  1367. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  1368. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  1369. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  1370. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  1371. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  1372. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  1373. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  1374. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/mce/mc.xsd +0 -75
  1375. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  1376. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  1377. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  1378. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  1379. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  1380. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  1381. package/templates/skills/extended/documentation/docx-official/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  1382. package/templates/skills/extended/documentation/docx-official/ooxml/scripts/pack.py +0 -159
  1383. package/templates/skills/extended/documentation/docx-official/ooxml/scripts/unpack.py +0 -29
  1384. package/templates/skills/extended/documentation/docx-official/ooxml/scripts/validate.py +0 -69
  1385. package/templates/skills/extended/documentation/docx-official/ooxml/scripts/validation/__init__.py +0 -15
  1386. package/templates/skills/extended/documentation/docx-official/ooxml/scripts/validation/base.py +0 -951
  1387. package/templates/skills/extended/documentation/docx-official/ooxml/scripts/validation/docx.py +0 -274
  1388. package/templates/skills/extended/documentation/docx-official/ooxml/scripts/validation/pptx.py +0 -315
  1389. package/templates/skills/extended/documentation/docx-official/ooxml/scripts/validation/redlining.py +0 -279
  1390. package/templates/skills/extended/documentation/docx-official/ooxml.md +0 -610
  1391. package/templates/skills/extended/documentation/docx-official/scripts/__init__.py +0 -1
  1392. package/templates/skills/extended/documentation/docx-official/scripts/document.py +0 -1276
  1393. package/templates/skills/extended/documentation/docx-official/scripts/templates/comments.xml +0 -3
  1394. package/templates/skills/extended/documentation/docx-official/scripts/templates/commentsExtended.xml +0 -3
  1395. package/templates/skills/extended/documentation/docx-official/scripts/templates/commentsExtensible.xml +0 -3
  1396. package/templates/skills/extended/documentation/docx-official/scripts/templates/commentsIds.xml +0 -3
  1397. package/templates/skills/extended/documentation/docx-official/scripts/templates/people.xml +0 -3
  1398. package/templates/skills/extended/documentation/docx-official/scripts/utilities.py +0 -374
  1399. package/templates/skills/extended/frontend/active-directory-attacks/SKILL.md +0 -419
  1400. package/templates/skills/extended/frontend/active-directory-attacks/references/advanced-attacks.md +0 -382
  1401. package/templates/skills/extended/frontend/brand-guidelines-anthropic/LICENSE.txt +0 -202
  1402. package/templates/skills/extended/frontend/brand-guidelines-anthropic/SKILL.md +0 -109
  1403. package/templates/skills/extended/frontend/brand-guidelines-community/LICENSE.txt +0 -202
  1404. package/templates/skills/extended/frontend/brand-guidelines-community/SKILL.md +0 -109
  1405. package/templates/skills/extended/frontend/burp-suite-testing/SKILL.md +0 -416
  1406. package/templates/skills/extended/frontend/discord-bot-architect/SKILL.md +0 -313
  1407. package/templates/skills/extended/frontend/event-sourcing-architect/SKILL.md +0 -94
  1408. package/templates/skills/extended/frontend/event-store-design/SKILL.md +0 -485
  1409. package/templates/skills/extended/frontend/html-injection-testing/SKILL.md +0 -534
  1410. package/templates/skills/extended/frontend/hybrid-search-implementation/SKILL.md +0 -68
  1411. package/templates/skills/extended/frontend/hybrid-search-implementation/resources/implementation-playbook.md +0 -567
  1412. package/templates/skills/extended/frontend/istio-traffic-management/SKILL.md +0 -373
  1413. package/templates/skills/extended/frontend/linux-privilege-escalation/SKILL.md +0 -540
  1414. package/templates/skills/extended/frontend/mcp-builder-ms/SKILL.md +0 -339
  1415. package/templates/skills/extended/frontend/memory-forensics/SKILL.md +0 -527
  1416. package/templates/skills/extended/frontend/metasploit-framework/SKILL.md +0 -514
  1417. package/templates/skills/extended/frontend/ml-engineer/SKILL.md +0 -204
  1418. package/templates/skills/extended/frontend/mlops-engineer/SKILL.md +0 -255
  1419. package/templates/skills/extended/frontend/monorepo-architect/SKILL.md +0 -97
  1420. package/templates/skills/extended/frontend/monorepo-management/SKILL.md +0 -71
  1421. package/templates/skills/extended/frontend/monorepo-management/resources/implementation-playbook.md +0 -621
  1422. package/templates/skills/extended/frontend/pptx-official/LICENSE.txt +0 -30
  1423. package/templates/skills/extended/frontend/pptx-official/SKILL.md +0 -520
  1424. package/templates/skills/extended/frontend/pptx-official/html2pptx.md +0 -625
  1425. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  1426. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  1427. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  1428. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  1429. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  1430. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  1431. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  1432. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  1433. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  1434. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  1435. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  1436. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  1437. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  1438. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  1439. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  1440. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  1441. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  1442. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  1443. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  1444. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  1445. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  1446. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  1447. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  1448. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  1449. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  1450. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  1451. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  1452. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  1453. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  1454. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  1455. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  1456. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/mce/mc.xsd +0 -75
  1457. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  1458. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  1459. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  1460. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  1461. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  1462. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  1463. package/templates/skills/extended/frontend/pptx-official/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  1464. package/templates/skills/extended/frontend/pptx-official/ooxml/scripts/pack.py +0 -159
  1465. package/templates/skills/extended/frontend/pptx-official/ooxml/scripts/unpack.py +0 -29
  1466. package/templates/skills/extended/frontend/pptx-official/ooxml/scripts/validate.py +0 -69
  1467. package/templates/skills/extended/frontend/pptx-official/ooxml/scripts/validation/__init__.py +0 -15
  1468. package/templates/skills/extended/frontend/pptx-official/ooxml/scripts/validation/base.py +0 -951
  1469. package/templates/skills/extended/frontend/pptx-official/ooxml/scripts/validation/docx.py +0 -274
  1470. package/templates/skills/extended/frontend/pptx-official/ooxml/scripts/validation/pptx.py +0 -315
  1471. package/templates/skills/extended/frontend/pptx-official/ooxml/scripts/validation/redlining.py +0 -279
  1472. package/templates/skills/extended/frontend/pptx-official/ooxml.md +0 -427
  1473. package/templates/skills/extended/frontend/pptx-official/scripts/html2pptx.js +0 -979
  1474. package/templates/skills/extended/frontend/pptx-official/scripts/inventory.py +0 -1020
  1475. package/templates/skills/extended/frontend/pptx-official/scripts/rearrange.py +0 -231
  1476. package/templates/skills/extended/frontend/pptx-official/scripts/replace.py +0 -385
  1477. package/templates/skills/extended/frontend/pptx-official/scripts/thumbnail.py +0 -450
  1478. package/templates/skills/extended/frontend/quant-analyst/SKILL.md +0 -89
  1479. package/templates/skills/extended/frontend/risk-metrics-calculation/SKILL.md +0 -69
  1480. package/templates/skills/extended/frontend/risk-metrics-calculation/resources/implementation-playbook.md +0 -554
  1481. package/templates/skills/extended/frontend/security-bluebook-builder/SKILL.md +0 -58
  1482. package/templates/skills/extended/frontend/skill-creator/LICENSE.txt +0 -202
  1483. package/templates/skills/extended/frontend/skill-creator/README.md +0 -270
  1484. package/templates/skills/extended/frontend/skill-creator/SKILL.md +0 -629
  1485. package/templates/skills/extended/frontend/skill-creator/references/output-patterns.md +0 -82
  1486. package/templates/skills/extended/frontend/skill-creator/references/workflows.md +0 -28
  1487. package/templates/skills/extended/frontend/skill-creator/scripts/init_skill.py +0 -303
  1488. package/templates/skills/extended/frontend/skill-creator/scripts/package_skill.py +0 -110
  1489. package/templates/skills/extended/frontend/skill-creator/scripts/quick_validate.py +0 -95
  1490. package/templates/skills/extended/frontend/telegram-bot-builder/SKILL.md +0 -290
  1491. package/templates/skills/extended/frontend/using-superpowers/SKILL.md +0 -123
  1492. package/templates/skills/extended/gaming/audio-transcriber/CHANGELOG.md +0 -137
  1493. package/templates/skills/extended/gaming/audio-transcriber/README.md +0 -340
  1494. package/templates/skills/extended/gaming/audio-transcriber/SKILL.md +0 -594
  1495. package/templates/skills/extended/gaming/audio-transcriber/examples/basic-transcription.sh +0 -250
  1496. package/templates/skills/extended/gaming/audio-transcriber/references/tools-comparison.md +0 -352
  1497. package/templates/skills/extended/gaming/audio-transcriber/scripts/install-requirements.sh +0 -190
  1498. package/templates/skills/extended/gaming/audio-transcriber/scripts/transcribe.py +0 -486
  1499. package/templates/skills/extended/gaming/internal-comms-community/LICENSE.txt +0 -202
  1500. package/templates/skills/extended/gaming/internal-comms-community/SKILL.md +0 -68
  1501. package/templates/skills/extended/gaming/startup-business-analyst-market-opportunity/SKILL.md +0 -276
  1502. package/templates/skills/knowledge/frontend/design-md/design-md/README.md +0 -34
  1503. package/templates/skills/knowledge/frontend/design-md/design-md/SKILL.md +0 -193
  1504. package/templates/skills/knowledge/frontend/design-md/design-md/examples/DESIGN.md +0 -154
  1505. package/templates/skills/knowledge/frontend/react-components/react-components/README.md +0 -36
  1506. package/templates/skills/knowledge/frontend/react-components/react-components/SKILL.md +0 -53
  1507. package/templates/skills/knowledge/frontend/react-components/react-components/examples/gold-standard-card.tsx +0 -80
  1508. package/templates/skills/knowledge/frontend/react-components/react-components/package-lock.json +0 -231
  1509. package/templates/skills/knowledge/frontend/react-components/react-components/package.json +0 -16
  1510. package/templates/skills/knowledge/frontend/react-components/react-components/resources/architecture-checklist.md +0 -15
  1511. package/templates/skills/knowledge/frontend/react-components/react-components/resources/component-template.tsx +0 -37
  1512. package/templates/skills/knowledge/frontend/react-components/react-components/resources/stitch-api-reference.md +0 -14
  1513. package/templates/skills/knowledge/frontend/react-components/react-components/resources/style-guide.json +0 -27
  1514. package/templates/skills/knowledge/frontend/react-components/react-components/scripts/fetch-stitch.sh +0 -30
  1515. package/templates/skills/knowledge/frontend/react-components/react-components/scripts/validate.js +0 -68
  1516. package/templates/skills/knowledge/frontend/stitch-loop/stitch-loop/README.md +0 -54
  1517. package/templates/skills/knowledge/frontend/stitch-loop/stitch-loop/SKILL.md +0 -235
  1518. package/templates/skills/knowledge/frontend/stitch-loop/stitch-loop/examples/SITE.md +0 -73
  1519. package/templates/skills/knowledge/frontend/stitch-loop/stitch-loop/examples/next-prompt.md +0 -25
  1520. package/templates/skills/knowledge/frontend/stitch-loop/stitch-loop/resources/baton-schema.md +0 -61
  1521. package/templates/skills/knowledge/frontend/stitch-loop/stitch-loop/resources/site-template.md +0 -104
@@ -1,1276 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Library for working with Word documents: comments, tracked changes, and editing.
4
-
5
- Usage:
6
- from skills.docx.scripts.document import Document
7
-
8
- # Initialize
9
- doc = Document('workspace/unpacked')
10
- doc = Document('workspace/unpacked', author="John Doe", initials="JD")
11
-
12
- # Find nodes
13
- node = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"})
14
- node = doc["word/document.xml"].get_node(tag="w:p", line_number=10)
15
-
16
- # Add comments
17
- doc.add_comment(start=node, end=node, text="Comment text")
18
- doc.reply_to_comment(parent_comment_id=0, text="Reply text")
19
-
20
- # Suggest tracked changes
21
- doc["word/document.xml"].suggest_deletion(node) # Delete content
22
- doc["word/document.xml"].revert_insertion(ins_node) # Reject insertion
23
- doc["word/document.xml"].revert_deletion(del_node) # Reject deletion
24
-
25
- # Save
26
- doc.save()
27
- """
28
-
29
- import html
30
- import random
31
- import shutil
32
- import tempfile
33
- from datetime import datetime, timezone
34
- from pathlib import Path
35
-
36
- from defusedxml import minidom
37
- from ooxml.scripts.pack import pack_document
38
- from ooxml.scripts.validation.docx import DOCXSchemaValidator
39
- from ooxml.scripts.validation.redlining import RedliningValidator
40
-
41
- from .utilities import XMLEditor
42
-
43
- # Path to template files
44
- TEMPLATE_DIR = Path(__file__).parent / "templates"
45
-
46
-
47
- class DocxXMLEditor(XMLEditor):
48
- """XMLEditor that automatically applies RSID, author, and date to new elements.
49
-
50
- Automatically adds attributes to elements that support them when inserting new content:
51
- - w:rsidR, w:rsidRDefault, w:rsidP (for w:p and w:r elements)
52
- - w:author and w:date (for w:ins, w:del, w:comment elements)
53
- - w:id (for w:ins and w:del elements)
54
-
55
- Attributes:
56
- dom (defusedxml.minidom.Document): The DOM document for direct manipulation
57
- """
58
-
59
- def __init__(
60
- self, xml_path, rsid: str, author: str = "Claude", initials: str = "C"
61
- ):
62
- """Initialize with required RSID and optional author.
63
-
64
- Args:
65
- xml_path: Path to XML file to edit
66
- rsid: RSID to automatically apply to new elements
67
- author: Author name for tracked changes and comments (default: "Claude")
68
- initials: Author initials (default: "C")
69
- """
70
- super().__init__(xml_path)
71
- self.rsid = rsid
72
- self.author = author
73
- self.initials = initials
74
-
75
- def _get_next_change_id(self):
76
- """Get the next available change ID by checking all tracked change elements."""
77
- max_id = -1
78
- for tag in ("w:ins", "w:del"):
79
- elements = self.dom.getElementsByTagName(tag)
80
- for elem in elements:
81
- change_id = elem.getAttribute("w:id")
82
- if change_id:
83
- try:
84
- max_id = max(max_id, int(change_id))
85
- except ValueError:
86
- pass
87
- return max_id + 1
88
-
89
- def _ensure_w16du_namespace(self):
90
- """Ensure w16du namespace is declared on the root element."""
91
- root = self.dom.documentElement
92
- if not root.hasAttribute("xmlns:w16du"): # type: ignore
93
- root.setAttribute( # type: ignore
94
- "xmlns:w16du",
95
- "http://schemas.microsoft.com/office/word/2023/wordml/word16du",
96
- )
97
-
98
- def _ensure_w16cex_namespace(self):
99
- """Ensure w16cex namespace is declared on the root element."""
100
- root = self.dom.documentElement
101
- if not root.hasAttribute("xmlns:w16cex"): # type: ignore
102
- root.setAttribute( # type: ignore
103
- "xmlns:w16cex",
104
- "http://schemas.microsoft.com/office/word/2018/wordml/cex",
105
- )
106
-
107
- def _ensure_w14_namespace(self):
108
- """Ensure w14 namespace is declared on the root element."""
109
- root = self.dom.documentElement
110
- if not root.hasAttribute("xmlns:w14"): # type: ignore
111
- root.setAttribute( # type: ignore
112
- "xmlns:w14",
113
- "http://schemas.microsoft.com/office/word/2010/wordml",
114
- )
115
-
116
- def _inject_attributes_to_nodes(self, nodes):
117
- """Inject RSID, author, and date attributes into DOM nodes where applicable.
118
-
119
- Adds attributes to elements that support them:
120
- - w:r: gets w:rsidR (or w:rsidDel if inside w:del)
121
- - w:p: gets w:rsidR, w:rsidRDefault, w:rsidP, w14:paraId, w14:textId
122
- - w:t: gets xml:space="preserve" if text has leading/trailing whitespace
123
- - w:ins, w:del: get w:id, w:author, w:date, w16du:dateUtc
124
- - w:comment: gets w:author, w:date, w:initials
125
- - w16cex:commentExtensible: gets w16cex:dateUtc
126
-
127
- Args:
128
- nodes: List of DOM nodes to process
129
- """
130
- from datetime import datetime, timezone
131
-
132
- timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
133
-
134
- def is_inside_deletion(elem):
135
- """Check if element is inside a w:del element."""
136
- parent = elem.parentNode
137
- while parent:
138
- if parent.nodeType == parent.ELEMENT_NODE and parent.tagName == "w:del":
139
- return True
140
- parent = parent.parentNode
141
- return False
142
-
143
- def add_rsid_to_p(elem):
144
- if not elem.hasAttribute("w:rsidR"):
145
- elem.setAttribute("w:rsidR", self.rsid)
146
- if not elem.hasAttribute("w:rsidRDefault"):
147
- elem.setAttribute("w:rsidRDefault", self.rsid)
148
- if not elem.hasAttribute("w:rsidP"):
149
- elem.setAttribute("w:rsidP", self.rsid)
150
- # Add w14:paraId and w14:textId if not present
151
- if not elem.hasAttribute("w14:paraId"):
152
- self._ensure_w14_namespace()
153
- elem.setAttribute("w14:paraId", _generate_hex_id())
154
- if not elem.hasAttribute("w14:textId"):
155
- self._ensure_w14_namespace()
156
- elem.setAttribute("w14:textId", _generate_hex_id())
157
-
158
- def add_rsid_to_r(elem):
159
- # Use w:rsidDel for <w:r> inside <w:del>, otherwise w:rsidR
160
- if is_inside_deletion(elem):
161
- if not elem.hasAttribute("w:rsidDel"):
162
- elem.setAttribute("w:rsidDel", self.rsid)
163
- else:
164
- if not elem.hasAttribute("w:rsidR"):
165
- elem.setAttribute("w:rsidR", self.rsid)
166
-
167
- def add_tracked_change_attrs(elem):
168
- # Auto-assign w:id if not present
169
- if not elem.hasAttribute("w:id"):
170
- elem.setAttribute("w:id", str(self._get_next_change_id()))
171
- if not elem.hasAttribute("w:author"):
172
- elem.setAttribute("w:author", self.author)
173
- if not elem.hasAttribute("w:date"):
174
- elem.setAttribute("w:date", timestamp)
175
- # Add w16du:dateUtc for tracked changes (same as w:date since we generate UTC timestamps)
176
- if elem.tagName in ("w:ins", "w:del") and not elem.hasAttribute(
177
- "w16du:dateUtc"
178
- ):
179
- self._ensure_w16du_namespace()
180
- elem.setAttribute("w16du:dateUtc", timestamp)
181
-
182
- def add_comment_attrs(elem):
183
- if not elem.hasAttribute("w:author"):
184
- elem.setAttribute("w:author", self.author)
185
- if not elem.hasAttribute("w:date"):
186
- elem.setAttribute("w:date", timestamp)
187
- if not elem.hasAttribute("w:initials"):
188
- elem.setAttribute("w:initials", self.initials)
189
-
190
- def add_comment_extensible_date(elem):
191
- # Add w16cex:dateUtc for comment extensible elements
192
- if not elem.hasAttribute("w16cex:dateUtc"):
193
- self._ensure_w16cex_namespace()
194
- elem.setAttribute("w16cex:dateUtc", timestamp)
195
-
196
- def add_xml_space_to_t(elem):
197
- # Add xml:space="preserve" to w:t if text has leading/trailing whitespace
198
- if (
199
- elem.firstChild
200
- and elem.firstChild.nodeType == elem.firstChild.TEXT_NODE
201
- ):
202
- text = elem.firstChild.data
203
- if text and (text[0].isspace() or text[-1].isspace()):
204
- if not elem.hasAttribute("xml:space"):
205
- elem.setAttribute("xml:space", "preserve")
206
-
207
- for node in nodes:
208
- if node.nodeType != node.ELEMENT_NODE:
209
- continue
210
-
211
- # Handle the node itself
212
- if node.tagName == "w:p":
213
- add_rsid_to_p(node)
214
- elif node.tagName == "w:r":
215
- add_rsid_to_r(node)
216
- elif node.tagName == "w:t":
217
- add_xml_space_to_t(node)
218
- elif node.tagName in ("w:ins", "w:del"):
219
- add_tracked_change_attrs(node)
220
- elif node.tagName == "w:comment":
221
- add_comment_attrs(node)
222
- elif node.tagName == "w16cex:commentExtensible":
223
- add_comment_extensible_date(node)
224
-
225
- # Process descendants (getElementsByTagName doesn't return the element itself)
226
- for elem in node.getElementsByTagName("w:p"):
227
- add_rsid_to_p(elem)
228
- for elem in node.getElementsByTagName("w:r"):
229
- add_rsid_to_r(elem)
230
- for elem in node.getElementsByTagName("w:t"):
231
- add_xml_space_to_t(elem)
232
- for tag in ("w:ins", "w:del"):
233
- for elem in node.getElementsByTagName(tag):
234
- add_tracked_change_attrs(elem)
235
- for elem in node.getElementsByTagName("w:comment"):
236
- add_comment_attrs(elem)
237
- for elem in node.getElementsByTagName("w16cex:commentExtensible"):
238
- add_comment_extensible_date(elem)
239
-
240
- def replace_node(self, elem, new_content):
241
- """Replace node with automatic attribute injection."""
242
- nodes = super().replace_node(elem, new_content)
243
- self._inject_attributes_to_nodes(nodes)
244
- return nodes
245
-
246
- def insert_after(self, elem, xml_content):
247
- """Insert after with automatic attribute injection."""
248
- nodes = super().insert_after(elem, xml_content)
249
- self._inject_attributes_to_nodes(nodes)
250
- return nodes
251
-
252
- def insert_before(self, elem, xml_content):
253
- """Insert before with automatic attribute injection."""
254
- nodes = super().insert_before(elem, xml_content)
255
- self._inject_attributes_to_nodes(nodes)
256
- return nodes
257
-
258
- def append_to(self, elem, xml_content):
259
- """Append to with automatic attribute injection."""
260
- nodes = super().append_to(elem, xml_content)
261
- self._inject_attributes_to_nodes(nodes)
262
- return nodes
263
-
264
- def revert_insertion(self, elem):
265
- """Reject an insertion by wrapping its content in a deletion.
266
-
267
- Wraps all runs inside w:ins in w:del, converting w:t to w:delText.
268
- Can process a single w:ins element or a container element with multiple w:ins.
269
-
270
- Args:
271
- elem: Element to process (w:ins, w:p, w:body, etc.)
272
-
273
- Returns:
274
- list: List containing the processed element(s)
275
-
276
- Raises:
277
- ValueError: If the element contains no w:ins elements
278
-
279
- Example:
280
- # Reject a single insertion
281
- ins = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "5"})
282
- doc["word/document.xml"].revert_insertion(ins)
283
-
284
- # Reject all insertions in a paragraph
285
- para = doc["word/document.xml"].get_node(tag="w:p", line_number=42)
286
- doc["word/document.xml"].revert_insertion(para)
287
- """
288
- # Collect insertions
289
- ins_elements = []
290
- if elem.tagName == "w:ins":
291
- ins_elements.append(elem)
292
- else:
293
- ins_elements.extend(elem.getElementsByTagName("w:ins"))
294
-
295
- # Validate that there are insertions to reject
296
- if not ins_elements:
297
- raise ValueError(
298
- f"revert_insertion requires w:ins elements. "
299
- f"The provided element <{elem.tagName}> contains no insertions. "
300
- )
301
-
302
- # Process all insertions - wrap all children in w:del
303
- for ins_elem in ins_elements:
304
- runs = list(ins_elem.getElementsByTagName("w:r"))
305
- if not runs:
306
- continue
307
-
308
- # Create deletion wrapper
309
- del_wrapper = self.dom.createElement("w:del")
310
-
311
- # Process each run
312
- for run in runs:
313
- # Convert w:t → w:delText and w:rsidR → w:rsidDel
314
- if run.hasAttribute("w:rsidR"):
315
- run.setAttribute("w:rsidDel", run.getAttribute("w:rsidR"))
316
- run.removeAttribute("w:rsidR")
317
- elif not run.hasAttribute("w:rsidDel"):
318
- run.setAttribute("w:rsidDel", self.rsid)
319
-
320
- for t_elem in list(run.getElementsByTagName("w:t")):
321
- del_text = self.dom.createElement("w:delText")
322
- # Copy ALL child nodes (not just firstChild) to handle entities
323
- while t_elem.firstChild:
324
- del_text.appendChild(t_elem.firstChild)
325
- for i in range(t_elem.attributes.length):
326
- attr = t_elem.attributes.item(i)
327
- del_text.setAttribute(attr.name, attr.value)
328
- t_elem.parentNode.replaceChild(del_text, t_elem)
329
-
330
- # Move all children from ins to del wrapper
331
- while ins_elem.firstChild:
332
- del_wrapper.appendChild(ins_elem.firstChild)
333
-
334
- # Add del wrapper back to ins
335
- ins_elem.appendChild(del_wrapper)
336
-
337
- # Inject attributes to the deletion wrapper
338
- self._inject_attributes_to_nodes([del_wrapper])
339
-
340
- return [elem]
341
-
342
- def revert_deletion(self, elem):
343
- """Reject a deletion by re-inserting the deleted content.
344
-
345
- Creates w:ins elements after each w:del, copying deleted content and
346
- converting w:delText back to w:t.
347
- Can process a single w:del element or a container element with multiple w:del.
348
-
349
- Args:
350
- elem: Element to process (w:del, w:p, w:body, etc.)
351
-
352
- Returns:
353
- list: If elem is w:del, returns [elem, new_ins]. Otherwise returns [elem].
354
-
355
- Raises:
356
- ValueError: If the element contains no w:del elements
357
-
358
- Example:
359
- # Reject a single deletion - returns [w:del, w:ins]
360
- del_elem = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "3"})
361
- nodes = doc["word/document.xml"].revert_deletion(del_elem)
362
-
363
- # Reject all deletions in a paragraph - returns [para]
364
- para = doc["word/document.xml"].get_node(tag="w:p", line_number=42)
365
- nodes = doc["word/document.xml"].revert_deletion(para)
366
- """
367
- # Collect deletions FIRST - before we modify the DOM
368
- del_elements = []
369
- is_single_del = elem.tagName == "w:del"
370
-
371
- if is_single_del:
372
- del_elements.append(elem)
373
- else:
374
- del_elements.extend(elem.getElementsByTagName("w:del"))
375
-
376
- # Validate that there are deletions to reject
377
- if not del_elements:
378
- raise ValueError(
379
- f"revert_deletion requires w:del elements. "
380
- f"The provided element <{elem.tagName}> contains no deletions. "
381
- )
382
-
383
- # Track created insertion (only relevant if elem is a single w:del)
384
- created_insertion = None
385
-
386
- # Process all deletions - create insertions that copy the deleted content
387
- for del_elem in del_elements:
388
- # Clone the deleted runs and convert them to insertions
389
- runs = list(del_elem.getElementsByTagName("w:r"))
390
- if not runs:
391
- continue
392
-
393
- # Create insertion wrapper
394
- ins_elem = self.dom.createElement("w:ins")
395
-
396
- for run in runs:
397
- # Clone the run
398
- new_run = run.cloneNode(True)
399
-
400
- # Convert w:delText → w:t
401
- for del_text in list(new_run.getElementsByTagName("w:delText")):
402
- t_elem = self.dom.createElement("w:t")
403
- # Copy ALL child nodes (not just firstChild) to handle entities
404
- while del_text.firstChild:
405
- t_elem.appendChild(del_text.firstChild)
406
- for i in range(del_text.attributes.length):
407
- attr = del_text.attributes.item(i)
408
- t_elem.setAttribute(attr.name, attr.value)
409
- del_text.parentNode.replaceChild(t_elem, del_text)
410
-
411
- # Update run attributes: w:rsidDel → w:rsidR
412
- if new_run.hasAttribute("w:rsidDel"):
413
- new_run.setAttribute("w:rsidR", new_run.getAttribute("w:rsidDel"))
414
- new_run.removeAttribute("w:rsidDel")
415
- elif not new_run.hasAttribute("w:rsidR"):
416
- new_run.setAttribute("w:rsidR", self.rsid)
417
-
418
- ins_elem.appendChild(new_run)
419
-
420
- # Insert the new insertion after the deletion
421
- nodes = self.insert_after(del_elem, ins_elem.toxml())
422
-
423
- # If processing a single w:del, track the created insertion
424
- if is_single_del and nodes:
425
- created_insertion = nodes[0]
426
-
427
- # Return based on input type
428
- if is_single_del and created_insertion:
429
- return [elem, created_insertion]
430
- else:
431
- return [elem]
432
-
433
- @staticmethod
434
- def suggest_paragraph(xml_content: str) -> str:
435
- """Transform paragraph XML to add tracked change wrapping for insertion.
436
-
437
- Wraps runs in <w:ins> and adds <w:ins/> to w:rPr in w:pPr for numbered lists.
438
-
439
- Args:
440
- xml_content: XML string containing a <w:p> element
441
-
442
- Returns:
443
- str: Transformed XML with tracked change wrapping
444
- """
445
- wrapper = f'<root xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">{xml_content}</root>'
446
- doc = minidom.parseString(wrapper)
447
- para = doc.getElementsByTagName("w:p")[0]
448
-
449
- # Ensure w:pPr exists
450
- pPr_list = para.getElementsByTagName("w:pPr")
451
- if not pPr_list:
452
- pPr = doc.createElement("w:pPr")
453
- para.insertBefore(
454
- pPr, para.firstChild
455
- ) if para.firstChild else para.appendChild(pPr)
456
- else:
457
- pPr = pPr_list[0]
458
-
459
- # Ensure w:rPr exists in w:pPr
460
- rPr_list = pPr.getElementsByTagName("w:rPr")
461
- if not rPr_list:
462
- rPr = doc.createElement("w:rPr")
463
- pPr.appendChild(rPr)
464
- else:
465
- rPr = rPr_list[0]
466
-
467
- # Add <w:ins/> to w:rPr
468
- ins_marker = doc.createElement("w:ins")
469
- rPr.insertBefore(
470
- ins_marker, rPr.firstChild
471
- ) if rPr.firstChild else rPr.appendChild(ins_marker)
472
-
473
- # Wrap all non-pPr children in <w:ins>
474
- ins_wrapper = doc.createElement("w:ins")
475
- for child in [c for c in para.childNodes if c.nodeName != "w:pPr"]:
476
- para.removeChild(child)
477
- ins_wrapper.appendChild(child)
478
- para.appendChild(ins_wrapper)
479
-
480
- return para.toxml()
481
-
482
- def suggest_deletion(self, elem):
483
- """Mark a w:r or w:p element as deleted with tracked changes (in-place DOM manipulation).
484
-
485
- For w:r: wraps in <w:del>, converts <w:t> to <w:delText>, preserves w:rPr
486
- For w:p (regular): wraps content in <w:del>, converts <w:t> to <w:delText>
487
- For w:p (numbered list): adds <w:del/> to w:rPr in w:pPr, wraps content in <w:del>
488
-
489
- Args:
490
- elem: A w:r or w:p DOM element without existing tracked changes
491
-
492
- Returns:
493
- Element: The modified element
494
-
495
- Raises:
496
- ValueError: If element has existing tracked changes or invalid structure
497
- """
498
- if elem.nodeName == "w:r":
499
- # Check for existing w:delText
500
- if elem.getElementsByTagName("w:delText"):
501
- raise ValueError("w:r element already contains w:delText")
502
-
503
- # Convert w:t → w:delText
504
- for t_elem in list(elem.getElementsByTagName("w:t")):
505
- del_text = self.dom.createElement("w:delText")
506
- # Copy ALL child nodes (not just firstChild) to handle entities
507
- while t_elem.firstChild:
508
- del_text.appendChild(t_elem.firstChild)
509
- # Preserve attributes like xml:space
510
- for i in range(t_elem.attributes.length):
511
- attr = t_elem.attributes.item(i)
512
- del_text.setAttribute(attr.name, attr.value)
513
- t_elem.parentNode.replaceChild(del_text, t_elem)
514
-
515
- # Update run attributes: w:rsidR → w:rsidDel
516
- if elem.hasAttribute("w:rsidR"):
517
- elem.setAttribute("w:rsidDel", elem.getAttribute("w:rsidR"))
518
- elem.removeAttribute("w:rsidR")
519
- elif not elem.hasAttribute("w:rsidDel"):
520
- elem.setAttribute("w:rsidDel", self.rsid)
521
-
522
- # Wrap in w:del
523
- del_wrapper = self.dom.createElement("w:del")
524
- parent = elem.parentNode
525
- parent.insertBefore(del_wrapper, elem)
526
- parent.removeChild(elem)
527
- del_wrapper.appendChild(elem)
528
-
529
- # Inject attributes to the deletion wrapper
530
- self._inject_attributes_to_nodes([del_wrapper])
531
-
532
- return del_wrapper
533
-
534
- elif elem.nodeName == "w:p":
535
- # Check for existing tracked changes
536
- if elem.getElementsByTagName("w:ins") or elem.getElementsByTagName("w:del"):
537
- raise ValueError("w:p element already contains tracked changes")
538
-
539
- # Check if it's a numbered list item
540
- pPr_list = elem.getElementsByTagName("w:pPr")
541
- is_numbered = pPr_list and pPr_list[0].getElementsByTagName("w:numPr")
542
-
543
- if is_numbered:
544
- # Add <w:del/> to w:rPr in w:pPr
545
- pPr = pPr_list[0]
546
- rPr_list = pPr.getElementsByTagName("w:rPr")
547
-
548
- if not rPr_list:
549
- rPr = self.dom.createElement("w:rPr")
550
- pPr.appendChild(rPr)
551
- else:
552
- rPr = rPr_list[0]
553
-
554
- # Add <w:del/> marker
555
- del_marker = self.dom.createElement("w:del")
556
- rPr.insertBefore(
557
- del_marker, rPr.firstChild
558
- ) if rPr.firstChild else rPr.appendChild(del_marker)
559
-
560
- # Convert w:t → w:delText in all runs
561
- for t_elem in list(elem.getElementsByTagName("w:t")):
562
- del_text = self.dom.createElement("w:delText")
563
- # Copy ALL child nodes (not just firstChild) to handle entities
564
- while t_elem.firstChild:
565
- del_text.appendChild(t_elem.firstChild)
566
- # Preserve attributes like xml:space
567
- for i in range(t_elem.attributes.length):
568
- attr = t_elem.attributes.item(i)
569
- del_text.setAttribute(attr.name, attr.value)
570
- t_elem.parentNode.replaceChild(del_text, t_elem)
571
-
572
- # Update run attributes: w:rsidR → w:rsidDel
573
- for run in elem.getElementsByTagName("w:r"):
574
- if run.hasAttribute("w:rsidR"):
575
- run.setAttribute("w:rsidDel", run.getAttribute("w:rsidR"))
576
- run.removeAttribute("w:rsidR")
577
- elif not run.hasAttribute("w:rsidDel"):
578
- run.setAttribute("w:rsidDel", self.rsid)
579
-
580
- # Wrap all non-pPr children in <w:del>
581
- del_wrapper = self.dom.createElement("w:del")
582
- for child in [c for c in elem.childNodes if c.nodeName != "w:pPr"]:
583
- elem.removeChild(child)
584
- del_wrapper.appendChild(child)
585
- elem.appendChild(del_wrapper)
586
-
587
- # Inject attributes to the deletion wrapper
588
- self._inject_attributes_to_nodes([del_wrapper])
589
-
590
- return elem
591
-
592
- else:
593
- raise ValueError(f"Element must be w:r or w:p, got {elem.nodeName}")
594
-
595
-
596
- def _generate_hex_id() -> str:
597
- """Generate random 8-character hex ID for para/durable IDs.
598
-
599
- Values are constrained to be less than 0x7FFFFFFF per OOXML spec:
600
- - paraId must be < 0x80000000
601
- - durableId must be < 0x7FFFFFFF
602
- We use the stricter constraint (0x7FFFFFFF) for both.
603
- """
604
- return f"{random.randint(1, 0x7FFFFFFE):08X}"
605
-
606
-
607
- def _generate_rsid() -> str:
608
- """Generate random 8-character hex RSID."""
609
- return "".join(random.choices("0123456789ABCDEF", k=8))
610
-
611
-
612
- class Document:
613
- """Manages comments in unpacked Word documents."""
614
-
615
- def __init__(
616
- self,
617
- unpacked_dir,
618
- rsid=None,
619
- track_revisions=False,
620
- author="Claude",
621
- initials="C",
622
- ):
623
- """
624
- Initialize with path to unpacked Word document directory.
625
- Automatically sets up comment infrastructure (people.xml, RSIDs).
626
-
627
- Args:
628
- unpacked_dir: Path to unpacked DOCX directory (must contain word/ subdirectory)
629
- rsid: Optional RSID to use for all comment elements. If not provided, one will be generated.
630
- track_revisions: If True, enables track revisions in settings.xml (default: False)
631
- author: Default author name for comments (default: "Claude")
632
- initials: Default author initials for comments (default: "C")
633
- """
634
- self.original_path = Path(unpacked_dir)
635
-
636
- if not self.original_path.exists() or not self.original_path.is_dir():
637
- raise ValueError(f"Directory not found: {unpacked_dir}")
638
-
639
- # Create temporary directory with subdirectories for unpacked content and baseline
640
- self.temp_dir = tempfile.mkdtemp(prefix="docx_")
641
- self.unpacked_path = Path(self.temp_dir) / "unpacked"
642
- shutil.copytree(self.original_path, self.unpacked_path)
643
-
644
- # Pack original directory into temporary .docx for validation baseline (outside unpacked dir)
645
- self.original_docx = Path(self.temp_dir) / "original.docx"
646
- pack_document(self.original_path, self.original_docx, validate=False)
647
-
648
- self.word_path = self.unpacked_path / "word"
649
-
650
- # Generate RSID if not provided
651
- self.rsid = rsid if rsid else _generate_rsid()
652
- print(f"Using RSID: {self.rsid}")
653
-
654
- # Set default author and initials
655
- self.author = author
656
- self.initials = initials
657
-
658
- # Cache for lazy-loaded editors
659
- self._editors = {}
660
-
661
- # Comment file paths
662
- self.comments_path = self.word_path / "comments.xml"
663
- self.comments_extended_path = self.word_path / "commentsExtended.xml"
664
- self.comments_ids_path = self.word_path / "commentsIds.xml"
665
- self.comments_extensible_path = self.word_path / "commentsExtensible.xml"
666
-
667
- # Load existing comments and determine next ID (before setup modifies files)
668
- self.existing_comments = self._load_existing_comments()
669
- self.next_comment_id = self._get_next_comment_id()
670
-
671
- # Convenient access to document.xml editor (semi-private)
672
- self._document = self["word/document.xml"]
673
-
674
- # Setup tracked changes infrastructure
675
- self._setup_tracking(track_revisions=track_revisions)
676
-
677
- # Add author to people.xml
678
- self._add_author_to_people(author)
679
-
680
- def __getitem__(self, xml_path: str) -> DocxXMLEditor:
681
- """
682
- Get or create a DocxXMLEditor for the specified XML file.
683
-
684
- Enables lazy-loaded editors with bracket notation:
685
- node = doc["word/document.xml"].get_node(tag="w:p", line_number=42)
686
-
687
- Args:
688
- xml_path: Relative path to XML file (e.g., "word/document.xml", "word/comments.xml")
689
-
690
- Returns:
691
- DocxXMLEditor instance for the specified file
692
-
693
- Raises:
694
- ValueError: If the file does not exist
695
-
696
- Example:
697
- # Get node from document.xml
698
- node = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"})
699
-
700
- # Get node from comments.xml
701
- comment = doc["word/comments.xml"].get_node(tag="w:comment", attrs={"w:id": "0"})
702
- """
703
- if xml_path not in self._editors:
704
- file_path = self.unpacked_path / xml_path
705
- if not file_path.exists():
706
- raise ValueError(f"XML file not found: {xml_path}")
707
- # Use DocxXMLEditor with RSID, author, and initials for all editors
708
- self._editors[xml_path] = DocxXMLEditor(
709
- file_path, rsid=self.rsid, author=self.author, initials=self.initials
710
- )
711
- return self._editors[xml_path]
712
-
713
- def add_comment(self, start, end, text: str) -> int:
714
- """
715
- Add a comment spanning from one element to another.
716
-
717
- Args:
718
- start: DOM element for the starting point
719
- end: DOM element for the ending point
720
- text: Comment content
721
-
722
- Returns:
723
- The comment ID that was created
724
-
725
- Example:
726
- start_node = cm.get_document_node(tag="w:del", id="1")
727
- end_node = cm.get_document_node(tag="w:ins", id="2")
728
- cm.add_comment(start=start_node, end=end_node, text="Explanation")
729
- """
730
- comment_id = self.next_comment_id
731
- para_id = _generate_hex_id()
732
- durable_id = _generate_hex_id()
733
- timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
734
-
735
- # Add comment ranges to document.xml immediately
736
- self._document.insert_before(start, self._comment_range_start_xml(comment_id))
737
-
738
- # If end node is a paragraph, append comment markup inside it
739
- # Otherwise insert after it (for run-level anchors)
740
- if end.tagName == "w:p":
741
- self._document.append_to(end, self._comment_range_end_xml(comment_id))
742
- else:
743
- self._document.insert_after(end, self._comment_range_end_xml(comment_id))
744
-
745
- # Add to comments.xml immediately
746
- self._add_to_comments_xml(
747
- comment_id, para_id, text, self.author, self.initials, timestamp
748
- )
749
-
750
- # Add to commentsExtended.xml immediately
751
- self._add_to_comments_extended_xml(para_id, parent_para_id=None)
752
-
753
- # Add to commentsIds.xml immediately
754
- self._add_to_comments_ids_xml(para_id, durable_id)
755
-
756
- # Add to commentsExtensible.xml immediately
757
- self._add_to_comments_extensible_xml(durable_id)
758
-
759
- # Update existing_comments so replies work
760
- self.existing_comments[comment_id] = {"para_id": para_id}
761
-
762
- self.next_comment_id += 1
763
- return comment_id
764
-
765
- def reply_to_comment(
766
- self,
767
- parent_comment_id: int,
768
- text: str,
769
- ) -> int:
770
- """
771
- Add a reply to an existing comment.
772
-
773
- Args:
774
- parent_comment_id: The w:id of the parent comment to reply to
775
- text: Reply text
776
-
777
- Returns:
778
- The comment ID that was created for the reply
779
-
780
- Example:
781
- cm.reply_to_comment(parent_comment_id=0, text="I agree with this change")
782
- """
783
- if parent_comment_id not in self.existing_comments:
784
- raise ValueError(f"Parent comment with id={parent_comment_id} not found")
785
-
786
- parent_info = self.existing_comments[parent_comment_id]
787
- comment_id = self.next_comment_id
788
- para_id = _generate_hex_id()
789
- durable_id = _generate_hex_id()
790
- timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
791
-
792
- # Add comment ranges to document.xml immediately
793
- parent_start_elem = self._document.get_node(
794
- tag="w:commentRangeStart", attrs={"w:id": str(parent_comment_id)}
795
- )
796
- parent_ref_elem = self._document.get_node(
797
- tag="w:commentReference", attrs={"w:id": str(parent_comment_id)}
798
- )
799
-
800
- self._document.insert_after(
801
- parent_start_elem, self._comment_range_start_xml(comment_id)
802
- )
803
- parent_ref_run = parent_ref_elem.parentNode
804
- self._document.insert_after(
805
- parent_ref_run, f'<w:commentRangeEnd w:id="{comment_id}"/>'
806
- )
807
- self._document.insert_after(
808
- parent_ref_run, self._comment_ref_run_xml(comment_id)
809
- )
810
-
811
- # Add to comments.xml immediately
812
- self._add_to_comments_xml(
813
- comment_id, para_id, text, self.author, self.initials, timestamp
814
- )
815
-
816
- # Add to commentsExtended.xml immediately (with parent)
817
- self._add_to_comments_extended_xml(
818
- para_id, parent_para_id=parent_info["para_id"]
819
- )
820
-
821
- # Add to commentsIds.xml immediately
822
- self._add_to_comments_ids_xml(para_id, durable_id)
823
-
824
- # Add to commentsExtensible.xml immediately
825
- self._add_to_comments_extensible_xml(durable_id)
826
-
827
- # Update existing_comments so replies work
828
- self.existing_comments[comment_id] = {"para_id": para_id}
829
-
830
- self.next_comment_id += 1
831
- return comment_id
832
-
833
- def __del__(self):
834
- """Clean up temporary directory on deletion."""
835
- if hasattr(self, "temp_dir") and Path(self.temp_dir).exists():
836
- shutil.rmtree(self.temp_dir)
837
-
838
- def validate(self) -> None:
839
- """
840
- Validate the document against XSD schema and redlining rules.
841
-
842
- Raises:
843
- ValueError: If validation fails.
844
- """
845
- # Create validators with current state
846
- schema_validator = DOCXSchemaValidator(
847
- self.unpacked_path, self.original_docx, verbose=False
848
- )
849
- redlining_validator = RedliningValidator(
850
- self.unpacked_path, self.original_docx, verbose=False
851
- )
852
-
853
- # Run validations
854
- if not schema_validator.validate():
855
- raise ValueError("Schema validation failed")
856
- if not redlining_validator.validate():
857
- raise ValueError("Redlining validation failed")
858
-
859
- def save(self, destination=None, validate=True) -> None:
860
- """
861
- Save all modified XML files to disk and copy to destination directory.
862
-
863
- This persists all changes made via add_comment() and reply_to_comment().
864
-
865
- Args:
866
- destination: Optional path to save to. If None, saves back to original directory.
867
- validate: If True, validates document before saving (default: True).
868
- """
869
- # Only ensure comment relationships and content types if comment files exist
870
- if self.comments_path.exists():
871
- self._ensure_comment_relationships()
872
- self._ensure_comment_content_types()
873
-
874
- # Save all modified XML files in temp directory
875
- for editor in self._editors.values():
876
- editor.save()
877
-
878
- # Validate by default
879
- if validate:
880
- self.validate()
881
-
882
- # Copy contents from temp directory to destination (or original directory)
883
- target_path = Path(destination) if destination else self.original_path
884
- shutil.copytree(self.unpacked_path, target_path, dirs_exist_ok=True)
885
-
886
- # ==================== Private: Initialization ====================
887
-
888
- def _get_next_comment_id(self):
889
- """Get the next available comment ID."""
890
- if not self.comments_path.exists():
891
- return 0
892
-
893
- editor = self["word/comments.xml"]
894
- max_id = -1
895
- for comment_elem in editor.dom.getElementsByTagName("w:comment"):
896
- comment_id = comment_elem.getAttribute("w:id")
897
- if comment_id:
898
- try:
899
- max_id = max(max_id, int(comment_id))
900
- except ValueError:
901
- pass
902
- return max_id + 1
903
-
904
- def _load_existing_comments(self):
905
- """Load existing comments from files to enable replies."""
906
- if not self.comments_path.exists():
907
- return {}
908
-
909
- editor = self["word/comments.xml"]
910
- existing = {}
911
-
912
- for comment_elem in editor.dom.getElementsByTagName("w:comment"):
913
- comment_id = comment_elem.getAttribute("w:id")
914
- if not comment_id:
915
- continue
916
-
917
- # Find para_id from the w:p element within the comment
918
- para_id = None
919
- for p_elem in comment_elem.getElementsByTagName("w:p"):
920
- para_id = p_elem.getAttribute("w14:paraId")
921
- if para_id:
922
- break
923
-
924
- if not para_id:
925
- continue
926
-
927
- existing[int(comment_id)] = {"para_id": para_id}
928
-
929
- return existing
930
-
931
- # ==================== Private: Setup Methods ====================
932
-
933
- def _setup_tracking(self, track_revisions=False):
934
- """Set up comment infrastructure in unpacked directory.
935
-
936
- Args:
937
- track_revisions: If True, enables track revisions in settings.xml
938
- """
939
- # Create or update word/people.xml
940
- people_file = self.word_path / "people.xml"
941
- self._update_people_xml(people_file)
942
-
943
- # Update XML files
944
- self._add_content_type_for_people(self.unpacked_path / "[Content_Types].xml")
945
- self._add_relationship_for_people(
946
- self.word_path / "_rels" / "document.xml.rels"
947
- )
948
-
949
- # Always add RSID to settings.xml, optionally enable trackRevisions
950
- self._update_settings(
951
- self.word_path / "settings.xml", track_revisions=track_revisions
952
- )
953
-
954
- def _update_people_xml(self, path):
955
- """Create people.xml if it doesn't exist."""
956
- if not path.exists():
957
- # Copy from template
958
- shutil.copy(TEMPLATE_DIR / "people.xml", path)
959
-
960
- def _add_content_type_for_people(self, path):
961
- """Add people.xml content type to [Content_Types].xml if not already present."""
962
- editor = self["[Content_Types].xml"]
963
-
964
- if self._has_override(editor, "/word/people.xml"):
965
- return
966
-
967
- # Add Override element
968
- root = editor.dom.documentElement
969
- override_xml = '<Override PartName="/word/people.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.people+xml"/>'
970
- editor.append_to(root, override_xml)
971
-
972
- def _add_relationship_for_people(self, path):
973
- """Add people.xml relationship to document.xml.rels if not already present."""
974
- editor = self["word/_rels/document.xml.rels"]
975
-
976
- if self._has_relationship(editor, "people.xml"):
977
- return
978
-
979
- root = editor.dom.documentElement
980
- root_tag = root.tagName # type: ignore
981
- prefix = root_tag.split(":")[0] + ":" if ":" in root_tag else ""
982
- next_rid = editor.get_next_rid()
983
-
984
- # Create the relationship entry
985
- rel_xml = f'<{prefix}Relationship Id="{next_rid}" Type="http://schemas.microsoft.com/office/2011/relationships/people" Target="people.xml"/>'
986
- editor.append_to(root, rel_xml)
987
-
988
- def _update_settings(self, path, track_revisions=False):
989
- """Add RSID and optionally enable track revisions in settings.xml.
990
-
991
- Args:
992
- path: Path to settings.xml
993
- track_revisions: If True, adds trackRevisions element
994
-
995
- Places elements per OOXML schema order:
996
- - trackRevisions: early (before defaultTabStop)
997
- - rsids: late (after compat)
998
- """
999
- editor = self["word/settings.xml"]
1000
- root = editor.get_node(tag="w:settings")
1001
- prefix = root.tagName.split(":")[0] if ":" in root.tagName else "w"
1002
-
1003
- # Conditionally add trackRevisions if requested
1004
- if track_revisions:
1005
- track_revisions_exists = any(
1006
- elem.tagName == f"{prefix}:trackRevisions"
1007
- for elem in editor.dom.getElementsByTagName(f"{prefix}:trackRevisions")
1008
- )
1009
-
1010
- if not track_revisions_exists:
1011
- track_rev_xml = f"<{prefix}:trackRevisions/>"
1012
- # Try to insert before documentProtection, defaultTabStop, or at start
1013
- inserted = False
1014
- for tag in [f"{prefix}:documentProtection", f"{prefix}:defaultTabStop"]:
1015
- elements = editor.dom.getElementsByTagName(tag)
1016
- if elements:
1017
- editor.insert_before(elements[0], track_rev_xml)
1018
- inserted = True
1019
- break
1020
- if not inserted:
1021
- # Insert as first child of settings
1022
- if root.firstChild:
1023
- editor.insert_before(root.firstChild, track_rev_xml)
1024
- else:
1025
- editor.append_to(root, track_rev_xml)
1026
-
1027
- # Always check if rsids section exists
1028
- rsids_elements = editor.dom.getElementsByTagName(f"{prefix}:rsids")
1029
-
1030
- if not rsids_elements:
1031
- # Add new rsids section
1032
- rsids_xml = f'''<{prefix}:rsids>
1033
- <{prefix}:rsidRoot {prefix}:val="{self.rsid}"/>
1034
- <{prefix}:rsid {prefix}:val="{self.rsid}"/>
1035
- </{prefix}:rsids>'''
1036
-
1037
- # Try to insert after compat, before clrSchemeMapping, or before closing tag
1038
- inserted = False
1039
- compat_elements = editor.dom.getElementsByTagName(f"{prefix}:compat")
1040
- if compat_elements:
1041
- editor.insert_after(compat_elements[0], rsids_xml)
1042
- inserted = True
1043
-
1044
- if not inserted:
1045
- clr_elements = editor.dom.getElementsByTagName(
1046
- f"{prefix}:clrSchemeMapping"
1047
- )
1048
- if clr_elements:
1049
- editor.insert_before(clr_elements[0], rsids_xml)
1050
- inserted = True
1051
-
1052
- if not inserted:
1053
- editor.append_to(root, rsids_xml)
1054
- else:
1055
- # Check if this rsid already exists
1056
- rsids_elem = rsids_elements[0]
1057
- rsid_exists = any(
1058
- elem.getAttribute(f"{prefix}:val") == self.rsid
1059
- for elem in rsids_elem.getElementsByTagName(f"{prefix}:rsid")
1060
- )
1061
-
1062
- if not rsid_exists:
1063
- rsid_xml = f'<{prefix}:rsid {prefix}:val="{self.rsid}"/>'
1064
- editor.append_to(rsids_elem, rsid_xml)
1065
-
1066
- # ==================== Private: XML File Creation ====================
1067
-
1068
- def _add_to_comments_xml(
1069
- self, comment_id, para_id, text, author, initials, timestamp
1070
- ):
1071
- """Add a single comment to comments.xml."""
1072
- if not self.comments_path.exists():
1073
- shutil.copy(TEMPLATE_DIR / "comments.xml", self.comments_path)
1074
-
1075
- editor = self["word/comments.xml"]
1076
- root = editor.get_node(tag="w:comments")
1077
-
1078
- escaped_text = (
1079
- text.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;")
1080
- )
1081
- # Note: w:rsidR, w:rsidRDefault, w:rsidP on w:p, w:rsidR on w:r,
1082
- # and w:author, w:date, w:initials on w:comment are automatically added by DocxXMLEditor
1083
- comment_xml = f'''<w:comment w:id="{comment_id}">
1084
- <w:p w14:paraId="{para_id}" w14:textId="77777777">
1085
- <w:r><w:rPr><w:rStyle w:val="CommentReference"/></w:rPr><w:annotationRef/></w:r>
1086
- <w:r><w:rPr><w:color w:val="000000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>{escaped_text}</w:t></w:r>
1087
- </w:p>
1088
- </w:comment>'''
1089
- editor.append_to(root, comment_xml)
1090
-
1091
- def _add_to_comments_extended_xml(self, para_id, parent_para_id):
1092
- """Add a single comment to commentsExtended.xml."""
1093
- if not self.comments_extended_path.exists():
1094
- shutil.copy(
1095
- TEMPLATE_DIR / "commentsExtended.xml", self.comments_extended_path
1096
- )
1097
-
1098
- editor = self["word/commentsExtended.xml"]
1099
- root = editor.get_node(tag="w15:commentsEx")
1100
-
1101
- if parent_para_id:
1102
- xml = f'<w15:commentEx w15:paraId="{para_id}" w15:paraIdParent="{parent_para_id}" w15:done="0"/>'
1103
- else:
1104
- xml = f'<w15:commentEx w15:paraId="{para_id}" w15:done="0"/>'
1105
- editor.append_to(root, xml)
1106
-
1107
- def _add_to_comments_ids_xml(self, para_id, durable_id):
1108
- """Add a single comment to commentsIds.xml."""
1109
- if not self.comments_ids_path.exists():
1110
- shutil.copy(TEMPLATE_DIR / "commentsIds.xml", self.comments_ids_path)
1111
-
1112
- editor = self["word/commentsIds.xml"]
1113
- root = editor.get_node(tag="w16cid:commentsIds")
1114
-
1115
- xml = f'<w16cid:commentId w16cid:paraId="{para_id}" w16cid:durableId="{durable_id}"/>'
1116
- editor.append_to(root, xml)
1117
-
1118
- def _add_to_comments_extensible_xml(self, durable_id):
1119
- """Add a single comment to commentsExtensible.xml."""
1120
- if not self.comments_extensible_path.exists():
1121
- shutil.copy(
1122
- TEMPLATE_DIR / "commentsExtensible.xml", self.comments_extensible_path
1123
- )
1124
-
1125
- editor = self["word/commentsExtensible.xml"]
1126
- root = editor.get_node(tag="w16cex:commentsExtensible")
1127
-
1128
- xml = f'<w16cex:commentExtensible w16cex:durableId="{durable_id}"/>'
1129
- editor.append_to(root, xml)
1130
-
1131
- # ==================== Private: XML Fragments ====================
1132
-
1133
- def _comment_range_start_xml(self, comment_id):
1134
- """Generate XML for comment range start."""
1135
- return f'<w:commentRangeStart w:id="{comment_id}"/>'
1136
-
1137
- def _comment_range_end_xml(self, comment_id):
1138
- """Generate XML for comment range end with reference run.
1139
-
1140
- Note: w:rsidR is automatically added by DocxXMLEditor.
1141
- """
1142
- return f'''<w:commentRangeEnd w:id="{comment_id}"/>
1143
- <w:r>
1144
- <w:rPr><w:rStyle w:val="CommentReference"/></w:rPr>
1145
- <w:commentReference w:id="{comment_id}"/>
1146
- </w:r>'''
1147
-
1148
- def _comment_ref_run_xml(self, comment_id):
1149
- """Generate XML for comment reference run.
1150
-
1151
- Note: w:rsidR is automatically added by DocxXMLEditor.
1152
- """
1153
- return f'''<w:r>
1154
- <w:rPr><w:rStyle w:val="CommentReference"/></w:rPr>
1155
- <w:commentReference w:id="{comment_id}"/>
1156
- </w:r>'''
1157
-
1158
- # ==================== Private: Metadata Updates ====================
1159
-
1160
- def _has_relationship(self, editor, target):
1161
- """Check if a relationship with given target exists."""
1162
- for rel_elem in editor.dom.getElementsByTagName("Relationship"):
1163
- if rel_elem.getAttribute("Target") == target:
1164
- return True
1165
- return False
1166
-
1167
- def _has_override(self, editor, part_name):
1168
- """Check if an override with given part name exists."""
1169
- for override_elem in editor.dom.getElementsByTagName("Override"):
1170
- if override_elem.getAttribute("PartName") == part_name:
1171
- return True
1172
- return False
1173
-
1174
- def _has_author(self, editor, author):
1175
- """Check if an author already exists in people.xml."""
1176
- for person_elem in editor.dom.getElementsByTagName("w15:person"):
1177
- if person_elem.getAttribute("w15:author") == author:
1178
- return True
1179
- return False
1180
-
1181
- def _add_author_to_people(self, author):
1182
- """Add author to people.xml (called during initialization)."""
1183
- people_path = self.word_path / "people.xml"
1184
-
1185
- # people.xml should already exist from _setup_tracking
1186
- if not people_path.exists():
1187
- raise ValueError("people.xml should exist after _setup_tracking")
1188
-
1189
- editor = self["word/people.xml"]
1190
- root = editor.get_node(tag="w15:people")
1191
-
1192
- # Check if author already exists
1193
- if self._has_author(editor, author):
1194
- return
1195
-
1196
- # Add author with proper XML escaping to prevent injection
1197
- escaped_author = html.escape(author, quote=True)
1198
- person_xml = f'''<w15:person w15:author="{escaped_author}">
1199
- <w15:presenceInfo w15:providerId="None" w15:userId="{escaped_author}"/>
1200
- </w15:person>'''
1201
- editor.append_to(root, person_xml)
1202
-
1203
- def _ensure_comment_relationships(self):
1204
- """Ensure word/_rels/document.xml.rels has comment relationships."""
1205
- editor = self["word/_rels/document.xml.rels"]
1206
-
1207
- if self._has_relationship(editor, "comments.xml"):
1208
- return
1209
-
1210
- root = editor.dom.documentElement
1211
- root_tag = root.tagName # type: ignore
1212
- prefix = root_tag.split(":")[0] + ":" if ":" in root_tag else ""
1213
- next_rid_num = int(editor.get_next_rid()[3:])
1214
-
1215
- # Add relationship elements
1216
- rels = [
1217
- (
1218
- next_rid_num,
1219
- "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",
1220
- "comments.xml",
1221
- ),
1222
- (
1223
- next_rid_num + 1,
1224
- "http://schemas.microsoft.com/office/2011/relationships/commentsExtended",
1225
- "commentsExtended.xml",
1226
- ),
1227
- (
1228
- next_rid_num + 2,
1229
- "http://schemas.microsoft.com/office/2016/09/relationships/commentsIds",
1230
- "commentsIds.xml",
1231
- ),
1232
- (
1233
- next_rid_num + 3,
1234
- "http://schemas.microsoft.com/office/2018/08/relationships/commentsExtensible",
1235
- "commentsExtensible.xml",
1236
- ),
1237
- ]
1238
-
1239
- for rel_id, rel_type, target in rels:
1240
- rel_xml = f'<{prefix}Relationship Id="rId{rel_id}" Type="{rel_type}" Target="{target}"/>'
1241
- editor.append_to(root, rel_xml)
1242
-
1243
- def _ensure_comment_content_types(self):
1244
- """Ensure [Content_Types].xml has comment content types."""
1245
- editor = self["[Content_Types].xml"]
1246
-
1247
- if self._has_override(editor, "/word/comments.xml"):
1248
- return
1249
-
1250
- root = editor.dom.documentElement
1251
-
1252
- # Add Override elements
1253
- overrides = [
1254
- (
1255
- "/word/comments.xml",
1256
- "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml",
1257
- ),
1258
- (
1259
- "/word/commentsExtended.xml",
1260
- "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtended+xml",
1261
- ),
1262
- (
1263
- "/word/commentsIds.xml",
1264
- "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsIds+xml",
1265
- ),
1266
- (
1267
- "/word/commentsExtensible.xml",
1268
- "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtensible+xml",
1269
- ),
1270
- ]
1271
-
1272
- for part_name, content_type in overrides:
1273
- override_xml = (
1274
- f'<Override PartName="{part_name}" ContentType="{content_type}"/>'
1275
- )
1276
- editor.append_to(root, override_xml)