boost-skill-cli 1.0.387__tar.gz → 1.0.388__tar.gz

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 (616) hide show
  1. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/configuration.py +50 -27
  4. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_skill_cli.egg-info/PKG-INFO +1 -1
  5. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_configuration.py +86 -0
  6. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.gitattributes +0 -0
  7. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.gitignore +0 -0
  8. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.gitleaks.toml +0 -0
  9. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.htmlvalidate.json +0 -0
  10. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.lighthouserc.json +0 -0
  11. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.lycheeignore +0 -0
  12. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.markdownlint-cli2.jsonc +0 -0
  13. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.pre-commit-config.yaml +0 -0
  14. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.stylelintrc.json +0 -0
  15. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.vale/styles/boost/Terminology.yml +0 -0
  16. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  17. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/.vale.ini +0 -0
  18. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/CLAUDE.md +0 -0
  19. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/CODE_OF_CONDUCT.md +0 -0
  20. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/CONTRIBUTING.md +0 -0
  21. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/LICENSE +0 -0
  22. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/MANIFEST.in +0 -0
  23. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/Makefile +0 -0
  24. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/README.md +0 -0
  25. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/SECURITY.md +0 -0
  26. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost +0 -0
  27. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/__init__.py +0 -0
  28. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/__main__.py +0 -0
  29. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/cli.py +0 -0
  30. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/cliparse.py +0 -0
  31. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/__init__.py +0 -0
  32. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/_common.py +0 -0
  33. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/bmad.py +0 -0
  34. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/discovery.py +0 -0
  35. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/hooks.py +0 -0
  36. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/info.py +0 -0
  37. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/intelligence.py +0 -0
  38. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/pkg.py +0 -0
  39. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/quality.py +0 -0
  40. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/run.py +0 -0
  41. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/safety.py +0 -0
  42. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/taps.py +0 -0
  43. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/commands/team.py +0 -0
  44. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/__init__.py +0 -0
  45. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/adapters.py +0 -0
  46. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/agents.py +0 -0
  47. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/ai.py +0 -0
  48. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/capabilities.py +0 -0
  49. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/catalog.py +0 -0
  50. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/chat.py +0 -0
  51. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/claude_settings.py +0 -0
  52. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/complete.py +0 -0
  53. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/config.py +0 -0
  54. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/dense.py +0 -0
  55. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/ed25519.py +0 -0
  56. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/embed.py +0 -0
  57. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/faithfulness.py +0 -0
  58. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/frontmatter.py +0 -0
  59. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/gitutil.py +0 -0
  60. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/imperative.py +0 -0
  61. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/injectscan.py +0 -0
  62. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/installscan.py +0 -0
  63. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/integrity.py +0 -0
  64. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/journal.py +0 -0
  65. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/localembed.py +0 -0
  66. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/lockfile.py +0 -0
  67. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/logs.py +0 -0
  68. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/mcp.py +0 -0
  69. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/mcpdecl.py +0 -0
  70. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/mcphost.py +0 -0
  71. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/minisign.py +0 -0
  72. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/nethttp.py +0 -0
  73. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/output.py +0 -0
  74. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/paths.py +0 -0
  75. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/policy.py +0 -0
  76. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/projectlock.py +0 -0
  77. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/provenance.py +0 -0
  78. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/rag.py +0 -0
  79. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/registry.py +0 -0
  80. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/resolve.py +0 -0
  81. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/rules.py +0 -0
  82. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/scopes.py +0 -0
  83. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/secretscan.py +0 -0
  84. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/selfupdate.py +0 -0
  85. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/serve.py +0 -0
  86. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/stackprobe.py +0 -0
  87. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/staleness.py +0 -0
  88. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/store.py +0 -0
  89. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/trustaudit.py +0 -0
  90. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/typosquat.py +0 -0
  91. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/updatediff.py +0 -0
  92. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/util.py +0 -0
  93. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/core/workflows.py +0 -0
  94. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/data/registries.json +0 -0
  95. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/errors.py +0 -0
  96. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_cli/spin.py +0 -0
  97. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
  98. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  99. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  100. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_skill_cli.egg-info/requires.txt +0 -0
  101. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/boost_skill_cli.egg-info/top_level.txt +0 -0
  102. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/codecov.yml +0 -0
  103. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/.claude/settings.local.json +0 -0
  104. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/DEBUGGING.md +0 -0
  105. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/adapters.html +0 -0
  106. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/architecture/README.md +0 -0
  107. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/architecture/c4-components-core.md +0 -0
  108. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/architecture/c4-containers.md +0 -0
  109. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/architecture/c4-context.md +0 -0
  110. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/architecture/c4-dynamic-install.md +0 -0
  111. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/gifs/distill.gif +0 -0
  112. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/gifs/doctor.gif +0 -0
  113. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/gifs/explain.gif +0 -0
  114. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/gifs/hooks.gif +0 -0
  115. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/gifs/install.gif +0 -0
  116. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/gifs/pulse.gif +0 -0
  117. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/gifs/search.gif +0 -0
  118. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/gifs/tap.gif +0 -0
  119. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/tapes/distill.tape +0 -0
  120. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/tapes/doctor.tape +0 -0
  121. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/tapes/explain.tape +0 -0
  122. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/tapes/hooks.tape +0 -0
  123. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/tapes/install.tape +0 -0
  124. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/tapes/pulse.tape +0 -0
  125. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/tapes/search.tape +0 -0
  126. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel/tapes/tap.tape +0 -0
  127. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/carousel.html +0 -0
  128. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/chat.html +0 -0
  129. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/commands.html +0 -0
  130. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/demo-index.json +0 -0
  131. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/demo.gif +0 -0
  132. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/demo.html +0 -0
  133. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/demo.tape +0 -0
  134. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/design-roadmap.html +0 -0
  135. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/eval-latest.json +0 -0
  136. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/eval.html +0 -0
  137. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/index.html +0 -0
  138. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/mcp-hub.html +0 -0
  139. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/rag-architecture.md +0 -0
  140. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D01.md +0 -0
  141. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D02.md +0 -0
  142. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D03.md +0 -0
  143. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D04.md +0 -0
  144. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D05.md +0 -0
  145. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D06.md +0 -0
  146. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D07.md +0 -0
  147. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D08.md +0 -0
  148. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D09.md +0 -0
  149. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D10.md +0 -0
  150. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D11.md +0 -0
  151. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D12.md +0 -0
  152. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D13.md +0 -0
  153. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D14.md +0 -0
  154. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D15.md +0 -0
  155. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D16.md +0 -0
  156. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D17.md +0 -0
  157. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D18.md +0 -0
  158. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D19.md +0 -0
  159. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D20.md +0 -0
  160. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D21.md +0 -0
  161. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D22.md +0 -0
  162. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D23.md +0 -0
  163. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D24.md +0 -0
  164. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D25.md +0 -0
  165. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/BOOST-D26.md +0 -0
  166. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  167. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  168. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  169. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  170. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
  171. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  172. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  173. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  174. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  175. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  176. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  177. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  178. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  179. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  180. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  181. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  182. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  183. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  184. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
  185. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  186. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  187. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  188. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  189. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  190. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  191. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  192. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/command-carousel-page.md +0 -0
  193. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  194. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  195. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  196. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  197. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  198. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  199. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  200. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  201. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  202. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  203. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  204. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  205. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  206. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  207. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  208. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  209. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  210. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  211. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  212. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  213. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
  214. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
  215. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
  216. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
  217. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
  218. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  219. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  220. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  221. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  222. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  223. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  224. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  225. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  226. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  227. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  228. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/github-community-health-files.md +0 -0
  229. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  230. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
  231. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  232. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  233. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  234. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
  235. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  236. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  237. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  238. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  239. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  240. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  241. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  242. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  243. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  244. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  245. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  246. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
  247. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
  248. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  249. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  250. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  251. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  252. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  253. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  254. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  255. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  256. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  257. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  258. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  259. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  260. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  261. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  262. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  263. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  264. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  265. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  266. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  267. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  268. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  269. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  270. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  271. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  272. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  273. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  274. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  275. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  276. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  277. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  278. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  279. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  280. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  281. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  282. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  283. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  284. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  285. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  286. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  287. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  288. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  289. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  290. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  291. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  292. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  293. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  294. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  295. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  296. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  297. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  298. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  299. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  300. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  301. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  302. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  303. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  304. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  305. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  306. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  307. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  308. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  309. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  310. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  311. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  312. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  313. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  314. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  315. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  316. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  317. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  318. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  319. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  320. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  321. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  322. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  323. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
  324. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  325. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  326. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  327. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  328. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  329. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  330. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  331. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  332. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  333. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  334. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  335. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  336. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  337. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  338. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  339. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  340. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  341. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  342. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  343. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  344. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  345. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  346. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  347. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  348. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  349. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  350. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  351. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  352. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  353. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  354. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  355. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  356. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  357. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  358. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  359. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  360. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  361. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  362. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  363. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  364. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  365. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  366. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  367. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  368. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  369. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  370. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/workspace-scope-install.md +0 -0
  371. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  372. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/docs/roadmap.html +0 -0
  373. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/eslint.config.mjs +0 -0
  374. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/evals/README.md +0 -0
  375. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/evals/__init__.py +0 -0
  376. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/evals/baseline.json +0 -0
  377. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/evals/faithfulness.py +0 -0
  378. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/evals/golden_set.json +0 -0
  379. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/evals/make_corpus.py +0 -0
  380. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/evals/make_golden.py +0 -0
  381. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/evals/metrics.py +0 -0
  382. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/evals/run_evals.py +0 -0
  383. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/examples/README.md +0 -0
  384. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/examples/adapt-demo.sh +0 -0
  385. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/examples/boost-run-prototype.sh +0 -0
  386. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/index.html +0 -0
  387. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/noxfile.py +0 -0
  388. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/pyproject.toml +0 -0
  389. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/requirements/coverage-tools.in +0 -0
  390. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/requirements/coverage-tools.txt +0 -0
  391. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/requirements/lint-tools.in +0 -0
  392. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/requirements/lint-tools.txt +0 -0
  393. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/requirements/mutation-tools.in +0 -0
  394. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/requirements/mutation-tools.txt +0 -0
  395. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/requirements/platform-pins.lock +0 -0
  396. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/requirements/release-tools.in +0 -0
  397. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/requirements/release-tools.txt +0 -0
  398. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/requirements/test-tools.in +0 -0
  399. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/requirements/test-tools.txt +0 -0
  400. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/a11y_check.py +0 -0
  401. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/bench_cli.sh +0 -0
  402. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/build_command_reference.py +0 -0
  403. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/build_demo_index.py +0 -0
  404. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/build_registries.py +0 -0
  405. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/build_roadmap.py +0 -0
  406. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/build_scale_corpus.py +0 -0
  407. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/check_anchors.py +0 -0
  408. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/check_licenses.py +0 -0
  409. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/check_required_checks.py +0 -0
  410. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/ensure_eval_corpus.sh +0 -0
  411. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/eval_corpus.py +0 -0
  412. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/eval_explain.py +0 -0
  413. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/eval_gate.py +0 -0
  414. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/eval_recommend.py +0 -0
  415. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/eval_retrieval.py +0 -0
  416. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/eval_stats_summary.py +0 -0
  417. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/import_budget.py +0 -0
  418. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/lock_toolchain.py +0 -0
  419. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/mutation_gate.py +0 -0
  420. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/mutation_shards.py +0 -0
  421. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/mutation_weights.json +0 -0
  422. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/page_budget.py +0 -0
  423. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/perf_gate.py +0 -0
  424. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/post_deploy_smoke.py +0 -0
  425. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/publish_eval_json.py +0 -0
  426. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/release_guard.py +0 -0
  427. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/scripts/release_preflight.py +0 -0
  428. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/setup.cfg +0 -0
  429. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/sonar-project.properties +0 -0
  430. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/style/README.md +0 -0
  431. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/style/boost.css +0 -0
  432. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/style/boost.js +0 -0
  433. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/style/demo.html +0 -0
  434. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/adapt.feature +0 -0
  435. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/browse.feature +0 -0
  436. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/count.feature +0 -0
  437. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/discover.feature +0 -0
  438. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/doctor.feature +0 -0
  439. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/environment.py +0 -0
  440. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/explain.feature +0 -0
  441. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/index.feature +0 -0
  442. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/install.feature +0 -0
  443. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/list.feature +0 -0
  444. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/mcp.feature +0 -0
  445. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/search.feature +0 -0
  446. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/steps/cli_steps.py +0 -0
  447. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/steps/discovery_steps.py +0 -0
  448. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/steps/mcp_steps.py +0 -0
  449. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/bdd/features/steps/quality_steps.py +0 -0
  450. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/conftest.py +0 -0
  451. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/eval/baseline.json +0 -0
  452. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/eval/explain.jsonl +0 -0
  453. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/eval/golden-natural.jsonl +0 -0
  454. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/eval/golden.jsonl +0 -0
  455. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/eval/recommend.jsonl +0 -0
  456. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/eval/taps-scale.txt +0 -0
  457. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/eval/taps.txt +0 -0
  458. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_capabilities_policy.py +0 -0
  459. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_adapt.py +0 -0
  460. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_bmad.py +0 -0
  461. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_chat.py +0 -0
  462. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_discovery.py +0 -0
  463. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_hooks.py +0 -0
  464. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_info.py +0 -0
  465. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_intelligence.py +0 -0
  466. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_pkg.py +0 -0
  467. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_quality.py +0 -0
  468. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_taps.py +0 -0
  469. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_cli_team.py +0 -0
  470. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_everyday_loop.py +0 -0
  471. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_integrity_enforce.py +0 -0
  472. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_property_parsers.py +0 -0
  473. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_run.py +0 -0
  474. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_tap_signing.py +0 -0
  475. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/functional/test_workspace_scope.py +0 -0
  476. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/README.md +0 -0
  477. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  478. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  479. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  480. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  481. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  482. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  483. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  484. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  485. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  486. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  487. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  488. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  489. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  490. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  491. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  492. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  493. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  494. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  495. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  496. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  497. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/fuzz_frontmatter.py +0 -0
  498. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/fuzz/fuzz_registry.py +0 -0
  499. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/make_fixture.py +0 -0
  500. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/perf/test_benchmarks.py +0 -0
  501. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/smoke.sh +0 -0
  502. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_a11y_check.py +0 -0
  503. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_adapters.py +0 -0
  504. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_adapters_multi.py +0 -0
  505. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_adapters_runner.py +0 -0
  506. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_agents.py +0 -0
  507. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_ai.py +0 -0
  508. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_capabilities.py +0 -0
  509. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_catalog.py +0 -0
  510. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_chat.py +0 -0
  511. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_check_anchors.py +0 -0
  512. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_check_licenses.py +0 -0
  513. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_claude_settings.py +0 -0
  514. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_cliparse.py +0 -0
  515. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_codeql_analysis_key.py +0 -0
  516. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_command_reference_fresh.py +0 -0
  517. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_community_health_files.py +0 -0
  518. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_complete.py +0 -0
  519. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_config.py +0 -0
  520. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_content_dedupe.py +0 -0
  521. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_dedup_trust.py +0 -0
  522. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_demo_index.py +0 -0
  523. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_dense.py +0 -0
  524. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_dense_fallback.py +0 -0
  525. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_dense_fix_hint.py +0 -0
  526. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_dense_shards.py +0 -0
  527. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_dense_status.py +0 -0
  528. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_dependabot_config.py +0 -0
  529. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_docs_pages_linked.py +0 -0
  530. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_docsite_chrome.py +0 -0
  531. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_ed25519.py +0 -0
  532. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_embed.py +0 -0
  533. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_embed_local.py +0 -0
  534. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_entry_key.py +0 -0
  535. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_errors_and_cli_table.py +0 -0
  536. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_eval_baseline.py +0 -0
  537. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_eval_corpus.py +0 -0
  538. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_eval_faithfulness.py +0 -0
  539. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_eval_gate.py +0 -0
  540. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_eval_grading.py +0 -0
  541. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_eval_metrics.py +0 -0
  542. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_eval_stats_summary.py +0 -0
  543. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_faithfulness.py +0 -0
  544. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_frontmatter.py +0 -0
  545. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_fuzz_targets.py +0 -0
  546. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_gitleaks_config.py +0 -0
  547. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_gitutil.py +0 -0
  548. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_imperative.py +0 -0
  549. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_import_budget.py +0 -0
  550. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_injectscan.py +0 -0
  551. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_installscan.py +0 -0
  552. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_integrity.py +0 -0
  553. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_journal.py +0 -0
  554. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_localembed.py +0 -0
  555. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_localembed_e2e.py +0 -0
  556. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_lockfile.py +0 -0
  557. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_logs.py +0 -0
  558. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_marketing_counts.py +0 -0
  559. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_mcp.py +0 -0
  560. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_mcp_install_scan.py +0 -0
  561. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_mcpdecl.py +0 -0
  562. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_mcphost.py +0 -0
  563. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_minisign.py +0 -0
  564. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_mutation_hardening.py +0 -0
  565. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_mutation_shards.py +0 -0
  566. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_mutation_subfile_shards.py +0 -0
  567. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_mutmut_source_paths.py +0 -0
  568. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_nethttp.py +0 -0
  569. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_output.py +0 -0
  570. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_page_budget.py +0 -0
  571. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_paths.py +0 -0
  572. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_perf_gate.py +0 -0
  573. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_pkg_confusions.py +0 -0
  574. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_pkg_injection.py +0 -0
  575. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_pkg_secrets.py +0 -0
  576. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_platform_pins.py +0 -0
  577. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_policy.py +0 -0
  578. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_post_deploy_smoke.py +0 -0
  579. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_project_mcp_sidecar.py +0 -0
  580. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_projectlock.py +0 -0
  581. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_provenance.py +0 -0
  582. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_rag.py +0 -0
  583. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_rag_fusion.py +0 -0
  584. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_registries_fresh.py +0 -0
  585. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_registry.py +0 -0
  586. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_registry_categories.py +0 -0
  587. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_release_guard.py +0 -0
  588. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_release_preflight.py +0 -0
  589. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_required_checks.py +0 -0
  590. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_resolve.py +0 -0
  591. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_roadmap_fresh.py +0 -0
  592. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_rules.py +0 -0
  593. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_scale_corpus.py +0 -0
  594. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_scopes.py +0 -0
  595. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_secretscan.py +0 -0
  596. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_selfupdate.py +0 -0
  597. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_serve.py +0 -0
  598. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_spin.py +0 -0
  599. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_stackprobe.py +0 -0
  600. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_staleness.py +0 -0
  601. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_store.py +0 -0
  602. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_token_parity.py +0 -0
  603. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_toolchain_lock.py +0 -0
  604. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_trustaudit.py +0 -0
  605. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_typosquat.py +0 -0
  606. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_updatediff.py +0 -0
  607. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_util.py +0 -0
  608. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_version.py +0 -0
  609. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_workflow_concurrency.py +0 -0
  610. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_workflow_timeouts.py +0 -0
  611. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/unit/test_workflows.py +0 -0
  612. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/visual/a11y_check.mjs +0 -0
  613. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/visual/console_check.mjs +0 -0
  614. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/visual/package-lock.json +0 -0
  615. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/visual/package.json +0 -0
  616. {boost_skill_cli-1.0.387 → boost_skill_cli-1.0.388}/tests/visual/visual_check.mjs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.387
