boost-skill-cli 1.2.99__tar.gz → 1.2.101__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 (973) hide show
  1. {boost_skill_cli-1.2.99/boost_skill_cli.egg-info → boost_skill_cli-1.2.101}/PKG-INFO +2 -1
  2. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/README.md +1 -0
  3. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/_version.py +2 -2
  4. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/cli.py +12 -12
  5. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/configuration.py +6 -4
  6. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/discovery.py +66 -39
  7. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/info.py +93 -27
  8. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/intelligence.py +4 -3
  9. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/pkg.py +13 -6
  10. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/quality.py +22 -5
  11. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/safety.py +1 -1
  12. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/taps.py +4 -3
  13. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/team.py +40 -11
  14. boost_skill_cli-1.2.101/boost_cli/core/cohort.py +46 -0
  15. boost_skill_cli-1.2.101/boost_cli/core/deps.py +118 -0
  16. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/lockfile.py +19 -0
  17. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/output.py +9 -2
  18. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/rag.py +11 -1
  19. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/store.py +20 -11
  20. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101/boost_skill_cli.egg-info}/PKG-INFO +2 -1
  21. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_skill_cli.egg-info/SOURCES.txt +4 -0
  22. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/adapters.html +1 -1
  23. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/commands.html +41 -42
  24. boost_skill_cli-1.2.101/docs/demo.gif +0 -0
  25. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/index.html +12 -12
  26. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-cli-py-commands-summaries-and-parser-help-contradict-behavio.md +3 -3
  27. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-cohort-findings.md +4 -4
  28. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-deps-findings.md +18 -3
  29. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-discover-findings.md +3 -3
  30. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-log-simulate-changelog-headings-echo-the-raw-qualified-argum.md +2 -2
  31. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-onboard-findings.md +3 -3
  32. boost_skill_cli-1.2.101/docs/roadmap/items/audit-protocol-findings.md +16 -0
  33. boost_skill_cli-1.2.101/docs/roadmap/items/audit-reindex-findings.md +20 -0
  34. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-trust-findings.md +14 -2
  35. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-unpin-findings.md +3 -3
  36. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap.html +56 -22
  37. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/discover.feature +3 -2
  38. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_configuration.py +23 -0
  39. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_discovery.py +32 -10
  40. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_info.py +62 -1
  41. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_intelligence.py +6 -0
  42. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_quality.py +5 -0
  43. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_team.py +58 -2
  44. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_integrity_enforce.py +12 -0
  45. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_tap_signing.py +31 -0
  46. boost_skill_cli-1.2.101/tests/unit/test_cohort.py +71 -0
  47. boost_skill_cli-1.2.101/tests/unit/test_deps.py +132 -0
  48. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_lockfile.py +74 -0
  49. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_output.py +30 -0
  50. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_rag.py +18 -1
  51. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_store.py +36 -0
  52. boost_skill_cli-1.2.99/docs/demo.gif +0 -0
  53. boost_skill_cli-1.2.99/docs/roadmap/items/audit-protocol-findings.md +0 -16
  54. boost_skill_cli-1.2.99/docs/roadmap/items/audit-reindex-findings.md +0 -20
  55. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.gitattributes +0 -0
  56. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.gitignore +0 -0
  57. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.gitleaks.toml +0 -0
  58. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.htmlvalidate.json +0 -0
  59. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.lighthouserc.json +0 -0
  60. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.lycheeignore +0 -0
  61. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.markdownlint-cli2.jsonc +0 -0
  62. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.pre-commit-config.yaml +0 -0
  63. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.stylelintrc.json +0 -0
  64. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.vale/styles/boost/AIWriting.yml +0 -0
  65. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.vale/styles/boost/Terminology.yml +0 -0
  66. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  67. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/.vale.ini +0 -0
  68. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/CLAUDE.md +0 -0
  69. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/CODE_OF_CONDUCT.md +0 -0
  70. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/CONTRIBUTING.md +0 -0
  71. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/DCO +0 -0
  72. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/GOVERNANCE.md +0 -0
  73. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/LICENSE +0 -0
  74. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/MAINTAINERS.md +0 -0
  75. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/MANIFEST.in +0 -0
  76. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/Makefile +0 -0
  77. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/SECURITY.md +0 -0
  78. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/SUPPORT.md +0 -0
  79. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost +0 -0
  80. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/__init__.py +0 -0
  81. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/__main__.py +0 -0
  82. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/cliparse.py +0 -0
  83. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/__init__.py +0 -0
  84. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/_common.py +0 -0
  85. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/bmad.py +0 -0
  86. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/hooks.py +0 -0
  87. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/quickstart.py +0 -0
  88. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/commands/run.py +0 -0
  89. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/__init__.py +0 -0
  90. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/adapters.py +0 -0
  91. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/agents.py +0 -0
  92. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/ai.py +0 -0
  93. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/aihost.py +0 -0
  94. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/archive.py +0 -0
  95. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/bmad.py +0 -0
  96. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/bootstrap.py +0 -0
  97. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/browse.py +0 -0
  98. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/builtin.py +0 -0
  99. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/capabilities.py +0 -0
  100. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/catalog.py +0 -0
  101. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/catalogbundle.py +0 -0
  102. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/chat.py +0 -0
  103. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/claude_settings.py +0 -0
  104. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/complete.py +0 -0
  105. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/config.py +0 -0
  106. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/dense.py +0 -0
  107. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/discovery.py +0 -0
  108. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/ed25519.py +0 -0
  109. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/embed.py +0 -0
  110. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/faithfulness.py +0 -0
  111. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/frontmatter.py +0 -0
  112. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/gitutil.py +0 -0
  113. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/hookhost.py +0 -0
  114. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/imperative.py +0 -0
  115. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/injectscan.py +0 -0
  116. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/installscan.py +0 -0
  117. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/integrity.py +0 -0
  118. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/journal.py +0 -0
  119. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/jsonstate.py +0 -0
  120. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/localembed.py +0 -0
  121. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/logs.py +0 -0
  122. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/mcp.py +0 -0
  123. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/mcpdecl.py +0 -0
  124. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/mcphost.py +0 -0
  125. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/minisign.py +0 -0
  126. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/nethttp.py +0 -0
  127. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/paths.py +0 -0
  128. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/policy.py +0 -0
  129. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/projectlock.py +0 -0
  130. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/provenance.py +0 -0
  131. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/registry.py +0 -0
  132. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/resolve.py +0 -0
  133. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/rules.py +0 -0
  134. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/scopes.py +0 -0
  135. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/secretscan.py +0 -0
  136. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/selfupdate.py +0 -0
  137. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/serve.py +0 -0
  138. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/shards.py +0 -0
  139. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/stackprobe.py +0 -0
  140. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/staleness.py +0 -0
  141. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/trustaudit.py +0 -0
  142. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/typedvalue.py +0 -0
  143. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/typosquat.py +0 -0
  144. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/updatediff.py +0 -0
  145. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/util.py +0 -0
  146. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/core/workflows.py +0 -0
  147. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/data/registries.json +0 -0
  148. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/data/rules/boost-first.mdc +0 -0
  149. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/errors.py +0 -0
  150. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_cli/spin.py +0 -0
  151. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_langchain/__init__.py +0 -0
  152. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_langchain/_compat.py +0 -0
  153. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_langchain/graph.py +0 -0
  154. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_langchain/loader.py +0 -0
  155. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_langchain/py.typed +0 -0
  156. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_langchain/retriever.py +0 -0
  157. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  158. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  159. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_skill_cli.egg-info/requires.txt +0 -0
  160. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/boost_skill_cli.egg-info/top_level.txt +0 -0
  161. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/codecov.yml +0 -0
  162. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/.claude/settings.local.json +0 -0
  163. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/DEBUGGING.md +0 -0
  164. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/architecture/README.md +0 -0
  165. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/architecture/c4-components-core.md +0 -0
  166. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/architecture/c4-containers.md +0 -0
  167. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/architecture/c4-context.md +0 -0
  168. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/architecture/c4-dynamic-install.md +0 -0
  169. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/bmad.md +0 -0
  170. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/gifs/distill.gif +0 -0
  171. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/gifs/doctor.gif +0 -0
  172. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/gifs/explain.gif +0 -0
  173. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/gifs/hooks.gif +0 -0
  174. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/gifs/install.gif +0 -0
  175. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/gifs/pulse.gif +0 -0
  176. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/gifs/search.gif +0 -0
  177. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/gifs/tap.gif +0 -0
  178. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/tapes/distill.tape +0 -0
  179. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/tapes/doctor.tape +0 -0
  180. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/tapes/explain.tape +0 -0
  181. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/tapes/hooks.tape +0 -0
  182. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/tapes/install.tape +0 -0
  183. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/tapes/pulse.tape +0 -0
  184. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/tapes/search.tape +0 -0
  185. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel/tapes/tap.tape +0 -0
  186. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/carousel.html +0 -0
  187. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/chat.html +0 -0
  188. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/code-review.md +0 -0
  189. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/commit-audit.md +0 -0
  190. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/demo-index.json +0 -0
  191. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/demo.html +0 -0
  192. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/demo.tape +0 -0
  193. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/dependencies.md +0 -0
  194. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/design-roadmap.html +0 -0
  195. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/eval-latest.json +0 -0
  196. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/eval.html +0 -0
  197. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/langchain.html +0 -0
  198. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/mcp-hub.html +0 -0
  199. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/openssf-badge.md +0 -0
  200. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/openssf-playbook.md +0 -0
  201. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/rag-architecture.md +0 -0
  202. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D01.md +0 -0
  203. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D02.md +0 -0
  204. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D03.md +0 -0
  205. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D04.md +0 -0
  206. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D05.md +0 -0
  207. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D06.md +0 -0
  208. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D07.md +0 -0
  209. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D08.md +0 -0
  210. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D09.md +0 -0
  211. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D10.md +0 -0
  212. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D11.md +0 -0
  213. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D12.md +0 -0
  214. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D13.md +0 -0
  215. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D14.md +0 -0
  216. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D15.md +0 -0
  217. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D16.md +0 -0
  218. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D17.md +0 -0
  219. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D18.md +0 -0
  220. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D19.md +0 -0
  221. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D20.md +0 -0
  222. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D21.md +0 -0
  223. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D22.md +0 -0
  224. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D23.md +0 -0
  225. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D24.md +0 -0
  226. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D25.md +0 -0
  227. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D26.md +0 -0
  228. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/BOOST-D27.md +0 -0
  229. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  230. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  231. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  232. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  233. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
  234. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/ai-backend-fanout.md +0 -0
  235. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  236. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  237. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  238. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  239. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-absorb-findings.md +0 -0
  240. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-adapt-findings.md +0 -0
  241. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-adapt-renders-every-sibling-of-a-flat-agents-dir-workflow-as.md +0 -0
  242. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-adapt-run-stats-edit-tag-export-reject-the-tap-name-qualifie.md +0 -0
  243. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-ai-degrade-note-blames-path-api-keys-regardless-of-cause-sev.md +0 -0
  244. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-attest-findings.md +0 -0
  245. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-audit-findings.md +0 -0
  246. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-bmad-findings.md +0 -0
  247. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-browse-findings.md +0 -0
  248. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-bundle-findings.md +0 -0
  249. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-catalog-findings.md +0 -0
  250. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-catalog-resolve-one-s-duplicate-name-hint-advertises-path-to.md +0 -0
  251. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-changelog-findings.md +0 -0
  252. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-chat-findings.md +0 -0
  253. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-clean-counts-failed-removals-as-cleaned-journals-the-inflate.md +0 -0
  254. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-completions-findings.md +0 -0
  255. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-config-findings.md +0 -0
  256. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-config-policy-set-store-type-unchecked-values-consumers-cras.md +0 -0
  257. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-context-findings.md +0 -0
  258. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-corrupt-settings-config-state-json-silently-read-as-empty-th.md +0 -0
  259. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-create-distill-infer-absorb-install-silently-replace-an-inst.md +0 -0
  260. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-create-findings.md +0 -0
  261. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-declined-confirms-never-name-y-boost-assume-yes-snapshot-cle.md +0 -0
  262. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-distill-s-heuristic-merge-drops-repeated-fences-braces-writi.md +0 -0
  263. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-doctor-findings.md +0 -0
  264. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-drift-findings.md +0 -0
  265. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-dry-runs-disagree-with-the-real-run-compact-counts-bytes-it.md +0 -0
  266. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-edit-findings.md +0 -0
  267. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-evolve-findings.md +0 -0
  268. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-explain-findings.md +0 -0
  269. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-export-findings.md +0 -0
  270. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-export-o-cohort-create-and-profile-save-silently-overwrite-e.md +0 -0
  271. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-fingerprint-findings.md +0 -0
  272. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-five-exit-70-crashes-on-bad-paths-data-catalog-export-serve.md +0 -0
  273. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-focus-profile-sideline-by-unlinking-without-recording-it-lis.md +0 -0
  274. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-git-operations-never-set-git-terminal-prompt-0-so-a-404-priv.md +0 -0
  275. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-health-findings.md +0 -0
  276. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-hooks-remove-n-cannot-find-hooks-boost-itself-added-unknown.md +0 -0
  277. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-import-all-skips-the-injection-secret-scans-and-the-per-skil.md +0 -0
  278. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-import-findings.md +0 -0
  279. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-index-findings.md +0 -0
  280. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-info-stats-explain-render-a-different-smaller-shape-for-rule.md +0 -0
  281. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-install-dry-run-promises-agents-the-real-install-never-write.md +0 -0
  282. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-install-findings.md +0 -0
  283. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-install-local-writes-empties-the-repo-s-mcp-json-silently-of.md +0 -0
  284. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-json-accepted-but-ignored-on-many-branches-cohort-config-pol.md +0 -0
  285. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-lint-findings.md +0 -0
  286. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-log-findings.md +0 -0
  287. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-mcp-findings.md +0 -0
  288. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-mcp-register-s-boost-first-consent-names-only-the-registered.md +0 -0
  289. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-missing-json-on-doctor-test-health-changelog-trending-log-ho.md +0 -0
  290. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-name-miss-errors-unknown-tap-qualifier-unnamed-no-close-matc.md +0 -0
  291. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-out-table-clips-data-columns-to-an-assumed-80-columns-when-s.md +0 -0
  292. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-out-warn-defaults-to-stdout-infer-absorb-corrupt-skill-md-se.md +0 -0
  293. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-outdated-findings.md +0 -0
  294. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-output-wrap-tokens-splits-punctuation-off-backtick-spans-ins.md +0 -0
  295. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co.md +0 -0
  296. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-policy-findings.md +0 -0
  297. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-preview-findings.md +0 -0
  298. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-profile-findings.md +0 -0
  299. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-project-scope-seams-uninstall-verify-list-info-reinstall-dis.md +0 -0
  300. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-pulse-findings.md +0 -0
  301. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-quarantine-findings.md +0 -0
  302. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-quarantine-pin-state-invisible-list-info-doctor-report-links.md +0 -0
  303. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-quickstart-findings.md +0 -0
  304. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-recommend-findings.md +0 -0
  305. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-reinstall-sync-repair-and-audit-resolve-by-name-tap-ignoring.md +0 -0
  306. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-replay-findings.md +0 -0
  307. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-root-findings.md +0 -0
  308. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-rules-workflows-reported-as-skills-uninstall-claims-a-store.md +0 -0
  309. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-run-findings.md +0 -0
  310. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-schedule-findings.md +0 -0
  311. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-search-findings.md +0 -0
  312. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-simulate-findings.md +0 -0
  313. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-singular-plural-misses-1-skills-1-issue-need-1-skill-pass-ac.md +0 -0
  314. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-six-count-flags-tap-chat-absorb-lint-changelog-hooks-skip-ut.md +0 -0
  315. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-skill-profile-name-slugging-is-inconsistent-distill-o-accept.md +0 -0
  316. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-snapshot-restore-replaces-the-lock-wholesale-orphaning-newer.md +0 -0
  317. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-stale-prose-after-shipped-changes-catalog-export-live-discov.md +0 -0
  318. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-stray-positionals-and-inapplicable-flags-silently-ignored-ac.md +0 -0
  319. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-sweep-positionals-json-lack-help-strings-and-no-command-help.md +0 -0
  320. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-sync-findings.md +0 -0
  321. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-tag-findings.md +0 -0
  322. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-tap-dry-run-is-silently-ignored-outside-catalog-spec-and-def.md +0 -0
  323. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-tap-findings.md +0 -0
  324. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-taps-findings.md +0 -0
  325. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-taps-outdated-decay-policy-snapshot-json-emit-display-string.md +0 -0
  326. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-test-findings.md +0 -0
  327. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-trust-verify-labels-a-manifest-tampered-after-signing-by-a-t.md +0 -0
  328. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-untap-findings.md +0 -0
  329. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-update-findings.md +0 -0
  330. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-verify-drift-say-nothing-installed-exit-0-and-doctor-says-lo.md +0 -0
  331. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-verify-findings.md +0 -0
  332. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/audit-who-findings.md +0 -0
  333. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  334. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/bm25-has-no-stemming.md +0 -0
  335. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  336. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
  337. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/bmad-hooks-all-hosts.md +0 -0
  338. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
  339. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/boost-first-rule.md +0 -0
  340. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
  341. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  342. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/branch-current-gate.md +0 -0
  343. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  344. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  345. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/browse-could-not-search-two-words.md +0 -0
  346. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  347. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  348. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  349. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  350. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/capability-policy-skips-rules-and-workflows.md +0 -0
  351. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/catalog-categories-beyond-curated.md +0 -0
  352. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/catalogue-entries-carry-no-content-identity.md +0 -0
  353. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
  354. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  355. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  356. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  357. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  358. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  359. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/cli-audit-2026-08-full-sweep.md +0 -0
  360. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/cli-command-audit.md +0 -0
  361. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/cli-output-ignored-the-terminal.md +0 -0
  362. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  363. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  364. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/cold-search-reads-the-whole-catalogue.md +0 -0
  365. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/command-carousel-page.md +0 -0
  366. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  367. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  368. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/completions-install-could-eat-your-rc-file.md +0 -0
  369. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  370. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/concurrent-rag-builds-delete-each-others-temp-index.md +0 -0
  371. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  372. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  373. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  374. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  375. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  376. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
  377. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/delay-true-defeats-the-log-suppress.md +0 -0
  378. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  379. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  380. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
  381. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/dense-reindex-has-no-progress-or-durability.md +0 -0
  382. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/dense-reindex-reuses-whole-taps.md +0 -0
  383. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  384. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/dense-search-rescans-every-vector.md +0 -0
  385. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/dense-store-holds-every-vector-once-per-copy.md +0 -0
  386. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  387. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  388. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  389. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
  390. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  391. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
  392. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  393. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  394. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  395. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
  396. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
  397. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  398. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
  399. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  400. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
  401. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
  402. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
  403. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
  404. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
  405. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
  406. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
  407. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  408. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  409. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  410. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  411. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  412. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  413. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  414. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  415. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  416. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
  417. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  418. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/gemini-duplicate-skill-discovery.md +0 -0
  419. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/gemini-hooks-host-aware.md +0 -0
  420. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/gemini-mcp-parity.md +0 -0
  421. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/github-community-health-files.md +0 -0
  422. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  423. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
  424. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  425. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/gstack-tap-first-then-coexistence.md +0 -0
  426. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  427. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
  428. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  429. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
  430. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  431. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  432. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/install-path-disambiguation.md +0 -0
  433. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  434. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  435. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  436. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  437. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  438. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  439. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  440. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  441. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  442. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
  443. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
  444. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
  445. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
  446. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  447. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  448. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  449. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
  450. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  451. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  452. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  453. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  454. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  455. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  456. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/long-hints-overflow-narrow-panes.md +0 -0
  457. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  458. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  459. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  460. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  461. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  462. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  463. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  464. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/marketing-crm-domain-had-no-category.md +0 -0
  465. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
  466. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  467. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-cannot-read-a-skill-before-installing.md +0 -0
  468. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  469. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  470. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  471. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  472. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  473. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  474. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  475. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  476. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
  477. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  478. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  479. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
  480. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  481. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  482. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  483. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  484. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  485. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  486. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  487. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  488. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  489. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mutation-shards-rerun-full-set-every-push.md +0 -0
  490. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  491. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  492. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/near-identical-copies-still-eat-the-slots.md +0 -0
  493. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  494. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  495. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  496. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  497. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
  498. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  499. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/openssf-best-practices-badge.md +0 -0
  500. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/openssf-gold-ceiling.md +0 -0
  501. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/openssf-playbook.md +0 -0
  502. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/openssf-silver.md +0 -0
  503. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/osps-baseline-levels.md +0 -0
  504. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  505. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  506. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  507. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/pathlib-exists-is-not-total.md +0 -0
  508. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
  509. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  510. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  511. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  512. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  513. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  514. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  515. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  516. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  517. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  518. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  519. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  520. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  521. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  522. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  523. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/publish-the-keyword-index.md +0 -0
  524. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  525. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/published-shards-have-no-consumer.md +0 -0
  526. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  527. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
  528. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  529. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
  530. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  531. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/readme-prune-and-search-guide.md +0 -0
  532. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  533. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  534. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  535. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  536. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/relicence-apache-2.md +0 -0
  537. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/reproducible-release-artifacts.md +0 -0
  538. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  539. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  540. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  541. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  542. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  543. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  544. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  545. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
  546. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  547. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  548. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  549. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
  550. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  551. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  552. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  553. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  554. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  555. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  556. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  557. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  558. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  559. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
  560. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/search-and-browse-visual-refresh.md +0 -0
  561. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
  562. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  563. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  564. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  565. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  566. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  567. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
  568. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
  569. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
  570. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  571. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/shard-refresh-skips-processed-commits.md +0 -0
  572. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/shard-runs-reembed-everything-weekly.md +0 -0
  573. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
  574. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
  575. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  576. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/shrink-the-published-index.md +0 -0
  577. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  578. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  579. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/smart-rerank-pays-per-novel-query.md +0 -0
  580. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  581. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  582. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  583. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  584. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  585. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  586. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +0 -0
  587. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
  588. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  589. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  590. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
  591. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  592. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
  593. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md +0 -0
  594. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md +0 -0
  595. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/the-shard-job-that-could-not-finish.md +0 -0
  596. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  597. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
  598. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/two-ci-controls-that-could-not-act.md +0 -0
  599. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
  600. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  601. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  602. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  603. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  604. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  605. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
  606. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
  607. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  608. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
  609. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  610. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  611. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/vex-openvex-feed.md +0 -0
  612. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  613. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/weekly-vectors-had-no-ingestion-path.md +0 -0
  614. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  615. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  616. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  617. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  618. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  619. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  620. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/workspace-scope-install.md +0 -0
  621. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/zip-strict-audit.md +0 -0
  622. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
  623. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  624. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/security-design.md +0 -0
  625. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/semantic-search.md +0 -0
  626. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/superpowers/specs/2026-08-16-catalogue-content-identity-design.md +0 -0
  627. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/verifying-releases.md +0 -0
  628. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/vex/meta.md +0 -0
  629. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/vex/openvex.json +0 -0
  630. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/vex/statements/gitleaks-secretscan-test-fixtures.md +0 -0
  631. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/vex/statements/quality-trust-fingerprint-not-sensitive.md +0 -0
  632. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/vex/statements/zizmor-adhoc-packages-lint-runners.md +0 -0
  633. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/docs/vex/statements/zizmor-dangerous-triggers-workflow-run.md +0 -0
  634. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/eslint.config.mjs +0 -0
  635. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/evals/README.md +0 -0
  636. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/evals/__init__.py +0 -0
  637. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/evals/baseline.json +0 -0
  638. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/evals/faithfulness.py +0 -0
  639. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/evals/golden_set.json +0 -0
  640. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/evals/make_corpus.py +0 -0
  641. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/evals/make_golden.py +0 -0
  642. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/evals/metrics.py +0 -0
  643. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/evals/publish_golden_dataset.py +0 -0
  644. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/evals/run_evals.py +0 -0
  645. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/examples/README.md +0 -0
  646. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/examples/adapt-demo.sh +0 -0
  647. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/examples/boost-run-prototype.sh +0 -0
  648. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/index.html +0 -0
  649. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/noxfile.py +0 -0
  650. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/pyproject.toml +0 -0
  651. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/requirements/coverage-tools.in +0 -0
  652. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/requirements/coverage-tools.txt +0 -0
  653. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/requirements/lint-tools.in +0 -0
  654. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/requirements/lint-tools.txt +0 -0
  655. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/requirements/mutation-tools.in +0 -0
  656. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/requirements/mutation-tools.txt +0 -0
  657. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/requirements/platform-pins.lock +0 -0
  658. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/requirements/release-tools.in +0 -0
  659. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/requirements/release-tools.txt +0 -0
  660. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/requirements/test-tools.in +0 -0
  661. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/requirements/test-tools.txt +0 -0
  662. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/a11y_check.py +0 -0
  663. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/add_spdx_headers.py +0 -0
  664. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/bench_cli.sh +0 -0
  665. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/build_command_reference.py +0 -0
  666. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/build_demo_index.py +0 -0
  667. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/build_registries.py +0 -0
  668. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/build_roadmap.py +0 -0
  669. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/build_scale_corpus.py +0 -0
  670. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/build_vex.py +0 -0
  671. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/check_anchors.py +0 -0
  672. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/check_branch_current.py +0 -0
  673. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/check_dco.py +0 -0
  674. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/check_licenses.py +0 -0
  675. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/check_reproducible.py +0 -0
  676. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/check_required_checks.py +0 -0
  677. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/ensure_eval_corpus.sh +0 -0
  678. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/eval_corpus.py +0 -0
  679. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/eval_explain.py +0 -0
  680. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/eval_gate.py +0 -0
  681. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/eval_recommend.py +0 -0
  682. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/eval_retrieval.py +0 -0
  683. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/eval_stats_summary.py +0 -0
  684. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/eval_tools.py +0 -0
  685. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/import_budget.py +0 -0
  686. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/lock_toolchain.py +0 -0
  687. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/measure_near_duplicate_bound.py +0 -0
  688. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/measure_registry.py +0 -0
  689. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/mutation_gate.py +0 -0
  690. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/mutation_shards.py +0 -0
  691. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/mutation_weights.json +0 -0
  692. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/normalize_sdist.py +0 -0
  693. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/page_budget.py +0 -0
  694. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/perf_gate.py +0 -0
  695. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/post_deploy_smoke.py +0 -0
  696. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/publish_eval_json.py +0 -0
  697. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/publish_shards.py +0 -0
  698. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/release_guard.py +0 -0
  699. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/release_preflight.py +0 -0
  700. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/serve_docs.py +0 -0
  701. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/scripts/shard_plan.py +0 -0
  702. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/setup.cfg +0 -0
  703. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/sonar-project.properties +0 -0
  704. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/style/README.md +0 -0
  705. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/style/boost.css +0 -0
  706. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/style/boost.js +0 -0
  707. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/style/demo.html +0 -0
  708. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/adapt.feature +0 -0
  709. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/browse.feature +0 -0
  710. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/count.feature +0 -0
  711. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/doctor.feature +0 -0
  712. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/environment.py +0 -0
  713. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/explain.feature +0 -0
  714. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/index.feature +0 -0
  715. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/install.feature +0 -0
  716. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/list.feature +0 -0
  717. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/mcp.feature +0 -0
  718. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/search.feature +0 -0
  719. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/steps/cli_steps.py +0 -0
  720. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/steps/discovery_steps.py +0 -0
  721. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/steps/mcp_steps.py +0 -0
  722. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/bdd/features/steps/quality_steps.py +0 -0
  723. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/conftest.py +0 -0
  724. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/eval/baseline.json +0 -0
  725. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/eval/explain.jsonl +0 -0
  726. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/eval/fixtures/claude_init_event.jsonl +0 -0
  727. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/eval/golden-natural.jsonl +0 -0
  728. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/eval/golden.jsonl +0 -0
  729. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/eval/recommend.jsonl +0 -0
  730. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/eval/taps-scale.txt +0 -0
  731. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/eval/taps.txt +0 -0
  732. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/eval/tool_calls.jsonl +0 -0
  733. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_bmad_all_hosts.py +0 -0
  734. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_capabilities_policy.py +0 -0
  735. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_adapt.py +0 -0
  736. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_bmad.py +0 -0
  737. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_catalog.py +0 -0
  738. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_chat.py +0 -0
  739. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_hooks.py +0 -0
  740. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_hooks_gemini.py +0 -0
  741. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_pane_width.py +0 -0
  742. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_pkg.py +0 -0
  743. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_quickstart.py +0 -0
  744. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_tap_pins.py +0 -0
  745. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_cli_taps.py +0 -0
  746. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_everyday_loop.py +0 -0
  747. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_kind_conformance.py +0 -0
  748. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_property_parsers.py +0 -0
  749. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_run.py +0 -0
  750. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/functional/test_workspace_scope.py +0 -0
  751. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/README.md +0 -0
  752. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  753. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  754. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  755. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  756. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  757. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  758. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  759. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  760. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  761. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  762. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  763. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  764. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  765. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  766. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  767. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  768. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  769. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  770. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  771. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  772. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/registry/09-nul.txt +0 -0
  773. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/registry/10-name-too-long.txt +0 -0
  774. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/corpus/registry/11-long-owner-repo.txt +0 -0
  775. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/fuzz_frontmatter.py +0 -0
  776. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/fuzz/fuzz_registry.py +0 -0
  777. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/langchain/conftest.py +0 -0
  778. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/langchain/test_graph.py +0 -0
  779. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/langchain/test_loader.py +0 -0
  780. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/langchain/test_retriever.py +0 -0
  781. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/make_fixture.py +0 -0
  782. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/perf/test_benchmarks.py +0 -0
  783. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/smoke.sh +0 -0
  784. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_a11y_check.py +0 -0
  785. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_action_pin_lockstep.py +0 -0
  786. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_adapters.py +0 -0
  787. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_adapters_multi.py +0 -0
  788. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_adapters_runner.py +0 -0
  789. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_agents.py +0 -0
  790. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_ai.py +0 -0
  791. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_aihost.py +0 -0
  792. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_archive.py +0 -0
  793. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_bmad_core.py +0 -0
  794. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_boost_first_offer.py +0 -0
  795. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_bootstrap.py +0 -0
  796. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_bot_pr_dco.py +0 -0
  797. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_branch_current.py +0 -0
  798. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_browse.py +0 -0
  799. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_builtin.py +0 -0
  800. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_capabilities.py +0 -0
  801. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_catalog.py +0 -0
  802. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_catalogbundle.py +0 -0
  803. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_chat.py +0 -0
  804. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_check_anchors.py +0 -0
  805. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_check_dco.py +0 -0
  806. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_check_licenses.py +0 -0
  807. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_check_reproducible.py +0 -0
  808. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_claude_settings.py +0 -0
  809. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_clean_internal_cache.py +0 -0
  810. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_cli_update_shards.py +0 -0
  811. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_cliparse.py +0 -0
  812. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_codeql_analysis_key.py +0 -0
  813. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_command_reference_fresh.py +0 -0
  814. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_community_health_files.py +0 -0
  815. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_compact.py +0 -0
  816. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_complete.py +0 -0
  817. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_complete_rc_block.py +0 -0
  818. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_config.py +0 -0
  819. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_content_dedupe.py +0 -0
  820. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_content_identity.py +0 -0
  821. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_crash_redaction.py +0 -0
  822. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dedup_trust.py +0 -0
  823. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_demo_index.py +0 -0
  824. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense.py +0 -0
  825. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_boilerplate_cluster.py +0 -0
  826. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_embed_dedupe.py +0 -0
  827. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_entry_reuse.py +0 -0
  828. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_entry_vectors.py +0 -0
  829. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_fallback.py +0 -0
  830. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_fix_hint.py +0 -0
  831. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_progress.py +0 -0
  832. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_quantized.py +0 -0
  833. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_ready_order.py +0 -0
  834. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_shard_real_schema.py +0 -0
  835. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
  836. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_shards.py +0 -0
  837. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_status.py +0 -0
  838. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_status_cheap.py +0 -0
  839. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dense_vector_dedupe.py +0 -0
  840. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_dependabot_config.py +0 -0
  841. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_discovery.py +0 -0
  842. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_distill_merge.py +0 -0
  843. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_docs_pages_linked.py +0 -0
  844. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_docsite_chrome.py +0 -0
  845. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_doctor_output_polish.py +0 -0
  846. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_drift_hint.py +0 -0
  847. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_ed25519.py +0 -0
  848. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_embed.py +0 -0
  849. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_embed_local.py +0 -0
  850. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_embed_truncated_response.py +0 -0
  851. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_entry_key.py +0 -0
  852. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_errors_and_cli_table.py +0 -0
  853. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_eval_baseline.py +0 -0
  854. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_eval_corpus.py +0 -0
  855. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_eval_faithfulness.py +0 -0
  856. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_eval_gate.py +0 -0
  857. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_eval_grading.py +0 -0
  858. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_eval_metrics.py +0 -0
  859. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_eval_stats_summary.py +0 -0
  860. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_eval_tools.py +0 -0
  861. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_eval_tools_probe.py +0 -0
  862. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
  863. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_faithfulness.py +0 -0
  864. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_frontmatter.py +0 -0
  865. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_fuzz_targets.py +0 -0
  866. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_gemini_agent_sanitize.py +0 -0
  867. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_gitleaks_config.py +0 -0
  868. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_gitutil.py +0 -0
  869. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_gitutil_lfs.py +0 -0
  870. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_gitutil_sparse.py +0 -0
  871. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_gstack_coexistence.py +0 -0
  872. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_hook_settings_hosts.py +0 -0
  873. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_hookhost.py +0 -0
  874. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_imperative.py +0 -0
  875. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_import_budget.py +0 -0
  876. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_injectscan.py +0 -0
  877. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_install_permission_error.py +0 -0
  878. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_installscan.py +0 -0
  879. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_integrity.py +0 -0
  880. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_journal.py +0 -0
  881. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_jsonstate.py +0 -0
  882. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_langchain_packaging.py +0 -0
  883. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_launcher_python_floor.py +0 -0
  884. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_link_ownership.py +0 -0
  885. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_localembed.py +0 -0
  886. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_localembed_e2e.py +0 -0
  887. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_logs.py +0 -0
  888. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_marketing_counts.py +0 -0
  889. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_mcp.py +0 -0
  890. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_mcp_install_scan.py +0 -0
  891. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_mcp_read.py +0 -0
  892. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_mcpdecl.py +0 -0
  893. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_mcphost.py +0 -0
  894. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_measure_registry.py +0 -0
  895. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_minisign.py +0 -0
  896. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_mutation_hardening.py +0 -0
  897. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_mutation_shards.py +0 -0
  898. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_mutation_subfile_shards.py +0 -0
  899. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_mutmut_source_paths.py +0 -0
  900. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_near_duplicate_collapse.py +0 -0
  901. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_nethttp.py +0 -0
  902. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_normalize_sdist.py +0 -0
  903. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_page_budget.py +0 -0
  904. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_paths.py +0 -0
  905. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_perf_gate.py +0 -0
  906. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_pkg_confusions.py +0 -0
  907. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_pkg_injection.py +0 -0
  908. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_pkg_secrets.py +0 -0
  909. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_platform_pins.py +0 -0
  910. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_policy.py +0 -0
  911. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_post_deploy_smoke.py +0 -0
  912. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_project_mcp_sidecar.py +0 -0
  913. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_projectlock.py +0 -0
  914. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_provenance.py +0 -0
  915. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_publish_golden_dataset.py +0 -0
  916. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_rag_fastpath.py +0 -0
  917. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_rag_fusion.py +0 -0
  918. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_registries_fresh.py +0 -0
  919. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_registry.py +0 -0
  920. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_registry_categories.py +0 -0
  921. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_registry_control_chars.py +0 -0
  922. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_registry_parallel.py +0 -0
  923. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_release_guard.py +0 -0
  924. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_release_preflight.py +0 -0
  925. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_required_checks.py +0 -0
  926. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_rerank_cache.py +0 -0
  927. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_resolve.py +0 -0
  928. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_retrieve_any_near_duplicates.py +0 -0
  929. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_roadmap_fresh.py +0 -0
  930. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_rules.py +0 -0
  931. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_scale_corpus.py +0 -0
  932. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_schedule_plist.py +0 -0
  933. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_scopes.py +0 -0
  934. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_secretscan.py +0 -0
  935. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_selfupdate.py +0 -0
  936. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_serve.py +0 -0
  937. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_serve_docs.py +0 -0
  938. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_shard_plan.py +0 -0
  939. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_shards.py +0 -0
  940. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_shards_incremental.py +0 -0
  941. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_shards_ingest.py +0 -0
  942. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_shards_matrix.py +0 -0
  943. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_smoke_covers_every_command.py +0 -0
  944. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_spdx_headers.py +0 -0
  945. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_spin.py +0 -0
  946. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_stackprobe.py +0 -0
  947. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_staleness.py +0 -0
  948. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_store_materialize.py +0 -0
  949. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_sync_blocked_links.py +0 -0
  950. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
  951. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_tap_pins.py +0 -0
  952. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_token_parity.py +0 -0
  953. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_toolchain_lock.py +0 -0
  954. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_trustaudit.py +0 -0
  955. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_typedvalue.py +0 -0
  956. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_typosquat.py +0 -0
  957. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_updatediff.py +0 -0
  958. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_util.py +0 -0
  959. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_version.py +0 -0
  960. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_version_tags.py +0 -0
  961. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_vex.py +0 -0
  962. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_visual_harness_flags.py +0 -0
  963. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_workflow_concurrency.py +0 -0
  964. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_workflow_concurrency_groups.py +0 -0
  965. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_workflow_push_has_credentials.py +0 -0
  966. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_workflow_timeouts.py +0 -0
  967. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_workflows.py +0 -0
  968. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
  969. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/visual/a11y_check.mjs +0 -0
  970. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/visual/console_check.mjs +0 -0
  971. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/visual/package-lock.json +0 -0
  972. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/visual/package.json +0 -0
  973. {boost_skill_cli-1.2.99 → boost_skill_cli-1.2.101}/tests/visual/visual_check.mjs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.2.99
