just-vibe 0.8.0 → 0.9.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 (427) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +20 -8
  3. package/docs/adaptive-assistance.md +44 -0
  4. package/docs/command-quality.md +3 -1
  5. package/docs/compatibility.md +9 -1
  6. package/docs/prompt-improvements.md +19 -0
  7. package/docs/releases.md +6 -0
  8. package/docs/technical-coverage.md +30 -30
  9. package/evals/README.md +4 -0
  10. package/evals/behavior/harness.mjs +2 -5
  11. package/evals/conversation/README.md +59 -0
  12. package/evals/conversation/controls/atomic.mjs +9 -0
  13. package/evals/conversation/controls/browser.mjs +15 -0
  14. package/evals/conversation/controls/cleanup.mjs +15 -0
  15. package/evals/conversation/controls/fingerprint.mjs +16 -0
  16. package/evals/conversation/controls/privacy.mjs +5 -0
  17. package/evals/conversation/controls/rules.mjs +5 -0
  18. package/evals/conversation/controls/transcript.mjs +6 -0
  19. package/evals/conversation/fixture/README.md +13 -0
  20. package/evals/conversation/fixture/src/atomic.mjs +7 -0
  21. package/evals/conversation/fixture/src/browser.mjs +5 -0
  22. package/evals/conversation/fixture/src/cleanup.mjs +13 -0
  23. package/evals/conversation/fixture/src/fingerprint.mjs +16 -0
  24. package/evals/conversation/fixture/src/privacy.mjs +4 -0
  25. package/evals/conversation/fixture/src/rules.mjs +6 -0
  26. package/evals/conversation/fixture/src/transcript.mjs +5 -0
  27. package/evals/conversation/harness.mjs +96 -0
  28. package/evals/conversation/oracle.mjs +85 -0
  29. package/evals/releases/0.8.0-publication.json +35 -0
  30. package/evals/releases/0.8.0-technical-guidance.md +4 -0
  31. package/evals/releases/0.8.0.md +4 -0
  32. package/evals/releases/0.8.1-publication.json +38 -0
  33. package/evals/releases/0.8.1.md +15 -0
  34. package/evals/releases/0.9.0.md +19 -0
  35. package/evals/releases/prompt-improvements/conversation.json +348 -0
  36. package/evals/releases/prompt-improvements/lesson.json +8 -0
  37. package/evals/releases/prompt-improvements/lesson.md +55 -0
  38. package/evals/releases/prompt-improvements.md +32 -0
  39. package/evals/scenarios.json +1108 -18
  40. package/package.json +7 -2
  41. package/plugins/just-vibe/.claude-plugin/plugin.json +1 -1
  42. package/plugins/just-vibe/.codex-plugin/plugin.json +1 -1
  43. package/plugins/just-vibe/catalog/commands.json +646 -397
  44. package/plugins/just-vibe/catalog/packs.json +154 -22
  45. package/plugins/just-vibe/catalog/profiles.json +224 -112
  46. package/plugins/just-vibe/hooks/hooks.json +7 -1
  47. package/plugins/just-vibe/references/adaptive.md +102 -0
  48. package/plugins/just-vibe/references/command-reference.md +2 -2
  49. package/plugins/just-vibe/references/daily-workflows.md +4 -4
  50. package/plugins/just-vibe/references/examples/api.md +15 -0
  51. package/plugins/just-vibe/references/examples/architecture.md +15 -0
  52. package/plugins/just-vibe/references/examples/backend.md +15 -0
  53. package/plugins/just-vibe/references/examples/data.md +15 -0
  54. package/plugins/just-vibe/references/examples/database.md +15 -0
  55. package/plugins/just-vibe/references/examples/decisions.md +15 -0
  56. package/plugins/just-vibe/references/examples/general.md +15 -0
  57. package/plugins/just-vibe/references/examples/git.md +15 -0
  58. package/plugins/just-vibe/references/examples/github.md +15 -0
  59. package/plugins/just-vibe/references/examples/installation.md +15 -0
  60. package/plugins/just-vibe/references/examples/llm.md +15 -0
  61. package/plugins/just-vibe/references/examples/ml-data.md +15 -0
  62. package/plugins/just-vibe/references/examples/ml-deployment.md +15 -0
  63. package/plugins/just-vibe/references/examples/ml-evaluation.md +15 -0
  64. package/plugins/just-vibe/references/examples/ml-experiments.md +15 -0
  65. package/plugins/just-vibe/references/examples/operations.md +15 -0
  66. package/plugins/just-vibe/references/examples/react.md +15 -0
  67. package/plugins/just-vibe/references/examples/security.md +15 -0
  68. package/plugins/just-vibe/references/examples/testing.md +15 -0
  69. package/plugins/just-vibe/references/examples/ui.md +15 -0
  70. package/plugins/just-vibe/references/examples/vercel.md +15 -0
  71. package/plugins/just-vibe/references/examples/vite.md +15 -0
  72. package/plugins/just-vibe/references/execution.md +19 -1
  73. package/plugins/just-vibe/references/frontend-icons.md +9 -0
  74. package/plugins/just-vibe/references/memory-checks.md +2 -2
  75. package/plugins/just-vibe/references/practice.md +1 -1
  76. package/plugins/just-vibe/references/profile-comparisons.md +18 -0
  77. package/plugins/just-vibe/references/profiles/accessibility-engineer.md +6 -0
  78. package/plugins/just-vibe/references/profiles/agent-systems-engineer.md +6 -0
  79. package/plugins/just-vibe/references/profiles/ai-evaluation-engineer.md +6 -0
  80. package/plugins/just-vibe/references/profiles/ai-security-engineer.md +6 -0
  81. package/plugins/just-vibe/references/profiles/analytics-engineer.md +6 -0
  82. package/plugins/just-vibe/references/profiles/android-engineer.md +6 -0
  83. package/plugins/just-vibe/references/profiles/api-engineer.md +6 -0
  84. package/plugins/just-vibe/references/profiles/application-security-engineer.md +6 -0
  85. package/plugins/just-vibe/references/profiles/applied-ai-engineer.md +6 -0
  86. package/plugins/just-vibe/references/profiles/backend-engineer.md +6 -0
  87. package/plugins/just-vibe/references/profiles/bioinformatics-engineer.md +6 -0
  88. package/plugins/just-vibe/references/profiles/blockchain-engineer.md +6 -0
  89. package/plugins/just-vibe/references/profiles/build-release-engineer.md +6 -0
  90. package/plugins/just-vibe/references/profiles/business-intelligence-engineer.md +6 -0
  91. package/plugins/just-vibe/references/profiles/capacity-engineer.md +6 -0
  92. package/plugins/just-vibe/references/profiles/causal-inference-scientist.md +6 -0
  93. package/plugins/just-vibe/references/profiles/cloud-architect.md +6 -0
  94. package/plugins/just-vibe/references/profiles/cloud-engineer.md +6 -0
  95. package/plugins/just-vibe/references/profiles/cloud-security-engineer.md +6 -0
  96. package/plugins/just-vibe/references/profiles/compiler-engineer.md +6 -0
  97. package/plugins/just-vibe/references/profiles/computer-vision-engineer.md +6 -0
  98. package/plugins/just-vibe/references/profiles/controls-engineer.md +6 -0
  99. package/plugins/just-vibe/references/profiles/creative-technologist.md +6 -0
  100. package/plugins/just-vibe/references/profiles/cryptography-engineer.md +6 -0
  101. package/plugins/just-vibe/references/profiles/data-analyst.md +6 -0
  102. package/plugins/just-vibe/references/profiles/data-architect.md +6 -0
  103. package/plugins/just-vibe/references/profiles/data-engineer.md +6 -0
  104. package/plugins/just-vibe/references/profiles/data-governance-engineer.md +6 -0
  105. package/plugins/just-vibe/references/profiles/data-platform-engineer.md +6 -0
  106. package/plugins/just-vibe/references/profiles/data-quality-engineer.md +6 -0
  107. package/plugins/just-vibe/references/profiles/data-scientist.md +6 -0
  108. package/plugins/just-vibe/references/profiles/database-engineer.md +6 -0
  109. package/plugins/just-vibe/references/profiles/database-reliability-engineer.md +6 -0
  110. package/plugins/just-vibe/references/profiles/design-systems-engineer.md +6 -0
  111. package/plugins/just-vibe/references/profiles/desktop-engineer.md +6 -0
  112. package/plugins/just-vibe/references/profiles/detection-engineer.md +6 -0
  113. package/plugins/just-vibe/references/profiles/developer-advocate.md +6 -0
  114. package/plugins/just-vibe/references/profiles/developer-experience-engineer.md +6 -0
  115. package/plugins/just-vibe/references/profiles/devops-engineer.md +6 -0
  116. package/plugins/just-vibe/references/profiles/distributed-systems-engineer.md +6 -0
  117. package/plugins/just-vibe/references/profiles/edge-engineer.md +6 -0
  118. package/plugins/just-vibe/references/profiles/embedded-engineer.md +6 -0
  119. package/plugins/just-vibe/references/profiles/engineering-manager.md +6 -0
  120. package/plugins/just-vibe/references/profiles/enterprise-architect.md +6 -0
  121. package/plugins/just-vibe/references/profiles/experimentation-engineer.md +6 -0
  122. package/plugins/just-vibe/references/profiles/finops-engineer.md +6 -0
  123. package/plugins/just-vibe/references/profiles/firmware-engineer.md +6 -0
  124. package/plugins/just-vibe/references/profiles/frontend-architect.md +6 -0
  125. package/plugins/just-vibe/references/profiles/frontend-engineer.md +6 -0
  126. package/plugins/just-vibe/references/profiles/fullstack-engineer.md +6 -0
  127. package/plugins/just-vibe/references/profiles/game-networking-engineer.md +6 -0
  128. package/plugins/just-vibe/references/profiles/gameplay-engineer.md +6 -0
  129. package/plugins/just-vibe/references/profiles/geospatial-engineer.md +6 -0
  130. package/plugins/just-vibe/references/profiles/graphics-engineer.md +6 -0
  131. package/plugins/just-vibe/references/profiles/hpc-engineer.md +6 -0
  132. package/plugins/just-vibe/references/profiles/identity-access-engineer.md +6 -0
  133. package/plugins/just-vibe/references/profiles/inference-engineer.md +6 -0
  134. package/plugins/just-vibe/references/profiles/infrastructure-engineer.md +6 -0
  135. package/plugins/just-vibe/references/profiles/integration-architect.md +6 -0
  136. package/plugins/just-vibe/references/profiles/integration-engineer.md +6 -0
  137. package/plugins/just-vibe/references/profiles/ios-engineer.md +6 -0
  138. package/plugins/just-vibe/references/profiles/iot-engineer.md +6 -0
  139. package/plugins/just-vibe/references/profiles/kubernetes-engineer.md +6 -0
  140. package/plugins/just-vibe/references/profiles/llm-engineer.md +6 -0
  141. package/plugins/just-vibe/references/profiles/machine-learning-engineer.md +6 -0
  142. package/plugins/just-vibe/references/profiles/ml-architect.md +6 -0
  143. package/plugins/just-vibe/references/profiles/ml-data-engineer.md +6 -0
  144. package/plugins/just-vibe/references/profiles/ml-platform-engineer.md +6 -0
  145. package/plugins/just-vibe/references/profiles/mlops-engineer.md +6 -0
  146. package/plugins/just-vibe/references/profiles/mobile-engineer.md +6 -0
  147. package/plugins/just-vibe/references/profiles/network-engineer.md +6 -0
  148. package/plugins/just-vibe/references/profiles/nlp-engineer.md +6 -0
  149. package/plugins/just-vibe/references/profiles/observability-engineer.md +6 -0
  150. package/plugins/just-vibe/references/profiles/performance-engineer.md +6 -0
  151. package/plugins/just-vibe/references/profiles/platform-architect.md +6 -0
  152. package/plugins/just-vibe/references/profiles/platform-engineer.md +6 -0
  153. package/plugins/just-vibe/references/profiles/principal-engineer.md +6 -0
  154. package/plugins/just-vibe/references/profiles/privacy-engineer.md +6 -0
  155. package/plugins/just-vibe/references/profiles/product-engineer.md +6 -0
  156. package/plugins/just-vibe/references/profiles/product-security-engineer.md +6 -0
  157. package/plugins/just-vibe/references/profiles/protocol-engineer.md +6 -0
  158. package/plugins/just-vibe/references/profiles/qa-automation-engineer.md +6 -0
  159. package/plugins/just-vibe/references/profiles/recommendation-engineer.md +6 -0
  160. package/plugins/just-vibe/references/profiles/reinforcement-learning-engineer.md +6 -0
  161. package/plugins/just-vibe/references/profiles/research-engineer.md +6 -0
  162. package/plugins/just-vibe/references/profiles/research-scientist.md +6 -0
  163. package/plugins/just-vibe/references/profiles/responsible-ai-engineer.md +6 -0
  164. package/plugins/just-vibe/references/profiles/robotics-engineer.md +6 -0
  165. package/plugins/just-vibe/references/profiles/runtime-engineer.md +6 -0
  166. package/plugins/just-vibe/references/profiles/scientific-software-engineer.md +6 -0
  167. package/plugins/just-vibe/references/profiles/search-engineer.md +6 -0
  168. package/plugins/just-vibe/references/profiles/security-architect.md +6 -0
  169. package/plugins/just-vibe/references/profiles/security-automation-engineer.md +6 -0
  170. package/plugins/just-vibe/references/profiles/security-incident-responder.md +6 -0
  171. package/plugins/just-vibe/references/profiles/senior-software-engineer.md +6 -0
  172. package/plugins/just-vibe/references/profiles/simulation-engineer.md +6 -0
  173. package/plugins/just-vibe/references/profiles/site-reliability-engineer.md +6 -0
  174. package/plugins/just-vibe/references/profiles/software-architect.md +6 -0
  175. package/plugins/just-vibe/references/profiles/solutions-architect.md +6 -0
  176. package/plugins/just-vibe/references/profiles/speech-engineer.md +6 -0
  177. package/plugins/just-vibe/references/profiles/staff-engineer.md +6 -0
  178. package/plugins/just-vibe/references/profiles/storage-engineer.md +6 -0
  179. package/plugins/just-vibe/references/profiles/streaming-data-engineer.md +6 -0
  180. package/plugins/just-vibe/references/profiles/supply-chain-security-engineer.md +6 -0
  181. package/plugins/just-vibe/references/profiles/systems-engineer.md +6 -0
  182. package/plugins/just-vibe/references/profiles/tech-lead.md +6 -0
  183. package/plugins/just-vibe/references/profiles/technical-writer.md +6 -0
  184. package/plugins/just-vibe/references/profiles/test-infrastructure-engineer.md +6 -0
  185. package/plugins/just-vibe/references/profiles/ui-engineer.md +6 -0
  186. package/plugins/just-vibe/references/profiles/ux-engineer.md +6 -0
  187. package/plugins/just-vibe/references/profiles/web-performance-engineer.md +6 -0
  188. package/plugins/just-vibe/references/profiles/xr-engineer.md +6 -0
  189. package/plugins/just-vibe/references/profiles.md +3 -1
  190. package/plugins/just-vibe/references/proofs.md +1 -1
  191. package/plugins/just-vibe/references/runtime.md +3 -1
  192. package/plugins/just-vibe/references/security/review.md +4 -2
  193. package/plugins/just-vibe/references/task-undo.md +1 -1
  194. package/plugins/just-vibe/references/working-alternatives.md +1 -1
  195. package/plugins/just-vibe/scripts/hooks.mjs +12 -3
  196. package/plugins/just-vibe/scripts/installer.mjs +5 -1
  197. package/plugins/just-vibe/scripts/lib/adaptive-learning.mjs +98 -0
  198. package/plugins/just-vibe/scripts/lib/adaptive-store.mjs +113 -0
  199. package/plugins/just-vibe/scripts/lib/assistant-hooks.mjs +32 -0
  200. package/plugins/just-vibe/scripts/lib/assistant-runtime.mjs +236 -0
  201. package/plugins/just-vibe/scripts/lib/automation.mjs +1 -0
  202. package/plugins/just-vibe/scripts/lib/capability-guidance.mjs +34 -0
  203. package/plugins/just-vibe/scripts/lib/catalog.mjs +19 -1
  204. package/plugins/just-vibe/scripts/lib/evidence.mjs +21 -6
  205. package/plugins/just-vibe/scripts/lib/memory.mjs +13 -8
  206. package/plugins/just-vibe/scripts/lib/practice.mjs +2 -1
  207. package/plugins/just-vibe/scripts/lib/process.mjs +28 -2
  208. package/plugins/just-vibe/scripts/lib/profiles.mjs +1 -1
  209. package/plugins/just-vibe/scripts/lib/routing.mjs +5 -0
  210. package/plugins/just-vibe/scripts/lib/storage.mjs +7 -2
  211. package/plugins/just-vibe/scripts/lib/tasks.mjs +8 -1
  212. package/plugins/just-vibe/scripts/lib/workbench.mjs +30 -5
  213. package/plugins/just-vibe/scripts/lib/workspaces.mjs +19 -9
  214. package/plugins/just-vibe/scripts/toolkit.mjs +18 -5
  215. package/plugins/just-vibe/skills/api-breaking/SKILL.md +13 -5
  216. package/plugins/just-vibe/skills/api-client/SKILL.md +13 -5
  217. package/plugins/just-vibe/skills/api-contract-test/SKILL.md +13 -5
  218. package/plugins/just-vibe/skills/api-design/SKILL.md +9 -5
  219. package/plugins/just-vibe/skills/api-errors/SKILL.md +13 -5
  220. package/plugins/just-vibe/skills/api-openapi/SKILL.md +13 -5
  221. package/plugins/just-vibe/skills/api-pagination/SKILL.md +15 -7
  222. package/plugins/just-vibe/skills/api-webhooks/SKILL.md +9 -5
  223. package/plugins/just-vibe/skills/arch-boundaries/SKILL.md +15 -7
  224. package/plugins/just-vibe/skills/arch-contracts/SKILL.md +13 -5
  225. package/plugins/just-vibe/skills/arch-event-flow/SKILL.md +13 -5
  226. package/plugins/just-vibe/skills/arch-feature/SKILL.md +15 -7
  227. package/plugins/just-vibe/skills/arch-map/SKILL.md +13 -5
  228. package/plugins/just-vibe/skills/arch-modernize/SKILL.md +13 -5
  229. package/plugins/just-vibe/skills/arch-scale/SKILL.md +15 -7
  230. package/plugins/just-vibe/skills/arch-tenancy/SKILL.md +9 -5
  231. package/plugins/just-vibe/skills/auto/SKILL.md +20 -15
  232. package/plugins/just-vibe/skills/automate/SKILL.md +13 -5
  233. package/plugins/just-vibe/skills/backend-auth/SKILL.md +9 -5
  234. package/plugins/just-vibe/skills/backend-cache/SKILL.md +17 -9
  235. package/plugins/just-vibe/skills/backend-concurrency/SKILL.md +11 -7
  236. package/plugins/just-vibe/skills/backend-idempotency/SKILL.md +16 -8
  237. package/plugins/just-vibe/skills/backend-jobs/SKILL.md +13 -5
  238. package/plugins/just-vibe/skills/backend-permissions/SKILL.md +10 -6
  239. package/plugins/just-vibe/skills/backend-resilience/SKILL.md +13 -5
  240. package/plugins/just-vibe/skills/backend-service/SKILL.md +9 -5
  241. package/plugins/just-vibe/skills/brainstorm/SKILL.md +13 -5
  242. package/plugins/just-vibe/skills/build/SKILL.md +9 -5
  243. package/plugins/just-vibe/skills/challenge/SKILL.md +13 -5
  244. package/plugins/just-vibe/skills/checkpoint/SKILL.md +9 -5
  245. package/plugins/just-vibe/skills/ci/SKILL.md +13 -5
  246. package/plugins/just-vibe/skills/cleanup/SKILL.md +13 -5
  247. package/plugins/just-vibe/skills/compare/SKILL.md +14 -10
  248. package/plugins/just-vibe/skills/copy/SKILL.md +13 -5
  249. package/plugins/just-vibe/skills/coverage/SKILL.md +13 -5
  250. package/plugins/just-vibe/skills/data-backfill/SKILL.md +15 -6
  251. package/plugins/just-vibe/skills/data-contract/SKILL.md +13 -5
  252. package/plugins/just-vibe/skills/data-incremental/SKILL.md +13 -5
  253. package/plugins/just-vibe/skills/data-lineage/SKILL.md +13 -5
  254. package/plugins/just-vibe/skills/data-pipeline/SKILL.md +13 -5
  255. package/plugins/just-vibe/skills/data-profile/SKILL.md +13 -5
  256. package/plugins/just-vibe/skills/data-quality/SKILL.md +13 -5
  257. package/plugins/just-vibe/skills/data-reconcile/SKILL.md +13 -5
  258. package/plugins/just-vibe/skills/db-access/SKILL.md +9 -5
  259. package/plugins/just-vibe/skills/db-explain/SKILL.md +13 -5
  260. package/plugins/just-vibe/skills/db-index/SKILL.md +13 -5
  261. package/plugins/just-vibe/skills/db-integrity/SKILL.md +15 -7
  262. package/plugins/just-vibe/skills/db-locks/SKILL.md +13 -5
  263. package/plugins/just-vibe/skills/db-migrate/SKILL.md +14 -9
  264. package/plugins/just-vibe/skills/db-query/SKILL.md +15 -7
  265. package/plugins/just-vibe/skills/db-schema/SKILL.md +13 -5
  266. package/plugins/just-vibe/skills/debug/SKILL.md +9 -5
  267. package/plugins/just-vibe/skills/decide/SKILL.md +14 -10
  268. package/plugins/just-vibe/skills/decision-adr/SKILL.md +13 -5
  269. package/plugins/just-vibe/skills/decision-buy-build/SKILL.md +13 -5
  270. package/plugins/just-vibe/skills/decision-matrix/SKILL.md +13 -5
  271. package/plugins/just-vibe/skills/decision-premortem/SKILL.md +13 -5
  272. package/plugins/just-vibe/skills/decision-reversible/SKILL.md +13 -5
  273. package/plugins/just-vibe/skills/decision-revisit/SKILL.md +13 -5
  274. package/plugins/just-vibe/skills/decision-spike/SKILL.md +15 -7
  275. package/plugins/just-vibe/skills/deploy/SKILL.md +15 -6
  276. package/plugins/just-vibe/skills/deps/SKILL.md +9 -5
  277. package/plugins/just-vibe/skills/design/SKILL.md +13 -5
  278. package/plugins/just-vibe/skills/docs/SKILL.md +13 -5
  279. package/plugins/just-vibe/skills/doctor/SKILL.md +12 -5
  280. package/plugins/just-vibe/skills/explain/SKILL.md +13 -5
  281. package/plugins/just-vibe/skills/fix/SKILL.md +10 -6
  282. package/plugins/just-vibe/skills/git-bisect/SKILL.md +14 -6
  283. package/plugins/just-vibe/skills/git-commit/SKILL.md +16 -8
  284. package/plugins/just-vibe/skills/git-conflicts/SKILL.md +14 -6
  285. package/plugins/just-vibe/skills/git-diff/SKILL.md +14 -6
  286. package/plugins/just-vibe/skills/git-recover/SKILL.md +14 -6
  287. package/plugins/just-vibe/skills/git-split/SKILL.md +14 -6
  288. package/plugins/just-vibe/skills/git-status/SKILL.md +14 -6
  289. package/plugins/just-vibe/skills/git-worktree/SKILL.md +18 -9
  290. package/plugins/just-vibe/skills/github-actions/SKILL.md +12 -8
  291. package/plugins/just-vibe/skills/github-address-review/SKILL.md +14 -6
  292. package/plugins/just-vibe/skills/github-fix-ci/SKILL.md +11 -7
  293. package/plugins/just-vibe/skills/github-issue/SKILL.md +16 -8
  294. package/plugins/just-vibe/skills/github-pr/SKILL.md +14 -9
  295. package/plugins/just-vibe/skills/github-release/SKILL.md +12 -7
  296. package/plugins/just-vibe/skills/github-review/SKILL.md +10 -6
  297. package/plugins/just-vibe/skills/github-triage/SKILL.md +14 -6
  298. package/plugins/just-vibe/skills/handoff/SKILL.md +10 -6
  299. package/plugins/just-vibe/skills/help/SKILL.md +8 -6
  300. package/plugins/just-vibe/skills/integrate/SKILL.md +9 -5
  301. package/plugins/just-vibe/skills/learn/SKILL.md +13 -5
  302. package/plugins/just-vibe/skills/llm-cost/SKILL.md +13 -5
  303. package/plugins/just-vibe/skills/llm-evals/SKILL.md +19 -10
  304. package/plugins/just-vibe/skills/llm-injection/SKILL.md +13 -5
  305. package/plugins/just-vibe/skills/llm-prompt/SKILL.md +13 -5
  306. package/plugins/just-vibe/skills/llm-rag/SKILL.md +16 -7
  307. package/plugins/just-vibe/skills/llm-retrieval/SKILL.md +13 -5
  308. package/plugins/just-vibe/skills/llm-structured/SKILL.md +13 -5
  309. package/plugins/just-vibe/skills/llm-tools/SKILL.md +17 -8
  310. package/plugins/just-vibe/skills/map/SKILL.md +13 -5
  311. package/plugins/just-vibe/skills/match/SKILL.md +13 -5
  312. package/plugins/just-vibe/skills/migrate/SKILL.md +10 -6
  313. package/plugins/just-vibe/skills/ml-ablation/SKILL.md +15 -6
  314. package/plugins/just-vibe/skills/ml-baseline/SKILL.md +15 -6
  315. package/plugins/just-vibe/skills/ml-batch/SKILL.md +13 -5
  316. package/plugins/just-vibe/skills/ml-calibrate/SKILL.md +13 -5
  317. package/plugins/just-vibe/skills/ml-dataset/SKILL.md +13 -5
  318. package/plugins/just-vibe/skills/ml-dataset-version/SKILL.md +13 -5
  319. package/plugins/just-vibe/skills/ml-debug-training/SKILL.md +9 -5
  320. package/plugins/just-vibe/skills/ml-drift/SKILL.md +13 -5
  321. package/plugins/just-vibe/skills/ml-error-analysis/SKILL.md +13 -5
  322. package/plugins/just-vibe/skills/ml-evaluate/SKILL.md +14 -9
  323. package/plugins/just-vibe/skills/ml-experiments/SKILL.md +12 -8
  324. package/plugins/just-vibe/skills/ml-explain/SKILL.md +13 -5
  325. package/plugins/just-vibe/skills/ml-features/SKILL.md +17 -9
  326. package/plugins/just-vibe/skills/ml-frame/SKILL.md +13 -5
  327. package/plugins/just-vibe/skills/ml-imbalance/SKILL.md +13 -5
  328. package/plugins/just-vibe/skills/ml-inference-perf/SKILL.md +15 -6
  329. package/plugins/just-vibe/skills/ml-labels/SKILL.md +13 -5
  330. package/plugins/just-vibe/skills/ml-leakage/SKILL.md +19 -11
  331. package/plugins/just-vibe/skills/ml-monitor/SKILL.md +15 -6
  332. package/plugins/just-vibe/skills/ml-package/SKILL.md +9 -5
  333. package/plugins/just-vibe/skills/ml-parity/SKILL.md +13 -5
  334. package/plugins/just-vibe/skills/ml-report/SKILL.md +13 -5
  335. package/plugins/just-vibe/skills/ml-reproduce/SKILL.md +15 -6
  336. package/plugins/just-vibe/skills/ml-robustness/SKILL.md +13 -5
  337. package/plugins/just-vibe/skills/ml-rollout/SKILL.md +15 -6
  338. package/plugins/just-vibe/skills/ml-serving/SKILL.md +13 -5
  339. package/plugins/just-vibe/skills/ml-slices/SKILL.md +12 -8
  340. package/plugins/just-vibe/skills/ml-split/SKILL.md +16 -8
  341. package/plugins/just-vibe/skills/ml-threshold/SKILL.md +13 -5
  342. package/plugins/just-vibe/skills/ml-train/SKILL.md +12 -8
  343. package/plugins/just-vibe/skills/ml-training-cost/SKILL.md +13 -5
  344. package/plugins/just-vibe/skills/ml-tune/SKILL.md +15 -6
  345. package/plugins/just-vibe/skills/ops-alerts/SKILL.md +13 -5
  346. package/plugins/just-vibe/skills/ops-container/SKILL.md +13 -5
  347. package/plugins/just-vibe/skills/ops-incident/SKILL.md +13 -5
  348. package/plugins/just-vibe/skills/ops-logs/SKILL.md +13 -5
  349. package/plugins/just-vibe/skills/ops-observability/SKILL.md +13 -5
  350. package/plugins/just-vibe/skills/ops-postmortem/SKILL.md +13 -5
  351. package/plugins/just-vibe/skills/ops-restore/SKILL.md +13 -5
  352. package/plugins/just-vibe/skills/ops-runbook/SKILL.md +13 -5
  353. package/plugins/just-vibe/skills/orient/SKILL.md +11 -5
  354. package/plugins/just-vibe/skills/perf/SKILL.md +13 -5
  355. package/plugins/just-vibe/skills/plan/SKILL.md +13 -5
  356. package/plugins/just-vibe/skills/polish/SKILL.md +13 -5
  357. package/plugins/just-vibe/skills/pr/SKILL.md +14 -6
  358. package/plugins/just-vibe/skills/profile/SKILL.md +7 -5
  359. package/plugins/just-vibe/skills/profiles/SKILL.md +11 -4
  360. package/plugins/just-vibe/skills/react-async/SKILL.md +15 -7
  361. package/plugins/just-vibe/skills/react-audit/SKILL.md +10 -5
  362. package/plugins/just-vibe/skills/react-component/SKILL.md +10 -5
  363. package/plugins/just-vibe/skills/react-effects/SKILL.md +15 -7
  364. package/plugins/just-vibe/skills/react-forms/SKILL.md +13 -5
  365. package/plugins/just-vibe/skills/react-hydration/SKILL.md +14 -6
  366. package/plugins/just-vibe/skills/react-rerenders/SKILL.md +13 -5
  367. package/plugins/just-vibe/skills/react-state/SKILL.md +13 -5
  368. package/plugins/just-vibe/skills/refactor/SKILL.md +9 -5
  369. package/plugins/just-vibe/skills/release/SKILL.md +14 -6
  370. package/plugins/just-vibe/skills/remember/SKILL.md +15 -11
  371. package/plugins/just-vibe/skills/repro/SKILL.md +13 -5
  372. package/plugins/just-vibe/skills/research/SKILL.md +13 -5
  373. package/plugins/just-vibe/skills/resume/SKILL.md +8 -6
  374. package/plugins/just-vibe/skills/review/SKILL.md +23 -13
  375. package/plugins/just-vibe/skills/scope/SKILL.md +13 -5
  376. package/plugins/just-vibe/skills/security/SKILL.md +9 -5
  377. package/plugins/just-vibe/skills/security-authz/SKILL.md +9 -5
  378. package/plugins/just-vibe/skills/security-config/SKILL.md +9 -5
  379. package/plugins/just-vibe/skills/security-dependencies/SKILL.md +9 -5
  380. package/plugins/just-vibe/skills/security-fix/SKILL.md +9 -5
  381. package/plugins/just-vibe/skills/security-inputs/SKILL.md +9 -5
  382. package/plugins/just-vibe/skills/security-secrets/SKILL.md +9 -5
  383. package/plugins/just-vibe/skills/security-threat-model/SKILL.md +9 -5
  384. package/plugins/just-vibe/skills/security-uploads/SKILL.md +9 -5
  385. package/plugins/just-vibe/skills/setup/SKILL.md +11 -5
  386. package/plugins/just-vibe/skills/skill/SKILL.md +9 -5
  387. package/plugins/just-vibe/skills/spec/SKILL.md +13 -5
  388. package/plugins/just-vibe/skills/tasks/SKILL.md +13 -5
  389. package/plugins/just-vibe/skills/teach/SKILL.md +11 -13
  390. package/plugins/just-vibe/skills/teach-test/SKILL.md +12 -5
  391. package/plugins/just-vibe/skills/test/SKILL.md +13 -5
  392. package/plugins/just-vibe/skills/test-e2e/SKILL.md +14 -6
  393. package/plugins/just-vibe/skills/test-fixtures/SKILL.md +14 -6
  394. package/plugins/just-vibe/skills/test-flaky/SKILL.md +14 -6
  395. package/plugins/just-vibe/skills/test-integration/SKILL.md +14 -6
  396. package/plugins/just-vibe/skills/test-load/SKILL.md +14 -6
  397. package/plugins/just-vibe/skills/test-property/SKILL.md +14 -6
  398. package/plugins/just-vibe/skills/test-regression/SKILL.md +16 -8
  399. package/plugins/just-vibe/skills/test-unit/SKILL.md +14 -6
  400. package/plugins/just-vibe/skills/tools/SKILL.md +8 -6
  401. package/plugins/just-vibe/skills/trace/SKILL.md +13 -5
  402. package/plugins/just-vibe/skills/ui-accessibility/SKILL.md +15 -7
  403. package/plugins/just-vibe/skills/ui-audit/SKILL.md +13 -5
  404. package/plugins/just-vibe/skills/ui-flow/SKILL.md +13 -5
  405. package/plugins/just-vibe/skills/ui-motion/SKILL.md +13 -5
  406. package/plugins/just-vibe/skills/ui-responsive/SKILL.md +13 -5
  407. package/plugins/just-vibe/skills/ui-states/SKILL.md +13 -5
  408. package/plugins/just-vibe/skills/ui-system/SKILL.md +13 -5
  409. package/plugins/just-vibe/skills/ui-visual-diff/SKILL.md +13 -5
  410. package/plugins/just-vibe/skills/undo/SKILL.md +11 -7
  411. package/plugins/just-vibe/skills/vercel-audit/SKILL.md +9 -5
  412. package/plugins/just-vibe/skills/vercel-build-fix/SKILL.md +12 -8
  413. package/plugins/just-vibe/skills/vercel-env/SKILL.md +13 -5
  414. package/plugins/just-vibe/skills/vercel-performance/SKILL.md +13 -5
  415. package/plugins/just-vibe/skills/vercel-preview/SKILL.md +16 -7
  416. package/plugins/just-vibe/skills/vercel-release-check/SKILL.md +15 -7
  417. package/plugins/just-vibe/skills/vercel-routing/SKILL.md +13 -5
  418. package/plugins/just-vibe/skills/vercel-runtime/SKILL.md +10 -6
  419. package/plugins/just-vibe/skills/verify/SKILL.md +11 -12
  420. package/plugins/just-vibe/skills/vite-assets/SKILL.md +15 -7
  421. package/plugins/just-vibe/skills/vite-bundle/SKILL.md +16 -8
  422. package/plugins/just-vibe/skills/vite-chunks/SKILL.md +14 -6
  423. package/plugins/just-vibe/skills/vite-config/SKILL.md +14 -6
  424. package/plugins/just-vibe/skills/vite-env/SKILL.md +11 -6
  425. package/plugins/just-vibe/skills/vite-hmr/SKILL.md +14 -6
  426. package/plugins/just-vibe/skills/vite-setup/SKILL.md +14 -6
  427. package/plugins/just-vibe/skills/vite-upgrade/SKILL.md +14 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.0
