boost-skill-cli 1.0.375__tar.gz → 1.0.376__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 (608) hide show
  1. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/CLAUDE.md +1 -1
  2. {boost_skill_cli-1.0.375/boost_skill_cli.egg-info → boost_skill_cli-1.0.376}/PKG-INFO +4 -4
  3. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/README.md +3 -3
  4. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/_version.py +2 -2
  5. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/cli.py +0 -1
  6. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/pkg.py +2 -84
  7. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/store.py +1 -1
  8. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376/boost_skill_cli.egg-info}/PKG-INFO +4 -4
  9. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel.html +2 -2
  10. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/commands.html +2 -15
  11. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/index.html +4 -5
  12. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_pkg.py +2 -94
  13. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_everyday_loop.py +1 -1
  14. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/smoke.sh +0 -1
  15. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_errors_and_cli_table.py +6 -6
  16. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_store.py +1 -1
  17. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.gitattributes +0 -0
  18. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.gitignore +0 -0
  19. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.gitleaks.toml +0 -0
  20. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.htmlvalidate.json +0 -0
  21. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.lighthouserc.json +0 -0
  22. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.lycheeignore +0 -0
  23. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.markdownlint-cli2.jsonc +0 -0
  24. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.pre-commit-config.yaml +0 -0
  25. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.stylelintrc.json +0 -0
  26. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.vale/styles/boost/Terminology.yml +0 -0
  27. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  28. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/.vale.ini +0 -0
  29. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/CODE_OF_CONDUCT.md +0 -0
  30. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/CONTRIBUTING.md +0 -0
  31. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/LICENSE +0 -0
  32. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/MANIFEST.in +0 -0
  33. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/Makefile +0 -0
  34. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/SECURITY.md +0 -0
  35. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost +0 -0
  36. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/__init__.py +0 -0
  37. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/__main__.py +0 -0
  38. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/cliparse.py +0 -0
  39. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/__init__.py +0 -0
  40. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/_common.py +0 -0
  41. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/bmad.py +0 -0
  42. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/configuration.py +0 -0
  43. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/discovery.py +0 -0
  44. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/hooks.py +0 -0
  45. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/info.py +0 -0
  46. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/intelligence.py +0 -0
  47. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/quality.py +0 -0
  48. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/run.py +0 -0
  49. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/safety.py +0 -0
  50. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/taps.py +0 -0
  51. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/commands/team.py +0 -0
  52. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/__init__.py +0 -0
  53. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/adapters.py +0 -0
  54. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/agents.py +0 -0
  55. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/ai.py +0 -0
  56. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/capabilities.py +0 -0
  57. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/catalog.py +0 -0
  58. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/chat.py +0 -0
  59. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/claude_settings.py +0 -0
  60. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/complete.py +0 -0
  61. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/config.py +0 -0
  62. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/dense.py +0 -0
  63. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/ed25519.py +0 -0
  64. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/embed.py +0 -0
  65. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/faithfulness.py +0 -0
  66. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/frontmatter.py +0 -0
  67. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/gitutil.py +0 -0
  68. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/imperative.py +0 -0
  69. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/injectscan.py +0 -0
  70. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/installscan.py +0 -0
  71. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/integrity.py +0 -0
  72. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/journal.py +0 -0
  73. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/localembed.py +0 -0
  74. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/lockfile.py +0 -0
  75. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/logs.py +0 -0
  76. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/mcp.py +0 -0
  77. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/mcpdecl.py +0 -0
  78. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/mcphost.py +0 -0
  79. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/minisign.py +0 -0
  80. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/nethttp.py +0 -0
  81. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/output.py +0 -0
  82. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/paths.py +0 -0
  83. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/policy.py +0 -0
  84. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/projectlock.py +0 -0
  85. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/provenance.py +0 -0
  86. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/rag.py +0 -0
  87. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/registry.py +0 -0
  88. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/resolve.py +0 -0
  89. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/rules.py +0 -0
  90. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/scopes.py +0 -0
  91. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/secretscan.py +0 -0
  92. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/selfupdate.py +0 -0
  93. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/serve.py +0 -0
  94. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/stackprobe.py +0 -0
  95. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/staleness.py +0 -0
  96. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/trustaudit.py +0 -0
  97. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/typosquat.py +0 -0
  98. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/updatediff.py +0 -0
  99. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/util.py +0 -0
  100. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/core/workflows.py +0 -0
  101. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/data/registries.json +0 -0
  102. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/errors.py +0 -0
  103. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_cli/spin.py +0 -0
  104. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
  105. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  106. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  107. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_skill_cli.egg-info/requires.txt +0 -0
  108. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/boost_skill_cli.egg-info/top_level.txt +0 -0
  109. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/codecov.yml +0 -0
  110. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/.claude/settings.local.json +0 -0
  111. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/DEBUGGING.md +0 -0
  112. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/adapters.html +0 -0
  113. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/architecture/README.md +0 -0
  114. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/architecture/c4-components-core.md +0 -0
  115. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/architecture/c4-containers.md +0 -0
  116. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/architecture/c4-context.md +0 -0
  117. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/architecture/c4-dynamic-install.md +0 -0
  118. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/gifs/distill.gif +0 -0
  119. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/gifs/doctor.gif +0 -0
  120. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/gifs/explain.gif +0 -0
  121. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/gifs/hooks.gif +0 -0
  122. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/gifs/install.gif +0 -0
  123. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/gifs/pulse.gif +0 -0
  124. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/gifs/search.gif +0 -0
  125. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/gifs/tap.gif +0 -0
  126. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/tapes/distill.tape +0 -0
  127. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/tapes/doctor.tape +0 -0
  128. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/tapes/explain.tape +0 -0
  129. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/tapes/hooks.tape +0 -0
  130. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/tapes/install.tape +0 -0
  131. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/tapes/pulse.tape +0 -0
  132. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/tapes/search.tape +0 -0
  133. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/carousel/tapes/tap.tape +0 -0
  134. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/chat.html +0 -0
  135. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/demo-index.json +0 -0
  136. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/demo.gif +0 -0
  137. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/demo.html +0 -0
  138. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/demo.tape +0 -0
  139. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/design-roadmap.html +0 -0
  140. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/eval-latest.json +0 -0
  141. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/eval.html +0 -0
  142. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/mcp-hub.html +0 -0
  143. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/rag-architecture.md +0 -0
  144. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D01.md +0 -0
  145. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D02.md +0 -0
  146. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D03.md +0 -0
  147. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D04.md +0 -0
  148. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D05.md +0 -0
  149. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D06.md +0 -0
  150. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D07.md +0 -0
  151. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D08.md +0 -0
  152. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D09.md +0 -0
  153. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D10.md +0 -0
  154. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D11.md +0 -0
  155. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D12.md +0 -0
  156. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D13.md +0 -0
  157. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D14.md +0 -0
  158. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D15.md +0 -0
  159. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D16.md +0 -0
  160. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D17.md +0 -0
  161. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D18.md +0 -0
  162. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D19.md +0 -0
  163. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D20.md +0 -0
  164. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D21.md +0 -0
  165. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D22.md +0 -0
  166. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D23.md +0 -0
  167. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D24.md +0 -0
  168. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D25.md +0 -0
  169. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/BOOST-D26.md +0 -0
  170. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  171. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  172. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  173. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  174. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  175. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  176. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  177. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  178. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  179. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  180. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  181. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  182. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  183. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  184. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  185. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  186. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  187. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
  188. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  189. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  190. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  191. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  192. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  193. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  194. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  195. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/command-carousel-page.md +0 -0
  196. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  197. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  198. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  199. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  200. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  201. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  202. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  203. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  204. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  205. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  206. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  207. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  208. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  209. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  210. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  211. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  212. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  213. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  214. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  215. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  216. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
  217. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
  218. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
  219. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
  220. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
  221. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  222. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  223. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  224. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  225. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  226. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  227. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  228. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  229. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  230. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  231. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/github-community-health-files.md +0 -0
  232. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  233. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
  234. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  235. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  236. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  237. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
  238. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  239. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  240. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  241. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  242. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  243. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  244. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  245. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  246. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  247. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  248. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  249. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  250. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  251. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  252. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  253. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  254. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  255. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  256. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  257. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  258. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  259. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  260. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  261. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  262. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  263. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  264. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  265. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  266. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  267. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  268. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  269. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  270. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  271. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  272. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  273. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  274. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  275. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  276. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  277. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  278. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  279. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  280. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  281. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  282. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  283. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  284. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  285. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  286. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  287. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  288. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  289. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  290. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  291. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  292. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  293. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  294. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  295. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  296. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  297. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  298. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  299. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  300. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  301. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  302. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  303. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  304. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  305. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  306. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  307. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  308. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  309. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  310. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  311. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  312. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  313. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  314. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  315. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  316. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  317. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  318. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  319. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  320. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  321. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  322. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  323. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  324. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
  325. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  326. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  327. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  328. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  329. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  330. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  331. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  332. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  333. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  334. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  335. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  336. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  337. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  338. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  339. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  340. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  341. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  342. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  343. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  344. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  345. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  346. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  347. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  348. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  349. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  350. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  351. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  352. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  353. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  354. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  355. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  356. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  357. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  358. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  359. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  360. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  361. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  362. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  363. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  364. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  365. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  366. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  367. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  368. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  369. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  370. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  371. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/workspace-scope-install.md +0 -0
  372. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  373. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/docs/roadmap.html +0 -0
  374. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/eslint.config.mjs +0 -0
  375. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/evals/README.md +0 -0
  376. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/evals/__init__.py +0 -0
  377. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/evals/baseline.json +0 -0
  378. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/evals/faithfulness.py +0 -0
  379. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/evals/golden_set.json +0 -0
  380. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/evals/make_corpus.py +0 -0
  381. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/evals/make_golden.py +0 -0
  382. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/evals/metrics.py +0 -0
  383. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/evals/run_evals.py +0 -0
  384. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/examples/README.md +0 -0
  385. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/examples/adapt-demo.sh +0 -0
  386. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/examples/boost-run-prototype.sh +0 -0
  387. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/index.html +0 -0
  388. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/noxfile.py +0 -0
  389. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/pyproject.toml +0 -0
  390. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/requirements/coverage-tools.in +0 -0
  391. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/requirements/coverage-tools.txt +0 -0
  392. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/requirements/lint-tools.in +0 -0
  393. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/requirements/lint-tools.txt +0 -0
  394. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/requirements/mutation-tools.in +0 -0
  395. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/requirements/mutation-tools.txt +0 -0
  396. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/requirements/platform-pins.lock +0 -0
  397. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/requirements/release-tools.in +0 -0
  398. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/requirements/release-tools.txt +0 -0
  399. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/requirements/test-tools.in +0 -0
  400. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/requirements/test-tools.txt +0 -0
  401. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/a11y_check.py +0 -0
  402. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/bench_cli.sh +0 -0
  403. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/build_command_reference.py +0 -0
  404. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/build_demo_index.py +0 -0
  405. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/build_registries.py +0 -0
  406. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/build_roadmap.py +0 -0
  407. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/check_anchors.py +0 -0
  408. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/check_licenses.py +0 -0
  409. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/check_required_checks.py +0 -0
  410. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/ensure_eval_corpus.sh +0 -0
  411. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/eval_corpus.py +0 -0
  412. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/eval_explain.py +0 -0
  413. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/eval_gate.py +0 -0
  414. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/eval_recommend.py +0 -0
  415. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/eval_retrieval.py +0 -0
  416. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/eval_stats_summary.py +0 -0
  417. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/import_budget.py +0 -0
  418. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/lock_toolchain.py +0 -0
  419. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/mutation_gate.py +0 -0
  420. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/mutation_shards.py +0 -0
  421. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/mutation_weights.json +0 -0
  422. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/perf_gate.py +0 -0
  423. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/post_deploy_smoke.py +0 -0
  424. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/publish_eval_json.py +0 -0
  425. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/release_guard.py +0 -0
  426. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/scripts/release_preflight.py +0 -0
  427. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/setup.cfg +0 -0
  428. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/sonar-project.properties +0 -0
  429. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/style/README.md +0 -0
  430. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/style/boost.css +0 -0
  431. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/style/boost.js +0 -0
  432. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/style/demo.html +0 -0
  433. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/adapt.feature +0 -0
  434. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/browse.feature +0 -0
  435. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/count.feature +0 -0
  436. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/discover.feature +0 -0
  437. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/doctor.feature +0 -0
  438. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/environment.py +0 -0
  439. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/explain.feature +0 -0
  440. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/index.feature +0 -0
  441. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/install.feature +0 -0
  442. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/list.feature +0 -0
  443. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/mcp.feature +0 -0
  444. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/search.feature +0 -0
  445. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/steps/cli_steps.py +0 -0
  446. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/steps/discovery_steps.py +0 -0
  447. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/steps/mcp_steps.py +0 -0
  448. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/bdd/features/steps/quality_steps.py +0 -0
  449. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/conftest.py +0 -0
  450. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/eval/baseline.json +0 -0
  451. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/eval/explain.jsonl +0 -0
  452. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/eval/golden-natural.jsonl +0 -0
  453. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/eval/golden.jsonl +0 -0
  454. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/eval/recommend.jsonl +0 -0
  455. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/eval/taps.txt +0 -0
  456. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_capabilities_policy.py +0 -0
  457. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_adapt.py +0 -0
  458. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_bmad.py +0 -0
  459. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_chat.py +0 -0
  460. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_configuration.py +0 -0
  461. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_discovery.py +0 -0
  462. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_hooks.py +0 -0
  463. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_info.py +0 -0
  464. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_intelligence.py +0 -0
  465. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_quality.py +0 -0
  466. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_taps.py +0 -0
  467. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_cli_team.py +0 -0
  468. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_integrity_enforce.py +0 -0
  469. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_property_parsers.py +0 -0
  470. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_run.py +0 -0
  471. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_tap_signing.py +0 -0
  472. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/functional/test_workspace_scope.py +0 -0
  473. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/README.md +0 -0
  474. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  475. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  476. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  477. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  478. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  479. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  480. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  481. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  482. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  483. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  484. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  485. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  486. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  487. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  488. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  489. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  490. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  491. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  492. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  493. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  494. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/fuzz_frontmatter.py +0 -0
  495. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/fuzz/fuzz_registry.py +0 -0
  496. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/make_fixture.py +0 -0
  497. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/perf/test_benchmarks.py +0 -0
  498. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_a11y_check.py +0 -0
  499. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_adapters.py +0 -0
  500. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_adapters_multi.py +0 -0
  501. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_adapters_runner.py +0 -0
  502. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_agents.py +0 -0
  503. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_ai.py +0 -0
  504. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_capabilities.py +0 -0
  505. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_catalog.py +0 -0
  506. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_chat.py +0 -0
  507. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_check_anchors.py +0 -0
  508. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_check_licenses.py +0 -0
  509. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_claude_settings.py +0 -0
  510. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_cliparse.py +0 -0
  511. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_codeql_analysis_key.py +0 -0
  512. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_command_reference_fresh.py +0 -0
  513. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_community_health_files.py +0 -0
  514. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_complete.py +0 -0
  515. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_config.py +0 -0
  516. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_content_dedupe.py +0 -0
  517. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_dedup_trust.py +0 -0
  518. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_demo_index.py +0 -0
  519. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_dense.py +0 -0
  520. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_dense_fallback.py +0 -0
  521. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_dense_fix_hint.py +0 -0
  522. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_dense_shards.py +0 -0
  523. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_dense_status.py +0 -0
  524. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_dependabot_config.py +0 -0
  525. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_docs_pages_linked.py +0 -0
  526. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_docsite_chrome.py +0 -0
  527. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_ed25519.py +0 -0
  528. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_embed.py +0 -0
  529. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_embed_local.py +0 -0
  530. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_entry_key.py +0 -0
  531. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_eval_baseline.py +0 -0
  532. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_eval_corpus.py +0 -0
  533. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_eval_faithfulness.py +0 -0
  534. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_eval_gate.py +0 -0
  535. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_eval_grading.py +0 -0
  536. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_eval_metrics.py +0 -0
  537. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_eval_stats_summary.py +0 -0
  538. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_faithfulness.py +0 -0
  539. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_frontmatter.py +0 -0
  540. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_fuzz_targets.py +0 -0
  541. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_gitleaks_config.py +0 -0
  542. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_gitutil.py +0 -0
  543. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_imperative.py +0 -0
  544. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_import_budget.py +0 -0
  545. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_injectscan.py +0 -0
  546. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_installscan.py +0 -0
  547. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_integrity.py +0 -0
  548. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_journal.py +0 -0
  549. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_localembed.py +0 -0
  550. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_localembed_e2e.py +0 -0
  551. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_lockfile.py +0 -0
  552. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_logs.py +0 -0
  553. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_marketing_counts.py +0 -0
  554. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_mcp.py +0 -0
  555. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_mcp_install_scan.py +0 -0
  556. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_mcpdecl.py +0 -0
  557. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_mcphost.py +0 -0
  558. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_minisign.py +0 -0
  559. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_mutation_hardening.py +0 -0
  560. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_mutation_shards.py +0 -0
  561. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_mutation_subfile_shards.py +0 -0
  562. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_mutmut_source_paths.py +0 -0
  563. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_nethttp.py +0 -0
  564. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_output.py +0 -0
  565. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_paths.py +0 -0
  566. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_perf_gate.py +0 -0
  567. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_pkg_confusions.py +0 -0
  568. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_pkg_injection.py +0 -0
  569. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_pkg_secrets.py +0 -0
  570. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_platform_pins.py +0 -0
  571. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_policy.py +0 -0
  572. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_post_deploy_smoke.py +0 -0
  573. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_project_mcp_sidecar.py +0 -0
  574. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_projectlock.py +0 -0
  575. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_provenance.py +0 -0
  576. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_rag.py +0 -0
  577. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_rag_fusion.py +0 -0
  578. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_registries_fresh.py +0 -0
  579. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_registry.py +0 -0
  580. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_registry_categories.py +0 -0
  581. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_release_guard.py +0 -0
  582. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_release_preflight.py +0 -0
  583. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_required_checks.py +0 -0
  584. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_resolve.py +0 -0
  585. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_roadmap_fresh.py +0 -0
  586. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_rules.py +0 -0
  587. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_scopes.py +0 -0
  588. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_secretscan.py +0 -0
  589. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_selfupdate.py +0 -0
  590. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_serve.py +0 -0
  591. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_spin.py +0 -0
  592. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_stackprobe.py +0 -0
  593. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_staleness.py +0 -0
  594. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_token_parity.py +0 -0
  595. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_toolchain_lock.py +0 -0
  596. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_trustaudit.py +0 -0
  597. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_typosquat.py +0 -0
  598. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_updatediff.py +0 -0
  599. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_util.py +0 -0
  600. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_version.py +0 -0
  601. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_workflow_concurrency.py +0 -0
  602. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_workflow_timeouts.py +0 -0
  603. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/unit/test_workflows.py +0 -0
  604. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/visual/a11y_check.mjs +0 -0
  605. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/visual/console_check.mjs +0 -0
  606. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/visual/package-lock.json +0 -0
  607. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/visual/package.json +0 -0
  608. {boost_skill_cli-1.0.375 → boost_skill_cli-1.0.376}/tests/visual/visual_check.mjs +0 -0