3
+ Version: 1.2.101
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License-Expression: Apache-2.0
@@ -480,6 +480,7 @@ purely local operation, for CI images and air-gapped machines.
480
480
  |------|-----|---------------|
481
481
  | Claude Code | `claude` | `claude mcp add` → its user-scope MCP config |
482
482
  | Gemini CLI | `gemini` | `gemini mcp add -s user` → `~/.gemini/settings.json` |
483
+ | Antigravity CLI | `agy` | `agy mcp add` → `~/.gemini/config/mcp_config.json` |
483
484
 
484
485
  Seven tools are exposed: `boost_search`, `boost_list`, `boost_info`,
485
486
  `boost_read`, `boost_install`, `boost_doctor` and
@@ -438,6 +438,7 @@ purely local operation, for CI images and air-gapped machines.
438
438
  |------|-----|---------------|
439
439
  | Claude Code | `claude` | `claude mcp add` → its user-scope MCP config |
440
440
  | Gemini CLI | `gemini` | `gemini mcp add -s user` → `~/.gemini/settings.json` |
441
+ | Antigravity CLI | `agy` | `agy mcp add` → `~/.gemini/config/mcp_config.json` |
441
442
 
442
443
  Seven tools are exposed: `boost_search`, `boost_list`, `boost_info`,
