@event4u/agent-config 2.26.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (771) hide show
  1. package/.agent-src/commands/agent-handoff.md +15 -3
  2. package/.agent-src/commands/agent-status.md +12 -0
  3. package/.agent-src/commands/agents/audit.md +12 -0
  4. package/.agent-src/commands/agents/init.md +12 -0
  5. package/.agent-src/commands/agents/optimize.md +12 -0
  6. package/.agent-src/commands/agents/user/accept.md +12 -0
  7. package/.agent-src/commands/agents/user/init.md +12 -0
  8. package/.agent-src/commands/agents/user/review.md +12 -0
  9. package/.agent-src/commands/agents/user/show.md +12 -0
  10. package/.agent-src/commands/agents/user/update.md +12 -0
  11. package/.agent-src/commands/agents/user.md +12 -0
  12. package/.agent-src/commands/agents.md +12 -0
  13. package/.agent-src/commands/analyze-reference-repo.md +15 -3
  14. package/.agent-src/commands/bug-fix.md +12 -0
  15. package/.agent-src/commands/bug-investigate.md +13 -1
  16. package/.agent-src/commands/challenge-me/vision.md +12 -0
  17. package/.agent-src/commands/challenge-me/with-docs.md +12 -0
  18. package/.agent-src/commands/challenge-me.md +12 -0
  19. package/.agent-src/commands/chat-history/import.md +16 -4
  20. package/.agent-src/commands/chat-history/learn.md +15 -3
  21. package/.agent-src/commands/chat-history/show.md +17 -5
  22. package/.agent-src/commands/chat-history.md +14 -2
  23. package/.agent-src/commands/check-current-md.md +12 -0
  24. package/.agent-src/commands/commit/in-chunks.md +12 -0
  25. package/.agent-src/commands/commit.md +12 -0
  26. package/.agent-src/commands/compress.md +12 -0
  27. package/.agent-src/commands/context/create.md +17 -5
  28. package/.agent-src/commands/context/refactor.md +15 -3
  29. package/.agent-src/commands/context.md +12 -0
  30. package/.agent-src/commands/cost-report.md +12 -0
  31. package/.agent-src/commands/council/analysis.md +15 -3
  32. package/.agent-src/commands/council/debate.md +17 -5
  33. package/.agent-src/commands/council/default.md +17 -5
  34. package/.agent-src/commands/council/design.md +12 -0
  35. package/.agent-src/commands/council/optimize.md +12 -0
  36. package/.agent-src/commands/council/pr.md +12 -0
  37. package/.agent-src/commands/council.md +13 -1
  38. package/.agent-src/commands/create-pr/description-only.md +12 -0
  39. package/.agent-src/commands/create-pr.md +39 -0
  40. package/.agent-src/commands/e2e-heal.md +12 -0
  41. package/.agent-src/commands/e2e-plan.md +12 -0
  42. package/.agent-src/commands/estimate-ticket.md +12 -0
  43. package/.agent-src/commands/feature/dev.md +13 -1
  44. package/.agent-src/commands/feature/explore.md +12 -0
  45. package/.agent-src/commands/feature/plan.md +14 -2
  46. package/.agent-src/commands/feature/refactor.md +12 -0
  47. package/.agent-src/commands/feature/roadmap.md +12 -0
  48. package/.agent-src/commands/feature.md +12 -0
  49. package/.agent-src/commands/fix/ci.md +12 -0
  50. package/.agent-src/commands/fix/portability.md +12 -0
  51. package/.agent-src/commands/fix/pr-bot-comments.md +12 -0
  52. package/.agent-src/commands/fix/pr-comments.md +12 -0
  53. package/.agent-src/commands/fix/pr-developer-comments.md +12 -0
  54. package/.agent-src/commands/fix/refs.md +12 -0
  55. package/.agent-src/commands/fix/seeder.md +12 -0
  56. package/.agent-src/commands/fix.md +12 -0
  57. package/.agent-src/commands/ghostwriter/delete.md +20 -8
  58. package/.agent-src/commands/ghostwriter/fetch.md +19 -7
  59. package/.agent-src/commands/ghostwriter/list.md +19 -7
  60. package/.agent-src/commands/ghostwriter/show.md +14 -2
  61. package/.agent-src/commands/ghostwriter/write.md +15 -3
  62. package/.agent-src/commands/ghostwriter.md +14 -2
  63. package/.agent-src/commands/grill-me.md +12 -0
  64. package/.agent-src/commands/implement-ticket.md +12 -0
  65. package/.agent-src/commands/jira-ticket.md +12 -0
  66. package/.agent-src/commands/judge/on-diff.md +12 -0
  67. package/.agent-src/commands/judge/solo.md +12 -0
  68. package/.agent-src/commands/judge/steps.md +12 -0
  69. package/.agent-src/commands/judge.md +12 -0
  70. package/.agent-src/commands/memory/add.md +12 -0
  71. package/.agent-src/commands/memory/learn-low-impact.md +18 -6
  72. package/.agent-src/commands/memory/load.md +12 -0
  73. package/.agent-src/commands/memory/mine-session.md +12 -0
  74. package/.agent-src/commands/memory/promote.md +12 -0
  75. package/.agent-src/commands/memory/propose.md +12 -0
  76. package/.agent-src/commands/memory.md +12 -0
  77. package/.agent-src/commands/mode.md +12 -0
  78. package/.agent-src/commands/module/create.md +12 -0
  79. package/.agent-src/commands/module/explore.md +13 -1
  80. package/.agent-src/commands/module.md +12 -0
  81. package/.agent-src/commands/optimize/agents-dir.md +14 -2
  82. package/.agent-src/commands/optimize/augmentignore.md +12 -0
  83. package/.agent-src/commands/optimize/rtk.md +12 -0
  84. package/.agent-src/commands/optimize/skills.md +12 -0
  85. package/.agent-src/commands/optimize-prompt.md +12 -0
  86. package/.agent-src/commands/optimize.md +12 -0
  87. package/.agent-src/commands/orchestrate.md +13 -1
  88. package/.agent-src/commands/override/create.md +12 -0
  89. package/.agent-src/commands/override/manage.md +12 -0
  90. package/.agent-src/commands/override.md +12 -0
  91. package/.agent-src/commands/package-reset.md +12 -0
  92. package/.agent-src/commands/package-test.md +12 -0
  93. package/.agent-src/commands/post-as/ghostwriter.md +12 -0
  94. package/.agent-src/commands/post-as/me.md +13 -1
  95. package/.agent-src/commands/post-as.md +12 -0
  96. package/.agent-src/commands/prepare-for-review.md +12 -0
  97. package/.agent-src/commands/project-analyze.md +27 -15
  98. package/.agent-src/commands/project-health.md +13 -1
  99. package/.agent-src/commands/quality-fix.md +12 -0
  100. package/.agent-src/commands/refine-ticket.md +12 -0
  101. package/.agent-src/commands/research/deep.md +12 -0
  102. package/.agent-src/commands/research/report.md +12 -0
  103. package/.agent-src/commands/research.md +12 -0
  104. package/.agent-src/commands/review-changes.md +12 -0
  105. package/.agent-src/commands/review-routing.md +12 -0
  106. package/.agent-src/commands/roadmap/ai-council.md +15 -3
  107. package/.agent-src/commands/roadmap/create.md +13 -1
  108. package/.agent-src/commands/roadmap/process-full.md +12 -0
  109. package/.agent-src/commands/roadmap/process-phase.md +12 -0
  110. package/.agent-src/commands/roadmap/process-step.md +12 -0
  111. package/.agent-src/commands/roadmap.md +12 -0
  112. package/.agent-src/commands/rule-compliance-audit.md +12 -0
  113. package/.agent-src/commands/set-cost-profile.md +12 -0
  114. package/.agent-src/commands/sync-agent-settings.md +12 -0
  115. package/.agent-src/commands/sync-gitignore/fix.md +32 -13
  116. package/.agent-src/commands/sync-gitignore.md +13 -1
  117. package/.agent-src/commands/tests/create.md +12 -0
  118. package/.agent-src/commands/tests/execute.md +12 -0
  119. package/.agent-src/commands/tests.md +12 -0
  120. package/.agent-src/commands/threat-model.md +12 -0
  121. package/.agent-src/commands/update-form-request-messages.md +12 -0
  122. package/.agent-src/commands/upstream-contribute.md +12 -0
  123. package/.agent-src/commands/video/from-script.md +12 -0
  124. package/.agent-src/commands/video/scene.md +12 -0
  125. package/.agent-src/commands/video/stitch.md +13 -1
  126. package/.agent-src/commands/video/storyboard.md +12 -0
  127. package/.agent-src/commands/video.md +12 -0
  128. package/.agent-src/commands/work.md +12 -0
  129. package/.agent-src/contexts/augment-infrastructure.md +2 -2
  130. package/.agent-src/contexts/authority/scope-mechanics.md +11 -0
  131. package/.agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
  132. package/.agent-src/contexts/documentation-hierarchy.md +2 -2
  133. package/.agent-src/contexts/execution/roadmap-process-loop.md +19 -0
  134. package/.agent-src/ghostwriter/README.md +2 -2
  135. package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
  136. package/.agent-src/personas/README.md +1 -1
  137. package/.agent-src/personas/advisors/contrarian.md +1 -1
  138. package/.agent-src/personas/advisors/executor.md +1 -1
  139. package/.agent-src/personas/advisors/expansionist.md +1 -1
  140. package/.agent-src/personas/advisors/first-principles.md +1 -1
  141. package/.agent-src/personas/advisors/outsider.md +1 -1
  142. package/.agent-src/rules/agent-authority.md +12 -0
  143. package/.agent-src/rules/analysis-skill-routing.md +12 -0
  144. package/.agent-src/rules/architecture.md +13 -1
  145. package/.agent-src/rules/artifact-drafting-protocol.md +13 -1
  146. package/.agent-src/rules/artifact-engagement-recording.md +13 -1
  147. package/.agent-src/rules/ask-when-uncertain.md +12 -0
  148. package/.agent-src/rules/augment-edit-discipline.md +13 -1
  149. package/.agent-src/rules/augment-source-of-truth.md +13 -1
  150. package/.agent-src/rules/autonomous-execution.md +13 -1
  151. package/.agent-src/rules/caveman-speak.md +13 -1
  152. package/.agent-src/rules/cli-output-handling.md +13 -1
  153. package/.agent-src/rules/command-suggestion-policy.md +13 -1
  154. package/.agent-src/rules/commit-conventions.md +13 -1
  155. package/.agent-src/rules/commit-policy.md +12 -0
  156. package/.agent-src/rules/context-hygiene.md +15 -3
  157. package/.agent-src/rules/copilot-routing.md +13 -1
  158. package/.agent-src/rules/devcontainer-routing.md +13 -1
  159. package/.agent-src/rules/direct-answers.md +12 -0
  160. package/.agent-src/rules/docker-commands.md +13 -1
  161. package/.agent-src/rules/domain-adoption-policy.md +17 -5
  162. package/.agent-src/rules/domain-safety-disclaimer.md +13 -1
  163. package/.agent-src/rules/domain-safety-pii.md +13 -1
  164. package/.agent-src/rules/domain-safety-retention.md +13 -1
  165. package/.agent-src/rules/downstream-changes.md +13 -1
  166. package/.agent-src/rules/external-reference-deep-dive.md +13 -1
  167. package/.agent-src/rules/fast-path-marker-visibility.md +21 -1
  168. package/.agent-src/rules/framework-neutrality-in-generic-skills.md +13 -1
  169. package/.agent-src/rules/git-history-discipline.md +13 -1
  170. package/.agent-src/rules/guidelines.md +12 -0
  171. package/.agent-src/rules/improve-before-implement.md +13 -1
  172. package/.agent-src/rules/invite-challenge.md +13 -1
  173. package/.agent-src/rules/language-and-tone.md +12 -0
  174. package/.agent-src/rules/laravel-routing.md +13 -1
  175. package/.agent-src/rules/laravel-translations.md +13 -1
  176. package/.agent-src/rules/low-impact-corpus-privacy-floor.md +17 -5
  177. package/.agent-src/rules/markdown-safe-codeblocks.md +13 -1
  178. package/.agent-src/rules/media-governance-routing.md +27 -15
  179. package/.agent-src/rules/minimal-safe-diff.md +13 -1
  180. package/.agent-src/rules/missing-tool-handling.md +13 -1
  181. package/.agent-src/rules/model-recommendation.md +13 -1
  182. package/.agent-src/rules/no-attribution-footers.md +13 -1
  183. package/.agent-src/rules/no-cheap-questions.md +12 -0
  184. package/.agent-src/rules/no-roadmap-references.md +28 -16
  185. package/.agent-src/rules/non-destructive-by-default.md +12 -0
  186. package/.agent-src/rules/onboarding-gate.md +19 -6
  187. package/.agent-src/rules/package-ci-checks.md +12 -0
  188. package/.agent-src/rules/persona-governance.md +13 -1
  189. package/.agent-src/rules/php-coding.md +13 -1
  190. package/.agent-src/rules/preservation-guard.md +13 -1
  191. package/.agent-src/rules/provider-lifecycle-discipline.md +14 -2
  192. package/.agent-src/rules/reviewer-awareness.md +13 -1
  193. package/.agent-src/rules/roadmap-ci-steps-policy.md +13 -1
  194. package/.agent-src/rules/roadmap-progress-sync.md +18 -1
  195. package/.agent-src/rules/role-mode-adherence.md +13 -1
  196. package/.agent-src/rules/rule-type-governance.md +13 -1
  197. package/.agent-src/rules/runtime-safety.md +13 -1
  198. package/.agent-src/rules/scope-control.md +12 -0
  199. package/.agent-src/rules/security-sensitive-stop.md +13 -1
  200. package/.agent-src/rules/size-enforcement.md +12 -0
  201. package/.agent-src/rules/skill-improvement-trigger.md +13 -1
  202. package/.agent-src/rules/skill-quality.md +13 -1
  203. package/.agent-src/rules/slash-command-routing-policy.md +13 -1
  204. package/.agent-src/rules/symfony-routing.md +13 -1
  205. package/.agent-src/rules/think-before-action.md +13 -1
  206. package/.agent-src/rules/token-efficiency.md +13 -1
  207. package/.agent-src/rules/token-optimizer-maintenance.md +12 -0
  208. package/.agent-src/rules/tool-safety.md +13 -1
  209. package/.agent-src/rules/ui-audit-gate.md +13 -1
  210. package/.agent-src/rules/upstream-proposal.md +13 -1
  211. package/.agent-src/rules/user-interaction.md +13 -1
  212. package/.agent-src/rules/user-interrupt-priority.md +12 -0
  213. package/.agent-src/rules/verify-before-complete.md +12 -0
  214. package/.agent-src/skills/accessibility-auditor/SKILL.md +12 -0
  215. package/.agent-src/skills/activation-design/SKILL.md +12 -0
  216. package/.agent-src/skills/adr-create/SKILL.md +12 -0
  217. package/.agent-src/skills/adversarial-review/SKILL.md +12 -0
  218. package/.agent-src/skills/agent-docs-writing/SKILL.md +16 -4
  219. package/.agent-src/skills/agents-md-thin-root/SKILL.md +14 -2
  220. package/.agent-src/skills/ai-council/SKILL.md +28 -15
  221. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +12 -0
  222. package/.agent-src/skills/analysis-skill-router/SKILL.md +12 -0
  223. package/.agent-src/skills/api-design/SKILL.md +13 -3
  224. package/.agent-src/skills/api-endpoint/SKILL.md +12 -0
  225. package/.agent-src/skills/api-testing/SKILL.md +12 -0
  226. package/.agent-src/skills/architecture-review-lens/SKILL.md +12 -0
  227. package/.agent-src/skills/artisan-commands/SKILL.md +12 -0
  228. package/.agent-src/skills/async-python-patterns/SKILL.md +13 -1
  229. package/.agent-src/skills/authz-review/SKILL.md +12 -2
  230. package/.agent-src/skills/aws-infrastructure/SKILL.md +12 -0
  231. package/.agent-src/skills/blade-ui/SKILL.md +12 -0
  232. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +12 -0
  233. package/.agent-src/skills/bug-analyzer/SKILL.md +14 -2
  234. package/.agent-src/skills/build-buy-partner/SKILL.md +12 -0
  235. package/.agent-src/skills/canvas-design/SKILL.md +12 -0
  236. package/.agent-src/skills/character-consistency/SKILL.md +23 -11
  237. package/.agent-src/skills/check-refs/SKILL.md +12 -0
  238. package/.agent-src/skills/churn-prevention/SKILL.md +12 -0
  239. package/.agent-src/skills/code-refactoring/SKILL.md +16 -4
  240. package/.agent-src/skills/code-review/SKILL.md +12 -0
  241. package/.agent-src/skills/command-routing/SKILL.md +12 -0
  242. package/.agent-src/skills/command-writing/SKILL.md +14 -2
  243. package/.agent-src/skills/comp-banding/SKILL.md +12 -0
  244. package/.agent-src/skills/competitive-moat-analysis/SKILL.md +12 -2
  245. package/.agent-src/skills/competitive-positioning/SKILL.md +12 -2
  246. package/.agent-src/skills/composer-packages/SKILL.md +12 -0
  247. package/.agent-src/skills/compress-memory/SKILL.md +12 -0
  248. package/.agent-src/skills/content-funnel-design/SKILL.md +12 -2
  249. package/.agent-src/skills/context-authoring/SKILL.md +18 -6
  250. package/.agent-src/skills/context-document/SKILL.md +17 -5
  251. package/.agent-src/skills/contracts-cognition/SKILL.md +12 -2
  252. package/.agent-src/skills/conventional-commits-writing/SKILL.md +12 -0
  253. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +13 -1
  254. package/.agent-src/skills/copilot-config/SKILL.md +12 -0
  255. package/.agent-src/skills/customer-research/SKILL.md +12 -0
  256. package/.agent-src/skills/dashboard-design/SKILL.md +12 -0
  257. package/.agent-src/skills/data-flow-mapper/SKILL.md +12 -0
  258. package/.agent-src/skills/data-handling-judgment/SKILL.md +12 -2
  259. package/.agent-src/skills/database/SKILL.md +14 -2
  260. package/.agent-src/skills/dcf-modeling/SKILL.md +12 -2
  261. package/.agent-src/skills/deal-qualification-meddic/SKILL.md +12 -2
  262. package/.agent-src/skills/decision-record/SKILL.md +12 -0
  263. package/.agent-src/skills/deep-reading-analyst/SKILL.md +12 -0
  264. package/.agent-src/skills/defense-in-depth/SKILL.md +13 -1
  265. package/.agent-src/skills/dependency-upgrade/SKILL.md +12 -0
  266. package/.agent-src/skills/description-assist/SKILL.md +12 -0
  267. package/.agent-src/skills/design-review/SKILL.md +12 -0
  268. package/.agent-src/skills/devcontainer/SKILL.md +12 -0
  269. package/.agent-src/skills/developer-like-execution/SKILL.md +12 -0
  270. package/.agent-src/skills/discovery-interview/SKILL.md +12 -2
  271. package/.agent-src/skills/doc-coauthoring/SKILL.md +12 -0
  272. package/.agent-src/skills/docker/SKILL.md +12 -0
  273. package/.agent-src/skills/editorial-calendar/SKILL.md +12 -2
  274. package/.agent-src/skills/eloquent/SKILL.md +12 -0
  275. package/.agent-src/skills/eloquent/evals/triggers.json +1 -1
  276. package/.agent-src/skills/error-handling-patterns/SKILL.md +13 -1
  277. package/.agent-src/skills/estimate-ticket/SKILL.md +12 -0
  278. package/.agent-src/skills/existing-ui-audit/SKILL.md +12 -0
  279. package/.agent-src/skills/expansion-playbook/SKILL.md +12 -0
  280. package/.agent-src/skills/fe-design/SKILL.md +12 -0
  281. package/.agent-src/skills/feature-planning/SKILL.md +12 -0
  282. package/.agent-src/skills/file-editor/SKILL.md +12 -0
  283. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +12 -0
  284. package/.agent-src/skills/flux/SKILL.md +12 -0
  285. package/.agent-src/skills/forecast-accuracy/SKILL.md +12 -2
  286. package/.agent-src/skills/forecasting/SKILL.md +12 -2
  287. package/.agent-src/skills/form-handler/SKILL.md +12 -0
  288. package/.agent-src/skills/fundraising-narrative/SKILL.md +12 -2
  289. package/.agent-src/skills/funnel-analysis/SKILL.md +12 -0
  290. package/.agent-src/skills/git-workflow/SKILL.md +12 -0
  291. package/.agent-src/skills/github-ci/SKILL.md +12 -0
  292. package/.agent-src/skills/grafana/SKILL.md +12 -0
  293. package/.agent-src/skills/gtm-launch/SKILL.md +12 -2
  294. package/.agent-src/skills/guideline-writing/SKILL.md +12 -0
  295. package/.agent-src/skills/hiring-loop-design/SKILL.md +12 -0
  296. package/.agent-src/skills/incident-commander/SKILL.md +12 -2
  297. package/.agent-src/skills/jira-integration/SKILL.md +12 -0
  298. package/.agent-src/skills/jobs-events/SKILL.md +12 -0
  299. package/.agent-src/skills/judge-bug-hunter/SKILL.md +12 -0
  300. package/.agent-src/skills/judge-code-quality/SKILL.md +12 -0
  301. package/.agent-src/skills/judge-security-auditor/SKILL.md +12 -0
  302. package/.agent-src/skills/judge-test-coverage/SKILL.md +12 -0
  303. package/.agent-src/skills/laravel/SKILL.md +12 -0
  304. package/.agent-src/skills/laravel-api-endpoint/SKILL.md +15 -3
  305. package/.agent-src/skills/laravel-dto/SKILL.md +14 -2
  306. package/.agent-src/skills/laravel-horizon/SKILL.md +12 -0
  307. package/.agent-src/skills/laravel-mail/SKILL.md +12 -0
  308. package/.agent-src/skills/laravel-middleware/SKILL.md +12 -0
  309. package/.agent-src/skills/laravel-migration/SKILL.md +12 -0
  310. package/.agent-src/skills/laravel-notifications/SKILL.md +12 -0
  311. package/.agent-src/skills/laravel-pennant/SKILL.md +12 -0
  312. package/.agent-src/skills/laravel-pulse/SKILL.md +12 -0
  313. package/.agent-src/skills/laravel-reverb/SKILL.md +12 -0
  314. package/.agent-src/skills/laravel-scheduling/SKILL.md +12 -0
  315. package/.agent-src/skills/laravel-validation/SKILL.md +12 -0
  316. package/.agent-src/skills/laravel-websocket/SKILL.md +12 -0
  317. package/.agent-src/skills/launch-readiness/SKILL.md +12 -2
  318. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +15 -3
  319. package/.agent-src/skills/lint-skills/SKILL.md +12 -0
  320. package/.agent-src/skills/livewire/SKILL.md +12 -0
  321. package/.agent-src/skills/livewire-architect/SKILL.md +12 -0
  322. package/.agent-src/skills/logging-monitoring/SKILL.md +12 -0
  323. package/.agent-src/skills/market-entry-analysis/SKILL.md +12 -0
  324. package/.agent-src/skills/markitdown/SKILL.md +14 -2
  325. package/.agent-src/skills/mcp/SKILL.md +12 -0
  326. package/.agent-src/skills/mcp-builder/SKILL.md +14 -2
  327. package/.agent-src/skills/md-language-check/SKILL.md +13 -1
  328. package/.agent-src/skills/memory-consolidation/SKILL.md +12 -0
  329. package/.agent-src/skills/merge-conflicts/SKILL.md +12 -0
  330. package/.agent-src/skills/messaging-architecture/SKILL.md +12 -2
  331. package/.agent-src/skills/migration-architect/SKILL.md +12 -0
  332. package/.agent-src/skills/mobile-e2e-strategy/SKILL.md +12 -0
  333. package/.agent-src/skills/module-management/SKILL.md +12 -0
  334. package/.agent-src/skills/motion-choreographer/SKILL.md +16 -4
  335. package/.agent-src/skills/multi-tenancy/SKILL.md +14 -2
  336. package/.agent-src/skills/nextjs-patterns/SKILL.md +12 -0
  337. package/.agent-src/skills/okr-tree-modeling/SKILL.md +12 -2
  338. package/.agent-src/skills/onboarding-design/SKILL.md +12 -0
  339. package/.agent-src/skills/onboarding-program/SKILL.md +12 -0
  340. package/.agent-src/skills/one-on-one-cadence/SKILL.md +12 -0
  341. package/.agent-src/skills/openapi/SKILL.md +13 -1
  342. package/.agent-src/skills/org-design/SKILL.md +12 -0
  343. package/.agent-src/skills/override-management/SKILL.md +12 -0
  344. package/.agent-src/skills/perf-feedback-craft/SKILL.md +12 -0
  345. package/.agent-src/skills/performance/SKILL.md +12 -0
  346. package/.agent-src/skills/performance-analysis/SKILL.md +12 -0
  347. package/.agent-src/skills/persona-writing/SKILL.md +12 -0
  348. package/.agent-src/skills/pest-testing/SKILL.md +12 -0
  349. package/.agent-src/skills/php-coder/SKILL.md +12 -0
  350. package/.agent-src/skills/php-debugging/SKILL.md +12 -0
  351. package/.agent-src/skills/php-service/SKILL.md +12 -0
  352. package/.agent-src/skills/pipeline-strategy/SKILL.md +12 -2
  353. package/.agent-src/skills/pixar-storyteller/SKILL.md +17 -5
  354. package/.agent-src/skills/playwright-architect/SKILL.md +12 -2
  355. package/.agent-src/skills/playwright-testing/SKILL.md +12 -0
  356. package/.agent-src/skills/po-discovery/SKILL.md +12 -0
  357. package/.agent-src/skills/positioning-strategy/SKILL.md +12 -0
  358. package/.agent-src/skills/privacy-review/SKILL.md +12 -2
  359. package/.agent-src/skills/project-analysis-core/SKILL.md +12 -0
  360. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +12 -0
  361. package/.agent-src/skills/project-analysis-laravel/SKILL.md +12 -0
  362. package/.agent-src/skills/project-analysis-nextjs/SKILL.md +12 -0
  363. package/.agent-src/skills/project-analysis-node-express/SKILL.md +12 -0
  364. package/.agent-src/skills/project-analysis-react/SKILL.md +12 -0
  365. package/.agent-src/skills/project-analysis-symfony/SKILL.md +12 -0
  366. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +12 -0
  367. package/.agent-src/skills/project-analyzer/SKILL.md +30 -18
  368. package/.agent-src/skills/project-docs/SKILL.md +25 -13
  369. package/.agent-src/skills/prompt-engineering-patterns/SKILL.md +13 -1
  370. package/.agent-src/skills/prompt-optimizer/SKILL.md +13 -1
  371. package/.agent-src/skills/quality-tools/SKILL.md +12 -2
  372. package/.agent-src/skills/react-native-setup/SKILL.md +12 -0
  373. package/.agent-src/skills/react-shadcn-ui/SKILL.md +12 -0
  374. package/.agent-src/skills/readme-reviewer/SKILL.md +12 -0
  375. package/.agent-src/skills/readme-writing/SKILL.md +12 -0
  376. package/.agent-src/skills/readme-writing-package/SKILL.md +12 -0
  377. package/.agent-src/skills/receiving-code-review/SKILL.md +12 -0
  378. package/.agent-src/skills/refine-prompt/SKILL.md +13 -1
  379. package/.agent-src/skills/refine-ticket/SKILL.md +14 -2
  380. package/.agent-src/skills/refine-ticket/detection-map.yml +2 -2
  381. package/.agent-src/skills/release-comms/SKILL.md +12 -2
  382. package/.agent-src/skills/repomix-packer/SKILL.md +13 -1
  383. package/.agent-src/skills/requesting-code-review/SKILL.md +12 -0
  384. package/.agent-src/skills/retention-loops/SKILL.md +12 -0
  385. package/.agent-src/skills/review-routing/SKILL.md +12 -0
  386. package/.agent-src/skills/rice-prioritization/SKILL.md +12 -0
  387. package/.agent-src/skills/risk-officer/SKILL.md +12 -0
  388. package/.agent-src/skills/roadmap-management/SKILL.md +12 -0
  389. package/.agent-src/skills/roadmap-writing/SKILL.md +12 -0
  390. package/.agent-src/skills/rtk-output-filtering/SKILL.md +12 -0
  391. package/.agent-src/skills/rule-refactor/SKILL.md +15 -3
  392. package/.agent-src/skills/rule-writing/SKILL.md +13 -1
  393. package/.agent-src/skills/runway-cognition/SKILL.md +12 -2
  394. package/.agent-src/skills/scenario-modeling/SKILL.md +12 -2
  395. package/.agent-src/skills/scene-expander/SKILL.md +18 -6
  396. package/.agent-src/skills/script-writing/SKILL.md +13 -1
  397. package/.agent-src/skills/secrets-management/SKILL.md +13 -3
  398. package/.agent-src/skills/security/SKILL.md +12 -0
  399. package/.agent-src/skills/security-audit/SKILL.md +12 -0
  400. package/.agent-src/skills/sentry-integration/SKILL.md +12 -0
  401. package/.agent-src/skills/sequential-thinking/SKILL.md +12 -0
  402. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +12 -0
  403. package/.agent-src/skills/skill-management/SKILL.md +12 -0
  404. package/.agent-src/skills/skill-reviewer/SKILL.md +12 -0
  405. package/.agent-src/skills/skill-writing/SKILL.md +12 -0
  406. package/.agent-src/skills/sql-writing/SKILL.md +12 -0
  407. package/.agent-src/skills/stakeholder-tradeoff/SKILL.md +12 -0
  408. package/.agent-src/skills/subagent-orchestration/SKILL.md +13 -1
  409. package/.agent-src/skills/symfony-workflow/SKILL.md +12 -0
  410. package/.agent-src/skills/systematic-debugging/SKILL.md +12 -0
  411. package/.agent-src/skills/tailwind-engineer/SKILL.md +12 -0
  412. package/.agent-src/skills/tech-debt-tracker/SKILL.md +12 -2
  413. package/.agent-src/skills/technical-specification/SKILL.md +12 -0
  414. package/.agent-src/skills/terraform/SKILL.md +12 -0
  415. package/.agent-src/skills/terragrunt/SKILL.md +12 -0
  416. package/.agent-src/skills/test-driven-development/SKILL.md +12 -0
  417. package/.agent-src/skills/test-performance/SKILL.md +13 -1
  418. package/.agent-src/skills/testing-anti-patterns/SKILL.md +13 -1
  419. package/.agent-src/skills/threat-modeling/SKILL.md +12 -0
  420. package/.agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +12 -0
  421. package/.agent-src/skills/token-optimizer/SKILL.md +12 -0
  422. package/.agent-src/skills/traefik/SKILL.md +12 -0
  423. package/.agent-src/skills/ui-component-architect/SKILL.md +12 -0
  424. package/.agent-src/skills/unit-economics-modeling/SKILL.md +12 -2
  425. package/.agent-src/skills/universal-project-analysis/SKILL.md +12 -0
  426. package/.agent-src/skills/upstream-contribute/SKILL.md +12 -0
  427. package/.agent-src/skills/using-git-worktrees/SKILL.md +12 -0
  428. package/.agent-src/skills/validate-feature-fit/SKILL.md +12 -0
  429. package/.agent-src/skills/verify-completion-evidence/SKILL.md +12 -0
  430. package/.agent-src/skills/video-director/SKILL.md +18 -6
  431. package/.agent-src/skills/vision-articulation/SKILL.md +12 -0
  432. package/.agent-src/skills/voc-extract/SKILL.md +12 -2
  433. package/.agent-src/skills/voice-and-tone-design/SKILL.md +12 -2
  434. package/.agent-src/templates/agent-settings.md +5 -5
  435. package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  436. package/.agent-src/templates/agents/memory/ownership.example.yml +1 -1
  437. package/.agent-src/templates/agents/proposal.example.md +12 -0
  438. package/.agent-src/templates/command.md +1 -1
  439. package/.agent-src/templates/contexts/auth-model.md +2 -2
  440. package/.agent-src/templates/contexts/data-sensitivity.md +3 -3
  441. package/.agent-src/templates/contexts/deployment-order.md +2 -2
  442. package/.agent-src/templates/contexts/observability.md +3 -3
  443. package/.agent-src/templates/contexts/tenant-boundaries.md +3 -3
  444. package/.agent-src/templates/contexts.md +1 -1
  445. package/.agent-src/templates/rule.md +1 -1
  446. package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +3 -3
  447. package/.agent-src/templates/scripts/work_engine/cli.py +6 -6
  448. package/.agent-src/templates/scripts/work_engine/emitters.py +29 -4
  449. package/.agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.py +3 -3
  450. package/.agent-src/templates/scripts/work_engine/state.py +53 -0
  451. package/.agent-src/templates/skill-archive-note.md +4 -4
  452. package/.claude-plugin/marketplace.json +1 -2
  453. package/AGENTS.md +5 -4
  454. package/CHANGELOG.md +170 -90
  455. package/CONTRIBUTING.md +61 -0
  456. package/README.md +23 -20
  457. package/config/agent-settings.template.yml +11 -1
  458. package/config/discovery/packs.yml +142 -0
  459. package/config/discovery/unassigned-artefacts.yml +66 -0
  460. package/config/discovery/workspaces.yml +59 -0
  461. package/config/gitignore-block.txt +17 -20
  462. package/dist/cli/agent-config.js +199 -0
  463. package/dist/cli/agent-config.js.map +1 -0
  464. package/dist/cli/bash/runBash.js +40 -0
  465. package/dist/cli/bash/runBash.js.map +1 -0
  466. package/dist/cli/commands/doctorShell.js +91 -0
  467. package/dist/cli/commands/doctorShell.js.map +1 -0
  468. package/dist/cli/commands/packs.js +59 -0
  469. package/dist/cli/commands/packs.js.map +1 -0
  470. package/dist/cli/commands/settings.js +35 -0
  471. package/dist/cli/commands/settings.js.map +1 -0
  472. package/dist/cli/commands/uiServe.js +110 -0
  473. package/dist/cli/commands/uiServe.js.map +1 -0
  474. package/dist/cli/commands/versions.js +64 -0
  475. package/dist/cli/commands/versions.js.map +1 -0
  476. package/dist/cli/commands/workspaces.js +58 -0
  477. package/dist/cli/commands/workspaces.js.map +1 -0
  478. package/dist/cli/discovery/loadManifest.js +62 -0
  479. package/dist/cli/discovery/loadManifest.js.map +1 -0
  480. package/dist/cli/log/logger.js +41 -0
  481. package/dist/cli/log/logger.js.map +1 -0
  482. package/dist/cli/paths.js +60 -0
  483. package/dist/cli/paths.js.map +1 -0
  484. package/dist/cli/python/resolvePython.js +38 -0
  485. package/dist/cli/python/resolvePython.js.map +1 -0
  486. package/dist/cli/registry.js +75 -0
  487. package/dist/cli/registry.js.map +1 -0
  488. package/dist/discovery/discovery-manifest.json +9195 -0
  489. package/dist/discovery/discovery-manifest.json.sha256 +1 -0
  490. package/dist/discovery/discovery-manifest.summary.md +93 -0
  491. package/dist/mcp/awesome-mcp-servers.row.md +1 -0
  492. package/dist/mcp/mcp-cloudflare-catalogue.json +27 -0
  493. package/dist/mcp/registry-manifest.json +63 -0
  494. package/dist/server/app.js +117 -0
  495. package/dist/server/app.js.map +1 -0
  496. package/dist/server/io/atomicMultiWrite.js +202 -0
  497. package/dist/server/io/atomicMultiWrite.js.map +1 -0
  498. package/dist/server/io/atomicWrite.js +79 -0
  499. package/dist/server/io/atomicWrite.js.map +1 -0
  500. package/dist/server/io/substituteTemplate.js +87 -0
  501. package/dist/server/io/substituteTemplate.js.map +1 -0
  502. package/dist/server/io/yamlIO.js +140 -0
  503. package/dist/server/io/yamlIO.js.map +1 -0
  504. package/dist/server/port.js +97 -0
  505. package/dist/server/port.js.map +1 -0
  506. package/dist/server/routes/discovery.js +72 -0
  507. package/dist/server/routes/discovery.js.map +1 -0
  508. package/dist/server/routes/ping.js +49 -0
  509. package/dist/server/routes/ping.js.map +1 -0
  510. package/dist/server/routes/schema.js +41 -0
  511. package/dist/server/routes/schema.js.map +1 -0
  512. package/dist/server/routes/settings.js +155 -0
  513. package/dist/server/routes/settings.js.map +1 -0
  514. package/dist/server/routes/userMd.js +117 -0
  515. package/dist/server/routes/userMd.js.map +1 -0
  516. package/dist/server/routes/wizard.js +138 -0
  517. package/dist/server/routes/wizard.js.map +1 -0
  518. package/dist/server/schemas/settings.js +138 -0
  519. package/dist/server/schemas/settings.js.map +1 -0
  520. package/dist/server/token.js +68 -0
  521. package/dist/server/token.js.map +1 -0
  522. package/dist/server/writeRoot.js +67 -0
  523. package/dist/server/writeRoot.js.map +1 -0
  524. package/dist/server/writeRoot.test.js +73 -0
  525. package/dist/server/writeRoot.test.js.map +1 -0
  526. package/dist/shared/userMd/formAdapter.js +105 -0
  527. package/dist/shared/userMd/formAdapter.js.map +1 -0
  528. package/dist/shared/userMd/schema.js +118 -0
  529. package/dist/shared/userMd/schema.js.map +1 -0
  530. package/dist/shared/userMd/utils.js +74 -0
  531. package/dist/shared/userMd/utils.js.map +1 -0
  532. package/dist/ui/assets/index-BTRcKDlB.js +39 -0
  533. package/dist/ui/assets/index-BTRcKDlB.js.map +1 -0
  534. package/dist/ui/assets/index-Dqfhmg-d.css +1 -0
  535. package/dist/ui/index.html +14 -0
  536. package/docs/adrs/caveman/0001-default-off-until-bench.md +2 -2
  537. package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
  538. package/docs/adrs/schema/0001-json-schema-frontmatter.md +4 -4
  539. package/docs/adrs/schema/README.md +1 -1
  540. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +2 -2
  541. package/docs/architecture/setup-vs-settings-shared-surface.md +114 -0
  542. package/docs/architecture.md +2 -1
  543. package/docs/archive/CHANGELOG-pre-2.2.0.md +7 -7
  544. package/docs/archive/CHANGELOG-pre-3.0.0.md +130 -0
  545. package/docs/catalog.md +66 -78
  546. package/docs/contracts/STABILITY.md +1 -1
  547. package/docs/contracts/adr-architectural-consensus-mechanism.md +5 -5
  548. package/docs/contracts/adr-chat-history-split.md +1 -1
  549. package/docs/contracts/adr-implement-ticket-runtime.md +1 -1
  550. package/docs/contracts/adr-install-user-type-axis.md +1 -1
  551. package/docs/contracts/adr-mcp-runtime.md +2 -2
  552. package/docs/contracts/agent-user-schema.md +11 -2
  553. package/docs/contracts/ai-council-config.md +13 -13
  554. package/docs/contracts/audit-log-v1.md +2 -2
  555. package/docs/contracts/command-clusters.md +2 -2
  556. package/docs/contracts/compression-default-kill-criterion.md +3 -3
  557. package/docs/contracts/decision-trace-v1.md +5 -5
  558. package/docs/contracts/discovery-manifest.schema.json +146 -0
  559. package/docs/contracts/explain-trace.schema.json +144 -0
  560. package/docs/contracts/file-ownership-matrix.json +117 -341
  561. package/docs/contracts/file-ownership-matrix.md +1 -1
  562. package/docs/contracts/ghostwriter-schema.md +3 -3
  563. package/docs/contracts/hook-architecture-v1.md +10 -10
  564. package/docs/contracts/kernel-membership.md +4 -4
  565. package/docs/contracts/linter-structural-model.md +3 -3
  566. package/docs/contracts/load-context-schema.md +5 -5
  567. package/docs/contracts/local-server-api.md +134 -0
  568. package/docs/contracts/low-impact-corpus-format.md +1 -1
  569. package/docs/contracts/mcp-cloud-scope.md +2 -2
  570. package/docs/contracts/mcp-discovery-phase-notice.md +1 -1
  571. package/docs/contracts/mcp-phase-1-scope.md +5 -4
  572. package/docs/contracts/mcp-registry-manifest.schema.json +129 -0
  573. package/docs/contracts/mcp-tool-stub-envelope.md +1 -1
  574. package/docs/contracts/memory-visibility-v1.md +2 -2
  575. package/docs/contracts/multi-tool-projection-fidelity.md +3 -3
  576. package/docs/contracts/namespace.md +1 -1
  577. package/docs/contracts/one-off-script-lifecycle.md +1 -1
  578. package/docs/contracts/package-self-orientation.md +1 -1
  579. package/docs/contracts/provider-lifecycle.md +2 -2
  580. package/docs/contracts/router-blending.md +1 -1
  581. package/docs/contracts/rule-classification.md +2 -2
  582. package/docs/contracts/settings-api.md +160 -0
  583. package/docs/contracts/settings-gui-agent-mode.schema.json +128 -0
  584. package/docs/contracts/tier-3-contrib-plugin.md +1 -1
  585. package/docs/contracts/universal-skills.md +1 -1
  586. package/docs/contracts/write-engine.md +1 -1
  587. package/docs/customization.md +137 -11
  588. package/docs/decisions/ADR-001-kernel-swap-deferred.md +1 -1
  589. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +1 -1
  590. package/docs/decisions/ADR-004-rule-governance-pruning.md +8 -8
  591. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +5 -5
  592. package/docs/decisions/ADR-007-agent-discovery-scopes.md +4 -4
  593. package/docs/decisions/ADR-008-installed-tools-manifest.md +2 -2
  594. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +2 -2
  595. package/docs/decisions/ADR-011-domain-pack-readiness.md +4 -4
  596. package/docs/decisions/ADR-012-typescript-cli-shell.md +162 -0
  597. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +210 -0
  598. package/docs/decisions/ADR-014-gui-framework-choice.md +136 -0
  599. package/docs/decisions/ADR-rule-kernel-and-router.md +2 -2
  600. package/docs/decisions/INDEX.md +3 -0
  601. package/docs/distribution/mcp-submission-checklist.md +95 -0
  602. package/docs/distribution/topics-equivalents-decay-policy.md +51 -0
  603. package/docs/examples/agent-user.example.md +3 -1
  604. package/docs/getting-started.md +5 -4
  605. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
  606. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +10 -1
  607. package/docs/guidelines/agent-infra/rule-type-governance.md +2 -2
  608. package/docs/guidelines/agent-infra/tool-integration.md +1 -1
  609. package/docs/guidelines/php/api-design.md +1 -1
  610. package/docs/guidelines/prompt-templates.md +2 -2
  611. package/docs/hook-payload-capture.md +3 -3
  612. package/docs/installation.md +12 -4
  613. package/docs/migrations/commands-1.15.0.md +3 -3
  614. package/docs/parity/bench-ruflo.json +1 -1
  615. package/docs/parity/ruflo.md +3 -3
  616. package/docs/profiles.md +1 -1
  617. package/docs/quality.md +2 -2
  618. package/docs/recruits/_template.md +3 -3
  619. package/docs/setup/enterprise-and-offline.md +3 -3
  620. package/docs/setup/mcp-server-docker.md +5 -3
  621. package/docs/skills-catalog.md +62 -18
  622. package/docs/wizard.md +121 -0
  623. package/llms.txt +61 -17
  624. package/package.json +46 -3
  625. package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  626. package/scripts/_archive/README.md +2 -2
  627. package/scripts/_archive/_p4_migrate.py +1 -1
  628. package/scripts/_cli/cmd_doctor.py +5 -5
  629. package/scripts/_cli/cmd_explain.py +106 -2
  630. package/scripts/_cli/cmd_migrate.py +2 -2
  631. package/scripts/_cli/explain_last/__init__.py +122 -0
  632. package/scripts/_cli/explain_last/assumptions.py +59 -0
  633. package/scripts/_cli/explain_last/council.py +105 -0
  634. package/scripts/_cli/explain_last/halt.py +44 -0
  635. package/scripts/_cli/explain_last/inputs.py +125 -0
  636. package/scripts/_cli/explain_last/memory.py +94 -0
  637. package/scripts/_cli/explain_last/provider.py +52 -0
  638. package/scripts/_cli/explain_last/render.py +52 -0
  639. package/scripts/_cli/explain_last/route.py +58 -0
  640. package/scripts/_cli/explain_last/scrubber.py +105 -0
  641. package/scripts/_cli/explain_last/sections/__init__.py +35 -0
  642. package/scripts/_cli/explain_last/sections/assumptions.py +21 -0
  643. package/scripts/_cli/explain_last/sections/council.py +27 -0
  644. package/scripts/_cli/explain_last/sections/halt.py +31 -0
  645. package/scripts/_cli/explain_last/sections/header.py +24 -0
  646. package/scripts/_cli/explain_last/sections/inputs.py +27 -0
  647. package/scripts/_cli/explain_last/sections/memory.py +21 -0
  648. package/scripts/_cli/explain_last/sections/pack.py +16 -0
  649. package/scripts/_cli/explain_last/sections/provider.py +26 -0
  650. package/scripts/_cli/explain_last/sections/route.py +22 -0
  651. package/scripts/_cli/explain_last/state_loader.py +76 -0
  652. package/scripts/_dispatch.bash +954 -0
  653. package/scripts/_lib/agent_settings.py +3 -3
  654. package/scripts/_lib/agents_overlay.py +3 -3
  655. package/scripts/_phase4_bucket.py +210 -0
  656. package/scripts/agent-config +35 -943
  657. package/scripts/ai-video/adapters/higgsfield.sh +1 -1
  658. package/scripts/ai-video/adapters/sora.sh +1 -1
  659. package/scripts/ai-video/test-pipeline.sh +2 -2
  660. package/scripts/ai_council/_default_prices.py +5 -5
  661. package/scripts/ai_council/advisors.py +1 -1
  662. package/scripts/ai_council/clients.py +2 -2
  663. package/scripts/ai_council/compile_corpus.py +9 -8
  664. package/scripts/ai_council/config.py +3 -3
  665. package/scripts/ai_council/events_log.py +8 -4
  666. package/scripts/ai_council/low_impact_corpus.py +1 -1
  667. package/scripts/ai_council/low_impact_intake.py +1 -1
  668. package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +2 -2
  669. package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_optimization.py +1 -1
  670. package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +3 -3
  671. package/scripts/ai_council/pricing.py +8 -7
  672. package/scripts/ai_council/probation_gate.py +1 -1
  673. package/scripts/ai_council/redact_low_impact_entry.py +1 -1
  674. package/scripts/ai_council/session.py +13 -13
  675. package/scripts/ai_council/shadow_dispatch.py +2 -2
  676. package/scripts/annotate_discovery.py +149 -0
  677. package/scripts/audit_adr_coverage.py +1 -1
  678. package/scripts/audit_auto_rules.py +2 -2
  679. package/scripts/audit_cloud_compatibility.py +1 -1
  680. package/scripts/audit_command_surface.py +2 -2
  681. package/scripts/audit_likelihood.py +4 -4
  682. package/scripts/audit_overlap.py +3 -3
  683. package/scripts/audit_user_type_axis.py +1 -1
  684. package/scripts/build_discovery_manifest.py +302 -0
  685. package/scripts/build_mcp_registry_manifest.py +181 -0
  686. package/scripts/build_rule_trigger_matrix.py +2 -2
  687. package/scripts/capture_showcase_session.py +1 -1
  688. package/scripts/chat_history.py +5 -5
  689. package/scripts/check_always_budget.py +7 -2
  690. package/scripts/check_council_layout.py +26 -20
  691. package/scripts/check_council_references.py +10 -10
  692. package/scripts/check_discovery_determinism.py +70 -0
  693. package/scripts/check_kernel_rule_bundle.py +2 -2
  694. package/scripts/check_no_roadmap_refs.py +2 -2
  695. package/scripts/check_one_off_location.py +1 -1
  696. package/scripts/check_public_links.py +2 -2
  697. package/scripts/check_references.py +14 -21
  698. package/scripts/check_release_includes_discovery.py +61 -0
  699. package/scripts/ci_summary.py +2 -2
  700. package/scripts/ci_time_ratio.py +1 -1
  701. package/scripts/command_suggester/__init__.py +1 -1
  702. package/scripts/context_hygiene_hook.py +2 -2
  703. package/scripts/council_cli.py +22 -22
  704. package/scripts/council_prune.py +3 -3
  705. package/scripts/extract_audit_patterns.py +2 -2
  706. package/scripts/gen_discovery_baseline.py +127 -0
  707. package/scripts/generate_ownership_matrix.py +1 -1
  708. package/scripts/hook_manifest.yaml +5 -5
  709. package/scripts/hooks/cline-dispatcher.sh +1 -1
  710. package/scripts/hooks/cowork-dispatcher.sh +1 -1
  711. package/scripts/hooks/dispatch_hook.py +3 -3
  712. package/scripts/hooks/gemini-dispatcher.sh +1 -1
  713. package/scripts/hooks/replay_hook.py +1 -1
  714. package/scripts/hooks/state_io.py +5 -5
  715. package/scripts/hooks_doctor.py +4 -4
  716. package/scripts/install-hooks.sh +2 -2
  717. package/scripts/install.py +3 -3
  718. package/scripts/install.sh +120 -18
  719. package/scripts/inventory_frontmatter.py +1 -1
  720. package/scripts/lint_agents_layout.py +103 -0
  721. package/scripts/lint_archived_skills.py +3 -3
  722. package/scripts/lint_artefact_frontmatter.py +180 -0
  723. package/scripts/lint_discovery_manifest.py +136 -0
  724. package/scripts/lint_discovery_vocabulary.py +148 -0
  725. package/scripts/lint_explain_trace.py +80 -0
  726. package/scripts/lint_framework_leakage_allowlist.json +63 -62
  727. package/scripts/lint_ghostwriter_source.py +1 -1
  728. package/scripts/lint_load_context.py +3 -3
  729. package/scripts/lint_mcp_registry_manifest.py +69 -0
  730. package/scripts/lint_media_policy_linkage.py +6 -6
  731. package/scripts/lint_positioning.py +143 -0
  732. package/scripts/lint_rule_tiers.py +2 -2
  733. package/scripts/lint_skill_tools.py +1 -1
  734. package/scripts/lint_topics_yaml.py +89 -0
  735. package/scripts/mcp_server/consumer_tool_catalog.json +3 -3
  736. package/scripts/mcp_server/telemetry.py +2 -2
  737. package/scripts/mcp_server/tools.py +27 -11
  738. package/scripts/mcp_telemetry_health.py +2 -2
  739. package/scripts/mcp_telemetry_store.py +1 -1
  740. package/scripts/measure_augment_budget.py +3 -3
  741. package/scripts/measure_density.py +2 -2
  742. package/scripts/measure_frugality_savings.py +3 -3
  743. package/scripts/measure_roadmap_trajectory.py +1 -1
  744. package/scripts/measure_rule_budget.py +3 -3
  745. package/scripts/memory_report.py +1 -1
  746. package/scripts/migrate_command_suggestions.py +3 -3
  747. package/scripts/minimal_safe_diff_hook.py +1 -1
  748. package/scripts/onboarding_gate_hook.py +4 -4
  749. package/scripts/prepack-check.mjs +62 -0
  750. package/scripts/probe_projection_fidelity.py +2 -2
  751. package/scripts/refine_ticket_detect.py +1 -1
  752. package/scripts/schemas/command.schema.json +41 -1
  753. package/scripts/schemas/persona.schema.json +1 -1
  754. package/scripts/schemas/rule.schema.json +44 -4
  755. package/scripts/schemas/skill.schema.json +41 -1
  756. package/scripts/score_skill_selection.py +1 -1
  757. package/scripts/skill_collision_clusters.py +1 -1
  758. package/scripts/skill_linter.py +2 -2
  759. package/scripts/skill_overlap.py +1 -1
  760. package/scripts/skill_tools/run_block_d_eval.py +1 -1
  761. package/scripts/skill_usage_collect.py +3 -3
  762. package/scripts/skill_usage_report.py +3 -3
  763. package/scripts/smoke_quickstart.py +1 -1
  764. package/scripts/spotcheck_thin_root.py +1 -1
  765. package/scripts/sync_github_metadata.py +147 -0
  766. package/scripts/sync_gitignore.py +15 -5
  767. package/scripts/update_prices.py +4 -3
  768. package/scripts/verify_before_complete_hook.py +1 -1
  769. package/scripts/verify_roadmap_closure.py +1 -1
  770. package/templates/agent-user.md +35 -0
  771. package/.agent-src/commands/onboard.md +0 -467