3
+ Version: 1.0.388
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '1.0.387'
22
- __version_tuple__ = version_tuple = (1, 0, 387)
21
+ __version__ = version = '1.0.388'
22
+ __version_tuple__ = version_tuple = (1, 0, 388)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -960,16 +960,22 @@ def _tool_discover_github(args: dict):
960
960
  # miss protocol rather than deferring to the server instructions.
961
961
  REGISTRY.register(
962
962
  "boost_search",
963
- "Check whether someone already wrote down how to do this. Searches "
964
- "thousands of vetted, installable AI-agent skills across the configured "
965
- "registries and returns ranked matches. Worth one call whenever the task "
966
- "in front of you has a name you could say out loud — \"set up code "
967
- "review\", \"add commit conventions\", \"debug flaky tests\" — and before "
968
- "writing a skill, subagent, slash-command or rule from scratch. Read-only, "
969
- "no side effects, installs nothing. Takes a few seconds because it ranks "
970
- "the matches with an LLM, which is what makes the top result worth acting "
971
- "on. Returning nothing relevant is a fine answer: it means build it "
972
- "yourself.",
963
+ "Someone has probably solved this already — one call tells you. Searches "
964
+ "every installable AI-agent skill in every registry you have "
965
+ "tapped and returns ranked matches: each one a procedure a "
966
+ "practitioner already worked out, debugged and wrote down, edge cases "
967
+ "included. Reach for it the moment the task in front of you has a name you "
968
+ "could say out loud — \"set up code review\", \"add commit conventions\", "
969
+ "\"debug flaky tests\" — and before writing a skill, subagent, "
970
+ "slash-command or rule from scratch. Read-only where it counts: it "
971
+ "installs nothing and touches nothing you are working on, though the first "
972
+ "search builds a local index under ~/.boost. A hit commits you to nothing "
973
+ "either: take what fits, discard the rest, the task stays yours. It costs "
974
+ "10-15 seconds — an LLM reranks every match, which is what makes the top "
975
+ "result worth acting on rather than skimming. Worth budgeting for, not a "
976
+ "surprise. Coming back empty is a real answer too, not a "
977
+ "wasted turn: it means build it yourself, now knowing nothing already "
978
+ "covers it.",
973
979
  {"type": "object",
974
980
  "properties": {"query": {"type": "string",
975
981
  "description": "what the skill should do (a task, "
@@ -978,43 +984,60 @@ REGISTRY.register(
978
984
  _tool_search)
979
985
  REGISTRY.register(
980
986
  "boost_list",
981
- "The skills already installed on this machine and usable right now — "
982
- "capability you have but may not know about. Read-only, instant, installs "
983
- "nothing. Worth a call at the start of any task that will take more than a "
984
- "few steps, before planning it from memory.",
987
+ "The skills already installed on this machine and usable this second — "
988
+ "capability you own and may not know you own. Read-only, instant, installs "
989
+ "nothing. Worth a call at the start of "
990
+ "anything that will take more than a few steps: planning from memory while "
991
+ "the answer already sits on disk is the one avoidable mistake here.",
985
992
  {"type": "object", "properties": {}},
986
993
  _tool_list)
987
994
  REGISTRY.register(
988
995
  "boost_info",
989
- "Look up one skill by name: description, source tap, version, and whether "
990
- "it is already installed. Use it when you have a name from somewhere else "
991
- "and want the details. You do not need this between a search and an "
992
- "install — boost_search already returns each match's description.",
996
+ "The whole picture of one skill by name — what it does, the tap it came "
997
+ "from, its version, and whether it is already installed — so you can "
998
+ "commit or move on without guessing. Reach for it when a name arrives from "
999
+ "somewhere else: a teammate, a README, a repo you are reading. You do not "
1000
+ "need this between a search and an install — boost_search already returns "
1001
+ "each match's description.",
993
1002
  {"type": "object",
994
1003
  "properties": {"name": {"type": "string", "description": "skill name"}},
995
1004
  "required": ["name"]},
996
1005
  _tool_info)
997
1006
  REGISTRY.register(
998
1007
  "boost_install",
999
- "Install a skill found via boost_search — copies it into the canonical store "
1000
- "and wires it into every agent (Claude Code, Cursor, Windsurf) automatically. "
1001
- "Prefer this over pasting instructions by hand: it is version-tracked, "
1002
- "reusable, and shareable with your team.",
1008
+ "Turn a skill you found with boost_search into permanent capability: copied "
1009
+ "into the canonical store and wired into every agent you have enabled, in "
1010
+ "one step — Claude Code, Cursor and Windsurf by symlink, Gemini CLI by "
1011
+ "reading that same store directly. Prefer it to pasting instructions into "
1012
+ "a prompt, which lasts one "
1013
+ "session and helps nobody else: an installed skill is version-tracked, "
1014
+ "survives restarts, updates cleanly, and your team can install the "
1015
+ "identical thing by name. Worth knowing before you call it: boost_search "
1016
+ "also returns rules, and installing a rule copies nothing into the store — "
1017
+ "it merges into the context file your agent loads every session, which is "
1018
+ "the more invasive change. Check what kind of thing you are installing.",
1003
1019
  {"type": "object",
1004
1020
  "properties": {"name": {"type": "string", "description": "skill name"}},
1005
1021
  "required": ["name"]},
1006
1022
  _tool_install)
1007
1023
  REGISTRY.register(
1008
1024
  "boost_doctor",
1009
- "Health-check the boost skill environment (installed skills, symlinks, taps) "
1010
- "— run when installed skills seem missing or misbehaving.",
1025
+ "Prove the skills you think are installed are actually usable. Reports how "
1026
+ "many skills are installed, how many taps and skills are reachable, and "
1027
+ "anything the store and the lock file disagree about — and when they do "
1028
+ "disagree it points at the next action, `boost sync` — though some classes "
1029
+ "need `boost sync --prune` — rather than leaving you a "
1030
+ "symptom. Worth a call when a skill does not seem to be loading, or before "
1031
+ "you rely on one for something that matters.",
1011
1032
  {"type": "object", "properties": {}},
1012
1033
  _tool_doctor)
1013
1034
  REGISTRY.register(
1014
1035
  "boost_discover_github",
1015
- "Reach beyond the tapped registries: when boost_search turns up nothing "
1016
- "relevant, discover new SKILL.md repositories on GitHub to grow the corpus "
1017
- "(needs the `gh` CLI; degrades to a hint when unavailable).",
1036
+ "The move when boost_search comes back empty: search GitHub itself for "
1037
+ "SKILL.md repositories nobody here has tapped yet, and get back registries "
1038
+ "you can add to widen every future search. An empty result means the corpus "
1039
+ "has not caught up yet, not that the problem is unsolved (needs the `gh` "
1040
+ "CLI; degrades to a hint when unavailable).",
1018
1041
  {"type": "object",
1019
1042
  "properties": {
1020
1043
  "query": {"type": "string",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.387
3
+ Version: 1.0.388
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -990,6 +990,92 @@ class TestMcp:
990
990
  assert "by name" in specs["boost_info"]
991
991
  assert "do not need this between a search and an install" in specs["boost_info"]
992
992
 
993
+ def test_tool_descriptions_earn_the_call_without_overselling_it(self, sandbox):
994
+ # The descriptions were rewritten to pull harder, because on Gemini CLI
995
+ # they are the only boost text at the decision point. Pulling harder is
996
+ # allowed to cost accuracy in exactly zero places, so this pins the
997
+ # parts that make the pull legitimate rather than merely loud.
998
+ from boost_cli.commands import configuration
999
+ specs = {s["name"]: s["description"].lower()
1000
+ for s in configuration.REGISTRY.specs()}
1001
+
1002
+ # The rerank figures stay OUT of the tool description, deliberately.
1003
+ # They are real -- _tool_search's own comment records "the rerank moves
1004
+ # hit@1 from 0.791 to 0.945" on the 91-query golden set, which is where
1005
+ # mcp.INSTRUCTIONS' "95% against 79%" comes from -- but 0.791 is the
1006
+ # BM25 baseline over the SIX-repo corpus, and tests/eval/baseline.json
1007
+ # records 0.4725 for the twenty-repo corpus that replaced it precisely
1008
+ # because six was unrealistically small (see CLAUDE.md). Quoting 79%
1009
+ # as today's baseline overstates it by 31 points. A number that precise
1010
+ # at the decision point, drifted from the corpus it was measured on, is
1011
+ # the flattering-but-stale claim the cost test below exists to prevent.
1012
+ # State the mechanism; leave the arithmetic to the eval gate.
1013
+ assert "95%" not in specs["boost_search"]
1014
+ # Stating the benefit must never quietly drop the cost with it.
1015
+ # A description whose job is to make a tool worth reaching for is the
1016
+ # one place a flattering lie discredits everything around it.
1017
+ assert "seconds" in specs["boost_search"]
1018
+ assert "instant" not in specs["boost_search"]
1019
+ for bad in ("always call", "you must", "never skip"):
1020
+ assert bad not in specs["boost_search"], (
1021
+ "coercive framing: an agent that is ordered rather than "
1022
+ "persuaded routes around the tool the first time it misses")
1023
+
1024
+ # Non-capture moved onto the tool itself for the same Gemini reason: an
1025
+ # agent that expects a hit to seize the task is safer not looking.
1026
+ assert "the task stays yours" in specs["boost_search"]
1027
+
1028
+ # No claimed corpus size. "thousands of vetted skills" shipped for a
1029
+ # long time and is false exactly when it matters most — at a new user's
1030
+ # first search. config.DEFAULT_TAPS is five repos totalling 76
1031
+ # est_items; the tens of thousands only exist once someone has tapped
1032
+ # hundreds of registries. Describe the scope ("every registry you have
1033
+ # tapped"), never a number the install cannot back.
1034
+ assert "thousands" not in specs["boost_search"]
1035
+
1036
+ # install wires ENABLED agents, not all known ones (agents.py:28) --
1037
+ # promising "every agent" writes a cheque the enabled-flag can bounce.
1038
+ assert "enabled" in specs["boost_install"]
1039
+
1040
+ # doctor used to describe only its inputs. What makes it worth a call
1041
+ # is that it ends at an action, not a symptom -- but `boost sync` is
1042
+ # not that action for every class it counts: out_of_scope_links is
1043
+ # "reported, never auto-removed" (store.sync_plan) and needs --prune,
1044
+ # so the description has to carry the exception or an agent runs the
1045
+ # named fix and watches the issue survive it.
1046
+ assert "next action" in specs["boost_doctor"]
1047
+ assert "--prune" in specs["boost_doctor"]
1048
+
1049
+ # Ship the real cost. docs/roadmap/items/mcp-search-cost-was-
1050
+ # understated.md measured this path at 11.7-17.0s (median ~12) and
1051
+ # exists because "about a second" shipped once already; "a few seconds"
1052
+ # is the same understatement wearing a vaguer hat.
1053
+ assert "10-15 seconds" in specs["boost_search"]
1054
+ assert "a few seconds" not in specs["boost_search"]
1055
+
1056
+ # "vetted" claims item-level curation boost does not do: registries
1057
+ # carry curated/confidence, individual skills do not, any repo can be
1058
+ # tapped, and _tool_install scans every install for prompt injection
1059
+ # and tells the caller to read it before acting on it. A description
1060
+ # cannot promise vetting the install path explicitly distrusts.
1061
+ assert "vetted" not in specs["boost_search"]
1062
+
1063
+ # _tool_search passes no kind filter, so a match can be a RULE, and
1064
+ # _install_rule merges into ~/.claude/CLAUDE.md instead of copying into
1065
+ # the store. CLAUDE.md calls that more invasive than a skill; the
1066
+ # description must not imply every install is a benign file copy.
1067
+ assert "rule" in specs["boost_install"]
1068
+
1069
+ # discover exists to stop an empty search reading as "nobody solved
1070
+ # this" -- the reading that makes an agent give up rather than widen.
1071
+ assert "empty" in specs["boost_discover_github"]
1072
+
1073
+ # install is the one place an agent gets the mechanism wrong: Gemini is
1074
+ # NOT symlinked, it reads the canonical store directly, and a
1075
+ # description that implies four symlinks teaches a wrong mental model.
1076
+ assert "gemini" in specs["boost_install"]
1077
+ assert "directly" in specs["boost_install"]
1078
+
993
1079
  def test_discover_github_missing_gh_degrades(self, sandbox, monkeypatch):
994
1080
  from boost_cli.commands import configuration
995
1081
  monkeypatch.setattr("boost_cli.commands.configuration.shutil.which",