443
444
  `boost_read`, `boost_install`, `boost_doctor` and
@@ -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.2.99'
22
- __version_tuple__ = version_tuple = (1, 2, 99)
21
+ __version__ = version = '1.2.101'
22
+ __version_tuple__ = version_tuple = (1, 2, 101)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -52,20 +52,20 @@ GROUPS = {
52
52
  COMMANDS = [
53
53
  # Package Management (13)
54
54
  ("install", "pkg", "pkg", "Install a skill from a tap registry"),
55
- ("uninstall", "pkg", "pkg", "Remove an installed skill, rule, workflow, or config"),
55
+ ("uninstall", "pkg", "pkg", "Remove an installed skill, rule, or workflow"),
56
56
  ("sync", "pkg", "pkg", "Reconcile installed skills & symlinks against the lock file"),
57
57
  ("update", "pkg", "pkg", "Sync taps or update installed skills"),
58
- ("reinstall", "pkg", "pkg", "Reinstall a skill or all skills (force)"),
58
+ ("reinstall", "pkg", "pkg", "Reinstall a skill, rule or workflow (force)"),
59
59
  ("bundle", "pkg", "pkg", "Export/install skill sets via a Boostfile"),
60
60
  ("import", "pkg", "pkg", "Import skills from a GitHub URL or local path"),
61
- ("pin", "pkg", "pkg", "Pin a skill to its current version"),
62
- ("unpin", "pkg", "pkg", "Allow a pinned skill to update again"),
61
+ ("pin", "pkg", "pkg", "Pin a skill, rule or workflow to its current version"),
62
+ ("unpin", "pkg", "pkg", "Allow a pinned skill, rule or workflow to update again"),
63
63
  ("snapshot", "pkg", "pkg", "Save & restore whole skill environments"),
64
64
  ("export", "pkg", "pkg", "Package skills as shareable zip/tar archives"),
65
- ("adapt", "pkg", "pkg", "Render a skill as another framework's agent source (CrewAI, Agents SDK)"),
65
+ ("adapt", "pkg", "pkg", "Render a skill as another framework's agent source (CrewAI, Agents SDK, LangGraph)"),
66
66
  ("run", "pkg", "run", "Adapt a skill, wire tools & run it as a live agent"),
67
67
  # Discovery & Search (9)
68
- ("search", "find", "discovery", "Search skills across tap registries (AI-ranked)"),
68
+ ("search", "find", "discovery", "Search skills across tap registries (BM25; --smart reranks with Claude)"),
69
69
  ("reindex", "find", "discovery", "Build/refresh the full-content search index"),
70
70
  ("discover", "find", "discovery", "Search GitHub for skill repos you have not tapped yet"),
71
71
  ("recommend", "find", "discovery", "Suggest skills based on your project's tech stack"),
@@ -86,10 +86,10 @@ COMMANDS = [
86
86
  ("deps", "info", "info", "Show dependency & conflict relationships"),
87
87
  ("tag", "info", "info", "Custom labels for organizing skills"),
88
88
  # Registry (Taps) (5)
89
- ("tap", "tap", "taps", "Add a GitHub repo as a skill registry"),
89
+ ("tap", "tap", "taps", "Add a git URL, GitHub repo, or local directory as a skill registry"),
90
90
  ("untap", "tap", "taps", "Remove a registry tap"),
91
91
  ("taps", "tap", "taps", "List all configured registry taps"),
92
- ("outdated", "tap", "taps", "Show skills with available updates"),
92
+ ("outdated", "tap", "taps", "Show skills, rules & workflows with available updates"),
93
93
  ("catalog", "tap", "taps", "Share the tapped catalogue so others skip the clone"),
94
94
  # Intelligence (9)
95
95
  ("chat", "ai", "intelligence", "Ask about skills in plain language (RAG-grounded)"),
@@ -100,7 +100,7 @@ COMMANDS = [
100
100
  ("evolve", "ai", "intelligence", "Iteratively improve a skill from feedback"),
101
101
  ("context", "ai", "intelligence", "Branch-aware skill activation"),
102
102
  ("focus", "ai", "intelligence", "Temporarily prioritize skills for a work session"),
103
- ("impact", "ai", "intelligence", "Measure a skill's influence on code quality"),
103
+ ("impact", "ai", "intelligence", "Correlate a skill's install date with repo activity"),
104
104
  # Quality & Health (15)
105
105
  ("doctor", "chk", "quality", "Check installation health & report issues"),
106
106
  ("lint", "chk", "quality", "Validate SKILL.md frontmatter & quality"),
@@ -109,7 +109,7 @@ COMMANDS = [
109
109
  ("drift", "chk", "quality", "Detect installed skills diverging from source"),
110
110
  ("test", "chk", "quality", "Validate installed skills against quality checks"),
111
111
  ("fingerprint", "chk", "quality", "Deterministic hash of the skill environment"),
112
- ("quarantine", "chk", "safety", "Isolate a problematic skill without uninstalling"),
112
+ ("quarantine", "chk", "safety", "Isolate a problematic skill, rule or workflow without uninstalling"),
113
113
  ("decay", "chk", "quality", "Flag skills irrelevant to your current stack"),
114
114
  ("heal", "chk", "quality", "Self-diagnose & repair the boost environment"),
115
115
  ("conflict", "chk", "quality", "Detect contradictory rules between skills"),
@@ -124,11 +124,11 @@ COMMANDS = [
124
124
  ("compact", "cfg", "configuration", "Shrink tap clones to the files boost indexes"),
125
125
  ("create", "cfg", "configuration", "Scaffold a new skill from a template"),
126
126
  ("policy", "cfg", "configuration", "Manage & enforce skill governance policies"),
127
- ("onboard", "cfg", "configuration", "Add skill-tracker telemetry to a repo & open a PR"),
127
+ ("onboard", "cfg", "configuration", "Add skill-tracker telemetry to a repo (optionally open a PR with --pr)"),
128
128
  ("completions", "cfg", "configuration", "Generate shell tab-completion scripts"),
129
129
  ("schedule", "cfg", "configuration", "Manage automatic skill-sync scheduling"),
130
130
  ("serve", "cfg", "configuration", "Browse the catalogue in a browser: search, facets and a tap graph"),
131
- ("mcp", "cfg", "configuration", "Register boost as an MCP server (Claude Code, Gemini CLI)"),
131
+ ("mcp", "cfg", "configuration", "Register boost as an MCP server (Claude Code, Gemini CLI, Antigravity CLI)"),
132
132
  ("hooks", "cfg", "hooks", "Manage agent hooks (Claude Code, Gemini CLI) in settings.json"),
133
133
  ("bmad", "cfg", "bmad", "BMAD Method autopilot — `bmad on` routes every task to a persona"),
134
134
  ("self-update", "cfg", "configuration", "Update boost itself to the latest version"),
@@ -729,7 +729,7 @@ def cmd_onboard(argv) -> int:
729
729
  """boost onboard [--repo DIR] [--pr] [--dry-run] [--force]"""
730
730
  p = cliparse.parser(
731
731
  prog="boost onboard",
732
- description="Add skill-tracker telemetry to a repo & open a PR")
732
+ description="Add skill-tracker telemetry to a repo (optionally open a PR with --pr)")
733
733
  p.add_argument("--repo", default=".", help="repository directory (default: .)")
734
734
  p.add_argument("--pr", action="store_true",
735
735
  help="commit on a branch and open a PR with `gh`")
@@ -754,7 +754,8 @@ def cmd_onboard(argv) -> int:
754
754
  files = [(_TELEMETRY_REL, telemetry), (_WORKFLOW_REL, _WORKFLOW_YML)]
755
755
  if repo != paths.store_dir().resolve():
756
756
  files.append((".skill-lock.json",
757
- json.dumps(lockfile.read(), indent=2, sort_keys=True) + "\n"))
757
+ json.dumps(lockfile.portable(lockfile.read()),
758
+ indent=2, sort_keys=True) + "\n"))
758
759
 
759
760
  if args.dry_run:
760
761
  for rel, content in files:
@@ -1852,8 +1853,9 @@ def cmd_mcp(argv) -> int:
1852
1853
  choices=("register", "unregister"),
1853
1854
  help="what to do (default: register)")
1854
1855
  p.add_argument("--host", metavar="H", default="auto",
1855
- help="agent CLI to (un)register with: %s, or `auto` "
1856
- "(default) for every one that is installed"
1856
+ help="agent CLI to (un)register with: %s, `auto` "
1857
+ "(default) for every one that is installed, or "
1858
+ "`all` for every known host regardless of install"
1857
1859
  % ", ".join(mcphost.hosts()))
1858
1860
  p.add_argument("--stdio", action="store_true",
1859
1861
  help="run the MCP server on stdin/stdout (used by the agent)")
@@ -103,7 +103,7 @@ def cmd_search(argv):
103
103
  """Search the tap catalogs, optionally AI-reranked with --smart."""
104
104
  p = cliparse.parser(
105
105
  prog="boost search",
106
- description="Search skills across tap registries (AI-ranked)")
106
+ description="Search skills across tap registries (BM25; --smart reranks with Claude)")
107
107
  p.add_argument("query", nargs="+", help="search terms")
108
108
  p.add_argument("--smart", action="store_true",
109
109
  help="rerank the top hits with Claude")
@@ -460,7 +460,7 @@ def cmd_reindex(argv):
460
460
  """Build/refresh the full-content (RAG) search index over tapped items."""
461
461
  p = cliparse.parser(
462
462
  prog="boost reindex",
463
- description="Build or refresh the full-content search index")
463
+ description="Build/refresh the full-content search index")
464
464
  p.add_argument("--force", action="store_true",
465
465
  help="reindex every tap, ignoring cached commits")
