@jetrabbits/agentic 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/AGENTS.md +143 -0
  2. package/README.md +154 -0
  3. package/agentic +1615 -0
  4. package/areas/devops/ci-cd/AGENTS.md +48 -0
  5. package/areas/devops/ci-cd/PROMPTS.md +7 -0
  6. package/areas/devops/ci-cd/prompts/onboard-repo.md +97 -0
  7. package/areas/devops/ci-cd/prompts/pipeline-debug.md +103 -0
  8. package/areas/devops/ci-cd/prompts/release-pipeline.md +115 -0
  9. package/areas/devops/ci-cd/rules/pipeline-standards.md +33 -0
  10. package/areas/devops/ci-cd/rules/quality-gates.md +24 -0
  11. package/areas/devops/ci-cd/rules/supply-chain-security.md +34 -0
  12. package/areas/devops/ci-cd/skills/artifact-management/SKILL.md +157 -0
  13. package/areas/devops/ci-cd/skills/build-optimization/SKILL.md +168 -0
  14. package/areas/devops/ci-cd/skills/github-actions-patterns/SKILL.md +190 -0
  15. package/areas/devops/ci-cd/skills/gitlab-ci-patterns/SKILL.md +169 -0
  16. package/areas/devops/ci-cd/skills/pipeline-security/SKILL.md +161 -0
  17. package/areas/devops/ci-cd/workflows/onboard-repo.md +73 -0
  18. package/areas/devops/ci-cd/workflows/pipeline-debug.md +66 -0
  19. package/areas/devops/ci-cd/workflows/release-pipeline.md +115 -0
  20. package/areas/devops/database-ops/AGENTS.md +47 -0
  21. package/areas/devops/database-ops/prompts/backup-verify.md +83 -0
  22. package/areas/devops/database-ops/prompts/db-incident.md +127 -0
  23. package/areas/devops/database-ops/rules/access-control.md +20 -0
  24. package/areas/devops/database-ops/rules/backup-policy.md +33 -0
  25. package/areas/devops/database-ops/rules/migration-runbook.md +32 -0
  26. package/areas/devops/database-ops/skills/backup-restore/SKILL.md +226 -0
  27. package/areas/devops/database-ops/skills/db-performance/SKILL.md +205 -0
  28. package/areas/devops/database-ops/skills/migration-safety/SKILL.md +155 -0
  29. package/areas/devops/database-ops/skills/postgres-operations/SKILL.md +156 -0
  30. package/areas/devops/database-ops/skills/redis-operations/SKILL.md +174 -0
  31. package/areas/devops/database-ops/workflows/backup-verify.md +107 -0
  32. package/areas/devops/database-ops/workflows/db-incident.md +86 -0
  33. package/areas/devops/devsecops/AGENTS.md +47 -0
  34. package/areas/devops/devsecops/prompts/policy-onboard.md +79 -0
  35. package/areas/devops/devsecops/prompts/security-scan-pipeline.md +131 -0
  36. package/areas/devops/devsecops/rules/container-security.md +22 -0
  37. package/areas/devops/devsecops/rules/policy-as-code.md +37 -0
  38. package/areas/devops/devsecops/rules/shift-left-policy.md +26 -0
  39. package/areas/devops/devsecops/skills/container-hardening/SKILL.md +146 -0
  40. package/areas/devops/devsecops/skills/opa-policies/SKILL.md +188 -0
  41. package/areas/devops/devsecops/skills/sbom-supply-chain/SKILL.md +165 -0
  42. package/areas/devops/devsecops/skills/secret-detection/SKILL.md +190 -0
  43. package/areas/devops/devsecops/skills/sigstore-signing/SKILL.md +184 -0
  44. package/areas/devops/devsecops/workflows/policy-onboard.md +104 -0
  45. package/areas/devops/devsecops/workflows/security-scan-pipeline.md +155 -0
  46. package/areas/devops/infrastructure/AGENTS.md +50 -0
  47. package/areas/devops/infrastructure/prompts/destroy-environment.md +81 -0
  48. package/areas/devops/infrastructure/prompts/drift-remediation.md +71 -0
  49. package/areas/devops/infrastructure/prompts/module-development.md +69 -0
  50. package/areas/devops/infrastructure/prompts/provision-environment.md +121 -0
  51. package/areas/devops/infrastructure/rules/iac-standards.md +80 -0
  52. package/areas/devops/infrastructure/rules/immutability.md +28 -0
  53. package/areas/devops/infrastructure/rules/secret-hygiene.md +53 -0
  54. package/areas/devops/infrastructure/rules/state-management.md +47 -0
  55. package/areas/devops/infrastructure/skills/ansible-playbooks/SKILL.md +174 -0
  56. package/areas/devops/infrastructure/skills/cost-optimization/SKILL.md +177 -0
  57. package/areas/devops/infrastructure/skills/drift-detection/SKILL.md +178 -0
  58. package/areas/devops/infrastructure/skills/state-management/SKILL.md +159 -0
  59. package/areas/devops/infrastructure/skills/terraform-modules/SKILL.md +169 -0
  60. package/areas/devops/infrastructure/workflows/destroy-environment.md +96 -0
  61. package/areas/devops/infrastructure/workflows/drift-remediation.md +66 -0
  62. package/areas/devops/infrastructure/workflows/module-development.md +101 -0
  63. package/areas/devops/infrastructure/workflows/provision-environment.md +96 -0
  64. package/areas/devops/kubernetes/AGENTS.md +57 -0
  65. package/areas/devops/kubernetes/PROMPTS.md +9 -0
  66. package/areas/devops/kubernetes/prompts/cluster-bootstrap.md +67 -0
  67. package/areas/devops/kubernetes/prompts/debug-workload.md +91 -0
  68. package/areas/devops/kubernetes/prompts/onboard-service.md +101 -0
  69. package/areas/devops/kubernetes/prompts/upgrade-cluster.md +63 -0
  70. package/areas/devops/kubernetes/rules/cluster-standards.md +51 -0
  71. package/areas/devops/kubernetes/rules/resource-governance.md +80 -0
  72. package/areas/devops/kubernetes/rules/upgrade-policy.md +52 -0
  73. package/areas/devops/kubernetes/rules/workload-security.md +64 -0
  74. package/areas/devops/kubernetes/skills/cluster-operations/SKILL.md +136 -0
  75. package/areas/devops/kubernetes/skills/helm-charts/SKILL.md +152 -0
  76. package/areas/devops/kubernetes/skills/network-policies/SKILL.md +169 -0
  77. package/areas/devops/kubernetes/skills/pod-troubleshooting/SKILL.md +129 -0
  78. package/areas/devops/kubernetes/skills/rbac-design/SKILL.md +148 -0
  79. package/areas/devops/kubernetes/skills/resource-tuning/SKILL.md +156 -0
  80. package/areas/devops/kubernetes/workflows/cluster-bootstrap.md +194 -0
  81. package/areas/devops/kubernetes/workflows/debug-workload.md +108 -0
  82. package/areas/devops/kubernetes/workflows/onboard-service.md +124 -0
  83. package/areas/devops/kubernetes/workflows/upgrade-cluster.md +165 -0
  84. package/areas/devops/networking/AGENTS.md +47 -0
  85. package/areas/devops/networking/prompts/onboard-ingress.md +119 -0
  86. package/areas/devops/networking/prompts/service-mesh-onboard.md +77 -0
  87. package/areas/devops/networking/rules/ingress-standards.md +17 -0
  88. package/areas/devops/networking/rules/network-segmentation.md +24 -0
  89. package/areas/devops/networking/rules/tls-policy.md +32 -0
  90. package/areas/devops/networking/skills/dns-management/SKILL.md +169 -0
  91. package/areas/devops/networking/skills/ingress-patterns/SKILL.md +165 -0
  92. package/areas/devops/networking/skills/service-mesh/SKILL.md +206 -0
  93. package/areas/devops/networking/skills/tls-termination/SKILL.md +198 -0
  94. package/areas/devops/networking/skills/vpc-design/SKILL.md +132 -0
  95. package/areas/devops/networking/workflows/onboard-ingress.md +64 -0
  96. package/areas/devops/networking/workflows/service-mesh-onboard.md +122 -0
  97. package/areas/devops/observability/AGENTS.md +48 -0
  98. package/areas/devops/observability/prompts/alert-investigation.md +117 -0
  99. package/areas/devops/observability/prompts/observability-stack-setup.md +99 -0
  100. package/areas/devops/observability/prompts/onboard-service-monitoring.md +79 -0
  101. package/areas/devops/observability/rules/alerting-standards.md +36 -0
  102. package/areas/devops/observability/rules/data-retention.md +19 -0
  103. package/areas/devops/observability/rules/golden-signals.md +28 -0
  104. package/areas/devops/observability/skills/distributed-tracing/SKILL.md +149 -0
  105. package/areas/devops/observability/skills/grafana-dashboards/SKILL.md +201 -0
  106. package/areas/devops/observability/skills/log-aggregation/SKILL.md +159 -0
  107. package/areas/devops/observability/skills/prometheus-alertmanager/SKILL.md +188 -0
  108. package/areas/devops/observability/skills/slo-implementation/SKILL.md +189 -0
  109. package/areas/devops/observability/workflows/alert-investigation.md +98 -0
  110. package/areas/devops/observability/workflows/observability-stack-setup.md +156 -0
  111. package/areas/devops/observability/workflows/onboard-service-monitoring.md +83 -0
  112. package/areas/devops/sre/AGENTS.md +48 -0
  113. package/areas/devops/sre/prompts/incident-response.md +129 -0
  114. package/areas/devops/sre/prompts/postmortem.md +101 -0
  115. package/areas/devops/sre/prompts/slo-review.md +125 -0
  116. package/areas/devops/sre/rules/error-budget-policy.md +25 -0
  117. package/areas/devops/sre/rules/on-call-standards.md +25 -0
  118. package/areas/devops/sre/rules/slo-policy.md +31 -0
  119. package/areas/devops/sre/skills/capacity-planning/SKILL.md +162 -0
  120. package/areas/devops/sre/skills/chaos-engineering/SKILL.md +186 -0
  121. package/areas/devops/sre/skills/incident-command/SKILL.md +119 -0
  122. package/areas/devops/sre/skills/postmortem-analysis/SKILL.md +104 -0
  123. package/areas/devops/sre/skills/slo-sli-design/SKILL.md +145 -0
  124. package/areas/devops/sre/workflows/incident-response.md +66 -0
  125. package/areas/devops/sre/workflows/postmortem.md +90 -0
  126. package/areas/devops/sre/workflows/slo-review.md +95 -0
  127. package/areas/software/backend/AGENTS.md +59 -0
  128. package/areas/software/backend/PROMPTS.md +50 -0
  129. package/areas/software/backend/README.md +48 -0
  130. package/areas/software/backend/prompts/add-migration.md +93 -0
  131. package/areas/software/backend/prompts/create-endpoint.md +97 -0
  132. package/areas/software/backend/prompts/debug-issue.md +87 -0
  133. package/areas/software/backend/prompts/develop-epic.md +83 -0
  134. package/areas/software/backend/prompts/develop-feature.md +91 -0
  135. package/areas/software/backend/prompts/refactor-module.md +79 -0
  136. package/areas/software/backend/prompts/test-feature.md +89 -0
  137. package/areas/software/backend/rules/architecture.md +20 -0
  138. package/areas/software/backend/rules/data_access.md +20 -0
  139. package/areas/software/backend/rules/security.md +20 -0
  140. package/areas/software/backend/rules/testing.md +19 -0
  141. package/areas/software/backend/skills/api-design/SKILL.md +170 -0
  142. package/areas/software/backend/skills/async-processing/SKILL.md +152 -0
  143. package/areas/software/backend/skills/database-modeling/SKILL.md +173 -0
  144. package/areas/software/backend/skills/observability/SKILL.md +162 -0
  145. package/areas/software/backend/skills/troubleshooting/SKILL.md +139 -0
  146. package/areas/software/backend/workflows/add-migration.md +79 -0
  147. package/areas/software/backend/workflows/create-endpoint.md +89 -0
  148. package/areas/software/backend/workflows/debug-issue.md +77 -0
  149. package/areas/software/backend/workflows/develop-epic.md +78 -0
  150. package/areas/software/backend/workflows/develop-feature.md +98 -0
  151. package/areas/software/backend/workflows/refactor-module.md +73 -0
  152. package/areas/software/backend/workflows/test-feature.md +67 -0
  153. package/areas/software/data-engineering/AGENTS.md +59 -0
  154. package/areas/software/data-engineering/PROMPTS.md +32 -0
  155. package/areas/software/data-engineering/prompts/backfill-data.md +107 -0
  156. package/areas/software/data-engineering/prompts/data-quality-incident.md +109 -0
  157. package/areas/software/data-engineering/prompts/lineage-trace.md +121 -0
  158. package/areas/software/data-engineering/prompts/new-model.md +117 -0
  159. package/areas/software/data-engineering/prompts/schema-migration.md +111 -0
  160. package/areas/software/data-engineering/rules/data-governance.md +11 -0
  161. package/areas/software/data-engineering/rules/pii-handling.md +19 -0
  162. package/areas/software/data-engineering/rules/pipeline-integrity.md +11 -0
  163. package/areas/software/data-engineering/rules/schema-management.md +21 -0
  164. package/areas/software/data-engineering/skills/data-modeling/SKILL.md +49 -0
  165. package/areas/software/data-engineering/skills/dbt-patterns/SKILL.md +43 -0
  166. package/areas/software/data-engineering/skills/lineage-governance/SKILL.md +38 -0
  167. package/areas/software/data-engineering/skills/orchestration/SKILL.md +35 -0
  168. package/areas/software/data-engineering/skills/quality-checks/SKILL.md +50 -0
  169. package/areas/software/data-engineering/skills/sql-optimization/SKILL.md +47 -0
  170. package/areas/software/data-engineering/skills/streaming-patterns/SKILL.md +48 -0
  171. package/areas/software/data-engineering/workflows/backfill-data.md +59 -0
  172. package/areas/software/data-engineering/workflows/data-quality-incident.md +64 -0
  173. package/areas/software/data-engineering/workflows/lineage-trace.md +56 -0
  174. package/areas/software/data-engineering/workflows/new-model.md +71 -0
  175. package/areas/software/data-engineering/workflows/schema-migration.md +67 -0
  176. package/areas/software/frontend/AGENTS.md +60 -0
  177. package/areas/software/frontend/PROMPTS.md +32 -0
  178. package/areas/software/frontend/prompts/a11y-fix.md +75 -0
  179. package/areas/software/frontend/prompts/bundle-analyze.md +75 -0
  180. package/areas/software/frontend/prompts/release-prep.md +83 -0
  181. package/areas/software/frontend/prompts/scaffold-component.md +69 -0
  182. package/areas/software/frontend/prompts/visual-regression.md +73 -0
  183. package/areas/software/frontend/rules/accessibility.md +16 -0
  184. package/areas/software/frontend/rules/architecture.md +29 -0
  185. package/areas/software/frontend/rules/performance.md +23 -0
  186. package/areas/software/frontend/rules/quality.md +12 -0
  187. package/areas/software/frontend/skills/a11y-audit/SKILL.md +61 -0
  188. package/areas/software/frontend/skills/api-integration/SKILL.md +58 -0
  189. package/areas/software/frontend/skills/component-design/SKILL.md +171 -0
  190. package/areas/software/frontend/skills/css-architecture/SKILL.md +146 -0
  191. package/areas/software/frontend/skills/error-handling/SKILL.md +55 -0
  192. package/areas/software/frontend/skills/performance-tuning/SKILL.md +58 -0
  193. package/areas/software/frontend/skills/state-management/SKILL.md +54 -0
  194. package/areas/software/frontend/skills/testing-patterns/SKILL.md +69 -0
  195. package/areas/software/frontend/workflows/a11y-fix.md +63 -0
  196. package/areas/software/frontend/workflows/bundle-analyze.md +56 -0
  197. package/areas/software/frontend/workflows/release-prep.md +66 -0
  198. package/areas/software/frontend/workflows/scaffold-component.md +67 -0
  199. package/areas/software/frontend/workflows/visual-regression.md +65 -0
  200. package/areas/software/full-stack/AGENTS.md +72 -0
  201. package/areas/software/full-stack/PROMPTS.md +66 -0
  202. package/areas/software/full-stack/prompts/backend-project-full-cycle.md +141 -0
  203. package/areas/software/full-stack/prompts/debug-issue.md +115 -0
  204. package/areas/software/full-stack/prompts/develop-feature.md +119 -0
  205. package/areas/software/full-stack/prompts/feature-implementation-flow.md +137 -0
  206. package/areas/software/full-stack/prompts/testing-ci-pipeline.md +119 -0
  207. package/areas/software/full-stack/rules/api-design-guide.md +24 -0
  208. package/areas/software/full-stack/rules/async-concurrency-guide.md +21 -0
  209. package/areas/software/full-stack/rules/backend-architecture-rule.md +41 -0
  210. package/areas/software/full-stack/rules/background-jobs-guide.md +20 -0
  211. package/areas/software/full-stack/rules/code-quality-guide.md +22 -0
  212. package/areas/software/full-stack/rules/database-access-guide.md +24 -0
  213. package/areas/software/full-stack/rules/database-migrations-guide.md +24 -0
  214. package/areas/software/full-stack/rules/domain-models-guide.md +28 -0
  215. package/areas/software/full-stack/rules/e2e-test-guide.md +18 -0
  216. package/areas/software/full-stack/rules/env-settings-guide.md +34 -0
  217. package/areas/software/full-stack/rules/error-handling-guide.md +20 -0
  218. package/areas/software/full-stack/rules/logging-observability-guide.md +22 -0
  219. package/areas/software/full-stack/rules/project-guide.md +34 -0
  220. package/areas/software/full-stack/rules/python-venv-guide.md +23 -0
  221. package/areas/software/full-stack/rules/security-guide.md +22 -0
  222. package/areas/software/full-stack/rules/svt-test-guide.md +17 -0
  223. package/areas/software/full-stack/rules/testing-ci-guide.md +25 -0
  224. package/areas/software/full-stack/skills/api-design-principles/SKILL.md +125 -0
  225. package/areas/software/full-stack/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  226. package/areas/software/full-stack/skills/api-design-principles/assets/rest-api-template.py +182 -0
  227. package/areas/software/full-stack/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  228. package/areas/software/full-stack/skills/api-design-principles/references/rest-best-practices.md +408 -0
  229. package/areas/software/full-stack/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  230. package/areas/software/full-stack/skills/api-patterns/SKILL.md +81 -0
  231. package/areas/software/full-stack/skills/api-patterns/api-style.md +42 -0
  232. package/areas/software/full-stack/skills/api-patterns/auth.md +24 -0
  233. package/areas/software/full-stack/skills/api-patterns/documentation.md +26 -0
  234. package/areas/software/full-stack/skills/api-patterns/graphql.md +41 -0
  235. package/areas/software/full-stack/skills/api-patterns/rate-limiting.md +31 -0
  236. package/areas/software/full-stack/skills/api-patterns/response.md +37 -0
  237. package/areas/software/full-stack/skills/api-patterns/rest.md +40 -0
  238. package/areas/software/full-stack/skills/api-patterns/scripts/api_validator.py +211 -0
  239. package/areas/software/full-stack/skills/api-patterns/security-testing.md +122 -0
  240. package/areas/software/full-stack/skills/api-patterns/trpc.md +41 -0
  241. package/areas/software/full-stack/skills/api-patterns/versioning.md +22 -0
  242. package/areas/software/full-stack/skills/app-builder/SKILL.md +135 -0
  243. package/areas/software/full-stack/skills/app-builder/agent-coordination.md +71 -0
  244. package/areas/software/full-stack/skills/app-builder/feature-building.md +53 -0
  245. package/areas/software/full-stack/skills/app-builder/project-detection.md +34 -0
  246. package/areas/software/full-stack/skills/app-builder/scaffolding.md +118 -0
  247. package/areas/software/full-stack/skills/app-builder/tech-stack.md +40 -0
  248. package/areas/software/full-stack/skills/app-builder/templates/SKILL.md +39 -0
  249. package/areas/software/full-stack/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  250. package/areas/software/full-stack/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  251. package/areas/software/full-stack/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  252. package/areas/software/full-stack/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  253. package/areas/software/full-stack/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  254. package/areas/software/full-stack/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  255. package/areas/software/full-stack/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  256. package/areas/software/full-stack/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  257. package/areas/software/full-stack/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  258. package/areas/software/full-stack/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  259. package/areas/software/full-stack/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  260. package/areas/software/full-stack/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  261. package/areas/software/full-stack/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  262. package/areas/software/full-stack/skills/backend-developer/SKILL.md +58 -0
  263. package/areas/software/full-stack/skills/bash-pro/SKILL.md +310 -0
  264. package/areas/software/full-stack/skills/blackbox-test/SKILL.md +84 -0
  265. package/areas/software/full-stack/skills/prompt-project-planner/SKILL.md +130 -0
  266. package/areas/software/full-stack/skills/prompt-project-planner/output.schema.md +68 -0
  267. package/areas/software/full-stack/skills/prompt-project-planner/questions.md +80 -0
  268. package/areas/software/full-stack/skills/python-pro/SKILL.md +158 -0
  269. package/areas/software/full-stack/skills/skill-creator/LICENSE.txt +202 -0
  270. package/areas/software/full-stack/skills/skill-creator/SKILL.md +356 -0
  271. package/areas/software/full-stack/skills/skill-creator/references/output-patterns.md +82 -0
  272. package/areas/software/full-stack/skills/skill-creator/references/workflows.md +28 -0
  273. package/areas/software/full-stack/skills/skill-creator/scripts/init_skill.py +303 -0
  274. package/areas/software/full-stack/skills/skill-creator/scripts/package_skill.py +110 -0
  275. package/areas/software/full-stack/skills/skill-creator/scripts/quick_validate.py +95 -0
  276. package/areas/software/full-stack/workflows/backend-project-full-cycle.md +132 -0
  277. package/areas/software/full-stack/workflows/debug-issue.md +70 -0
  278. package/areas/software/full-stack/workflows/develop-feature.md +85 -0
  279. package/areas/software/full-stack/workflows/feature-implementation-flow.md +78 -0
  280. package/areas/software/full-stack/workflows/testing-ci-pipeline.md +65 -0
  281. package/areas/software/general/AGENTS.md +68 -0
  282. package/areas/software/general/prompts/code-review-workflow.md +87 -0
  283. package/areas/software/general/prompts/development-cycle-workflow.md +83 -0
  284. package/areas/software/general/prompts/project-setup-workflow.md +93 -0
  285. package/areas/software/general/rules/code-style-guide.md +31 -0
  286. package/areas/software/general/rules/docker-compose-guide.md +27 -0
  287. package/areas/software/general/rules/git-workflow-guide.md +27 -0
  288. package/areas/software/general/rules/github-workflow-guide.md +27 -0
  289. package/areas/software/general/rules/gitlab-ci-guide.md +27 -0
  290. package/areas/software/general/rules/lint-format-guide.md +29 -0
  291. package/areas/software/general/rules/makefile-guide.md +34 -0
  292. package/areas/software/general/rules/readme-sync-guide.md +40 -0
  293. package/areas/software/general/rules/sdlc-methodology-guide.md +27 -0
  294. package/areas/software/general/rules/sdlc-role-responsibilities.md +108 -0
  295. package/areas/software/general/skills/general-dev-tools/SKILL.md +324 -0
  296. package/areas/software/general/workflows/code-review-workflow.md +84 -0
  297. package/areas/software/general/workflows/development-cycle-workflow.md +85 -0
  298. package/areas/software/general/workflows/project-setup-workflow.md +94 -0
  299. package/areas/software/mlops/AGENTS.md +57 -0
  300. package/areas/software/mlops/PROMPTS.md +32 -0
  301. package/areas/software/mlops/prompts/champion-challenger.md +87 -0
  302. package/areas/software/mlops/prompts/deploy-endpoint.md +91 -0
  303. package/areas/software/mlops/prompts/evaluate-model.md +87 -0
  304. package/areas/software/mlops/prompts/model-incident.md +87 -0
  305. package/areas/software/mlops/prompts/train-experiment.md +83 -0
  306. package/areas/software/mlops/rules/data-integrity.md +9 -0
  307. package/areas/software/mlops/rules/model-governance.md +9 -0
  308. package/areas/software/mlops/rules/production-safety.md +9 -0
  309. package/areas/software/mlops/rules/reproducibility.md +9 -0
  310. package/areas/software/mlops/skills/experiment-tracking/SKILL.md +29 -0
  311. package/areas/software/mlops/skills/feature-engineering/SKILL.md +44 -0
  312. package/areas/software/mlops/skills/inference-serving/SKILL.md +35 -0
  313. package/areas/software/mlops/skills/model-evaluation/SKILL.md +40 -0
  314. package/areas/software/mlops/skills/model-monitoring/SKILL.md +32 -0
  315. package/areas/software/mlops/workflows/champion-challenger.md +65 -0
  316. package/areas/software/mlops/workflows/deploy-endpoint.md +70 -0
  317. package/areas/software/mlops/workflows/evaluate-model.md +63 -0
  318. package/areas/software/mlops/workflows/model-incident.md +64 -0
  319. package/areas/software/mlops/workflows/train-experiment.md +56 -0
  320. package/areas/software/mobile/AGENTS.md +58 -0
  321. package/areas/software/mobile/PROMPTS.md +32 -0
  322. package/areas/software/mobile/prompts/crash-triage.md +63 -0
  323. package/areas/software/mobile/prompts/device-testing.md +83 -0
  324. package/areas/software/mobile/prompts/ota-update.md +75 -0
  325. package/areas/software/mobile/prompts/release-build.md +67 -0
  326. package/areas/software/mobile/prompts/store-submission.md +79 -0
  327. package/areas/software/mobile/rules/offline-first.md +10 -0
  328. package/areas/software/mobile/rules/performance-budget.md +20 -0
  329. package/areas/software/mobile/rules/platform-compliance.md +17 -0
  330. package/areas/software/mobile/rules/security-mobile.md +9 -0
  331. package/areas/software/mobile/skills/app-store-prep/SKILL.md +27 -0
  332. package/areas/software/mobile/skills/mobile-testing/SKILL.md +36 -0
  333. package/areas/software/mobile/skills/native-modules/SKILL.md +38 -0
  334. package/areas/software/mobile/skills/navigation-patterns/SKILL.md +49 -0
  335. package/areas/software/mobile/skills/push-notifications/SKILL.md +40 -0
  336. package/areas/software/mobile/skills/state-sync/SKILL.md +48 -0
  337. package/areas/software/mobile/workflows/crash-triage.md +63 -0
  338. package/areas/software/mobile/workflows/device-testing.md +54 -0
  339. package/areas/software/mobile/workflows/ota-update.md +54 -0
  340. package/areas/software/mobile/workflows/release-build.md +67 -0
  341. package/areas/software/mobile/workflows/store-submission.md +63 -0
  342. package/areas/software/platform/AGENTS.md +67 -0
  343. package/areas/software/platform/PROMPTS.md +32 -0
  344. package/areas/software/platform/prompts/cost-audit.md +117 -0
  345. package/areas/software/platform/prompts/deploy-production.md +109 -0
  346. package/areas/software/platform/prompts/drift-check.md +107 -0
  347. package/areas/software/platform/prompts/incident-response.md +121 -0
  348. package/areas/software/platform/prompts/provision-env.md +113 -0
  349. package/areas/software/platform/rules/cost-governance.md +11 -0
  350. package/areas/software/platform/rules/immutability.md +17 -0
  351. package/areas/software/platform/rules/reliability.md +19 -0
  352. package/areas/software/platform/rules/security-posture.md +12 -0
  353. package/areas/software/platform/skills/ci-cd-pipelines/SKILL.md +58 -0
  354. package/areas/software/platform/skills/incident-response/SKILL.md +41 -0
  355. package/areas/software/platform/skills/k8s-manifests/SKILL.md +56 -0
  356. package/areas/software/platform/skills/networking/SKILL.md +44 -0
  357. package/areas/software/platform/skills/observability-setup/SKILL.md +49 -0
  358. package/areas/software/platform/skills/secrets-management/SKILL.md +43 -0
  359. package/areas/software/platform/skills/terraform-patterns/SKILL.md +75 -0
  360. package/areas/software/platform/workflows/cost-audit.md +61 -0
  361. package/areas/software/platform/workflows/deploy-production.md +67 -0
  362. package/areas/software/platform/workflows/drift-check.md +61 -0
  363. package/areas/software/platform/workflows/incident-response.md +69 -0
  364. package/areas/software/platform/workflows/provision-env.md +77 -0
  365. package/areas/software/qa/AGENTS.md +58 -0
  366. package/areas/software/qa/PROMPTS.md +32 -0
  367. package/areas/software/qa/prompts/flakiness-investigation.md +61 -0
  368. package/areas/software/qa/prompts/performance-audit.md +65 -0
  369. package/areas/software/qa/prompts/regression-suite.md +61 -0
  370. package/areas/software/qa/prompts/smoke-test.md +65 -0
  371. package/areas/software/qa/prompts/test-coverage-report.md +61 -0
  372. package/areas/software/qa/rules/flakiness-policy.md +12 -0
  373. package/areas/software/qa/rules/quality-gates.md +28 -0
  374. package/areas/software/qa/rules/test-data.md +9 -0
  375. package/areas/software/qa/rules/test-strategy.md +11 -0
  376. package/areas/software/qa/skills/accessibility-testing/SKILL.md +139 -0
  377. package/areas/software/qa/skills/api-testing/SKILL.md +140 -0
  378. package/areas/software/qa/skills/e2e-patterns/SKILL.md +152 -0
  379. package/areas/software/qa/skills/performance-testing/SKILL.md +177 -0
  380. package/areas/software/qa/skills/test-data-management/SKILL.md +161 -0
  381. package/areas/software/qa/skills/test-pyramid/SKILL.md +127 -0
  382. package/areas/software/qa/workflows/flakiness-investigation.md +63 -0
  383. package/areas/software/qa/workflows/performance-audit.md +59 -0
  384. package/areas/software/qa/workflows/regression-suite.md +59 -0
  385. package/areas/software/qa/workflows/smoke-test.md +64 -0
  386. package/areas/software/qa/workflows/test-coverage-report.md +57 -0
  387. package/areas/software/security/AGENTS.md +58 -0
  388. package/areas/software/security/PROMPTS.md +32 -0
  389. package/areas/software/security/prompts/compliance-report.md +113 -0
  390. package/areas/software/security/prompts/pen-test-sim.md +113 -0
  391. package/areas/software/security/prompts/secret-rotation.md +115 -0
  392. package/areas/software/security/prompts/security-scan.md +91 -0
  393. package/areas/software/security/prompts/threat-model-review.md +105 -0
  394. package/areas/software/security/rules/compliance-baseline.md +23 -0
  395. package/areas/software/security/rules/dependency-policy.md +12 -0
  396. package/areas/software/security/rules/secrets-policy.md +22 -0
  397. package/areas/software/security/rules/secure-coding.md +22 -0
  398. package/areas/software/security/skills/auth-patterns/SKILL.md +42 -0
  399. package/areas/software/security/skills/crypto-standards/SKILL.md +42 -0
  400. package/areas/software/security/skills/dependency-audit/SKILL.md +29 -0
  401. package/areas/software/security/skills/sast-dast-interpretation/SKILL.md +33 -0
  402. package/areas/software/security/skills/security-headers/SKILL.md +29 -0
  403. package/areas/software/security/skills/threat-modeling/SKILL.md +36 -0
  404. package/areas/software/security/workflows/compliance-report.md +57 -0
  405. package/areas/software/security/workflows/pen-test-sim.md +63 -0
  406. package/areas/software/security/workflows/secret-rotation.md +67 -0
  407. package/areas/software/security/workflows/security-scan.md +64 -0
  408. package/areas/software/security/workflows/threat-model-review.md +62 -0
  409. package/areas/template/AGENTS-area.tmpl.md +61 -0
  410. package/areas/template/AGENTS.tmpl.md +67 -0
  411. package/areas/template/GUIDE.md +102 -0
  412. package/areas/template/PROMPTS.tmpl.md +29 -0
  413. package/areas/template/README.md +57 -0
  414. package/areas/template/README.tmpl.md +51 -0
  415. package/areas/template/prompt.tmpl.md +101 -0
  416. package/areas/template/rule.tmpl.md +71 -0
  417. package/areas/template/skill.tmpl.md +108 -0
  418. package/areas/template/workflow.tmpl.md +104 -0
  419. package/bin/agentic.js +24 -0
  420. package/extensions/antigravity/GEMINI.md +10 -0
  421. package/extensions/claude/CLAUDE.md +10 -0
  422. package/extensions/codex/AGENTS.override.md +93 -0
  423. package/extensions/gemini/GEMINI.md +10 -0
  424. package/extensions/opencode/agents/designer.md +65 -0
  425. package/extensions/opencode/agents/developer.md +63 -0
  426. package/extensions/opencode/agents/devops-engineer.md +69 -0
  427. package/extensions/opencode/agents/pm.md +61 -0
  428. package/extensions/opencode/agents/product-owner.md +76 -0
  429. package/extensions/opencode/agents/qa.md +66 -0
  430. package/extensions/opencode/agents/team-lead.md +67 -0
  431. package/extensions/opencode/commands/feature.md +75 -0
  432. package/extensions/opencode/opencode.json +93 -0
  433. package/extensions/opencode/plugins/model-checker.json +14 -0
  434. package/extensions/opencode/plugins/model-checker.ts +279 -0
  435. package/extensions/opencode/plugins/sound-notification.ts +13 -0
  436. package/extensions/opencode/plugins/telegram-notification.ts +86 -0
  437. package/extensions/opencode/skills/code_review_expert/SKILL.md +144 -0
  438. package/extensions/opencode/skills/design_expert/SKILL.md +42 -0
  439. package/extensions/opencode/skills/qa_expert/SKILL.md +116 -0
  440. package/package.json +19 -0
