@mohammadhprp/system-prompt 0.10.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 (347) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/bin/system-prompt.js +8 -0
  4. package/framework/README.md +163 -0
  5. package/framework/agents/README.md +49 -0
  6. package/framework/agents/backend-architect.md +146 -0
  7. package/framework/agents/researcher.md +79 -0
  8. package/framework/agents/reviewer.md +183 -0
  9. package/framework/agents/security-auditor.md +131 -0
  10. package/framework/commands/README.md +43 -0
  11. package/framework/commands/changelog.md +44 -0
  12. package/framework/commands/commit.md +31 -0
  13. package/framework/commands/learn.md +24 -0
  14. package/framework/commands/mr.md +46 -0
  15. package/framework/commands/pr.md +39 -0
  16. package/framework/commands/release.md +34 -0
  17. package/framework/commands/review.md +24 -0
  18. package/framework/commands/summarize-changes.md +49 -0
  19. package/framework/mcps/README.md +78 -0
  20. package/framework/mcps/excalidraw/README.md +37 -0
  21. package/framework/mcps/excalidraw/capabilities.md +54 -0
  22. package/framework/mcps/excalidraw/configs/opencode.json +8 -0
  23. package/framework/mcps/excalidraw/install.md +92 -0
  24. package/framework/mcps/excalidraw/troubleshooting.md +67 -0
  25. package/framework/mcps/figma-mcp-go/README.md +51 -0
  26. package/framework/mcps/figma-mcp-go/capabilities.md +190 -0
  27. package/framework/mcps/figma-mcp-go/configs/opencode.json +9 -0
  28. package/framework/mcps/figma-mcp-go/install.md +74 -0
  29. package/framework/mcps/figma-mcp-go/troubleshooting.md +99 -0
  30. package/framework/mcps/github-mcp/README.md +51 -0
  31. package/framework/mcps/github-mcp/capabilities.md +83 -0
  32. package/framework/mcps/github-mcp/configs/.env.example +1 -0
  33. package/framework/mcps/github-mcp/configs/opencode.json +13 -0
  34. package/framework/mcps/github-mcp/install.md +60 -0
  35. package/framework/mcps/github-mcp/troubleshooting.md +79 -0
  36. package/framework/mcps/gitlab-mcp/README.md +54 -0
  37. package/framework/mcps/gitlab-mcp/capabilities.md +216 -0
  38. package/framework/mcps/gitlab-mcp/configs/.env.example +2 -0
  39. package/framework/mcps/gitlab-mcp/configs/opencode.json +13 -0
  40. package/framework/mcps/gitlab-mcp/install.md +99 -0
  41. package/framework/mcps/gitlab-mcp/troubleshooting.md +116 -0
  42. package/framework/mcps/jira-mcp/README.md +53 -0
  43. package/framework/mcps/jira-mcp/capabilities.md +79 -0
  44. package/framework/mcps/jira-mcp/configs/.env.example +2 -0
  45. package/framework/mcps/jira-mcp/configs/opencode.json +13 -0
  46. package/framework/mcps/jira-mcp/install.md +94 -0
  47. package/framework/mcps/jira-mcp/troubleshooting.md +113 -0
  48. package/framework/mcps/laravel-boost/README.md +53 -0
  49. package/framework/mcps/laravel-boost/capabilities.md +92 -0
  50. package/framework/mcps/laravel-boost/configs/opencode.json +9 -0
  51. package/framework/mcps/laravel-boost/install.md +106 -0
  52. package/framework/mcps/laravel-boost/troubleshooting.md +119 -0
  53. package/framework/mcps/notion-mcp/README.md +58 -0
  54. package/framework/mcps/notion-mcp/capabilities.md +118 -0
  55. package/framework/mcps/notion-mcp/configs/opencode.json +9 -0
  56. package/framework/mcps/notion-mcp/install.md +70 -0
  57. package/framework/mcps/notion-mcp/troubleshooting.md +95 -0
  58. package/framework/mcps/playwright-mcp/README.md +50 -0
  59. package/framework/mcps/playwright-mcp/capabilities.md +149 -0
  60. package/framework/mcps/playwright-mcp/configs/opencode.json +9 -0
  61. package/framework/mcps/playwright-mcp/install.md +136 -0
  62. package/framework/mcps/playwright-mcp/troubleshooting.md +154 -0
  63. package/framework/mcps/supabase-mcp/README.md +66 -0
  64. package/framework/mcps/supabase-mcp/capabilities.md +127 -0
  65. package/framework/mcps/supabase-mcp/configs/opencode.json +9 -0
  66. package/framework/mcps/supabase-mcp/install.md +85 -0
  67. package/framework/mcps/supabase-mcp/troubleshooting.md +113 -0
  68. package/framework/memory/README.md +17 -0
  69. package/framework/memory/codebase-insights.md +6 -0
  70. package/framework/memory/user-preferences.md +5 -0
  71. package/framework/modes/README.md +52 -0
  72. package/framework/modes/audit.md +88 -0
  73. package/framework/plugins/README.md +65 -0
  74. package/framework/plugins/opencode-goal-plugin/README.md +45 -0
  75. package/framework/plugins/opencode-goal-plugin/capabilities.md +127 -0
  76. package/framework/plugins/opencode-goal-plugin/install.md +71 -0
  77. package/framework/plugins/opencode-goal-plugin/troubleshooting.md +112 -0
  78. package/framework/plugins/ponytail/README.md +44 -0
  79. package/framework/plugins/ponytail/capabilities.md +112 -0
  80. package/framework/plugins/ponytail/install.md +77 -0
  81. package/framework/plugins/ponytail/troubleshooting.md +116 -0
  82. package/framework/references/standards/api.md +44 -0
  83. package/framework/references/standards/architecture.md +43 -0
  84. package/framework/references/standards/database.md +43 -0
  85. package/framework/references/standards/debugging.md +44 -0
  86. package/framework/references/standards/documentation.md +43 -0
  87. package/framework/references/standards/logging.md +43 -0
  88. package/framework/references/standards/naming.md +43 -0
  89. package/framework/references/standards/observability.md +43 -0
  90. package/framework/references/standards/performance.md +43 -0
  91. package/framework/references/standards/pull-requests.md +43 -0
  92. package/framework/references/standards/security.md +43 -0
  93. package/framework/references/standards/testing.md +43 -0
  94. package/framework/references/templates/adr.md +28 -0
  95. package/framework/references/templates/api-spec.md +56 -0
  96. package/framework/references/templates/design-document.md +39 -0
  97. package/framework/references/templates/incident-report.md +38 -0
  98. package/framework/references/templates/postmortem.md +41 -0
  99. package/framework/references/templates/pull-request.md +34 -0
  100. package/framework/references/templates/runbook.md +48 -0
  101. package/framework/references/templates/task.md +27 -0
  102. package/framework/skills/README.md +68 -0
  103. package/framework/skills/agent-browser/SKILL.md +51 -0
  104. package/framework/skills/backend-best-practices/SKILL.md +136 -0
  105. package/framework/skills/backend-best-practices/examples.md +31 -0
  106. package/framework/skills/backend-best-practices/references/api-design.md +79 -0
  107. package/framework/skills/backend-best-practices/references/architecture-review.md +77 -0
  108. package/framework/skills/backend-best-practices/references/database-design.md +78 -0
  109. package/framework/skills/backend-best-practices/references/debugging.md +76 -0
  110. package/framework/skills/backend-best-practices/references/observability.md +78 -0
  111. package/framework/skills/backend-best-practices/references/performance.md +78 -0
  112. package/framework/skills/backend-best-practices/references/refactoring.md +77 -0
  113. package/framework/skills/backend-best-practices/references/security.md +80 -0
  114. package/framework/skills/backend-best-practices/references/testing.md +77 -0
  115. package/framework/skills/backend-engineer/SKILL.md +76 -0
  116. package/framework/skills/backend-engineer/examples.md +31 -0
  117. package/framework/skills/brainstorming/SKILL.md +159 -0
  118. package/framework/skills/brainstorming/examples.md +49 -0
  119. package/framework/skills/brainstorming/scripts/frame-template.html +213 -0
  120. package/framework/skills/brainstorming/scripts/helper.js +167 -0
  121. package/framework/skills/brainstorming/scripts/server.cjs +723 -0
  122. package/framework/skills/brainstorming/scripts/start-server.sh +209 -0
  123. package/framework/skills/brainstorming/scripts/stop-server.sh +120 -0
  124. package/framework/skills/brainstorming/visual-companion.md +291 -0
  125. package/framework/skills/brand-guidelines/LICENSE.txt +202 -0
  126. package/framework/skills/brand-guidelines/SKILL.md +73 -0
  127. package/framework/skills/code-review/SKILL.md +72 -0
  128. package/framework/skills/code-review/examples.md +31 -0
  129. package/framework/skills/design/SKILL.md +399 -0
  130. package/framework/skills/design/examples.md +34 -0
  131. package/framework/skills/diagram-design/SKILL.md +485 -0
  132. package/framework/skills/diagram-design/assets/example-architecture-dark.html +180 -0
  133. package/framework/skills/diagram-design/assets/example-architecture-full.html +192 -0
  134. package/framework/skills/diagram-design/assets/example-architecture.html +181 -0
  135. package/framework/skills/diagram-design/assets/example-bar-dark.html +127 -0
  136. package/framework/skills/diagram-design/assets/example-bar-full.html +103 -0
  137. package/framework/skills/diagram-design/assets/example-bar.html +127 -0
  138. package/framework/skills/diagram-design/assets/example-data-flow-dark.html +143 -0
  139. package/framework/skills/diagram-design/assets/example-data-flow-full.html +185 -0
  140. package/framework/skills/diagram-design/assets/example-data-flow.html +143 -0
  141. package/framework/skills/diagram-design/assets/example-datalake-dark.html +241 -0
  142. package/framework/skills/diagram-design/assets/example-datalake-full.html +246 -0
  143. package/framework/skills/diagram-design/assets/example-datalake.html +267 -0
  144. package/framework/skills/diagram-design/assets/example-dp-integration-dark.html +78 -0
  145. package/framework/skills/diagram-design/assets/example-dp-integration-full.html +88 -0
  146. package/framework/skills/diagram-design/assets/example-dp-integration.html +78 -0
  147. package/framework/skills/diagram-design/assets/example-dp-security-matrix-dark.html +31 -0
  148. package/framework/skills/diagram-design/assets/example-dp-security-matrix-full.html +32 -0
  149. package/framework/skills/diagram-design/assets/example-dp-security-matrix.html +88 -0
  150. package/framework/skills/diagram-design/assets/example-er-dark.html +200 -0
  151. package/framework/skills/diagram-design/assets/example-er-full.html +203 -0
  152. package/framework/skills/diagram-design/assets/example-er.html +200 -0
  153. package/framework/skills/diagram-design/assets/example-flowchart-dark.html +154 -0
  154. package/framework/skills/diagram-design/assets/example-flowchart-full.html +157 -0
  155. package/framework/skills/diagram-design/assets/example-flowchart.html +154 -0
  156. package/framework/skills/diagram-design/assets/example-gantt-dark.html +135 -0
  157. package/framework/skills/diagram-design/assets/example-gantt-full.html +125 -0
  158. package/framework/skills/diagram-design/assets/example-gantt.html +135 -0
  159. package/framework/skills/diagram-design/assets/example-high-level-dark.html +249 -0
  160. package/framework/skills/diagram-design/assets/example-high-level-full.html +245 -0
  161. package/framework/skills/diagram-design/assets/example-high-level-vertical-dark.html +272 -0
  162. package/framework/skills/diagram-design/assets/example-high-level-vertical-full.html +250 -0
  163. package/framework/skills/diagram-design/assets/example-high-level-vertical.html +323 -0
  164. package/framework/skills/diagram-design/assets/example-high-level.html +299 -0
  165. package/framework/skills/diagram-design/assets/example-it-state-dark.html +90 -0
  166. package/framework/skills/diagram-design/assets/example-it-state-full.html +69 -0
  167. package/framework/skills/diagram-design/assets/example-it-state.html +128 -0
  168. package/framework/skills/diagram-design/assets/example-layers-dark.html +121 -0
  169. package/framework/skills/diagram-design/assets/example-layers-full.html +124 -0
  170. package/framework/skills/diagram-design/assets/example-layers.html +121 -0
  171. package/framework/skills/diagram-design/assets/example-line-dark.html +109 -0
  172. package/framework/skills/diagram-design/assets/example-line-full.html +103 -0
  173. package/framework/skills/diagram-design/assets/example-line.html +109 -0
  174. package/framework/skills/diagram-design/assets/example-loop-dark.html +100 -0
  175. package/framework/skills/diagram-design/assets/example-loop-full.html +137 -0
  176. package/framework/skills/diagram-design/assets/example-loop-terminal.html +347 -0
  177. package/framework/skills/diagram-design/assets/example-loop.html +100 -0
  178. package/framework/skills/diagram-design/assets/example-medallion-dark.html +159 -0
  179. package/framework/skills/diagram-design/assets/example-medallion-full.html +201 -0
  180. package/framework/skills/diagram-design/assets/example-medallion.html +159 -0
  181. package/framework/skills/diagram-design/assets/example-nested-dark.html +130 -0
  182. package/framework/skills/diagram-design/assets/example-nested-full.html +133 -0
  183. package/framework/skills/diagram-design/assets/example-nested.html +134 -0
  184. package/framework/skills/diagram-design/assets/example-org-chart-dark.html +45 -0
  185. package/framework/skills/diagram-design/assets/example-org-chart-full.html +45 -0
  186. package/framework/skills/diagram-design/assets/example-org-chart.html +45 -0
  187. package/framework/skills/diagram-design/assets/example-process-dark.html +62 -0
  188. package/framework/skills/diagram-design/assets/example-process-full.html +72 -0
  189. package/framework/skills/diagram-design/assets/example-process.html +62 -0
  190. package/framework/skills/diagram-design/assets/example-pyramid-dark.html +117 -0
  191. package/framework/skills/diagram-design/assets/example-pyramid-full.html +120 -0
  192. package/framework/skills/diagram-design/assets/example-pyramid.html +117 -0
  193. package/framework/skills/diagram-design/assets/example-quadrant-consultant.html +164 -0
  194. package/framework/skills/diagram-design/assets/example-quadrant-dark.html +133 -0
  195. package/framework/skills/diagram-design/assets/example-quadrant-full.html +136 -0
  196. package/framework/skills/diagram-design/assets/example-quadrant.html +133 -0
  197. package/framework/skills/diagram-design/assets/example-radar-dark.html +137 -0
  198. package/framework/skills/diagram-design/assets/example-radar-full.html +133 -0
  199. package/framework/skills/diagram-design/assets/example-radar.html +137 -0
  200. package/framework/skills/diagram-design/assets/example-scatter-dark.html +139 -0
  201. package/framework/skills/diagram-design/assets/example-scatter-full.html +114 -0
  202. package/framework/skills/diagram-design/assets/example-scatter.html +139 -0
  203. package/framework/skills/diagram-design/assets/example-sequence-dark.html +220 -0
  204. package/framework/skills/diagram-design/assets/example-sequence-full.html +386 -0
  205. package/framework/skills/diagram-design/assets/example-sequence.html +220 -0
  206. package/framework/skills/diagram-design/assets/example-state-dark.html +145 -0
  207. package/framework/skills/diagram-design/assets/example-state-full.html +148 -0
  208. package/framework/skills/diagram-design/assets/example-state.html +145 -0
  209. package/framework/skills/diagram-design/assets/example-swimlane-dark.html +170 -0
  210. package/framework/skills/diagram-design/assets/example-swimlane-full.html +173 -0
  211. package/framework/skills/diagram-design/assets/example-swimlane.html +170 -0
  212. package/framework/skills/diagram-design/assets/example-timeline-dark.html +133 -0
  213. package/framework/skills/diagram-design/assets/example-timeline-full.html +136 -0
  214. package/framework/skills/diagram-design/assets/example-timeline.html +133 -0
  215. package/framework/skills/diagram-design/assets/example-tree-dark.html +171 -0
  216. package/framework/skills/diagram-design/assets/example-tree-full.html +174 -0
  217. package/framework/skills/diagram-design/assets/example-tree.html +171 -0
  218. package/framework/skills/diagram-design/assets/example-venn-dark.html +130 -0
  219. package/framework/skills/diagram-design/assets/example-venn-full.html +133 -0
  220. package/framework/skills/diagram-design/assets/example-venn.html +108 -0
  221. package/framework/skills/diagram-design/assets/icons.html +230 -0
  222. package/framework/skills/diagram-design/assets/index.html +333 -0
  223. package/framework/skills/diagram-design/assets/template-dark.html +82 -0
  224. package/framework/skills/diagram-design/assets/template-full.html +410 -0
  225. package/framework/skills/diagram-design/assets/template-terminal.html +170 -0
  226. package/framework/skills/diagram-design/assets/template.html +83 -0
  227. package/framework/skills/diagram-design/references/export.md +107 -0
  228. package/framework/skills/diagram-design/references/onboarding.md +268 -0
  229. package/framework/skills/diagram-design/references/primitive-annotation.md +36 -0
  230. package/framework/skills/diagram-design/references/primitive-icons.md +821 -0
  231. package/framework/skills/diagram-design/references/primitive-sketchy.md +43 -0
  232. package/framework/skills/diagram-design/references/primitive-terminal.md +76 -0
  233. package/framework/skills/diagram-design/references/style-guide.md +139 -0
  234. package/framework/skills/diagram-design/references/type-architecture.md +78 -0
  235. package/framework/skills/diagram-design/references/type-bar.md +48 -0
  236. package/framework/skills/diagram-design/references/type-data-flow.md +374 -0
  237. package/framework/skills/diagram-design/references/type-dp-integration.md +410 -0
  238. package/framework/skills/diagram-design/references/type-dp-security-matrix.md +379 -0
  239. package/framework/skills/diagram-design/references/type-er.md +23 -0
  240. package/framework/skills/diagram-design/references/type-flowchart.md +23 -0
  241. package/framework/skills/diagram-design/references/type-gantt.md +45 -0
  242. package/framework/skills/diagram-design/references/type-high-level.md +458 -0
  243. package/framework/skills/diagram-design/references/type-it-state.md +470 -0
  244. package/framework/skills/diagram-design/references/type-layers.md +26 -0
  245. package/framework/skills/diagram-design/references/type-line.md +44 -0
  246. package/framework/skills/diagram-design/references/type-loop.md +223 -0
  247. package/framework/skills/diagram-design/references/type-medallion.md +356 -0
  248. package/framework/skills/diagram-design/references/type-nested.md +22 -0
  249. package/framework/skills/diagram-design/references/type-org-chart.md +44 -0
  250. package/framework/skills/diagram-design/references/type-process.md +495 -0
  251. package/framework/skills/diagram-design/references/type-pyramid.md +33 -0
  252. package/framework/skills/diagram-design/references/type-quadrant.md +81 -0
  253. package/framework/skills/diagram-design/references/type-radar.md +80 -0
  254. package/framework/skills/diagram-design/references/type-scatter.md +39 -0
  255. package/framework/skills/diagram-design/references/type-sequence.md +35 -0
  256. package/framework/skills/diagram-design/references/type-state.md +21 -0
  257. package/framework/skills/diagram-design/references/type-swimlane.md +20 -0
  258. package/framework/skills/diagram-design/references/type-timeline.md +20 -0
  259. package/framework/skills/diagram-design/references/type-tree.md +24 -0
  260. package/framework/skills/diagram-design/references/type-venn.md +26 -0
  261. package/framework/skills/documentation/SKILL.md +74 -0
  262. package/framework/skills/documentation/examples.md +31 -0
  263. package/framework/skills/find-skills/SKILL.md +141 -0
  264. package/framework/skills/find-skills/examples.md +35 -0
  265. package/framework/skills/gitlab-mcp/SKILL.md +83 -0
  266. package/framework/skills/gitlab-mcp/examples.md +31 -0
  267. package/framework/skills/gitlab-mcp/references/code-review.md +110 -0
  268. package/framework/skills/gitlab-mcp/references/issues.md +141 -0
  269. package/framework/skills/gitlab-mcp/references/merge-requests.md +120 -0
  270. package/framework/skills/gitlab-mcp/references/pipelines.md +67 -0
  271. package/framework/skills/gitlab-mcp/references/search.md +17 -0
  272. package/framework/skills/gitlab-mcp/references/webhooks.md +32 -0
  273. package/framework/skills/gitlab-mcp/references/work-items.md +50 -0
  274. package/framework/skills/jira-mcp/SKILL.md +57 -0
  275. package/framework/skills/jira-mcp/examples.md +31 -0
  276. package/framework/skills/jira-mcp/references/comments.md +27 -0
  277. package/framework/skills/jira-mcp/references/issues.md +97 -0
  278. package/framework/skills/jira-mcp/references/projects.md +39 -0
  279. package/framework/skills/laravel-best-practices/SKILL.md +229 -0
  280. package/framework/skills/laravel-best-practices/examples.md +31 -0
  281. package/framework/skills/laravel-best-practices/references/advanced-queries.md +106 -0
  282. package/framework/skills/laravel-best-practices/references/architecture.md +202 -0
  283. package/framework/skills/laravel-best-practices/references/blade-views.md +36 -0
  284. package/framework/skills/laravel-best-practices/references/caching.md +70 -0
  285. package/framework/skills/laravel-best-practices/references/collections.md +44 -0
  286. package/framework/skills/laravel-best-practices/references/config.md +73 -0
  287. package/framework/skills/laravel-best-practices/references/db-performance.md +192 -0
  288. package/framework/skills/laravel-best-practices/references/eloquent.md +148 -0
  289. package/framework/skills/laravel-best-practices/references/error-handling.md +72 -0
  290. package/framework/skills/laravel-best-practices/references/events-notifications.md +52 -0
  291. package/framework/skills/laravel-best-practices/references/http-client.md +160 -0
  292. package/framework/skills/laravel-best-practices/references/mail.md +27 -0
  293. package/framework/skills/laravel-best-practices/references/migrations.md +121 -0
  294. package/framework/skills/laravel-best-practices/references/passport.md +197 -0
  295. package/framework/skills/laravel-best-practices/references/pennant.md +61 -0
  296. package/framework/skills/laravel-best-practices/references/pest-testing.md +166 -0
  297. package/framework/skills/laravel-best-practices/references/pulse.md +196 -0
  298. package/framework/skills/laravel-best-practices/references/queue-jobs.md +144 -0
  299. package/framework/skills/laravel-best-practices/references/routing.md +99 -0
  300. package/framework/skills/laravel-best-practices/references/scheduling.md +39 -0
  301. package/framework/skills/laravel-best-practices/references/scout.md +176 -0
  302. package/framework/skills/laravel-best-practices/references/security.md +198 -0
  303. package/framework/skills/laravel-best-practices/references/spatie-laravel-backup.md +222 -0
  304. package/framework/skills/laravel-best-practices/references/spatie-laravel-permission.md +272 -0
  305. package/framework/skills/laravel-best-practices/references/spatie-medialibrary.md +672 -0
  306. package/framework/skills/laravel-best-practices/references/style.md +125 -0
  307. package/framework/skills/laravel-best-practices/references/tailwindcss.md +112 -0
  308. package/framework/skills/laravel-best-practices/references/testing.md +43 -0
  309. package/framework/skills/laravel-best-practices/references/validation.md +75 -0
  310. package/framework/skills/lavish/SKILL.md +67 -0
  311. package/framework/skills/lavish/examples.md +31 -0
  312. package/framework/skills/notion-mcp/SKILL.md +57 -0
  313. package/framework/skills/notion-mcp/examples.md +31 -0
  314. package/framework/skills/notion-mcp/references/comments.md +112 -0
  315. package/framework/skills/notion-mcp/references/databases.md +193 -0
  316. package/framework/skills/notion-mcp/references/pages.md +235 -0
  317. package/framework/skills/skill-creator/LICENSE.txt +202 -0
  318. package/framework/skills/skill-creator/SKILL.md +485 -0
  319. package/framework/skills/skill-creator/agents/analyzer.md +274 -0
  320. package/framework/skills/skill-creator/agents/comparator.md +202 -0
  321. package/framework/skills/skill-creator/agents/grader.md +223 -0
  322. package/framework/skills/skill-creator/assets/eval_review.html +146 -0
  323. package/framework/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  324. package/framework/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  325. package/framework/skills/skill-creator/examples.md +31 -0
  326. package/framework/skills/skill-creator/references/schemas.md +430 -0
  327. package/framework/skills/skill-creator/scripts/__init__.py +0 -0
  328. package/framework/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  329. package/framework/skills/skill-creator/scripts/generate_report.py +326 -0
  330. package/framework/skills/skill-creator/scripts/improve_description.py +247 -0
  331. package/framework/skills/skill-creator/scripts/package_skill.py +136 -0
  332. package/framework/skills/skill-creator/scripts/quick_validate.py +103 -0
  333. package/framework/skills/skill-creator/scripts/run_eval.py +310 -0
  334. package/framework/skills/skill-creator/scripts/run_loop.py +328 -0
  335. package/framework/skills/skill-creator/scripts/utils.py +47 -0
  336. package/framework/styles/README.md +35 -0
  337. package/framework/styles/linear/DESIGN.md +478 -0
  338. package/framework/styles/linear/README.md +36 -0
  339. package/framework/styles/linear/assets/preview.jpg +0 -0
  340. package/framework/styles/raycast/DESIGN.md +495 -0
  341. package/framework/styles/raycast/README.md +35 -0
  342. package/framework/styles/raycast/assets/preview.jpg +0 -0
  343. package/package.json +33 -0
  344. package/src/agent-configs.js +96 -0
  345. package/src/catalog.js +145 -0
  346. package/src/cli.js +254 -0
  347. package/src/installer.js +303 -0