466
466
  p.add_argument("--dense", action="store_true",
@@ -802,28 +802,35 @@ def _fall_back(why: str, hint: str) -> None:
802
802
  def _discover_live(args, tokens):
803
803
  """Search GitHub itself — the same reach-out the MCP tool makes.
804
804
 
805
- Returns an exit code, or None to fall through to the cached index.
805
+ Returns ``(exit_code, fallback_reason)``. ``exit_code`` is ``None`` to fall
806
+ through to the cached index, in which case ``fallback_reason`` is a short
807
+ phrase naming *why* — fed straight into the local-index miss footer, which
808
+ otherwise cannot tell "gh is missing" from "the search failed" apart from
809
+ "no query was given at all", and used to blame all three on the same
810
+ ("GitHub could not be reached").
806
811
  """
807
812
  if not shutil.which("gh"):
808
- return _fall_back("GitHub search needs the `gh` CLI",
809
- "install it with `brew install gh && gh auth login` "
810
- "to search GitHub itself")
813
+ _fall_back("GitHub search needs the `gh` CLI",
814
+ "install it with `brew install gh && gh auth login` "
815
+ "to search GitHub itself")
816
+ return None, "the `gh` CLI is not installed"
811
817
  hits = github_skill_search(" ".join(tokens), _GH_PAGE)
812
818
  if hits is None:
813
- return _fall_back("GitHub code search failed", "check `gh auth status`")
819
+ _fall_back("GitHub code search failed", "check `gh auth status`")
820
+ return None, "GitHub code search failed"
814
821
  rows = _by_repo(hits)[:args.limit]
815
822
  if args.as_json:
816
823
  # `source` on every row, in both paths, because the fall-through above
817
824
  # switches corpus *and* row shape. Without it a script cannot tell
818
825
  # "GitHub has no matches" from "GitHub was never searched".
819
826
  print(json.dumps([r | {"source": "github"} for r in rows]))
820
- return 0
827
+ return 0, None
821
828
  if not rows:
822
829
  out.info("no SKILL.md repositories on GitHub match %r"
823
830
  % " ".join(tokens))
824
831
  out.info(out.role("try broader terms, or `boost search` for the "
825
832
  "registries already tapped", "muted"))
826
- return 0
833
+ return 0, None
827
834
  # The count rides the repo column, which is short: appended to the path it
828
835
  # was the first thing a narrow terminal truncated away. out.plain because
829
836
  # every field here is a GitHub string — a repo name or path carrying a
@@ -839,7 +846,7 @@ def _discover_live(args, tokens):
839
846
  "GitHub Code Search" % (len(rows), len(hits)), "muted"))
