skills-manager-cli 0.1.0__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 (539) hide show
  1. skills_manager_cli-0.1.0/.github/workflows/ci.yml +128 -0
  2. skills_manager_cli-0.1.0/.github/workflows/release.yml +170 -0
  3. skills_manager_cli-0.1.0/.gitignore +20 -0
  4. skills_manager_cli-0.1.0/.opencode/commands/speckit.analyze.md +251 -0
  5. skills_manager_cli-0.1.0/.opencode/commands/speckit.bug.assess.md +176 -0
  6. skills_manager_cli-0.1.0/.opencode/commands/speckit.bug.fix.md +115 -0
  7. skills_manager_cli-0.1.0/.opencode/commands/speckit.bug.test.md +120 -0
  8. skills_manager_cli-0.1.0/.opencode/commands/speckit.checklist.md +375 -0
  9. skills_manager_cli-0.1.0/.opencode/commands/speckit.clarify.md +287 -0
  10. skills_manager_cli-0.1.0/.opencode/commands/speckit.constitution.md +175 -0
  11. skills_manager_cli-0.1.0/.opencode/commands/speckit.converge.md +275 -0
  12. skills_manager_cli-0.1.0/.opencode/commands/speckit.git.commit.md +66 -0
  13. skills_manager_cli-0.1.0/.opencode/commands/speckit.git.feature.md +85 -0
  14. skills_manager_cli-0.1.0/.opencode/commands/speckit.git.initialize.md +52 -0
  15. skills_manager_cli-0.1.0/.opencode/commands/speckit.git.remote.md +48 -0
  16. skills_manager_cli-0.1.0/.opencode/commands/speckit.git.validate.md +52 -0
  17. skills_manager_cli-0.1.0/.opencode/commands/speckit.implement.md +218 -0
  18. skills_manager_cli-0.1.0/.opencode/commands/speckit.plan.md +166 -0
  19. skills_manager_cli-0.1.0/.opencode/commands/speckit.specify.md +345 -0
  20. skills_manager_cli-0.1.0/.opencode/commands/speckit.tasks.md +216 -0
  21. skills_manager_cli-0.1.0/.opencode/commands/speckit.taskstoissues.md +102 -0
  22. skills_manager_cli-0.1.0/.specify/.gitignore +9 -0
  23. skills_manager_cli-0.1.0/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +4 -0
  24. skills_manager_cli-0.1.0/.specify/extensions/.cache/catalog-ebf165086500aab1.json +6847 -0
  25. skills_manager_cli-0.1.0/.specify/extensions/.cache/catalog-metadata.json +4 -0
  26. skills_manager_cli-0.1.0/.specify/extensions/.cache/catalog.json +81 -0
  27. skills_manager_cli-0.1.0/.specify/extensions/.registry +39 -0
  28. skills_manager_cli-0.1.0/.specify/extensions/bug/README.md +80 -0
  29. skills_manager_cli-0.1.0/.specify/extensions/bug/commands/speckit.bug.assess.md +173 -0
  30. skills_manager_cli-0.1.0/.specify/extensions/bug/commands/speckit.bug.fix.md +112 -0
  31. skills_manager_cli-0.1.0/.specify/extensions/bug/commands/speckit.bug.test.md +117 -0
  32. skills_manager_cli-0.1.0/.specify/extensions/bug/extension.yml +31 -0
  33. skills_manager_cli-0.1.0/.specify/extensions/git/README.md +119 -0
  34. skills_manager_cli-0.1.0/.specify/extensions/git/commands/speckit.git.commit.md +63 -0
  35. skills_manager_cli-0.1.0/.specify/extensions/git/commands/speckit.git.feature.md +82 -0
  36. skills_manager_cli-0.1.0/.specify/extensions/git/commands/speckit.git.initialize.md +49 -0
  37. skills_manager_cli-0.1.0/.specify/extensions/git/commands/speckit.git.remote.md +45 -0
  38. skills_manager_cli-0.1.0/.specify/extensions/git/commands/speckit.git.validate.md +49 -0
  39. skills_manager_cli-0.1.0/.specify/extensions/git/config-template.yml +79 -0
  40. skills_manager_cli-0.1.0/.specify/extensions/git/extension.yml +142 -0
  41. skills_manager_cli-0.1.0/.specify/extensions/git/git-config.yml +79 -0
  42. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/bash/auto-commit.sh +211 -0
  43. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/bash/create-new-feature-branch.sh +639 -0
  44. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/bash/git-common.sh +56 -0
  45. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/bash/initialize-repo.sh +54 -0
  46. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/powershell/auto-commit.ps1 +230 -0
  47. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +594 -0
  48. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/powershell/git-common.ps1 +52 -0
  49. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/powershell/initialize-repo.ps1 +69 -0
  50. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/python/auto_commit.py +195 -0
  51. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/python/create_new_feature_branch.py +641 -0
  52. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/python/git_common.py +81 -0
  53. skills_manager_cli-0.1.0/.specify/extensions/git/scripts/python/initialize_repo.py +89 -0
  54. skills_manager_cli-0.1.0/.specify/extensions.yml +168 -0
  55. skills_manager_cli-0.1.0/.specify/init-options.json +8 -0
  56. skills_manager_cli-0.1.0/.specify/integration.json +15 -0
  57. skills_manager_cli-0.1.0/.specify/integrations/opencode.manifest.json +17 -0
  58. skills_manager_cli-0.1.0/.specify/integrations/speckit.manifest.json +19 -0
  59. skills_manager_cli-0.1.0/.specify/memory/.constitution-template.json +4 -0
  60. skills_manager_cli-0.1.0/.specify/memory/constitution.md +78 -0
  61. skills_manager_cli-0.1.0/.specify/scripts/bash/check-prerequisites.sh +243 -0
  62. skills_manager_cli-0.1.0/.specify/scripts/bash/common.sh +926 -0
  63. skills_manager_cli-0.1.0/.specify/scripts/bash/create-new-feature.sh +424 -0
  64. skills_manager_cli-0.1.0/.specify/scripts/bash/resolve-template.sh +57 -0
  65. skills_manager_cli-0.1.0/.specify/scripts/bash/setup-plan.sh +85 -0
  66. skills_manager_cli-0.1.0/.specify/scripts/bash/setup-tasks.sh +94 -0
  67. skills_manager_cli-0.1.0/.specify/templates/checklist-template.md +45 -0
  68. skills_manager_cli-0.1.0/.specify/templates/constitution-template.md +50 -0
  69. skills_manager_cli-0.1.0/.specify/templates/plan-template.md +113 -0
  70. skills_manager_cli-0.1.0/.specify/templates/spec-template.md +131 -0
  71. skills_manager_cli-0.1.0/.specify/templates/tasks-template.md +252 -0
  72. skills_manager_cli-0.1.0/.specify/workflows/speckit/workflow.yml +74 -0
  73. skills_manager_cli-0.1.0/.specify/workflows/workflow-registry.json +13 -0
  74. skills_manager_cli-0.1.0/AGENTS.md +71 -0
  75. skills_manager_cli-0.1.0/CONTRIBUTING.md +74 -0
  76. skills_manager_cli-0.1.0/LICENSE +21 -0
  77. skills_manager_cli-0.1.0/PKG-INFO +298 -0
  78. skills_manager_cli-0.1.0/docs/backlog.md +777 -0
  79. skills_manager_cli-0.1.0/docs/release-checklist.md +108 -0
  80. skills_manager_cli-0.1.0/graphify-out/.graphify_labels.json +1 -0
  81. skills_manager_cli-0.1.0/graphify-out/.graphify_python +1 -0
  82. skills_manager_cli-0.1.0/graphify-out/.graphify_root +1 -0
  83. skills_manager_cli-0.1.0/graphify-out/GRAPH_REPORT.md +401 -0
  84. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/023ee245a2e64e71e4de8672268556a41448ad0ea5f29a60fb8bd54d8e4d9a1c.json +1 -0
  85. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/0284d530ffc6febc6c929a07f7c216298571726ee0a6574112581ad9a1596a5c.json +1 -0
  86. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/03639ed2a298405bda65aba22e987a05a69454b14e24d2234672466fed29ea87.json +1 -0
  87. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/0782af85fff293a42a92cea338f5d4f3f2afc51e5eea09fad0f11476b5d48a66.json +1 -0
  88. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/14eb3073b2003ab99a4397f74bd6f09762457068020e0e6ee534efd938e36737.json +1 -0
  89. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/18a829a2b53697af4a825a0170b5e6234ee7e39cc114653ffc48b77d674251cd.json +1 -0
  90. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/19a69d9d1b40cea3febeda9c4ce21217994fe5ba5d90d1164a30496015d7edce.json +1 -0
  91. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/19c840e89cd77d74b5d5d9629ad2e8f10cedd3a57beb8a5ef6b3876a341fa026.json +1 -0
  92. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/1a0f773599bb763002969c9a6d1ece5b927ffd9c21315eb3cf7f017f641674f9.json +1 -0
  93. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/244e56b6e82a7cb8eb5d2f18fbe90a951006f6936f866cdb4495f07a334cffcc.json +1 -0
  94. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/27c422b629ee8544b87be738ea248296df95e94d839d2c88595846c28852fcdd.json +1 -0
  95. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/291c5cf65668856d824057a0bdd72f8ec8a3e8a6579f44db956d11249b6db5d2.json +1 -0
  96. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/349226b734f63389208c5c1f65d8d253d344ad59d34582ab9be47b579fdfee51.json +1 -0
  97. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/3e47c9395b24af6d1d0ea9a5f147715eb73eb232497a0fa88be3f9e9390f2875.json +1 -0
  98. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/4023659da45a03512f4780d3960d879d9463c4b3c2a821927d39466e1453fa25.json +1 -0
  99. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/442624be997d18fd5b6a4ca18df09f83bea31eace7f5ca86463b119cedaa110d.json +1 -0
  100. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/474df9260631b0428679352030346e1e13c527c338b319a933bedaf420e08397.json +1 -0
  101. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/4aaf5c4c71e3480993756b0ac9035cfac54977bb684c0a5d909e95ba1ab47c25.json +1 -0
  102. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/4ab36a78194929184f8d23d1956001b003876f28910d71765facd39e1a279583.json +1 -0
  103. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/4acb9cdd00c2b3e7fdf210dd0949040c8f600ae3c55b74e320569d5f6951c533.json +1 -0
  104. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/51e2fe14d98a731bee724595cffe23df714f3900a7cc320b76b618e8a92d870a.json +1 -0
  105. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/55b37817af90e07c2d72886dbb930e164b8e7e7cb93e7ebc5627ef94ae41cdf7.json +1 -0
  106. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/55ccbc7f86e8da1d7a0f14a9aa16d0ca9f16d9c6dec274209b7ecb15c56e2c3f.json +1 -0
  107. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/618ac9657ba60cc5642b575ef4cc2c12df87ab69c91a217c8a72a496124ba7b4.json +1 -0
  108. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/6df8e6ed65c90d931af89b2933581a5c299e60ac99f1d6ba62a14af629c98fea.json +1 -0
  109. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/70bc9f48de23cee2ba3299a869b0349c221697b723dd08d8a4fa3b732a69bf29.json +1 -0
  110. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/70deb44025d3c3fa838f6ac294051c9006702ae0d8fc231660ecde91f0cb190c.json +1 -0
  111. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/7871ca621f1e77babe82488960ce6c1193d4cf0b60c15f9bc204e90650937b42.json +1 -0
  112. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/79886534164e4387e585dfa1df56626027ae81781f3a613eb19b34a0e365885d.json +1 -0
  113. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/81dee073a250285ff9c873ea85f65df1a2f787aba2d6d86b28cd6a7491f0a86c.json +1 -0
  114. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/8448c1dab899d6452b661d71942f31ef2f54aa10b7ad20ff57878a62f307284b.json +1 -0
  115. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/89e51b778c05cdb1bafe31fcaa144ceda66d5d802a1349f9a3c22e0fa05da1bf.json +1 -0
  116. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/91a29da384914d00eb7c2d915d6edb914b44bc8a6ec87101adffef43e04c691b.json +1 -0
  117. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/93325992c9d4d9c52ed7d81b4a555c026c92374e4c89f350ceb0d7e8ac5c73b7.json +1 -0
  118. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/a108acb55e25b16daf9c4621e0c89da71e82eabaa3e1c243f362b595c62645f6.json +1 -0
  119. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/a4ae51ed5b62c3f32258c1abac3093e5c8e7bfa0fcba99e79a2936fce0c0f2e9.json +1 -0
  120. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/a595aca5ba5e2a70bfe5761fa183ba663b8929ec67923fd82f10fe5b02706964.json +1 -0
  121. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/b319a60944f37eff149250295af9a2a16de1b094da22bc037dc80a5bad649dbd.json +1 -0
  122. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/b44203ff55fd0f1a6fda85968a51acc3edb3157160437ab26dc27e38ad0ec9ce.json +1 -0
  123. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/b605e1603e1d6b13fadb4e56147734926d8ddcc7fae627f8eef679691daae336.json +1 -0
  124. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/b8b3fa73b11fe25a123eecde7017a0c95fb9c3a29cccc7a7dafdb91cb8946435.json +1 -0
  125. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/b90bd3d0e09a061f5d7e480f9694310840416c42c357ab9ddd2ca38a713a15a6.json +1 -0
  126. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/bb6d922ed7a5ffa639bbcbd1e6568d58e5ac43738e817918d412660de1a3056f.json +1 -0
  127. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/bebba6c49441ca982e3f8583c69f8c0799e17ad25e7d0aa75087521f3d2866ef.json +1 -0
  128. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/c45cb68c9ce35a5b4711596e386d82ba579a7131e7c8a3dbf0612f1991b187e8.json +1 -0
  129. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/c70c230a21199debaa851c4a9c68aaba5f848575cbc4e4b83ef2acff6a293886.json +1 -0
  130. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/d159a2984d1963ed41887be2377a31395bc58b08e7fa88d5e29d10b06f5b2b1a.json +1 -0
  131. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/d174291c13ae464a9f1f7d24c1ffb807b9d1cbf30abfe333226e2af82cc3959b.json +1 -0
  132. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/d4307468a3fa4ced1e9218ba867d8e56c5f5ad1349cf6dd015c910be4ee13bc0.json +1 -0
  133. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/deffd6bcde2ae8a0aa1b4ed55776f4a4c94cb1e150e3cac488e14bb9709b3ab2.json +1 -0
  134. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/dfd751bd66143511cfb1ec002e59a449aede753fba8972b7131bbb9df8ea0984.json +1 -0
  135. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/e4921f76e9d4f5321881c2ff49abc1a061475f8e67f5b683afa35bffad91e561.json +1 -0
  136. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/ef744e0a60ccf1c8b1d0af3891742570687ee266947dab34568ce945f60ab757.json +1 -0
  137. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/f0871b9eef347a28cb0413341cc02632f3dc22ca5dc3e6a310ba1f3a31d3f524.json +1 -0
  138. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/f486bf85b8267972b4cd6e59be7f0a9e5759b7949c4ca79452a5f7d185c5e2cd.json +1 -0
  139. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/f713a2800a080b3e57e471bd92f8255127b6a3497781bd251d69ade087f2808d.json +1 -0
  140. skills_manager_cli-0.1.0/graphify-out/cache/ast/v0.9.30/f739df33adfccaa2f54ad20c1d7848b3440e0a1da8bc8220102271c4512a4c4c.json +1 -0
  141. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/082bda486ac0bb2fa069a6b0fdfa892143b88f74c75c3b90eb9786f30db5c991.json +1 -0
  142. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/09e5c87acf4b3e8adcabfbe96dbee04c89f4079eee4ce2af56d0ec0f9d5d95db.json +1 -0
  143. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/0b450bcb31ef847cbf8969296b0a1eb8703e49cb4c0c2938c70ceaf193763a11.json +1 -0
  144. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/0c289be29991c7393925f99784a93763366087a5b27f0bbff43a081637d2cd72.json +1 -0
  145. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/0c3916b634d4dd4092836a81f70eee772e3d606645d0a565f120e4a03e316719.json +1 -0
  146. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/0fadb870f1f44db7ee14abfda066681b5b909d0d0f02c062e6babcd097d764cf.json +1 -0
  147. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/1017e015b1d39363f8c86e0c4c54cfd4e73293c0b45a8fe210e2e270752acd5a.json +1 -0
  148. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/148f0172ac49208225eb37e438c3bf2e4f760a3b858cb4a2dfc813582d5a48c1.json +1 -0
  149. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/155e1c4d4ca4b8086eafd0de1255d8e5a044f508d71f1ba3bd7f0f9cce9cd275.json +1 -0
  150. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/15c80907ea07f7a00bae5751f6398195a1dffe71910f9c0d19b19954d7bdcb56.json +1 -0
  151. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/179ad36df0e013ec354ee2eb65e5f959791f9def65567f1693e1539cec0148b0.json +1 -0
  152. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/18d8ee197f4527b53581367c6fdec7538335d3e05eafeefd25ec0b8854c9e6a4.json +1 -0
  153. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/1933cbb9077da72426c97f0b1761c2ceb12d79c6c6e253565bc9bc6f1631cbf1.json +1 -0
  154. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/1d91e1e6e20c9fb04ba4c1a1c49f7135a541d8f8d07f93353a1a9a139601b038.json +1 -0
  155. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/1d9b979c838e30d54d2b399e676616028121ac88a6ab478df0d0e1a8954739e6.json +1 -0
  156. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/1fdfa42d4598013db0d786bfa59beec0ca0ba749876755cefd4f645e50e04577.json +1 -0
  157. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/218ceed05fade5ff30abe1f3683cf87a8d64c6bceb2f349944a17377d735fc18.json +1 -0
  158. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/2324a20c16f03a7c7057acc74f7745098153c08052d86bb688f6477432f83612.json +1 -0
  159. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/2452e7154a60274653cbb8115b3c739092139a2cd9b1306b2b1e52d451500414.json +1 -0
  160. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/25e1448403105f72bd3ec679e22ac01eed17f2aece5e23900fddf0a6320290a4.json +1 -0
  161. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/2668058236f0843240b10b661d84db8ad13e40f8862c49203f7ec9549c10b9cd.json +1 -0
  162. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/26c63160457d6f1452d3fdd77324209c4a39e8943cfc849113597e44e3876b1c.json +1 -0
  163. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/2734a509d4b2f34ee6258475c4fb2e80a6dbfcbc47c8552df5b6278907529250.json +1 -0
  164. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/27a6e2052de400d5c474a73229f627f019a34c12473e8318685dd1c196192b93.json +1 -0
  165. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/3036f5001ed58fe13fdb2a57b6cba1918b92231513dd7ad9adbfc25f5cb9f21f.json +1 -0
  166. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/309b95e4dd9d22f36858dadb53d874654574572add9840f04c2bf18080113fa7.json +1 -0
  167. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/36fcd517b95ed83d3ec19d95a21130fd7cecabcc66dfcbcf5158af7121d4d7d2.json +1 -0
  168. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/38670be30ff9fba6fbc21bf2f995f15c545db202a91faa6120f28f53c5aade29.json +1 -0
  169. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/39612abcfddd65b3d3a879388266bbae414fb745ff706fc684edcc1dcf1ce072.json +1 -0
  170. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/3a9252f0400456c2b01f5d54da34d617becb1688344349ca71def23cd0d72fa7.json +1 -0
  171. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/3ab342dfea863b7e16d0c3e7766af668665b2a69b0da73ff0dab182d70d51bd6.json +1 -0
  172. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/3ab82b9315bd0a6d795a8a0750464162ccc10de5125e85f0398c91cb9b10ef0b.json +1 -0
  173. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/421506f2a71993fef6db18ab96e99ee60103bdf38e626257ca8d0c84d1caab60.json +1 -0
  174. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/43761aa37ee37c425c06cd8b7fb9e413dab1dd294458738be9dffa051a346c24.json +1 -0
  175. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/43a78c44a682fb7ac4566c2c18bb0a06b727edb561a2d51e898699b74209607a.json +1 -0
  176. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/43e151ea5470a4dffc277266353f96ed4067a94307d839c037eb16f3779c294a.json +1 -0
  177. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/492feb5b2078f93d788762cf3e2b2ae34a44e132f79b0f51d6893110c5af1099.json +1 -0
  178. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/495e6d94f7b7d1eaf28b453880cd2fa7820d32e0b0a6429516ee84962643bf98.json +1 -0
  179. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/4c4d47071f276fde9af0b287b2b5a6abedfca86ec6fb8deee97c063bc1ca7801.json +1 -0
  180. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/4d99c15a1f629016b1ee2742307c74ce75e8dcb5fd01178736f0cafaee41181b.json +1 -0
  181. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/4ddd2f6734553a435c34f0e11b68f27fc7892ae5049da515b2e428de341256aa.json +1 -0
  182. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/4fdbf8d25c763c7be32e7d012e32328dc1649fddab8ac76efe9db15f3d8a1b91.json +1 -0
  183. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/4ff1d7c7660d7003f45a8d21cd9fced2178c383b215246716ce888f9fd781768.json +1 -0
  184. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/51ab4fb24989d3fefdb9d4600b2b5ac79b2964ae71a44c68dd6e2f499e1c228d.json +1 -0
  185. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/51c9e4c7f690b49b70682c80944d2506cb55ce99db05cda9ba8adc19fbb65524.json +1 -0
  186. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/51e335de66c733b6a23cdab1ade3f8bf5e5ab0580a6048cd67ff7c1c5f4d7d05.json +1 -0
  187. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/579191ea475a9c144a28ff1c339c05d3fe53f2def8f3e5e7e8bca47874223daf.json +1 -0
  188. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/599011d7fcd5a6c3cc629473a3bef7a9ad3fd78390be804d0578e8cc417baa1c.json +1 -0
  189. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/5a2153b2c0dc5772edfe2d432cf4187452facfcf72a3a5c5fe96929691f4f607.json +1 -0
  190. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/5bf8e20f00c2e8f9533475786e204797e1689d5e69e5b17faeb35ac97169ff68.json +1 -0
  191. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/5c2bc57b07243c0576e01ae84d2f8c4422eebd832a4d489392b21bf03f329bcd.json +1 -0
  192. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/5db94a98a3435b1ec24db5bb0f6ab5153145e3a428680f724ea3e97b3e61e9a8.json +1 -0
  193. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/5e61f8ebb34dba1c7d3e33b9ac3645617657d408820005be3de7af24917cc564.json +1 -0
  194. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/5f0ffc474a4ef45b3d65dc3ea5482da6b896d0a2e40085080e57aa8d33a8e37c.json +1 -0
  195. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/606acb77cc011459ef81efe2b8e381e4c9a869b029ccf27e5ca22c031cce90c1.json +1 -0
  196. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/625463aae202214cbdc5c8ff8b3268c2985c3b87d99dd1ca887ef1b1f53237cd.json +1 -0
  197. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/63c0a076e358e0ffee4b6bca6bc745109b550c1cfe1eac1a5b9c3dd418cda3e9.json +1 -0
  198. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/67ee35332dc8473b9adb1feb9e26180a6db71e0446305e508bfd9af6a7fae486.json +1 -0
  199. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/685607c0b51c092abafd5e70195eb33f9e68f63e1d99857291de773e2a4ac99c.json +1 -0
  200. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/6a32a59ffb35c418e01a07dcf233c05aaf7169f0c7cf35ead0abdfd6c7ff050f.json +1 -0
  201. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/70e1fc4bb8698ec0dcc5533c021be4f9a1104b146295898ab740427f6254d3a9.json +1 -0
  202. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/725ba0c25fc1f58f67be1a1e21f4539bf55a684ecef6a82cf811a733777751ff.json +1 -0
  203. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/739f0f29f176636c56c09c1933d9fc1fc42a164a0525840c6e7332ae29ee307a.json +1 -0
  204. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/73bc8134155bcde10e77d6e48b5eb32777740a2b7610d1f75af719d51b888737.json +1 -0
  205. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/75521507adfc6993f7188a1c6bc43dc367adae0bac49830e277eb8f49fe41dc3.json +1 -0
  206. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/7749978a06233ee498f5926edbf686eeeda7ad6912ff64afc9dfeccb9d19ae42.json +1 -0
  207. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/7888b2d80816f74177b4d76bddbddc1d941372ed63010be90332ccc8658d87e4.json +1 -0
  208. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/7988921dac0d10df7f83bf46c4959fb0268a6e2890394ef0bb2b221b27097615.json +1 -0
  209. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/7db9d0c2b3857c80a33d5b067c129d49d3bfededb89682fb0ff8937eedf15557.json +1 -0
  210. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/7dc384b76d7e6366a1b652917ecef0bff6e378092d9f481092a974a0a4660704.json +1 -0
  211. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/7fe94e5487810941bee3f114c1132236bb7eded6d75a3e5c3929398cf658e6fa.json +1 -0
  212. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/80f1137d72a6f5b2d800bdc165b49f0b6819f291e34c2dc30ee3df0f0f42f18e.json +1 -0
  213. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/81f2b86a30f62b2f9f528b3115547297c30ec8aade1ce9bff869cdfad8460b41.json +1 -0
  214. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/85caed17974462fd919f58f46271f2000b7ff3cc8fb678afe1670ef5f6b8db20.json +1 -0
  215. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/86067befcb9c04742c2858288034884283d42868c08d03ef2c43de3d4a63b8f2.json +1 -0
  216. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/86534d4ec48223b341d6f5aa41f5463b68446d54242c3754a257b00f2fc72e47.json +1 -0
  217. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/870c0a8cf8578e02ae1bb81c2e627be23e7c4ab74fd29c1d986bf427d37de261.json +1 -0
  218. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/88da69aa26aeb519bf26d618788e9798bffc9798610050ed6a85932d304908c5.json +1 -0
  219. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/88f689d4546fafc772e37e90778a33a7ff393f0779cd7136c9883e06a3ecf53b.json +1 -0
  220. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/8b84d1459a2c55d462928e9c87c34f6303a74c11d5feb1a01fe3f21a7cbdf606.json +1 -0
  221. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/8d9cdec6cd718e51357f714d572c28931da5b1355b5fa851a360fb44e03ffa98.json +1 -0
  222. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/90d85fbe2fa6500b787eacbe8dd5ec03a6d1d847f22a3b5bd200d0298c062e2a.json +1 -0
  223. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/9102439c54b433ba0dfe72a22b60995608ce8ecfd31ffed93265ec946818fa28.json +1 -0
  224. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/910b88647b945ec8670249409ab4ee4f95e42416a66345dcf92a4b1d7b63c77b.json +1 -0
  225. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/91a41956275f9a267fc24b4a5d7eb571a57962698ab19bd47e20c48465a656f8.json +1 -0
  226. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/9224a6977ebc5101c001c32e3263d2b5984e3799dbd7b5b6a3a29d392be1acb2.json +1 -0
  227. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/930e750de2b8155eca3e48eb80bcc341b6cbfeddb17bc3cd72770a3c2aeb00cd.json +1 -0
  228. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/93794172bc4dbbed5d5b1997ef8e02f3acbc6e4fe401f7ad03ddf771d423a8e6.json +1 -0
  229. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/93c9b4c5664bacc0bac42bcf47970d1744bdee1fb9747b333d05b3d09dd68d4e.json +1 -0
  230. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/966c7cf85781063e40187dabe6673bd108a60ed7c32255a487c87e667d719f34.json +1 -0
  231. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/982f65889f0647835a54cc3b0a1d83343c1c7cda87126aa70f3c4f506dd0bdab.json +1 -0
  232. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/9b40376239ae30034d5a5274556977201c80ce5b66de1c0afd2fcf12a14a9b5d.json +1 -0
  233. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/9bd2c15e464fc969d9c8ca8d7c155a5090bf45c47035b48a6d21f9c00ea14d4a.json +1 -0
  234. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/9c0cb30f286e159c9243640c3c4f36526b8a465d708a8cabe83ad826f08b9107.json +1 -0
  235. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/9e3e93b7587cb13057065cc7afa84a0bad7bf6f2b28bc07908b029abd5d18f22.json +1 -0
  236. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/9f284f3259306207278361e8e23df61ed28001c2fe5905c9737709b4dec0300d.json +1 -0
  237. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/9fa516e14ef2f59553e447ca49aa92fc320483afdbaad588c319dd7690e473b3.json +1 -0
  238. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/a18b7a36de4b46440a97f77b7988e6c80ed926f734ed559c68c136391814d4ce.json +1 -0
  239. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/a3c01dcf54e37485c4e6d6cc341fc9cd40ebbfd590a10473c891b3e96f8dea5e.json +1 -0
  240. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/a4a3a550f51bc7ed847eaf8d55ca23cb6c5b48d2d800a1ffb6d507f529e3c166.json +1 -0
  241. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/a4e3b7e72b20dabe01030162ac9eebe952c5a58d973de303a4b925f4d78c0763.json +1 -0
  242. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/a55b894534c890002461ebf50659aac52be13ea52fe075da5a45fbf6ac92eab5.json +1 -0
  243. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/a785343a2cb70bff0fee15febf9261b74dc4c9ff47791e804c56eaf77ab142ee.json +1 -0
  244. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/a79d3e35500bb99137714484837d1d7e9379b3397bcdfc5ecc1c1b53c8ea3701.json +1 -0
  245. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/a922c209a23b0ee9176f1f9dd77559830352f67ce81016dc7d136680f493d12f.json +1 -0
  246. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/aa35d732b3761d6af9e53abc3d14edae7eb04556abdd1ef79daef4a1b567af9c.json +1 -0
  247. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/aafed3588aa55ea5d55f4c022d9e43574f30449a2e435d416ac6c1f69aa51b84.json +1 -0
  248. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/ae22b7c7ecb6ccd516fed25916e465146432c58f1bef904a92b535ac0bbecfcf.json +1 -0
  249. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/ae7a2827b8aced0630cf14eb35a16fc08b4e86ee1bcae8aff086b6424d62333f.json +1 -0
  250. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/aeeee9ce43ddd52fa6e6efb2e5b8184899845782113320d6dca8de5c0173aa3f.json +1 -0
  251. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/b2b3b8cccdb6b87e490a69eae3170a4f0e3b202370b55ae91b557dcb773c404f.json +1 -0
  252. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/b2ce34285a993a09d10ac10703759c254fb7a79bbb03f7bf24b4906f4766d753.json +1 -0
  253. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/b374106e65e3b9847cb239e749e56216210cc20a905c8357cc258da4c35513fe.json +1 -0
  254. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/b4199c72fe8e3f7b07e8a8377f177ce2adbd81439d39c939a85fe0772a007c4a.json +1 -0
  255. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/b5eb3c1caf27a02a6c2eaaf777ba5a889c80490cae9904743d6436382b07cc5a.json +1 -0
  256. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/b85ba6e910f433e84d462dc098d1c08358fcd36b09fc4224d9bd8d918d49ff80.json +1 -0
  257. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/b85d216ed6fd2490cbaaa7fe87e6a81c2ff1978cba67d9fb944be45a79bb672c.json +1 -0
  258. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/b8670ec9cbfe421dc8fa65d760ab5444971ba7eaf53324a049f6c8206ff87fb5.json +1 -0
  259. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/bed4e40eda01fbac906c3dbb2f9b3f77b1724df997c3a7034b4cda91d81bf850.json +1 -0
  260. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/befd6a9ac3aa21180cfef3a8523c6cdff489f9b57dcdb59c18cb4b8a0619b491.json +1 -0
  261. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/bf92f662ee9d630ff418b85991649b8c87980ab6b8e9514ab9088af8b4138935.json +1 -0
  262. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/c26a72d13bf9be86bede1011044a03baef410f1133a965608de47407ab1a364f.json +1 -0
  263. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/c38c7a5ed9e222f6e5efca99c62d703825f133fe300381c5ae26565eecea5360.json +1 -0
  264. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/c47c5b07f93b7f34d022f95077fe8604fba83e0133ec989c90725ccfe9374a1d.json +1 -0
  265. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/c4db9ee1410d7a551a029c160abf67e9629e41265913928e6a5c21a7dcfae683.json +1 -0
  266. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/c5ac109ce736d00c86def192c64e42d08415997d59162b7ad709b6c0e4b130a6.json +1 -0
  267. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/c5cf5b4eabb17fed80be4a9f27d25142e5a6e13be91456aba30ced0ebff4babf.json +1 -0
  268. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/c6ed468a18ebe385940941fd6010ca64193a38e1ca04647349d0039f2f836830.json +1 -0
  269. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/c712d693b89fdd6a376640a26f63c13a244210e730eab5d5319dd168aac9f453.json +1 -0
  270. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/c8cbcee7e557f59ac6274795e84b0fb54e83cbb72807838742c4f93c2b12811b.json +1 -0
  271. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/cb3a02238dd77498d3cc2099f44836cfc492a5a695a1502e34a763d798162262.json +1 -0
  272. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/ccd34a02d42dc9a6b0a12c238370fcc1c0c62995f38777c76790eb39bd76e0ea.json +1 -0
  273. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/cefc27f08d23030d228460da470254a799c6189f1184b28b04b5fcf9936fbfb3.json +1 -0
  274. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/cff33cbd2cc3beb5eaca400b7acd082fed29a756a4bed7e66c4de4a4d41199b5.json +1 -0
  275. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/d0fa3f3a4621b76fc79946bcd49e459a6acea96d51300f93ff6ea38e53c0f2bc.json +1 -0
  276. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/d383392f3fe24b6f4431e5dab25c6ad18614b16a817b581e835680dd878a4ab4.json +1 -0
  277. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/d5c8f1d1fb51073b39d62160ba8bc28babd0ec57fb9ab6c058c2cfa86b8456cf.json +1 -0
  278. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/d7f5a8f62681292326ef6c5455cf3472fe8172596f45f3df2edba0e4fa0c047b.json +1 -0
  279. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/d894f170130fce578fc813215903f1a64f61e1c934d7d4e7e644fa1dd0e17c4b.json +1 -0
  280. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/d917895d8bd8b62f37fad3dee92d675bd22fcf3a6909dd51666e05347a0fada9.json +1 -0
  281. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/d9583a2061eeba75b406a624b50b9c53af8fb032bcacc7311588b5d63b34d216.json +1 -0
  282. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/d9b1373904d678cb17972f0dca46a85ade235e4965799aeb0a55391931ff4232.json +1 -0
  283. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/deff0bffca5d17dbda33d1400ce7dcef47248f9db3105adc365994de2c76ebaa.json +1 -0
  284. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/e1d2a9488287bab38f71adb9ba723d4666191456f05dc95e6bde298e2e0f525a.json +1 -0
  285. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/e2fc5ac094eaad7b98a8cfd6434111f6bacb2f8d8c4a778d4f7f850126b59cf1.json +1 -0
  286. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/e40083ad0fea9f55e37586a978791df75045290a8ef3622325e754da52f3db7f.json +1 -0
  287. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/e6e8542174c8885f0733a06ad8398196c4712128d816a65cb7550405421e7161.json +1 -0
  288. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/e9601a6870aae2a6fc9a9612abb4e6183d305c002588acffa7b867102a8f9846.json +1 -0
  289. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/ea3ee5bf63910ccf95d9dcb5b3fb50c1ac75710cfc65b8d317516b9a7136dd9c.json +1 -0
  290. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/eab062163f720fdb13c7fe6e649f565b474d76e5236eb587f6465d4d16952b9a.json +1 -0
  291. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/eade1ff3849cb602aa6d785cf0167abfdf74fd061459e1e5425b5aa7f73e005f.json +1 -0
  292. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/eb2080ab682974b4298fcd7e1bc7499c3d9daf62ba591155b06e64def373535a.json +1 -0
  293. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/ebc2810210a1d1142c9750a2ced059c28bc8ae26d2492b58df304151d0600160.json +1 -0
  294. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/ebcd03dc745d66c404a320607d3fde94b47cb2e4f40abfb03897b8290237bafd.json +1 -0
  295. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/ecbc1d87c80fd3bd198261918c7c9a4288c437403b4d67235e4a2c9c39e098c5.json +1 -0
  296. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/f43c185d507aefd5637f6e18b0560d69516259d9b2532b35c7b76045655bf670.json +1 -0
  297. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/f6f145b1bdfe4bd57fcfabb5fada450ff0a49e06f0c1426ce83b366f1f1cb4ec.json +1 -0
  298. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/f7d39e58827dfc312d06f0d80dbcb152af3e73f53972a6644557007bf2a0027c.json +1 -0
  299. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/f87dceeb64a8892097bed57bf5013f4c92a1cb1f402f009229c29da2fdf36c58.json +1 -0
  300. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/f95032ae639134833fb91c516bf6262ab7a6af2bfcc97b8fef49a6c3e2a0c91e.json +1 -0
  301. skills_manager_cli-0.1.0/graphify-out/cache/semantic/pd5fd89c46bb5/fbbe0e1ba3c1b8806b0298424e4389d2737532956e53879abd1a2878d1c70ae4.json +1 -0
  302. skills_manager_cli-0.1.0/graphify-out/cache/stat-index.json +1 -0
  303. skills_manager_cli-0.1.0/graphify-out/cost.json +12 -0
  304. skills_manager_cli-0.1.0/graphify-out/graph.html +320 -0
  305. skills_manager_cli-0.1.0/graphify-out/graph.json +52763 -0
  306. skills_manager_cli-0.1.0/graphify-out/manifest.json +1122 -0
  307. skills_manager_cli-0.1.0/install.ps1 +105 -0
  308. skills_manager_cli-0.1.0/install.sh +72 -0
  309. skills_manager_cli-0.1.0/pyproject.toml +27 -0
  310. skills_manager_cli-0.1.0/readme.md +287 -0
  311. skills_manager_cli-0.1.0/specs/001-home-global-flags/checklists/requirements.md +35 -0
  312. skills_manager_cli-0.1.0/specs/001-home-global-flags/contracts/cli-global-flags.md +54 -0
  313. skills_manager_cli-0.1.0/specs/001-home-global-flags/data-model.md +94 -0
  314. skills_manager_cli-0.1.0/specs/001-home-global-flags/plan.md +102 -0
  315. skills_manager_cli-0.1.0/specs/001-home-global-flags/quickstart.md +88 -0
  316. skills_manager_cli-0.1.0/specs/001-home-global-flags/research.md +94 -0
  317. skills_manager_cli-0.1.0/specs/001-home-global-flags/spec.md +180 -0
  318. skills_manager_cli-0.1.0/specs/001-home-global-flags/tasks.md +213 -0
  319. skills_manager_cli-0.1.0/specs/002-agents/checklists/requirements.md +37 -0
  320. skills_manager_cli-0.1.0/specs/002-agents/contracts/cli-agent.md +84 -0
  321. skills_manager_cli-0.1.0/specs/002-agents/data-model.md +140 -0
  322. skills_manager_cli-0.1.0/specs/002-agents/plan.md +110 -0
  323. skills_manager_cli-0.1.0/specs/002-agents/quickstart.md +93 -0
  324. skills_manager_cli-0.1.0/specs/002-agents/research.md +126 -0
  325. skills_manager_cli-0.1.0/specs/002-agents/spec.md +208 -0
  326. skills_manager_cli-0.1.0/specs/002-agents/tasks.md +214 -0
  327. skills_manager_cli-0.1.0/specs/003-install/checklists/requirements.md +40 -0
  328. skills_manager_cli-0.1.0/specs/003-install/contracts/cli-install.md +111 -0
  329. skills_manager_cli-0.1.0/specs/003-install/data-model.md +114 -0
  330. skills_manager_cli-0.1.0/specs/003-install/plan.md +128 -0
  331. skills_manager_cli-0.1.0/specs/003-install/quickstart.md +71 -0
  332. skills_manager_cli-0.1.0/specs/003-install/research.md +199 -0
  333. skills_manager_cli-0.1.0/specs/003-install/spec.md +411 -0
  334. skills_manager_cli-0.1.0/specs/003-install/tasks.md +489 -0
  335. skills_manager_cli-0.1.0/specs/004-list/checklists/requirements.md +38 -0
  336. skills_manager_cli-0.1.0/specs/004-list/contracts/cli-list.md +52 -0
  337. skills_manager_cli-0.1.0/specs/004-list/data-model.md +36 -0
  338. skills_manager_cli-0.1.0/specs/004-list/plan.md +99 -0
  339. skills_manager_cli-0.1.0/specs/004-list/quickstart.md +42 -0
  340. skills_manager_cli-0.1.0/specs/004-list/research.md +71 -0
  341. skills_manager_cli-0.1.0/specs/004-list/spec.md +101 -0
  342. skills_manager_cli-0.1.0/specs/004-list/tasks.md +144 -0
  343. skills_manager_cli-0.1.0/specs/005-uninstall/checklists/requirements.md +37 -0
  344. skills_manager_cli-0.1.0/specs/005-uninstall/contracts/cli-uninstall.md +73 -0
  345. skills_manager_cli-0.1.0/specs/005-uninstall/data-model.md +52 -0
  346. skills_manager_cli-0.1.0/specs/005-uninstall/plan.md +116 -0
  347. skills_manager_cli-0.1.0/specs/005-uninstall/quickstart.md +51 -0
  348. skills_manager_cli-0.1.0/specs/005-uninstall/research.md +148 -0
  349. skills_manager_cli-0.1.0/specs/005-uninstall/spec.md +172 -0
  350. skills_manager_cli-0.1.0/specs/005-uninstall/tasks.md +246 -0
  351. skills_manager_cli-0.1.0/specs/006-check-update/checklists/requirements.md +39 -0
  352. skills_manager_cli-0.1.0/specs/006-check-update/contracts/cli-check.md +55 -0
  353. skills_manager_cli-0.1.0/specs/006-check-update/contracts/cli-update.md +82 -0
  354. skills_manager_cli-0.1.0/specs/006-check-update/data-model.md +71 -0
  355. skills_manager_cli-0.1.0/specs/006-check-update/plan.md +124 -0
  356. skills_manager_cli-0.1.0/specs/006-check-update/quickstart.md +79 -0
  357. skills_manager_cli-0.1.0/specs/006-check-update/research.md +161 -0
  358. skills_manager_cli-0.1.0/specs/006-check-update/spec.md +224 -0
  359. skills_manager_cli-0.1.0/specs/006-check-update/tasks.md +282 -0
  360. skills_manager_cli-0.1.0/specs/007-import/checklists/requirements.md +39 -0
  361. skills_manager_cli-0.1.0/specs/007-import/contracts/cli-import.md +78 -0
  362. skills_manager_cli-0.1.0/specs/007-import/data-model.md +58 -0
  363. skills_manager_cli-0.1.0/specs/007-import/plan.md +121 -0
  364. skills_manager_cli-0.1.0/specs/007-import/quickstart.md +67 -0
  365. skills_manager_cli-0.1.0/specs/007-import/research.md +155 -0
  366. skills_manager_cli-0.1.0/specs/007-import/spec.md +180 -0
  367. skills_manager_cli-0.1.0/specs/007-import/tasks.md +220 -0
  368. skills_manager_cli-0.1.0/specs/008-self-upgrade/checklists/requirements.md +40 -0
  369. skills_manager_cli-0.1.0/specs/008-self-upgrade/contracts/cli-upgrade.md +66 -0
  370. skills_manager_cli-0.1.0/specs/008-self-upgrade/data-model.md +55 -0
  371. skills_manager_cli-0.1.0/specs/008-self-upgrade/plan.md +110 -0
  372. skills_manager_cli-0.1.0/specs/008-self-upgrade/quickstart.md +65 -0
  373. skills_manager_cli-0.1.0/specs/008-self-upgrade/research.md +129 -0
  374. skills_manager_cli-0.1.0/specs/008-self-upgrade/spec.md +175 -0
  375. skills_manager_cli-0.1.0/specs/008-self-upgrade/tasks.md +223 -0
  376. skills_manager_cli-0.1.0/specs/009-installers/checklists/requirements.md +40 -0
  377. skills_manager_cli-0.1.0/specs/009-installers/contracts/installers.md +64 -0
  378. skills_manager_cli-0.1.0/specs/009-installers/data-model.md +44 -0
  379. skills_manager_cli-0.1.0/specs/009-installers/plan.md +105 -0
  380. skills_manager_cli-0.1.0/specs/009-installers/quickstart.md +48 -0
  381. skills_manager_cli-0.1.0/specs/009-installers/research.md +100 -0
  382. skills_manager_cli-0.1.0/specs/009-installers/spec.md +138 -0
  383. skills_manager_cli-0.1.0/specs/009-installers/tasks.md +176 -0
  384. skills_manager_cli-0.1.0/specs/010-configuration/checklists/requirements.md +38 -0
  385. skills_manager_cli-0.1.0/specs/010-configuration/contracts/config-file.md +60 -0
  386. skills_manager_cli-0.1.0/specs/010-configuration/data-model.md +45 -0
  387. skills_manager_cli-0.1.0/specs/010-configuration/plan.md +109 -0
  388. skills_manager_cli-0.1.0/specs/010-configuration/quickstart.md +50 -0
  389. skills_manager_cli-0.1.0/specs/010-configuration/research.md +102 -0
  390. skills_manager_cli-0.1.0/specs/010-configuration/spec.md +141 -0
  391. skills_manager_cli-0.1.0/specs/010-configuration/tasks.md +179 -0
  392. skills_manager_cli-0.1.0/specs/011-sync/checklists/requirements.md +38 -0
  393. skills_manager_cli-0.1.0/specs/011-sync/contracts/cli-sync.md +60 -0
  394. skills_manager_cli-0.1.0/specs/011-sync/data-model.md +42 -0
  395. skills_manager_cli-0.1.0/specs/011-sync/plan.md +114 -0
  396. skills_manager_cli-0.1.0/specs/011-sync/quickstart.md +45 -0
  397. skills_manager_cli-0.1.0/specs/011-sync/research.md +94 -0
  398. skills_manager_cli-0.1.0/specs/011-sync/spec.md +120 -0
  399. skills_manager_cli-0.1.0/specs/011-sync/tasks.md +146 -0
  400. skills_manager_cli-0.1.0/specs/012-uninstall-app/checklists/requirements.md +35 -0
  401. skills_manager_cli-0.1.0/specs/012-uninstall-app/contracts/uninstall-app.md +73 -0
  402. skills_manager_cli-0.1.0/specs/012-uninstall-app/data-model.md +38 -0
  403. skills_manager_cli-0.1.0/specs/012-uninstall-app/plan.md +100 -0
  404. skills_manager_cli-0.1.0/specs/012-uninstall-app/quickstart.md +46 -0
  405. skills_manager_cli-0.1.0/specs/012-uninstall-app/research.md +76 -0
  406. skills_manager_cli-0.1.0/specs/012-uninstall-app/spec.md +124 -0
  407. skills_manager_cli-0.1.0/specs/012-uninstall-app/tasks.md +169 -0
  408. skills_manager_cli-0.1.0/specs/013-progress/checklists/requirements.md +38 -0
  409. skills_manager_cli-0.1.0/specs/013-progress/contracts/cli-progress.md +51 -0
  410. skills_manager_cli-0.1.0/specs/013-progress/data-model.md +34 -0
  411. skills_manager_cli-0.1.0/specs/013-progress/plan.md +113 -0
  412. skills_manager_cli-0.1.0/specs/013-progress/quickstart.md +33 -0
  413. skills_manager_cli-0.1.0/specs/013-progress/research.md +66 -0
  414. skills_manager_cli-0.1.0/specs/013-progress/spec.md +125 -0
  415. skills_manager_cli-0.1.0/specs/013-progress/tasks.md +181 -0
  416. skills_manager_cli-0.1.0/specs/014-deregister/checklists/requirements.md +36 -0
  417. skills_manager_cli-0.1.0/specs/014-deregister/contracts/cli-unregister.md +67 -0
  418. skills_manager_cli-0.1.0/specs/014-deregister/data-model.md +42 -0
  419. skills_manager_cli-0.1.0/specs/014-deregister/plan.md +107 -0
  420. skills_manager_cli-0.1.0/specs/014-deregister/quickstart.md +56 -0
  421. skills_manager_cli-0.1.0/specs/014-deregister/research.md +71 -0
  422. skills_manager_cli-0.1.0/specs/014-deregister/spec.md +111 -0
  423. skills_manager_cli-0.1.0/specs/014-deregister/tasks.md +146 -0
  424. skills_manager_cli-0.1.0/specs/015-skill-info/checklists/requirements.md +36 -0
  425. skills_manager_cli-0.1.0/specs/015-skill-info/contracts/cli-info.md +50 -0
  426. skills_manager_cli-0.1.0/specs/015-skill-info/data-model.md +38 -0
  427. skills_manager_cli-0.1.0/specs/015-skill-info/plan.md +102 -0
  428. skills_manager_cli-0.1.0/specs/015-skill-info/quickstart.md +34 -0
  429. skills_manager_cli-0.1.0/specs/015-skill-info/research.md +47 -0
  430. skills_manager_cli-0.1.0/specs/015-skill-info/spec.md +97 -0
  431. skills_manager_cli-0.1.0/specs/015-skill-info/tasks.md +134 -0
  432. skills_manager_cli-0.1.0/specs/016-audit-hardening/checklists/requirements.md +40 -0
  433. skills_manager_cli-0.1.0/specs/016-audit-hardening/contracts/cli-audit-batch.md +69 -0
  434. skills_manager_cli-0.1.0/specs/016-audit-hardening/data-model.md +48 -0
  435. skills_manager_cli-0.1.0/specs/016-audit-hardening/plan.md +131 -0
  436. skills_manager_cli-0.1.0/specs/016-audit-hardening/quickstart.md +53 -0
  437. skills_manager_cli-0.1.0/specs/016-audit-hardening/research.md +150 -0
  438. skills_manager_cli-0.1.0/specs/016-audit-hardening/spec.md +297 -0
  439. skills_manager_cli-0.1.0/specs/016-audit-hardening/tasks.md +370 -0
  440. skills_manager_cli-0.1.0/specs/017-periodic-upgrade-checks/plan.md +92 -0
  441. skills_manager_cli-0.1.0/specs/017-periodic-upgrade-checks/spec.md +106 -0
  442. skills_manager_cli-0.1.0/specs/017-periodic-upgrade-checks/tasks.md +34 -0
  443. skills_manager_cli-0.1.0/specs/018-contributing/plan.md +51 -0
  444. skills_manager_cli-0.1.0/specs/018-contributing/spec.md +64 -0
  445. skills_manager_cli-0.1.0/specs/018-contributing/tasks.md +16 -0
  446. skills_manager_cli-0.1.0/specs/019-global-flags/plan.md +81 -0
  447. skills_manager_cli-0.1.0/specs/019-global-flags/spec.md +96 -0
  448. skills_manager_cli-0.1.0/specs/019-global-flags/tasks.md +17 -0
  449. skills_manager_cli-0.1.0/specs/021-execution-log/plan.md +81 -0
  450. skills_manager_cli-0.1.0/specs/021-execution-log/spec.md +90 -0
  451. skills_manager_cli-0.1.0/specs/021-execution-log/tasks.md +16 -0
  452. skills_manager_cli-0.1.0/specs/023-single-skill-source/plan.md +72 -0
  453. skills_manager_cli-0.1.0/specs/023-single-skill-source/spec.md +89 -0
  454. skills_manager_cli-0.1.0/specs/023-single-skill-source/tasks.md +17 -0
  455. skills_manager_cli-0.1.0/specs/030-hexagonal-structure/plan.md +521 -0
  456. skills_manager_cli-0.1.0/specs/030-hexagonal-structure/spec.md +116 -0
  457. skills_manager_cli-0.1.0/specs/031-security-scan/plan.md +1047 -0
  458. skills_manager_cli-0.1.0/specs/031-security-scan/spec.md +112 -0
  459. skills_manager_cli-0.1.0/specs/033-daily-schedule/plan.md +787 -0
  460. skills_manager_cli-0.1.0/specs/033-daily-schedule/spec.md +89 -0
  461. skills_manager_cli-0.1.0/specs/034-pypi-publish/checklists/requirements.md +36 -0
  462. skills_manager_cli-0.1.0/specs/034-pypi-publish/contracts/release-publish.md +51 -0
  463. skills_manager_cli-0.1.0/specs/034-pypi-publish/data-model.md +38 -0
  464. skills_manager_cli-0.1.0/specs/034-pypi-publish/plan.md +87 -0
  465. skills_manager_cli-0.1.0/specs/034-pypi-publish/quickstart.md +42 -0
  466. skills_manager_cli-0.1.0/specs/034-pypi-publish/research.md +61 -0
  467. skills_manager_cli-0.1.0/specs/034-pypi-publish/spec.md +98 -0
  468. skills_manager_cli-0.1.0/specs/034-pypi-publish/tasks.md +148 -0
  469. skills_manager_cli-0.1.0/src/skills_manager/__init__.py +3 -0
  470. skills_manager_cli-0.1.0/src/skills_manager/adapters.py +62 -0
  471. skills_manager_cli-0.1.0/src/skills_manager/agents.py +231 -0
  472. skills_manager_cli-0.1.0/src/skills_manager/checks/__init__.py +58 -0
  473. skills_manager_cli-0.1.0/src/skills_manager/checks/rules.py +277 -0
  474. skills_manager_cli-0.1.0/src/skills_manager/cli.py +622 -0
  475. skills_manager_cli-0.1.0/src/skills_manager/commands/__init__.py +0 -0
  476. skills_manager_cli-0.1.0/src/skills_manager/commands/agent.py +63 -0
  477. skills_manager_cli-0.1.0/src/skills_manager/commands/check.py +18 -0
  478. skills_manager_cli-0.1.0/src/skills_manager/commands/doctor.py +13 -0
  479. skills_manager_cli-0.1.0/src/skills_manager/commands/filter.py +95 -0
  480. skills_manager_cli-0.1.0/src/skills_manager/commands/import_cmd.py +41 -0
  481. skills_manager_cli-0.1.0/src/skills_manager/commands/info.py +84 -0
  482. skills_manager_cli-0.1.0/src/skills_manager/commands/install.py +72 -0
  483. skills_manager_cli-0.1.0/src/skills_manager/commands/list_cmd.py +17 -0
  484. skills_manager_cli-0.1.0/src/skills_manager/commands/prune.py +24 -0
  485. skills_manager_cli-0.1.0/src/skills_manager/commands/regenerate_config.py +24 -0
  486. skills_manager_cli-0.1.0/src/skills_manager/commands/scan.py +63 -0
  487. skills_manager_cli-0.1.0/src/skills_manager/commands/schedule.py +61 -0
  488. skills_manager_cli-0.1.0/src/skills_manager/commands/sync_cmd.py +32 -0
  489. skills_manager_cli-0.1.0/src/skills_manager/commands/uninstall.py +70 -0
  490. skills_manager_cli-0.1.0/src/skills_manager/commands/unregister.py +63 -0
  491. skills_manager_cli-0.1.0/src/skills_manager/commands/update.py +56 -0
  492. skills_manager_cli-0.1.0/src/skills_manager/commands/upgrade.py +55 -0
  493. skills_manager_cli-0.1.0/src/skills_manager/config.py +157 -0
  494. skills_manager_cli-0.1.0/src/skills_manager/context.py +13 -0
  495. skills_manager_cli-0.1.0/src/skills_manager/doctor.py +54 -0
  496. skills_manager_cli-0.1.0/src/skills_manager/execution_log.py +43 -0
  497. skills_manager_cli-0.1.0/src/skills_manager/home.py +52 -0
  498. skills_manager_cli-0.1.0/src/skills_manager/importer.py +277 -0
  499. skills_manager_cli-0.1.0/src/skills_manager/install.py +330 -0
  500. skills_manager_cli-0.1.0/src/skills_manager/lockfile.py +84 -0
  501. skills_manager_cli-0.1.0/src/skills_manager/pickers.py +63 -0
  502. skills_manager_cli-0.1.0/src/skills_manager/ports.py +28 -0
  503. skills_manager_cli-0.1.0/src/skills_manager/presenters.py +262 -0
  504. skills_manager_cli-0.1.0/src/skills_manager/registry.py +87 -0
  505. skills_manager_cli-0.1.0/src/skills_manager/schedule.py +297 -0
  506. skills_manager_cli-0.1.0/src/skills_manager/security.py +54 -0
  507. skills_manager_cli-0.1.0/src/skills_manager/source.py +537 -0
  508. skills_manager_cli-0.1.0/src/skills_manager/sync.py +112 -0
  509. skills_manager_cli-0.1.0/src/skills_manager/uninstall.py +110 -0
  510. skills_manager_cli-0.1.0/src/skills_manager/unregister.py +72 -0
  511. skills_manager_cli-0.1.0/src/skills_manager/update.py +395 -0
  512. skills_manager_cli-0.1.0/src/skills_manager/upgrade.py +292 -0
  513. skills_manager_cli-0.1.0/tests/test_agents.py +384 -0
  514. skills_manager_cli-0.1.0/tests/test_checks.py +69 -0
  515. skills_manager_cli-0.1.0/tests/test_cli.py +2584 -0
  516. skills_manager_cli-0.1.0/tests/test_config.py +267 -0
  517. skills_manager_cli-0.1.0/tests/test_deregister.py +125 -0
  518. skills_manager_cli-0.1.0/tests/test_doctor.py +110 -0
  519. skills_manager_cli-0.1.0/tests/test_execution_log.py +145 -0
  520. skills_manager_cli-0.1.0/tests/test_home.py +80 -0
  521. skills_manager_cli-0.1.0/tests/test_importer.py +496 -0
  522. skills_manager_cli-0.1.0/tests/test_install.py +654 -0
  523. skills_manager_cli-0.1.0/tests/test_installers.py +191 -0
  524. skills_manager_cli-0.1.0/tests/test_ports.py +66 -0
  525. skills_manager_cli-0.1.0/tests/test_presenters.py +269 -0
  526. skills_manager_cli-0.1.0/tests/test_registry.py +108 -0
  527. skills_manager_cli-0.1.0/tests/test_rules.py +202 -0
  528. skills_manager_cli-0.1.0/tests/test_scan.py +101 -0
  529. skills_manager_cli-0.1.0/tests/test_schedule.py +327 -0
  530. skills_manager_cli-0.1.0/tests/test_security.py +70 -0
  531. skills_manager_cli-0.1.0/tests/test_source.py +589 -0
  532. skills_manager_cli-0.1.0/tests/test_sync.py +243 -0
  533. skills_manager_cli-0.1.0/tests/test_uninstall.py +210 -0
  534. skills_manager_cli-0.1.0/tests/test_uninstall_app.py +250 -0
  535. skills_manager_cli-0.1.0/tests/test_update.py +681 -0
  536. skills_manager_cli-0.1.0/tests/test_upgrade.py +506 -0
  537. skills_manager_cli-0.1.0/uninstall.ps1 +131 -0
  538. skills_manager_cli-0.1.0/uninstall.sh +88 -0
  539. skills_manager_cli-0.1.0/uv.lock +132 -0
