antigravity-ide 4.2.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/.agent/.shared/{technical/ai-master → ai-master}/README.md +1 -12
  2. package/.agent/.shared/{technical/api-standards → api-standards}/README.md +1 -12
  3. package/.agent/.shared/compliance/README.md +19 -0
  4. package/.agent/.shared/{technical/database-master → database-master}/README.md +2 -12
  5. package/.agent/.shared/{core/design-philosophy → design-philosophy}/README.md +1 -12
  6. package/.agent/.shared/design-system/README.md +18 -0
  7. package/.agent/.shared/domain-blueprints/README.md +18 -0
  8. package/.agent/.shared/dx-toolkit/README.md +19 -0
  9. package/.agent/.shared/i18n-master/README.md +18 -0
  10. package/.agent/.shared/infra-blueprints/README.md +18 -0
  11. package/.agent/.shared/metrics/README.md +17 -0
  12. package/.agent/.shared/resilience-patterns/README.md +19 -0
  13. package/.agent/.shared/security-armor/README.md +25 -0
  14. package/.agent/.shared/{technical/seo-master → seo-master}/README.md +1 -12
  15. package/.agent/.shared/testing-master/README.md +20 -0
  16. package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/README.md +1 -12
  17. package/.agent/.shared/vitals-templates/README.md +18 -0
  18. package/.agent/ARCHITECTURE.md +7 -10
  19. package/.agent/ARCHITECTURE.vi.md +8 -8
  20. package/.agent/RESOURCES.md +1 -0
  21. package/.agent/agents/accessibility-expert.md +22 -0
  22. package/.agent/agents/api-architect.md +22 -0
  23. package/.agent/agents/backend-specialist.eco.md +19 -0
  24. package/.agent/agents/backend-specialist.instant.md +19 -0
  25. package/.agent/agents/backend-specialist.md +19 -154
  26. package/.agent/agents/cloud-architect.md +189 -108
  27. package/.agent/agents/codebase-expert.md +23 -0
  28. package/.agent/agents/compliance-expert.md +22 -0
  29. package/.agent/agents/data-scientist.md +22 -0
  30. package/.agent/agents/debugger.eco.md +20 -0
  31. package/.agent/agents/debugger.instant.md +20 -0
  32. package/.agent/agents/debugger.md +182 -83
  33. package/.agent/agents/deep-thinker.ultra.md +23 -0
  34. package/.agent/agents/devex-optimizer.md +22 -0
  35. package/.agent/agents/devops-architect.md +22 -0
  36. package/.agent/agents/documentation-writer.md +72 -125
  37. package/.agent/agents/frontend-specialist.eco.md +19 -0
  38. package/.agent/agents/frontend-specialist.instant.md +19 -0
  39. package/.agent/agents/frontend-specialist.md +7 -40
  40. package/.agent/agents/game-developer.md +116 -111
  41. package/.agent/agents/growth-engineer.md +22 -0
  42. package/.agent/agents/i18n-specialist.md +21 -0
  43. package/.agent/agents/legacy-modernizer.md +22 -0
  44. package/.agent/agents/microservices-specialist.md +22 -0
  45. package/.agent/agents/mobile-developer.md +321 -108
  46. package/.agent/agents/motion-designer.md +22 -0
  47. package/.agent/agents/orchestrator.creative.md +28 -0
  48. package/.agent/agents/orchestrator.eco.md +29 -0
  49. package/.agent/agents/orchestrator.instant.md +29 -0
  50. package/.agent/agents/orchestrator.md +366 -106
  51. package/.agent/agents/orchestrator.ultra.md +28 -0
  52. package/.agent/agents/performance-benchmarker.md +22 -0
  53. package/.agent/agents/performance-optimizer.md +136 -105
  54. package/.agent/agents/project-planner.eco.md +19 -0
  55. package/.agent/agents/project-planner.instant.md +19 -0
  56. package/.agent/agents/project-planner.md +39 -132
  57. package/.agent/agents/quality-inspector.md +32 -136
  58. package/.agent/agents/security-auditor.md +15 -138
  59. package/.agent/agents/security-pentester.md +22 -0
  60. package/.agent/agents/seo-specialist.md +72 -118
  61. package/.agent/agents/serverless-expert.md +22 -0
  62. package/.agent/agents/test-engineer.md +11 -142
  63. package/.agent/fastcode_index.json +1038 -0
  64. package/.agent/mcp_config.json +24 -0
  65. package/.agent/rules/GEMINI.eco.md +37 -0
  66. package/.agent/rules/GEMINI.instant.md +37 -0
  67. package/.agent/rules/GEMINI.md +31 -62
  68. package/.agent/rules/api-spec.md +28 -0
  69. package/.agent/rules/code-quality.md +3 -34
  70. package/.agent/rules/database.md +24 -0
  71. package/.agent/rules/devops.md +23 -0
  72. package/.agent/rules/frontend.md +3 -3
  73. package/.agent/rules/growth-strategy.md +22 -0
  74. package/.agent/rules/logging-monitoring.md +22 -0
  75. package/.agent/rules/quality-assurance.md +22 -0
  76. package/.agent/rules/strict-protocol.md +3 -44
  77. package/.agent/rules/system-reasoning.md +20 -0
  78. package/.agent/rules/system-update.md +3 -56
  79. package/.agent/rules/ui-design.md +23 -0
  80. package/.agent/rules/ux-patterns.md +23 -0
  81. package/.agent/scripts/auto_preview.py +148 -0
  82. package/.agent/scripts/checklist.py +252 -0
  83. package/.agent/scripts/session_manager.py +120 -0
  84. package/.agent/scripts/simulation_install.js +59 -0
  85. package/.agent/scripts/sync_to_global.py +78 -0
  86. package/.agent/scripts/translate_workflows.py +53 -0
  87. package/.agent/scripts/verify_all.py +327 -0
  88. package/.agent/scripts/verify_shared_modules.js +126 -0
  89. package/.agent/skills/agent-backend-patterns/SKILL.md +6 -13
  90. package/.agent/skills/ai-engineer/SKILL.md +16 -29
  91. package/.agent/skills/api-documenter/SKILL.md +4 -4
  92. package/.agent/skills/app-builder/SKILL.md +1 -1
  93. package/.agent/skills/app-builder/tech-stack.md +2 -2
  94. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +79 -39
  95. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +75 -53
  96. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +119 -56
  97. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +94 -61
  98. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +82 -56
  99. package/.agent/skills/cloud-architect-master/SKILL.md +4 -9
  100. package/.agent/skills/cro-expert-kit/SKILL.md +4 -9
  101. package/.agent/skills/database-migration/SKILL.md +3 -9
  102. package/.agent/skills/deployment-engineer/SKILL.md +3 -9
  103. package/.agent/skills/fastcode-search/SKILL.md +46 -0
  104. package/.agent/skills/fastcode-search/fastcode_config.example.json +17 -0
  105. package/.agent/skills/frontend-design/ux-psychology.md +585 -10
  106. package/.agent/skills/frontend-trends-2026/SKILL.md +78 -0
  107. package/.agent/skills/frontend-trends-2026/formulas/BentoGrid.tsx +42 -0
  108. package/.agent/skills/frontend-trends-2026/formulas/LiquidCard.tsx +32 -0
  109. package/.agent/skills/frontend-trends-2026/formulas/NeoButton.tsx +27 -0
  110. package/.agent/skills/full-stack-scaffold/SKILL.md +4 -4
  111. package/.agent/skills/game-development/2d-games/SKILL.md +2 -4
  112. package/.agent/skills/game-development/3d-games/SKILL.md +2 -4
  113. package/.agent/skills/game-development/SKILL.md +149 -18
  114. package/.agent/skills/game-development/game-art/SKILL.md +2 -4
  115. package/.agent/skills/game-development/game-audio/SKILL.md +2 -4
  116. package/.agent/skills/game-development/game-design/SKILL.md +2 -4
  117. package/.agent/skills/game-development/mobile-games/SKILL.md +2 -4
  118. package/.agent/skills/game-development/multiplayer/SKILL.md +2 -4
  119. package/.agent/skills/game-development/pc-games/SKILL.md +2 -4
  120. package/.agent/skills/game-development/vr-ar/SKILL.md +2 -4
  121. package/.agent/skills/game-development/web-games/SKILL.md +2 -4
  122. package/.agent/skills/geo-fundamentals/SKILL.md +136 -9
  123. package/.agent/skills/git-collaboration-master/SKILL.md +4 -9
  124. package/.agent/skills/i18n-localization/SKILL.md +118 -10
  125. package/.agent/skills/incident-responder/SKILL.md +6 -9
  126. package/.agent/skills/legacy-modernizer/SKILL.md +4 -9
  127. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +14 -2
  128. package/.agent/skills/mcp-builder/SKILL.md +164 -21
  129. package/.agent/skills/mobile-design/SKILL.md +369 -21
  130. package/.agent/skills/mobile-design/mobile-performance.md +1 -1
  131. package/.agent/skills/modern-web-architect/SKILL.md +6 -12
  132. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +1 -1
  133. package/.agent/skills/penetration-tester-master/SKILL.md +4 -9
  134. package/.agent/skills/performance-engineer/SKILL.md +5 -4
  135. package/.agent/skills/production-code-audit/SKILL.md +0 -6
  136. package/.agent/skills/rust-pro/SKILL.md +177 -0
  137. package/.agent/skills/security-auditor/SKILL.md +27 -35
  138. package/.agent/skills/seo-expert-kit/SKILL.md +4 -9
  139. package/.agent/skills/tdd-master-workflow/SKILL.md +3 -9
  140. package/.agent/workflows/audit.md +16 -30
  141. package/.agent/workflows/brainstorm.md +96 -33
  142. package/.agent/workflows/create.md +45 -37
  143. package/.agent/workflows/debug.md +84 -45
  144. package/.agent/workflows/deep-security-audit.md +9 -0
  145. package/.agent/workflows/deploy.md +158 -33
  146. package/.agent/workflows/document.md +15 -38
  147. package/.agent/workflows/enhance.md +48 -33
  148. package/.agent/workflows/growth-max.md +9 -0
  149. package/.agent/workflows/monitor.md +14 -35
  150. package/.agent/workflows/orchestrate.md +218 -31
  151. package/.agent/workflows/performance-max.md +9 -0
  152. package/.agent/workflows/plan.md +70 -39
  153. package/.agent/workflows/security.md +14 -35
  154. package/.agent/workflows/seo.md +16 -39
  155. package/.agent/workflows/status.md +72 -33
  156. package/.agent/workflows/test.md +127 -30
  157. package/.agent/workflows/ui-ux-pro-max.md +283 -24
  158. package/.editorconfig +21 -0
  159. package/.gitattributes +7 -0
  160. package/CHANGELOG.md +32 -0
  161. package/ERRORS.md +67 -0
  162. package/{.agent/GEMINI.md → GEMINI.md} +5 -4
  163. package/LICENSE +8 -22
  164. package/README.md +72 -102
  165. package/README.vi.md +110 -90
  166. package/action.yml +32 -0
  167. package/antigravity-ide-logo.png +0 -0
  168. package/antigravity-ide-logo.svg +24 -0
  169. package/assets/skills-bundle.json +1 -0
  170. package/cli/create.js +413 -275
  171. package/cli/index.js +24 -28
  172. package/cli/lib/auto-update.js +21 -14
  173. package/cli/logic/skill-definitions.js +39 -0
  174. package/cli/manifest.js +524 -0
  175. package/cli/prompts.js +145 -151
  176. package/cli/skills/fastcode.js +181 -0
  177. package/docs/AGENTS_GUIDE.vi.md +45 -38
  178. package/docs/AGENT_FLOW.md +608 -0
  179. package/docs/CONTRIBUTING.md +46 -0
  180. package/docs/CONTRIBUTING.vi.md +3 -12
  181. package/docs/COPYRIGHT.md +57 -0
  182. package/docs/DEPLOYMENT.md +77 -0
  183. package/docs/{GEMINI_USAGE.md → GEMINI_GUIDE.md} +6 -6
  184. package/docs/GLOSSARY.md +109 -0
  185. package/docs/GLOSSARY.vi.md +30 -49
  186. package/docs/HOW_ANTIGRAVITY_THINKS.vi.md +1 -1
  187. package/docs/MASTER_GUIDE.md +103 -0
  188. package/docs/OPERATIONAL_FLOW.md +147 -0
  189. package/docs/OPERATIONAL_FLOW.vi.md +0 -15
  190. package/docs/PLAN-upgrade-core-architecture.md +71 -0
  191. package/docs/{PUBLISHING_GUIDE.md → PUBLISHING.md} +3 -31
  192. package/docs/RULES_GUIDE.vi.md +31 -67
  193. package/docs/SHARED_LIBRARY_GUIDE.vi.md +22 -18
  194. package/docs/SKILLS.md +610 -0
  195. package/docs/SKILLS_GUIDE.vi.md +32 -118
  196. package/docs/TROUBLESHOOTING.md +43 -0
  197. package/docs/TROUBLESHOOTING.vi.md +2 -10
  198. package/docs/WORKFLOW_GUIDE.vi.md +9 -57
  199. package/jest.config.js +8 -0
  200. package/package.json +8 -31
  201. package/scripts/bump.js +93 -0
  202. package/scripts/bundle-skills.js +59 -0
  203. package/scripts/internal/automation/auto-release.js +177 -0
  204. package/scripts/internal/fractalize-skills.js +89 -0
  205. package/scripts/internal/generate-skill-definitions.js +134 -0
  206. package/scripts/internal/internal/update-docs.js +115 -0
  207. package/scripts/internal/refactor-skill-content.js +127 -0
  208. package/scripts/internal/rename-skills.js +96 -0
  209. package/scripts/internal/sync-skills.js +112 -0
  210. package/scripts/internal/update-frontmatter-names.js +99 -0
  211. package/scripts/internal/verification/audit-dna.js +56 -0
  212. package/scripts/internal/verification/audit-skills.js +65 -0
  213. package/setup.js +114 -147
  214. package/web/src/app/docs/guide/examples/brainstorm/page.mdx +91 -0
  215. package/web/src/app/docs/guide/examples/create/page.mdx +84 -0
  216. package/web/src/app/docs/guide/examples/debugging/page.mdx +83 -0
  217. package/web/src/app/docs/guide/examples/deployment/page.mdx +93 -0
  218. package/web/src/app/docs/guide/examples/new-feature/page.mdx +102 -0
  219. package/web/src/app/docs/guide/examples/orchestration/page.mdx +99 -0
  220. package/web/src/app/docs/guide/examples/plan/page.mdx +76 -0
  221. package/web/src/app/docs/guide/examples/preview/page.mdx +77 -0
  222. package/web/src/app/docs/guide/examples/status/page.mdx +78 -0
  223. package/web/src/app/docs/guide/examples/test/page.mdx +80 -0
  224. package/web/src/app/docs/guide/examples/ui-design/page.mdx +90 -0
  225. package/web/src/components/mdx/Callout.tsx +60 -0
  226. package/web/src/components/mdx/FeatureGrid.tsx +38 -0
  227. package/web/src/components/mdx/ProTips.tsx +29 -0
  228. package/web/src/components/mdx/StepList.tsx +33 -0
  229. package/web/src/components/mdx/Terminal.tsx +58 -0
  230. package/web/src/components/mdx/index.ts +5 -0
  231. package/web/src/mdx-components.tsx +98 -0
  232. package/.agent/skills/brand-guidelines-anthropic/LICENSE.txt +0 -202
  233. package/.agent/skills/brand-guidelines-anthropic/SKILL.md +0 -26
  234. package/.agent/skills/brand-guidelines-anthropic/sub-skills/color-application.md +0 -5
  235. package/.agent/skills/brand-guidelines-anthropic/sub-skills/colors.md +0 -14
  236. package/.agent/skills/brand-guidelines-anthropic/sub-skills/font-management.md +0 -6
  237. package/.agent/skills/brand-guidelines-anthropic/sub-skills/shape-and-accent-colors.md +0 -7
  238. package/.agent/skills/brand-guidelines-anthropic/sub-skills/smart-font-application.md +0 -6
  239. package/.agent/skills/brand-guidelines-anthropic/sub-skills/text-styling.md +0 -6
  240. package/.agent/skills/brand-guidelines-anthropic/sub-skills/typography.md +0 -7
  241. package/.agent/skills/internal-comms-anthropic/LICENSE.txt +0 -202
  242. package/.agent/skills/internal-comms-anthropic/SKILL.md +0 -33
  243. package/.agent/skills/internal-comms-anthropic/examples/3p-updates.md +0 -47
  244. package/.agent/skills/internal-comms-anthropic/examples/company-newsletter.md +0 -65
  245. package/.agent/skills/internal-comms-anthropic/examples/faq-answers.md +0 -30
  246. package/.agent/skills/internal-comms-anthropic/examples/general-comms.md +0 -16
  247. package/.agent/skills/last30days/tests/__init__.py +0 -1
  248. package/.agent/skills/last30days/tests/test_cache.py +0 -59
  249. package/.agent/skills/last30days/tests/test_dates.py +0 -114
  250. package/.agent/skills/last30days/tests/test_dedupe.py +0 -111
  251. package/.agent/skills/last30days/tests/test_models.py +0 -135
  252. package/.agent/skills/last30days/tests/test_normalize.py +0 -138
  253. package/.agent/skills/last30days/tests/test_render.py +0 -116
  254. package/.agent/skills/last30days/tests/test_score.py +0 -168
  255. package/.agent/skills/loki-mode/.github/workflows/claude-code-review.yml +0 -57
  256. package/.agent/skills/loki-mode/.github/workflows/claude.yml +0 -50
  257. package/.agent/skills/loki-mode/.github/workflows/release.yml +0 -128
  258. package/.agent/skills/loki-mode/tests/run-all-tests.sh +0 -78
  259. package/.agent/skills/loki-mode/tests/test-agent-timeout.sh +0 -348
  260. package/.agent/skills/loki-mode/tests/test-bootstrap.sh +0 -196
  261. package/.agent/skills/loki-mode/tests/test-circuit-breaker.sh +0 -389
  262. package/.agent/skills/loki-mode/tests/test-state-recovery.sh +0 -393
  263. package/.agent/skills/loki-mode/tests/test-task-queue.sh +0 -396
  264. package/.agent/skills/loki-mode/tests/test-wrapper.sh +0 -314
  265. package/.agent/skills/shopify-development/scripts/tests/test_shopify_init.py +0 -379
  266. package/cli/logic/product-skills.js +0 -58
  267. /package/.agent/.shared/{technical/ai-master → ai-master}/best_patterns.md +0 -0
  268. /package/.agent/.shared/{technical/ai-master → ai-master}/checklists/prompt_audit.md +0 -0
  269. /package/.agent/.shared/{technical/ai-master → ai-master}/presets/model_configs.json +0 -0
  270. /package/.agent/.shared/{technical/api-standards → api-standards}/data +0 -0
  271. /package/.agent/.shared/{technical/api-standards → api-standards}/endpoints_naming.md +0 -0
  272. /package/.agent/.shared/{technical/api-standards → api-standards}/error_codes.csv +0 -0
  273. /package/.agent/.shared/{technical/api-standards → api-standards}/pagination_sorting.md +0 -0
  274. /package/.agent/.shared/{technical/api-standards → api-standards}/response_format.json +0 -0
  275. /package/.agent/.shared/{verticals/compliance → compliance}/legal_templates.md +0 -0
  276. /package/.agent/.shared/{technical/database-master → database-master}/schemas/auth_rbac.sql +0 -0
  277. /package/.agent/.shared/{technical/database-master → database-master}/schemas/cms.sql +0 -0
  278. /package/.agent/.shared/{technical/database-master → database-master}/schemas/ecommerce.sql +0 -0
  279. /package/.agent/.shared/{core/design-philosophy → design-philosophy}/MANIFESTO.md +0 -0
  280. /package/.agent/.shared/{core/design-philosophy → design-philosophy}/checklists/tactile_audit.md +0 -0
  281. /package/.agent/.shared/{core/design-philosophy → design-philosophy}/checklists/visual_audit.md +0 -0
  282. /package/.agent/.shared/{core/design-philosophy → design-philosophy}/presets/linear_glow.json +0 -0
  283. /package/.agent/.shared/{technical/design-system → design-system}/brand_presets.json +0 -0
  284. /package/.agent/.shared/{technical/design-system → design-system}/micro_interactions.md +0 -0
  285. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/edtech.md +0 -0
  286. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/fintech.md +0 -0
  287. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/fnb_restaurant.md +0 -0
  288. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/freelance_marketplace.md +0 -0
  289. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/healthcare.md +0 -0
  290. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/hospitality_tourism.md +0 -0
  291. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/logistics.md +0 -0
  292. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/marketing_automation.md +0 -0
  293. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/personal_branding.md +0 -0
  294. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/real_estate.md +0 -0
  295. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/retail_ecommerce.md +0 -0
  296. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/standard-pro-agents.md +0 -0
  297. /package/.agent/.shared/{core/dx-toolkit → dx-toolkit}/checklists/code_review.md +0 -0
  298. /package/.agent/.shared/{core/dx-toolkit → dx-toolkit}/presets/vscode_settings.json +0 -0
  299. /package/.agent/.shared/{technical/i18n-master → i18n-master}/vi_tech_dictionary.csv +0 -0
  300. /package/.agent/.shared/{technical/i18n-master → i18n-master}/workflows.json +0 -0
  301. /package/.agent/.shared/{verticals/infra-blueprints → infra-blueprints}/deployment_specs.md +0 -0
  302. /package/.agent/.shared/{core/metrics → metrics}/benchmarks.json +0 -0
  303. /package/.agent/.shared/{technical/resilience-patterns → resilience-patterns}/checklists/chaos_engineering.md +0 -0
  304. /package/.agent/.shared/{technical/resilience-patterns → resilience-patterns}/presets/circuit_breaker.json +0 -0
  305. /package/.agent/.shared/{technical/security-armor → security-armor}/checklists/vuln_scan.md +0 -0
  306. /package/.agent/.shared/{technical/security-armor → security-armor}/hardening.md +0 -0
  307. /package/.agent/.shared/{technical/security-armor → security-armor}/presets/helmet_config.json +0 -0
  308. /package/.agent/.shared/{technical/seo-master → seo-master}/checklists/technical_seo.md +0 -0
  309. /package/.agent/.shared/{technical/seo-master → seo-master}/presets/json_ld_schema.json +0 -0
  310. /package/.agent/.shared/{technical/testing-master → testing-master}/checklists/pre_release.md +0 -0
  311. /package/.agent/.shared/{technical/testing-master → testing-master}/scenarios.md +0 -0
  312. /package/.agent/{skills → .shared}/ui-ux-pro-max/data/charts.csv +0 -0
  313. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/colors.csv +0 -0
  314. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/icons.csv +0 -0
  315. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/landing.csv +0 -0
  316. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/products.csv +0 -0
  317. /package/.agent/{skills → .shared}/ui-ux-pro-max/data/prompts.csv +0 -0
  318. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/react-performance.csv +0 -0
  319. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/flutter.csv +0 -0
  320. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/html-tailwind.csv +0 -0
  321. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/jetpack-compose.csv +0 -0
  322. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nextjs.csv +0 -0
  323. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxt-ui.csv +0 -0
  324. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxtjs.csv +0 -0
  325. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react-native.csv +0 -0
  326. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react.csv +0 -0
  327. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/shadcn.csv +0 -0
  328. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/svelte.csv +0 -0
  329. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/swiftui.csv +0 -0
  330. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/vue.csv +0 -0
  331. /package/.agent/{skills → .shared}/ui-ux-pro-max/data/styles.csv +0 -0
  332. /package/.agent/{skills → .shared}/ui-ux-pro-max/data/typography.csv +0 -0
  333. /package/.agent/{skills → .shared}/ui-ux-pro-max/data/ui-reasoning.csv +0 -0
  334. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/ux-guidelines.csv +0 -0
  335. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/web-interface.csv +0 -0
  336. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/core.cpython-313.pyc +0 -0
  337. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  338. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/core.py +0 -0
  339. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/design_system.py +0 -0
  340. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/search.py +0 -0
  341. /package/.agent/.shared/{core/vitals-templates → vitals-templates}/audit_report.md +0 -0
  342. /package/.agent/.shared/{core/vitals-templates → vitals-templates}/plan_prd.md +0 -0
  343. /package/.agent/skills/ai-engineer/{sub-skills → resources}/ai_infra_stack.md +0 -0
  344. /package/.agent/skills/cloud-architect-master/{sub-skills → resources}/cost_optimization_checklist.md +0 -0
  345. /package/.agent/skills/cro-expert-kit/{sub-skills → resources}/psychological_triggers.md +0 -0
  346. /package/.agent/skills/database-migration/{sub-skills → resources}/zero_downtime_strategy.md +0 -0
  347. /package/.agent/skills/deployment-engineer/{sub-skills → resources}/k8s_best_practices.md +0 -0
  348. /package/.agent/skills/git-collaboration-master/{sub-skills → resources}/pr_template.md +0 -0
  349. /package/.agent/skills/incident-responder/{sub-skills → resources}/incident_severity_levels.md +0 -0
  350. /package/.agent/skills/legacy-modernizer/{sub-skills → resources}/strangler_fig_pattern.md +0 -0
  351. /package/.agent/skills/penetration-tester-master/{sub-skills → resources}/owasp_top_10_2025.md +0 -0
  352. /package/.agent/skills/production-code-audit/{sub-skills → resources}/solid_principles_cheat_sheet.md +0 -0
  353. /package/.agent/skills/seo-expert-kit/{sub-skills → resources}/technical_seo_checklist.md +0 -0
  354. /package/.agent/skills/tdd-master-workflow/{sub-skills → resources}/unit_test_naming_convention.md +0 -0