@@ -199,7 +199,7 @@ for both — edit items, run `build_roadmap.py`, never touch the HTML by hand.
199
199
  ## Architecture
200
200
 
201
201
  **CLI dispatch.** `boost_cli/cli.py` holds `COMMANDS`, the single
202
- source-of-truth list of `(name, group, module, summary)` for all 79 commands.
202
+ source-of-truth list of `(name, group, module, summary)` for all 78 commands.
203
203
  Each command is implemented as `def cmd_<name_with_underscores>(argv) -> int`
204
204
  inside `boost_cli/commands/<module>.py`, and `_dispatch` imports that module
205
205
  lazily on invocation — so `boost --help` stays instant and command modules are
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.375
3
+ Version: 1.0.376
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -927,7 +927,7 @@ boost doctor # sanity check: broken links, lock drift, stale taps
927
927
  boost bundle dump > Boostfile # everyone else runs: boost bundle install
928
928
  ```
929
929
 
930
- ## 79 commands, organized into 8 groups
930
+ ## 78 commands, organized into 8 groups
931
931
 
932
932
  `boost --help` prints the full grouped command list; for a visual tour see
933
933
  [`docs/index.html`](docs/index.html), and for every flag of every command see
@@ -939,7 +939,7 @@ install path — see [`docs/architecture/`](docs/architecture/README.md).
939
939
 
940
940
  | Group | Commands |
941
941
  |---|---|
942
- | **Package Management** | install · uninstall · sync · update · reinstall · bundle · import · migrate · pin · unpin · snapshot · export · adapt · run |
942
+ | **Package Management** | install · uninstall · sync · update · reinstall · bundle · import · pin · unpin · snapshot · export · adapt · run |
943
943
  | **Discovery & Search** | search · reindex · discover · recommend · browse · index · trending · stats · count |
944
944
  | **Skill Information** | list · info · cat · edit · preview · explain · log · home · deps · tag |
945
945
  | **Registry (Taps)** | tap · untap · taps · outdated |
@@ -1082,7 +1082,7 @@ Four layers, all enforced (`make check` runs the full set; CI runs the same thin
1082
1082
 
1083
1083
  | Layer | What it does | Gate |
1084
1084
  |---|---|---|
1085
- | `make test` | pytest across `tests/unit/` (every core module) and `tests/functional/` (drives all 79 commands in-process against sandboxed homes) | **≥80% line coverage** of `boost_cli` (`fail_under` in pyproject.toml) |
1085
+ | `make test` | pytest across `tests/unit/` (every core module) and `tests/functional/` (drives all 78 commands in-process against sandboxed homes) | **≥80% line coverage** of `boost_cli` (`fail_under` in pyproject.toml) |
1086
1086
  | `make smoke` | `tests/smoke.sh` — 170 checks run through the actual `./boost` shim (`--online` also hits real registries) | all pass |
1087
1087
  | `make mutation` | [mutmut] mutates `boost_cli/core` (~9,900 mutants) and reruns the unit suite against each one | **≥80% killed** (`scripts/mutation_gate.py`) |
1088
1088
  | `make evals` | scores the search ranker on a graded golden set — recall@5/@10, MRR, nDCG@5/@10 | **metric floors + no statistically significant regression** (`scripts/eval_gate.py`) |
@@ -209,7 +209,7 @@ boost doctor # sanity check: broken links, lock drift, stale taps
209
209
  boost bundle dump > Boostfile # everyone else runs: boost bundle install
210
210
  ```