@@ -0,0 +1,128 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ # Routing design (BL-073): `runs-on` cannot be conditional, so a cheap
8
+ # probe carries the only signal that matters — hosted minutes. Skipped =
9
+ # neutral gray, never red. Only real test failures go red:
10
+ # - probe-hosted (hosted): green ⇔ minutes exist. Its red only ever means
11
+ # "no quota" (single echo step); it carries no code signal, ignore it.
12
+ # - Hosted variants run only on proven quota (hosted first, no duplicates).
13
+ # - Self-hosted variants run only when the probe shows no quota. They have
14
+ # no `needs` edge (nothing must gate them: when the box is down they
15
+ # queue honestly instead of deadlocking behind another job).
16
+ # - preflight (self-hosted) translates the probe result into warnings and
17
+ # always exits 0. It cannot query runner presence: listing repo runners
18
+ # needs admin scope, which GITHUB_TOKEN can never have (403) — so no
19
+ # per-OS gating is attempted; an absent box shows as queued, not red.
20
+ jobs:
21
+ probe-hosted:
22
+ runs-on: ubuntu-latest
23
+ outputs:
24
+ minutes_ok: ${{ steps.check.outputs.minutes_ok }}
25
+ steps:
26
+ - id: check
27
+ run: echo "minutes_ok=true" >> "$GITHUB_OUTPUT"
28
+
29
+ preflight:
30
+ runs-on: [self-hosted, linux]
31
+ needs: [probe-hosted]
32
+ if: always()
33
+ steps:
34
+ - run: |
35
+ if [ "${{ needs.probe-hosted.outputs.minutes_ok }}" = "true" ]; then
36
+ echo "Hosted minutes available — hosted jobs take it from here."
37
+ else
38
+ echo "::warning::Hosted minutes unavailable — hosted jobs will skip; self-hosted jobs (if their runners live) carry the signal."
39
+ fi
40
+
41
+ test-linux-hosted:
42
+ name: test (linux hosted 3.12)
43
+ needs: [probe-hosted]
44
+ if: needs.probe-hosted.outputs.minutes_ok == 'true'
45
+ strategy:
46
+ fail-fast: false
47
+ runs-on: ubuntu-latest
48
+ steps:
49
+ - uses: actions/checkout@v4
50
+ - uses: astral-sh/setup-uv@v5
51
+ with:
52
+ python-version: "3.12"
53
+ - run: uv sync
54
+ - run: uv run python -m unittest discover -s tests
55
+ - run: uv run ruff check src tests
56
+
57
+ test-windows-hosted:
58
+ name: test (windows hosted 3.12)
59
+ needs: [probe-hosted]
60
+ if: needs.probe-hosted.outputs.minutes_ok == 'true'
61
+ strategy:
62
+ fail-fast: false
63
+ runs-on: windows-latest
64
+ steps:
65
+ - uses: actions/checkout@v4
66
+ - uses: astral-sh/setup-uv@v5
67
+ with:
68
+ python-version: "3.12"
69
+ - run: uv sync
70
+ - run: uv run python -m unittest discover -s tests
71
+ - run: uv run ruff check src tests
72
+
73
+ test-linux-selfhosted:
74
+ name: test (linux self-hosted 3.12)
75
+ needs: [probe-hosted]
76
+ if: always() && needs.probe-hosted.outputs.minutes_ok != 'true'
77
+ runs-on: [self-hosted, linux]
78
+ steps:
79
+ # Plain git: no actions/checkout (codeload.github.com is
80
+ # unreachable from here; the runner pre-downloads every `uses:`).
81
+ - name: Checkout (self-hosted)
82
+ run: |
83
+ set -e
84
+ if [ ! -d .git ]; then
85
+ git init -q
86
+ git remote add origin "https://github.com/${{ github.repository }}.git"
87
+ fi
88
+ if [ "${{ github.event_name }}" = "pull_request" ]; then
89
+ git fetch --depth 1 origin "pull/${{ github.event.number }}/merge"
90
+ else
91
+ git fetch --depth 1 origin "${{ github.sha }}"
92
+ fi
93
+ git checkout -qf FETCH_HEAD
94
+ git clean -fdx
95
+ # System toolchain: no setup-uv (see above).
96
+ - name: Set up uv (self-hosted)
97
+ run: |
98
+ echo "$HOME/.local/bin" >> "$GITHUB_PATH"
99
+ echo "UV_PYTHON_PREFERENCE=only-system" >> "$GITHUB_ENV"
100
+ /home/alec/.local/bin/uv --version
101
+ python3 --version
102
+ - run: uv sync
103
+ - run: uv run python -m unittest discover -s tests
104
+ - run: uv run ruff check src tests
105
+
106
+ test-windows-selfhosted:
107
+ name: test (windows self-hosted 3.12)
108
+ needs: [probe-hosted]
109
+ if: always() && needs.probe-hosted.outputs.minutes_ok != 'true'
110
+ runs-on: [self-hosted, Windows]
111
+ steps:
112
+ # Plain git: no actions/checkout (see test-linux-selfhosted).
113
+ - name: Checkout (self-hosted)
114
+ run: |
115
+ if (-not (Test-Path .git)) {
116
+ git init -q
117
+ git remote add origin "https://github.com/${{ github.repository }}.git"
118
+ }
119
+ if ("${{ github.event_name }}" -eq "pull_request") {
120
+ git fetch --depth 1 origin "pull/${{ github.event.number }}/merge"
121
+ } else {
122
+ git fetch --depth 1 origin "${{ github.sha }}"
123
+ }
124
+ git checkout -qf FETCH_HEAD
125
+ git clean -fdx
126
+ - run: C:\Users\Dell\.local\bin\uv.exe sync --python 3.12
127
+ - run: C:\Users\Dell\.local\bin\uv.exe run python -m unittest discover -s tests
128
+ - run: C:\Users\Dell\.local\bin\uv.exe run ruff check src tests
@@ -0,0 +1,170 @@
1
+ name: Release
2
+
3
+ # BL-058: every merge to main cuts a new GitHub release (version stamp,
4
+ # sdist/wheel, checksums.txt, tag, notes) with no manual steps.
5
+ # BL-074: the same run then publishes the sdist/wheel to PyPI (trusted
6
+ # publishing, no manual upload). A failed publish is retried via
7
+ # workflow_dispatch with inputs.version — the exact bytes are
8
+ # re-downloaded from the GitHub release, never rebuilt.
9
+ #
10
+ # Self-hosted job (BL-074): hosted minutes are exhausted, and no `uses:`
11
+ # step resolves on the self-hosted runner (codeload.github.com is
12
+ # unreachable from it) — so checkout/setup/publish are plain shell over
13
+ # the system toolchain, mirroring ci.yml self-hosted jobs. Publishing
14
+ # uses `uv publish` with forced OIDC (mechanism proven by the TestPyPI
15
+ # rehearsal, run 38636537537). `gh` is preinstalled on the runner.
16
+
17
+ on:
18
+ push:
19
+ branches: [main]
20
+ workflow_dispatch:
21
+ inputs:
22
+ version:
23
+ description: "Retry publishing an existing release, e.g. 0.1.3 (empty = normal auto-computed release)"
24
+ required: false
25
+ default: ""
26
+
27
+ permissions:
28
+ contents: write
29
+ id-token: write # BL-074: OIDC trusted publishing to PyPI
30
+
31
+ concurrency:
32
+ group: release
33
+ cancel-in-progress: false
34
+
35
+ jobs:
36
+ release:
37
+ if: "!contains(github.event.head_commit.message, '[skip release]')"
38
+ runs-on: [self-hosted, linux]
39
+ steps:
40
+ # Plain git: no actions/checkout (see header) — full history so
41
+ # tag push works from any checkout state; tags needed for version
42
+ # computation below.
43
+ - name: Checkout (self-hosted)
44
+ run: |
45
+ set -e
46
+ if [ ! -d .git ]; then
47
+ git init -q
48
+ git remote add origin "https://github.com/${{ github.repository }}.git"
49
+ fi
50
+ git fetch --tags --force origin
51
+ git fetch origin "${{ github.ref }}"
52
+ git checkout -qf FETCH_HEAD
53
+ git clean -fdx
54
+
55
+ # System toolchain: no setup-uv (see header) — same as ci.yml.
56
+ - name: Set up uv (self-hosted)
57
+ run: |
58
+ echo "$HOME/.local/bin" >> "$GITHUB_PATH"
59
+ echo "UV_PYTHON_PREFERENCE=only-system" >> "$GITHUB_ENV"
60
+ /home/alec/.local/bin/uv --version
61
+ python3 --version
62
+
63
+ - name: Compute next version
64
+ id: version
65
+ run: |
66
+ set -eu
67
+ git fetch --tags --force
68
+ if [ -n "${{ inputs.version }}" ]; then
69
+ requested="${{ inputs.version }}"
70
+ if ! printf '%s' "$requested" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+$'; then
71
+ echo "inputs.version must be numeric X.Y.Z with no 'v' prefix (got: $requested)." >&2
72
+ exit 1
73
+ fi
74
+ if ! git rev-parse "v$requested" >/dev/null 2>&1; then
75
+ echo "Tag v$requested does not exist; a recovery dispatch requires an existing release." >&2
76
+ exit 1
77
+ fi
78
+ echo "next=$requested" >> "$GITHUB_OUTPUT"
79
+ echo "skip=true" >> "$GITHUB_OUTPUT"
80
+ echo "recovery=true" >> "$GITHUB_OUTPUT"
81
+ echo "Recovery publish for existing release v$requested."
82
+ exit 0
83
+ fi
84
+ echo "recovery=false" >> "$GITHUB_OUTPUT"
85
+ latest="$(git tag --list 'v*' --sort=-v:refname | head -n 1 || true)"
86
+ if [ -z "$latest" ]; then
87
+ next="0.1.0"
88
+ else
89
+ base="${latest#v}"
90
+ major="${base%%.*}"
91
+ rest="${base#*.}"
92
+ minor="${rest%%.*}"
93
+ patch="${rest#*.}"
94
+ next="$major.$minor.$((patch + 1))"
95
+ fi
96
+ if git rev-parse "v$next" >/dev/null 2>&1; then
97
+ echo "Tag v$next already exists; nothing to release."
98
+ echo "skip=true" >> "$GITHUB_OUTPUT"
99
+ else
100
+ echo "next=$next" >> "$GITHUB_OUTPUT"
101
+ echo "skip=false" >> "$GITHUB_OUTPUT"
102
+ fi
103
+ echo "Next version: $next (latest tag: ${latest:-none})"
104
+
105
+ - name: Stamp version and push tag
106
+ if: steps.version.outputs.skip == 'false'
107
+ env:
108
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
109
+ run: |
110
+ set -eu
111
+ next="${{ steps.version.outputs.next }}"
112
+ sed -i "s/^version = \".*\"/version = \"$next\"/" pyproject.toml
113
+ sed -i "s/^__version__ = \".*\"/__version__ = \"$next\"/" src/skills_manager/__init__.py
114
+ grep -q "^version = \"$next\"$" pyproject.toml
115
+ grep -q "^__version__ = \"$next\"$" src/skills_manager/__init__.py
116
+ git config user.name "github-actions[bot]"
117
+ git config user.email "github-actions[bot]@users.noreply.github.com"
118
+ git add pyproject.toml src/skills_manager/__init__.py
119
+ git commit -m "chore: release v$next [skip release]"
120
+ git tag "v$next"
121
+ # Plain-git checkout has no credential helper (no
122
+ # actions/checkout), so authenticate the push explicitly.
123
+ auth="$(printf 'x-access-token:%s' "$GITHUB_TOKEN" | base64 -w0)"
124
+ git -c "http.extraHeader=AUTHORIZATION: basic $auth" push origin HEAD:main "v$next"
125
+
126
+ - name: Build packages and checksums
127
+ if: steps.version.outputs.skip == 'false'
128
+ run: |
129
+ set -eu
130
+ uv sync
131
+ uv build
132
+ (cd dist && sha256sum -- * > checksums.txt)
133
+ cat dist/checksums.txt
134
+
135
+ - name: Create GitHub release with notes
136
+ if: steps.version.outputs.skip == 'false'
137
+ env:
138
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
139
+ run: |
140
+ set -eu
141
+ next="${{ steps.version.outputs.next }}"
142
+ gh release create "v$next" --title "v$next" --generate-notes dist/*
143
+
144
+ - name: Stage distributions for PyPI (BL-074)
145
+ if: steps.version.outputs.skip == 'false' || steps.version.outputs.recovery == 'true'
146
+ env:
147
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
148
+ run: |
149
+ set -eu
150
+ next="${{ steps.version.outputs.next }}"
151
+ rm -rf dist-publish
152
+ mkdir -p dist-publish
153
+ if [ "${{ steps.version.outputs.recovery }}" = "true" ]; then
154
+ gh release download "v$next" --pattern '*.tar.gz' --pattern '*.whl' --dir dist-publish
155
+ else
156
+ cp dist/*.tar.gz dist/*.whl dist-publish/
157
+ fi
158
+ echo "Upload set:"
159
+ ls -la dist-publish
160
+ count="$(ls dist-publish/*.tar.gz dist-publish/*.whl 2>/dev/null | wc -l)"
161
+ if [ "$count" -lt 2 ]; then
162
+ echo "Expected at least one sdist and one wheel in dist-publish/." >&2
163
+ exit 1
164
+ fi
165
+
166
+ - name: Publish to PyPI (BL-074)
167
+ if: steps.version.outputs.skip == 'false' || steps.version.outputs.recovery == 'true'
168
+ run: |
169
+ set -eu
170
+ uv publish --trusted-publishing always dist-publish/*
@@ -0,0 +1,20 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ .venv/
6
+ venv/
7
+ build/
8
+ dist/
9
+ *.egg
10
+
11
+ # Tooling / caches
12
+ .ruff_cache/
13
+ .mypy_cache/
14
+ .coverage
15
+ htmlcov/
16
+
17
+ # OS / editor
18
+ .DS_Store
19
+ .vscode/
20
+ .idea/
@@ -0,0 +1,251 @@
1
+ ---
2
+ description: Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
3
+ ---
4
+
5
+ ## User Input
6
+
7
+ ```text
8
+ $ARGUMENTS
9
+ ```
10
+
11
+ You **MUST** consider the user input before proceeding (if not empty).
12
+
13
+ ## Pre-Execution Checks
14
+
15
+ **Check for extension hooks (before analysis)**:
16
+ - Check if `.specify/extensions.yml` exists in the project root.
17
+ - If it exists, read it and look for entries under the `hooks.before_analyze` key
18
+ - If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
19
+ - Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
20
+ - For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
21
+ - If the hook has no `condition` field, or it is null/empty, treat the hook as executable
22
+ - If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation
23
+ - For each executable hook, output the following based on its `optional` flag:
24
+ - **Optional hook** (`optional: true`):
25
+ ```
26
+ ## Extension Hooks
27
+
28
+ **Optional Pre-Hook**: {extension}
29
+ Command: `/{command}`
30
+ Description: {description}
31
+
32
+ Prompt: {prompt}
33
+ To execute: `/{command}`
34
+ ```
35
+ - **Mandatory hook** (`optional: false`):
36
+ ```
37
+ ## Extension Hooks
38
+
39
+ **Automatic Pre-Hook**: {extension}
40
+ Executing: `/{command}`
41
+ EXECUTE_COMMAND: {command}
42
+
43
+ Wait for the result of the hook command before proceeding to the Goal.
44
+ ```
45
+ After emitting the block above you MUST actually invoke the hook and wait for it to finish before continuing. Run it the same way you would run the command yourself in this agent/session (the invocation may differ from the literal `{command}` id shown above, e.g. a skills-mode agent runs it as `/skill:speckit-...` or `$speckit-...`). Emitting the block alone does not run the hook.
46
+ - If no hooks are registered or `.specify/extensions.yml` does not exist, skip silently
47
+
48
+ ## Goal
49
+
50
+ Identify inconsistencies, duplications, ambiguities, and underspecified items across the three core artifacts (`spec.md`, `plan.md`, `tasks.md`) before implementation. This command MUST run only after `/speckit.tasks` has successfully produced a complete `tasks.md`.
51
+
52
+ ## Operating Constraints
53
+
54
+ **STRICTLY READ-ONLY**: Do **not** modify any files. Output a structured analysis report. Offer an optional remediation plan (user must explicitly approve before any follow-up editing commands would be invoked manually).
55
+
56
+ **Constitution Authority**: The project constitution (`.specify/memory/constitution.md`) is **non-negotiable** within this analysis scope. Constitution conflicts are automatically CRITICAL and require adjustment of the spec, plan, or tasks—not dilution, reinterpretation, or silent ignoring of the principle. If a principle itself needs to change, that must occur in a separate, explicit constitution update outside `/speckit.analyze`.
57
+
58
+ ## Execution Steps
59
+
60
+ ### 1. Initialize Analysis Context
61
+
62
+ Run `.specify/scripts/bash/check-prerequisites.sh --json --require-spec --require-tasks --include-tasks` once from repo root and parse JSON for FEATURE_DIR and AVAILABLE_DOCS. Derive absolute paths:
63
+
64
+ - SPEC = FEATURE_DIR/spec.md
65
+ - PLAN = FEATURE_DIR/plan.md
66
+ - TASKS = FEATURE_DIR/tasks.md
67
+
68
+ Abort with an error message if any required file is missing (instruct the user to run missing prerequisite command).
69
+ For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
70
+
71
+ ### 2. Load Artifacts (Progressive Disclosure)
72
+
73
+ Load only the minimal necessary context from each artifact:
74
+
75
+ **From spec.md:**
76
+
77
+ - Overview/Context
78
+ - Functional Requirements
79
+ - Success Criteria (measurable outcomes — e.g., performance, security, availability, user success, business impact)
80
+ - User Stories
81
+ - Edge Cases (if present)
82
+
83
+ **From plan.md:**
84
+
85
+ - Architecture/stack choices
86
+ - Data Model references
87
+ - Phases
88
+ - Technical constraints
89
+
90
+ **From tasks.md:**
91
+
92
+ - Task IDs
93
+ - Descriptions
94
+ - Phase grouping
95
+ - Parallel markers [P]
96
+ - Referenced file paths
97
+
98
+ **From constitution:**
99
+
100
+ - Load `.specify/memory/constitution.md` for principle validation
101
+
102
+ ### 3. Build Semantic Models
103
+
104
+ Create internal representations (do not include raw artifacts in output):
105
+
106
+ - **Requirements inventory**: For each Functional Requirement (FR-###) and Success Criterion (SC-###), record a stable key. Use the explicit FR-/SC- identifier as the primary key when present, and optionally also derive an imperative-phrase slug for readability (e.g., "User can upload file" → `user-can-upload-file`). Include only Success Criteria items that require buildable work (e.g., load-testing infrastructure, security audit tooling), and exclude post-launch outcome metrics and business KPIs (e.g., "Reduce support tickets by 50%").
107
+ - **User story/action inventory**: Discrete user actions with acceptance criteria
108
+ - **Task coverage mapping**: Map each task to one or more requirements or stories (inference by keyword / explicit reference patterns like IDs or key phrases)
109
+ - **Constitution rule set**: Extract principle names and MUST/SHOULD normative statements
110
+
111
+ ### 4. Detection Passes (Token-Efficient Analysis)
112
+
113
+ Focus on high-signal findings. Limit to 50 findings total; aggregate remainder in overflow summary.
114
+
115
+ #### A. Duplication Detection
116
+
117
+ - Identify near-duplicate requirements
118
+ - Mark lower-quality phrasing for consolidation
119
+
120
+ #### B. Ambiguity Detection
121
+
122
+ - Flag vague adjectives (fast, scalable, secure, intuitive, robust) lacking measurable criteria
123
+ - Flag unresolved placeholders (TODO, TKTK, ???, `<placeholder>`, etc.)
124
+
125
+ #### C. Underspecification
126
+
127
+ - Requirements with verbs but missing object or measurable outcome
128
+ - User stories missing acceptance criteria alignment
129
+ - Tasks referencing files or components not defined in spec/plan
130
+
131
+ #### D. Constitution Alignment
132
+
133
+ - Any requirement or plan element conflicting with a MUST principle
134
+ - Missing mandated sections or quality gates from constitution
135
+
136
+ #### E. Coverage Gaps
137
+
138
+ - Requirements with zero associated tasks
139
+ - Tasks with no mapped requirement/story
140
+ - Success Criteria requiring buildable work (performance, security, availability) not reflected in tasks
141
+
142
+ #### F. Inconsistency
143
+
144
+ - Terminology drift (same concept named differently across files)
145
+ - Data entities referenced in plan but absent in spec (or vice versa)
146
+ - Task ordering contradictions (e.g., integration tasks before foundational setup tasks without dependency note)
147
+ - Conflicting requirements (e.g., one requires Next.js while other specifies Vue)
148
+
149
+ ### 5. Severity Assignment
150
+
151
+ Use this heuristic to prioritize findings:
152
+
153
+ - **CRITICAL**: Violates constitution MUST, missing core spec artifact, or requirement with zero coverage that blocks baseline functionality
154
+ - **HIGH**: Duplicate or conflicting requirement, ambiguous security/performance attribute, untestable acceptance criterion
155
+ - **MEDIUM**: Terminology drift, missing non-functional task coverage, underspecified edge case
156
+ - **LOW**: Style/wording improvements, minor redundancy not affecting execution order
157
+
158
+ ### 6. Produce Compact Analysis Report
159
+
160
+ Output a Markdown report (no file writes) with the following structure:
161
+
162
+ ## Specification Analysis Report
163
+
164
+ | ID | Category | Severity | Location(s) | Summary | Recommendation |
165
+ |----|----------|----------|-------------|---------|----------------|
166
+ | A1 | Duplication | HIGH | spec.md:L120-134 | Two similar requirements ... | Merge phrasing; keep clearer version |
167
+
168
+ (Add one row per finding; generate stable IDs prefixed by category initial.)
169
+
170
+ **Coverage Summary Table:**
171
+
172
+ | Requirement Key | Has Task? | Task IDs | Notes |
173
+ |-----------------|-----------|----------|-------|
174
+
175
+ **Constitution Alignment Issues:** (if any)
176
+
177
+ **Unmapped Tasks:** (if any)
178
+
179
+ **Metrics:**
180
+
181
+ - Total Requirements
182
+ - Total Tasks
183
+ - Coverage % (requirements with >=1 task)
184
+ - Ambiguity Count
185
+ - Duplication Count
186
+ - Critical Issues Count
187
+
188
+ ### 7. Provide Next Actions
189
+
190
+ At end of report, output a concise Next Actions block:
191
+
192
+ - If CRITICAL issues exist: Recommend resolving before `/speckit.implement`
193
+ - If only LOW/MEDIUM: User may proceed, but provide improvement suggestions
194
+ - Provide explicit command suggestions: e.g., "Run /speckit.specify with refinement", "Run /speckit.plan to adjust architecture", "Manually edit tasks.md to add coverage for 'performance-metrics'"
195
+
196
+ ### 8. Offer Remediation
197
+
198
+ Ask the user: "Would you like me to suggest concrete remediation edits for the top N issues?" (Do NOT apply them automatically.)
199
+
200
+ ### 9. Check for extension hooks
201
+
202
+ After reporting, check if `.specify/extensions.yml` exists in the project root.
203
+ - If it exists, read it and look for entries under the `hooks.after_analyze` key
204
+ - If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
205
+ - Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
206
+ - For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
207
+ - If the hook has no `condition` field, or it is null/empty, treat the hook as executable
208
+ - If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation
209
+ - For each executable hook, output the following based on its `optional` flag:
210
+ - **Optional hook** (`optional: true`):
211
+ ```
212
+ ## Extension Hooks
213
+
214
+ **Optional Hook**: {extension}
215
+ Command: `/{command}`
216
+ Description: {description}
217
+
218
+ Prompt: {prompt}
219
+ To execute: `/{command}`
220
+ ```
221
+ - **Mandatory hook** (`optional: false`):
222
+ ```
223
+ ## Extension Hooks
224
+
225
+ **Automatic Hook**: {extension}
226
+ Executing: `/{command}`
227
+ EXECUTE_COMMAND: {command}
228
+ ```
229
+ After emitting the block above you MUST actually invoke the hook and wait for it to finish before continuing. Run it the same way you would run the command yourself in this agent/session (the invocation may differ from the literal `{command}` id shown above, e.g. a skills-mode agent runs it as `/skill:speckit-...` or `$speckit-...`). Emitting the block alone does not run the hook.
230
+ - If no hooks are registered or `.specify/extensions.yml` does not exist, skip silently
231
+
232
+ ## Operating Principles
233
+
234
+ ### Context Efficiency
235
+
236
+ - **Minimal high-signal tokens**: Focus on actionable findings, not exhaustive documentation
237
+ - **Progressive disclosure**: Load artifacts incrementally; don't dump all content into analysis
238
+ - **Token-efficient output**: Limit findings table to 50 rows; summarize overflow
239
+ - **Deterministic results**: Rerunning without changes should produce consistent IDs and counts
240
+
241
+ ### Analysis Guidelines
242
+
243
+ - **NEVER modify files** (this is read-only analysis)
244
+ - **NEVER hallucinate missing sections** (if absent, report them accurately)
245
+ - **Prioritize constitution violations** (these are always CRITICAL)
246
+ - **Use examples over exhaustive rules** (cite specific instances, not generic patterns)
247
+ - **Report zero issues gracefully** (emit success report with coverage statistics)
248
+
249
+ ## Context
250
+
251
+ $ARGUMENTS