@@ -0,0 +1,148 @@
1
+ #!/usr/bin/env python3
2
+ """Vocabulary linter for `config/discovery/{workspaces,packs}.yml`.
3
+
4
+ Source-of-truth check: the YAML files MUST mirror the closed vocabulary
5
+ in `docs/decisions/ADR-013-discovery-frontmatter-contract.md` exactly.
6
+ Cross-reference check: every default/optional pack id referenced from
7
+ `workspaces.yml` MUST exist in `packs.yml`, and every workspace id in
8
+ `packs.yml` MUST exist in `workspaces.yml`. Bidirectional integrity:
9
+ every pack listed as a workspace's default/optional MUST list that
10
+ workspace in its own `workspaces:` array (and vice versa).
11
+
12
+ Non-overlap (ADR-010 alignment): no pack id may collide with a
13
+ `cost_profile` value (minimal/balanced/full/custom) or a `profile.id`
14
+ value (founder/developer/content_creator/agency/finance/ops).
15
+
16
+ Cap: ≤ 150 LOC, stdlib + PyYAML. Exit 0 clean, 1 on failure.
17
+ """
18
+ from __future__ import annotations
19
+
20
+ import sys
21
+ from pathlib import Path
22
+ from typing import Any
23
+
24
+ try:
25
+ import yaml
26
+ except ImportError: # pragma: no cover
27
+ print("ERROR: PyYAML required (pip install pyyaml)", file=sys.stderr)
28
+ sys.exit(2)
29
+
30
+ REPO_ROOT = Path(__file__).resolve().parent.parent
31
+ WORKSPACES_YML = REPO_ROOT / "config" / "discovery" / "workspaces.yml"
32
+ PACKS_YML = REPO_ROOT / "config" / "discovery" / "packs.yml"
33
+
34
+ # Frozen ADR-013 vocabularies. Amendments require an ADR-013 edit + this list.
35
+ ADR_WORKSPACES: frozenset[str] = frozenset({
36
+ "engineering", "product", "finance", "founder", "gtm", "ops",
37
+ "small-business", "construction", "agent-config-maintainer",
38
+ })
39
+ ADR_PACKS: frozenset[str] = frozenset({
40
+ "engineering-base", "php", "laravel", "symfony", "javascript",
41
+ "typescript", "react", "nextjs", "python", "product-basic",
42
+ "product-discovery", "finance-basic", "finance-advanced",
43
+ "gtm-sales", "gtm-marketing", "ops-people", "founder-strategy", "small-business",
44
+ "construction", "ai-video", "meta",
45
+ })
46
+
47
+ # ADR-010 non-overlap reservations.
48
+ COST_PROFILE_RESERVED: frozenset[str] = frozenset({
49
+ "minimal", "balanced", "full", "custom",
50
+ })
51
+ PROFILE_ID_RESERVED: frozenset[str] = frozenset({
52
+ "founder", "developer", "content_creator", "agency", "finance", "ops",
53
+ })
54
+
55
+
56
+ def _load(path: Path) -> list[dict[str, Any]]:
57
+ if not path.exists():
58
+ raise SystemExit(f"ERROR: missing {path.relative_to(REPO_ROOT)}")
59
+ data = yaml.safe_load(path.read_text(encoding="utf-8")) or []
60
+ if not isinstance(data, list):
61
+ raise SystemExit(f"ERROR: {path.relative_to(REPO_ROOT)} must be a YAML list")
62
+ return data
63
+
64
+
65
+ def lint(quiet: bool) -> int:
66
+ errors: list[str] = []
67
+ workspaces = _load(WORKSPACES_YML)
68
+ packs = _load(PACKS_YML)
69
+
70
+ ws_ids = {entry.get("id") for entry in workspaces}
71
+ pack_ids = {entry.get("id") for entry in packs}
72
+
73
+ # 1. ADR frozen-set parity.
74
+ missing_ws = ADR_WORKSPACES - ws_ids
75
+ extra_ws = ws_ids - ADR_WORKSPACES
76
+ if missing_ws:
77
+ errors.append(f"workspaces.yml missing ADR-013 ids: {sorted(missing_ws)}")
78
+ if extra_ws:
79
+ errors.append(f"workspaces.yml has ids not in ADR-013: {sorted(extra_ws)}")
80
+ missing_p = ADR_PACKS - pack_ids
81
+ extra_p = pack_ids - ADR_PACKS
82
+ if missing_p:
83
+ errors.append(f"packs.yml missing ADR-013 ids: {sorted(missing_p)}")
84
+ if extra_p:
85
+ errors.append(f"packs.yml has ids not in ADR-013: {sorted(extra_p)}")
86
+
87
+ # 2. Cross-reference: workspace default/optional packs → pack ids.
88
+ for ws in workspaces:
89
+ wid = ws.get("id")
90
+ for key in ("default_packs", "optional_packs"):
91
+ for pid in ws.get(key, []) or []:
92
+ if pid not in pack_ids:
93
+ errors.append(f"workspaces.yml '{wid}'.{key} → unknown pack '{pid}'")
94
+
95
+ # 3. Cross-reference: pack workspaces → workspace ids.
96
+ for pk in packs:
97
+ pid = pk.get("id")
98
+ for wid in pk.get("workspaces", []) or []:
99
+ if wid not in ws_ids:
100
+ errors.append(f"packs.yml '{pid}'.workspaces → unknown workspace '{wid}'")
101
+ for hint in pk.get("requires_hint", []) or []:
102
+ if hint not in pack_ids:
103
+ errors.append(f"packs.yml '{pid}'.requires_hint → unknown pack '{hint}'")
104
+
105
+ # 4. Bidirectional integrity (council HIGH fold-in).
106
+ pack_by_id = {pk.get("id"): pk for pk in packs}
107
+ ws_by_id = {ws.get("id"): ws for ws in workspaces}
108
+ for ws in workspaces:
109
+ wid = ws.get("id")
110
+ for key in ("default_packs", "optional_packs"):
111
+ for pid in ws.get(key, []) or []:
112
+ pk = pack_by_id.get(pid)
113
+ if pk and wid not in (pk.get("workspaces") or []):
114
+ errors.append(
115
+ f"bidir: workspace '{wid}'.{key} lists '{pid}' but "
116
+ f"pack '{pid}'.workspaces does not list '{wid}'"
117
+ )
118
+ for pk in packs:
119
+ pid = pk.get("id")
120
+ for wid in pk.get("workspaces", []) or []:
121
+ ws = ws_by_id.get(wid)
122
+ if ws:
123
+ listed = set(ws.get("default_packs") or []) | set(ws.get("optional_packs") or [])
124
+ if pid not in listed:
125
+ errors.append(
126
+ f"bidir: pack '{pid}'.workspaces lists '{wid}' but "
127
+ f"workspace '{wid}' does not list '{pid}' in default/optional_packs"
128
+ )
129
+
130
+ # 5. Non-overlap (ADR-010).
131
+ overlap_cost = pack_ids & COST_PROFILE_RESERVED
132
+ if overlap_cost:
133
+ errors.append(f"pack ids collide with cost_profile values: {sorted(overlap_cost)}")
134
+ overlap_profile = pack_ids & PROFILE_ID_RESERVED
135
+ if overlap_profile:
136
+ errors.append(f"pack ids collide with profile.id values: {sorted(overlap_profile)}")
137
+
138
+ if errors:
139
+ for e in errors:
140
+ print(f"❌ {e}", file=sys.stderr)
141
+ return 1
142
+ if not quiet:
143
+ print(f"✅ discovery vocabulary OK — {len(ws_ids)} workspaces · {len(pack_ids)} packs")
144
+ return 0
145
+
146
+
147
+ if __name__ == "__main__":
148
+ sys.exit(lint(quiet="--quiet" in sys.argv))
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env python3
2
+ """Lint an ExplainTrace v1 JSON payload against the schema.
3
+
4
+ Reads a JSON file (or stdin via ``--stdin``) and validates it against
5
+ ``docs/contracts/explain-trace.schema.json``. Exit 0 on success,
6
+ 1 on validation failure, 2 on invocation error (missing schema, bad
7
+ JSON). Used by Phase 4 unit tests; called from the
8
+ ``lint-explain-trace`` Taskfile target.
9
+ """
10
+ from __future__ import annotations
11
+
12
+ import argparse
13
+ import json
14
+ import sys
15
+ from pathlib import Path
16
+
17
+ import jsonschema
18
+
19
+
20
+ def _repo_root() -> Path:
21
+ return Path(__file__).resolve().parent.parent
22
+
23
+
24
+ def _load_schema() -> dict:
25
+ schema_path = _repo_root() / "docs" / "contracts" / "explain-trace.schema.json"
26
+ if not schema_path.exists():
27
+ print(f"❌ explain-trace schema not found at {schema_path}", file=sys.stderr)
28
+ raise SystemExit(2)
29
+ with schema_path.open("r", encoding="utf-8") as fh:
30
+ return json.load(fh)
31
+
32
+
33
+ def _read_payload(path: str | None, *, from_stdin: bool) -> object:
34
+ if from_stdin:
35
+ try:
36
+ return json.load(sys.stdin)
37
+ except json.JSONDecodeError as exc:
38
+ print(f"❌ stdin is not valid JSON: {exc}", file=sys.stderr)
39
+ raise SystemExit(2) from exc
40
+ if path is None:
41
+ print("❌ pass a JSON file path or --stdin", file=sys.stderr)
42
+ raise SystemExit(2)
43
+ p = Path(path)
44
+ if not p.exists():
45
+ print(f"❌ trace file not found: {p}", file=sys.stderr)
46
+ raise SystemExit(2)
47
+ try:
48
+ with p.open("r", encoding="utf-8") as fh:
49
+ return json.load(fh)
50
+ except json.JSONDecodeError as exc:
51
+ print(f"❌ {p} is not valid JSON: {exc}", file=sys.stderr)
52
+ raise SystemExit(2) from exc
53
+
54
+
55
+ def main(argv: list[str] | None = None) -> int:
56
+ parser = argparse.ArgumentParser(
57
+ prog="lint_explain_trace",
58
+ description="Validate an ExplainTrace v1 JSON payload against the schema.",
59
+ )
60
+ parser.add_argument("path", nargs="?", default=None, help="Path to a JSON trace file.")
61
+ parser.add_argument("--stdin", action="store_true", help="Read the trace from stdin.")
62
+ opts = parser.parse_args(argv)
63
+
64
+ schema = _load_schema()
65
+ jsonschema.Draft202012Validator.check_schema(schema)
66
+ payload = _read_payload(opts.path, from_stdin=opts.stdin)
67
+
68
+ validator = jsonschema.Draft202012Validator(schema)
69
+ errors = sorted(validator.iter_errors(payload), key=lambda e: list(e.absolute_path))
70
+ if errors:
71
+ for err in errors:
72
+ loc = "/".join(str(p) for p in err.absolute_path) or "<root>"
73
+ print(f"❌ {loc}: {err.message}", file=sys.stderr)
74
+ return 1
75
+ print("✅ explain-trace OK")
76
+ return 0
77
+
78
+
79
+ if __name__ == "__main__": # pragma: no cover
80
+ raise SystemExit(main())
@@ -1,38 +1,29 @@
1
1
  {
2
2
  "version": 1,
3
- "_doc": "Each entry: { file: relative path from repo root, lines: [int,...] | \"*\" for whole file, reason: short justification }. Use sparingly \u2014 first ask whether the file should be neutralized instead.",
3
+ "_doc": "Each entry: { file: relative path from repo root, lines: [int,...] | \"*\" for whole file, reason: short justification }. Use sparingly first ask whether the file should be neutralized instead.",
4
4
  "entries": [
5
5
  {
6
6
  "file": ".agent-src.uncompressed/skills/using-git-worktrees/SKILL.md",
7
7
  "lines": [
8
- 130,
9
- 131,
10
- 132,
11
- 152
8
+ 142,
9
+ 143,
10
+ 144,
11
+ 164
12
12
  ],
13
13
  "reason": "Multi-stack package-manager comparison table"
14
14
  },
15
15
  {
16
16
  "file": ".agent-src.uncompressed/skills/refine-prompt/SKILL.md",
17
17
  "lines": [
18
- 88,
19
- 90,
20
- 92,
21
- 137,
22
- 180,
23
- 269
18
+ 100,
19
+ 102,
20
+ 104,
21
+ 149,
22
+ 192,
23
+ 281
24
24
  ],
25
25
  "reason": "Project-detection enumeration listing all supported stacks"
26
26
  },
27
- {
28
- "file": ".agent-src.uncompressed/commands/onboard.md",
29
- "lines": [
30
- 220,
31
- 221,
32
- 224
33
- ],
34
- "reason": "Stack-detection enumeration in onboard flow"
35
- },
36
27
  {
37
28
  "file": ".agent-src.uncompressed/commands/analyze-reference-repo.md",
38
29
  "lines": [
@@ -43,12 +34,12 @@
43
34
  {
44
35
  "file": ".agent-src.uncompressed/commands/optimize/augmentignore.md",
45
36
  "lines": "*",
46
- "reason": "Per-stack augmentignore rules \u2014 by definition stack-aware"
37
+ "reason": "Per-stack augmentignore rules by definition stack-aware"
47
38
  },
48
39
  {
49
40
  "file": ".agent-src.uncompressed/commands/optimize/rtk.md",
50
41
  "lines": "*",
51
- "reason": "Per-tool rtk filter detection \u2014 by definition tool-aware"
42
+ "reason": "Per-tool rtk filter detection by definition tool-aware"
52
43
  },
53
44
  {
54
45
  "file": ".agent-src.uncompressed/rules/framework-neutrality-in-generic-skills.md",
@@ -68,94 +59,94 @@
68
59
  {
69
60
  "file": ".agent-src.uncompressed/rules/architecture.md",
70
61
  "lines": [
71
- 19,
72
- 20,
73
- 26,
74
- 27,
75
- 62
62
+ 31,
63
+ 32,
64
+ 38,
65
+ 39,
66
+ 74
76
67
  ],
77
68
  "reason": "Stack-routing pointers and cross-stack enumeration of validation/handler primitives"
78
69
  },
79
70
  {
80
71
  "file": ".agent-src.uncompressed/skills/api-endpoint/SKILL.md",
81
72
  "lines": [
82
- 41,
83
- 58
73
+ 53,
74
+ 70
84
75
  ],
85
76
  "reason": "Cross-stack validation primitive enumeration and pointer to laravel-api-endpoint carve-out"
86
77
  },
87
78
  {
88
79
  "file": ".agent-src.uncompressed/skills/code-review/SKILL.md",
89
80
  "lines": [
90
- 40,
91
- 41,
92
- 42,
93
- 49,
94
- 62,
95
- 63,
81
+ 52,
82
+ 53,
83
+ 54,
84
+ 61,
96
85
  74,
97
- 83,
98
- 85,
99
- 87,
100
- 219
86
+ 75,
87
+ 86,
88
+ 95,
89
+ 97,
90
+ 99,
91
+ 231
101
92
  ],
102
93
  "reason": "Cross-stack code-review checklist enumerates handler shape, validation, authz, ORM, escaping per framework"
103
94
  },
104
95
  {
105
96
  "file": ".agent-src.uncompressed/skills/security/SKILL.md",
106
97
  "lines": [
107
- 16,
108
- 23,
109
- 27,
110
98
  28,
111
- 37,
112
- 41,
113
- 48,
114
- 58,
115
- 76
99
+ 35,
100
+ 39,
101
+ 40,
102
+ 49,
103
+ 53,
104
+ 60,
105
+ 70,
106
+ 88
116
107
  ],
117
108
  "reason": "Cross-stack security review enumerates auth primitives (Policies, voters, guards, middleware) and config paths"
118
109
  },
119
110
  {
120
111
  "file": ".agent-src.uncompressed/skills/verify-completion-evidence/SKILL.md",
121
112
  "lines": [
122
- 53,
123
- 54,
124
- 55,
125
- 100,
126
- 177
113
+ 65,
114
+ 66,
115
+ 67,
116
+ 112,
117
+ 189
127
118
  ],
128
119
  "reason": "Evidence-mapping table enumerates the type-checker / linter / refactor tool per stack including PHPStan, Rector, ECS"
129
120
  },
130
121
  {
131
122
  "file": ".agent-src.uncompressed/commands/tests/execute.md",
132
123
  "lines": "*",
133
- "reason": "Multi-stack test runner dispatch (Pest/PHPUnit/Jest/pytest/cargo-test) \u2014 enumerates per-stack commands by design"
124
+ "reason": "Multi-stack test runner dispatch (Pest/PHPUnit/Jest/pytest/cargo-test) enumerates per-stack commands by design"
134
125
  },
135
126
  {
136
127
  "file": ".agent-src.uncompressed/commands/tests/create.md",
137
128
  "lines": "*",
138
- "reason": "Multi-stack test framework selection \u2014 enumerates Pest/PHPUnit/Jest/pytest options by design"
129
+ "reason": "Multi-stack test framework selection enumerates Pest/PHPUnit/Jest/pytest options by design"
139
130
  },
140
131
  {
141
132
  "file": ".agent-src.uncompressed/commands/module/explore.md",
142
133
  "lines": "*",
143
- "reason": "Multi-stack module detection (Laravel HMVC / Symfony bundles / DDD-lite) \u2014 enumerates per-stack patterns by design"
134
+ "reason": "Multi-stack module detection (Laravel HMVC / Symfony bundles / DDD-lite) enumerates per-stack patterns by design"
144
135
  },
145
136
  {
146
137
  "file": ".agent-src.uncompressed/commands/package-test.md",
147
138
  "lines": "*",
148
- "reason": "Multi-stack package linking (composer/npm/pip/cargo/go) \u2014 declared in skills frontmatter"
139
+ "reason": "Multi-stack package linking (composer/npm/pip/cargo/go) declared in skills frontmatter"
149
140
  },
150
141
  {
151
142
  "file": ".agent-src.uncompressed/commands/package-reset.md",
152
143
  "lines": "*",
153
- "reason": "Multi-stack package reset (composer/npm) \u2014 declared in skills frontmatter"
144
+ "reason": "Multi-stack package reset (composer/npm) declared in skills frontmatter"
154
145
  },
155
146
  {
156
147
  "file": ".agent-src.uncompressed/skills/dependency-upgrade/SKILL.md",
157
148
  "lines": "*",
158
- "reason": "Multi-stack dependency upgrade examples (composer/npm/pip) \u2014 declared stack-agnostic in description"
149
+ "reason": "Multi-stack dependency upgrade examples (composer/npm/pip) declared stack-agnostic in description"
159
150
  },
160
151
  {
161
152
  "file": ".agent-src.uncompressed/skills/fe-design/SKILL.md",
@@ -175,7 +166,7 @@
175
166
  {
176
167
  "file": ".agent-src.uncompressed/commands/project-analyze.md",
177
168
  "lines": "*",
178
- "reason": "Stack-detection templates show per-framework default outputs (Laravel/Standalone PHP/etc.) \u2014 multi-stack by design"
169
+ "reason": "Stack-detection templates show per-framework default outputs (Laravel/Standalone PHP/etc.) multi-stack by design"
179
170
  },
180
171
  {
181
172
  "file": ".agent-src.uncompressed/commands/commit.md",
@@ -185,7 +176,7 @@
185
176
  {
186
177
  "file": ".agent-src.uncompressed/skills/test-driven-development/SKILL.md",
187
178
  "lines": "*",
188
- "reason": "Multi-stack TDD examples \u2014 PHP/Pest and TypeScript/Jest sections both present"
179
+ "reason": "Multi-stack TDD examples PHP/Pest and TypeScript/Jest sections both present"
189
180
  },
190
181
  {
191
182
  "file": ".agent-src.uncompressed/skills/context-authoring/SKILL.md",
@@ -220,7 +211,7 @@
220
211
  {
221
212
  "file": ".agent-src.uncompressed/skills/systematic-debugging/SKILL.md",
222
213
  "lines": "*",
223
- "reason": "Debugging examples drawn from PHP project; the procedure is stack-agnostic (reproduce \u2192 isolate \u2192 hypothesize \u2192 verify)"
214
+ "reason": "Debugging examples drawn from PHP project; the procedure is stack-agnostic (reproduce isolate hypothesize verify)"
224
215
  },
225
216
  {
226
217
  "file": ".agent-src.uncompressed/skills/testing-anti-patterns/SKILL.md",
@@ -325,7 +316,7 @@
325
316
  {
326
317
  "file": ".agent-src.uncompressed/commands/quality-fix.md",
327
318
  "lines": "*",
328
- "reason": "Quality-fix dispatches per stack (PHPStan/ECS/Rector for PHP, tsc/biome for JS) \u2014 multi-stack by design"
319
+ "reason": "Quality-fix dispatches per stack (PHPStan/ECS/Rector for PHP, tsc/biome for JS) multi-stack by design"
329
320
  },
330
321
  {
331
322
  "file": ".agent-src.uncompressed/commands/roadmap/create.md",
@@ -471,6 +462,16 @@
471
462
  "file": ".agent-src.uncompressed/commands/upstream-contribute.md",
472
463
  "lines": "*",
473
464
  "reason": "Upstream-contribute examples drawn from this package's own Laravel-tooling contributions"
465
+ },
466
+ {
467
+ "file": ".agent-src.uncompressed/skills/code-review/SKILL.md",
468
+ "lines": [235],
469
+ "reason": "Multi-stack formatter enumeration (ECS, Prettier, Ruff, gofmt) — comparative example, no project mandate"
470
+ },
471
+ {
472
+ "file": ".agent-src.uncompressed/rules/architecture.md",
473
+ "lines": [80],
474
+ "reason": "Multi-framework module-system enumeration (Laravel, Turborepo, NestJS, Go) — comparative example, no project mandate"
474
475
  }
475
476
  ]
476
477
  }
@@ -7,7 +7,7 @@ Two storage tiers exist (see docs/contracts/ghostwriter-schema.md):
7
7
  fictional fixtures ONLY (`fictional: true`). Every file stem must
8
8
  be on scripts/ghostwriter_fixture_allowlist.txt. `aliases:` is
9
9
  forbidden here (consumer-only feature).
10
- * agents/ghostwriter/ — consumer real-person
10
+ * agents/reference/ghostwriter/ — consumer real-person
11
11
  profiles. Gitignored. Must NOT carry `fictional: true`. Optional
12
12
  `aliases:` list validated per § Aliases storage rules.
13
13
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  Validates per docs/contracts/load-context-schema.md:
5
5
  - Paths exist and are .md
6
- - Allowed roots only (.agent-src*/contexts/, agents/contexts/)
6
+ - Allowed roots only (.agent-src*/contexts/, agents/settings/contexts/)
7
7
  - No public→project-local leak (warn)
8
8
  - No circular refs across lazy + eager edges
9
9
  - Combined char-budget for eager edges (rule + eager targets ≤ cap)
@@ -32,7 +32,7 @@ SCAN_DIRS = [
32
32
  ALLOWED_PREFIXES = (
33
33
  "contexts/", # logical name (canonical — P1.1 / P5.3)
34
34
  ".agent-src/contexts/", # projected (defensive — only seen in compressed inputs)
35
- "agents/contexts/", # project-local
35
+ "agents/settings/contexts/", # project-local
36
36
  )
37
37
 
38
38
  # `.agent-src.uncompressed/contexts/` was the legacy fully-qualified form
@@ -48,7 +48,7 @@ LEGACY_PREFIX = ".agent-src.uncompressed/contexts/"
48
48
  SOURCE_ROOT = ROOT / ".agent-src.uncompressed"
49
49
 
50
50
  PUBLIC_RULE_PREFIX = ".agent-src.uncompressed/rules/"
51
- PROJECT_LOCAL_PREFIX = "agents/contexts/"
51
+ PROJECT_LOCAL_PREFIX = "agents/settings/contexts/"
52
52
 
53
53
 
54
54
  def resolve_entry(entry: str) -> Path:
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env python3
2
+ """Lint `dist/mcp/registry-manifest.json` against its JSON Schema.
3
+
4
+ Asserts:
5
+ * file exists
6
+ * validates against `docs/contracts/mcp-registry-manifest.schema.json`
7
+ * `dist/mcp/awesome-mcp-servers.row.md` is non-empty and parses as a
8
+ single Markdown table row (one `|`-delimited line)
9
+ * `dist/mcp/mcp-cloudflare-catalogue.json` is valid JSON
10
+
11
+ Exits 0 on success, 1 on any failure. `--quiet` suppresses the OK line.
12
+
13
+ Roadmap: agents/roadmaps/strategic-visibility-mcp-topics-positioning.md Phase 2 exit gate.
14
+ """
15
+ from __future__ import annotations
16
+
17
+ import argparse
18
+ import json
19
+ import sys
20
+ from pathlib import Path
21
+
22
+ import jsonschema
23
+
24
+ ROOT = Path(__file__).resolve().parents[1]
25
+ SCHEMA = ROOT / "docs" / "contracts" / "mcp-registry-manifest.schema.json"
26
+ MANIFEST = ROOT / "dist" / "mcp" / "registry-manifest.json"
27
+ ROW_MD = ROOT / "dist" / "mcp" / "awesome-mcp-servers.row.md"
28
+ CF_JSON = ROOT / "dist" / "mcp" / "mcp-cloudflare-catalogue.json"
29
+
30
+
31
+ def _fail(msg: str) -> int:
32
+ print(f"\u274c {msg}", file=sys.stderr)
33
+ return 1
34
+
35
+
36
+ def main() -> int:
37
+ ap = argparse.ArgumentParser(description=__doc__.splitlines()[0])
38
+ ap.add_argument("--quiet", action="store_true")
39
+ args = ap.parse_args()
40
+
41
+ for p in (SCHEMA, MANIFEST, ROW_MD, CF_JSON):
42
+ if not p.exists():
43
+ return _fail(f"missing: {p.relative_to(ROOT)}")
44
+
45
+ schema = json.loads(SCHEMA.read_text(encoding="utf-8"))
46
+ manifest = json.loads(MANIFEST.read_text(encoding="utf-8"))
47
+ try:
48
+ jsonschema.Draft202012Validator(schema).validate(manifest)
49
+ except jsonschema.ValidationError as e:
50
+ return _fail(f"schema validation: {e.message} at {list(e.absolute_path)}")
51
+
52
+ row = ROW_MD.read_text(encoding="utf-8").strip()
53
+ if not row:
54
+ return _fail("awesome-mcp-servers.row.md is empty")
55
+ if row.count("\n") != 0 or row.count("|") < 4:
56
+ return _fail("awesome-mcp-servers.row.md must be a single `|`-delimited row")
57
+
58
+ try:
59
+ json.loads(CF_JSON.read_text(encoding="utf-8"))
60
+ except json.JSONDecodeError as e:
61
+ return _fail(f"mcp-cloudflare-catalogue.json: {e}")
62
+
63
+ if not args.quiet:
64
+ print(f"\u2705 mcp registry manifest OK ({len(manifest['registries'])} registries)")
65
+ return 0
66
+
67
+
68
+ if __name__ == "__main__":
69
+ raise SystemExit(main())
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env python3
2
2
  """Lint structural reachability of media governance policies.
3
3
 
4
- Every policy file under `agents/policies/media/` (except README) must
4
+ Every policy file under `agents/settings/policies/media/` (except README) must
5
5
  be linked from at least one of:
6
6
 
7
7
  * a skill SKILL.md (any .agent-src.uncompressed/skills/*/SKILL.md
8
8
  or .claude/skills/*/SKILL.md),
9
9
  * a routing rule under .agent-src.uncompressed/rules/, or
10
- * a sibling policy file under agents/policies/media/.
10
+ * a sibling policy file under agents/settings/policies/media/.
11
11
 
12
12
  A policy that no surface references is a silent policy and a silent
13
13
  policy is a failed policy. This is the CI-side reachability guarantee
14
14
  the agent-in-the-loop enforcement model rests on (see
15
- agents/policies/media/README.md § Enforcement model).
15
+ agents/settings/policies/media/README.md § Enforcement model).
16
16
 
17
17
  Exit codes:
18
18
  0 all policies linked
@@ -66,7 +66,7 @@ def collect_scan_files() -> list[Path]:
66
66
  def referrers_for(policy: Path, scan_files: list[Path]) -> list[Path]:
67
67
  """Return files that reference `policy` by its repo-relative name
68
68
  or basename. We accept both the full path token
69
- (`agents/policies/media/likeness.md`) and the bare basename
69
+ (`agents/settings/policies/media/likeness.md`) and the bare basename
70
70
  (`likeness.md`) inside a markdown link, because sibling policies
71
71
  link via relative `[likeness.md](likeness.md)` form.
72
72
  """
@@ -91,7 +91,7 @@ def referrers_for(policy: Path, scan_files: list[Path]) -> list[Path]:
91
91
  def main() -> int:
92
92
  if not POLICY_DIR.exists():
93
93
  emit(
94
- "media-policy-linkage: agents/policies/media/ missing — "
94
+ "media-policy-linkage: agents/settings/policies/media/ missing — "
95
95
  "nothing to lint."
96
96
  )
97
97
  return 0
@@ -99,7 +99,7 @@ def main() -> int:
99
99
  policies = collect_policies()
100
100
  if not policies:
101
101
  emit(
102
- "media-policy-linkage: agents/policies/media/ has no policy "
102
+ "media-policy-linkage: agents/settings/policies/media/ has no policy "
103
103
  "files — nothing to lint."
104
104
  )
105
105
  return 0