quiver-cli 0.1.0

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 (281) hide show
  1. package/README.md +188 -0
  2. package/bin/quiver-cli.mjs +2 -0
  3. package/dist/cli.js +3074 -0
  4. package/package.json +55 -0
  5. package/template/.agents/AGENTS.md +25 -0
  6. package/template/.agents/commands/cp.md +116 -0
  7. package/template/.agents/commands/next-setup.md +1064 -0
  8. package/template/.agents/commands/tf-readme.md +38 -0
  9. package/template/.agents/config.json +60 -0
  10. package/template/.agents/skills/agent-browser/SKILL.md +55 -0
  11. package/template/.agents/skills/apps/skybridge/SKILL.md +46 -0
  12. package/template/.agents/skills/apps/skybridge/references/architecture.md +175 -0
  13. package/template/.agents/skills/apps/skybridge/references/copy-template.md +24 -0
  14. package/template/.agents/skills/apps/skybridge/references/csp.md +33 -0
  15. package/template/.agents/skills/apps/skybridge/references/deploy.md +33 -0
  16. package/template/.agents/skills/apps/skybridge/references/discover.md +84 -0
  17. package/template/.agents/skills/apps/skybridge/references/download-file.md +77 -0
  18. package/template/.agents/skills/apps/skybridge/references/fetch-and-render-data.md +151 -0
  19. package/template/.agents/skills/apps/skybridge/references/oauth.md +115 -0
  20. package/template/.agents/skills/apps/skybridge/references/open-external-links.md +71 -0
  21. package/template/.agents/skills/apps/skybridge/references/prompt-llm.md +20 -0
  22. package/template/.agents/skills/apps/skybridge/references/publish.md +19 -0
  23. package/template/.agents/skills/apps/skybridge/references/run-locally.md +51 -0
  24. package/template/.agents/skills/apps/skybridge/references/state-and-context.md +151 -0
  25. package/template/.agents/skills/apps/skybridge/references/ui-guidelines.md +205 -0
  26. package/template/.agents/skills/code/cleanup/SKILL.md +26 -0
  27. package/template/.agents/skills/code/vercel-react-best-practices/AGENTS.md +3810 -0
  28. package/template/.agents/skills/code/vercel-react-best-practices/README.md +123 -0
  29. package/template/.agents/skills/code/vercel-react-best-practices/SKILL.md +149 -0
  30. package/template/.agents/skills/code/vercel-react-best-practices/metadata.json +15 -0
  31. package/template/.agents/skills/code/vercel-react-best-practices/rules/_sections.md +46 -0
  32. package/template/.agents/skills/code/vercel-react-best-practices/rules/_template.md +28 -0
  33. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-effect-event-deps.md +56 -0
  34. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  35. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  36. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  37. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  38. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
  39. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-defer-await.md +82 -0
  40. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  41. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-parallel.md +28 -0
  42. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  43. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-analyzable-paths.md +63 -0
  44. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-barrel-imports.md +60 -0
  45. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  46. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  47. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  48. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  49. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  50. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  51. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  52. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  53. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  54. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  55. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  56. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  57. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  58. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  59. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
  60. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  61. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  62. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  63. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  64. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-request-idle-callback.md +105 -0
  65. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  66. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  67. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  68. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  69. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  70. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  71. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  72. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  73. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  74. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
  75. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
  76. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  77. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  78. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  79. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  80. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  81. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  82. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  83. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  84. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  85. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  86. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  87. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
  88. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  89. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
  90. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  91. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
  92. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  93. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  94. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  95. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  96. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  97. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  98. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-hoist-static-io.md +149 -0
  99. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-no-shared-module-state.md +50 -0
  100. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  101. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
  102. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-serialization.md +38 -0
  103. package/template/.agents/skills/data/prisma-cli/SKILL.md +247 -0
  104. package/template/.agents/skills/data/prisma-cli/references/db-execute.md +78 -0
  105. package/template/.agents/skills/data/prisma-cli/references/db-pull.md +185 -0
  106. package/template/.agents/skills/data/prisma-cli/references/db-push.md +148 -0
  107. package/template/.agents/skills/data/prisma-cli/references/db-seed.md +188 -0
  108. package/template/.agents/skills/data/prisma-cli/references/debug.md +46 -0
  109. package/template/.agents/skills/data/prisma-cli/references/dev.md +157 -0
  110. package/template/.agents/skills/data/prisma-cli/references/format.md +48 -0
  111. package/template/.agents/skills/data/prisma-cli/references/generate.md +173 -0
  112. package/template/.agents/skills/data/prisma-cli/references/init.md +136 -0
  113. package/template/.agents/skills/data/prisma-cli/references/mcp.md +38 -0
  114. package/template/.agents/skills/data/prisma-cli/references/migrate-deploy.md +127 -0
  115. package/template/.agents/skills/data/prisma-cli/references/migrate-dev.md +145 -0
  116. package/template/.agents/skills/data/prisma-cli/references/migrate-diff.md +89 -0
  117. package/template/.agents/skills/data/prisma-cli/references/migrate-reset.md +78 -0
  118. package/template/.agents/skills/data/prisma-cli/references/migrate-resolve.md +57 -0
  119. package/template/.agents/skills/data/prisma-cli/references/migrate-status.md +65 -0
  120. package/template/.agents/skills/data/prisma-cli/references/studio.md +137 -0
  121. package/template/.agents/skills/data/prisma-cli/references/validate.md +53 -0
  122. package/template/.agents/skills/data/prisma-client-api/SKILL.md +216 -0
  123. package/template/.agents/skills/data/prisma-client-api/references/client-methods.md +223 -0
  124. package/template/.agents/skills/data/prisma-client-api/references/constructor.md +208 -0
  125. package/template/.agents/skills/data/prisma-client-api/references/filters.md +256 -0
  126. package/template/.agents/skills/data/prisma-client-api/references/model-queries.md +281 -0
  127. package/template/.agents/skills/data/prisma-client-api/references/query-options.md +276 -0
  128. package/template/.agents/skills/data/prisma-client-api/references/raw-queries.md +194 -0
  129. package/template/.agents/skills/data/prisma-client-api/references/relations.md +308 -0
  130. package/template/.agents/skills/data/prisma-client-api/references/transactions.md +184 -0
  131. package/template/.agents/skills/design/impeccable/SKILL.md +176 -0
  132. package/template/.agents/skills/design/impeccable/reference/adapt.md +311 -0
  133. package/template/.agents/skills/design/impeccable/reference/animate.md +201 -0
  134. package/template/.agents/skills/design/impeccable/reference/audit.md +133 -0
  135. package/template/.agents/skills/design/impeccable/reference/bolder.md +113 -0
  136. package/template/.agents/skills/design/impeccable/reference/brand.md +108 -0
  137. package/template/.agents/skills/design/impeccable/reference/clarify.md +288 -0
  138. package/template/.agents/skills/design/impeccable/reference/codex.md +105 -0
  139. package/template/.agents/skills/design/impeccable/reference/colorize.md +257 -0
  140. package/template/.agents/skills/design/impeccable/reference/craft.md +123 -0
  141. package/template/.agents/skills/design/impeccable/reference/critique.md +767 -0
  142. package/template/.agents/skills/design/impeccable/reference/delight.md +302 -0
  143. package/template/.agents/skills/design/impeccable/reference/distill.md +111 -0
  144. package/template/.agents/skills/design/impeccable/reference/document.md +429 -0
  145. package/template/.agents/skills/design/impeccable/reference/extract.md +69 -0
  146. package/template/.agents/skills/design/impeccable/reference/harden.md +347 -0
  147. package/template/.agents/skills/design/impeccable/reference/init.md +172 -0
  148. package/template/.agents/skills/design/impeccable/reference/interaction-design.md +189 -0
  149. package/template/.agents/skills/design/impeccable/reference/layout.md +161 -0
  150. package/template/.agents/skills/design/impeccable/reference/live.md +718 -0
  151. package/template/.agents/skills/design/impeccable/reference/onboard.md +234 -0
  152. package/template/.agents/skills/design/impeccable/reference/optimize.md +258 -0
  153. package/template/.agents/skills/design/impeccable/reference/overdrive.md +130 -0
  154. package/template/.agents/skills/design/impeccable/reference/polish.md +241 -0
  155. package/template/.agents/skills/design/impeccable/reference/product.md +60 -0
  156. package/template/.agents/skills/design/impeccable/reference/quieter.md +99 -0
  157. package/template/.agents/skills/design/impeccable/reference/shape.md +165 -0
  158. package/template/.agents/skills/design/impeccable/reference/typeset.md +279 -0
  159. package/template/.agents/skills/design/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  160. package/template/.agents/skills/design/impeccable/scripts/command-metadata.json +94 -0
  161. package/template/.agents/skills/design/impeccable/scripts/context-signals.mjs +225 -0
  162. package/template/.agents/skills/design/impeccable/scripts/context.mjs +270 -0
  163. package/template/.agents/skills/design/impeccable/scripts/critique-storage.mjs +242 -0
  164. package/template/.agents/skills/design/impeccable/scripts/design-parser.mjs +835 -0
  165. package/template/.agents/skills/design/impeccable/scripts/detect-csp.mjs +198 -0
  166. package/template/.agents/skills/design/impeccable/scripts/detect.mjs +21 -0
  167. package/template/.agents/skills/design/impeccable/scripts/detector/browser/injected/index.mjs +1733 -0
  168. package/template/.agents/skills/design/impeccable/scripts/detector/cli/main.mjs +244 -0
  169. package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns-browser.js +4551 -0
  170. package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns.mjs +43 -0
  171. package/template/.agents/skills/design/impeccable/scripts/detector/engines/browser/detect-url.mjs +252 -0
  172. package/template/.agents/skills/design/impeccable/scripts/detector/engines/regex/detect-text.mjs +535 -0
  173. package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +986 -0
  174. package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/detect-html.mjs +208 -0
  175. package/template/.agents/skills/design/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
  176. package/template/.agents/skills/design/impeccable/scripts/detector/findings.mjs +12 -0
  177. package/template/.agents/skills/design/impeccable/scripts/detector/node/file-system.mjs +198 -0
  178. package/template/.agents/skills/design/impeccable/scripts/detector/profile/profiler.mjs +166 -0
  179. package/template/.agents/skills/design/impeccable/scripts/detector/registry/antipatterns.mjs +419 -0
  180. package/template/.agents/skills/design/impeccable/scripts/detector/rules/checks.mjs +2316 -0
  181. package/template/.agents/skills/design/impeccable/scripts/detector/shared/color.mjs +124 -0
  182. package/template/.agents/skills/design/impeccable/scripts/detector/shared/constants.mjs +101 -0
  183. package/template/.agents/skills/design/impeccable/scripts/detector/shared/page.mjs +7 -0
  184. package/template/.agents/skills/design/impeccable/scripts/impeccable-paths.mjs +126 -0
  185. package/template/.agents/skills/design/impeccable/scripts/is-generated.mjs +69 -0
  186. package/template/.agents/skills/design/impeccable/scripts/live-accept.mjs +812 -0
  187. package/template/.agents/skills/design/impeccable/scripts/live-browser-session.js +123 -0
  188. package/template/.agents/skills/design/impeccable/scripts/live-browser.js +10316 -0
  189. package/template/.agents/skills/design/impeccable/scripts/live-commit-manual-edits.mjs +1241 -0
  190. package/template/.agents/skills/design/impeccable/scripts/live-complete.mjs +75 -0
  191. package/template/.agents/skills/design/impeccable/scripts/live-completion.mjs +19 -0
  192. package/template/.agents/skills/design/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
  193. package/template/.agents/skills/design/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
  194. package/template/.agents/skills/design/impeccable/scripts/live-event-validation.mjs +136 -0
  195. package/template/.agents/skills/design/impeccable/scripts/live-inject.mjs +557 -0
  196. package/template/.agents/skills/design/impeccable/scripts/live-insert-ui.mjs +458 -0
  197. package/template/.agents/skills/design/impeccable/scripts/live-insert.mjs +272 -0
  198. package/template/.agents/skills/design/impeccable/scripts/live-manual-edit-evidence.mjs +363 -0
  199. package/template/.agents/skills/design/impeccable/scripts/live-manual-edits-buffer.mjs +152 -0
  200. package/template/.agents/skills/design/impeccable/scripts/live-poll.mjs +379 -0
  201. package/template/.agents/skills/design/impeccable/scripts/live-resume.mjs +94 -0
  202. package/template/.agents/skills/design/impeccable/scripts/live-server.mjs +2322 -0
  203. package/template/.agents/skills/design/impeccable/scripts/live-session-store.mjs +289 -0
  204. package/template/.agents/skills/design/impeccable/scripts/live-status.mjs +61 -0
  205. package/template/.agents/skills/design/impeccable/scripts/live-svelte-component.mjs +826 -0
  206. package/template/.agents/skills/design/impeccable/scripts/live-sveltekit-adapter.mjs +274 -0
  207. package/template/.agents/skills/design/impeccable/scripts/live-ui-core.mjs +179 -0
  208. package/template/.agents/skills/design/impeccable/scripts/live-wrap.mjs +894 -0
  209. package/template/.agents/skills/design/impeccable/scripts/live.mjs +246 -0
  210. package/template/.agents/skills/design/impeccable/scripts/modern-screenshot.umd.js +14 -0
  211. package/template/.agents/skills/design/impeccable/scripts/palette.mjs +633 -0
  212. package/template/.agents/skills/design/impeccable/scripts/pin.mjs +214 -0
  213. package/template/.agents/skills/design/shadcn/SKILL.md +242 -0
  214. package/template/.agents/skills/design/shadcn/agents/openai.yml +5 -0
  215. package/template/.agents/skills/design/shadcn/assets/shadcn-small.png +0 -0
  216. package/template/.agents/skills/design/shadcn/assets/shadcn.png +0 -0
  217. package/template/.agents/skills/design/shadcn/cli.md +257 -0
  218. package/template/.agents/skills/design/shadcn/customization.md +202 -0
  219. package/template/.agents/skills/design/shadcn/evals/evals.json +47 -0
  220. package/template/.agents/skills/design/shadcn/mcp.md +94 -0
  221. package/template/.agents/skills/design/shadcn/rules/base-vs-radix.md +306 -0
  222. package/template/.agents/skills/design/shadcn/rules/composition.md +195 -0
  223. package/template/.agents/skills/design/shadcn/rules/forms.md +192 -0
  224. package/template/.agents/skills/design/shadcn/rules/icons.md +101 -0
  225. package/template/.agents/skills/design/shadcn/rules/styling.md +162 -0
  226. package/template/.agents/skills/find-skills/SKILL.md +142 -0
  227. package/template/.agents/skills/integrations/langfuse/SKILL.md +142 -0
  228. package/template/.agents/skills/integrations/langfuse/references/cli.md +52 -0
  229. package/template/.agents/skills/integrations/langfuse/references/error-analysis.md +100 -0
  230. package/template/.agents/skills/integrations/langfuse/references/instrumentation.md +134 -0
  231. package/template/.agents/skills/integrations/langfuse/references/judge-calibration.md +288 -0
  232. package/template/.agents/skills/integrations/langfuse/references/prompt-migration.md +234 -0
  233. package/template/.agents/skills/integrations/langfuse/references/sdk-upgrade.md +175 -0
  234. package/template/.agents/skills/integrations/langfuse/references/skill-feedback.md +52 -0
  235. package/template/.agents/skills/integrations/langfuse/references/user-feedback.md +88 -0
  236. package/template/.agents/skills/integrations/posthog/SKILL.md +102 -0
  237. package/template/.agents/skills/integrations/posthog/references/error-tracking-alerts.md +63 -0
  238. package/template/.agents/skills/integrations/posthog/references/error-tracking-assigning-issues.md +77 -0
  239. package/template/.agents/skills/integrations/posthog/references/error-tracking-fingerprints.md +57 -0
  240. package/template/.agents/skills/integrations/posthog/references/error-tracking-monitoring.md +140 -0
  241. package/template/.agents/skills/integrations/posthog/references/error-tracking-nextjs.md +490 -0
  242. package/template/.agents/skills/integrations/posthog/references/error-tracking-source-maps.md +45 -0
  243. package/template/.agents/skills/integrations/posthog/references/feature-flags-best-practices.md +139 -0
  244. package/template/.agents/skills/integrations/posthog/references/feature-flags-react.md +302 -0
  245. package/template/.agents/skills/integrations/posthog/references/identify-users.md +202 -0
  246. package/template/.agents/skills/integrations/posthog/references/integration-example.md +706 -0
  247. package/template/.agents/skills/integrations/posthog/references/integration-nextjs.md +385 -0
  248. package/template/.agents/skills/integrations/posthog/references/integration-step-1-begin.md +43 -0
  249. package/template/.agents/skills/integrations/posthog/references/integration-step-2-edit.md +37 -0
  250. package/template/.agents/skills/integrations/posthog/references/integration-step-3-revise.md +22 -0
  251. package/template/.agents/skills/integrations/posthog/references/integration-step-4-conclude.md +38 -0
  252. package/template/.agents/skills/integrations/posthog/references/llm-analytics-anthropic.md +200 -0
  253. package/template/.agents/skills/integrations/posthog/references/llm-analytics-basics.md +62 -0
  254. package/template/.agents/skills/integrations/posthog/references/llm-analytics-costs.md +197 -0
  255. package/template/.agents/skills/integrations/posthog/references/llm-analytics-manual-capture.md +397 -0
  256. package/template/.agents/skills/integrations/posthog/references/llm-analytics-traces.md +98 -0
  257. package/template/.agents/skills/integrations/posthog/references/llm-analytics-vercel-ai.md +120 -0
  258. package/template/.agents/skills/repo/repo-ci/SKILL.md +265 -0
  259. package/template/.agents/skills/repo/repo-init-next-js/SKILL.md +129 -0
  260. package/template/.agents/skills/repo/repo-init-next-js/references/file-contents.md +800 -0
  261. package/template/.agents/skills/repo/repo-init-next-js/scripts/setup.sh +47 -0
  262. package/template/.agents/skills/repo/repo-init-node/SKILL.md +196 -0
  263. package/template/.agents/skills/skill-creator/LICENSE.txt +202 -0
  264. package/template/.agents/skills/skill-creator/SKILL.md +485 -0
  265. package/template/.agents/skills/skill-creator/agents/analyzer.md +274 -0
  266. package/template/.agents/skills/skill-creator/agents/comparator.md +202 -0
  267. package/template/.agents/skills/skill-creator/agents/grader.md +223 -0
  268. package/template/.agents/skills/skill-creator/assets/eval_review.html +146 -0
  269. package/template/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  270. package/template/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  271. package/template/.agents/skills/skill-creator/references/schemas.md +430 -0
  272. package/template/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  273. package/template/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  274. package/template/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
  275. package/template/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
  276. package/template/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
  277. package/template/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
  278. package/template/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
  279. package/template/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
  280. package/template/.agents/skills/skill-creator/scripts/utils.py +47 -0
  281. package/template/.agents/upstreams.json +80 -0