4
+
5
+ - Add automatic request routing and compaction/resume context through native Codex/Claude plugin hooks, with focused workflow loading and guidance for discovering actual host capabilities.
6
+ - Add personal/project feedback overlays that change effective command instructions and routing, retain source/version history, and support rollback, retirement and forgetting without rewriting package caches.
7
+ - Add attributed evidence with source/artifact freshness, tool-activity records, and one bounded missing-evidence continuation; preserve current instructions and distinguish blockers from successful verification.
8
+ - Add local activation settings, task retention, natural-language personalization controls, packaged runtime tests and native installation checks.
9
+ - Preserve task identity across host continuation turns, enforce task-only feedback restrictions against the complete user message, and isolate optional project-hook failures while checking evidence after project commands finish.
10
+
11
+ - Refine website spacing and long-text wrapping across the full catalog; add page transitions, section entrances, animated menus and pickers, state feedback, reduced-motion handling, and layout/navigation regression checks.
12
+ - Default all frontend workflows to no emojis unless explicitly requested; route UI, React, Vite, design, polish, matching and UI copy through shared iconography guidance, including general workflows and role profiles used for frontend work.
13
+ - Replace website text-glyph icons with Lucide SVGs and preserve icon markup when copy-button feedback resets.
14
+ - Add a public website with installation guides, an editable prompt builder, searchable command and role libraries, and catalog-generated scope and verification documentation.
15
+ - Add the just-vibe visual identity, generated logo and brand assets, responsive layouts, static-page/link checks, and browser accessibility and interaction checks.
16
+ - Configure Vercel deployment independently of GitHub Actions and the npm CLI release process.
17
+
18
+ ## 0.8.1
19
+
20
+ - Clarify review/teaching variants and local implementation versus live execution; add effective infer/default/ask policies to every command.
21
+ - Consolidate runtime-backed prompt procedures, make proof reports conditional, and preserve selected findings, exclusions and corrections across turns.
22
+ - Add 22 conditional worked examples with misleading cases and concrete contributions for all 112 profiles, including a same-feature comparison.
23
+ - Add a multi-turn review/repair harness with seven defect categories, working/disabled controls, immutable turn captures and independent scope checks; include linked guides in isolated evaluation payloads.
24
+
25
+ - Bind lab/practice cleanup to complete reviewed snapshots, reject staged changes, and preflight every workspace before removing any.
26
+ - Redact structured credentials and common sensitive command arguments before recording evidence; preserve output structure and command outcomes for key/value logs.
27
+ - Preserve POSIX file permissions during memory edits, workspace selection, task undo and recovery, with conservative restoration for legacy records.
28
+ - Treat symlink targets as incomplete snapshot coverage so old checks cannot certify changed linked inputs.
29
+ - Retry browser text, URL, title and focus assertions within a bounded deadline for asynchronous UI changes.
30
+ - Allow retired memory rules to move while retaining provenance, current revision checks and destination-file protection.
31
+ - Add regression coverage and delayed-state Chromium smoke checks for the reviewed defects; document cleanup input migration and permission compatibility.
32
+
3
33
  ## 0.8.0