840
847
  out.info(out.role("add one with `boost tap <repo>`, then `boost install "
841
848
  "<skill>`", "muted"))
842
- return 0
849
+ return 0, None
843
850
 
844
851
 
845
852
  def cmd_discover(argv):
@@ -859,21 +866,27 @@ def cmd_discover(argv):
859
866
  # A query is a question about GitHub, not about whatever `boost index`
860
867
  # happened to sample — so ask GitHub. The cached index stays the answer for
861
868
  # bare browsing and for --local, where being offline is the point.
869
+ fallback_reason = None
862
870
  if tokens and not args.local:
863
- code = _discover_live(args, tokens)
871
+ code, fallback_reason = _discover_live(args, tokens)
864
872
  if code is not None:
865
873
  return code
866
874
  dpath = _discovery_path()
867
875
  if not dpath.exists():
868
- if args.as_json:
869
- print(json.dumps([]))
870
- return 0
871
- out.info("the discovery index has not been built yet")
876
+ # These lines must reach the user under --json too — stdout has to stay
877
+ # parseable, but "index not built" and "nothing matched" are different
878
+ # facts and a script deserves to be able to tell them apart, same as
879
+ # the live fall-back notice below.
880
+ stream = sys.stderr if args.as_json else None
881
+ out.info("the discovery index has not been built yet", stream=stream)
872
882
  if shutil.which("gh"):