@@ -0,0 +1,63 @@
1
+ # Send error tracking alerts - Docs
2
+
3
+ To stay on top of issues, you can set up alerts. These enable you to post to Slack, Discord, Teams, or an HTTP Webhook when an issue is created or reopened.
4
+
5
+ ## Issue created or reopened
6
+
7
+ To alert when an issue is created or reopened, go to [error tracking's configuration page](https://app.posthog.com/error_tracking?activeTab=configuration#selectedSetting=error-tracking-alerting) and click **Alerting**. This shows you a list of existing alerts. Clicking **New notification** brings you to a page to create a new one.
8
+
9
+ ![Error tracking alerting](https://res.cloudinary.com/dmukukwp6/image/upload/error_alerts_create_light_1a05deef21.png)![Error tracking alerting](https://res.cloudinary.com/dmukukwp6/image/upload/error_alerts_create_dark_7585087b18.png)
10
+
11
+ Choosing an option brings you to a page to configure the alert. This may require setting up the Slack integration or pasting in a webhook URL. Once done, you can test the alert by clicking **Test function** and then finalize by clicking **Create & enable**.
12
+
13
+ This will then send alerts to your chosen destination when an issue is created or reopened like this:
14
+
15
+ ## Issue properties and assignments
16
+
17
+ You can filter an alert based on the properties of an issue. This is useful for notifying a specific team when they have been auto assigned an issue using [auto assignment rules](/docs/error-tracking/managing-issues.md#auto-assignment-rules).
18
+
19
+ ![Error tracking alert assignee filtering](https://res.cloudinary.com/dmukukwp6/image/upload/assignee_filter_light_e575af6512.png)![Error tracking alert assignee filtering](https://res.cloudinary.com/dmukukwp6/image/upload/assignee_filter_dark_9a8907af03.png)
20
+
21
+ ## Spike alerts
22
+
23
+ PostHog can also alert you when an existing issue suddenly spikes in volume - for example, after a bad deploy. This works differently from issue-created alerts. Instead of triggering when a new issue is first seen, spike alerts fire when an issue's error rate significantly exceeds its historical baseline.
24
+
25
+ See the [spike detection guide](/docs/error-tracking/spikes.md) to learn how it works and how to configure it.
26
+
27
+ ## Other alerting options
28
+
29
+ Since error tracking works by capturing `$exception` events, PostHog features that trigger by events can play a role in alerts too.
30
+
31
+ ### Real time destinations
32
+
33
+ The first way is using [real time destinations](/docs/cdp/destinations.md). This enables you to send events (like `$exception`) to other tools as soon as they are ingested.
34
+
35
+ To create a real time destination, go to the [data pipelines tab](https://app.posthog.com/data-management/destinations) in PostHog, click **\+ New**, and then select **Destination**. Choose your destination and press **\+ Create**.
36
+
37
+ On the destination creation screen, make sure to add an event matcher for the `$exception` event, filter for the properties you want, and set the trigger options.
38
+
39
+ ![Real time destination](https://res.cloudinary.com/dmukukwp6/image/upload/http_error_alert_light_9898376c56.png)![Real time destination](https://res.cloudinary.com/dmukukwp6/image/upload/http_error_alert_dark_7705f0e575.png)
40
+
41
+ Check out our [real time destinations docs](/docs/cdp/destinations.md) for more information.
42
+
43
+ ### Trend alerts
44
+
45
+ You can also visualize your `$exception` events using [trends](/docs/product-analytics/trends/overview.md). Once you create a trend insight, click the **Alerts** button at the top of the insight and then **New alert**.
46
+
47
+ Here you can set alerts for event volume value, increase, or decrease.
48
+
49
+ ![Insight alert](https://res.cloudinary.com/dmukukwp6/image/upload/Clean_Shot_2025_04_08_at_14_26_43_2x_4ef6402556.png)![Insight alert](https://res.cloudinary.com/dmukukwp6/image/upload/Clean_Shot_2025_04_08_at_14_25_35_2x_f36353143b.png)
50
+
51
+ This sends an email notification to the user you choose. Check out our [alerts docs](/docs/alerts.md) for more information.
52
+
53
+ **Can't find your alert?**
54
+
55
+ If you'd like a destination to be added that we don't yet support, [let us know in-app](https://app.posthog.com/project/2#panel=support%3Afeedback%3Aerror_tracking%3A%3Afalse).
56
+
57
+ ### Community questions
58
+
59
+ Ask a question
60
+
61
+ ### Was this page useful?
62
+
63
+ HelpfulCould be better
@@ -0,0 +1,77 @@
1
+ # Assign issues to teammates - Docs
2
+
3
+ Error tracking enables you to assign issues to specific PostHog [roles](https://app.posthog.com/settings/organization-roles) or teammates. This helps your team find relevant issues through **filtering**. You can also set up team-specific **alerting** to notify them when assigned issues are created or reopened.
4
+
5
+ ## Assign issues
6
+
7
+ You can manually assign issues as you triage them in the UI. This can be done both in the issue list and issue detail pages.
8
+
9
+ ![Error tracking assignment UI](https://res.cloudinary.com/dmukukwp6/image/upload/assignment_ui_light_109b2bf454.png)![Error tracking assignment UI](https://res.cloudinary.com/dmukukwp6/image/upload/assignment_ui_dark_4682b2ac80.png)
10
+
11
+ 1. In your error tracking [issue list](https://app.posthog.com/error_tracking), click the **unassigned** selector under each issue to assign it to a role or user.
12
+
13
+ 2. On the detail page of each issue, click the **Assignee** selector to assign it to a role or user.
14
+
15
+ Want to assign issues to a **team** rather than an individual teammate? You can create a role in [your project settings](https://app.posthog.com/settings/organization-roles).
16
+
17
+ ![Error tracking role assignees](https://res.cloudinary.com/dmukukwp6/image/upload/roles_light_6c7ea17be9.png)![Error tracking role assignees](https://res.cloudinary.com/dmukukwp6/image/upload/roles_dark_f721b94577.png)
18
+
19
+ ## Automatic issue assignment
20
+
21
+ You can set up automatic issue assignment through a set of rules. This can be configured in the [error tracking settings](https://app.posthog.com/error_tracking?activeTab=configuration#selectedSetting=error-tracking-auto-assignment) using **auto assignment rules**.
22
+
23
+ ![Error tracking auto assignment rules](https://res.cloudinary.com/dmukukwp6/image/upload/assignment_rules_light_1cf9a2437a.png)![Error tracking auto assignment rules](https://res.cloudinary.com/dmukukwp6/image/upload/assignment_rules_dark_11e0830b0c.png)
24
+
25
+ Assignment conditions are evaluated against the properties of the exception event that created the issue. Because assignment rules are evaluated during ingestion, the stack trace (if present) will be unminified, which enables filtering on exception properties such as function name and source file.
26
+
27
+ Issues can be automatically assigned to a **role** or **user** by configuring a set of filters. These filters can be configured to match **any** or **all** of the criteria.
28
+
29
+ You can configure automatic assignment to filter on any [event property](/docs/data/events.md) in PostHog. When there are multiple values for a property, the filters return true if it matches **any** of the values. For example, if you have multiple `exception_functions` values, the filters returns true if it matches **any** of the functions.
30
+
31
+ Here are some common properties you can filter on:
32
+
33
+ | Property | Event property | Description |
34
+ | --- | --- | --- |
35
+ | Exception type | $exception_types | The type of exception(s) that occurred |
36
+ | Exception message | $exception_values | The message(s) detected on the error |
37
+ | Exception function | $exception_functions | The function(s) where the exception occurred |
38
+ | Exception source | $exception_sources | The source file(s) where the exception occurred |
39
+ | Exception was handled | $exception_handled | Whether the exception was handled by the application |
40
+ | Device type | $device_type | The type of device that the error occurred on |
41
+ | Browser | $browser | The browser that the error occurred in |
42
+ | Current URL | $current_url | The URL that the error occurred on |
43
+ | Feature flag | $feature_flag | The feature flag that the error occurred on |
44
+
45
+ You can also set custom properties on the error tracking event to filter on. For example, setting a custom `params_received` property to provide more context or debug information.
46
+
47
+ ### Order of issue assignment rules
48
+
49
+ Issue assignment filters are evaluated in the order they are configured. They can also be reordered once created. The first filter that matches is used to assign the issue. This means you should configure the most specific filters first, and then the more general filters later.
50
+
51
+ ### Disabled assignment rules
52
+
53
+ Assignment rules can become disabled if an error occurs during ingestion. When a rule is disabled, a banner displays the original error message. To re-enable the rule, edit it to fix the problem and save your changes. If the issue persists, reach out to support.
54
+
55
+ ### Alerting based on assignment
56
+
57
+ A common use case for automatic issue assignment is to alert assignees of new issues. Once the issues are automatically assigned, you can set up alerts to notify the assignee. See the [alerts](/docs/error-tracking/alerts.md) guide for more information.
58
+
59
+ ## Create external issues
60
+
61
+ You can also create issues in external tracking systems like GitHub Issues, Linear, GitLab, or Jira.
62
+
63
+ First, set up an [integration](/docs/error-tracking/integrations.md) with your tracking system. Then, from an issue's details page, under **External references**, click **Create issue**.
64
+
65
+ ![Error tracking create issue in external tracking system](https://res.cloudinary.com/dmukukwp6/image/upload/create_issue_error_light_b89cd91da1.png)![Error tracking create issue in external tracking system](https://res.cloudinary.com/dmukukwp6/image/upload/create_issue_error_dark_7d158087f8.png)
66
+
67
+ The new issue will have a partial stack trace and a link to the issue in PostHog.
68
+
69
+ > If you use another issue tracking system and would like to request it, [let us know in-app](https://app.posthog.com#panel=support%3Afeedback%3Aerror_tracking%3Alow%3Atrue).
70
+
71
+ ### Community questions
72
+
73
+ Ask a question
74
+
75
+ ### Was this page useful?
76
+
77
+ HelpfulCould be better
@@ -0,0 +1,57 @@
1
+ # Fingerprints - Docs
2
+
3
+ Every captured exception is assigned a fingerprint. This fingerprint is used to group similar exceptions into issues. This page covers how fingerprints are generated, how they're used, and how you can override them when capturing exceptions.
4
+
5
+ ## Fingerprint and issue grouping
6
+
7
+ Every exception has a fingerprint, whether generated or defined by the user. Each fingerprint links to exactly one issue. Exceptions that share the same fingerprint define an issue.
8
+
9
+ Multiple different fingerprints can point to the same issue (a many-to-one relationship) if you [merge issues](/docs/error-tracking/managing-issues.md#merging-issues).
10
+
11
+ ## How are fingerprints generated?
12
+
13
+ Fingerprints are built iteratively using components of the exception event. The flowchart below shows how fingerprints are generated.
14
+
15
+ flowchart LR A\[Add exception type to fingerprint\] --> B{Stack trace<br/>available?} B -->|No| C\[Add error message to fingerprint\] C --> D\[Final fingerprint\] B -->|Yes| E{In-app frames<br/>exist?} E -->|No| F\[Add first frame to fingerprint\] E -->|Yes| G\[Add in-app frame to fingerprint<br/>Priority: resolved > unresolved\] F --> D G --> D
16
+
17
+ The flowchart in text
18
+
19
+ Fingerprints are generated by considering the following in combination:
20
+
21
+ 1. The exception type
22
+ 2. If there's no resolved stack trace, add the error message to the fingerprint
23
+ 3. If there are stack traces but no in-app frames (frames from your code, not a dependency), use the first frame of the stack trace
24
+ 4. If there are stack traces, in-app frames, and source maps available, use the resolved in-app stack frames
25
+ 5. If there are stack traces, in-app frames, and source maps *not* available, use the first in-app stack frame
26
+
27
+ In some languages, like Python, one error can trigger another, creating a chain of linked exceptions. PostHog records the entire chain in the event and generates a single fingerprint for it.
28
+
29
+ ### Ensuring accurate fingerprints
30
+
31
+ [Resolved stack traces](/docs/error-tracking/stack-traces.md) are critical for accurate fingerprinting. Without accurate stack traces, PostHog cannot group exceptions consistently. If you have not uploaded source maps, follow the [source map guide](/docs/error-tracking/upload-source-maps.md) to do so.
32
+
33
+ This also means that if the exception **type** or **message** changes from one version to the next, the fingerprint will change.
34
+
35
+ ## When are generated fingerprints used?
36
+
37
+ Fingerprints are used to group similar exceptions into issues automatically. Automatic issue grouping is only done when:
38
+
39
+ - No [issue grouping rules](/docs/error-tracking/grouping-issues.md) are applied
40
+ - No [issue merging](/docs/error-tracking/managing-issues.md#merging-issues) has been configured
41
+ - No [custom fingerprint](#customizing-fingerprints) is set during capture
42
+
43
+ You can find details about how issue grouping works in the [issues and exceptions](/docs/error-tracking/issues-and-exceptions.md) guide.
44
+
45
+ ## Customizing fingerprints
46
+
47
+ Fingerprints can be manually set during exception capture. This is a very useful way to group exceptions that are not related to each other. You can find examples of how to do this in the [custom issue grouping](/docs/error-tracking/grouping-issues.md#option-2-client-side-fingerprint) section.
48
+
49
+ You can also learn more about grouping issues using rules in the [grouping issues](/docs/error-tracking/grouping-issues.md) guide.
50
+
51
+ ### Community questions
52
+
53
+ Ask a question
54
+
55
+ ### Was this page useful?
56
+
57
+ HelpfulCould be better
@@ -0,0 +1,140 @@
1
+ # Monitor and search issues - Docs
2
+
3
+ This guide covers how to find the most relevant, urgent, and impactful issues in your error tracking using the [issues page](https://app.posthog.com/error_tracking).
4
+
5
+ ## Monitoring issues
6
+
7
+ When you're monitoring issues in your project, there are generally two common workflows:
8
+
9
+ - You're exploring issues to identify impactful and problematic areas. You should use sorting features.
10
+ - You're looking for issues assigned to you to resolve them. You should filter by the `Assigned to` property.
11
+
12
+ ### Sorting issues
13
+
14
+ Issues can be sorted by the following properties:
15
+
16
+ | Property | Description |
17
+ | --- | --- |
18
+ | Last seen | The issue that has the most recent exception |
19
+ | First seen | The issue that has the oldest exception |
20
+ | Occurrences | The number of exceptions in the issue |
21
+ | Users | The number of unique users affected by the issue |
22
+ | Sessions | The number of unique sessions affected by the issue |
23
+
24
+ Sorting by **last seen** and **occurrences** are great ways to get a general sense of issues in your project. Sorting by **users** and **sessions** is great to find the most impactful issues if you're using other [filters](#finding-specific-issues) to narrow down your results.
25
+
26
+ ### Monitoring issues assigned to you
27
+
28
+ You can filter issues by the **Assigned to** property to find issues assigned to you. This is especially useful if you configure [automatic issue assignment](/docs/error-tracking/assigning-issues.md) and configure [alerts](/docs/error-tracking/alerts.md) to notify you when new issues are created.
29
+
30
+ ## Finding specific issues
31
+
32
+ You can use the search bar at the top of the [issue page](https://app.posthog.com/error_tracking) to filter issues based on the properties of the exceptions in that issue.
33
+
34
+ Search results are matched based on [properties of exception events](/docs/error-tracking/issues-and-exceptions.md) grouped into the issues. For example, if you search for "TypeError", we show you all issues where *any* exception grouped into the issue has a type of "TypeError".
35
+
36
+ **Unrelated results**
37
+
38
+ You may see seemingly unrelated issues in your search results because your search term matches an exception in the issue group. For example, you may see an issues named `RefreshError` when searching "schema", because a `get_schema` method appears on the exception stack traces.
39
+
40
+ ### Filtering modes
41
+
42
+ The search bar provides two modes of filtering:
43
+
44
+ #### 1\. Exact property filtering
45
+
46
+ This operates like property filters elsewhere in PostHog, enabling you to add terms like `where 'http_referer' is set` or `where 'library' equals 'web'`. You add a property filter by clicking the property name shown here:
47
+
48
+ ![Adding a property to the property filter](https://res.cloudinary.com/dmukukwp6/image/upload/filtering_issues_light_2b2dd25208.png)![Adding a property to the property filter](https://res.cloudinary.com/dmukukwp6/image/upload/filtering_issues_dark_17d1e67da6.png)
49
+
50
+ Added property filters look like this:
51
+
52
+ ![Search bar with property filter](https://res.cloudinary.com/dmukukwp6/image/upload/added_property_filter_1e823a16e9.png)![Search bar with property filter](https://res.cloudinary.com/dmukukwp6/image/upload/property_filter_added_dark_2d4c065baa.png)
53
+
54
+ The results of both of these filter types (property filters and freeform search) are combined with `AND` logic, such that only exceptions that match all filters are included in the search results.
55
+
56
+ #### 2\. Freeform text search
57
+
58
+ This does text matching for a subset of the error tracking specific properties of the exception event. It splits the text you give it into tokens. The search matches an exception if *each* of the tokens in your search term appear in one of the following:
59
+
60
+ - The exception type
61
+ - The exception message
62
+ - The function names in the exception stack trace (if known)
63
+ - The file paths in the exception stack trace (if known)
64
+
65
+ For example, imagine you have an exception that looks like this:
66
+
67
+ PostHog AI
68
+
69
+ ```
70
+ TypeError: Cannot read property 'name' of undefined
71
+ at Object.<anonymous> (/path/to/myfile.js:123:45)
72
+ at Module._compile (module.js:653:30)
73
+ at Object.Module._extensions..js (module.js:664:10)
74
+ at Module.load (module.js:566:32)
75
+ at tryModuleLoad (module.js:506:12)
76
+ at Function.Module._load (module.js:498:3)
77
+ at Function.Module.runMain (module.js:694:10)
78
+ at startup (bootstrap_node.js:204:16)
79
+ at bootstrap_node.js:625:3
80
+ ```
81
+
82
+ If you search for the term `TypeError myfile.js`, the exception matches this search, as it contains `TypeError` (as the exception type) and `myfile.js` (as a file path in the stack trace).
83
+
84
+ If you search for `TypeError myfile.js abc`, the exception would not match, as the token `abc` does not appear anywhere in freeform search properties.
85
+
86
+ If you want to search for longer exact strings, e.g. a particular exception message, you can group tokens into a single term using quotes, e.g. `"Cannot read property 'name' of undefined" myfile.js` would match, and `"Cannot read property of myfile.js"` would not.
87
+
88
+ Note, perhaps unintuitively, `Cannot read property of myfile.js` would match, because the tokens are ungrouped, and all of them appear *somewhere* in the exception search properties.
89
+
90
+ ### Searching chained exceptions
91
+
92
+ Exception events can have more than one exception in them, due to language features like exception chaining. For freeform search, we put the types, messages, functions and file paths of all exceptions into one list, and match if the token appears in any of them.
93
+
94
+ For example, if you had a chained exception with the messages `MyCustomError: Failed to load user` and `Cannot read property 'age' of undefined`, searching for `cannot read property` would match the exception, because it matches *one* of the exception messages (`property` appears in the "root" one).
95
+
96
+ ## Issue details
97
+
98
+ When you click on an issue, you'll see the details page of the issue.
99
+
100
+ This page shows you the following:
101
+
102
+ - The stack trace, properties, and sessions related to the **currently selected exception**.
103
+ - Name, description, status, assignee, and external tracking links for the issue.
104
+ - A filterable list of all exceptions in the issue. **Selecting an exception** will show you the stack trace, properties, and sessions related to that exception at the top of the page.
105
+
106
+ ![An issue, with an unfiltered exception list](https://res.cloudinary.com/dmukukwp6/image/upload/issue_exception_no_filter_light_405a3332d7.png)![An issue, with an unfiltered exception list](https://res.cloudinary.com/dmukukwp6/image/upload/issue_exception_no_filter_dark_dfce08c4b0.png)
107
+
108
+ ### Filtering exception occurrences within an issue
109
+
110
+ Once you've found and opened the issue you want to investigate, you can use the same search interface to filter the exception list for a particular instance of the issue. This is particularly useful in cases where some exceptions in the issue have information others don't and you want to use that information for debugging.
111
+
112
+ For example, you can add a property filter on `http_referer` that shows all exceptions where the `http_referer` is set:
113
+
114
+ ![An issue, with a filtered exception list](https://res.cloudinary.com/dmukukwp6/image/upload/issue_exception_with_filter_light_0fc6e1cb2d.png)![An issue, with a filtered exception list](https://res.cloudinary.com/dmukukwp6/image/upload/issue_exception_with_filter_dark_bf74dca1d9.png)
115
+
116
+ **Alerts**
117
+
118
+ If you have a set of filters that you use often, you can create alerts for them. This way you can be notified when new issues match your filters. Learn more about [alerts](/docs/error-tracking/alerts.md).
119
+
120
+ ## Improving search performance
121
+
122
+ We try to return results to you within a second, but sometimes if you're querying over large amounts of data, it may take longer. The following can improve the search performance:
123
+
124
+ - **Limit the time range you're searching over:** 7 days is usually enough to get a sense for the trends of an issue over time.
125
+
126
+ - **Use freeform search rather than property filters:** Our freeform searches are generally faster than property filters, as the total amount of data processed is smaller.
127
+
128
+ If you find your queries timing out or taking more than 30 seconds, please [let us know in-app](https://app.posthog.com/#panel=support%3Afeedback%3Aerror_tracking%3Alow%3Atrue)! We're always looking for benchmarks to improve against.
129
+
130
+ ## Suppressing issues
131
+
132
+ If you find issues that are not useful to you, you can suppress them by changing the status to **Suppressed**. We recommend that you also implement [client-side suppression](/docs/error-tracking/capture.md#suppressing-exceptions) to not capture these exceptions in the first place, for cost and performance reasons.
133
+
134
+ ### Community questions
135
+
136
+ Ask a question
137
+
138
+ ### Was this page useful?
139
+
140
+ HelpfulCould be better