@@ -1,7 +0,0 @@
1
- # Shape and Accent Colors
2
-
3
- - Non-text shapes use accent colors
4
- - Cycles through orange, blue, and green accents
5
- - Maintains visual interest while staying on-brand
6
-
7
- ## Technical Details
@@ -1,6 +0,0 @@
1
- # Smart Font Application
2
-
3
- - Applies Poppins font to headings (24pt and larger)
4
- - Applies Lora font to body text
5
- - Automatically falls back to Arial/Georgia if custom fonts unavailable
6
- - Preserves readability across all systems
@@ -1,6 +0,0 @@
1
- # Text Styling
2
-
3
- - Headings (24pt+): Poppins font
4
- - Body text: Lora font
5
- - Smart color selection based on background
6
- - Preserves text hierarchy and formatting
@@ -1,7 +0,0 @@
1
- # Typography
2
-
3
- - **Headings**: Poppins (with Arial fallback)
4
- - **Body Text**: Lora (with Georgia fallback)
5
- - **Note**: Fonts should be pre-installed in your environment for best results
6
-
7
- ## Features
@@ -1,202 +0,0 @@
1
-
2
- Apache License
3
- Version 2.0, January 2004
4
- http://www.apache.org/licenses/
5
-
6
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
-
8
- 1. Definitions.
9
-
10
- "License" shall mean the terms and conditions for use, reproduction,
11
- and distribution as defined by Sections 1 through 9 of this document.
12
-
13
- "Licensor" shall mean the copyright owner or entity authorized by
14
- the copyright owner that is granting the License.
15
-
16
- "Legal Entity" shall mean the union of the acting entity and all
17
- other entities that control, are controlled by, or are under common
18
- control with that entity. For the purposes of this definition,
19
- "control" means (i) the power, direct or indirect, to cause the
20
- direction or management of such entity, whether by contract or
21
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
- outstanding shares, or (iii) beneficial ownership of such entity.
23
-
24
- "You" (or "Your") shall mean an individual or Legal Entity
25
- exercising permissions granted by this License.
26
-
27
- "Source" form shall mean the preferred form for making modifications,
28
- including but not limited to software source code, documentation
29
- source, and configuration files.
30
-
31
- "Object" form shall mean any form resulting from mechanical
32
- transformation or translation of a Source form, including but
33
- not limited to compiled object code, generated documentation,
34
- and conversions to other media types.
35
-
36
- "Work" shall mean the work of authorship, whether in Source or
37
- Object form, made available under the License, as indicated by a
38
- copyright notice that is included in or attached to the work
39
- (an example is provided in the Appendix below).
40
-
41
- "Derivative Works" shall mean any work, whether in Source or Object
42
- form, that is based on (or derived from) the Work and for which the
43
- editorial revisions, annotations, elaborations, or other modifications
44
- represent, as a whole, an original work of authorship. For the purposes
45
- of this License, Derivative Works shall not include works that remain
46
- separable from, or merely link (or bind by name) to the interfaces of,
47
- the Work and Derivative Works thereof.
48
-
49
- "Contribution" shall mean any work of authorship, including
50
- the original version of the Work and any modifications or additions
51
- to that Work or Derivative Works thereof, that is intentionally
52
- submitted to Licensor for inclusion in the Work by the copyright owner
53
- or by an individual or Legal Entity authorized to submit on behalf of
54
- the copyright owner. For the purposes of this definition, "submitted"
55
- means any form of electronic, verbal, or written communication sent
56
- to the Licensor or its representatives, including but not limited to
57
- communication on electronic mailing lists, source code control systems,
58
- and issue tracking systems that are managed by, or on behalf of, the
59
- Licensor for the purpose of discussing and improving the Work, but
60
- excluding communication that is conspicuously marked or otherwise
61
- designated in writing by the copyright owner as "Not a Contribution."
62
-
63
- "Contributor" shall mean Licensor and any individual or Legal Entity
64
- on behalf of whom a Contribution has been received by Licensor and
65
- subsequently incorporated within the Work.
66
-
67
- 2. Grant of Copyright License. Subject to the terms and conditions of
68
- this License, each Contributor hereby grants to You a perpetual,
69
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
- copyright license to reproduce, prepare Derivative Works of,
71
- publicly display, publicly perform, sublicense, and distribute the
72
- Work and such Derivative Works in Source or Object form.
73
-
74
- 3. Grant of Patent License. Subject to the terms and conditions of
75
- this License, each Contributor hereby grants to You a perpetual,
76
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
- (except as stated in this section) patent license to make, have made,
78
- use, offer to sell, sell, import, and otherwise transfer the Work,
79
- where such license applies only to those patent claims licensable
80
- by such Contributor that are necessarily infringed by their
81
- Contribution(s) alone or by combination of their Contribution(s)
82
- with the Work to which such Contribution(s) was submitted. If You
83
- institute patent litigation against any entity (including a
84
- cross-claim or counterclaim in a lawsuit) alleging that the Work
85
- or a Contribution incorporated within the Work constitutes direct
86
- or contributory patent infringement, then any patent licenses
87
- granted to You under this License for that Work shall terminate
88
- as of the date such litigation is filed.
89
-
90
- 4. Redistribution. You may reproduce and distribute copies of the
91
- Work or Derivative Works thereof in any medium, with or without
92
- modifications, and in Source or Object form, provided that You
93
- meet the following conditions:
94
-
95
- (a) You must give any other recipients of the Work or
96
- Derivative Works a copy of this License; and
97
-
98
- (b) You must cause any modified files to carry prominent notices
99
- stating that You changed the files; and
100
-
101
- (c) You must retain, in the Source form of any Derivative Works
102
- that You distribute, all copyright, patent, trademark, and
103
- attribution notices from the Source form of the Work,
104
- excluding those notices that do not pertain to any part of
105
- the Derivative Works; and
106
-
107
- (d) If the Work includes a "NOTICE" text file as part of its
108
- distribution, then any Derivative Works that You distribute must
109
- include a readable copy of the attribution notices contained
110
- within such NOTICE file, excluding those notices that do not
111
- pertain to any part of the Derivative Works, in at least one
112
- of the following places: within a NOTICE text file distributed
113
- as part of the Derivative Works; within the Source form or
114
- documentation, if provided along with the Derivative Works; or,
115
- within a display generated by the Derivative Works, if and
116
- wherever such third-party notices normally appear. The contents
117
- of the NOTICE file are for informational purposes only and
118
- do not modify the License. You may add Your own attribution
119
- notices within Derivative Works that You distribute, alongside
120
- or as an addendum to the NOTICE text from the Work, provided
121
- that such additional attribution notices cannot be construed
122
- as modifying the License.
123
-
124
- You may add Your own copyright statement to Your modifications and
125
- may provide additional or different license terms and conditions
126
- for use, reproduction, or distribution of Your modifications, or
127
- for any such Derivative Works as a whole, provided Your use,
128
- reproduction, and distribution of the Work otherwise complies with
129
- the conditions stated in this License.
130
-
131
- 5. Submission of Contributions. Unless You explicitly state otherwise,
132
- any Contribution intentionally submitted for inclusion in the Work
133
- by You to the Licensor shall be under the terms and conditions of
134
- this License, without any additional terms or conditions.
135
- Notwithstanding the above, nothing herein shall supersede or modify
136
- the terms of any separate license agreement you may have executed
137
- with Licensor regarding such Contributions.
138
-
139
- 6. Trademarks. This License does not grant permission to use the trade
140
- names, trademarks, service marks, or product names of the Licensor,
141
- except as required for reasonable and customary use in describing the
142
- origin of the Work and reproducing the content of the NOTICE file.
143
-
144
- 7. Disclaimer of Warranty. Unless required by applicable law or
145
- agreed to in writing, Licensor provides the Work (and each
146
- Contributor provides its Contributions) on an "AS IS" BASIS,
147
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
- implied, including, without limitation, any warranties or conditions
149
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
- PARTICULAR PURPOSE. You are solely responsible for determining the
151
- appropriateness of using or redistributing the Work and assume any
152
- risks associated with Your exercise of permissions under this License.
153
-
154
- 8. Limitation of Liability. In no event and under no legal theory,
155
- whether in tort (including negligence), contract, or otherwise,
156
- unless required by applicable law (such as deliberate and grossly
157
- negligent acts) or agreed to in writing, shall any Contributor be
158
- liable to You for damages, including any direct, indirect, special,
159
- incidental, or consequential damages of any character arising as a
160
- result of this License or out of the use or inability to use the
161
- Work (including but not limited to damages for loss of goodwill,
162
- work stoppage, computer failure or malfunction, or any and all
163
- other commercial damages or losses), even if such Contributor
164
- has been advised of the possibility of such damages.
165
-
166
- 9. Accepting Warranty or Additional Liability. While redistributing
167
- the Work or Derivative Works thereof, You may choose to offer,
168
- and charge a fee for, acceptance of support, warranty, indemnity,
169
- or other liability obligations and/or rights consistent with this
170
- License. However, in accepting such obligations, You may act only
171
- on Your own behalf and on Your sole responsibility, not on behalf
172
- of any other Contributor, and only if You agree to indemnify,
173
- defend, and hold each Contributor harmless for any liability
174
- incurred by, or claims asserted against, such Contributor by reason
175
- of your accepting any such warranty or additional liability.
176
-
177
- END OF TERMS AND CONDITIONS
178
-
179
- APPENDIX: How to apply the Apache License to your work.
180
-
181
- To apply the Apache License to your work, attach the following
182
- boilerplate notice, with the fields enclosed by brackets "[]"
183
- replaced with your own identifying information. (Don't include
184
- the brackets!) The text should be enclosed in the appropriate
185
- comment syntax for the file format. We also recommend that a
186
- file or class name and description of purpose be included on the
187
- same "printed page" as the copyright notice for easier
188
- identification within third-party archives.
189
-
190
- Copyright [yyyy] [name of copyright owner]
191
-
192
- Licensed under the Apache License, Version 2.0 (the "License");
193
- you may not use this file except in compliance with the License.
194
- You may obtain a copy of the License at
195
-
196
- http://www.apache.org/licenses/LICENSE-2.0
197
-
198
- Unless required by applicable law or agreed to in writing, software
199
- distributed under the License is distributed on an "AS IS" BASIS,
200
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
- See the License for the specific language governing permissions and
202
- limitations under the License.
@@ -1,33 +0,0 @@
1
- ---
2
- version: 4.1.0-fractal
3
- name: internal-comms
4
- description: A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
5
- license: Complete terms in LICENSE.txt
6
- ---
7
-
8
- ## When to use this skill
9
- To write internal communications, use this skill for:
10
- - 3P updates (Progress, Plans, Problems)
11
- - Company newsletters
12
- - FAQ responses
13
- - Status reports
14
- - Leadership updates
15
- - Project updates
16
- - Incident reports
17
-
18
- ## How to use this skill
19
-
20
- To write any internal communication:
21
-
22
- 1. **Identify the communication type** from the request
23
- 2. **Load the appropriate guideline file** from the `examples/` directory:
24
- - `examples/3p-updates.md` - For Progress/Plans/Problems team updates
25
- - `examples/company-newsletter.md` - For company-wide newsletters
26
- - `examples/faq-answers.md` - For answering frequently asked questions
27
- - `examples/general-comms.md` - For anything else that doesn't explicitly match one of the above
28
- 3. **Follow the specific instructions** in that file for formatting, tone, and content gathering
29
-
30
- If the communication type doesn't match any existing guideline, ask for clarification or more context about the desired format.
31
-
32
- ## Keywords
33
- 3P updates, company newsletter, company comms, weekly update, faqs, common questions, updates, internal comms
@@ -1,47 +0,0 @@
1
- ## Instructions
2
- You are being asked to write a 3P update. 3P updates stand for "Progress, Plans, Problems." The main audience is for executives, leadership, other teammates, etc. They're meant to be very succinct and to-the-point: think something you can read in 30-60sec or less. They're also for people with some, but not a lot of context on what the team does.
3
-
4
- 3Ps can cover a team of any size, ranging all the way up to the entire company. The bigger the team, the less granular the tasks should be. For example, "mobile team" might have "shipped feature" or "fixed bugs," whereas the company might have really meaty 3Ps, like "hired 20 new people" or "closed 10 new deals."
5
-
6
- They represent the work of the team across a time period, almost always one week. They include three sections:
7
- 1) Progress: what the team has accomplished over the next time period. Focus mainly on things shipped, milestones achieved, tasks created, etc.
8
- 2) Plans: what the team plans to do over the next time period. Focus on what things are top-of-mind, really high priority, etc. for the team.
9
- 3) Problems: anything that is slowing the team down. This could be things like too few people, bugs or blockers that are preventing the team from moving forward, some deal that fell through, etc.
10
-
11
- Before writing them, make sure that you know the team name. If it's not specified, you can ask explicitly what the team name you're writing for is.
12
-
13
-
14
- ## Tools Available
15
- Whenever possible, try to pull from available sources to get the information you need:
16
- - Slack: posts from team members with their updates - ideally look for posts in large channels with lots of reactions
17
- - Google Drive: docs written from critical team members with lots of views
18
- - Email: emails with lots of responses of lots of content that seems relevant
19
- - Calendar: non-recurring meetings that have a lot of importance, like product reviews, etc.
20
-
21
-
22
- Try to gather as much context as you can, focusing on the things that covered the time period you're writing for:
23
- - Progress: anything between a week ago and today
24
- - Plans: anything from today to the next week
25
- - Problems: anything between a week ago and today
26
-
27
-
28
- If you don't have access, you can ask the user for things they want to cover. They might also include these things to you directly, in which case you're mostly just formatting for this particular format.
29
-
30
- ## Workflow
31
-
32
- 1. **Clarify scope**: Confirm the team name and time period (usually past week for Progress/Problems, next
33
- week for Plans)
34
- 2. **Gather information**: Use available tools or ask the user directly
35
- 3. **Draft the update**: Follow the strict formatting guidelines
36
- 4. **Review**: Ensure it's concise (30-60 seconds to read) and data-driven
37
-
38
- ## Formatting
39
-
40
- The format is always the same, very strict formatting. Never use any formatting other than this. Pick an emoji that is fun and captures the vibe of the team and update.
41
-
42
- [pick an emoji] [Team Name] (Dates Covered, usually a week)
43
- Progress: [1-3 sentences of content]
44
- Plans: [1-3 sentences of content]
45
- Problems: [1-3 sentences of content]
46
-
47
- Each section should be no more than 1-3 sentences: clear, to the point. It should be data-driven, and generally include metrics where possible. The tone should be very matter-of-fact, not super prose-heavy.
@@ -1,65 +0,0 @@
1
- ## Instructions
2
- You are being asked to write a company-wide newsletter update. You are meant to summarize the past week/month of a company in the form of a newsletter that the entire company will read. It should be maybe ~20-25 bullet points long. It will be sent via Slack and email, so make it consumable for that.
3
-
4
- Ideally it includes the following attributes:
5
- - Lots of links: pulling documents from Google Drive that are very relevant, linking to prominent Slack messages in announce channels and from executives, perhgaps referencing emails that went company-wide, highlighting significant things that have happened in the company.
6
- - Short and to-the-point: each bullet should probably be no longer than ~1-2 sentences
7
- - Use the "we" tense, as you are part of the company. Many of the bullets should say "we did this" or "we did that"
8
-
9
- ## Tools to use
10
- If you have access to the following tools, please try to use them. If not, you can also let the user know directly that their responses would be better if they gave them access.
11
-
12
- - Slack: look for messages in channels with lots of people, with lots of reactions or lots of responses within the thread
13
- - Email: look for things from executives that discuss company-wide announcements
14
- - Calendar: if there were meetings with large attendee lists, particularly things like All-Hands meetings, big company announcements, etc. If there were documents attached to those meetings, those are great links to include.
15
- - Documents: if there were new docs published in the last week or two that got a lot of attention, you can link them. These should be things like company-wide vision docs, plans for the upcoming quarter or half, things authored by critical executives, etc.
16
- - External press: if you see references to articles or press we've received over the past week, that could be really cool too.
17
-
18
- If you don't have access to any of these things, you can ask the user for things they want to cover. In this case, you'll mostly just be polishing up and fitting to this format more directly.
19
-
20
- ## Sections
21
- The company is pretty big: 1000+ people. There are a variety of different teams and initiatives going on across the company. To make sure the update works well, try breaking it into sections of similar things. You might break into clusters like {product development, go to market, finance} or {recruiting, execution, vision}, or {external news, internal news} etc. Try to make sure the different areas of the company are highlighted well.
22
-
23
- ## Prioritization
24
- Focus on:
25
- - Company-wide impact (not team-specific details)
26
- - Announcements from leadership
27
- - Major milestones and achievements
28
- - Information that affects most employees
29
- - External recognition or press
30
-
31
- Avoid:
32
- - Overly granular team updates (save those for 3Ps)
33
- - Information only relevant to small groups
34
- - Duplicate information already communicated
35
-
36
- ## Example Formats
37
-
38
- :megaphone: Company Announcements
39
- - Announcement 1
40
- - Announcement 2
41
- - Announcement 3
42
-
43
- :dart: Progress on Priorities
44
- - Area 1
45
- - Sub-area 1
46
- - Sub-area 2
47
- - Sub-area 3
48
- - Area 2
49
- - Sub-area 1
50
- - Sub-area 2
51
- - Sub-area 3
52
- - Area 3
53
- - Sub-area 1
54
- - Sub-area 2
55
- - Sub-area 3
56
-
57
- :pillar: Leadership Updates
58
- - Post 1
59
- - Post 2
60
- - Post 3
61
-
62
- :thread: Social Updates
63
- - Update 1
64
- - Update 2
65
- - Update 3
@@ -1,30 +0,0 @@
1
- ## Instructions
2
- You are an assistant for answering questions that are being asked across the company. Every week, there are lots of questions that get asked across the company, and your goal is to try to summarize what those questions are. We want our company to be well-informed and on the same page, so your job is to produce a set of frequently asked questions that our employees are asking and attempt to answer them. Your singular job is to do two things:
3
-
4
- - Find questions that are big sources of confusion for lots of employees at the company, generally about things that affect a large portion of the employee base
5
- - Attempt to give a nice summarized answer to that question in order to minimize confusion.
6
-
7
- Some examples of areas that may be interesting to folks: recent corporate events (fundraising, new executives, etc.), upcoming launches, hiring progress, changes to vision or focus, etc.
8
-
9
-
10
- ## Tools Available
11
- You should use the company's available tools, where communication and work happens. For most companies, it looks something like this:
12
- - Slack: questions being asked across the company - it could be questions in response to posts with lots of responses, questions being asked with lots of reactions or thumbs up to show support, or anything else to show that a large number of employees want to ask the same things
13
- - Email: emails with FAQs written directly in them can be a good source as well
14
- - Documents: docs in places like Google Drive, linked on calendar events, etc. can also be a good source of FAQs, either directly added or inferred based on the contents of the doc
15
-
16
- ## Formatting
17
- The formatting should be pretty basic:
18
-
19
- - *Question*: [insert question - 1 sentence]
20
- - *Answer*: [insert answer - 1-2 sentence]
21
-
22
- ## Guidance
23
- Make sure you're being holistic in your questions. Don't focus too much on just the user in question or the team they are a part of, but try to capture the entire company. Try to be as holistic as you can in reading all the tools available, producing responses that are relevant to all at the company.
24
-
25
- ## Answer Guidelines
26
- - Base answers on official company communications when possible
27
- - If information is uncertain, indicate that clearly
28
- - Link to authoritative sources (docs, announcements, emails)
29
- - Keep tone professional but approachable
30
- - Flag if a question requires executive input or official response
@@ -1,16 +0,0 @@
1
- ## Instructions
2
- You are being asked to write internal company communication that doesn't fit into the standard formats (3P
3
- updates, newsletters, or FAQs).
4
-
5
- Before proceeding:
6
- 1. Ask the user about their target audience
7
- 2. Understand the communication's purpose
8
- 3. Clarify the desired tone (formal, casual, urgent, informational)
9
- 4. Confirm any specific formatting requirements
10
-
11
- Use these general principles:
12
- - Be clear and concise
13
- - Use active voice
14
- - Put the most important information first
15
- - Include relevant links and references
16
- - Match the company's communication style
@@ -1 +0,0 @@
1
- # last30days tests
@@ -1,59 +0,0 @@
1
- """Tests for cache module."""
2
-
3
- import sys
4
- import unittest
5
- from pathlib import Path
6
-
7
- # Add lib to path
8
- sys.path.insert(0, str(Path(__file__).parent.parent / "scripts"))
9
-
10
- from lib import cache
11
-
12
-
13
- class TestGetCacheKey(unittest.TestCase):
14
- def test_returns_string(self):
15
- result = cache.get_cache_key("test topic", "2026-01-01", "2026-01-31", "both")
16
- self.assertIsInstance(result, str)
17
-
18
- def test_consistent_for_same_inputs(self):
19
- key1 = cache.get_cache_key("test topic", "2026-01-01", "2026-01-31", "both")
20
- key2 = cache.get_cache_key("test topic", "2026-01-01", "2026-01-31", "both")
21
- self.assertEqual(key1, key2)
22
-
23
- def test_different_for_different_inputs(self):
24
- key1 = cache.get_cache_key("topic a", "2026-01-01", "2026-01-31", "both")
25
- key2 = cache.get_cache_key("topic b", "2026-01-01", "2026-01-31", "both")
26
- self.assertNotEqual(key1, key2)
27
-
28
- def test_key_length(self):
29
- key = cache.get_cache_key("test", "2026-01-01", "2026-01-31", "both")
30
- self.assertEqual(len(key), 16)
31
-
32
-
33
- class TestCachePath(unittest.TestCase):
34
- def test_returns_path(self):
35
- result = cache.get_cache_path("abc123")
36
- self.assertIsInstance(result, Path)
37
-
38
- def test_has_json_extension(self):
39
- result = cache.get_cache_path("abc123")
40
- self.assertEqual(result.suffix, ".json")
41
-
42
-
43
- class TestCacheValidity(unittest.TestCase):
44
- def test_nonexistent_file_is_invalid(self):
45
- fake_path = Path("/nonexistent/path/file.json")
46
- result = cache.is_cache_valid(fake_path)
47
- self.assertFalse(result)
48
-
49
-
50
- class TestModelCache(unittest.TestCase):
51
- def test_get_cached_model_returns_none_for_missing(self):
52
- # Clear any existing cache first
53
- result = cache.get_cached_model("nonexistent_provider")
54
- # May be None or a cached value, but should not error
55
- self.assertTrue(result is None or isinstance(result, str))
56
-
57
-
58
- if __name__ == "__main__":
59
- unittest.main()
@@ -1,114 +0,0 @@
1
- """Tests for dates module."""
2
-
3
- import sys
4
- import unittest
5
- from datetime import datetime, timedelta, timezone
6
- from pathlib import Path
7
-
8
- # Add lib to path
9
- sys.path.insert(0, str(Path(__file__).parent.parent / "scripts"))
10
-
11
- from lib import dates
12
-
13
-
14
- class TestGetDateRange(unittest.TestCase):
15
- def test_returns_tuple_of_two_strings(self):
16
- from_date, to_date = dates.get_date_range(30)
17
- self.assertIsInstance(from_date, str)
18
- self.assertIsInstance(to_date, str)
19
-
20
- def test_date_format(self):
21
- from_date, to_date = dates.get_date_range(30)
22
- # Should be YYYY-MM-DD format
23
- self.assertRegex(from_date, r'^\d{4}-\d{2}-\d{2}$')
24
- self.assertRegex(to_date, r'^\d{4}-\d{2}-\d{2}$')
25
-
26
- def test_range_is_correct_days(self):
27
- from_date, to_date = dates.get_date_range(30)
28
- start = datetime.strptime(from_date, "%Y-%m-%d")
29
- end = datetime.strptime(to_date, "%Y-%m-%d")
30
- delta = end - start
31
- self.assertEqual(delta.days, 30)
32
-
33
-
34
- class TestParseDate(unittest.TestCase):
35
- def test_parse_iso_date(self):
36
- result = dates.parse_date("2026-01-15")
37
- self.assertIsNotNone(result)
38
- self.assertEqual(result.year, 2026)
39
- self.assertEqual(result.month, 1)
40
- self.assertEqual(result.day, 15)
41
-
42
- def test_parse_timestamp(self):
43
- # Unix timestamp for 2026-01-15 00:00:00 UTC
44
- result = dates.parse_date("1768435200")
45
- self.assertIsNotNone(result)
46
-
47
- def test_parse_none(self):
48
- result = dates.parse_date(None)
49
- self.assertIsNone(result)
50
-
51
- def test_parse_empty_string(self):
52
- result = dates.parse_date("")
53
- self.assertIsNone(result)
54
-
55
-
56
- class TestTimestampToDate(unittest.TestCase):
57
- def test_valid_timestamp(self):
58
- # 2026-01-15 00:00:00 UTC
59
- result = dates.timestamp_to_date(1768435200)
60
- self.assertEqual(result, "2026-01-15")
61
-
62
- def test_none_timestamp(self):
63
- result = dates.timestamp_to_date(None)
64
- self.assertIsNone(result)
65
-
66
-
67
- class TestGetDateConfidence(unittest.TestCase):
68
- def test_high_confidence_in_range(self):
69
- result = dates.get_date_confidence("2026-01-15", "2026-01-01", "2026-01-31")
70
- self.assertEqual(result, "high")
71
-
72
- def test_low_confidence_before_range(self):
73
- result = dates.get_date_confidence("2025-12-15", "2026-01-01", "2026-01-31")
74
- self.assertEqual(result, "low")
75
-
76
- def test_low_confidence_no_date(self):
77
- result = dates.get_date_confidence(None, "2026-01-01", "2026-01-31")
78
- self.assertEqual(result, "low")
79
-
80
-
81
- class TestDaysAgo(unittest.TestCase):
82
- def test_today(self):
83
- today = datetime.now(timezone.utc).date().isoformat()
84
- result = dates.days_ago(today)
85
- self.assertEqual(result, 0)
86
-
87
- def test_none_date(self):
88
- result = dates.days_ago(None)
89
- self.assertIsNone(result)
90
-
91
-
92
- class TestRecencyScore(unittest.TestCase):
93
- def test_today_is_100(self):
94
- today = datetime.now(timezone.utc).date().isoformat()
95
- result = dates.recency_score(today)
96
- self.assertEqual(result, 100)
97
-
98
- def test_30_days_ago_is_0(self):
99
- old_date = (datetime.now(timezone.utc).date() - timedelta(days=30)).isoformat()
100
- result = dates.recency_score(old_date)
101
- self.assertEqual(result, 0)
102
-
103
- def test_15_days_ago_is_50(self):
104
- mid_date = (datetime.now(timezone.utc).date() - timedelta(days=15)).isoformat()
105
- result = dates.recency_score(mid_date)
106
- self.assertEqual(result, 50)
107
-
108
- def test_none_date_is_0(self):
109
- result = dates.recency_score(None)
110
- self.assertEqual(result, 0)
111
-
112
-
113
- if __name__ == "__main__":
114
- unittest.main()