873
- out.info("build it with `boost index` (GitHub Code Search)")
883
+ out.info("build it with `boost index` (GitHub Code Search)",
884
+ stream=stream)
874
885
  else:
875
886
  out.info("install the GitHub CLI first (`brew install gh && "
876
- "gh auth login`), then run `boost index`")
887
+ "gh auth login`), then run `boost index`", stream=stream)
888
+ if args.as_json:
889
+ print(json.dumps([]))
877
890
  return 0
878
891
  try:
879
892
  data = json.loads(dpath.read_text(encoding="utf-8"))
@@ -881,41 +894,55 @@ def cmd_discover(argv):
881
894
  raise BoostError("the discovery index is corrupt",
882
895
  hint="rebuild it with `boost index`") from None
883
896
  all_items = data.get("items") or []
884
- tokens = [t.lower() for t in args.query if t.strip()]
897
+ query_tokens = [t.lower() for t in args.query if t.strip()]
885
898
  items = [it for it in all_items
886
899
  if all(t in ("%s %s %s" % (it.get("repo", ""), it.get("path", ""),
887
900
  it.get("description", ""))).lower()
888
- for t in tokens)]
889
- shown = items[:args.limit]
901
+ for t in query_tokens)]
890
902
  if args.as_json:
891
903
  # Tagged like the live rows above: this is the branch a script reaches
892
- # after a silent fall-through, and the two row shapes differ.
904
+ # after a silent fall-through, and the two row shapes differ. Rows stay
905
+ # per-file here — a script asked for the raw matches, and repo
906
+ # collapsing is a table-rendering concern, not a data-shape one.
907
+ shown = items[:args.limit]
893
908
  print(json.dumps([it | {"source": "local-index"} for it in shown]))