@@ -0,0 +1,93 @@
1
+ {
2
+ "$schema": "https://opencode.ai/config.json",
3
+ "plugin": [
4
+ "model-checker",
5
+ "sound-notification",
6
+ "telegram-notification"
7
+ ],
8
+ "agent": {
9
+ "product-owner": {
10
+ "description": "Main coordinator for feature development workflow",
11
+ "mode": "primary",
12
+ "model": "google/antigravity-claude-sonnet-4-6",
13
+ "fallback": [
14
+ "openai/gpt-5.4",
15
+ "opencode/minimax-m2.5-free"
16
+ ],
17
+ "permission": {
18
+ "task": {
19
+ "pm": "allow",
20
+ "team-lead": "allow",
21
+ "designer": "allow",
22
+ "developer": "allow",
23
+ "qa": "allow"
24
+ }
25
+ }
26
+ },
27
+ "pm": {
28
+ "description": "Project Manager - coordinates workflow",
29
+ "mode": "subagent",
30
+ "model": "google/antigravity-claude-sonnet-4-6",
31
+ "fallback": [
32
+ "openai/gpt-5.4",
33
+ "opencode/minimax-m2.5-free"
34
+ ],
35
+ "permission": {
36
+ "task": {
37
+ "team-lead": "allow",
38
+ "designer": "allow",
39
+ "developer": "allow",
40
+ "qa": "allow"
41
+ }
42
+ }
43
+ },
44
+ "team-lead": {
45
+ "description": "Team Lead - planning and code review",
46
+ "mode": "subagent",
47
+ "model": "google/antigravity-claude-opus-4-6-thinking",
48
+ "fallback": [
49
+ "openai/gpt-5.3-codex"
50
+ ],
51
+ "permission": {
52
+ "task": {
53
+ "developer": "allow",
54
+ "qa": "allow"
55
+ }
56
+ }
57
+ },
58
+ "developer": {
59
+ "description": "Developer - implements code",
60
+ "mode": "subagent",
61
+ "model": "google/antigravity-claude-opus-4-6-thinking",
62
+ "fallback": [
63
+ "openai/gpt-5.3-codex"
64
+ ]
65
+ },
66
+ "devops-engineer": {
67
+ "description": "DevOps Engineer - infrastructure, CI/CD, and platform reliability",
68
+ "mode": "subagent",
69
+ "model": "google/antigravity-claude-opus-4-6-thinking",
70
+ "fallback": [
71
+ "openai/gpt-5.3-codex"
72
+ ]
73
+ },
74
+ "qa": {
75
+ "description": "QA Engineer - runs tests",
76
+ "mode": "subagent",
77
+ "model": "google/antigravity-gemini-3-flash",
78
+ "fallback": [
79
+ "opencode/minimax-m2.5-free",
80
+ "openai/gpt-5.4"
81
+ ]
82
+ },
83
+ "designer": {
84
+ "description": "Designer - UI/UX validation",
85
+ "mode": "subagent",
86
+ "model": "google/antigravity-claude-sonnet-4-6",
87
+ "fallback": [
88
+ "opencode/minimax-m2.5-free",
89
+ "openai/gpt-5.4"
90
+ ]
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "models": [
3
+ "openai/gpt-5.3-codex",
4
+ "openai/gpt-5.4",
5
+ "opencode/big-pickle",
6
+ "opencode/minimax-m2.5-free",
7
+ "google/antigravity-claude-opus-4-6-thinking",
8
+ "google/antigravity-claude-sonnet-4-6",
9
+ "google/antigravity-gemini-3-flash",
10
+ "google/antigravity-gemini-3.1-pro"
11
+ ],
12
+ "timeoutMs": 10000,
13
+ "concurrency": 10
14
+ }
@@ -0,0 +1,279 @@
1
+ import type { Plugin } from "@opencode-ai/plugin"
2
+ import { mkdir, readFile, writeFile } from "node:fs/promises"
3
+ import { join } from "node:path"
4
+ import { tmpdir } from "node:os"
5
+ import { spawn } from "node:child_process"
6
+
7
+ interface ModelResult {
8
+ model: string
9
+ status: "passed" | "failed"
10
+ error?: string
11
+ }
12
+
13
+ interface ModelCheckerConfig {
14
+ models: string[]
15
+ timeoutMs: number
16
+ concurrency: number
17
+ prompt: string
18
+ probeDir: string
19
+ }
20
+
21
+ type CommandResult = {
22
+ code: number | null
23
+ output: string
24
+ timedOut: boolean
25
+ durationMs: number
26
+ }
27
+
28
+ async function readModelsJson(projectDir: string): Promise<ModelCheckerConfig> {
29
+ const defaults: ModelCheckerConfig = {
30
+ models: [],
31
+ timeoutMs: 10000,
32
+ concurrency: 3,
33
+ prompt: "Reply with exactly: OK",
34
+ probeDir: tmpdir(),
35
+ }
36
+
37
+ try {
38
+ const filePath = join(projectDir, ".opencode", "plugins", "model-checker.json")
39
+ const content = await readFile(filePath, "utf-8")
40
+ const data = JSON.parse(content)
41
+ if (!Array.isArray(data.models)) return defaults
42
+
43
+ const models = [...new Set(data.models.map(String).filter(Boolean))]
44
+ const timeoutMs = Number.isFinite(data.timeoutMs)
45
+ ? Math.min(120000, Math.max(1000, Number(data.timeoutMs)))
46
+ : defaults.timeoutMs
47
+ const concurrency = Number.isFinite(data.concurrency)
48
+ ? Math.min(10, Math.max(1, Number(data.concurrency)))
49
+ : defaults.concurrency
50
+ const prompt = typeof data.prompt === "string" && data.prompt.trim() ? data.prompt.trim() : defaults.prompt
51
+ const probeDir = typeof data.probeDir === "string" && data.probeDir.trim() ? data.probeDir.trim() : defaults.probeDir
52
+
53
+ return {
54
+ models,
55
+ timeoutMs,
56
+ concurrency,
57
+ prompt,
58
+ probeDir,
59
+ }
60
+ } catch {
61
+ return defaults
62
+ }
63
+ }
64
+
65
+ async function runModelProbe(model: string, prompt: string, timeoutMs: number, probeDir: string): Promise<CommandResult> {
66
+ return await new Promise((resolve) => {
67
+ const startedAt = Date.now()
68
+ const child = spawn("opencode", ["run", prompt, "-m", model, "--dir", probeDir, "--log-level", "ERROR"], {
69
+ cwd: probeDir,
70
+ stdio: ["ignore", "pipe", "pipe"],
71
+ env: {
72
+ ...process.env,
73
+ OPENCODE_MODEL_CHECKER_ACTIVE: "1",
74
+ },
75
+ })
76
+
77
+ let stdout = ""
78
+ let stderr = ""
79
+ let timedOut = false
80
+
81
+ const timer = setTimeout(() => {
82
+ timedOut = true
83
+ child.kill("SIGKILL")
84
+ }, timeoutMs)
85
+
86
+ child.stdout.on("data", (chunk: Buffer | string) => {
87
+ stdout += chunk.toString()
88
+ })
89
+
90
+ child.stderr.on("data", (chunk: Buffer | string) => {
91
+ stderr += chunk.toString()
92
+ })
93
+
94
+ child.on("close", (code) => {
95
+ clearTimeout(timer)
96
+ resolve({
97
+ code,
98
+ timedOut,
99
+ output: `${stdout}\n${stderr}`.toLowerCase(),
100
+ durationMs: Date.now() - startedAt,
101
+ })
102
+ })
103
+
104
+ child.on("error", (error) => {
105
+ clearTimeout(timer)
106
+ resolve({
107
+ code: 1,
108
+ timedOut,
109
+ output: String(error).toLowerCase(),
110
+ durationMs: Date.now() - startedAt,
111
+ })
112
+ })
113
+ })
114
+ }
115
+
116
+ async function runModelChecks(
117
+ models: string[],
118
+ prompt: string,
119
+ timeoutMs: number,
120
+ concurrency: number,
121
+ probeDir: string,
122
+ ): Promise<CommandResult[]> {
123
+ const workers = Math.min(concurrency, models.length)
124
+ const results: CommandResult[] = new Array(models.length)
125
+ let cursor = 0
126
+
127
+ await Promise.all(
128
+ Array.from({ length: workers }, async () => {
129
+ while (true) {
130
+ const index = cursor++
131
+ if (index >= models.length) return
132
+ results[index] = await runModelProbe(models[index], prompt, timeoutMs, probeDir)
133
+ }
134
+ }),
135
+ )
136
+
137
+ return results
138
+ }
139
+
140
+ function classifyResult(model: string, probe: CommandResult): ModelResult {
141
+ if (probe.timedOut) return { model, status: "failed", error: "timeout" }
142
+
143
+ if (probe.output.includes("quota") || probe.output.includes("insufficient") || probe.output.includes("429")) {
144
+ return { model, status: "failed", error: "quota" }
145
+ }
146
+
147
+ if (probe.code !== 0) {
148
+ if (/(\b4\d\d\b|\b5\d\d\b)/.test(probe.output)) {
149
+ return { model, status: "failed", error: "provider error" }
150
+ }
151
+ return { model, status: "failed", error: `exit code ${probe.code ?? "null"}` }
152
+ }
153
+
154
+ if (!probe.output.includes("ok")) {
155
+ return { model, status: "failed", error: "unexpected response" }
156
+ }
157
+
158
+ return { model, status: "passed" }
159
+ }
160
+
161
+ function printLists(passed: ModelResult[], failed: ModelResult[]) {
162
+ console.log("\npassed_models:")
163
+ for (const model of passed) {
164
+ console.log(`- ${model.model}`)
165
+ }
166
+
167
+ console.log("\nfailed_models:")
168
+ for (const model of failed) {
169
+ console.log(`- ${model.model}${model.error ? ` (${model.error})` : ""}`)
170
+ }
171
+ }
172
+
173
+ function formatTelegramMessage(passed: ModelResult[], failed: ModelResult[], selected: string): string {
174
+ const passedText = passed.length ? passed.map((x) => `• ${x.model}`).join("\n") : "(none)"
175
+ const failedText = failed.length
176
+ ? failed.map((x) => `• ${x.model}${x.error ? ` (${x.error})` : ""}`).join("\n")
177
+ : "(none)"
178
+
179
+ return [
180
+ "<b>LLM availability check</b>",
181
+ "",
182
+ `<b>passed_models (${passed.length})</b>`,
183
+ passedText,
184
+ "",
185
+ `<b>failed_models (${failed.length})</b>`,
186
+ failedText,
187
+ "",
188
+ `<b>selected model:</b> ${selected}`,
189
+ ].join("\n")
190
+ }
191
+
192
+ async function sendTelegram(message: string) {
193
+ const token = process.env.OPENCODE_TELEGRAM_BOT_TOKEN
194
+ const chatID = process.env.OPENCODE_TELEGRAM_CHAT_ID
195
+ if (!token || !chatID) return
196
+
197
+ try {
198
+ await fetch(`https://api.telegram.org/bot${token}/sendMessage`, {
199
+ method: "POST",
200
+ headers: { "Content-Type": "application/json" },
201
+ body: JSON.stringify({
202
+ chat_id: chatID,
203
+ text: message,
204
+ parse_mode: "HTML",
205
+ }),
206
+ })
207
+ } catch {
208
+ // no-op
209
+ }
210
+ }
211
+
212
+ async function regenerateOpencodeJson(projectDir: string, selected: string, passed: string[]) {
213
+ const filePath = join(projectDir, ".opencode", "opencode.json")
214
+ try {
215
+ const content = await readFile(filePath, "utf-8")
216
+ const config = JSON.parse(content)
217
+
218
+ if (!config.agent || typeof config.agent !== "object") return
219
+
220
+ for (const [agentName, agentConfig] of Object.entries<any>(config.agent)) {
221
+ if (!agentConfig || typeof agentConfig !== "object") continue
222
+ if (agentConfig.mode !== "subagent") continue
223
+
224
+ config.agent[agentName].model = selected
225
+ }
226
+
227
+ await writeFile(filePath, `${JSON.stringify(config, null, 2)}\n`, "utf-8")
228
+ } catch {
229
+ // no-op
230
+ }
231
+ }
232
+
233
+ export const ModelCheckerPlugin: Plugin = async ({ directory }) => {
234
+ if (process.env.OPENCODE_MODEL_CHECKER_ACTIVE === "1") {
235
+ return {}
236
+ }
237
+
238
+ if (process.argv[2] === "run") {
239
+ return {}
240
+ }
241
+
242
+ async function runChecks() {
243
+ const config = await readModelsJson(directory)
244
+ const { models, prompt, timeoutMs, concurrency, probeDir } = config
245
+ if (!models.length) return
246
+
247
+ await mkdir(probeDir, { recursive: true })
248
+
249
+ console.log("\nStarting LLM model availability check...")
250
+ console.log(`- models: ${models.length}, concurrency: ${Math.min(concurrency, models.length)}, timeout: ${timeoutMs}ms`)
251
+ const results: ModelResult[] = []
252
+ const probes = await runModelChecks(models, prompt, timeoutMs, concurrency, probeDir)
253
+ for (const [index, model] of models.entries()) {
254
+ const probe = probes[index]
255
+ const result = classifyResult(model, probe)
256
+ results.push(result)
257
+ console.log(
258
+ `- checking ${model}... ${result.status === "passed" ? "OK" : `FAIL (${result.error})`} (${probe.durationMs}ms)`,
259
+ )
260
+ }
261
+
262
+ const passedModels = results.filter((x) => x.status === "passed")
263
+ const failedModels = results.filter((x) => x.status === "failed")
264
+ const selected = passedModels[0]?.model ?? "none"
265
+
266
+ printLists(passedModels, failedModels)
267
+ console.log(`\nselected_model: ${selected}`)
268
+
269
+ if (selected !== "none") {
270
+ await regenerateOpencodeJson(directory, selected, passedModels.map((x) => x.model))
271
+ }
272
+
273
+ await sendTelegram(formatTelegramMessage(passedModels, failedModels, selected))
274
+ }
275
+
276
+ await runChecks()
277
+
278
+ return {}
279
+ }
@@ -0,0 +1,13 @@
1
+ import type { Plugin } from "@opencode-ai/plugin"
2
+
3
+ export const SoundNotificationPlugin: Plugin = async ({ $ }) => {
4
+ return {
5
+ event: async ({ event }) => {
6
+ if (event.type === "session.idle") {
7
+ try {
8
+ await $`afplay /System/Library/Sounds/Glass.aiff`
9
+ } catch {}
10
+ }
11
+ },
12
+ }
13
+ }
@@ -0,0 +1,86 @@
1
+ import type { Plugin } from "@opencode-ai/plugin"
2
+
3
+ export const TelegramNotificationPlugin: Plugin = async ({ $, client, directory }) => {
4
+ return {
5
+ event: async ({ event }) => {
6
+ if (event.type === "session.idle") {
7
+ const botToken = process.env.OPENCODE_TELEGRAM_BOT_TOKEN
8
+ const chatId = process.env.OPENCODE_TELEGRAM_CHAT_ID
9
+
10
+ if (!botToken || !chatId) return
11
+
12
+ const sessionID = event.properties.sessionID
13
+ let messageText = "✅ Задача завершена"
14
+ let fullText = ""
15
+
16
+ try {
17
+ const sessionResult = await client.session.get({ path: { id: sessionID } })
18
+ const session = sessionResult.data
19
+
20
+ if (!sessionResult.error && session) {
21
+ messageText = `✅ ${session.title || "Задача завершена"}`
22
+
23
+ if (session.summary) {
24
+ messageText += `\n📊 +${session.summary.additions} -${session.summary.deletions} в ${session.summary.files} файл(ах)`
25
+ }
26
+
27
+ const messagesResult = await client.session.messages({ path: { id: sessionID } })
28
+ if (!messagesResult.error && messagesResult.data?.length) {
29
+ const lastMessage = messagesResult.data[messagesResult.data.length - 1]
30
+ const textParts = lastMessage.parts?.filter(p => p.type === "text") || []
31
+ fullText = textParts.map(p => (p as any).text).join("")
32
+ }
33
+ }
34
+ } catch (e) {
35
+ await $`echo "Error: ${e}" >> ${directory}/.opencode/telegram-debug.log`
36
+ }
37
+
38
+ try {
39
+ if (fullText.length >= 4096) {
40
+ const formData = new FormData()
41
+ formData.append("chat_id", chatId)
42
+ formData.append(
43
+ "document",
44
+ new Blob([fullText], { type: "text/markdown" }),
45
+ `response-${sessionID.slice(0, 8)}.md`
46
+ )
47
+
48
+ await fetch(
49
+ `https://api.telegram.org/bot${botToken}/sendDocument`,
50
+ { method: "POST", body: formData }
51
+ )
52
+
53
+ const shortText = fullText.slice(0, 3000)
54
+ await fetch(
55
+ `https://api.telegram.org/bot${botToken}/sendMessage`,
56
+ {
57
+ method: "POST",
58
+ headers: { "Content-Type": "application/json" },
59
+ body: JSON.stringify({
60
+ chat_id: chatId,
61
+ text: `${messageText}\n\n📎 Полный ответ в attachment (${fullText.length} символов):\n\n${shortText}...`
62
+ })
63
+ }
64
+ )
65
+ } else {
66
+ const textToSend = fullText
67
+ ? `${messageText}\n\n${fullText}`
68
+ : messageText
69
+
70
+ await fetch(
71
+ `https://api.telegram.org/bot${botToken}/sendMessage`,
72
+ {
73
+ method: "POST",
74
+ headers: { "Content-Type": "application/json" },
75
+ body: JSON.stringify({
76
+ chat_id: chatId,
77
+ text: textToSend.slice(0, 4096)
78
+ })
79
+ }
80
+ )
81
+ }
82
+ } catch {}
83
+ }
84
+ },
85
+ }
86
+ }
@@ -0,0 +1,144 @@
1
+ ---
2
+ name: code_review_expert
3
+ description: "Code Review Expert for static analysis, security auditing, architecture review, and ensuring code quality standards."
4
+ metadata:
5
+ model: inherit
6
+ risk: unknown
7
+ source: community
8
+ ---
9
+
10
+ ## Purpose
11
+ Expert code reviewer specializing in static analysis, security auditing, architecture review, and ensuring code quality for Flutter/Dart applications. Validates that code meets team standards and is production-ready.
12
+
13
+ ## Use this skill when
14
+ - Performing code reviews
15
+ - Conducting security audits
16
+ - Reviewing architecture decisions
17
+ - Running static analysis tools
18
+ - Validating code quality standards
19
+ - Checking code for vulnerabilities
20
+
21
+ ## Do not use this skill when
22
+ - Writing new code (use flutter_expert for that)
23
+ - Only unit testing (use qa_expert for that)
24
+
25
+ ## Capabilities
26
+
27
+ ### Static Analysis
28
+ - **flutter analyze**: Dart static analysis
29
+ - **dart analyze**: Type checking and linting
30
+ - **Custom lints**: Team-specific rules
31
+ - **Dead code detection**: Unused imports, variables
32
+ - **Performance anti-patterns**: Inefficient patterns
33
+
34
+ ### Security Auditing
35
+ - **OWASP Mobile Top 10**: Security vulnerability detection
36
+ - **Secret detection**: API keys, tokens in code
37
+ - **Input validation**: User input sanitization
38
+ - **Authentication flows**: Security validation
39
+ - **Data storage**: Secure storage practices
40
+ - **Network security**: Certificate pinning, HTTPS
41
+
42
+ ### Architecture Review
43
+ - **Clean Architecture**: Layer separation validation
44
+ - **SOLID principles**: Code design compliance
45
+ - **Dependency injection**: Proper usage
46
+ - **State management**: Appropriate pattern usage
47
+ - **Error handling**: Consistent error management
48
+
49
+ ### Code Quality Standards
50
+ - **Code style**: Flutter/Dart conventions
51
+ - **Documentation**: Public API docs
52
+ - **Naming conventions**: Clear, consistent names
53
+ - **Complexity**: Cyclomatic complexity limits
54
+ - **Testability**: Code testability assessment
55
+
56
+ ### Build & Deployment Validation
57
+ - **Build verification**: `flutter build apk --debug`
58
+ - **Lint checks**: `flutter analyze`
59
+ - **Test execution**: `flutter test`
60
+ - **Bundle size**: APK size validation
61
+
62
+ ## Behavioral Traits
63
+ - Provides constructive, actionable feedback
64
+ - Focuses on critical issues first
65
+ - Validates security from the start
66
+ - Ensures code is maintainable
67
+ - Approves only production-ready code
68
+
69
+ ## Response Approach
70
+ 1. **Run static analysis** - flutter analyze
71
+ 2. **Review code structure** - architecture compliance
72
+ 3. **Check security** - vulnerability scan
73
+ 4. **Validate tests** - test quality and coverage
74
+ 5. **Check build** - ensure compilation success
75
+ 6. **Provide verdict** - approve or request changes
76
+
77
+ ## Code Review Checklist
78
+
79
+ ### Critical (Must Fix)
80
+ - [ ] Security vulnerabilities
81
+ - [ ] Crashes or runtime errors
82
+ - [ ] Memory leaks
83
+ - [ ] Data loss risks
84
+
85
+ ### Major (Should Fix)
86
+ - [ ] Code style violations
87
+ - [ ] Missing documentation
88
+ - [ ] Performance issues
89
+ - [ ] Test coverage < 80%
90
+
91
+ ### Minor (Nice to Fix)
92
+ - [ ] Naming improvements
93
+ - [ ] Code simplifications
94
+ - [ ] Comment improvements
95
+
96
+ ## Security Checkpoints
97
+
98
+ ```dart
99
+ // ❌ BAD: Hardcoded secrets
100
+ const apiKey = 'sk-1234567890';
101
+
102
+ // ✅ GOOD: Environment variables
103
+ final apiKey = const String.fromEnvironment('API_KEY');
104
+
105
+ // ❌ BAD: Insecure storage
106
+ SharedPreferences.setMockInitialValues({});
107
+ final prefs = await SharedPreferences.getInstance();
108
+ prefs.setString('token', token);
109
+
110
+ // ✅ GOOD: Secure storage
111
+ final secureStorage = SecureStorage();
112
+ await secureStorage.write(key: 'token', value: token);
113
+ ```
114
+
115
+ ## Verdict Format
116
+
117
+ ### Code Review Report
118
+ ```
119
+ | Check | Status | Notes |
120
+ |-------|--------|-------|
121
+ | Static Analysis | ✅/❌ | X warnings, Y errors |
122
+ | Security Audit | ✅/❌ | X vulnerabilities found |
123
+ | Architecture | ✅/❌ | Clean Architecture compliant |
124
+ | Code Quality | ✅/❌ | Team standards met |
125
+ | Tests | ✅/❌ | X tests, XX% coverage |
126
+ | Build | ✅/❌ | Builds successfully |
127
+
128
+ ### Final Verdict
129
+ [APPROVED / REQUEST_CHANGES]
130
+
131
+ Comments:
132
+ - Issue 1: ...
133
+ - Issue 2: ...
134
+
135
+ ### Feature Feasibility
136
+ [FEASIBLE / NOT_FEASIBLE]
137
+
138
+ Reasoning:
139
+ - Design is implementable: Yes/No
140
+ - Technical constraints: ...
141
+ - Risks: ...
142
+ ```
143
+
144
+ Always provide clear approval or rejection with detailed reasoning.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: design_expert
3
+ description: "Expert UI/UX design intelligence for creating distinctive, high-craft, and mobile-first interfaces. Focuses on premium aesthetics, touch-first ergonomics, and Flutter performance."
4
+ metadata:
5
+ model: inherit
6
+ ---
7
+
8
+ # Design Expert UX/UI (Distinctive, Production-Grade)
9
+
10
+ You are a **designer-engineer** specializing in high-end, memorable interfaces that feel premium and intentional. Your goal is to move beyond generic layouts and "AI design" tropes.
11
+
12
+ ## 1. Core Mandates
13
+ - **Intentional Aesthetic**: Every design must have a named direction (e.g., *luxury minimal*, *industrial utilitarian*, *editorial brutalism*).
14
+ - **Visual Memorability**: Include at least one element or interaction that defines the project's identity.
15
+ - **Cohesive Restraint**: No random decoration. Every flourish must serve the aesthetic thesis.
16
+
17
+ ## 2. Mobile & UX Psychology
18
+ - **Finger != Cursor**: Minimum touch targets 44-48px.
19
+ - **Thumb Zone**: Primary actions must be easily reachable by thumbs.
20
+ - **Fitts’ Law**: Reachability matters more than precision. Destructive actions should be harder to reach accidentally.
21
+
22
+ ## 3. Flutter Performance Doctrine
23
+ - **`const` Everywhere**: Use constant constructors to minimize widget rebuilds.
24
+ - **Targeted Rebuilds**: Use specialized providers (Riverpod/Bloc) to rebuild only what's necessary.
25
+ - **ListView.builder**: Never use `ScrollView` for long lists; always use builders for lazy rendering.
26
+
27
+ ## 4. Aesthetic Execution Tools
28
+ - **Typography Strategy**: Use one expressive display font for headlines and one restrained body font. Avoid system defaults.
29
+ - **Spatial Composition**: White space is a design element, not "empty" space. Break the grid occasionally for emphasis.
30
+ - **Texture & Depth**: Use noise, grain, layered translucency, or custom shadows with narrative intent.
31
+
32
+ ## 5. Required Design Thinking Phase
33
+ Before writing code, define:
34
+ 1. **Purpose**: What is the core user feeling this interface should evoke? (Trust, excitement, calm).
35
+ 2. **Differentiation Anchor**: "If the logo were removed, how would a user recognize this design?"
36
+ 3. **Tone**: Choose one dominant direction (Luxury, Brutalist, Playful, etc.). Do not blend more than two.
37
+
38
+ ## 6. Anti-Patterns (Immediate Failure)
39
+ ❌ Purple-on-white SaaS gradients.
40
+ ❌ Generic "AI-generated" symmetrical layouts.
41
+ ❌ Inter/Roboto/System fonts without a specific reason.
42
+ ❌ Decoration without intent.