@@ -0,0 +1,112 @@
1
+ # OpenCode Goal Plugin Troubleshooting
2
+
3
+ ## Plugin not recognized
4
+
5
+ **Problem**
6
+
7
+ `opencode plugin @prevalentware/opencode-goal-plugin` returns an error.
8
+
9
+ **Cause**
10
+
11
+ The package name is incorrect, or OpenCode cannot reach the npm registry.
12
+
13
+ **Solution**
14
+
15
+ - Verify the package name: `@prevalentware/opencode-goal-plugin`.
16
+ - Check network connectivity to the npm registry.
17
+ - Ensure OpenCode >= 1.17.1 is installed: `opencode --version`.
18
+
19
+ ## Manual config needed
20
+
21
+ **Problem**
22
+
23
+ The plugin is installed but does not appear in OpenCode.
24
+
25
+ **Cause**
26
+
27
+ The CLI install may not write to all config targets on some platforms.
28
+
29
+ **Solution**
30
+
31
+ - Add the plugin to `opencode.json`: `"plugin": ["@prevalentware/opencode-goal-plugin"]`.
32
+ - Add the plugin to `tui.json`: `"plugin": ["@prevalentware/opencode-goal-plugin"]`.
33
+ - Restart OpenCode.
34
+
35
+ ## Goal not persisting
36
+
37
+ **Problem**
38
+
39
+ The goal disappears after session compaction or restart.
40
+
41
+ **Cause**
42
+
43
+ The state file cannot be written, or the filesystem does not support atomic writes.
44
+
45
+ **Solution**
46
+
47
+ - Check that the state file path is writable: `$XDG_DATA_HOME/opencode-goal-plugin/goals.json` (defaults to `~/.local/share/opencode-goal-plugin/goals.json`).
48
+ - Set `OPENCODE_GOAL_STATE_PATH` to a custom writable path.
49
+ - Verify disk space is available.
50
+
51
+ ## Auto-continue not working
52
+
53
+ **Problem**
54
+
55
+ The goal is set but the agent does not auto-continue on idle.
56
+
57
+ **Cause**
58
+
59
+ `auto_continue` is disabled, or the goal is paused or closed.
60
+
61
+ **Solution**
62
+
63
+ - Check `auto_continue` is `true` in the plugin options.
64
+ - Verify the goal status is `active` with `/goal`.
65
+ - Check that no-progress detection has not paused the goal.
66
+ - Verify the session is in Build mode (Plan mode suppresses auto-continue).
67
+
68
+ ## Plan mode restrictions
69
+
70
+ **Problem**
71
+
72
+ Goals created from Plan mode are paused immediately.
73
+
74
+ **Cause**
75
+
76
+ By default, `restricted_agents` includes `"plan"`, and Plan-mode goals start paused.
77
+
78
+ **Solution**
79
+
80
+ - Switch to Build mode and run `/goal resume` to activate the goal.
81
+ - To disable this restriction, set `allow_goal_execution_from_plan: true` in the plugin options (not recommended).
82
+
83
+ ## Goal closed prematurely
84
+
85
+ **Problem**
86
+
87
+ The goal was marked complete or unmet without sufficient evidence.
88
+
89
+ **Cause**
90
+
91
+ The agent closed the goal without verifying all requirements.
92
+
93
+ **Solution**
94
+
95
+ - Use `/goal history` to review how the goal was closed.
96
+ - Use `/goal edit <updated objective>` and `/goal resume` to restart with clearer criteria.
97
+ - Include specific verification steps in the original objective.
98
+
99
+ ## State file permission errors
100
+
101
+ **Problem**
102
+
103
+ The plugin logs permission errors when writing goal state.
104
+
105
+ **Cause**
106
+
107
+ The state file has restrictive permissions from a previous owner or process.
108
+
109
+ **Solution**
110
+
111
+ - Remove the state file: `rm ~/.local/share/opencode-goal-plugin/goals.json`.
112
+ - Ensure the OpenCode process has write access to the parent directory.
@@ -0,0 +1,44 @@
1
+ # Ponytail Plugin
2
+
3
+ ## Overview
4
+
5
+ Ponytail makes your AI agent think like the laziest senior dev in the room. Before writing code, the agent climbs a ladder of checks: YAGNI first, then reuse what exists, reach for stdlib, native features, installed deps, one-liners, and only then the minimum code that works. The result is less code, lower cost, and faster sessions without cutting safety.
6
+
7
+ Official source:
8
+
9
+ - [GitHub: DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail)
10
+ - [npm: @dietrichgebert/ponytail](https://www.npmjs.com/package/@dietrichgebert/ponytail)
11
+
12
+ ## Features
13
+
14
+ - **Lazy senior dev ladder**: seven-rung decision tree the agent climbs before writing code.
15
+ - **Slash commands**: `/ponytail [lite|full|ultra|off]`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, `/ponytail-help`.
16
+ - **Mode switching**: four intensity levels (off, lite, full, ultra) persisted across sessions.
17
+ - **Bundled skills**: review, audit, debt, gain, and help skills included.
18
+ - **Always-on injection**: ruleset appended to the system prompt every turn.
19
+ - **Agent-portable**: works with 16+ agent platforms via rules files, AGENTS.md, or plugins.
20
+
21
+ ## When to Use
22
+
23
+ Use this plugin in any coding session where the agent tends to over-engineer, write unnecessary abstractions, or reach for dependencies instead of simpler solutions.
24
+
25
+ Good fits:
26
+ - Reducing code bloat and unnecessary complexity.
27
+ - Lowering token usage and API costs.
28
+ - Enforcing YAGNI and reuse-first discipline.
29
+ - Reviewing diffs for over-engineering.
30
+
31
+ Avoid when the task explicitly needs complex scaffolding, heavy abstractions, or framework boilerplate.
32
+
33
+ ## Requirements
34
+
35
+ - OpenCode >= 1.17.0 (for plugin loading).
36
+ - Node.js on PATH (for lifecycle hooks).
37
+
38
+ ## Related Skills
39
+
40
+ Relevant skills in this repository:
41
+
42
+ - [`code-review`](../../skills/code-review/SKILL.md): review backend changes for correctness and maintainability, complementary to ponytail's over-engineering focus.
43
+ - [`backend-best-practices`](../../skills/backend-best-practices/SKILL.md): backend best practices for refactoring and behavior-preserving cleanup.
44
+ - [`pull-request`](../../skills/pull-request/SKILL.md): prepare small, reviewable changes aligned with ponytail's minimal-diff philosophy.
@@ -0,0 +1,112 @@
1
+ # Ponytail Plugin Capabilities
2
+
3
+ ## What It Can Do
4
+
5
+ ### Slash Commands
6
+
7
+ | Command | Description |
8
+ |---|---|
9
+ | `/ponytail` | Report the current mode |
10
+ | `/ponytail lite` | Set lightweight mode (gentle nudge) |
11
+ | `/ponytail full` | Set full mode (default, standard lazy senior dev) |
12
+ | `/ponytail ultra` | Set ultra mode (aggressive minimalism) |
13
+ | `/ponytail off` | Disable ponytail |
14
+ | `/ponytail-review` | Review the current diff for over-engineering, returns a delete-list |
15
+ | `/ponytail-audit` | Audit the whole repo for over-engineering |
16
+ | `/ponytail-debt` | Harvest deferred `ponytail:` shortcuts into a ledger |
17
+ | `/ponytail-gain` | Show measured impact scoreboard (less code, cost, speed) |
18
+ | `/ponytail-help` | Quick reference for all ponytail commands |
19
+
20
+ ### Bundled Skills
21
+
22
+ - `ponytail` — core lazy senior dev mode
23
+ - `ponytail-review` — diff review for over-engineering
24
+ - `ponytail-audit` — full repo audit for over-engineering
25
+ - `ponytail-debt` — technical debt tracking for shortcuts
26
+ - `ponytail-gain` — impact measurement
27
+ - `ponytail-help` — command reference
28
+
29
+ ### The Ladder (Core Ruleset)
30
+
31
+ Before writing code, the agent stops at the first rung that holds:
32
+
33
+ 1. **Does this need to exist?** → no: skip it (YAGNI)
34
+ 2. **Already in this codebase?** → reuse it, don't rewrite
35
+ 3. **Stdlib does it?** → use it
36
+ 4. **Native platform feature?** → use it
37
+ 5. **Installed dependency?** → use it
38
+ 6. **One line?** → one line
39
+ 7. **Only then**: the minimum that works
40
+
41
+ The ladder runs after the agent understands the problem — it reads the code it touches and traces the real flow before picking a rung.
42
+
43
+ ### System Prompt Transformation
44
+
45
+ The plugin appends the ruleset to the system prompt every turn, so the ladder is always active. Mode switches are persisted between sessions via a state file.
46
+
47
+ ## Configuration Options
48
+
49
+ Configure in `opencode.json`:
50
+
51
+ ```json
52
+ {
53
+ "plugin": ["@dietrichgebert/ponytail"]
54
+ }
55
+ ```
56
+
57
+ Set the default mode via environment variable:
58
+
59
+ ```bash
60
+ export PONYTAIL_DEFAULT_MODE=full
61
+ ```
62
+
63
+ Or in `~/.config/ponytail/config.json` (`%APPDATA%\ponytail\config.json` on Windows):
64
+
65
+ ```json
66
+ {
67
+ "defaultMode": "full"
68
+ }
69
+ ```
70
+
71
+ ### Mode Levels
72
+
73
+ | Mode | Description |
74
+ |---|---|
75
+ | `off` | Disabled, no rules injected |
76
+ | `lite` | Gentle nudge toward simplicity |
77
+ | `full` | (Default) Standard lazy senior dev rules |
78
+ | `ultra` | Aggressive minimalism |
79
+
80
+ ## What It Cannot Do
81
+
82
+ - It cannot override explicit user requests for complex implementations.
83
+ - It cannot guarantee correctness — it minimizes code, but validation and error handling are never cut.
84
+ - It cannot enforce YAGNI on dependencies already installed and used by the project.
85
+ - It cannot prevent the agent from building what was explicitly requested.
86
+
87
+ ## Best Practices
88
+
89
+ - Start with `full` mode and adjust to `ultra` if the codebase needs aggressive simplification.
90
+ - Use `/ponytail-review` after a coding session to catch over-engineering the agent missed.
91
+ - Mark intentional shortcuts with `ponytail:` comments naming the ceiling and upgrade path.
92
+ - Review `/ponytail-debt` regularly to track deferred improvements.
93
+ - Pair with `code-review` and `pull-request` skills for a complete quality workflow.
94
+
95
+ ## Common Workflows
96
+
97
+ ### Start a session with ponytail
98
+
99
+ 1. Install the plugin and start OpenCode.
100
+ 2. Run `/ponytail` to confirm the mode (defaults to `full`).
101
+ 3. Work as usual — the ruleset is active every turn.
102
+
103
+ ### Review a diff
104
+
105
+ 1. After making changes, run `/ponytail-review`.
106
+ 2. Review the delete-list and remove unnecessary code.
107
+
108
+ ### Switch mode mid-session
109
+
110
+ 1. Run `/ponytail ultra` to go aggressive.
111
+ 2. Run `/ponytail off` to disable temporarily.
112
+ 3. The mode persists across session restarts.
@@ -0,0 +1,77 @@
1
+ # Ponytail Plugin Installation
2
+
3
+ ## Requirements
4
+
5
+ - OpenCode >= 1.17.0 installed.
6
+ - Node.js on PATH (required by lifecycle hooks; Nix/nvm users must have it on the non-interactive shell's PATH).
7
+
8
+ ## Installation
9
+
10
+ ### OpenCode
11
+
12
+ Add to `opencode.json`:
13
+
14
+ ```json
15
+ {
16
+ "plugin": ["@dietrichgebert/ponytail"]
17
+ }
18
+ ```
19
+
20
+ Or install from a local checkout (reuses `hooks/` and `skills/`):
21
+
22
+ ```json
23
+ {
24
+ "plugin": ["./.opencode/plugins/ponytail.mjs"]
25
+ }
26
+ ```
27
+
28
+ The `./` path resolves against your project's `opencode.json`. To share one checkout across projects, point it at the absolute path of the `.mjs` instead.
29
+
30
+ ### Other Platforms
31
+
32
+ The plugin works with 16+ agent platforms. See the [official install guide](https://github.com/DietrichGebert/ponytail#install) for platform-specific instructions.
33
+
34
+ | Platform | Command |
35
+ |---|---|
36
+ | Claude Code | `/plugin marketplace add DietrichGebert/ponytail` then `/plugin install ponytail@ponytail` |
37
+ | Codex | `codex plugin marketplace add DietrichGebert/ponytail` |
38
+ | Copilot CLI | `copilot plugin marketplace add DietrichGebert/ponytail` |
39
+ | Gemini CLI | `gemini extensions install https://github.com/DietrichGebert/ponytail` |
40
+ | Pi agent | `pi install git:github.com/DietrichGebert/ponytail` |
41
+ | Hermes | `hermes plugins install DietrichGebert/ponytail --enable` |
42
+
43
+ ## Verification
44
+
45
+ After installing, start or restart OpenCode and run:
46
+
47
+ ```
48
+ /ponytail
49
+ ```
50
+
51
+ You should see the current mode. The ruleset activates every turn.
52
+
53
+ ## Updating
54
+
55
+ ```bash
56
+ opencode plugin update @dietrichgebert/ponytail
57
+ ```
58
+
59
+ ## Uninstalling
60
+
61
+ Remove the plugin entry from `opencode.json`. On other platforms:
62
+
63
+ | Platform | Command |
64
+ |---|---|
65
+ | Claude Code | `/plugin remove ponytail` |
66
+ | Codex | `codex plugin remove ponytail` |
67
+ | Devin CLI | `devin plugins remove ponytail` |
68
+ | Pi agent | `pi uninstall ponytail` |
69
+
70
+ To clean up state files, run `node scripts/uninstall.js` from a clone of the repo before removing the plugin.
71
+
72
+ ## Common Issues
73
+
74
+ - **Plugin not loaded**: ensure `@dietrichgebert/ponytail` is in the `plugin` array in `opencode.json`.
75
+ - **Node.js not found**: lifecycle hooks need Node.js on PATH. Verify with `node --version`.
76
+ - **Mode not persisting**: mode state is stored in `~/.config/opencode/.ponytail-active`. Check that the directory is writable.
77
+ - **Rules not applying**: the plugin injects rules via the system prompt transform. Verify the plugin is active with `/ponytail`.
@@ -0,0 +1,116 @@
1
+ # Ponytail Plugin Troubleshooting
2
+
3
+ ## Plugin not recognized
4
+
5
+ **Problem**
6
+
7
+ OpenCode does not load the ponytail plugin.
8
+
9
+ **Cause**
10
+
11
+ The plugin name is incorrect or OpenCode cannot resolve the npm package.
12
+
13
+ **Solution**
14
+
15
+ - Verify the package name: `@dietrichgebert/ponytail`.
16
+ - Check network connectivity to the npm registry.
17
+ - Ensure OpenCode >= 1.17.0 is installed: `opencode --version`.
18
+ - Try using the local checkout path instead: `"./.opencode/plugins/ponytail.mjs"`.
19
+
20
+ ## Rules not applying
21
+
22
+ **Problem**
23
+
24
+ The ponytail ruleset does not appear in the agent's behavior.
25
+
26
+ **Cause**
27
+
28
+ The plugin is not active, or the mode is set to `off`.
29
+
30
+ **Solution**
31
+
32
+ - Run `/ponytail` to check the current mode.
33
+ - If `off`, run `/ponytail full` to enable.
34
+ - Verify the plugin is listed in `opencode.json` and restart OpenCode.
35
+ - Check the plugin was installed correctly with `opencode plugin list`.
36
+
37
+ ## Node.js not found
38
+
39
+ **Problem**
40
+
41
+ Lifecycle hooks fail with a Node.js error.
42
+
43
+ **Cause**
44
+
45
+ The hooks need `node` on the PATH, but it is not available in the non-interactive shell.
46
+
47
+ **Solution**
48
+
49
+ - Verify `node --version` works in a new terminal.
50
+ - Nix/nvm users: ensure Node.js is on the PATH for non-interactive shells (e.g., via `~/.zshenv` or a nix-darwin activation script).
51
+ - The skills still work without Node.js; only the always-on activation is affected.
52
+
53
+ ## Mode not persisting
54
+
55
+ **Problem**
56
+
57
+ The mode resets to default after restarting OpenCode.
58
+
59
+ **Cause**
60
+
61
+ The state file cannot be written or read.
62
+
63
+ **Solution**
64
+
65
+ - Check that `~/.config/opencode/` is writable.
66
+ - Verify `~/.config/opencode/.ponytail-active` exists and is readable: `cat ~/.config/opencode/.ponytail-active`.
67
+ - Set `PONYTAIL_DEFAULT_MODE` to your preferred mode as a fallback.
68
+
69
+ ## Commands not available
70
+
71
+ **Problem**
72
+
73
+ `/ponytail` or `/ponytail-review` slash commands do not appear.
74
+
75
+ **Cause**
76
+
77
+ The plugin commands are not registered, or the host does not support slash commands.
78
+
79
+ **Solution**
80
+
81
+ - Verify the plugin loaded successfully.
82
+ - Some adapters (Cursor, Windsurf, Cline) load only the ruleset, not the commands.
83
+ - Codex uses `@ponytail-review` instead of `/ponytail-review`.
84
+ - For OpenCode, ensure the plugin config points to the correct path or npm package.
85
+
86
+ ## Plugin conflicts
87
+
88
+ **Problem**
89
+
90
+ Ponytail conflicts with other plugins or skills.
91
+
92
+ **Cause**
93
+
94
+ Multiple plugins modify the system prompt in conflicting ways.
95
+
96
+ **Solution**
97
+
98
+ - Run `/ponytail off` to disable ponytail and isolate the issue.
99
+ - Review other installed plugins for system prompt modifications.
100
+ - Adjust mode to `lite` for a gentler nudge that may conflict less.
101
+
102
+ ## Excessive minimalism
103
+
104
+ **Problem**
105
+
106
+ The agent is cutting too much code, including necessary functionality.
107
+
108
+ **Cause**
109
+
110
+ `ultra` mode may be too aggressive for the task.
111
+
112
+ **Solution**
113
+
114
+ - Switch to `full` or `lite` mode.
115
+ - Be explicit in your prompts about what you expect.
116
+ - Ponytail never cuts validation, error handling, security, or accessibility by design.
@@ -0,0 +1,44 @@
1
+ # API Standard
2
+
3
+ ## Purpose
4
+
5
+ Define reusable backend engineering rules for API decisions across projects. This standard is canonical guidance for related skills.
6
+
7
+ ## Rules
8
+
9
+ - Use HTTP methods by semantic meaning: GET for reads, POST for creates, PUT for full replacement, PATCH for partial update, DELETE for removal.
10
+ - Version the API via URL prefix (`/v1/`) or accept header; never break a published version without a deprecation cycle.
11
+ - Return standard HTTP status codes: 200 for success, 201 for created, 204 for deleted, 400 for bad request, 401 for unauthenticated, 403 for forbidden, 404 for not found, 409 for conflict, 422 for validation, 429 for rate limited, 5xx for server errors.
12
+ - All errors use a consistent JSON envelope: `{"error": {"code": "...", "message": "...", "details": {...}}}`.
13
+ - Paginate list endpoints using cursor-based pagination; return `next_cursor` and `has_more` in the response body.
14
+ - Use request IDs on mutating endpoints and return them in responses for idempotency guarantees.
15
+
16
+ ## Best Practices
17
+
18
+ - Design resources around business nouns, not actions; use sub-resources for relationships (`/orders/{id}/items`).
19
+ - Make response bodies backward-compatible: never remove fields, never change field types; add fields as optional.
20
+ - Rate limit by client (API key or IP); return `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` headers and 429 with `Retry-After`.
21
+ - Validate all input at the boundary using a schema (JSON Schema, protobuf, or equivalent); reject unknown fields.
22
+ - Use idempotency keys (`Idempotency-Key` header) for POST endpoints that create resources.
23
+
24
+ ## Anti-patterns
25
+
26
+ - Using GET for mutating operations or POST for pure reads.
27
+ - Returning 200 with an error body instead of the appropriate 4xx status code.
28
+ - Changing a field's meaning or type within the same API version.
29
+ - Exposing internal IDs or database identifiers when opaque public IDs are feasible.
30
+ - Nesting resources deeper than two levels; flatten or use query parameters.
31
+
32
+ ## Checklist
33
+
34
+ - [ ] HTTP method matches the operation's semantics.
35
+ - [ ] Error responses follow the standard envelope with actionable messages.
36
+ - [ ] Pagination uses cursor-based tokens, not page numbers.
37
+ - [ ] Rate limiting headers are present on all endpoints.
38
+ - [ ] New fields are optional or have sensible defaults; no breaking changes.
39
+
40
+ ## Related Skills
41
+
42
+ - `skills/backend-engineer/SKILL.md`
43
+ - `skills/code-review/SKILL.md`
44
+ - `skills/backend-best-practices/references/api-design.md`
@@ -0,0 +1,43 @@
1
+ # Architecture Standard
2
+
3
+ ## Purpose
4
+
5
+ Define reusable backend engineering rules for architecture decisions across projects. This standard is canonical guidance for related skills.
6
+
7
+ ## Rules
8
+
9
+ - Enforce strict layering: presentation depends on application depends on domain; infrastructure depends on abstractions, not concrete types.
10
+ - Dependencies must point inward: inner layers (domain) define interfaces; outer layers (infrastructure) implement them.
11
+ - A module must have a single reason to change; group code by business domain, not by technical role.
12
+ - Public API surfaces must be small and explicit; hide internal details behind package/module boundaries.
13
+ - No circular dependencies between modules, packages, or layers; enforce with build-time checks.
14
+
15
+ ## Best Practices
16
+
17
+ - Use the Ports & Adapters pattern: business logic depends on interfaces (ports), external systems plug in via adapters.
18
+ - Communicate between bounded contexts through asynchronous messages or a published anti-corruption layer; never share internal types.
19
+ - Keep domain logic free of framework annotations, serialization concerns, and database primitives.
20
+ - Draw architectural decisions as C4 diagrams (Context, Container, Component, Code) and review them before building.
21
+ - Each module should be testable in isolation by swapping real adapters with test doubles at the port boundary.
22
+
23
+ ## Anti-patterns
24
+
25
+ - Anemic domain model where business logic leaks into services and the domain layer is just getters and setters.
26
+ - Using dependency injection to wire everything together while still calling concrete classes directly.
27
+ - Big Ball of Mud: no clear boundaries, arbitrary cross-module references, mixed concerns in a single package.
28
+ - Leaking infrastructure concepts (HTTP request objects, database connections, serialization formats) into domain logic.
29
+ - Premature microservices: extracting services before understanding the bounded context, adding network overhead without cohesion benefit.
30
+
31
+ ## Checklist
32
+
33
+ - [ ] Dependency direction is verified: domain depends on nothing, infrastructure depends on domain.
34
+ - [ ] Each module has a well-defined public API and internal package is hidden.
35
+ - [ ] No circular dependencies exist (verified by tooling).
36
+ - [ ] Domain code is framework-independent and testable without infrastructure.
37
+ - [ ] Architecture decision record (ADR) exists for any significant structural choice.
38
+
39
+ ## Related Skills
40
+
41
+ - `skills/backend-engineer/SKILL.md`
42
+ - `skills/code-review/SKILL.md`
43
+ - `skills/backend-best-practices/references/architecture-review.md`
@@ -0,0 +1,43 @@
1
+ # Database Standard
2
+
3
+ ## Purpose
4
+
5
+ Define reusable backend engineering rules for database decisions across projects. This standard is canonical guidance for related skills.
6
+
7
+ ## Rules
8
+
9
+ - Every table must have a single-column, auto-incrementing or UUID primary key named `id`.
10
+ - All columns must be `NOT NULL` unless there is an explicit business reason for nullability; model optionality through separate tables where appropriate.
11
+ - Define foreign key constraints for all relationships; use `ON DELETE RESTRICT` by default, `ON DELETE CASCADE` only after documented reasoning.
12
+ - Index every column that appears in a `WHERE`, `JOIN`, `ORDER BY`, or `GROUP BY` clause; use composite indexes when filtering on multiple columns.
13
+ - All migrations must be reversible (provide `down` migration); never alter or drop a column without a zero-downtime rollout plan.
14
+
15
+ ## Best Practices
16
+
17
+ - Name tables as plural nouns (`orders`, `users`) and columns as snake_case descriptive names (`created_at`, `order_status`).
18
+ - Use database-level CHECK constraints for business invariants (e.g., `amount > 0`, `status IN ('pending', 'paid')`).
19
+ - Keep transactions short; never hold a transaction open across network calls or user interaction.
20
+ - Use `EXPLAIN ANALYZE` on every new or modified query before deploying; aim for sequential scans on tables under 10k rows, index scans on larger tables.
21
+ - Pool connections with a max of `(2 × CPU cores) + 1` per service instance; configure statement timeouts at the connection level.
22
+
23
+ ## Anti-patterns
24
+
25
+ - Using a database as a message queue (polling tables for work); use a dedicated message broker instead.
26
+ - Storing JSON blobs that are queried or joined on; promote queryable fields to proper columns with indexes.
27
+ - Running application logic in triggers or stored procedures; keep business logic in application code.
28
+ - SELECT * in production code; always list explicit columns.
29
+ - Schema changes (migrations) applied at application startup; use a separate migration tool with gated rollout.
30
+
31
+ ## Checklist
32
+
33
+ - [ ] Every table has an `id` primary key, proper indexes, and foreign keys with explicit `ON DELETE` behavior.
34
+ - [ ] All queries are reviewed with `EXPLAIN ANALYZE`; no sequential scans on hot paths.
35
+ - [ ] Connection pool limits and statement timeouts are configured.
36
+ - [ ] Migrations are reversible and have been tested against production-sized data.
37
+ - [ ] No sensitive data (passwords, tokens, PII) is stored without encryption or hashing consideration.
38
+
39
+ ## Related Skills
40
+
41
+ - `skills/backend-engineer/SKILL.md`
42
+ - `skills/code-review/SKILL.md`
43
+ - `skills/backend-best-practices/references/database-design.md`
@@ -0,0 +1,44 @@
1
+ # Debugging Standard
2
+
3
+ ## Purpose
4
+
5
+ Define reusable backend engineering rules for debugging decisions across projects. This standard is canonical guidance for related skills.
6
+
7
+ ## Rules
8
+
9
+ - Reproduce the issue in a non-production environment before changing any code.
10
+ - Isolate one variable at a time (binary search through commits, configs, inputs, or environment differences).
11
+ - Correlate logs, metrics, and traces by a shared identifier (trace_id, request_id, correlation_id) before forming a hypothesis.
12
+ - Fix root causes, not symptoms. A fix that does not prevent recurrence is incomplete.
13
+ - Preserve all diagnostic evidence (logs, dumps, metrics snapshots) before restarting or rolling back.
14
+
15
+ ## Best Practices
16
+
17
+ - Start with the most recent change when diagnosing a regression; git bisect is faster than manual inspection.
18
+ - Write a hypothesis before each experiment: "If X is the cause, then Y will happen when I do Z."
19
+ - Add a regression test or monitoring check after the fix to detect recurrence automatically.
20
+ - Pair debug with a colleague when stuck for more than 30 minutes; fresh eyes see different assumptions.
21
+ - Document the root cause and fix in a shared incident log or postmortem.
22
+
23
+ ## Anti-patterns
24
+
25
+ - Changing code based on assumptions without reproducing the issue first.
26
+ - Stopping at the first plausible cause without ruling out alternative explanations.
27
+ - Cherry-picking evidence that supports the current hypothesis while ignoring contradictory data.
28
+ - Applying hotfixes in production without understanding the root cause.
29
+ - Restarting services to "fix" a problem, which destroys diagnostic evidence.
30
+
31
+ ## Checklist
32
+
33
+ - [ ] The issue is reproduced in a safe environment.
34
+ - [ ] Logs, metrics, and traces are correlated and examined together.
35
+ - [ ] A root cause hypothesis explains all observed symptoms.
36
+ - [ ] Alternative hypotheses have been ruled out.
37
+ - [ ] The fix addresses the root cause, not just the symptom.
38
+ - [ ] A regression test or monitor can detect recurrence.
39
+
40
+ ## Related Skills
41
+
42
+ - `skills/backend-engineer/SKILL.md`
43
+ - `skills/code-review/SKILL.md`
44
+ - `skills/backend-best-practices/references/debugging.md`
@@ -0,0 +1,43 @@
1
+ # Documentation Standard
2
+
3
+ ## Purpose
4
+
5
+ Define reusable backend engineering rules for documentation decisions across projects. This standard is canonical guidance for related skills.
6
+
7
+ ## Rules
8
+
9
+ - Every architectural decision that is non-obvious, costly to reverse, or has tradeoffs must have an ADR in `docs/adr/` following the MADR template.
10
+ - API endpoints must have a machine-readable specification (OpenAPI 3.x) that is the single source of truth; keep it in the same repository as the implementation.
11
+ - Every service must have a runbook in `docs/runbooks/` covering startup, health checks, common failure modes, and recovery steps.
12
+ - Documentation lives as close to code as possible: inline comments explain "why not what", module-level docs explain purpose, and README explains how to run/test/deploy.
13
+ - Review documentation in the same PR as the code change; docs that ship separately are never written.
14
+
15
+ ## Best Practices
16
+
17
+ - Write design docs before building non-trivial features; include context, proposed solution, alternatives considered, and open questions.
18
+ - Keep README files structured: title, description, quick start, configuration, deployment, and links to detailed docs.
19
+ - Use diagrams in ADRs and design docs (Mermaid or PlantUML) to communicate system relationships visually.
20
+ - Document failure modes and their mitigation in runbooks, including step-by-step commands and expected output.
21
+ - Set a 30-day freshness SLA for runbooks; stale runbooks must be surfaced by a scheduled review.
22
+
23
+ ## Anti-patterns
24
+
25
+ - README files that are outdated, have no structure, or list dead commands and obsolete environment variables.
26
+ - Writing design docs after implementation; the doc should guide the build, not describe what was built.
27
+ - Documenting obvious code behavior ("this function adds two numbers") instead of the rationale and constraints.
28
+ - Scattering documentation across wikis, Notion, Google Docs, and the repo with no single source of truth.
29
+ - ADRs that describe only the chosen solution without documenting the alternatives considered and rejected.
30
+
31
+ ## Checklist
32
+
33
+ - [ ] Code changes include or update relevant documentation in the same PR.
34
+ - [ ] ADRs exist for every significant architectural decision.
35
+ - [ ] API spec (OpenAPI) is in the repo and matches the implementation.
36
+ - [ ] Runbook is up to date and tested against a staging environment.
37
+ - [ ] README reflects the current state of the project.
38
+
39
+ ## Related Skills
40
+
41
+ - `skills/backend-engineer/SKILL.md`
42
+ - `skills/code-review/SKILL.md`
43
+ - `skills/documentation/SKILL.md`