894
909
  return 0
895
- if not shown:
910
+ # One row per repository, same as the live table: code search (and a
911
+ # mirrored registry) can return several files from one repo, and a repo is
912
+ # what `boost tap` acts on.
913
+ repo_rows = _by_repo(items)[:args.limit]
914
+ if not repo_rows:
896
915
  out.info("no locally indexed skills match %r" % " ".join(args.query))
897
- # Say what was actually consulted. The old wording read as a verdict on
898
- # GitHub when it was only ever a verdict on this cache. The next line
899
- # depends on WHY we are here: told to stay local, or fell through after
900
- # GitHub was unreachable. "drop --local" to someone who never typed it
901
- # is advice they cannot act on, contradicting the warning just printed.
902
- out.info(out.role(
903
- ("this searched a local sample of %d entries, not GitHub — drop "
904
- "--local to search GitHub itself" % len(all_items))
905
- if args.local else
906
- ("this searched a local sample of %d entries because GitHub could "
907
- "not be reached" % len(all_items)), "muted"))
916
+ # Say what was actually consulted. The old wording blamed "GitHub could
917
+ # not be reached" whatever the real reason — including a bare browse
918
+ # that never contacted GitHub at all. The next line depends on WHY we
919
+ # are here: told to stay local, a real fall-back with a known cause, or
920
+ # no query (so no live attempt) at all. "drop --local" to someone who
921
+ # never typed it is advice they cannot act on.
922
+ if args.local:
923
+ note = ("this searched a local sample of %d entries, not GitHub — "
924
+ "drop --local to search GitHub itself" % len(all_items))
925
+ elif fallback_reason:
926
+ note = ("this searched a local sample of %d entries because %s"
927
+ % (len(all_items), fallback_reason))
928
+ else:
929
+ note = ("this searched a local sample of %d entries — GitHub was "
930
+ "not searched" % len(all_items))
931
+ out.info(out.role(note, "muted"))
908
932
  return 0