4
34
 
5
35
  - Expand all 213 canonical workflows with authored technical evidence, methods, misdiagnosis controls and discriminating checks; aliases inherit them.
package/README.md CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  Tools, skills, and commands for coding agents.
4
4
 
5
- **v0.8 source contains 112 engineering profiles and 216 skill names backed by 213 canonical workflows** for Codex and Claude Code: focused skills for development, architecture, decisions, Git/GitHub, Vercel, Vite, React, UI, backend, APIs, databases, data, ML, LLMs, testing, security, and operations. Each canonical workflow has selection guidance, scope, concrete decision branches, evidence requirements, outputs, verification, recovery conditions and three example requests. Each entry point also contains an authored technical method: evidence to inspect, a procedure, a likely misdiagnosis and a discriminating check. Applied methods live in 22 pack guides.
5
+ [Website](https://just-vibe-tools.vercel.app/) · [Documentation](https://just-vibe-tools.vercel.app/docs/) · [Command library](https://just-vibe-tools.vercel.app/commands/) · [Engineering profiles](https://just-vibe-tools.vercel.app/profiles/)
6
+
7
+ **v0.9.0 contains 112 engineering profiles and 216 skill names backed by 213 canonical workflows** for Codex and Claude Code: focused skills for development, architecture, decisions, Git/GitHub, Vercel, Vite, React, UI, backend, APIs, databases, data, ML, LLMs, testing, security, and operations. Each canonical workflow has selection guidance, scope, concrete decision branches, evidence requirements, outputs, verification, recovery conditions and at least three example requests. Each entry point also contains an authored technical method: evidence to inspect, a procedure, a likely misdiagnosis and a discriminating check. Applied methods live in 22 pack guides. The v0.8.1 prompt update adds explicit infer/default/ask policies, a conditional worked example for each pack, and guidance for preserving corrections across turns; see [prompt improvements](docs/prompt-improvements.md).
6
8
 
7
9
  The [technical audit](docs/technical-audit.md) and [complete coverage inventory](docs/technical-coverage.md) document the latest expansion across every canonical workflow. Review/security commands now route to concrete vulnerability, framework, language and scanner guides. [Security fixture controls](evals/security/README.md) distinguish seeded defects from legitimate behavior; they do not claim model-review accuracy.
8
10
 
@@ -11,9 +13,17 @@ The active coding agent executes the workflows with its available tools. The dep
11
13
  v0.7 adds a quick path for simple work, a small starter catalog, contextual routing with reasons, project preferences and checkpoints, explicit evidence collectors, and optional project hooks. Detailed auth, component, training and delivery scenarios load only when relevant. See [daily workflows](plugins/just-vibe/references/daily-workflows.md) for configuration and examples, and the [v0.7 validation record](evals/releases/0.7.0.md) for tested scope and limits.
12
14
 
13
15
 
16
+ ## Automatic assistance
17
+
18
+ Describe the outcome normally: “Fix the mobile menu,” “Why is training unstable?” or “Address this PR’s feedback.” Trusted native hooks now route each request to a focused shortlist, restore selected work after compaction, and direct the agent to discover and use its actual tools. Command names remain optional.
19
+
20
+ The agent loads the relevant full workflow with versioned personal/project feedback. Explicit corrections and endorsements can change instructions, routing triggers, preferred tools and required checks. History, rollback, retirement and forgetting are supported. Silence and passing tests do not create preferences. Source and artifact changes invalidate old evidence; completion can request one bounded follow-up for missing evidence, then reports unresolved work honestly.
21
+
22
+ Automatic assistance is included starting in **v0.9.0**. Native hook support and host trust are required; setup does not grant that trust. Personal state lives under `~/.just-vibe/adaptive`, outside repositories, with bounded task retention. No additional model service or runtime dependency is used. See [automatic assistance, schemas and limits](plugins/just-vibe/references/adaptive.md) and [validation](docs/adaptive-assistance.md).
23
+
14
24
  ## Intent, evidence and reversible work
15
25
 
16
- The v0.8 source adds working runtime helpers behind natural-language skill requests:
26
+ v0.8.0 adds working runtime helpers behind natural-language skill requests:
17
27
 
18
28
  - Remember an explicit correction, inspect instruction provenance/loading, and test a rule with compliant/violating controls.
19
29
  - Build two or three alternatives in owned worktrees, run equal checks, preview them, and apply the selected result with an undo record.
@@ -24,12 +34,12 @@ The v0.8 source adds working runtime helpers behind natural-language skill reque
24
34
 
25
35
  See the [workflow guide](plugins/just-vibe/references/intent-workflows.md) for examples, boundaries and recovery. Users provide ordinary briefs; the agent prepares the helper inputs. These features support judgment rather than claiming an objective quality score.
26
36
 
27
- **Publication status:** v0.8 is source work until separately published; the previously published npm release is v0.7.0. Registry installs do not gain these features until the new release is published.
37
+ **Release information:** Check [npm for just-vibe 0.9.0](https://www.npmjs.com/package/just-vibe/v/0.9.0) and the [release validation record](evals/releases/0.9.0.md) for registry verification and tested scope. This release uses the maintainer-authorized local-check exception because GitHub Actions minutes are unavailable; no CI pass is claimed.
28
38
 
29
39
 
30
40
  ## Use the workflows
31
41
 
32
- In Claude Code, use a command followed by as much context as needed:
42
+ With trusted hooks, use an ordinary request. For explicit shortcuts, Claude Code supports a command followed by as much context as needed:
33
43
 
34
44
  ```text
35
45
  /just-vibe:auto fix checkout, add regression coverage, and verify.
@@ -72,7 +82,7 @@ The host interprets the conversation; the `memory` helper can persist individual
72
82
 
73
83
  ## Engineering profiles
74
84
 
75
- Profiles shape the agent's priorities and verification throughout a task. They are separate from commands: a machine learning engineer emphasizes prediction-time data, evaluation and serving parity; a frontend engineer emphasizes state, interactions and rendered behavior. Each of the **112 profiles** has concrete priorities, a decision rule, checks, a scope boundary and candidate workflows.
85
+ Profiles shape the agent's priorities and verification throughout a task. They are separate from commands: a machine learning engineer emphasizes prediction-time data, evaluation and serving parity; a frontend engineer emphasizes state, interactions and rendered behavior. Each of the **112 profiles** has concrete priorities, a decision rule, checks, a scope boundary, a concrete task contribution and candidate workflows.
76
86
 
77
87
  ```text
78
88
  /just-vibe:profiles architecture
@@ -257,13 +267,15 @@ The default checks validate catalogs, generated skills, references, manifests an
257
267
 
258
268
  The default host test copies and installs the bundled payload. `--local` tests direct checkout registration. `--github` installs the published private repository and requires Git access; use it after pushing a release. Both variants execute the cached plugin runtime and check every skill is present, independently of the source checkout.
259
269
 
260
- Edit `plugins/just-vibe/catalog/commands.json` for command contracts and runtime procedures, `catalog/packs.json` for pack requirements, and `references/packs/` for operational guidance. Run `npm run build:skills` to regenerate skills, the command reference, technical coverage inventory, and evaluation scenarios. `npm run validate` rejects drift. Neither generation nor the installed runtime depends on the ignored local plan.
270
+ Edit `plugins/just-vibe/catalog/commands.json` for command contracts and the single canonical procedure, `catalog/packs.json` for pack requirements/input policies, and `references/packs/` plus `references/examples/` for operational guidance. Profile contributions live in `catalog/profiles.json`. Run `npm run build:skills` to regenerate skills, the command reference, technical coverage inventory, and evaluation scenarios. `npm run validate` rejects drift. Neither generation nor the installed runtime depends on the ignored local plan.
261
271
 
262
272
  Every workflow has normal, edge and missing-evidence cases in [evals/scenarios.json](evals/scenarios.json). The [independent behavioral harness](evals/README.md) additionally prepares and grades 21 raw-artifact tasks, including code repairs and report judgments. Catalog structure, runtime utility coverage and observed agent behavior have separate validation fields. These are not claims that all commands have been run against live services or evaluated across models. See the [v0.4 observed results](evals/releases/0.4.0.md) and [evaluation guidance](evals/README.md) for the tested scope.
263
273
 
274
+ The [conversation harness](evals/conversation/README.md) records review, selected repairs and later corrections with separate scope and behavior checks. Its [development record](evals/releases/prompt-improvements.md) describes observed results and limitations.
275
+
264
276
  The [v0.6 results](evals/releases/0.6.0.md) record 32 controlled implementation trials and eight revised-command development trials. All passed their bounded checks; this does not rank overall output quality or convenience. The tasks supplied detailed contracts and did not measure user effort or preference. The [command-depth review](docs/command-quality.md#focused-depth-review) explains 27 focused revisions, and the [contextual review guide](docs/command-quality.md#output-quality-and-convenience) covers judgment, clarity, discovery and correction burden. [Benchmark protocol and supporting metrics](evals/benchmark/README.md) remain available for reproduction. External integration, browser and deployment checks require the relevant task environment.
265
277
 
266
- The [technical-guidance validation record](evals/releases/0.8.0-technical-guidance.md) covers the latest command expansion and security controls. The earlier [v0.8 validation record](evals/releases/0.8.0.md) covers the new intent helpers, real browser reports, installation checks and the pending Windows confirmation. Final CI is blocked by GitHub account billing; source and archive preparation do not establish npm publication.
278
+ The [technical-guidance validation record](evals/releases/0.8.0-technical-guidance.md) covers the v0.8.0 command expansion and security controls. The earlier [v0.8 validation record](evals/releases/0.8.0.md) covers the new intent helpers, real browser reports, installation checks and the pending Windows confirmation. GitHub CI remains blocked by account billing. The [v0.9.0 release record](evals/releases/0.9.0.md) records the current local checks and release-specific waiver; Windows validation remains pending.
267
279
 
268
280
  ### Repository layout
269
281
 
@@ -281,7 +293,7 @@ The [technical-guidance validation record](evals/releases/0.8.0-technical-guidan
281
293
  | `scripts/` and `tests/` | Validation and lifecycle tests |
282
294
  | `evals/` | Behavior scenarios and isolated project/data fixtures |
283
295
 
284
- The installer has no runtime npm dependencies or lifecycle install scripts. Optional bundled hooks do no work until configured and trusted for a project; native host trust also applies. It adds no MCP servers, rules or permissions. Provider/check commands use argument arrays rather than interpolating user input into a shell. Host CLIs own installation state and caches. Local planning and naming documents are excluded from both Git and the npm archive.
296
+ The installer has no runtime npm dependencies or lifecycle install scripts. Automatic routing hooks use native host trust and keep personal task records. Optional project check/formatter hooks still do no work until separately configured and trusted. It adds no MCP servers, rules or permissions. Provider/check commands use argument arrays rather than interpolating user input into a shell. Host CLIs own installation state and caches. Local planning and naming documents are excluded from both Git and the npm archive.
285
297
 
286
298
  ## Troubleshooting
287
299
 
@@ -0,0 +1,44 @@
1
+ # Automatic assistance implementation and validation
2
+
3
+ Included starting in version 0.9.0. User operation and JSON schemas live in the packaged [adaptive reference](../plugins/just-vibe/references/adaptive.md). The website has a matching guide.
4
+
5
+ ## Implementation
6
+
7
+ | Need | Implementation | Important boundary |
8
+ | --- | --- | --- |
9
+ | Ordinary conversation activates workflows | Bundled UserPromptSubmit hook, shared assistant runtime, local request/context routing | Shortlist retrieval is heuristic; the host resolves meaning, scope and mode. |
10
+ | Only relevant methods are loaded | Compact injected entry point, select/load protocol, full canonical workflow retrieval | Existing direct skills remain available; native catalog truncation cannot remove the hook's runtime path. |
11
+ | Agents discover and use real tools | Capability-specific guidance with observed/unknown state; existing host capability-report validation; full workflow methods | The hook cannot enumerate every host connector; the active agent uses its native discovery tools. |
12
+ | Missing steps remain visible | Per-task requirements, attributed evidence, tool-event metadata, source/artifact hashes, one bounded Stop continuation | Delivery and activity do not prove model compliance; host reports remain labeled. |
13
+ | Corrections change future behavior | Project/user learning records, trigger preference/suppression, effective workflow overlays and additional requirements | Only explicit user feedback is eligible; interpretation is performed by the host. |
14
+ | Updates are explainable and reversible | Per-lesson source excerpts, revisions, version history, rollback, retirement and forgetting | User-scope learning requires explicit cross-project language. |
15
+ | Context survives compaction | SessionStart resume/compact restores the same task, selection and access to current evidence | Context does not restore authorization or assert freshness. |
16
+ | Controls remain usable without memorizing commands | Natural-language personalization routing and a shared agent guide | Ambiguous maintenance targets must be resolved first. |
17
+
18
+ All runtime code is dependency-free Node. It uses the existing atomic state, bounded reads, path protection, discovery and fingerprint utilities. Hooks never execute project scripts themselves; existing optional check/formatter automation retains its separate trust gate. No account identity or host permission settings are changed by this feature.
19
+
20
+ The packaged command bodies remain canonical. Effective instructions are assembled on load with versioned personal overrides; `show` uses the same loader. Direct skills reach that loader through shared execution guidance. This avoids writing personal preferences into installed plugin caches that are replaced during upgrades.
21
+
22
+ ## Host support
23
+
24
+ The adapter uses the common `session_id`, `cwd`, `hook_event_name`, `prompt`, tool-event and Stop output shapes. Codex turn IDs also prevent late events from crossing task boundaries. Plugin hooks use `CLAUDE_PLUGIN_ROOT`, which Codex supplies for compatibility. Host hook review/trust is not bypassed by the installer.
25
+
26
+ Codex can represent a Stop continuation as another incoming prompt. The runtime recognizes its own exact emitted reminder by hash, adopts a fresh host turn ID when supplied, and preserves the existing task and retry budget. That reminder cannot become a new user-feedback source. Native host events remain distinct from manually supplied CLI inputs; local records are provenance aids, not cryptographic attestations against a process with filesystem access.
27
+
28
+ References checked during implementation: [Codex hooks](https://learn.chatgpt.com/docs/hooks), [Codex skills](https://learn.chatgpt.com/docs/build-skills), [Claude hooks](https://code.claude.com/docs/en/hooks) and [Claude plugin discovery](https://code.claude.com/docs/en/plugins-reference).
29
+
30
+ ## Validation
31
+
32
+ - `tests/adaptive.test.mjs` exercises ordinary UI/ML/GitHub/backend requests, unrelated requests, negative clauses, both adapter shapes, effective command loading, tool discovery uncertainty, artifact/source freshness, scoped learning, positive feedback, rollback, user-message provenance and bounded completion.
33
+ - The test drives the real hook entry point and CLI through request, selection, load, evidence and completion in an isolated project. It checks that generated continuation prompts do not create feedback or restart retries, that new continuation turn IDs remain attached to the task, that task-only restrictions cannot be omitted from quoted feedback, and that optional project-hook failures or mutations do not suppress or prematurely certify completion.
34
+ - Existing project-automation, routing, installation, package and full-runtime regression tests cover interaction with previous features.
35
+ - `npm run test:hosts` installs, repeats, upgrades, checks, uninstalls and reinstalls through native Codex/Claude plugin managers in isolated configuration directories. It verifies the installed payload without changing the user's active installation.
36
+ - Website production build and static documentation/link checks cover the new guide and navigation.
37
+
38
+ These are deterministic/runtime and installation checks. They do not establish that every host version delivers every event, that a model always chooses the right workflow, or that users subjectively prefer every learned change. No new model-behavior score or comparison with another toolkit is claimed.
39
+
40
+ Validation run on September 20, 2026: 202 root tests passed, one Windows-only test skipped on macOS; 27 of those passing tests cover this feature. Both native lifecycles passed with Codex CLI 0.152.0 and Claude Code 2.1.258. Skill/plugin validators passed during development. The website built 345 pages and passed all four static catalog/link/metadata tests on Node 24.21.0. The new documentation page was inspected in the browser at desktop and mobile widths during development; its mobile content did not overflow the viewport. These checks used isolated state and did not update the user's active installation. See the [v0.9.0 release record](../evals/releases/0.9.0.md) for publication verification.
41
+
42
+ ## Manual acceptance checks
43
+
44
+ In a host with the plugin enabled and its hooks reviewed, send an ordinary task without a workflow name. Confirm the hook context has a task ID, the agent selects and loads the relevant method, uses actual tools, and reports concrete evidence. Follow with an explicit correction; inspect its source/version, start another session, and verify the next effective workflow includes it. Roll back the lesson and verify the prior behavior returns. Repeat with a conceptual question and an unrelated conversation to assess unnecessary activation and user effort.
@@ -6,6 +6,8 @@ The catalog owns each canonical command's scope, mode, required inputs, selectio
6
6
 
7
7
  216 names resolve to 213 canonical workflows. `do` inherits `auto`, `responsive` inherits `ui-responsive`, and `a11y` inherits `ui-accessibility`. Alias source records contain identity/search metadata only. Loading materializes the canonical behavior; validation rejects scope, mode, method, evidence or other behavioral drift. Routing collapses matching aliases to one canonical recommendation while preserving matched names.
8
8
 
9
+ The [prompt improvements](prompt-improvements.md) add explicit input policies, request variants, conditional worked examples, concrete role contributions and multi-turn validation. Every generated skill uses one canonical procedure; do not reintroduce parallel runtime instructions.
10
+
9
11
  ## Writing useful guidance
10
12
 
11
13
  Selection should distinguish a nearby workflow: explain versus teach, debug versus fix, local pr drafting versus remote github-pr identity/actions. A task-specific procedure should name the evidence to inspect and the decision it informs. Canonical commands must also supply technical.evidence, technical.method, technical.pitfall and technical.check. These fields appear directly in the skill, CLI contract and evaluation specification; references add conditional depth. A branch should cover a situation that changes the method, such as a partial external operation, incompatible old consumer, stale request completion or missing evaluation labels.
@@ -69,7 +71,7 @@ The schema verifies the presence and shape of this contract, not the quality of
69
71
 
70
72
  ## Profiles and ownership
71
73
 
72
- `catalog/profiles.json` owns role guidance independently of action contracts. Maintain a distinct purpose, priorities, a decision rule, relevant verification, a boundary and valid canonical workflow links for each role. Generate the profile index and individual references with the same build command. A title alone is not a useful profile; nearby roles must change emphasis in an explainable way.
74
+ `catalog/profiles.json` owns role guidance independently of action contracts. Maintain a distinct purpose, priorities, a decision rule, relevant verification, a boundary, a concrete task contribution and valid canonical workflow links for each role. Generate the profile index and individual references with the same build command. A title alone is not a useful profile; nearby roles must change emphasis in an explainable way.
73
75
 
74
76
  Test profile state transitions for pin protection, scope and budget preservation. Keep role discovery separate from activation. Do not claim that structural validation proves role expertise or that previous workflow trials evaluate newly added role guidance.
75
77
 
@@ -24,7 +24,7 @@ The profile/profile-discovery skills and all 112 role guides ship in both host p
24
24
 
25
25
  Project state and contextual routing use the bundled Node utilities on all supported runtime platforms. State is schema-versioned and bound to the selected project path. Partial snapshot coverage always requires revalidation. `tools` now shows a starter selection; use `tools --all` for the previous full inventory.
26
26
 
27
- Optional hooks use PostToolUse and Stop and ship at the native plugin hook location. They remain inactive until project configuration and separate local trust are present. Codex also requires native hook trust. Native installation on macOS is verified separately from actual hook-event delivery on every host/OS. A direct hook runner test establishes handler behavior, not host parity. Command arrays support native executables and standard npm Windows wrappers through the shared process helper.
27
+ The v0.7 project check/formatter hooks use PostToolUse and Stop and ship at the native plugin hook location. They remain inactive until project configuration and separate local trust are present. Codex also requires native hook trust. Native installation on macOS is verified separately from actual hook-event delivery on every host/OS. A direct hook runner test establishes handler behavior, not host parity. Command arrays support native executables and standard npm Windows wrappers through the shared process helper.
28
28
 
29
29
  GitHub evidence needs authenticated gh; Vercel evidence needs authenticated vercel and an explicit deployment identity. Browser evidence needs project-installed Playwright and Chromium, with authorized interactions. SQL migration evidence inspects local SQL and an optional supplied applied-history export; it does not connect to a live database. The package installs no optional provider or browser dependencies automatically. See the [daily workflow reference](../plugins/just-vibe/references/daily-workflows.md).
30
30
 
@@ -33,3 +33,11 @@ GitHub evidence needs authenticated gh; Vercel evidence needs authenticated verc
33
33
  The new memory/guard, task, lab, proof, practice, experiment and decision helpers use the existing Node runtime without added runtime dependencies. Labs/practice/local undo require Git and a committed project root. Preview commands must run foreground loopback servers; the worker owns their process lifetime. These worktrees are not security sandboxes. Selected file and snapshot bounds can require a narrower task; incomplete coverage never grants selection/cleanup authority.
34
34
 
35
35
  The 216-skill payload passed isolated native Codex/Claude lifecycle checks on macOS. ML imports use supplied local exports, and browser proof screenshots use already-installed Playwright/Chromium. Native teaching questions still depend on the active host mode; exercise assessment does not fabricate question-tool availability. See the [v0.8 validation record](../evals/releases/0.8.0.md) and [workflow guides](../plugins/just-vibe/references/intent-workflows.md).
36
+
37
+ ## v0.9 automatic assistance
38
+
39
+ Version 0.9.0 adds request routing, resume/compaction restoration, tool-activity records, scoped feedback overlays and bounded completion reminders. Supported hosts must deliver UserPromptSubmit, SessionStart, PostToolUse and Stop events and trust the plugin's native hooks. The installer does not grant native trust. Existing optional project checks still require their separate configuration and trust.
40
+
41
+ Codex supplies the CLAUDE_PLUGIN_ROOT compatibility variable used by the shared hook command. Both adapters are exercised with fixture events; native install/update/uninstall lifecycle checks run separately on macOS. This does not establish every event on every host/OS or perfect model adherence. Hosted tools and some specialized paths can be absent from tool-hook observations. Use actual attributed evidence rather than inferring success from missing or returned tool events.
42
+
43
+ Personal learning and task state live under ~/.just-vibe/adaptive (or JUST_VIBE_HOME), keyed by canonical project and host/session. See the [adaptive reference](../plugins/just-vibe/references/adaptive.md) and [implementation/validation record](adaptive-assistance.md).
@@ -0,0 +1,19 @@
1
+ # Prompt improvements
2
+
3
+ These changes improve existing workflows rather than adding more command names. The ignored local plan records implementation sequencing; this document describes the shipped behavior and its limits.
4
+
5
+ | Area | Result | Source of truth |
6
+ | --- | --- | --- |
7
+ | Modes and scope | Separate source inspection, local implementation and actual execution. ML code does not require provisioning a training job; migration files do not authorize a live migration. | Command mode/scope/branches and shared execution |
8
+ | Request variants | Review a diff, repository or named files; teach a topic, explain workflow implementation, or prepare explicitly requested practice. | `review` and `teach` contracts |
9
+ | Missing context | Infer from project evidence, state reversible defaults, ask only about consequential unresolved choices. Every effective command has a validated policy inherited from its pack or overridden locally. | `inputPolicy` in catalogs |
10
+ | Worked examples | All 22 packs have an evidence → decision → artifact → verification example and a misleading case. Read these only when relevant. | `references/examples/` |
11
+ | Prompt duplication | One canonical execution procedure, with conditional guides for detailed operations. Ordinary verification does not require a durable proof report. | `procedure` and skill generator |
12
+ | Profiles | All 112 roles name a concrete contribution; a same-feature comparison explains differences without expanding permission or scope. | Profile `contribution` and comparison guide |
13
+ | Follow-ups | Keep stable finding identities, selected paths, exclusions, corrections and completed work across “fix these” and “continue.” | Shared execution and conversation evaluation |
14
+
15
+ The `requiredInputs` fields identify evidence for the selected outcome; they are not mandatory questionnaires for every variant. For instance, a PR draft can be prepared from the local diff, while remote creation requires a resolved repository/head/base. A general code review can report existing defects without inventing a base revision or claiming the defects were recently introduced.
16
+
17
+ The catalog resolves pack input policies before alias materialization. CLI contracts, generated skills and evaluation specifications therefore see the same policy. Validation rejects missing policies, profile contributions, independent alias behavior and a second runtime procedure. Structural checks cannot establish that the prose is useful; the [conversation evaluation](../evals/conversation/README.md) records actual responses, selected edits and independent checks.
18
+
19
+ Examples are authored guidance, not measured results. Role contributions are expected artifacts, not credentials. The [observed development record](../evals/releases/prompt-improvements.md) distinguishes executable controls, real agent outcomes and untested environments. These changes are published in v0.8.1; see its [validation and publication status](../evals/releases/0.8.1.md).
package/docs/releases.md CHANGED
@@ -49,3 +49,9 @@ Push the release commit and matching `vVERSION` tag. Run **Publish npm package**
49
49
  If publication fails, check whether that exact version already exists before retrying. A successful upload followed by a failed verification still consumes the version. If a bad release is already live, publish a corrected new version and deprecate the affected one with a clear explanation.
50
50
 
51
51
  Official references: [npm publishing](https://docs.npmjs.com/creating-and-publishing-unscoped-public-packages/), [trusted publishing](https://docs.npmjs.com/trusted-publishers/), [semantic versioning](https://docs.npmjs.com/about-semantic-versioning/).
52
+
53
+ ## Maintainer exception for unavailable CI
54
+
55
+ The default publisher still requires successful CI. An explicit maintainer instruction can waive unavailable CI for a specific release without recording a fictitious pass or disabling Actions globally. Keep the local checks and exact-archive verification: match the clean source commit, package/manifests, SHA-256 release record and tested tarball; check whether that version already exists before publication. Publish only those verified bytes, complete npm account verification, then compare registry integrity and execute the exact version from a fresh temporary directory/cache outside the source checkout. `npm exec` inside the package checkout can select the local package and fail to resolve its bin.
56
+
57
+ Record the reason, maintainer authorization, source commit, artifact hashes, local checks and outstanding platform coverage. Tag the actual published source revision. Never overwrite a published version or weaken the normal CI check for future releases. The [0.8.0 publication record](../evals/releases/0.8.0-publication.json) and [0.8.1 publication record](../evals/releases/0.8.1-publication.json) document separately authorized release-specific exceptions.
@@ -9,7 +9,7 @@ Generated from the canonical catalog. This is an inventory of authored guidance
9
9
  | [orient](../plugins/just-vibe/skills/orient/SKILL.md) | A package script's name does not prove it works, and importing configuration can execute code during inspection. | Technical method and pack guide in entry point |
10
10
  | [explain](../plugins/just-vibe/skills/explain/SKILL.md) | Plausible business intent cannot be inferred solely from a function name; configuration-dependent behavior remains conditional. | Technical method and pack guide in entry point |
11
11
  | [teach](../plugins/just-vibe/skills/teach/SKILL.md) | Teaching a command does not authorize running it; overwhelming prerequisite lists can obscure the actual concept. | [Project exercises](../plugins/just-vibe/references/practice.md) |
12
- | [teach-test](../plugins/just-vibe/skills/teach-test/SKILL.md) | Inline answer dumps or revealing the correct answer before the response defeat the test; unavailable native UI needs an explicit fallback. | Technical method and pack guide in entry point |
12
+ | [teach-test](../plugins/just-vibe/skills/teach-test/SKILL.md) | Inline questions or an early answer key defeat native assessment; if the host forbids quiz dialogs, explain the limit and stop the quiz without disguising it as clarification. | Technical method and pack guide in entry point |
13
13
  | [trace](../plugins/just-vibe/skills/trace/SKILL.md) | A static call graph does not prove which branch executed; queue handoffs can change identity and ordering. | Technical method and pack guide in entry point |
14
14
  | [map](../plugins/just-vibe/skills/map/SKILL.md) | A large unlabeled graph hides ownership and can imply nonexistent deployed services. | Technical method and pack guide in entry point |
15
15
  | [research](../plugins/just-vibe/skills/research/SKILL.md) | Current documentation may describe a different major than the project; search snippets alone can omit decisive conditions. | Technical method and pack guide in entry point |
@@ -28,10 +28,10 @@ Generated from the canonical catalog. This is an inventory of authored guidance
28
28
  | [migrate](../plugins/just-vibe/skills/migrate/SKILL.md) | Updating a version string does not migrate runtime semantics; code rollback may not read new persisted data. | [Language and runtime review methods](../plugins/just-vibe/references/scenarios/language-review.md) |
29
29
  | [automate](../plugins/just-vibe/skills/automate/SKILL.md) | A script that retries uncertain mutations or interpolates user text into shell source can amplify failures. | Technical method and pack guide in entry point |
30
30
  | [cleanup](../plugins/just-vibe/skills/cleanup/SKILL.md) | Static search can miss reflection, routing conventions, plugins or public consumers. | Technical method and pack guide in entry point |
31
- | [design](../plugins/just-vibe/skills/design/SKILL.md) | Attractive static composition can conceal inaccessible controls, content overflow or missing recovery states. | Technical method and pack guide in entry point |
32
- | [polish](../plugins/just-vibe/skills/polish/SKILL.md) | Arbitrary token changes can improve one screen while breaking sibling components or dense content. | Technical method and pack guide in entry point |
33
- | [match](../plugins/just-vibe/skills/match/SKILL.md) | A different viewport or unloaded font can masquerade as implementation error; screenshot similarity does not prove behavior. | Technical method and pack guide in entry point |
34
- | [copy](../plugins/just-vibe/skills/copy/SKILL.md) | Friendly copy that says a failed operation succeeded or hides irreversible consequences misleads users. | Technical method and pack guide in entry point |
31
+ | [design](../plugins/just-vibe/skills/design/SKILL.md) | Attractive static composition can conceal inaccessible controls, content overflow or missing recovery states. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
32
+ | [polish](../plugins/just-vibe/skills/polish/SKILL.md) | Arbitrary token changes can improve one screen while breaking sibling components or dense content. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
33
+ | [match](../plugins/just-vibe/skills/match/SKILL.md) | A different viewport or unloaded font can masquerade as implementation error; screenshot similarity does not prove behavior. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
34
+ | [copy](../plugins/just-vibe/skills/copy/SKILL.md) | Friendly copy that says a failed operation succeeded or hides irreversible consequences misleads users. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
35
35
  | [review](../plugins/just-vibe/skills/review/SKILL.md) | Style preferences, file length or theoretical edge cases without a trigger are not automatically defects. | [Review selection and evidence](../plugins/just-vibe/references/security/review.md); [Language and runtime review methods](../plugins/just-vibe/references/scenarios/language-review.md) |
36
36
  | [test](../plugins/just-vibe/skills/test/SKILL.md) | Mock call assertions or tests mirroring helper logic can pass while behavior is wrong. | Technical method and pack guide in entry point |
37
37
  | [verify](../plugins/just-vibe/skills/verify/SKILL.md) | A green command on another revision or a screenshot of one state cannot establish all acceptance criteria. | [Requirement evidence](../plugins/just-vibe/references/proofs.md) |
@@ -55,7 +55,7 @@ Generated from the canonical catalog. This is an inventory of authored guidance
55
55
  | [doctor](../plugins/just-vibe/skills/doctor/SKILL.md) | Finding an executable or directory does not prove the plugin is enabled or the current session loaded its latest skills. | Technical method and pack guide in entry point |
56
56
  | [help](../plugins/just-vibe/skills/help/SKILL.md) | Dumping every command creates search burden; a lexical match does not establish capability availability. | [Discovery and daily utilities](../plugins/just-vibe/references/daily-workflows.md) |
57
57
  | [tools](../plugins/just-vibe/skills/tools/SKILL.md) | An installed CLI is not authenticated access; a skill description is not an executable scanner. | [Discovery and daily utilities](../plugins/just-vibe/references/daily-workflows.md) |
58
- | [auto](../plugins/just-vibe/skills/auto/SKILL.md) | Lexical routing is a suggestion, not authorization or a reason to execute every matching command. | [Daily workflow paths](../plugins/just-vibe/references/daily-workflows.md); [Intent and evidence workflows](../plugins/just-vibe/references/intent-workflows.md) |
58
+ | [auto](../plugins/just-vibe/skills/auto/SKILL.md) | Lexical routing is a suggestion, not authorization or a reason to execute every matching command. | [Adaptive assistance](../plugins/just-vibe/references/adaptive.md); [Daily workflow paths](../plugins/just-vibe/references/daily-workflows.md); [Intent and evidence workflows](../plugins/just-vibe/references/intent-workflows.md) |
59
59
  | [profiles](../plugins/just-vibe/skills/profiles/SKILL.md) | A job title is neither a credential nor evidence that all specialty checks were performed. | Technical method and pack guide in entry point |
60
60
  | [profile](../plugins/just-vibe/skills/profile/SKILL.md) | Agent inference cannot clear a user pin, and a principal role does not authorize broader architecture changes. | [Project continuity](../plugins/just-vibe/references/daily-workflows.md) |
61
61
 
@@ -128,40 +128,40 @@ Generated from the canonical catalog. This is an inventory of authored guidance
128
128
 
129
129
  | Workflow | Specific failure or ambiguity addressed | Conditional references |
130
130
  |---|---|---|
131
- | [vite-setup](../plugins/just-vibe/skills/vite-setup/SKILL.md) | Copying a config for another major or adding a second package manager can create a setup that only works on one machine. | Technical method and pack guide in entry point |
132
- | [vite-config](../plugins/just-vibe/skills/vite-config/SKILL.md) | A config file can execute arbitrary imports; read-only inspection should not evaluate it just to discover values. | Technical method and pack guide in entry point |
133
- | [vite-hmr](../plugins/just-vibe/skills/vite-hmr/SKILL.md) | Full page reload and preserved hot state are different outcomes; disabling host checks is not a generic websocket repair. | Technical method and pack guide in entry point |
134
- | [vite-env](../plugins/just-vibe/skills/vite-env/SKILL.md) | Prefixing a secret with VITE_ makes it public; booleans read from env may be strings with surprising truthiness. | [Framework-specific review branches](../plugins/just-vibe/references/security/frameworks.md) |
135
- | [vite-bundle](../plugins/just-vibe/skills/vite-bundle/SKILL.md) | Removing a named import or counting source file sizes does not prove tree-shaking or network improvement. | Technical method and pack guide in entry point |
136
- | [vite-chunks](../plugins/just-vibe/skills/vite-chunks/SKILL.md) | A smaller entry chunk can add serial requests or cause a stale HTML document to reference a deleted old chunk. | Technical method and pack guide in entry point |
137
- | [vite-assets](../plugins/just-vibe/skills/vite-assets/SKILL.md) | A leading slash can escape a subpath deployment; a concatenated filename may never enter the build graph. | Technical method and pack guide in entry point |
138
- | [vite-upgrade](../plugins/just-vibe/skills/vite-upgrade/SKILL.md) | A passing install with ignored peer conflicts does not establish refresh or production compatibility. | Technical method and pack guide in entry point |
131
+ | [vite-setup](../plugins/just-vibe/skills/vite-setup/SKILL.md) | Copying a config for another major or adding a second package manager can create a setup that only works on one machine. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
132
+ | [vite-config](../plugins/just-vibe/skills/vite-config/SKILL.md) | A config file can execute arbitrary imports; read-only inspection should not evaluate it just to discover values. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
133
+ | [vite-hmr](../plugins/just-vibe/skills/vite-hmr/SKILL.md) | Full page reload and preserved hot state are different outcomes; disabling host checks is not a generic websocket repair. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
134
+ | [vite-env](../plugins/just-vibe/skills/vite-env/SKILL.md) | Prefixing a secret with VITE_ makes it public; booleans read from env may be strings with surprising truthiness. | [Framework-specific review branches](../plugins/just-vibe/references/security/frameworks.md); [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
135
+ | [vite-bundle](../plugins/just-vibe/skills/vite-bundle/SKILL.md) | Removing a named import or counting source file sizes does not prove tree-shaking or network improvement. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
136
+ | [vite-chunks](../plugins/just-vibe/skills/vite-chunks/SKILL.md) | A smaller entry chunk can add serial requests or cause a stale HTML document to reference a deleted old chunk. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
137
+ | [vite-assets](../plugins/just-vibe/skills/vite-assets/SKILL.md) | A leading slash can escape a subpath deployment; a concatenated filename may never enter the build graph. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
138
+ | [vite-upgrade](../plugins/just-vibe/skills/vite-upgrade/SKILL.md) | A passing install with ignored peer conflicts does not establish refresh or production compatibility. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
139
139
 
140
140
  ## React
141
141
 
142
142
  | Workflow | Specific failure or ambiguity addressed | Conditional references |
143
143
  |---|---|---|
144
- | [react-audit](../plugins/just-vibe/skills/react-audit/SKILL.md) | Missing memoization is not automatically a defect, and ordinary JSX text is escaped by React. | [Framework-specific review branches](../plugins/just-vibe/references/security/frameworks.md) |
145
- | [react-rerenders](../plugins/just-vibe/skills/react-rerenders/SKILL.md) | Render counts include harmless work and development checks; memoization can retain stale behavior or cost more than recomputation. | Technical method and pack guide in entry point |
146
- | [react-effects](../plugins/just-vibe/skills/react-effects/SKILL.md) | Suppressing dependency warnings conceals stale closures; aborting a request cannot undo a completed server mutation. | Technical method and pack guide in entry point |
147
- | [react-state](../plugins/just-vibe/skills/react-state/SKILL.md) | Copying props into state on every update can erase user edits; a module variable can leak state between instances or server requests. | Technical method and pack guide in entry point |
148
- | [react-component](../plugins/just-vibe/skills/react-component/SKILL.md) | ARIA labels alone do not implement keyboard behavior, focus management or controlled value semantics. | [dialog interaction](../plugins/just-vibe/references/scenarios/dialog.md); [combobox interaction](../plugins/just-vibe/references/scenarios/combobox.md); [date-picker interaction](../plugins/just-vibe/references/scenarios/date-picker.md) |
149
- | [react-forms](../plugins/just-vibe/skills/react-forms/SKILL.md) | A disabled button alone does not prevent retries or duplicate server effects; number parsing can turn an empty field into zero. | Technical method and pack guide in entry point |
150
- | [react-async](../plugins/just-vibe/skills/react-async/SKILL.md) | Canceling one waiter must not cancel shared work still owned by another; late rejection can delete a newer cache entry. | Technical method and pack guide in entry point |
151
- | [react-hydration](../plugins/just-vibe/skills/react-hydration/SKILL.md) | Suppressing hydration warnings does not repair invalid markup or mismatched event/state attachment. | Technical method and pack guide in entry point |
144
+ | [react-audit](../plugins/just-vibe/skills/react-audit/SKILL.md) | Missing memoization is not automatically a defect, and ordinary JSX text is escaped by React. | [Framework-specific review branches](../plugins/just-vibe/references/security/frameworks.md); [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
145
+ | [react-rerenders](../plugins/just-vibe/skills/react-rerenders/SKILL.md) | Render counts include harmless work and development checks; memoization can retain stale behavior or cost more than recomputation. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
146
+ | [react-effects](../plugins/just-vibe/skills/react-effects/SKILL.md) | Suppressing dependency warnings conceals stale closures; aborting a request cannot undo a completed server mutation. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
147
+ | [react-state](../plugins/just-vibe/skills/react-state/SKILL.md) | Copying props into state on every update can erase user edits; a module variable can leak state between instances or server requests. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
148
+ | [react-component](../plugins/just-vibe/skills/react-component/SKILL.md) | ARIA labels alone do not implement keyboard behavior, focus management or controlled value semantics. | [dialog interaction](../plugins/just-vibe/references/scenarios/dialog.md); [combobox interaction](../plugins/just-vibe/references/scenarios/combobox.md); [date-picker interaction](../plugins/just-vibe/references/scenarios/date-picker.md); [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
149
+ | [react-forms](../plugins/just-vibe/skills/react-forms/SKILL.md) | A disabled button alone does not prevent retries or duplicate server effects; number parsing can turn an empty field into zero. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
150
+ | [react-async](../plugins/just-vibe/skills/react-async/SKILL.md) | Canceling one waiter must not cancel shared work still owned by another; late rejection can delete a newer cache entry. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
151
+ | [react-hydration](../plugins/just-vibe/skills/react-hydration/SKILL.md) | Suppressing hydration warnings does not repair invalid markup or mismatched event/state attachment. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
152
152
 
153
153
  ## UI and frontend
154
154
 
155
155
  | Workflow | Specific failure or ambiguity addressed | Conditional references |
156
156
  |---|---|---|
157
- | [ui-audit](../plugins/just-vibe/skills/ui-audit/SKILL.md) | A screenshot cannot establish keyboard behavior, contrast in every state or successful end-to-end completion. | Technical method and pack guide in entry point |
158
- | [ui-system](../plugins/just-vibe/skills/ui-system/SKILL.md) | Renaming colors without updating focus, disabled, dark-mode or data-visualization states leaves an incomplete system. | Technical method and pack guide in entry point |
159
- | [ui-states](../plugins/just-vibe/skills/ui-states/SKILL.md) | Replacing failed data with an empty-state message misrepresents the result and can encourage destructive user action. | Technical method and pack guide in entry point |
160
- | [ui-responsive](../plugins/just-vibe/skills/ui-responsive/SKILL.md) | Hiding overflow can conceal controls; hover-only affordances fail on touch or keyboard. | Technical method and pack guide in entry point |
161
- | [ui-accessibility](../plugins/just-vibe/skills/ui-accessibility/SKILL.md) | Passing an automated checker does not prove keyboard or screen-reader usability; positive tabindex creates fragile ordering. | Technical method and pack guide in entry point |
162
- | [ui-motion](../plugins/just-vibe/skills/ui-motion/SKILL.md) | A smooth animation can still hide focus, block input or cause discomfort; reduced motion must preserve outcome and feedback. | Technical method and pack guide in entry point |
163
- | [ui-visual-diff](../plugins/just-vibe/skills/ui-visual-diff/SKILL.md) | Approving a new screenshot merely because it differs converts a regression into the expected result. | Technical method and pack guide in entry point |
164
- | [ui-flow](../plugins/just-vibe/skills/ui-flow/SKILL.md) | Optimizing one screen can break cross-screen state or erase work when users navigate backward. | Technical method and pack guide in entry point |
157
+ | [ui-audit](../plugins/just-vibe/skills/ui-audit/SKILL.md) | A screenshot cannot establish keyboard behavior, contrast in every state or successful end-to-end completion. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
158
+ | [ui-system](../plugins/just-vibe/skills/ui-system/SKILL.md) | Renaming colors without updating focus, disabled, dark-mode or data-visualization states leaves an incomplete system. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
159
+ | [ui-states](../plugins/just-vibe/skills/ui-states/SKILL.md) | Replacing failed data with an empty-state message misrepresents the result and can encourage destructive user action. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
160
+ | [ui-responsive](../plugins/just-vibe/skills/ui-responsive/SKILL.md) | Hiding overflow can conceal controls; hover-only affordances fail on touch or keyboard. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
161
+ | [ui-accessibility](../plugins/just-vibe/skills/ui-accessibility/SKILL.md) | Passing an automated checker does not prove keyboard or screen-reader usability; positive tabindex creates fragile ordering. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
162
+ | [ui-motion](../plugins/just-vibe/skills/ui-motion/SKILL.md) | A smooth animation can still hide focus, block input or cause discomfort; reduced motion must preserve outcome and feedback. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
163
+ | [ui-visual-diff](../plugins/just-vibe/skills/ui-visual-diff/SKILL.md) | Approving a new screenshot merely because it differs converts a regression into the expected result. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
164
+ | [ui-flow](../plugins/just-vibe/skills/ui-flow/SKILL.md) | Optimizing one screen can break cross-screen state or erase work when users navigate backward. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
165
165
 
166
166
  ## Backend
167
167
 
package/evals/README.md CHANGED
@@ -30,6 +30,10 @@ The grader verifies input/instruction hashes, permitted changed files, independe
30
30
 
31
31
  `npm run eval:behavior -- list` shows available cases. `npm run check` checks the harness itself against seeded wrong reports, broken code, vacuous tests and correct controls. Those synthetic harness checks are **not** model trials. It does not call models or services.
32
32
 
33
+ ## Multi-turn behavior
34
+
35
+ The [conversation harness](conversation/README.md) records source and response snapshots for review → selected repair → correction → continuation. Seven defect categories have independent positive and negative controls. The fixture enforces turn-specific write scope and retains failures; finding quality and convenience still need contextual review. See the [observed development record](releases/prompt-improvements.md).
36
+
33
37
  ## Controlled comparisons
34
38
 
35
39
  Prepare the same case in three fresh directories with `--arm baseline`, `--arm just-vibe`, or `--arm ecc --ecc-root /path/to/pinned/ECC`. ECC supports cases with a declared matched source file in the manifest. Record the ECC revision before preparation. The comparator supplies that matched guide, not ECC's complete installed hooks/agents/runtime; name this limitation when interpreting results.
@@ -33,11 +33,8 @@ export function prepare({ id, out, arm = 'just-vibe', eccRoot }) {
33
33
  if (arm === 'just-vibe') {
34
34
  const target = join(workspace, '_instructions/just-vibe');
35
35
  for (const name of ['scripts', 'catalog']) cpSync(join(pluginRoot, name), join(target, name), { recursive: true });
36
- for (const name of ['execution.md', 'runtime.md', 'teaching.md', 'teach-test.md', 'profiles.md', 'profile-reference.md']) {
37
- mkdirSync(join(target, 'references'), { recursive: true });
38
- cpSync(join(pluginRoot, 'references', name), join(target, 'references', name));
39
- }
40
- cpSync(join(pluginRoot, 'references/profiles'), join(target, 'references/profiles'), { recursive: true });
36
+ // Carry conditional and transitive guides too; availability is not an instruction to load them all.
37
+ cpSync(join(pluginRoot, 'references'), join(target, 'references'), { recursive: true });
41
38
  for (const id of fixture.commands) {
42
39
  const c = getCommand(catalog, id, { canonical: true });
43
40
  cpSync(join(pluginRoot, 'skills', c.id), join(target, 'skills', c.id), { recursive: true });
@@ -0,0 +1,59 @@
1
+ # Conversation and selective-repair evaluation
2
+
3
+ This development fixture exercises a general source review followed by selected repairs, a correction and continuation. It does not require a diff baseline. The raw utility library has seven defect categories from recent runtime reviews: index-aware cleanup identity, structured redaction, serialization-safe redaction, permission preservation, incomplete symlink coverage, eventual assertions and retired-rule movement. The instructions do not tell the evaluated agent which defects or how many to find.
4
+
5
+ `fixture/` contains public contracts and source. `controls/` and `oracle.mjs` belong to the evaluator. Each oracle checks useful behavior as well as the failing boundary; disabling an export does not count as a repair. `tests/conversation.test.mjs` checks the original defects, working controls, disabled controls, turn progression and scope violations. These deterministic checks make no model calls.
6
+
7
+ ## Prepare a real trial
8
+
9
+ Create a JSON configuration outside the future trial directory:
10
+
11
+ ```json
12
+ { "out": ".tmp/trials/conversation-1", "arm": "just-vibe" }
13
+ ```
14
+
15
+ Run `npm run eval:conversation -- prepare CONFIG.json`. Use a new directory each time. The `baseline` arm omits toolkit instructions. Preparation copies the raw fixture and, for just-vibe, the plugin payload including linked references. It records input identities and instruction hashes. It neither launches a model nor establishes a successful evaluation.
16
+
17
+ Give an independent agent only `turns/1/prompt.txt` and the workspace it names. Keep the same agent conversation for later turns; do not reveal the oracles, controls, later messages or earlier trial results. Bound the task to local synthetic checks and the supplied instructions. This is an evaluator workflow, not a sandbox for hostile submissions.
18
+
19
+ ## Capture and continue
20
+
21
+ After the agent responds, capture its actual response verbatim:
22
+
23
+ ```json
24
+ {
25
+ "run": ".tmp/trials/conversation-1",
26
+ "response": "Actual complete response from the agent",
27
+ "actor": "Actual host task/agent identifier"
28
+ }
29
+ ```
30
+
31
+ Run `npm run eval:conversation -- capture CONFIG.json`. The harness freezes source artifacts and a response hash for that turn, checks changed paths and instruction integrity, and runs independent behavioral assertions against that frozen source. It withholds execution after a scope violation. Failed assertions during the initial review are expected: review alone must not repair code.
32
+
33
+ Then create the next request with `npm run eval:conversation -- begin CONFIG.json`:
34
+
35
+ ```json
36
+ {
37
+ "run": ".tmp/trials/conversation-1",
38
+ "message": "Fix only findings 1 and 2. Keep the remaining findings unchanged.",
39
+ "allowedWrites": ["src/cleanup.mjs", "src/privacy.mjs"],
40
+ "expectFixed": ["cleanup", "privacy"]
41
+ }
42
+ ```
43
+
44
+ The two file names above are an example, not a required review order. Freeze the actual finding identities from the agent's response and set the allowed files accordingly. `expectFixed` is the cumulative set of behaviors expected to pass at this turn. If a repair needs other files, explicitly adjust the user's scope before allowing them; do not silently whitelist a scope violation after the fact.
45
+
46
+ Suggested continuation:
47
+
48
+ 1. Review without edits.
49
+ 2. Fix only the first two actual findings.
50
+ 3. Correct the task: no more repairs, keep the remaining findings as notes, and summarize verification of the selected changes.
51
+ 4. Say “continue.” Previously excluded findings must stay excluded.
52
+
53
+ Capture every response before beginning the next turn. Changes between turns are rejected. Completed captures cannot be overwritten; a failed trial remains a failed trial. Artifacts and failed results are retained instead of being replaced by later success.
54
+
55
+ ## Interpret the evidence
56
+
57
+ Check actual changes and executable outcomes separately from review prose. Inspect whether findings are substantiated, optional improvements are labeled, corrections are retained, questions are necessary, and completion claims match evidence. The harness intentionally supplies no universal quality, convenience or comparative score.
58
+
59
+ One trial does not establish cross-model reliability, native Claude/Codex parity or performance on a production repository. These public fixtures are useful regressions, not held-out evaluation data. Record host/model settings only when observed, retain unavailable values as unknown, and report any instruction changes after a trial. See the [development record](../releases/prompt-improvements.md) for observed results.
@@ -0,0 +1,9 @@
1
+ import { writeFileSync, renameSync, statSync, chmodSync, rmSync } from 'node:fs';
2
+ import { randomUUID } from 'node:crypto';
3
+ export function atomicSave(path, text) {
4
+ let mode = 0o600;
5
+ try { mode = statSync(path).mode & 0o777; } catch (error) { if (error.code !== 'ENOENT') throw error; }
6
+ const temp = `${path}.${randomUUID()}.tmp`;
7
+ try { writeFileSync(temp, text, { flag: 'wx', mode: 0o600 }); chmodSync(temp, mode); renameSync(temp, path); }
8
+ finally { rmSync(temp, { force: true }); }
9
+ }
@@ -0,0 +1,15 @@
1
+ export async function assertEventually(read, expected, timeoutMs = 1000) {
2
+ const deadline = Date.now() + timeoutMs;
3
+ do {
4
+ let timer;
5
+ const timeout = new Promise((_, reject) => { timer = setTimeout(() => reject(Error('Expectation timed out')), Math.max(0, deadline - Date.now())); });
6
+ let actual;
7
+ try { actual = await Promise.race([Promise.resolve().then(read), timeout]); }
8
+ finally { clearTimeout(timer); }
9
+ if (actual === expected) return true;
10
+ const remaining = deadline - Date.now();
11
+ if (remaining <= 0) break;
12
+ await new Promise(resolve => setTimeout(resolve, Math.min(10, remaining)));
13
+ } while (true);
14
+ throw Error('Expectation timed out');
15
+ }
@@ -0,0 +1,15 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import { createHash } from 'node:crypto';
3
+ import { readFileSync } from 'node:fs';
4
+ import { join } from 'node:path';
5
+ export function cleanupToken(root) {
6
+ const git = args => execFileSync('git', args, { cwd: root });
7
+ const hash = createHash('sha256').update(git(['ls-files', '--stage', '-z']));
8
+ const names = git(['ls-files', '--cached', '--others', '--exclude-standard', '-z']).toString().split('\0').filter(Boolean);
9
+ for (const name of [...new Set(names)].sort()) {
10
+ hash.update(JSON.stringify(name));
11
+ try { const bytes = readFileSync(join(root, name)); hash.update(`${bytes.length}:`); hash.update(bytes); }
12
+ catch (error) { if (error.code !== 'ENOENT') throw error; hash.update('absent'); }
13
+ }
14
+ return hash.digest('hex');
15
+ }
@@ -0,0 +1,16 @@
1
+ import { readdirSync, readFileSync } from 'node:fs';
2
+ import { join, relative } from 'node:path';
3
+ import { createHash } from 'node:crypto';
4
+ export function fingerprint(root) {
5
+ let complete = true;
6
+ const hash = createHash('sha256');
7
+ function walk(dir) {
8
+ for (const entry of readdirSync(dir, { withFileTypes: true }).sort((a, b) => a.name.localeCompare(b.name))) {
9
+ const path = join(dir, entry.name);
10
+ if (entry.isSymbolicLink()) { complete = false; continue; }
11
+ if (entry.isDirectory()) walk(path);
12
+ else { const bytes = readFileSync(path); hash.update(JSON.stringify([relative(root, path), bytes.length])); hash.update(bytes); }
13
+ }
14
+ }
15
+ walk(root); return { complete, digest: hash.digest('hex') };
16
+ }
@@ -0,0 +1,5 @@
1
+ export function redactEvidence(value) {
2
+ if (Array.isArray(value)) return value.map(redactEvidence);
3
+ if (value && typeof value === 'object') return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, /^(token|password|secret)$/i.test(key) ? '[REDACTED]' : redactEvidence(item)]));
4
+ return value;
5
+ }
@@ -0,0 +1,5 @@
1
+ export function moveRule(rules, id, destination) {
2
+ if (!['AGENTS.md', 'CLAUDE.md'].includes(destination)) throw Error('Invalid destination');
3
+ if (!rules.some(rule => rule.id === id)) throw Error('Unknown rule');
4
+ return rules.map(rule => ({ ...rule, ...(rule.id === id ? { destination } : {}) }));
5
+ }
@@ -0,0 +1,6 @@
1
+ export function roundTrip(value, secrets) {
2
+ if (typeof value === 'string') return secrets.filter(Boolean).reduce((text, secret) => text.split(secret).join('[REDACTED]'), value);
3
+ if (Array.isArray(value)) return value.map(item => roundTrip(item, secrets));
4
+ if (value && typeof value === 'object') return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, roundTrip(item, secrets)]));
5
+ return value;
6
+ }
@@ -0,0 +1,13 @@
1
+ # Workspace utilities
2
+
3
+ This is a small Node.js utility library. There are no dependencies. Public contracts:
4
+
5
+ - `cleanupToken(root)` returns a stable approval token for the Git index and working tree of a local repository. Identical state gives the same token; either state changing invalidates approval. Repository fixtures contain ordinary files only.
6
+ - `redactEvidence(value)` returns a JSON-compatible deep copy, redacting values of case-insensitive `token`, `password`, and `secret` keys at any nesting level, while preserving unrelated data. Inputs are acyclic JSON values.
7
+ - `roundTrip(value, secrets)` removes each supplied nonempty string secret from string values, preserving JSON types/structure and unrelated text. Inputs are acyclic JSON values; secrets may contain quotes, escapes or newlines. Secret values must not appear in returned strings.
8
+ - `atomicSave(path, text)` atomically replaces an existing regular file while preserving its POSIX access mode. Creating a new file uses a private mode. Callers supply a writable directory. Atomicity does not promise crash durability.
9
+ - `fingerprint(root)` returns `{ complete, digest }` over ordinary files. A symbolic link makes coverage incomplete, because its target is not included. Do not follow links outside the tree.
10
+ - `assertEventually(read, expected, timeoutMs)` waits for an asynchronous state reader to return the expected string, resolving true on success. It must reject if the expectation remains false through a bounded timeout, and propagate reader errors.
11
+ - `moveRule(rules, id, destination)` returns updated copies, moving exactly that rule between instruction files, including retired rules, without reactivating it. Destinations are `AGENTS.md` or `CLAUDE.md`. Missing IDs and other destinations fail.
12
+
13
+ Use only local synthetic data. No installation, network access or external operations are needed. Review explanations should distinguish actual contract violations from optional hardening outside these contracts.