@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,495 @@
1
+ # Raycast — Style Reference
2
+ > Midnight command center, coral neon
3
+
4
+ **Theme:** dark
5
+
6
+ Raycast reads as a dark power-tool cockpit: an almost-black canvas (#040506) with barely-visible elevation steps, a single warm coral accent (#ff6363) that carries brand identity, and quiet white/gray typography in Inter. Components are defined less by shadows and more by hairline borders, inset highlight strokes, and the distinctive 'keyboard key' inner-shadow treatment that makes cards feel pressed and tactile rather than floating. Color is rationed — the page is 98% achromatic, and the coral appears only in the logo, hero artwork, AI badge, and the occasional warm-tinted surface. Navigation floats with a glass-blur effect, and most interactive surfaces are neutral light-gray buttons on dark, not chromatic CTAs. The hero abandons the system entirely with large red/blue gradient geometry, then the rest of the page returns to the austere dark surface — contrast through atmosphere, not decoration.
7
+
8
+ ## Tokens — Colors
9
+
10
+ | Name | Value | Token | Role |
11
+ |------|-------|-------|------|
12
+ | Void Black | `#040506` | `--color-void-black` | Page canvas, dominant background — the near-pure-black base that most of the interface sits on |
13
+ | Ink | `#07080a` | `--color-ink` | Card surfaces, elevated panels, image backgrounds — one step up from the canvas for content blocks |
14
+ | Obsidian | `#111214` | `--color-obsidian` | Subtle surface tint, pressed states, input wells — used for slight depth on form fields and recessed containers |
15
+ | Graphite | `#1b1c1e` | `--color-graphite` | Neutral form states, badge text, and quiet UI feedback where color should stay understated. |
16
+ | Smoke | `#6a6b6c` | `--color-smoke` | Secondary body text, muted labels — the everyday reading color on dark surfaces |
17
+ | Ash | `#9c9c9d` | `--color-ash` | Light text on dark surfaces, inverse labels, and high-contrast captions. |
18
+ | Mist | `#e6e6e6` | `--color-mist` | Light neutral action fill for buttons on dark surfaces. |
19
+ | Iron | `#454647` | `--color-iron` | Button text on light fills, mid-gray borders — paired with Mist for filled button labels |
20
+ | Slate | `#2f3031` | `--color-slate` | Dark button borders and labels on ghost/dark buttons |
21
+ | Pure White | `#ffffff` | `--color-pure-white` | Headings, high-emphasis text, reversed text on light buttons — the loudest text color in the system |
22
+ | Coral Pulse | `#ff6363` | `--color-coral-pulse` | Brand accent — logo diamond, AI badge fill, hero artwork saturation, the single warm punctuation in an achromatic system |
23
+ | Ember Hush | `#452324` | `--color-ember-hush` | Warm-tinted card backgrounds, accent surface tints — desaturated coral used as a muted backdrop for coral-anchored content |
24
+ | Electric Sky | `#63a1ff` | `--color-electric-sky` | Hero illustration mid-tone, decorative gradient — appears only in the dramatic abstract hero artwork, not in interface controls |
25
+ | Cobalt Edge | `#143ca3` | `--color-cobalt-edge` | Hero illustration stroke, deep gradient anchor — paired with Electric Sky in the hero's blue geometry |
26
+ | Deep Space | `#02193b` | `--color-deep-space` | Hero illustration fill, darkest blue in the artwork gradient — not a UI token |
27
+ | Info Blue | `#56c2ff` | `--color-info-blue` | Blue wash for highlight backgrounds, decorative bands, and soft emphasis behind content. Use as a supporting accent, not as a status color |
28
+ | Success Green | `#59d499` | `--color-success-green` | Green wash for highlight backgrounds, decorative bands, and soft emphasis behind content. Use as a supporting accent, not as a status color |
29
+
30
+ ## Tokens — Typography
31
+
32
+ ### Inter — Primary interface typeface — body text at 16px/400, nav and card labels at 13–14px/500, subheadings at 18–22px/400, section headings at 32–56px in the 400–600 range, and display at 64px/600. Inter's neutral geometry carries the developer-tool seriousness; weight 400 at the 56px hero headline is an anti-convention choice — most brands shout with 700, Raycast whispers with regular weight and lets the size do the work · `--font-inter`
33
+ - **Substitute:** system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif
34
+ - **Weights:** 400, 500, 600
35
+ - **Sizes:** 11px, 12px, 13px, 14px, 16px, 18px, 20px, 22px, 24px, 32px, 56px, 64px
36
+ - **Line height:** 0.91–1.71
37
+ - **Letter spacing:** 0.0040em at 56px, 0.0100em at 20px, 0.0140em at 14px, 0.0080em at 13px, 0.0730em at 11px (uppercase eyebrow)
38
+ - **OpenType features:** `'calt', 'kern', 'liga', 'ss03'`
39
+ - **Role:** Primary interface typeface — body text at 16px/400, nav and card labels at 13–14px/500, subheadings at 18–22px/400, section headings at 32–56px in the 400–600 range, and display at 64px/600. Inter's neutral geometry carries the developer-tool seriousness; weight 400 at the 56px hero headline is an anti-convention choice — most brands shout with 700, Raycast whispers with regular weight and lets the size do the work
40
+
41
+ ### GeistMono — Monospace for version strings, technical micro-labels, terminal-style text — appears in footer metadata (v1.104.21), command-line hints, and 10px uppercase eyebrow tags. Geist Mono's compact, slightly geometric forms make the tiny labels feel engineered rather than decorative · `--font-geistmono`
42
+ - **Substitute:** 'JetBrains Mono', Menlo, Monaco, Courier, monospace
43
+ - **Weights:** 300, 400, 500
44
+ - **Sizes:** 10px, 12px, 14px
45
+ - **Line height:** 1.00–1.60
46
+ - **Letter spacing:** 0.0170em at 12px, 0.0500em at 10px (uppercase)
47
+ - **OpenType features:** `'calt', 'kern', 'liga', 'ss03', 'ss09'`
48
+ - **Role:** Monospace for version strings, technical micro-labels, terminal-style text — appears in footer metadata (v1.104.21), command-line hints, and 10px uppercase eyebrow tags. Geist Mono's compact, slightly geometric forms make the tiny labels feel engineered rather than decorative
49
+
50
+ ### SF Pro Text — System font used for icon glyphs and numeric stat callouts at 24–32px/500. Falls back to SF Pro on macOS for native feel — reinforces the 'this is a Mac app' identity · `--font-sf-pro-text`
51
+ - **Weights:** 500, 700
52
+ - **Sizes:** 16px, 24px, 32px
53
+ - **Line height:** 1.15
54
+ - **OpenType features:** `"calt", "kern", "liga", "ss03"`
55
+ - **Role:** System font used for icon glyphs and numeric stat callouts at 24–32px/500. Falls back to SF Pro on macOS for native feel — reinforces the 'this is a Mac app' identity
56
+
57
+ ### SF Pro — SF Pro — detected in extracted data but not described by AI · `--font-sf-pro`
58
+ - **Weights:** 700
59
+ - **Sizes:** 13px
60
+ - **Line height:** 1.23
61
+ - **OpenType features:** `"calt", "kern", "liga", "ss03"`
62
+ - **Role:** SF Pro — detected in extracted data but not described by AI
63
+
64
+ ### Type Scale
65
+
66
+ | Role | Size | Line Height | Letter Spacing | Token |
67
+ |------|------|-------------|----------------|-------|
68
+ | eyebrow | 11px | 0.91 | 0.8px | `--text-eyebrow` |
69
+ | body | 16px | 1.15 | — | `--text-body` |
70
+ | body-lg | 18px | 1.15 | — | `--text-body-lg` |
71
+ | subheading | 20px | 1.2 | 0.2px | `--text-subheading` |
72
+ | heading-sm | 24px | 1.15 | — | `--text-heading-sm` |
73
+ | heading | 32px | 1.15 | — | `--text-heading` |
74
+ | heading-lg | 56px | 1.17 | 0.22px | `--text-heading-lg` |
75
+ | display | 64px | 1.1 | — | `--text-display` |
76
+
77
+ ## Tokens — Spacing & Shapes
78
+
79
+ **Base unit:** 8px
80
+
81
+ **Density:** comfortable
82
+
83
+ ### Spacing Scale
84
+
85
+ | Name | Value | Token |
86
+ |------|-------|-------|
87
+ | 8 | 8px | `--spacing-8` |
88
+ | 16 | 16px | `--spacing-16` |
89
+ | 24 | 24px | `--spacing-24` |
90
+ | 32 | 32px | `--spacing-32` |
91
+ | 40 | 40px | `--spacing-40` |
92
+ | 48 | 48px | `--spacing-48` |
93
+ | 56 | 56px | `--spacing-56` |
94
+ | 64 | 64px | `--spacing-64` |
95
+ | 80 | 80px | `--spacing-80` |
96
+ | 96 | 96px | `--spacing-96` |
97
+ | 120 | 120px | `--spacing-120` |
98
+ | 224 | 224px | `--spacing-224` |
99
+
100
+ ### Border Radius
101
+
102
+ | Element | Value |
103
+ |---------|-------|
104
+ | cards | 16px |
105
+ | pills | 9999px |
106
+ | badges | 6px |
107
+ | inputs | 8px |
108
+ | buttons | 8px |
109
+ | largeCards | 20px |
110
+ | iconContainers | 99999px |
111
+
112
+ ### Shadows
113
+
114
+ | Name | Value | Token |
115
+ |------|-------|-------|
116
+ | subtle | `rgba(0, 0, 0, 0.4) 0px 1.5px 0.5px 2.5px, rgb(0, 0, 0) 0p...` | `--shadow-subtle` |
117
+ | subtle-2 | `rgb(27, 28, 30) 0px 0px 0px 1px, rgb(7, 8, 10) 0px 0px 0p...` | `--shadow-subtle-2` |
118
+ | lg | `rgba(215, 201, 175, 0.05) 0px 0px 20px 5px, rgba(215, 201...` | `--shadow-lg` |
119
+ | subtle-3 | `rgba(255, 255, 255, 0.05) 0px 1px 0px 0px inset, rgba(255...` | `--shadow-subtle-3` |
120
+ | subtle-4 | `rgba(0, 0, 0, 0.03) 0px 7px 3px 0px, rgba(0, 0, 0, 0.25) ...` | `--shadow-subtle-4` |
121
+ | subtle-5 | `rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset` | `--shadow-subtle-5` |
122
+ | xl | `rgba(0, 0, 0, 0.4) 0px 4px 40px 8px, rgba(0, 0, 0, 0.8) 0...` | `--shadow-xl` |
123
+ | subtle-6 | `rgba(255, 255, 255, 0.15) 0px 1px 1px 0px inset` | `--shadow-subtle-6` |
124
+ | sm | `rgba(0, 0, 0, 0.25) 0px 4px 4px 0px` | `--shadow-sm` |
125
+ | subtle-7 | `rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(0, 0...` | `--shadow-subtle-7` |
126
+ | xl-2 | `rgba(255, 255, 255, 0.03) 0px 0px 40px 20px, rgba(255, 25...` | `--shadow-xl-2` |
127
+ | subtle-8 | `rgba(255, 255, 255, 0.19) 0px 0px 2px 0px, rgba(255, 255,...` | `--shadow-subtle-8` |
128
+ | subtle-9 | `rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(7, 1...` | `--shadow-subtle-9` |
129
+ | subtle-10 | `rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(0, 0...` | `--shadow-subtle-10` |
130
+ | subtle-11 | `rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(7, 1...` | `--shadow-subtle-11` |
131
+
132
+ ### Layout
133
+
134
+ - **Page max-width:** 1200px
135
+ - **Section gap:** 80-120px
136
+ - **Card padding:** 24px
137
+ - **Element gap:** 8-16px
138
+
139
+ ## Components
140
+
141
+ ### Glass Navigation Bar
142
+ **Role:** Top-level site navigation
143
+
144
+ Floating pill-shaped bar with backdrop-blur(48px), 1px solid border at #363739, 8px radius, transparent dark fill (sits over #040506). Logo at left (red diamond + 'Raycast' wordmark in white, 13px/500), nav links centered at 13–14px in #9c9c9d, and a light-gray Download button at right. Padding approximately 8px vertical, 16px horizontal internally.
145
+
146
+ ### Neutral Filled Button (Download CTA)
147
+ **Role:** Primary download and action button
148
+
149
+ Light Mist (#e6e6e6) fill, Iron (#454647) text at 13–14px/500, 8px radius, 8px 12px padding. Sometimes paired with a small black/dark icon (Apple, Windows logo) at 15px. This is the only filled action surface in the system — deliberately neutral rather than chromatic, letting the dark page do the contrasting.
150
+
151
+ ### Ghost Nav Link
152
+ **Role:** Navigation and inline links
153
+
154
+ Transparent background, Ash (#9c9c9d) text at 13–14px, no border, no padding. Hover state transitions to Pure White. 0px radius — the nav bar's outer pill provides the visual containment.
155
+
156
+ ### Feature Card with Key Shadow
157
+ **Role:** Content card for features, extensions, and showcase blocks
158
+
159
+ 16px radius, 24px padding, 8px internal padding on content blocks. Signature treatment uses the 'keyboard key' shadow stack: rgba(255,255,255,0.05) inset top highlight, rgba(255,255,255,0.25) outer 1px ring, rgba(0,0,0,0.2) inset bottom shadow. This creates a pressed, tactile surface — not a floating card but a recessed key cap. Background is transparent on the card surface so the canvas shows through.
160
+
161
+ ### Edge-Highlight Card
162
+ **Role:** Hover or featured card variant
163
+
164
+ 16–20px radius, transparent fill, defined by 1px solid #363739 border plus the inset highlight stack. Used when a card needs to be defined by edge rather than surface — the border does the work that a background would on a lighter system.
165
+
166
+ ### Inset Input Field
167
+ **Role:** Text input, search, and form fields
168
+
169
+ 8px radius, rgba(255,255,255,0.05) fill, 8px 12px padding, Pure White text at 16px/400. Sits recessed in the surface — the slight white tint reads as 'this is a well you can type into' against the dark canvas. Placeholder text in Ash.
170
+
171
+ ### Badge Tag
172
+ **Role:** Inline metadata, version labels, category tags
173
+
174
+ Graphite (#1b1c1e) fill, Pure White text, 6px radius, 0 6px padding (tight horizontal pill). Used for version numbers, 'beta' tags, and category labels. Compact and quiet — never draws attention away from the content it annotates.
175
+
176
+ ### Circular Icon Container
177
+ **Role:** App icon, extension icon, feature icon backing
178
+
179
+ 99999px radius (perfect circle), 20px padding, subtle dark surface fill. Contains a 24–32px SF Pro Text glyph or product icon. The circular frame makes app/extension icons feel like dock items.
180
+
181
+ ### Hero Gradient Banner
182
+ **Role:** Hero section atmospheric backdrop
183
+
184
+ Full-bleed dramatic composition using the red/blue gradient geometry: the radial gradient from rgba(4,63,150,0.7) to rgba(6,18,37,0.25) anchors a blue atmospheric wash, while diagonal red/coral shapes (Coral Pulse with 40px+ blur) cut across the center. This is the one place the system breaks its own rules — color, blur, and scale are cranked to maximum for a 'cinematic' moment before the page returns to the austere dark surface below.
185
+
186
+ ### Footer Meta Strip
187
+ **Role:** Version, platform, and installation info
188
+
189
+ Centered row of Geist Mono 12px/400 text in Ash, separated by vertical pipe characters. Contains version string (v1.104.21), platform requirement (macOS 13+), and install command. Sits below the download buttons with 8px gap — the monospace treatment signals 'this is technical metadata' without needing a label.
190
+
191
+ ### App Window Mockup
192
+ **Role:** Product screenshot, feature preview
193
+
194
+ Recreated app interface shown in screenshots — 12px radius outer frame, 16px radius for the command bar at top, 8px radius for result list items. Uses the 'keyboard key' inner shadow stack on the window chrome to make it feel like a physical object. Internal UI uses Pure White text on #07080a, with a single Coral Pulse highlight on the selected/active row.
195
+
196
+ ## Do's and Don'ts
197
+
198
+ ### Do
199
+ - Use #040506 as the only page background — never introduce lighter or grayer canvas colors
200
+ - Reserve #ff6363 (Coral Pulse) for the logo, hero artwork, AI badge, and warm-tinted card surfaces — never use it for general accent text, icons, or borders in the body of the page
201
+ - Use the 'keyboard key' inner shadow stack (rgba(255,255,255,0.05) inset top + rgba(255,255,255,0.25) outer ring + rgba(0,0,0,0.2) inset bottom) on all elevated cards and feature blocks
202
+ - Set hero headlines at 56px/400 in Inter with +0.22px letter-spacing — the regular weight at large size is a signature, not a mistake
203
+ - Use Mist (#e6e6e6) filled buttons with Iron (#454647) text for all primary actions — the system has no chromatic CTA
204
+ - Use 8px radius for buttons, inputs, and badges; 16–20px radius for cards; 9999px for pills; 99999px for circular icon containers
205
+ - Separate footer metadata with vertical pipes and render in Geist Mono 12px to signal technical information
206
+
207
+ ### Don't
208
+ - Don't use chromatic action buttons — the CTA system is deliberately neutral (Mist on dark), not blue/red/green
209
+ - Don't add drop-shadows to cards or panels — elevation comes from the inset key shadow stack, not outer shadows
210
+ - Don't use negative letter-spacing on large display text — the system uses slightly positive tracking (0.0040em at 56px) which is anti-convention and intentional
211
+ - Don't introduce light theme sections or alternating light/dark bands — the page is dark throughout
212
+ - Don't use #ff6363 for body text, link colors, or general icon accents — it is a brand mark, not a functional color
213
+ - Don't use multiple accent colors in the same surface — the system is monochromatic with one coral accent, not a multi-hue palette
214
+ - Don't use SF Pro Text for body copy — reserve it for icons and numeric stat callouts at 24–32px; body text is always Inter
215
+ - Don't break the 8px spacing grid — all padding, gaps, and margins should snap to 8/12/16/24/40 values
216
+
217
+ ## Surfaces
218
+
219
+ | Level | Name | Value | Purpose |
220
+ |-------|------|-------|---------|
221
+ | 0 | Canvas | `#040506` | The default page background — near-pure black that most UI sits on |
222
+ | 1 | Card | `#07080a` | Elevated content blocks, hero image backdrops, the first visible step up from the canvas |
223
+ | 2 | Recessed | `#111214` | Input fields, pressed or inset wells, subtle depth on form controls |
224
+ | 3 | Badge | `#1b1c1` | Dense tag surfaces, monogram tiles, the darkest intentional filled surface |
225
+ | 4 | Accent Tint | `#452324` | Warm coral-tinted backdrop for sections anchored to the brand color |
226
+
227
+ ## Elevation
228
+
229
+ - **Hero atmospheric composition:** `No conventional shadow — instead uses multi-layer radial gradients and 37.5px blur filters to create depth through atmosphere`
230
+ - **Featured content cards:** `rgba(255,255,255,0.05) 0px 1px 0px 0px inset, rgba(255,255,255,0.25) 0px 0px 0px 1px, rgba(0,0,0,0.2) 0px -1px 0px 0px inset — the 'key' treatment`
231
+ - **Download buttons:** `rgba(0,0,0,0.03) 0px 7px 3px 0px, rgba(0,0,0,0.25) 0px 4px 4px 0px — subtle lift on neutral filled surfaces`
232
+
233
+ ## Imagery
234
+
235
+ Imagery is dominated by the hero: massive abstract red/blue geometric shapes (diagonal bars, radial glows) that feel like a motion-graphics title sequence rather than product photography. Below the hero, the system shifts to in-context product screenshots that show the actual app interface — a dark command bar, result list, and extension icons rendered as if floating on the page. Photography is absent. The visual density shifts dramatically from the cinematic hero to austere product mockups and then to text-heavy feature sections with no imagery at all. Icon style: SF Pro Text system glyphs at 16–24px, weight 500, rendered in Mist (#e6e6e6) on dark surfaces. No photographic, lifestyle, or stock imagery — the product UI is the hero.
236
+
237
+ ## Layout
238
+
239
+ Page model is max-width ~1200px centered with generous horizontal padding, but the hero and atmospheric sections are full-bleed. The nav bar is a floating pill that sits over the hero with backdrop-blur. Hero is full-viewport height with centered headline (56px Inter 400) over a dramatic red/blue gradient composition. Below the hero, content shifts to contained max-width sections with generous vertical rhythm (80–120px between sections). Card grids appear for features and extensions — 3-column for compact tiles, 2-column for wider feature blocks. Section rhythm is consistent: dark-on-dark bands with hairline dividers, no alternating light/dark sections. Navigation is a single floating glass bar; no sidebar, no mega-menu. The overall density is spacious — the system prefers one strong typographic statement per section over dense information layout.
240
+
241
+ ## Agent Prompt Guide
242
+
243
+ Quick Color Reference:
244
+ - text primary: #ffffff
245
+ - text secondary: #9c9c9d
246
+ - text muted: #6a6b6c
247
+ - background: #040506
248
+ - card surface: #07080a
249
+ - border: #363739
250
+ - brand accent: #ff6363
251
+ - primary action: #e6e6e6 (filled action)
252
+
253
+ Example Component Prompts:
254
+
255
+ 1. Glass Navigation Bar: Floating pill nav with backdrop-filter blur(48px), 1px solid #363739 border, 8px radius, transparent dark fill. Left: red diamond logo (#ff6363) + 'Raycast' wordmark in #ffffff at 13px Inter 500. Center: ghost nav links in #9c9c9d at 13px Inter 500 (Store, Pro, AI, iOS, Windows, Teams, Enterprise, Blog, Pricing) with no padding. Right: neutral filled button — Mist #e6e6e6 fill, Iron #454647 text 'Download' at 13px/500, 8px radius, 8px 12px padding, with a 15px Apple icon.
256
+
257
+ 2. Hero Section: Full-bleed dark (#040506) background. Centered headline 'Your shortcut to everything.' at 56px Inter 400, #ffffff, letter-spacing 0.22px. Subheadline at 16px Inter 400, #9c9c9d, max-width ~480px. Behind the text: large abstract red/blue gradient composition — diagonal coral (#ff6363 with 40px blur) bars cutting across, blue radial gradient wash (rgba(4,63,150,0.7) to rgba(6,18,37,0.25)) at 50% 26%. Below: two neutral filled buttons side by side (Mist fill, Iron text) with Apple/Windows icons, then a Geist Mono 12px footer line: 'v1.104.21 | macOS 13+ | Install via homebrew' in #6a6b6c.
258
+
259
+ 3. Feature Card: 16px radius, transparent fill on #07080a card surface, 24px padding. Apply the 'key' shadow stack: rgba(255,255,255,0.05) 0px 1px 0px 0px inset, rgba(255,255,255,0.25) 0px 0px 0px 1px, rgba(0,0,0,0.2) 0px -1px 0px 0px inset. Inside: 99999px-radius circular icon container (20px padding, dark fill) with a 24px SF Pro Text glyph in #e6e6e6, then a 20px Inter 500 subheading in #ffffff, then 16px Inter 400 body in #9c9c9d.
260
+
261
+ 4. Extension Tile: 8px radius, 8px padding, 1px solid #363739 border. Circular icon container (99999px) with extension icon, extension name in 14px Inter 500 #ffffff, category in 12px Inter 400 #6a6b6c. Tight 8px gap between tiles in a grid.
262
+
263
+ 5. Download Button Group: Two neutral filled buttons side by side with 8px gap. Each: Mist #e6e6e6 fill, Iron #454647 text at 13px Inter 500, 8px radius, 8px 12px padding. Left button: 15px black Apple icon + 'Download for Mac'. Right button: 15px Windows icon + 'Download for Windows (beta)'. Below: Geist Mono 12px version metadata in #6a6b6c, centered.
264
+
265
+ ## Similar Brands
266
+
267
+ - **Linear** — Same dark-near-black canvas with single-hue accent strategy, same Inter-based typography, same restrained component library with hairline borders instead of heavy shadows
268
+ - **Vercel** — Same full-bleed dark hero with gradient/geometric backdrop, same max-width contained content sections below, same neutral filled button approach against dark surfaces
269
+ - **Arc Browser** — Same dramatic colored hero artwork on a dark canvas, same coral/warm accent that punctuates an otherwise achromatic system, same browser/product-as-artifact aesthetic
270
+ - **Cron (Notion Calendar)** — Same dark product-site language with clean Inter type, same hairline-bordered feature cards, same minimal navigation over atmospheric hero
271
+ - **Tana** — Same power-user productivity tool positioning with dark UI, same tight typographic scale, same use of subtle warm accents against near-black backgrounds
272
+
273
+ ## Quick Start
274
+
275
+ ### CSS Custom Properties
276
+
277
+ ```css
278
+ :root {
279
+ /* Colors */
280
+ --color-void-black: #040506;
281
+ --color-ink: #07080a;
282
+ --color-obsidian: #111214;
283
+ --color-graphite: #1b1c1e;
284
+ --color-smoke: #6a6b6c;
285
+ --color-ash: #9c9c9d;
286
+ --color-mist: #e6e6e6;
287
+ --color-iron: #454647;
288
+ --color-slate: #2f3031;
289
+ --color-pure-white: #ffffff;
290
+ --color-coral-pulse: #ff6363;
291
+ --color-ember-hush: #452324;
292
+ --color-electric-sky: #63a1ff;
293
+ --color-cobalt-edge: #143ca3;
294
+ --color-deep-space: #02193b;
295
+ --color-info-blue: #56c2ff;
296
+ --color-success-green: #59d499;
297
+
298
+ /* Typography — Font Families */
299
+ --font-inter: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
300
+ --font-geistmono: 'GeistMono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
301
+ --font-sf-pro-text: 'SF Pro Text', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
302
+ --font-sf-pro: 'SF Pro', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
303
+
304
+ /* Typography — Scale */
305
+ --text-eyebrow: 11px;
306
+ --leading-eyebrow: 0.91;
307
+ --tracking-eyebrow: 0.8px;
308
+ --text-body: 16px;
309
+ --leading-body: 1.15;
310
+ --text-body-lg: 18px;
311
+ --leading-body-lg: 1.15;
312
+ --text-subheading: 20px;
313
+ --leading-subheading: 1.2;
314
+ --tracking-subheading: 0.2px;
315
+ --text-heading-sm: 24px;
316
+ --leading-heading-sm: 1.15;
317
+ --text-heading: 32px;
318
+ --leading-heading: 1.15;
319
+ --text-heading-lg: 56px;
320
+ --leading-heading-lg: 1.17;
321
+ --tracking-heading-lg: 0.22px;
322
+ --text-display: 64px;
323
+ --leading-display: 1.1;
324
+
325
+ /* Typography — Weights */
326
+ --font-weight-light: 300;
327
+ --font-weight-regular: 400;
328
+ --font-weight-medium: 500;
329
+ --font-weight-semibold: 600;
330
+ --font-weight-bold: 700;
331
+
332
+ /* Spacing */
333
+ --spacing-unit: 8px;
334
+ --spacing-8: 8px;
335
+ --spacing-16: 16px;
336
+ --spacing-24: 24px;
337
+ --spacing-32: 32px;
338
+ --spacing-40: 40px;
339
+ --spacing-48: 48px;
340
+ --spacing-56: 56px;
341
+ --spacing-64: 64px;
342
+ --spacing-80: 80px;
343
+ --spacing-96: 96px;
344
+ --spacing-120: 120px;
345
+ --spacing-224: 224px;
346
+
347
+ /* Layout */
348
+ --page-max-width: 1200px;
349
+ --section-gap: 80-120px;
350
+ --card-padding: 24px;
351
+ --element-gap: 8-16px;
352
+
353
+ /* Border Radius */
354
+ --radius-lg: 8px;
355
+ --radius-lg-2: 11px;
356
+ --radius-2xl: 16px;
357
+ --radius-2xl-2: 20px;
358
+ --radius-3xl: 31px;
359
+ --radius-3xl-2: 36px;
360
+ --radius-3xl-3: 43px;
361
+ --radius-full: 86px;
362
+ --radius-full-2: 1000px;
363
+ --radius-full-3: 9999px;
364
+ --radius-full-4: 99999px;
365
+
366
+ /* Named Radii */
367
+ --radius-cards: 16px;
368
+ --radius-pills: 9999px;
369
+ --radius-badges: 6px;
370
+ --radius-inputs: 8px;
371
+ --radius-buttons: 8px;
372
+ --radius-largecards: 20px;
373
+ --radius-iconcontainers: 99999px;
374
+
375
+ /* Shadows */
376
+ --shadow-subtle: rgba(0, 0, 0, 0.4) 0px 1.5px 0.5px 2.5px, rgb(0, 0, 0) 0px 0px 0.5px 1px, rgba(0, 0, 0, 0.25) 0px 2px 1px 1px inset, rgba(255, 255, 255, 0.2) 0px 1px 1px 1px inset;
377
+ --shadow-subtle-2: rgb(27, 28, 30) 0px 0px 0px 1px, rgb(7, 8, 10) 0px 0px 0px 1px inset;
378
+ --shadow-lg: rgba(215, 201, 175, 0.05) 0px 0px 20px 5px, rgba(215, 201, 175, 0.05) 0px 0px 16px -7px;
379
+ --shadow-subtle-3: rgba(255, 255, 255, 0.05) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px -1px 0px 0px inset;
380
+ --shadow-subtle-4: rgba(0, 0, 0, 0.03) 0px 7px 3px 0px, rgba(0, 0, 0, 0.25) 0px 4px 4px 0px;
381
+ --shadow-subtle-5: rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset;
382
+ --shadow-xl: rgba(0, 0, 0, 0.4) 0px 4px 40px 8px, rgba(0, 0, 0, 0.8) 0px 0px 0px 0.5px, rgba(255, 255, 255, 0.3) 0px 0.5px 0px 0px inset;
383
+ --shadow-subtle-6: rgba(255, 255, 255, 0.15) 0px 1px 1px 0px inset;
384
+ --shadow-sm: rgba(0, 0, 0, 0.25) 0px 4px 4px 0px;
385
+ --shadow-subtle-7: rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.4) 0px 30px 50px 0px, rgba(3, 15, 129, 0.09) 0px 4px 24px 0px, rgba(255, 255, 255, 0.06) 0px 0px 0px 1px inset;
386
+ --shadow-xl-2: rgba(255, 255, 255, 0.03) 0px 0px 40px 20px, rgba(255, 255, 255, 0.3) 0px 0.5px 0px 0px inset;
387
+ --shadow-subtle-8: rgba(255, 255, 255, 0.19) 0px 0px 2px 0px, rgba(255, 255, 255, 0.1) 0px 0.5px 0px 0px inset;
388
+ --shadow-subtle-9: rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(7, 13, 79, 0.1) 0px 0px 20px 3px, rgba(85, 0, 98, 0.1) 0px 0px 40px 20px, rgba(255, 255, 255, 0.06) 0px 0px 0px 1px inset;
389
+ --shadow-subtle-10: rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.4) 0px 30px 50px 0px, rgba(51, 3, 129, 0.09) 0px 4px 24px 0px, rgba(255, 255, 255, 0.06) 0px 0px 0px 1px inset;
390
+ --shadow-subtle-11: rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(7, 13, 79, 0.1) 0px 0px 20px 3px, rgba(7, 40, 79, 0.1) 0px 0px 40px 20px, rgba(255, 255, 255, 0.06) 0px 0px 0px 1px inset;
391
+
392
+ /* Surfaces */
393
+ --surface-canvas: #040506;
394
+ --surface-card: #07080a;
395
+ --surface-recessed: #111214;
396
+ --surface-badge: #1b1c1;
397
+ --surface-accent-tint: #452324;
398
+ }
399
+ ```
400
+
401
+ ### Tailwind v4
402
+
403
+ ```css
404
+ @theme {
405
+ /* Colors */
406
+ --color-void-black: #040506;
407
+ --color-ink: #07080a;
408
+ --color-obsidian: #111214;
409
+ --color-graphite: #1b1c1e;
410
+ --color-smoke: #6a6b6c;
411
+ --color-ash: #9c9c9d;
412
+ --color-mist: #e6e6e6;
413
+ --color-iron: #454647;
414
+ --color-slate: #2f3031;
415
+ --color-pure-white: #ffffff;
416
+ --color-coral-pulse: #ff6363;
417
+ --color-ember-hush: #452324;
418
+ --color-electric-sky: #63a1ff;
419
+ --color-cobalt-edge: #143ca3;
420
+ --color-deep-space: #02193b;
421
+ --color-info-blue: #56c2ff;
422
+ --color-success-green: #59d499;
423
+
424
+ /* Typography */
425
+ --font-inter: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
426
+ --font-geistmono: 'GeistMono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
427
+ --font-sf-pro-text: 'SF Pro Text', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
428
+ --font-sf-pro: 'SF Pro', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
429
+
430
+ /* Typography — Scale */
431
+ --text-eyebrow: 11px;
432
+ --leading-eyebrow: 0.91;
433
+ --tracking-eyebrow: 0.8px;
434
+ --text-body: 16px;
435
+ --leading-body: 1.15;
436
+ --text-body-lg: 18px;
437
+ --leading-body-lg: 1.15;
438
+ --text-subheading: 20px;
439
+ --leading-subheading: 1.2;
440
+ --tracking-subheading: 0.2px;
441
+ --text-heading-sm: 24px;
442
+ --leading-heading-sm: 1.15;
443
+ --text-heading: 32px;
444
+ --leading-heading: 1.15;
445
+ --text-heading-lg: 56px;
446
+ --leading-heading-lg: 1.17;
447
+ --tracking-heading-lg: 0.22px;
448
+ --text-display: 64px;
449
+ --leading-display: 1.1;
450
+
451
+ /* Spacing */
452
+ --spacing-8: 8px;
453
+ --spacing-16: 16px;
454
+ --spacing-24: 24px;
455
+ --spacing-32: 32px;
456
+ --spacing-40: 40px;
457
+ --spacing-48: 48px;
458
+ --spacing-56: 56px;
459
+ --spacing-64: 64px;
460
+ --spacing-80: 80px;
461
+ --spacing-96: 96px;
462
+ --spacing-120: 120px;
463
+ --spacing-224: 224px;
464
+
465
+ /* Border Radius */
466
+ --radius-lg: 8px;
467
+ --radius-lg-2: 11px;
468
+ --radius-2xl: 16px;
469
+ --radius-2xl-2: 20px;
470
+ --radius-3xl: 31px;
471
+ --radius-3xl-2: 36px;
472
+ --radius-3xl-3: 43px;
473
+ --radius-full: 86px;
474
+ --radius-full-2: 1000px;
475
+ --radius-full-3: 9999px;
476
+ --radius-full-4: 99999px;
477
+
478
+ /* Shadows */
479
+ --shadow-subtle: rgba(0, 0, 0, 0.4) 0px 1.5px 0.5px 2.5px, rgb(0, 0, 0) 0px 0px 0.5px 1px, rgba(0, 0, 0, 0.25) 0px 2px 1px 1px inset, rgba(255, 255, 255, 0.2) 0px 1px 1px 1px inset;
480
+ --shadow-subtle-2: rgb(27, 28, 30) 0px 0px 0px 1px, rgb(7, 8, 10) 0px 0px 0px 1px inset;
481
+ --shadow-lg: rgba(215, 201, 175, 0.05) 0px 0px 20px 5px, rgba(215, 201, 175, 0.05) 0px 0px 16px -7px;
482
+ --shadow-subtle-3: rgba(255, 255, 255, 0.05) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.25) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px -1px 0px 0px inset;
483
+ --shadow-subtle-4: rgba(0, 0, 0, 0.03) 0px 7px 3px 0px, rgba(0, 0, 0, 0.25) 0px 4px 4px 0px;
484
+ --shadow-subtle-5: rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset;
485
+ --shadow-xl: rgba(0, 0, 0, 0.4) 0px 4px 40px 8px, rgba(0, 0, 0, 0.8) 0px 0px 0px 0.5px, rgba(255, 255, 255, 0.3) 0px 0.5px 0px 0px inset;
486
+ --shadow-subtle-6: rgba(255, 255, 255, 0.15) 0px 1px 1px 0px inset;
487
+ --shadow-sm: rgba(0, 0, 0, 0.25) 0px 4px 4px 0px;
488
+ --shadow-subtle-7: rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.4) 0px 30px 50px 0px, rgba(3, 15, 129, 0.09) 0px 4px 24px 0px, rgba(255, 255, 255, 0.06) 0px 0px 0px 1px inset;
489
+ --shadow-xl-2: rgba(255, 255, 255, 0.03) 0px 0px 40px 20px, rgba(255, 255, 255, 0.3) 0px 0.5px 0px 0px inset;
490
+ --shadow-subtle-8: rgba(255, 255, 255, 0.19) 0px 0px 2px 0px, rgba(255, 255, 255, 0.1) 0px 0.5px 0px 0px inset;
491
+ --shadow-subtle-9: rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(7, 13, 79, 0.1) 0px 0px 20px 3px, rgba(85, 0, 98, 0.1) 0px 0px 40px 20px, rgba(255, 255, 255, 0.06) 0px 0px 0px 1px inset;
492
+ --shadow-subtle-10: rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.4) 0px 30px 50px 0px, rgba(51, 3, 129, 0.09) 0px 4px 24px 0px, rgba(255, 255, 255, 0.06) 0px 0px 0px 1px inset;
493
+ --shadow-subtle-11: rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset, rgba(7, 13, 79, 0.1) 0px 0px 20px 3px, rgba(7, 40, 79, 0.1) 0px 0px 40px 20px, rgba(255, 255, 255, 0.06) 0px 0px 0px 1px inset;
494
+ }
495
+ ```
@@ -0,0 +1,35 @@
1
+ # Raycast — Style Reference
2
+
3
+ > Midnight command center, coral neon
4
+
5
+ **Theme:** dark
6
+
7
+ ![Raycast preview](https://images.refero.design/styles/refero.design/image/ee40e139-0b24-47a0-9ea0-98372d317c5b.jpg)
8
+
9
+ Raycast reads as a dark power-tool cockpit: an almost-black canvas (#040506) with barely-visible elevation steps, a single warm coral accent (#ff6363) that carries brand identity, and quiet white/gray typography in Inter. Components are defined less by shadows and more by hairline borders, inset highlight strokes, and the distinctive 'keyboard key' inner-shadow treatment that makes cards feel pressed and tactile rather than floating. Color is rationed — the page is 98% achromatic, and the coral appears only in the logo, hero artwork, AI badge, and the occasional warm-tinted surface. Navigation floats with a glass-blur effect, and most interactive surfaces are neutral light-gray buttons on dark, not chromatic CTAs.
10
+
11
+ - **Website:** [https://raycast.com](https://raycast.com)
12
+ - **Source:** [Refero Styles](https://styles.refero.design/style/3b6a17f0-3bdf-418c-a95e-0b89e5a8b2f8)
13
+
14
+ ## Guidelines
15
+
16
+ ### Do
17
+
18
+ - Use #040506 as the only page background
19
+ - Reserve #ff6363 (Coral Pulse) for the logo, hero artwork, AI badge, and warm-tinted card surfaces
20
+ - Use the 'keyboard key' inner shadow stack on all elevated cards
21
+ - Set hero headlines at 56px/400 in Inter with +0.22px letter-spacing
22
+ - Use Mist (#e6e6e6) filled buttons with Iron (#454647) text for all primary actions
23
+ - Use 8px radius for buttons, inputs, and badges; 16–20px radius for cards
24
+
25
+ ### Don't
26
+
27
+ - Don't use chromatic action buttons — the CTA system is deliberately neutral
28
+ - Don't add drop-shadows to cards or panels
29
+ - Don't use negative letter-spacing on large display text
30
+ - Don't introduce light theme sections
31
+ - Don't break the 8px spacing grid
32
+
33
+ ## Similar Brands
34
+
35
+ Linear, Vercel, Arc Browser, Cron (Notion Calendar), Tana
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@mohammadhprp/system-prompt",
3
+ "version": "0.10.1",
4
+ "description": "AI Coding Agent Framework — interactive bootstrap CLI",
5
+ "type": "module",
6
+ "bin": {
7
+ "system-prompt": "bin/system-prompt.js"
8
+ },
9
+ "scripts": {
10
+ "test": "node --test"
11
+ },
12
+ "files": [
13
+ "src/",
14
+ "bin/",
15
+ "framework/"
16
+ ],
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/mohammadhprp/system-prompt.git"
20
+ },
21
+ "publishConfig": {
22
+ "registry": "https://registry.npmjs.org/",
23
+ "access": "public"
24
+ },
25
+ "engines": {
26
+ "node": ">=18"
27
+ },
28
+ "dependencies": {
29
+ "@clack/prompts": "^0.9.0"
30
+ },
31
+ "author": "mohammadhprp",
32
+ "license": "MIT"
33
+ }
@@ -0,0 +1,96 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ import { dirname, resolve } from 'node:path';
3
+ import { readFile } from 'node:fs/promises';
4
+
5
+ const __dirname = dirname(fileURLToPath(import.meta.url));
6
+ const packageRoot = resolve(__dirname, '..');
7
+
8
+ export async function loadMcpConfigs(selectedIds) {
9
+ const entries = {};
10
+ for (const id of selectedIds) {
11
+ try {
12
+ const configPath = resolve(packageRoot, `framework/mcps/${id}/configs/opencode.json`);
13
+ const raw = await readFile(configPath, 'utf-8');
14
+ const parsed = JSON.parse(raw);
15
+ if (parsed.mcp) {
16
+ Object.assign(entries, parsed.mcp);
17
+ }
18
+ } catch {
19
+ console.warn(` ⚠ No opencode.json config found for MCP: ${id}`);
20
+ }
21
+ }
22
+ return entries;
23
+ }
24
+
25
+ export function generateOpenCodeConfig({ selections, mcpEntries, includeAgentsMd }) {
26
+ const plugins = [];
27
+ if (selections.plugins?.includes('opencode-goal-plugin')) {
28
+ plugins.push('@prevalentware/opencode-goal-plugin');
29
+ }
30
+ if (selections.plugins?.includes('ponytail')) {
31
+ plugins.push('@dietrichgebert/ponytail');
32
+ }
33
+
34
+ const instructions = [];
35
+ if (includeAgentsMd) instructions.push('AGENTS.md');
36
+ if (selections.memory?.length) instructions.push('.opencode/memory/*.md');
37
+
38
+ const config = {
39
+ $schema: 'https://opencode.ai/config.json',
40
+ formatter: true,
41
+ lsp: false,
42
+ instructions,
43
+ };
44
+
45
+ if (plugins.length > 0) {
46
+ config.plugin = plugins;
47
+ }
48
+
49
+ const references = {};
50
+ if (selections.standards?.length) {
51
+ references.standards = {
52
+ path: 'references/standards',
53
+ description: 'Canonical engineering standards referenced by skills.',
54
+ };
55
+ }
56
+ if (selections.templates?.length) {
57
+ references.templates = {
58
+ path: 'references/templates',
59
+ description: 'Ready-to-use workflow documents.',
60
+ };
61
+ }
62
+ if (Object.keys(references).length > 0) {
63
+ config.references = references;
64
+ }
65
+
66
+ if (Object.keys(mcpEntries).length > 0) {
67
+ config.mcp = mcpEntries;
68
+ }
69
+
70
+ return JSON.stringify(config, null, 4);
71
+ }
72
+
73
+ export function generateTuiConfig({ selections }) {
74
+ const config = {
75
+ $schema: 'https://opencode.ai/tui.json',
76
+ theme: 'system',
77
+ scroll_speed: 3,
78
+ scroll_acceleration: {
79
+ enabled: true,
80
+ },
81
+ diff_style: 'auto',
82
+ mouse: true,
83
+ attention: {
84
+ enabled: true,
85
+ notifications: true,
86
+ sound: true,
87
+ volume: 0.4,
88
+ },
89
+ };
90
+
91
+ if (selections.plugins?.includes('opencode-goal-plugin')) {
92
+ config.plugin = ['@prevalentware/opencode-goal-plugin'];
93
+ }
94
+
95
+ return JSON.stringify(config, null, 4);
96
+ }