211
211
 
212
- ## 79 commands, organized into 8 groups
212
+ ## 78 commands, organized into 8 groups
213
213
 
214
214
  `boost --help` prints the full grouped command list; for a visual tour see
215
215
  [`docs/index.html`](docs/index.html), and for every flag of every command see
@@ -221,7 +221,7 @@ install path — see [`docs/architecture/`](docs/architecture/README.md).
221
221
 
222
222
  | Group | Commands |
223
223
  |---|---|
224
- | **Package Management** | install · uninstall · sync · update · reinstall · bundle · import · migrate · pin · unpin · snapshot · export · adapt · run |
224
+ | **Package Management** | install · uninstall · sync · update · reinstall · bundle · import · pin · unpin · snapshot · export · adapt · run |
225
225
  | **Discovery & Search** | search · reindex · discover · recommend · browse · index · trending · stats · count |
226
226
  | **Skill Information** | list · info · cat · edit · preview · explain · log · home · deps · tag |
227
227
  | **Registry (Taps)** | tap · untap · taps · outdated |
@@ -364,7 +364,7 @@ Four layers, all enforced (`make check` runs the full set; CI runs the same thin
364
364
 
365
365
  | Layer | What it does | Gate |
366
366
  |---|---|---|
367
- | `make test` | pytest across `tests/unit/` (every core module) and `tests/functional/` (drives all 79 commands in-process against sandboxed homes) | **≥80% line coverage** of `boost_cli` (`fail_under` in pyproject.toml) |
367
+ | `make test` | pytest across `tests/unit/` (every core module) and `tests/functional/` (drives all 78 commands in-process against sandboxed homes) | **≥80% line coverage** of `boost_cli` (`fail_under` in pyproject.toml) |
368
368
  | `make smoke` | `tests/smoke.sh` — 170 checks run through the actual `./boost` shim (`--online` also hits real registries) | all pass |
369
369
  | `make mutation` | [mutmut] mutates `boost_cli/core` (~9,900 mutants) and reruns the unit suite against each one | **≥80% killed** (`scripts/mutation_gate.py`) |
370
370
  | `make evals` | scores the search ranker on a graded golden set — recall@5/@10, MRR, nDCG@5/@10 | **metric floors + no statistically significant regression** (`scripts/eval_gate.py`) |
@@ -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.375'
22
- __version_tuple__ = version_tuple = (1, 0, 375)
21
+ __version__ = version = '1.0.376'
22
+ __version_tuple__ = version_tuple = (1, 0, 376)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -56,7 +56,6 @@ COMMANDS = [
56
56
  ("reinstall", "pkg", "pkg", "Reinstall a skill or all skills (force)"),
57
57
  ("bundle", "pkg", "pkg", "Export/install skill sets via a Boostfile"),
58
58
  ("import", "pkg", "pkg", "Import skills from a GitHub URL or local path"),
59
- ("migrate", "pkg", "pkg", "Migrate skills between agents or from Skills CLI"),
60
59
  ("pin", "pkg", "pkg", "Pin a skill to its current version"),
61
60
  ("unpin", "pkg", "pkg", "Allow a pinned skill to update again"),
62
61
  ("snapshot", "pkg", "pkg", "Save & restore whole skill environments"),
@@ -1,5 +1,5 @@
1
- """Package Management commands (12): install, uninstall, sync, update,
2
- reinstall, bundle, import, migrate, pin, unpin, snapshot, export."""
1
+ """Package Management commands (11): install, uninstall, sync, update,
2
+ reinstall, bundle, import, pin, unpin, snapshot, export."""
3
3
  from __future__ import annotations
4
4
 
5
5
  import io
@@ -1018,88 +1018,6 @@ def _import_root(root: Path, name: Optional[str], do_all: bool,
1018
1018
  hint="add `--name NAME` or `--all`")
1019
1019
 
1020
1020
 
1021
- # ── migrate ──────────────────────────────────────────────────────────────
1022
-
1023
- def cmd_migrate(argv: List[str]) -> int:
1024
- ap = cliparse.parser(
1025
- prog="boost migrate",
1026
- description="Migrate skills between agents or from Skills CLI")
1027
- ap.add_argument("--from", dest="src", metavar="AGENT",
1028
- help="agent migrating away from")
1029
- ap.add_argument("--to", dest="dst", metavar="AGENT",
1030
- help="agent to link every installed skill into")
1031
- ap.add_argument("--from-skills-cli", action="store_true",
1032
- help="import skills installed by the Skills CLI")
1033
- ap.add_argument("--path", metavar="DIR",
1034
- help="Skills CLI directory (default ~/.skills)")
1035
- args = ap.parse_args(argv)
1036
-
1037
- if args.from_skills_cli:
1038
- root = paths.expand(args.path) if args.path else paths.home() / ".skills"
1039
- if not root.is_dir():
1040
- out.info("nothing to migrate — %s does not exist" % _tilde(root))
1041
- return 0
1042
- entries = catalog.scan_dir(root)
1043
- if not entries:
1044
- out.info("no skills found under %s" % _tilde(root))
1045
- return 0
1046
- migrated, refused = 0, 0
1047
- for e in entries:
1048
- d = root if e["rel_dir"] == "." else root / e["rel_dir"]
1049
- # A refusal partway through must not leave a silently half-done
1050
- # migration with no summary.
1051
- try:
1052
- res = store.install_from_path(d)
1053
- except BoostError as err:
1054
- out.warn("%s: %s" % (e["name"], err.message))
1055
- refused += 1
1056
- continue
1057
- out.ok("imported %s v%s" % (res.name, e["version"]))
1058
- migrated += 1
1059
- out.info("Migrated %s from %s" % (_plural(migrated, "skill"),
1060
- _tilde(root)))
1061
- return 1 if refused else 0
1062
-
1063
- if not (args.src and args.dst):
1064
- raise BoostError("nothing to do",
1065
- hint="use `--from AGENT --to AGENT` or `--from-skills-cli`")
1066
- known = agents.known_agents()
1067
- for a in (args.src, args.dst):
1068
- if a not in known:
1069
- raise BoostError("unknown agent: %s" % a,
1070
- hint="known agents: %s" % ", ".join(known))
1071
- if args.src == args.dst:
1072
- raise BoostError("--from and --to are the same agent")
1073
- if args.dst not in agents.enabled_agents():
1074
- raise BoostError("agent %s is disabled in config" % args.dst,
1075
- hint="`boost config set agents.%s.enabled true`" % args.dst)
1076
- skills = sorted(lockfile.installed())
1077
- if not skills:
1078
- out.info("no skills installed — nothing to migrate")
1079
- return 0
1080
- linked = []
1081
- for name in skills:
1082
- res = store.link_agents(name, only=[args.dst])
1083
- if args.dst in res.linked:
1084
- out.ok("linked %s → %s" % (name, args.dst))
1085
- linked.append(name)
1086
- for pth in res.conflicts:
1087
- out.warn("%s: %s exists and is not managed by boost" % (name, _tilde(pth)))
1088
- lock = lockfile.read()
1089
- changed = False
1090
- for name in linked:
1091
- ent = lock["skills"].get(name)
1092
- if ent is not None and args.dst not in ent.get("agents", []):
1093
- ent["agents"] = sorted(set(ent.get("agents", [])) | {args.dst})
1094
- changed = True
1095
- if changed:
1096
- lockfile.write(lock)
1097
- journal.log("migrate", "%s→%s" % (args.src, args.dst), skills=len(linked))
1098
- out.info("Migrated %s to %s" % (_plural(len(linked), "skill"),
1099
- agents.display_name(args.dst)))
1100
- return 0
1101
-
1102
-
1103
1021
  # ── pin / unpin ──────────────────────────────────────────────────────────
1104
1022
 
1105
1023
  def cmd_pin(argv: List[str]) -> int:
@@ -914,7 +914,7 @@ def install_from_path(src_dir: Path, name: Optional[str] = None,
914
914
 
915
915
  Enforces the same pin, policy and capability gates as ``install``. It used
916
916
  to enforce none of them, so every local path in — ``import``, ``create
917
- --install``, ``migrate``, ``distill/infer/absorb --install`` — was a way
917
+ --install``, ``distill/infer/absorb --install`` — was a way
918
918
  around a blocklist, ``pin_only``, ``max_skills`` and ``denied_capabilities``.
919
919
 
920
920
  Deliberately *not* adopted from ``install``: its "already installed" refusal.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.375
3
+ Version: 1.0.376
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -927,7 +927,7 @@ boost doctor # sanity check: broken links, lock drift, stale taps
927
927
  boost bundle dump > Boostfile # everyone else runs: boost bundle install
928
928
  ```
929
929
 
930
- ## 79 commands, organized into 8 groups
930
+ ## 78 commands, organized into 8 groups
931
931
 
932
932
  `boost --help` prints the full grouped command list; for a visual tour see
933
933
  [`docs/index.html`](docs/index.html), and for every flag of every command see
@@ -939,7 +939,7 @@ install path — see [`docs/architecture/`](docs/architecture/README.md).
939
939
 
940
940
  | Group | Commands |
941
941
  |---|---|
942
- | **Package Management** | install · uninstall · sync · update · reinstall · bundle · import · migrate · pin · unpin · snapshot · export · adapt · run |
942
+ | **Package Management** | install · uninstall · sync · update · reinstall · bundle · import · pin · unpin · snapshot · export · adapt · run |
943
943
  | **Discovery & Search** | search · reindex · discover · recommend · browse · index · trending · stats · count |
944
944
  | **Skill Information** | list · info · cat · edit · preview · explain · log · home · deps · tag |
945
945
  | **Registry (Taps)** | tap · untap · taps · outdated |
@@ -1082,7 +1082,7 @@ Four layers, all enforced (`make check` runs the full set; CI runs the same thin
1082
1082
 
1083
1083
  | Layer | What it does | Gate |
1084
1084
  |---|---|---|
1085
- | `make test` | pytest across `tests/unit/` (every core module) and `tests/functional/` (drives all 79 commands in-process against sandboxed homes) | **≥80% line coverage** of `boost_cli` (`fail_under` in pyproject.toml) |
1085
+ | `make test` | pytest across `tests/unit/` (every core module) and `tests/functional/` (drives all 78 commands in-process against sandboxed homes) | **≥80% line coverage** of `boost_cli` (`fail_under` in pyproject.toml) |
1086
1086
  | `make smoke` | `tests/smoke.sh` — 170 checks run through the actual `./boost` shim (`--online` also hits real registries) | all pass |
1087
1087
  | `make mutation` | [mutmut] mutates `boost_cli/core` (~9,900 mutants) and reruns the unit suite against each one | **≥80% killed** (`scripts/mutation_gate.py`) |
1088
1088
  | `make evals` | scores the search ranker on a graded golden set — recall@5/@10, MRR, nDCG@5/@10 | **metric floors + no statistically significant regression** (`scripts/eval_gate.py`) |
@@ -119,7 +119,7 @@
119
119
  <div class="wrap hero">
120
120
  <p class="crumbs"><a href="index.html">boost</a> / docs / carousel</p>
121
121
  <span class="badge">8 command groups · recorded live with VHS</span>
122
- <h1>79 commands. <span class="grad-text">One flagship each.</span></h1>
122
+ <h1>78 commands. <span class="grad-text">One flagship each.</span></h1>
123
123
  <p class="lede">boost's command surface spans 8 groups, from package management to team
124
124
  collaboration. Rather than 78 near-identical recordings, this page tours <b>one
125
125
  representative command per group</b> — the one that shows what that group is actually
@@ -168,7 +168,7 @@
168
168
  <code>uninstall</code><code>sync</code><code>update</code><code>bundle</code>
169
169
  <code>import</code><code>pin</code><code>snapshot</code><code>export</code>
170
170
  </div>
171
- <p class="group-note">14 commands in this group.</p>
171
+ <p class="group-note">13 commands in this group.</p>
172
172
  <p class="regen">regenerate: <code>vhs docs/carousel/tapes/install.tape</code></p>
173
173
  </div>
174
174
  </div>
@@ -98,7 +98,7 @@
98
98
  <aside>
99
99
  <div class="brand"><b>✦ boost</b><span>commands</span></div>
100
100
  <a class="home" href="index.html">← back to overview</a>
101
- <input id="q" type="search" placeholder="Filter 79 commands…" autocomplete="off" aria-label="Filter commands">
101
+ <input id="q" type="search" placeholder="Filter 78 commands…" autocomplete="off" aria-label="Filter commands">
102
102
  <div class="group" data-group="pkg">
103
103
  <div class="group-h">Install &amp; lifecycle</div>
104
104
  <a class="cmd-link" href="#cmd-install" data-search="install install a skill from a tap registry --force --agent a --scope {user,project} --local --global --dry-run --no-deps --no-mcp name">install</a>
@@ -108,7 +108,6 @@
108
108
  <a class="cmd-link" href="#cmd-reinstall" data-search="reinstall reinstall a skill or all skills (force) --all name">reinstall</a>
109
109
  <a class="cmd-link" href="#cmd-bundle" data-search="bundle export/install skill sets via a boostfile {dump,install} file">bundle</a>
110
110
  <a class="cmd-link" href="#cmd-import" data-search="import import skills from a github url or local path --name n --all --agent a url_or_path">import</a>
111
- <a class="cmd-link" href="#cmd-migrate" data-search="migrate migrate skills between agents or from skills cli --from agent --to agent --from-skills-cli --path dir">migrate</a>
112
111
  <a class="cmd-link" href="#cmd-pin" data-search="pin pin a skill to its current version --commit name">pin</a>
113
112
  <a class="cmd-link" href="#cmd-unpin" data-search="unpin allow a pinned skill to update again name">unpin</a>
114
113
  <a class="cmd-link" href="#cmd-snapshot" data-search="snapshot save &amp; restore whole skill environments --json {save,list,restore} label|id">snapshot</a>
@@ -206,7 +205,7 @@
206
205
  </aside>
207
206
  <main id="top">
208
207
  <h1>boost <b>command reference</b></h1>
209
- <p class="lead">All <b>79</b> commands, generated from the CLI itself —
208
+ <p class="lead">All <b>78</b> commands, generated from the CLI itself —
210
209
  run <code>boost &lt;command&gt; --help</code> for the same in your terminal.</p>
211
210
  <h2 class="group-h" id="grp-pkg">Install &amp; lifecycle</h2>
212
211
  <section class="cmd" id="cmd-install" data-search="install install a skill from a tap registry --force --agent a --scope {user,project} --local --global --dry-run --no-deps --no-mcp name">
@@ -305,18 +304,6 @@
305
304
  <div class="arg"><code>--agent A</code><span>link only into this agent (repeatable)</span></div>
306
305
  </div>
307
306
  </section>
308
- <section class="cmd" id="cmd-migrate" data-search="migrate migrate skills between agents or from skills cli --from agent --to agent --from-skills-cli --path dir">
309
- <h3><span class="cname">migrate</span><span class="gtag">pkg</span></h3>
310
- <p class="summary">Migrate skills between agents or from Skills CLI</p>
311
- <pre class="syn">boost migrate [--from AGENT] [--to AGENT] [--from-skills-cli] [--path DIR]</pre>
312
- <div class="args-h">Options</div>
313
- <div class="args">
314
- <div class="arg"><code>--from AGENT</code><span>agent migrating away from</span></div>
315
- <div class="arg"><code>--to AGENT</code><span>agent to link every installed skill into</span></div>
316
- <div class="arg"><code>--from-skills-cli</code><span>import skills installed by the Skills CLI</span></div>
317
- <div class="arg"><code>--path DIR</code><span>Skills CLI directory (default ~/.skills)</span></div>
318
- </div>
319
- </section>
320
307
  <section class="cmd" id="cmd-pin" data-search="pin pin a skill to its current version --commit name">
321
308
  <h3><span class="cname">pin</span><span class="gtag">pkg</span></h3>
322
309
  <p class="summary">Pin a skill to its current version</p>
@@ -494,11 +494,11 @@
494
494
  </p>
495
495
  <div class="cta-row">
496
496
  <a class="btn btn-grad" href="#workflow">See how it works →</a>
497
- <a class="btn btn-ghost" href="#commands">Explore all 79 commands</a>
497
+ <a class="btn btn-ghost" href="#commands">Explore all 78 commands</a>
498
498
  </div>
499
499
  <div class="stats">
500
500
  <div class="stat reveal"><b>10,000+</b><span>Discoverable skills</span></div>
501
- <div class="stat reveal"><b>79</b><span>Commands · 8 groups</span></div>
501
+ <div class="stat reveal"><b>78</b><span>Commands · 8 groups</span></div>
502
502
  <div class="stat reveal"><b>5</b><span>Pre-tapped registries</span></div>
503
503
  <div class="stat reveal"><b>4</b><span>AI agents supported</span></div>
504
504
  </div>
@@ -685,7 +685,7 @@ facilitate structured divergent thinking:
685
685
  <section id="commands">
686
686
  <div class="wrap">
687
687
  <span class="eyebrow">What It Can Do</span>
688
- <h2 class="sec-title">79 commands, 8 groups</h2>
688
+ <h2 class="sec-title">78 commands, 8 groups</h2>
689
689
  <p class="sec-sub">From basic install/update to AI-powered authoring, governance,
690
690
  and team rollouts. Filter live to find what you need.</p>
691
691
 
@@ -757,7 +757,7 @@ facilitate structured divergent thinking:
757
757
  one-click installs.</li>
758
758
  <li>Serve a catalog over HTTP, or auto-sync on a schedule.</li>
759
759
  </ul>
760
- <div class="tags"><code>migrate</code><code>mcp</code><code>protocol</code><code>serve</code><code>schedule</code></div>
760
+ <div class="tags"><code>mcp</code><code>protocol</code><code>serve</code><code>schedule</code></div>
761
761
  </div>
762
762
  <div class="cap reveal" style="--ic-bg: rgba(64,203,227,.12); --ic-fg: #7dd3fc;">
763
763
  <div class="ic">∿</div>
@@ -943,7 +943,6 @@ const COMMANDS = [
943
943
  ["reinstall","pkg","Reinstall a skill or all skills (force)"],
944
944
  ["bundle","pkg","Export/install skill sets via a Boostfile"],
945
945
  ["import","pkg","Import skills from a GitHub URL or local path"],
946
- ["migrate","pkg","Migrate skills between agents or from Skills CLI"],
947
946
  ["pin","pkg","Pin a skill to its current version"],
948
947
  ["unpin","pkg","Allow a pinned skill to update again"],
949
948
  ["snapshot","pkg","Save & restore whole skill environments"],
@@ -1,5 +1,5 @@
1
1
  """Functional tests: package-management commands — install, uninstall, sync,
2
- update, reinstall, pin/unpin, bundle, import, migrate, snapshot, export."""
2
+ update, reinstall, pin/unpin, bundle, import, snapshot, export."""
3
3
  from __future__ import annotations
4
4
 
5
5
  import io
@@ -590,39 +590,6 @@ class TestImport:
590
590
  assert "no such directory" in r.err
591
591
 
592
592
 
593
- # ── migrate ──────────────────────────────────────────────────────────────
594
-
595
- class TestMigrate:
596
- def test_agent_to_agent_relinks(self, boost, tapped):
597
- boost("install", "brainstorming", "--agent", "claude-code")
598
- r = boost("migrate", "--from", "claude-code", "--to", "cursor")
599
- assert "linked brainstorming → cursor" in r.out
600
- assert "Migrated 1 skill to Cursor" in r.out
601
- link = paths.home() / ".cursor" / "skills" / "brainstorming"
602
- assert link.is_symlink() and link.exists()
603
- assert _lock()["brainstorming"]["agents"] == ["claude-code", "cursor"]
604
-
605
- def test_unknown_agent_rc1(self, boost, sandbox):
606
- r = boost("migrate", "--from", "claude-code", "--to", "emacs", expect=1)
607
- assert "unknown agent: emacs" in r.err
608
-
609
- def test_same_agent_rc1(self, boost, sandbox):
610
- r = boost("migrate", "--from", "cursor", "--to", "cursor", expect=1)
611
- assert "--from and --to are the same agent" in r.err
612
-
613
- def test_from_skills_cli_crafted_dir(self, boost, sandbox, tmp_path):
614
- root = tmp_path / "skills-cli"
615
- _skill_dir(root, "legacy-skill")
616
- r = boost("migrate", "--from-skills-cli", "--path", root)
617
- assert "imported legacy-skill v0.1.0" in r.out
618
- assert "Migrated 1 skill from" in r.out
619
- assert _lock()["legacy-skill"]["tap"] == "local"
620
-
621
- def test_from_skills_cli_missing_dir(self, boost, sandbox):
622
- r = boost("migrate", "--from-skills-cli")
623
- assert "nothing to migrate — ~/.skills does not exist" in r.out
624
-
625
-
626
593
  # ── snapshot ─────────────────────────────────────────────────────────────
627
594
 
628
595
  class TestSnapshot:
@@ -903,7 +870,7 @@ class TestBundleEdges:
903
870
  assert "check the path exists and is writable" in r.err
904
871
 
905
872
 
906
- # ── edge coverage: import / migrate ──────────────────────────────────────
873
+ # ── edge coverage: import ───────────────────────────────────────────────
907
874
 
908
875
  class TestImportEdges:
909
876
  def test_git_url_clone(self, boost, sandbox, tmp_path, monkeypatch):
@@ -927,35 +894,6 @@ class TestImportEdges:
927
894
  assert "available: alpha, beta" in r.err
928
895
 
929
896
 
930
- class TestMigrateEdges:
931
- def test_no_args_rc1(self, boost, sandbox):
932
- r = boost("migrate", expect=1)
933
- assert "nothing to do" in r.err
934
- assert "--from AGENT --to AGENT" in r.err
935
-
936
- def test_skills_cli_dir_without_skills(self, boost, sandbox, tmp_path):
937
- root = tmp_path / "sk"
938
- root.mkdir()
939
- (root / "readme.txt").write_text("not a skill\n", encoding="utf-8")
940
- r = boost("migrate", "--from-skills-cli", "--path", root)
941
- assert "no skills found under" in r.out
942
-
943
- def test_nothing_installed(self, boost, sandbox):
944
- r = boost("migrate", "--from", "claude-code", "--to", "cursor")
945
- assert "no skills installed — nothing to migrate" in r.out
946
-
947
- def test_disabled_target_rc1(self, boost, tapped):
948
- cfg = json.loads(paths.config_path().read_text(encoding="utf-8"))
949
- cfg["agents"] = {"cursor": {"enabled": False}}
950
- paths.config_path().write_text(json.dumps(cfg), encoding="utf-8")
951
- r = boost("migrate", "--from", "claude-code", "--to", "cursor",
952
- expect=1)
953
- assert "agent cursor is disabled in config" in r.err
954
- assert "boost config set agents.cursor.enabled true" in r.err
955
-
956
-
957
- # ── edge coverage: snapshot ──────────────────────────────────────────────
958
-
959
897
  class TestSnapshotEdges:
960
898
  def test_restore_without_id_rc1(self, boost, sandbox):
961
899
  r = boost("snapshot", "restore", expect=1)
@@ -1277,33 +1215,3 @@ class TestLocalInstallGates:
1277
1215
  skills = json.loads(boost("list", "--json").out)["skills"]
1278
1216
  assert skills["pinned-local"]["pinned"] is True
1279
1217
 
1280
- def test_migrate_from_skills_cli_keeps_going_past_a_refusal(
1281
- self, boost, sandbox, tmp_path, monkeypatch):
1282
- """One blocked skill must not abandon the rest of the migration.
1283
-
1284
- `cmd_migrate` grew the same per-item guard as `import --all`, but its
1285
- refusal arm was the only one with no test — a `continue` that silently
1286
- stopped continuing would have looked identical to a clean run.
1287
- """
1288
- skills_root = tmp_path / "dot-skills"
1289
- for n in ("mig-aaa", "mig-bbb", "mig-ccc"):
1290
- self._skill(skills_root, n)
1291
- boost("policy", "set", "blocked_skills", "mig-bbb")
1292
-
1293
- r = boost("migrate", "--from-skills-cli", "--path", skills_root, expect=1)
1294
- assert "mig-bbb" in (r.out + r.err) # the refusal is named
1295
- assert "Migrated" in r.out # and the summary still prints
1296
-
1297
- out = boost("list").out
1298
- assert "mig-aaa" in out and "mig-ccc" in out # the others landed
1299
- assert "mig-bbb" not in out
1300
-
1301
- def test_migrate_from_skills_cli_counts_only_what_landed(
1302
- self, boost, sandbox, tmp_path):
1303
- # The summary counts migrated, not attempted: 2 of 3 here.
1304
- skills_root = tmp_path / "counted"
1305
- for n in ("cnt-aaa", "cnt-bbb", "cnt-ccc"):
1306
- self._skill(skills_root, n)
1307
- boost("policy", "set", "blocked_skills", "cnt-bbb")
1308
- r = boost("migrate", "--from-skills-cli", "--path", skills_root, expect=1)
1309
- assert "2 skills" in r.out
@@ -62,7 +62,7 @@ def test_unknown_command_suggests_closest(boost):
62
62
  def test_version_and_help(boost):
63
63
  assert re.match(r"boost \S+", boost("--version").out)
64
64
  r = boost("--help")
65
- assert "79 commands · 8 groups" in r.out
65
+ assert "78 commands · 8 groups" in r.out
66
66
  for group in ("Package Management", "Discovery & Search", "Intelligence",
67
67
  "Quality & Health", "Team & Collaboration"):
68
68
  assert group in r.out
@@ -173,7 +173,6 @@ update
173
173
  reinstall
174
174
  bundle
175
175
  import
176
- migrate
177
176
  pin
178
177
  unpin
179
178
  snapshot
@@ -29,13 +29,13 @@ class TestBoostError:
29
29
  raise BoostError("x")
30
30
 
31
31
 
32
- EXPECTED_GROUP_SIZES = {"pkg": 14, "find": 9, "info": 10, "tap": 4,
32
+ EXPECTED_GROUP_SIZES = {"pkg": 13, "find": 9, "info": 10, "tap": 4,
33
33
  "ai": 9, "chk": 15, "cfg": 12, "team": 6}
34
34
 
35
35
 
36
36
  class TestCommandTable:
37
- def test_exactly_79_commands(self):
38
- assert len(cli.COMMANDS) == 79
37
+ def test_exactly_78_commands(self):
38
+ assert len(cli.COMMANDS) == 78
39
39
 
40
40
  def test_exactly_8_groups(self):
41
41
  assert len(cli.GROUPS) == 8
@@ -49,7 +49,7 @@ class TestCommandTable:
49
49
  names = [n for n, _g, _m, _s in cli.COMMANDS]
50
50
  dupes = [n for n, k in Counter(names).items() if k > 1]
51
51
  assert dupes == []
52
- assert len(cli._BY_NAME) == 79
52
+ assert len(cli._BY_NAME) == 78
53
53
 
54
54
  def test_every_command_group_exists(self):
55
55
  for name, group, _module, _summary in cli.COMMANDS:
@@ -126,7 +126,7 @@ class TestMainDispatch:
126
126
  def test_no_args_prints_help(self, sandbox, capsys):
127
127
  assert cli.main([]) == 0
128
128
  out = capsys.readouterr().out
129
- assert "79 commands · 8 groups" in out
129
+ assert "78 commands · 8 groups" in out
130
130
  assert "Homebrew for AI coding skills" in out
131
131
 
132
132
  def test_help_flag_lists_every_command(self, sandbox, capsys):
@@ -139,7 +139,7 @@ class TestMainDispatch:
139
139
 
140
140
  def test_help_word(self, sandbox, capsys):
141
141
  assert cli.main(["help"]) == 0
142
- assert "79 commands · 8 groups" in capsys.readouterr().out
142
+ assert "78 commands · 8 groups" in capsys.readouterr().out
143
143
 
144
144
  def test_help_for_command(self, sandbox, capsys):
145
145
  rc = run_main(["help", "install"])
@@ -319,7 +319,7 @@ class TestInstallFromPath:
319
319
  return src
320
320
 
321
321
  # ── gates: install_from_path used to enforce NONE of these, so every local
322
- # path in (import, create --install, migrate, distill/infer/absorb --install)
322
+ # path in (import, create --install, distill/infer/absorb --install)
323
323
  # was a way around the blocklist, pin_only, max_skills and denied_capabilities.
324
324
 
325
325
  def test_refuses_a_pinned_skill(self, sandbox, tmp_path):