909
- # out.plain: these rows came from GitHub too, by way of `boost index`.
910
- out.table([(out.plain(it.get("repo", "?")), out.plain(it.get("path", "")),
911
- out.role(out.plain(it.get("url", "")), "muted")) for it in shown],
933
+ # out.plain: these rows came from GitHub too, by way of `boost index`. The
934
+ # "(N)" cell mirrors the live table for the same reason it exists there.
935
+ out.table([(out.plain(it.get("repo", "?"))
936
+ + (" (%d)" % it["files"] if it.get("files", 1) > 1 else ""),
937
+ out.plain(it.get("path", "")),
938
+ out.role(out.plain(it.get("url", "")), "muted")) for it in repo_rows],
912
939
  headers=("repo", "path", "url"))
913
940
  # `github_total` is the match count for the query `boost index` was built
914
941
  # with, which since that command took a query is not "all of GitHub".
915
942
  scope = (" matching %r" % data["query"]) if data.get("query") else ""
916
- out.info(out.role("%d of %d indexed skills · GitHub reported ~%d total%s "
917
- "when this index was built"
918
- % (len(shown), len(all_items),
943
+ out.info(out.role("%d repo(s) across %d of %d indexed skill files · GitHub "
944
+ "reported ~%d total%s when this index was built"
945
+ % (len(repo_rows), len(items), len(all_items),
919
946
  int(data.get("github_total") or 0), scope), "muted"))
920
947
  return 0
921
948
 
@@ -23,6 +23,7 @@ from ..core import (
23
23
  capabilities,
24
24
  catalog,
25
25
  config,
26
+ deps,
26
27
  faithfulness,
27
28
  frontmatter,
28
29
  gitutil,
@@ -31,6 +32,7 @@ from ..core import (
31
32
  journal,
32
33
  lockfile,
33
34
  logs,
35
+ mcpdecl,
34
36
  paths,
35
37
  projectlock,
36
38
  registry,
@@ -928,6 +930,7 @@ def cmd_log(argv):
928
930
  if args.diagnostics:
929
931
  return _show_diagnostics(args.limit)
930
932
  if args.name:
933
+ _, bare = catalog.split_name(args.name)
931
934
  found = lockfile.find_any(args.name)
932
935
  if found:
933
936
  # A skill records its source dir; rules/workflows record a source
@@ -948,9 +951,9 @@ def cmd_log(argv):
948
951
  hint="run `boost update %s`" % tap.name)
949
952
  lines = gitutil.log_for_path(tap.path, rel, args.limit)
950
953
  if not lines:
951
- out.info("no commits touch %s in %s" % (args.name, tap.name))
954
+ out.info("no commits touch %s in %s" % (bare, tap.name))
952
955
  return 0
953
- out.heading("%s — history in %s" % (args.name, tap.name))
956
+ out.heading("%s — history in %s" % (bare, tap.name))
954
957
  for line in lines:
955
958
  out.info(line)
956
959
  return 0
@@ -958,6 +961,7 @@ def cmd_log(argv):
958
961
  if not events:
959
962
  out.info("no activity yet")
960
963
  return 0
964
+ out.heading("activity")
961
965
  action_roles = {"install": "success", "uninstall": "danger"}
962
966
  w_time = max(len(util.rel_time(e.get("ts", ""))) for e in events)
963
967
  w_user = max(len(e.get("user", "?")) for e in events)
@@ -1003,6 +1007,46 @@ def cmd_home(argv):
1003
1007
  return 0
1004
1008
 
1005
1009
 
1010
+ def _skill_dir_for_deps(name: str):
1011
+ """Best-effort on-disk skill directory for reading a bundled ``.mcp.json``
1012
+ sidecar — the installed store copy preferred, a materialized tap source
1013
+ otherwise. ``None`` when neither resolves (not a skill, or unknown
1014
+ everywhere) — an MCP declaration is a skill-only concept.
1015
+ """
1016
+ sdir = store.skill_store_dir(name)
1017
+ if sdir.is_dir():
1018
+ return sdir
1019
+ try:
1020
+ cat = catalog.resolve_one(name)
1021
+ except BoostError:
1022
+ return None
1023
+ try:
1024
+ return store.source_dir_for(cat)
1025
+ except BoostError:
1026
+ return None
1027
+
1028
+
1029
+ def _mcp_requirement_rows(skill_dir) -> list[dict]:
1030
+ """Declared MCP servers a skill needs -> ``{name, registrable}`` rows.
1031
+
1032
+ ``registrable`` is whether boost has an actual runnable spec for the
1033
+ server (a bundled ``.mcp.json`` command) — a name-only frontmatter
1034
+ declaration never is, since boost will not invent a launch command on an
1035
+ author's behalf (:func:`mcpdecl.registrable`). This is the fact
1036
+ ``requires: mcp <name> (not registered)`` reports: not a live check
1037
+ against any host's actual configuration (boost has no generic reader for
1038
+ that), only whether boost itself could wire the server up.
1039
+ """
1040
+ if skill_dir is None:
1041
+ return []
1042
+ declared = store.declared_mcp_servers(skill_dir)
1043
+ if not declared:
1044
+ return []
1045
+ registrable = {r["name"] for r in mcpdecl.registrable(declared)}
1046
+ return [{"name": r["name"], "registrable": r["name"] in registrable}
1047
+ for r in declared]
1048
+
1049
+
1006
1050
  def cmd_deps(argv):
1007
1051
  ap = cliparse.parser(prog="boost deps",
1008
1052
  description="Show dependency & conflict relationships")
@@ -1018,50 +1062,66 @@ def cmd_deps(argv):
1018
1062
  if args.name:
1019
1063
  text, _kind, _lock, _cat = _resolve_text(args.name)
1020
1064
  meta = frontmatter.parse(text)[0]
1021
- requires = _as_list(meta.get("requires"))
1022
- conflicts = _as_list(meta.get("conflicts"))
1023
- problems = (any(r not in have for r in requires)
1024
- or any(c in have for c in conflicts))
1065
+ requires = deps.requirement_names(meta)
1066
+ conflicts = deps.conflict_names(meta)
1067
+ req_rows = [deps.requirement_row(
1068
+ r, have, deps.requirement_names(_skill_meta(r) or {}))
1069
+ for r in requires]
1070
+ conflict_rows = [deps.conflict_row(c, have) for c in conflicts]
1071
+ _qualifier, bare = catalog.split_name(args.name)
1072
+ mcp_rows = _mcp_requirement_rows(_skill_dir_for_deps(bare))
1073
+ # A transitively unmet requirement used to print a "✗ not installed"
1074
+ # line the exit code never counted — `has_unmet` walks the same
1075
+ # nesting the renderer does, so the two can never disagree again.
1076
+ problems = deps.has_unmet(req_rows) or deps.active_conflicts(conflict_rows)
1025
1077
  if args.json:
1026
1078
  print(json.dumps({
1027
1079
  "name": args.name,
1028
- "requires": [{"name": r, "installed": r in have,
1029
- "requires": _as_list((_skill_meta(r) or {}).get("requires"))}
1030
- for r in requires],
1031
- "conflicts": [{"name": c, "installed": c in have} for c in conflicts],
1080
+ "requires": req_rows,
1081
+ "mcp": mcp_rows,
1082
+ "conflicts": conflict_rows,
1032
1083
  }, indent=2))
1033
1084
  return 1 if problems else 0
1034
1085
  out.info(out.c(args.name, out.BOLD))
1035
- if not requires:
1086
+ if not requires and not mcp_rows:
1036
1087
  out.info(" requires: " + out.role("(none)", "muted"))
1037
- for r in requires:
1038
- out.info(" requires: %s %s" % (r, _mark(r in have)))
1039
- for sub in _as_list((_skill_meta(r) or {}).get("requires")):
1040
- out.info(" ↳ %s %s" % (sub, _mark(sub in have)))
1088
+ for row in req_rows:
1089
+ out.info(" requires: %s %s" % (row["name"], _mark(row["installed"])))
1090
+ for sub in row["requires"]:
1091
+ out.info(" ↳ %s %s" % (sub["name"], _mark(sub["installed"])))
1092
+ for r in mcp_rows:
1093
+ note = "" if r["registrable"] else out.role(" (not registered)", "muted")
1094
+ out.info(" requires: mcp %s%s" % (r["name"], note))
1041
1095
  if not conflicts:
1042
1096
  out.info(" conflicts: " + out.role("(none)", "muted"))
1043
- for c_name in conflicts:
1044
- state = (out.role("✗ installed (conflict!)", "danger") if c_name in have
1097
+ for row in conflict_rows:
1098
+ state = (out.role("✗ installed (conflict!)", "danger") if row["installed"]
1045
1099
  else out.role("not installed", "muted"))
1046
- out.info(" conflicts: %s %s" % (c_name, state))
1100
+ out.info(" conflicts: %s %s" % (row["name"], state))
1101
+ if problems:
1102
+ missing = deps.unmet_names(req_rows)
1103
+ if missing:
1104
+ out.warn("`boost install %s` to satisfy %d unmet requirement%s"
1105
+ % (" ".join(missing), len(missing),
1106
+ "" if len(missing) == 1 else "s"))
1047
1107
  return 1 if problems else 0
1048
1108
 
1049
1109
  unmet: list[dict] = []
1050
- pairs: list[list] = [] # JSON-dumped, so lists rather than tuples
1110
+ pairs: list[dict] = []
1051
1111
  seen: set = set()
1052
1112
  for name in sorted(inst):
1053
1113
  meta = _skill_meta(name) or {}
1054
1114
  unmet.extend(
1055
- {"skill": name, "requires": r}
1056
- for r in _as_list(meta.get("requires"))
1115
+ {"skill": name, "requires": deps.requirement_row(r, have)}
1116
+ for r in deps.requirement_names(meta)
1057
1117
  if r not in have
1058
1118
  )
1059
- for c_name in _as_list(meta.get("conflicts")):
1119
+ for c_name in deps.conflict_names(meta):
1060
1120
  if c_name in have:
1061
1121
  key = tuple(sorted((name, c_name)))
1062
1122
  if key not in seen:
1063
1123
  seen.add(key)
1064
- pairs.append(list(key))
1124
+ pairs.append({"a": key[0], "b": key[1]})
1065
1125
  if args.json:
1066
1126
  print(json.dumps({"unmet": unmet, "conflicts": pairs}, indent=2))
1067
1127
  return 1 if unmet or pairs else 0
@@ -1071,14 +1131,20 @@ def cmd_deps(argv):
1071
1131
  return 0
1072
1132
  for u in unmet:
1073
1133
  out.info("%s requires %s %s"
1074
- % (out.c(u["skill"], out.BOLD), u["requires"], _mark(False)))
1075
- for a, b in pairs:
1076
- out.info("%s %s %s" % (out.c(a, out.BOLD),
1077
- out.role("conflicts with", "danger"), out.c(b, out.BOLD)))
1134
+ % (out.c(u["skill"], out.BOLD), u["requires"]["name"],
1135
+ _mark(u["requires"]["installed"])))
1136
+ for pair in pairs:
1137
+ out.info("%s %s %s" % (out.c(pair["a"], out.BOLD),
1138
+ out.role("conflicts with", "danger"), out.c(pair["b"], out.BOLD)))
1078
1139
  if not unmet and not pairs:
1079
1140
  out.ok("no unmet requirements or conflicts across %d skill%s"
1080
1141
  % (len(inst), "" if len(inst) == 1 else "s"))
1081
1142
  return 0
1143
+ if unmet:
1144
+ missing = sorted({u["requires"]["name"] for u in unmet})
1145
+ out.warn("`boost install %s` to satisfy %d unmet requirement%s"
1146
+ % (" ".join(missing), len(missing),
1147
+ "" if len(missing) == 1 else "s"))
1082
1148
  return 1
1083
1149
 
1084
1150
 
@@ -324,9 +324,10 @@ def cmd_simulate(argv: list[str]) -> int:
324
324
  help="task to simulate (default: a typical coding task)")
325
325
  args = ap.parse_args(argv)
326
326
 
327
+ _, bare = catalog.split_name(args.name)
327
328
  text, origin = _skill_text(args.name)
328
329
  task = args.task or "a typical coding task in this repo"
329
- out.heading("simulating %s %s" % (args.name, out.role("(%s)" % origin, "muted")))
330
+ out.heading("simulating %s %s" % (bare, out.role("(%s)" % origin, "muted")))
330
331
 
331
332
  if ai.available():
332
333
  reply = ai.ask(
@@ -344,7 +345,7 @@ def cmd_simulate(argv: list[str]) -> int:
344
345
  out.kv("task", task)
345
346
  rules = imperative.imperative_rules(body)
346
347
  out.info("Without it: default behavior — none of the rules below are enforced.")
347
- out.info(out.c("With %s active, Claude would:" % args.name, out.BOLD))
348
+ out.info(out.c("With %s active, Claude would:" % bare, out.BOLD))
348
349
  if rules:
349
350
  for rule in rules[:8]:
350
351
  out.info(" • " + rule)
@@ -1142,7 +1143,7 @@ def cmd_focus(argv: list[str]) -> int:
1142
1143
  def cmd_impact(argv: list[str]) -> int:
1143
1144
  ap = cliparse.parser(
1144
1145
  prog="boost impact",
1145
- description="Measure a skill's influence on code quality")
1146
+ description="Correlate a skill's install date with repo activity")
1146
1147
  ap.add_argument("name", nargs="?", metavar="NAME",
1147
1148
  help="one skill (default: all installed)")
1148
1149
  ap.add_argument("--json", action="store_true")
@@ -535,7 +535,7 @@ def cmd_install(argv: list[str]) -> int:
535
535
  def cmd_uninstall(argv: list[str]) -> int:
536
536
  ap = cliparse.parser(
537
537
  prog="boost uninstall",
538
- description="Remove an installed skill, rule, workflow, or config")
538
+ description="Remove an installed skill, rule, or workflow")
539
539
  ap.add_argument("names", nargs="+", metavar="NAME")
540
540
  ap.add_argument("--local", dest="scope", action="store_const",
541
541
  const=scopes.SCOPE_PROJECT, default=None,
@@ -1528,7 +1528,7 @@ def _import_root(root: Path, name: str | None, do_all: bool,
1528
1528
 
1529
1529
  def cmd_pin(argv: list[str]) -> int:
1530
1530
  ap = cliparse.parser(prog="boost pin",
1531
- description="Pin a skill to its current version")
1531
+ description="Pin a skill, rule or workflow to its current version")
1532
1532
  ap.add_argument("name", metavar="NAME")
1533
1533
  ap.add_argument("--commit", action="store_true",
1534
1534
  help="also freeze the exact source commit (integrity pin)")
@@ -1546,15 +1546,22 @@ def cmd_pin(argv: list[str]) -> int:
1546
1546
 
1547
1547
  def cmd_unpin(argv: list[str]) -> int:
1548
1548
  ap = cliparse.parser(prog="boost unpin",
1549
- description="Allow a pinned skill to update again")
1549
+ description="Allow a pinned skill, rule or workflow to update again")
1550
1550
  ap.add_argument("name", metavar="NAME")
1551
1551
  args = ap.parse_args(argv)
1552
1552
  # Releasing the version pin releases the commit pin with it — a commit pin
1553
- # only makes sense while the skill is otherwise frozen.
1553
+ # only makes sense while the skill is otherwise frozen. The commit pin is
1554
+ # cleared before `_set_pin` so it takes effect either way, but the dim
1555
+ # trailer prints after — it qualifies `_set_pin`'s own "unpinned" line, so
1556
+ # printing it first would leave the trailer describing a line that has
1557
+ # not appeared yet (mirrors `cmd_pin`'s ok-line-then-trailer order).
1554
1558
  found = lockfile.find_any(args.name)
1555
- if found and integrity.clear_commit_pin(args.name, found[1], kind=found[0]):
1559
+ cleared_commit_pin = bool(
1560
+ found and integrity.clear_commit_pin(args.name, found[1], kind=found[0]))
1561
+ rc = _set_pin(args.name, False)
1562
+ if cleared_commit_pin:
1556
1563
  out.dim(" released the commit pin too")
1557
- return _set_pin(args.name, False)
1564
+ return rc
1558
1565
 
1559
1566
 
1560
1567
  def _set_pin(name: str, pinned: bool) -> int: