@event4u/agent-config 14.9.0 → 14.11.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 (426) hide show
  1. package/.augment-plugin/marketplace.json +3 -3
  2. package/.augment-plugin/plugin.json +1 -1
  3. package/.claude-plugin/marketplace.json +1 -1
  4. package/CHANGELOG.md +384 -0
  5. package/README.md +1 -1
  6. package/dist/agent-src/commands/design.md +88 -0
  7. package/dist/agent-src/commands/project/analyze.md +47 -0
  8. package/dist/agent-src/commands/review/changes.md +67 -6
  9. package/dist/agent-src/commands/roadmap/create.md +49 -0
  10. package/dist/agent-src/commands/roadmap/next.md +27 -11
  11. package/dist/agent-src/commands/roadmap/process-full.md +14 -0
  12. package/dist/agent-src/commands/video/from-script.md +60 -3
  13. package/dist/agent-src/commands/video/stitch.md +14 -0
  14. package/dist/agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +1 -0
  15. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +154 -2
  16. package/dist/agent-src/rules/active-remediation.md +3 -3
  17. package/dist/agent-src/rules/code-provenance.md +2 -2
  18. package/dist/agent-src/rules/context-hygiene.md +13 -33
  19. package/dist/agent-src/rules/council-availability.md +2 -2
  20. package/dist/agent-src/rules/decision-revisit-gate.md +3 -1
  21. package/dist/agent-src/rules/design-fidelity.md +18 -0
  22. package/dist/agent-src/rules/design-review-after-ui-write.md +2 -2
  23. package/dist/agent-src/rules/evaluator-independence.md +56 -44
  24. package/dist/agent-src/rules/fix-what-you-see.md +9 -1
  25. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
  26. package/dist/agent-src/rules/minimal-safe-diff.md +14 -20
  27. package/dist/agent-src/rules/missing-skill-recovery.md +13 -1
  28. package/dist/agent-src/rules/playbook-precedence.md +105 -0
  29. package/dist/agent-src/rules/recurring-criticism.md +3 -1
  30. package/dist/agent-src/rules/roadmap-progress-sync.md +14 -13
  31. package/dist/agent-src/rules/scale-discipline.md +24 -0
  32. package/dist/agent-src/rules/security-sensitive-stop.md +2 -2
  33. package/dist/agent-src/rules/settings-ask-protocol.md +2 -2
  34. package/dist/agent-src/rules/ui-audit-gate.md +27 -15
  35. package/dist/agent-src/rules/untrusted-input-defense.md +2 -2
  36. package/dist/agent-src/skills/accessibility-auditor/SKILL.md +19 -0
  37. package/dist/agent-src/skills/adr-create/SKILL.md +7 -0
  38. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +33 -0
  39. package/dist/agent-src/skills/ai-council/references/advanced-modes.md +17 -3
  40. package/dist/agent-src/skills/ai-council/references/output-and-synthesis.md +31 -0
  41. package/dist/agent-src/skills/ai-council/references/procedure.md +19 -0
  42. package/dist/agent-src/skills/alerting-doctrine/SKILL.md +225 -0
  43. package/dist/agent-src/skills/alerting-doctrine/evals/triggers.json +17 -0
  44. package/dist/agent-src/skills/async-python-patterns/SKILL.md +1 -1
  45. package/dist/agent-src/skills/authz-review/SKILL.md +0 -1
  46. package/dist/agent-src/skills/blast-radius-analyzer/SKILL.md +32 -0
  47. package/dist/agent-src/skills/brand/SKILL.md +3 -0
  48. package/dist/agent-src/skills/brand-asset-generation/SKILL.md +3 -0
  49. package/dist/agent-src/skills/brand-audit/SKILL.md +3 -0
  50. package/dist/agent-src/skills/brand-identity/SKILL.md +3 -0
  51. package/dist/agent-src/skills/brand-strategy/SKILL.md +3 -0
  52. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +3 -0
  53. package/dist/agent-src/skills/check-refs/SKILL.md +3 -0
  54. package/dist/agent-src/skills/code-refactoring/SKILL.md +1 -1
  55. package/dist/agent-src/skills/code-review/SKILL.md +11 -0
  56. package/dist/agent-src/skills/command-routing/SKILL.md +6 -0
  57. package/dist/agent-src/skills/condense-memory/SKILL.md +4 -1
  58. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  59. package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +4 -1
  60. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +10 -0
  61. package/dist/agent-src/skills/corpus-grounding/SKILL.md +3 -0
  62. package/dist/agent-src/skills/design-intelligence/SKILL.md +3 -0
  63. package/dist/agent-src/skills/design-intelligence/data/landing.csv +36 -35
  64. package/dist/agent-src/skills/design-intelligence/data/stacks/threejs.csv +1 -0
  65. package/dist/agent-src/skills/design-review/SKILL.md +80 -2
  66. package/dist/agent-src/skills/design-review/references/verification-automation.md +41 -0
  67. package/dist/agent-src/skills/design-system-capture/SKILL.md +35 -40
  68. package/dist/agent-src/skills/design-system-capture/references/import-procedure.md +50 -0
  69. package/dist/agent-src/skills/design-tokens/SKILL.md +3 -0
  70. package/dist/agent-src/skills/design-variations/SKILL.md +3 -0
  71. package/dist/agent-src/skills/developer-like-execution/SKILL.md +3 -0
  72. package/dist/agent-src/skills/discovery-interview/SKILL.md +1 -1
  73. package/dist/agent-src/skills/doc-coauthoring/SKILL.md +1 -1
  74. package/dist/agent-src/skills/docx-authoring/SKILL.md +1 -1
  75. package/dist/agent-src/skills/editorial-calendar/SKILL.md +1 -1
  76. package/dist/agent-src/skills/estimate-ticket/SKILL.md +3 -0
  77. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +20 -3
  78. package/dist/agent-src/skills/fe-design/SKILL.md +74 -41
  79. package/dist/agent-src/skills/fe-design/evals/triggers.json +65 -53
  80. package/dist/agent-src/skills/fe-design/references/craft-floor.md +52 -0
  81. package/dist/agent-src/skills/fe-design/references/source-led-port.md +36 -0
  82. package/dist/agent-src/skills/file-editor/SKILL.md +5 -0
  83. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +2 -2
  84. package/dist/agent-src/skills/git-workflow/SKILL.md +3 -0
  85. package/dist/agent-src/skills/github-ci/SKILL.md +1 -1
  86. package/dist/agent-src/skills/html-deck/SKILL.md +3 -0
  87. package/dist/agent-src/skills/iconography/SKILL.md +3 -0
  88. package/dist/agent-src/skills/image-editing/SKILL.md +3 -0
  89. package/dist/agent-src/skills/image-generation/SKILL.md +3 -0
  90. package/dist/agent-src/skills/image-provider-routing/SKILL.md +3 -0
  91. package/dist/agent-src/skills/incident-commander/SKILL.md +10 -0
  92. package/dist/agent-src/skills/js-library-packaging/SKILL.md +173 -0
  93. package/dist/agent-src/skills/js-library-packaging/evals/triggers.json +17 -0
  94. package/dist/agent-src/skills/js-library-packaging/scripts/check_package_surface.ts +270 -0
  95. package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +1 -1
  96. package/dist/agent-src/skills/judge-injection-defense/SKILL.md +1 -1
  97. package/dist/agent-src/skills/laravel-migration/SKILL.md +3 -0
  98. package/dist/agent-src/skills/laravel-validation/SKILL.md +1 -1
  99. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +3 -0
  100. package/dist/agent-src/skills/legal-intake-triage/SKILL.md +1 -1
  101. package/dist/agent-src/skills/legal-practice-profile/SKILL.md +1 -1
  102. package/dist/agent-src/skills/lint-skills/SKILL.md +3 -0
  103. package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +3 -0
  104. package/dist/agent-src/skills/logging-monitoring/SKILL.md +234 -51
  105. package/dist/agent-src/skills/logo-generation/SKILL.md +3 -0
  106. package/dist/agent-src/skills/md-language-check/SKILL.md +3 -0
  107. package/dist/agent-src/skills/messaging-architecture/SKILL.md +1 -1
  108. package/dist/agent-src/skills/migration-architect/SKILL.md +1 -1
  109. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +1 -1
  110. package/dist/agent-src/skills/module-management/SKILL.md +1 -1
  111. package/dist/agent-src/skills/monorepo-workspace/SKILL.md +149 -0
  112. package/dist/agent-src/skills/monorepo-workspace/evals/triggers.json +17 -0
  113. package/dist/agent-src/skills/motion-choreographer/SKILL.md +7 -1
  114. package/dist/agent-src/skills/multi-tenancy/SKILL.md +4 -0
  115. package/dist/agent-src/skills/onboarding-program/SKILL.md +1 -1
  116. package/dist/agent-src/skills/operational-readiness/SKILL.md +184 -0
  117. package/dist/agent-src/skills/operational-readiness/evals/triggers.json +17 -0
  118. package/dist/agent-src/skills/override-management/SKILL.md +3 -0
  119. package/dist/agent-src/skills/perf-feedback-craft/SKILL.md +1 -1
  120. package/dist/agent-src/skills/persona-improvement/SKILL.md +3 -0
  121. package/dist/agent-src/skills/pest-testing/SKILL.md +3 -0
  122. package/dist/agent-src/skills/playbook-authoring/SKILL.md +162 -0
  123. package/dist/agent-src/skills/playwright-testing/SKILL.md +3 -0
  124. package/dist/agent-src/skills/privacy-review/SKILL.md +3 -0
  125. package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -0
  126. package/dist/agent-src/skills/prompt-optimizer/SKILL.md +1 -1
  127. package/dist/agent-src/skills/quality-tools/SKILL.md +5 -0
  128. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +52 -21
  129. package/dist/agent-src/skills/readme-reviewer/SKILL.md +3 -0
  130. package/dist/agent-src/skills/readme-writing/SKILL.md +3 -0
  131. package/dist/agent-src/skills/readme-writing-package/SKILL.md +3 -0
  132. package/dist/agent-src/skills/receiving-code-review/SKILL.md +3 -3
  133. package/dist/agent-src/skills/refine-prompt/SKILL.md +3 -0
  134. package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -0
  135. package/dist/agent-src/skills/requesting-code-review/SKILL.md +2 -2
  136. package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
  137. package/dist/agent-src/skills/roadmap-writing/SKILL.md +23 -41
  138. package/dist/agent-src/skills/roadmap-writing/references/follow-up-roadmap-shape.md +47 -0
  139. package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +22 -6
  140. package/dist/agent-src/skills/runway-cognition/SKILL.md +3 -0
  141. package/dist/agent-src/skills/scene-expander/SKILL.md +1 -1
  142. package/dist/agent-src/skills/scene-expander/scene-blueprint.schema.yaml +26 -0
  143. package/dist/agent-src/skills/secrets-management/SKILL.md +5 -1
  144. package/dist/agent-src/skills/server-hardening/SKILL.md +159 -0
  145. package/dist/agent-src/skills/server-hardening/evals/triggers.json +17 -0
  146. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -0
  147. package/dist/agent-src/skills/skill-management/SKILL.md +3 -0
  148. package/dist/agent-src/skills/skill-reviewer/SKILL.md +3 -0
  149. package/dist/agent-src/skills/skill-writing/SKILL.md +6 -0
  150. package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +3 -0
  151. package/dist/agent-src/skills/storybook-workshop/SKILL.md +194 -0
  152. package/dist/agent-src/skills/storybook-workshop/evals/triggers.json +17 -0
  153. package/dist/agent-src/skills/storybook-workshop/scripts/story_contrast_floor.ts +134 -0
  154. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  155. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +25 -0
  156. package/dist/agent-src/skills/supply-chain-intake/SKILL.md +12 -0
  157. package/dist/agent-src/skills/systematic-debugging/SKILL.md +1 -1
  158. package/dist/agent-src/skills/terraform/SKILL.md +3 -0
  159. package/dist/agent-src/skills/test-driven-development/SKILL.md +1 -1
  160. package/dist/agent-src/skills/threat-modeling/SKILL.md +0 -3
  161. package/dist/agent-src/skills/token-optimizer/SKILL.md +3 -0
  162. package/dist/agent-src/skills/typography-system/SKILL.md +3 -0
  163. package/dist/agent-src/skills/ui-component-architect/SKILL.md +9 -1
  164. package/dist/agent-src/skills/upstream-contribute/SKILL.md +3 -0
  165. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -1
  166. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +3 -0
  167. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +2 -2
  168. package/dist/agent-src/skills/wireframe/SKILL.md +3 -0
  169. package/dist/agent-src/skills/wireframe/references/story-beat-ledger.schema.json +115 -0
  170. package/dist/agent-src/skills/workspace-link/SKILL.md +131 -0
  171. package/dist/agent-src/skills/workspace-link/evals/triggers.json +17 -0
  172. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  173. package/dist/agent-src/templates/playbook.md +75 -0
  174. package/dist/agent-src/templates/roadmaps.md +37 -0
  175. package/dist/agent-src/templates/scripts/check_playbook_invokes.ts +231 -0
  176. package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +24 -0
  177. package/dist/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +2 -0
  178. package/dist/agent-src/templates/scripts/work_engine/directives/ui/review.ts +216 -0
  179. package/dist/agent-src/templates/scripts/work_engine/directives/ui/scaffold.ts +159 -0
  180. package/dist/agent-src/templates/scripts/work_engine/directives/ui/stack_bundles.ts +73 -4
  181. package/dist/agent-src/templates/scripts/work_engine/stack/detect.ts +325 -40
  182. package/dist/cli/commands/uiAudit.js +221 -0
  183. package/dist/cli/commands/uiAudit.js.map +1 -0
  184. package/dist/cli/commands/uiRender.js +206 -0
  185. package/dist/cli/commands/uiRender.js.map +1 -0
  186. package/dist/cli/main.js +22 -1
  187. package/dist/cli/main.js.map +1 -1
  188. package/dist/cli/mcp/content.js +64 -1
  189. package/dist/cli/mcp/content.js.map +1 -1
  190. package/dist/cli/mcp/dispatch.js +175 -10
  191. package/dist/cli/mcp/dispatch.js.map +1 -1
  192. package/dist/cli/registry.js +3 -0
  193. package/dist/cli/registry.js.map +1 -1
  194. package/dist/cli-delegate/{chunk-H4VIVD4C.js → chunk-236PNQZK.js} +413 -391
  195. package/dist/cli-delegate/{chunk-G23AT6GD.js → chunk-DMSZHXZS.js} +57 -1
  196. package/dist/cli-delegate/{chunk-77GR3VD4.js → chunk-FF7WAFMR.js} +58 -3
  197. package/dist/cli-delegate/{chunk-PLSG6UL5.js → chunk-K4FFODTS.js} +341 -204
  198. package/dist/cli-delegate/{chunk-YM4GZDJG.js → chunk-L43NCYPB.js} +5 -0
  199. package/dist/cli-delegate/{chunk-B2ERU2VA.js → chunk-WOKWX5PL.js} +1 -1
  200. package/dist/cli-delegate/cmd_brand_status.js +8 -6
  201. package/dist/cli-delegate/cmd_conformance.js +3 -3
  202. package/dist/cli-delegate/cmd_doctor.js +3 -3
  203. package/dist/cli-delegate/cmd_export.js +4 -4
  204. package/dist/cli-delegate/cmd_handoff.js +1 -1
  205. package/dist/cli-delegate/cmd_preflight.js +2 -2
  206. package/dist/cli-delegate/cmd_prune.js +4 -4
  207. package/dist/cli-delegate/cmd_session_recycle.js +70 -9
  208. package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
  209. package/dist/cli-delegate/cmd_settings_set.js +1 -1
  210. package/dist/cli-delegate/cmd_sync.js +4 -4
  211. package/dist/cli-delegate/cmd_uninstall.js +4 -4
  212. package/dist/cli-delegate/cmd_validate.js +4 -4
  213. package/dist/discovery/deprecation-report.md +1 -1
  214. package/dist/discovery/discovery-manifest.json +380 -145
  215. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  216. package/dist/discovery/discovery-manifest.summary.md +4 -4
  217. package/dist/discovery/dormancy-report.md +1 -1
  218. package/dist/discovery/orphan-report.md +1 -1
  219. package/dist/discovery/packs.json +18 -8
  220. package/dist/discovery/trust-report.md +3 -3
  221. package/dist/discovery/workspaces.json +16 -6
  222. package/dist/hooks/dispatch.js +2337 -1436
  223. package/dist/install/install.mjs +795 -708
  224. package/dist/mcp/registry-manifest.json +3 -3
  225. package/dist/mcp/server.json +2 -2
  226. package/dist/mcp/server.mjs +1685 -1250
  227. package/dist/router.json +1 -1
  228. package/dist/scripts/_lib/lean_projection_mode.js +40 -0
  229. package/dist/scripts/_lib/lean_projection_mode.js.map +1 -0
  230. package/dist/scripts/_lib/scoped_projection.js +84 -0
  231. package/dist/scripts/_lib/scoped_projection.js.map +1 -1
  232. package/dist/scripts/_lib/ui_surface.js +89 -0
  233. package/dist/scripts/_lib/ui_surface.js.map +1 -0
  234. package/dist/scripts/condense.js +6 -10
  235. package/dist/scripts/condense.js.map +1 -1
  236. package/dist/scripts/project_thin_rules.js +40 -2
  237. package/dist/scripts/project_thin_rules.js.map +1 -1
  238. package/dist/server/schemas/settings.js +3 -0
  239. package/dist/server/schemas/settings.js.map +1 -1
  240. package/dist/shared/skillRanking.js +159 -0
  241. package/dist/shared/skillRanking.js.map +1 -0
  242. package/docs/contracts/provider-lifecycle.md +47 -18
  243. package/docs/contracts/settings-classes.md +14 -4
  244. package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +49 -0
  245. package/docs/guidelines/agent-infra/evaluator-independence-mechanics.md +92 -0
  246. package/docs/guidelines/agent-infra/minimal-safe-diff-mechanics.md +45 -1
  247. package/docs/guidelines/agent-infra/roadmap-deferred-resolution-provenance.md +54 -0
  248. package/docs/guidelines/design-antipatterns.md +4 -2
  249. package/docs/guidelines/design-asset-discipline.md +38 -0
  250. package/docs/guidelines/design-fidelity-mechanics.md +45 -29
  251. package/docs/guidelines/design-handover-extraction.md +35 -5
  252. package/docs/guidelines/design-modes.md +41 -1
  253. package/docs/guidelines/monorepo-antipatterns.md +141 -0
  254. package/llms.txt +50 -39
  255. package/package.json +1 -1
  256. package/src/agent-src/templates/scripts/check_playbook_invokes.ts +231 -0
  257. package/src/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +24 -0
  258. package/src/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +2 -0
  259. package/src/agent-src/templates/scripts/work_engine/directives/ui/review.ts +216 -0
  260. package/src/agent-src/templates/scripts/work_engine/directives/ui/scaffold.ts +159 -0
  261. package/src/agent-src/templates/scripts/work_engine/directives/ui/stack_bundles.ts +73 -4
  262. package/src/agent-src/templates/scripts/work_engine/stack/detect.ts +325 -40
  263. package/src/config/agent-settings.template.yml +28 -0
  264. package/src/config/assurance-capability-registry.json +223 -0
  265. package/src/config/assurance-threshold-budget.json +65 -0
  266. package/src/config/ci-local-parity.yml +14 -0
  267. package/src/config/discovery/unassigned-artefacts.yml +2 -0
  268. package/src/config/dispatch-economy-metrics.json +4 -2
  269. package/src/config/evaluator-budgets.json +14 -14
  270. package/src/config/gate-coverage.yml +227 -8
  271. package/src/config/gate-violation-baselines.json +76 -72
  272. package/src/config/hook-latency-budget.json +1 -0
  273. package/src/config/hook-token-budget.json +137 -125
  274. package/src/config/pack-size-budget.json +4 -2
  275. package/src/config/preamble-payload-budget.json +71 -67
  276. package/src/config/quorum-attendance-budget.json +12 -4
  277. package/src/config/rule-activation-census.json +7 -3
  278. package/src/config/rule-enforcement-baseline.json +0 -1
  279. package/src/config/rule-stub-ceilings.json +112 -91
  280. package/src/scripts/_cli/cmd_doctor.ts +15 -16
  281. package/src/scripts/_cli/doctor_install_mode.ts +49 -0
  282. package/src/scripts/_cli/doctor_overrides.ts +154 -0
  283. package/src/scripts/_dispatch.bash +17 -0
  284. package/src/scripts/_lib/as_of.ts +412 -0
  285. package/src/scripts/_lib/exec_evidence.ts +7 -0
  286. package/src/scripts/_lib/hook_settings.ts +33 -0
  287. package/src/scripts/_lib/host_listing_model.ts +192 -0
  288. package/src/scripts/_lib/lean_projection_mode.ts +44 -0
  289. package/src/scripts/_lib/mcp_bridge.ts +199 -0
  290. package/src/scripts/_lib/review_independence.ts +62 -10
  291. package/src/scripts/_lib/rule_injection.ts +239 -0
  292. package/src/scripts/_lib/run_checkpoint.ts +54 -1
  293. package/src/scripts/_lib/scoped_projection.ts +96 -0
  294. package/src/scripts/_lib/session_register.ts +44 -2
  295. package/src/scripts/_lib/skill_catalogue.ts +38 -2
  296. package/src/scripts/_lib/transcript_reads.ts +207 -0
  297. package/src/scripts/_lib/ui_authority.test.ts +251 -0
  298. package/src/scripts/_lib/ui_authority.ts +343 -0
  299. package/src/scripts/ai-video/adapters/fal.sh +8 -3
  300. package/src/scripts/ai-video/adapters/gemini-veo.sh +10 -0
  301. package/src/scripts/ai-video/adapters/higgsfield.sh +10 -2
  302. package/src/scripts/ai-video/adapters/kling.sh +10 -0
  303. package/src/scripts/ai-video/adapters/sora.sh +10 -0
  304. package/src/scripts/ai-video/lib/calibrate-cost.sh +145 -0
  305. package/src/scripts/ai-video/lib/model-capabilities/README.md +53 -7
  306. package/src/scripts/ai-video/lib/model-capabilities/comfyui.json +15 -3
  307. package/src/scripts/ai-video/lib/model-capabilities/fal.json +36 -6
  308. package/src/scripts/ai-video/lib/model-capabilities/gemini-veo.json +23 -0
  309. package/src/scripts/ai-video/lib/model-capabilities/higgsfield.json +23 -0
  310. package/src/scripts/ai-video/lib/model-capabilities/kling.json +23 -0
  311. package/src/scripts/ai-video/lib/model-capabilities/musetalk.json +8 -2
  312. package/src/scripts/ai-video/lib/model-capabilities/replicate.json +36 -6
  313. package/src/scripts/ai-video/lib/model-capabilities/sora.json +45 -0
  314. package/src/scripts/ai-video/lib/model-capabilities/syncso.json +8 -2
  315. package/src/scripts/ai-video/lib/parse-blueprint.sh +52 -5
  316. package/src/scripts/ai-video/lib/resume-scan.sh +92 -3
  317. package/src/scripts/ai-video/lib/seam-plan.sh +212 -0
  318. package/src/scripts/ai-video/smoke-trace.sh +450 -2
  319. package/src/scripts/ai-video/stitch.sh +191 -10
  320. package/src/scripts/ai-video/test-pipeline.sh +84 -6
  321. package/src/scripts/ai_council/cli_agency_bounds.ts +139 -0
  322. package/src/scripts/ai_council/cli_least_agency_canary.ts +347 -0
  323. package/src/scripts/ai_council/clients.ts +3 -2
  324. package/src/scripts/ai_council/consensus.ts +63 -6
  325. package/src/scripts/ai_council/events_log.ts +46 -1
  326. package/src/scripts/ai_council/orchestrator.ts +103 -108
  327. package/src/scripts/ai_council/orchestrator_results.ts +166 -0
  328. package/src/scripts/ai_council/prompts.ts +12 -5
  329. package/src/scripts/ai_council/quorum.ts +82 -1
  330. package/src/scripts/ai_council/quorum_wiring.ts +82 -5
  331. package/src/scripts/ai_council/seating.ts +211 -0
  332. package/src/scripts/ai_council/stance_tally.ts +22 -0
  333. package/src/scripts/bench_hook_latency.ts +62 -0
  334. package/src/scripts/build_proof.ts +12 -1
  335. package/src/scripts/capture_skill_catalogue.ts +21 -0
  336. package/src/scripts/check_always_budget.ts +2 -1
  337. package/src/scripts/check_augmentignore.ts +2 -1
  338. package/src/scripts/check_beta_review_markers.ts +2 -1
  339. package/src/scripts/check_composite_arming.ts +364 -0
  340. package/src/scripts/check_corpus_staleness.ts +2 -1
  341. package/src/scripts/check_council_pin_staleness.ts +3 -1
  342. package/src/scripts/check_enforcement_coverage.ts +116 -3
  343. package/src/scripts/check_enforcement_denominator.ts +365 -0
  344. package/src/scripts/check_gate_coverage.ts +2 -1
  345. package/src/scripts/check_hook_bundle_freshness.ts +13 -1
  346. package/src/scripts/check_knowledge_cards.ts +2 -1
  347. package/src/scripts/check_knowledge_pages.ts +3 -2
  348. package/src/scripts/check_memory.ts +2 -1
  349. package/src/scripts/check_no_automerge_key.ts +287 -0
  350. package/src/scripts/check_pack_conformance_fixture.ts +565 -0
  351. package/src/scripts/check_pack_passport_reconciliation.ts +274 -0
  352. package/src/scripts/check_proposal.ts +2 -1
  353. package/src/scripts/check_reach_staleness.ts +2 -1
  354. package/src/scripts/check_release_adjacent_health.ts +2 -1
  355. package/src/scripts/check_release_pr_shape.ts +5 -0
  356. package/src/scripts/check_review_schema.ts +34 -1
  357. package/src/scripts/check_roadmap_trackable.ts +48 -3
  358. package/src/scripts/check_source_size_budget.ts +2 -1
  359. package/src/scripts/check_standing_payload_delta.ts +505 -0
  360. package/src/scripts/check_trigger_evals.ts +2 -1
  361. package/src/scripts/classify_change_risk.ts +281 -0
  362. package/src/scripts/compute_skill_tiers.ts +186 -0
  363. package/src/scripts/condense.ts +8 -13
  364. package/src/scripts/council_attendance_metrics.ts +183 -0
  365. package/src/scripts/council_cli.ts +10 -8
  366. package/src/scripts/council_parse_rate.ts +116 -0
  367. package/src/scripts/derive_playbooks.ts +406 -0
  368. package/src/scripts/design_slop_rules.test.ts +7 -0
  369. package/src/scripts/design_slop_rules.ts +56 -2
  370. package/src/scripts/dispatch_r2_reviewer.ts +16 -0
  371. package/src/scripts/frontend_corpus_hash.ts +116 -0
  372. package/src/scripts/generate_pack_manifests.ts +78 -0
  373. package/src/scripts/grade_target_readiness.ts +478 -0
  374. package/src/scripts/hook_manifest.json +1 -1
  375. package/src/scripts/hook_manifest.yaml +97 -16
  376. package/src/scripts/hooks/concern_registry.ts +4 -0
  377. package/src/scripts/hooks/design_pass_hook.ts +356 -0
  378. package/src/scripts/hooks/rtk_wrap_hook.ts +30 -7
  379. package/src/scripts/hooks/rule_inject_hook.ts +318 -0
  380. package/src/scripts/hot_context_hook.ts +74 -7
  381. package/src/scripts/install.ts +40 -89
  382. package/src/scripts/lint_adapter_tier.ts +663 -0
  383. package/src/scripts/lint_archived_skills.ts +93 -0
  384. package/src/scripts/lint_budget_ownership.ts +2 -1
  385. package/src/scripts/lint_deterministic_time.ts +470 -0
  386. package/src/scripts/lint_framework_leakage.ts +5 -0
  387. package/src/scripts/lint_handoffs.ts +525 -1
  388. package/src/scripts/lint_judge_prompt_expectation.ts +155 -0
  389. package/src/scripts/lint_marketplace.ts +88 -0
  390. package/src/scripts/lint_media_policy_linkage.ts +140 -1
  391. package/src/scripts/lint_one_off_age.ts +6 -1
  392. package/src/scripts/lint_override_kernel_guard.ts +87 -5
  393. package/src/scripts/lint_roadmap_complexity.ts +56 -0
  394. package/src/scripts/lint_rule_enforcement_declaration.ts +24 -7
  395. package/src/scripts/lint_rule_norm_pin.ts +321 -0
  396. package/src/scripts/lint_spawn_payload.ts +42 -5
  397. package/src/scripts/lint_symptom_intake.ts +2 -1
  398. package/src/scripts/mcp_parity_smoke.ts +30 -4
  399. package/src/scripts/mcp_render.ts +66 -1
  400. package/src/scripts/mcp_tool_fingerprint.ts +241 -0
  401. package/src/scripts/measure_risk_class_drift.ts +140 -0
  402. package/src/scripts/measure_skill_ranker_baseline.ts +212 -0
  403. package/src/scripts/media/lib/adapter-common.sh +211 -1
  404. package/src/scripts/media/lib/adapter-contract.md +74 -6
  405. package/src/scripts/model_rule_injection.ts +907 -0
  406. package/src/scripts/project_thin_rules.ts +45 -2
  407. package/src/scripts/release.ts +66 -860
  408. package/src/scripts/release_drill.ts +59 -3
  409. package/src/scripts/release_env.ts +298 -0
  410. package/src/scripts/release_publication.ts +720 -0
  411. package/src/scripts/roadmap_context.ts +778 -0
  412. package/src/scripts/schemas/fidelity-measurement-sheet.schema.json +169 -0
  413. package/src/scripts/schemas/pack.schema.json +62 -4
  414. package/src/scripts/schemas/rule.schema.json +24 -2
  415. package/src/scripts/schemas/skill.schema.json +41 -2
  416. package/src/scripts/schemas/ui-authority.schema.json +114 -0
  417. package/src/scripts/session_register_hook.ts +29 -3
  418. package/src/scripts/sessions_cli.ts +67 -3
  419. package/src/scripts/skill_tools/score_skill_relevance.ts +36 -53
  420. package/src/scripts/tighten_skill_descriptions.ts +264 -0
  421. package/src/scripts/token_sink_report.ts +239 -0
  422. package/src/scripts/trigger_coverage.ts +122 -3
  423. package/src/scripts/update_counts.ts +7 -3
  424. package/src/scripts/validate_frontmatter.ts +66 -0
  425. package/src/server/schemas/settings.ts +5 -0
  426. package/src/shared/skillRanking.ts +183 -0
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  model_tier: high
3
3
  name: receiving-code-review
4
- description: "Use when processing code review feedback (bot or human) before changing anything — triages, verifies, and pushes back with technical reasoning — even when the user just says 'fix the comments'."
4
+ description: "When processing code review feedback (bot or human) before changing anything — triages, verifies and pushes back with technical reasoning — even when the user just says 'fix the comments'."
5
5
  personas:
6
6
  - critical-challenger
7
7
  domain: process
@@ -122,7 +122,7 @@ For each comment classified as blocking/important:
122
122
 
123
123
  Run the relevant tests and linters **between** each group — do not
124
124
  batch four changes and then run tests once. See
125
- [`verify-before-complete`](../verify-before-complete/SKILL.md).
125
+ [`verify-completion-evidence`](../verify-completion-evidence/SKILL.md).
126
126
 
127
127
  ## Output format
128
128
 
@@ -181,7 +181,7 @@ When reporting back to the user after handling review:
181
181
  * Executing the fixes across many comments → [`fix-pr-comments`](../../commands/fix-pr-comments.md)
182
182
  (handles both bot + human reviewers in one pass)
183
183
  * Running the full verification gate before pushing replies →
184
- [`verify-before-complete`](../verify-before-complete/SKILL.md)
184
+ [`verify-completion-evidence`](../verify-completion-evidence/SKILL.md)
185
185
  * Writing the commit message that references the review →
186
186
  [`conventional-commits-writing`](../conventional-commits-writing/SKILL.md)
187
187
  * Digging into *why* the reviewer's scenario actually fails →
@@ -7,6 +7,9 @@ personas:
7
7
  - senior-engineer
8
8
  - ai-agent
9
9
  domain: product
10
+ scope:
11
+ write: []
12
+ verification_reason: "execution.handler is internal, so this skill spawns no subprocess — writes happen through the agent's declared allowed_tools. No command can prove a scope the skill never executes."
10
13
  execution:
11
14
  type: assisted
12
15
  handler: internal
@@ -10,6 +10,9 @@ personas:
10
10
  - critical-challenger
11
11
  - ai-agent
12
12
  domain: product
13
+ scope:
14
+ write: []
15
+ verification_reason: "execution.handler is internal, so this skill spawns no subprocess — writes happen through the agent's declared allowed_tools. No command can prove a scope the skill never executes."
13
16
  execution:
14
17
  type: assisted
15
18
  handler: internal
@@ -60,7 +60,7 @@ Before asking anyone else:
60
60
  * Check for secrets in diff — API keys, connection strings, tokens
61
61
  * Check file-system side effects — generated files, lockfile churn,
62
62
  IDE configs, `.env` changes
63
- * Run the linter + tests (see [`verify-before-complete`](../verify-before-complete/SKILL.md))
63
+ * Run the linter + tests (see [`verify-completion-evidence`](../verify-completion-evidence/SKILL.md))
64
64
  * If you find issues → fix them, do **not** ship them and hope the
65
65
  reviewer flags them
66
66
 
@@ -192,7 +192,7 @@ When handing the review request to the reviewer (PR body, Slack, email):
192
192
  * Actually opening the PR → [`create-pr`](../../commands/create-pr.md)
193
193
  * Writing the commits themselves → [`commit`](../../commands/commit.md),
194
194
  [`conventional-commits-writing`](../conventional-commits-writing/SKILL.md)
195
- * Verifying readiness → [`verify-before-complete`](../verify-before-complete/SKILL.md)
195
+ * Verifying readiness → [`verify-completion-evidence`](../verify-completion-evidence/SKILL.md)
196
196
  * Processing the feedback when it arrives → [`receiving-code-review`](../receiving-code-review/SKILL.md)
197
197
 
198
198
  ## Validation checklist
@@ -31,7 +31,7 @@ Do NOT use when:
31
31
  - The diff is low-risk and no ownership map exists — fall back to the
32
32
  common role vocabulary below.
33
33
  - A full PR description is requested — route to
34
- [`create-pr-description`](../create-pr:description-only/SKILL.md) and let
34
+ [`/pr:create:description-only`](../../domains/git/pr/create/description-only/command.md) and let
35
35
  it call this skill for the routing block.
36
36
  - A threat model is wanted — route to
37
37
  [`threat-modeling`](../threat-modeling/SKILL.md).
@@ -210,6 +210,6 @@ Data source: <"ownership-map.yml + historical-bug-patterns.yml"
210
210
 
211
211
  - [`reviewer-awareness`](../../rules/reviewer-awareness.md) — the rule that routes here: anchor reviewer choice in paths and risk, never seniority
212
212
  - [`review-routing-data-format`](../../../docs/guidelines/agent-infra/review-routing-data-format.md)
213
- - [`create-pr-description`](../create-pr:description-only/SKILL.md)
213
+ - [`/pr:create:description-only`](../../domains/git/pr/create/description-only/command.md)
214
214
  - [`judge-test-coverage`](../judge-test-coverage/SKILL.md) — consumes
215
215
  the `required_test` entries from matched patterns.
@@ -51,8 +51,18 @@ dashboard-sync axis stays in `roadmap-management`.
51
51
  Authoring or materially rewriting a roadmap must go through
52
52
  Understand → Research → Draft per the
53
53
  [`artifact-drafting-protocol`](../../rules/artifact-drafting-protocol.md)
54
- rule. Inspect existing roadmaps under `agents/roadmaps/` for overlap
55
- or supersession before opening a new one. **Gate C first** — "write a
54
+ rule. **Run the probe, do not eyeball the directory:**
55
+
56
+ ```bash
57
+ agent-config roadmap:context
58
+ ```
59
+
60
+ It reports sibling roadmaps on the same topic across all four roadmap
61
+ directories, inbox notes, and open PRs on the cited paths — the semantic axis a
62
+ filename scan cannot see. Each hit becomes one `relates:` row
63
+ (`extends` / `supersedes` / `depends` / `disjoint`, template rule 18); zero hits
64
+ becomes `relates: []` carrying the probe's `scanned:` line as its
65
+ justification. **Gate C first** — "write a
56
66
  plan/roadmap" is a gated surface, so run
57
67
  [`plan-confidence-gate`](../../contexts/execution/plan-confidence-gate.md)
58
68
  before drafting (95%-conditions, marker, interview-or-degrade, C→R1 handoff).
@@ -218,45 +228,12 @@ preferred.
218
228
 
219
229
  When a parent roadmap closes with `[~]` items, the
220
230
  [`roadmap-management`](../roadmap-management/SKILL.md) skill spawns a
221
- follow-up. Authors and reviewers must know the shape so they can
222
- recognise it:
223
-
224
- ```markdown
225
- ---
226
- complexity: lightweight
227
- status: draft # optional — draft hides from dashboard
228
- parent_roadmap: <parent-slug> # back-link to the archived source
229
- ---
230
-
231
- # Roadmap: Follow-up to <parent-title>
232
-
233
- > <One sentence: carried-over outcome.>
234
-
235
- ## Context
236
-
237
- This roadmap collects items deferred from
238
- [`agents/roadmaps/archive/<parent-slug>.md`](../archive/<parent-slug>.md).
239
- { … original phases preserved verbatim … }
240
-
241
- <!-- For option 2 (ready + blocked), add this as a body note, NOT in frontmatter: -->
242
- > Blocked until <condition>. Execution starts when the condition clears.
243
- ```
244
-
245
- Two states the author picks between (mirrors the Iron Law 3
246
- numbered-options block in [`roadmap-progress-sync`](../../rules/roadmap-progress-sync.md)):
247
-
248
- - **`status: draft`** → hidden from `agents/roadmaps-progress.md`
249
- until flipped. Use for items the user wants captured but not
250
- surfaced to the active backlog yet.
251
- - **`status: ready` (default; omit the key)** plus body
252
- `> Blocked until …` note → visible in the dashboard, execution
253
- gated by the documented condition. The blocking is a body
254
- convention, not enforced by the dashboard generator — readers
255
- honor the note.
256
-
257
- The follow-up roadmap is **not** authored from scratch — the
258
- deferred steps are copied verbatim (with their phase context). This
259
- preserves the plan exactly as the author originally wrote it.
231
+ follow-up. Authors and reviewers must know the shape so they can recognise it:
232
+ the frontmatter template, the two states the author picks between
233
+ (`status: draft`, hidden from the dashboard, vs the default `status: ready`
234
+ plus a body `> Blocked until …` note), and the rule that deferred steps are
235
+ copied verbatim rather than re-authored →
236
+ [`references/follow-up-roadmap-shape.md`](references/follow-up-roadmap-shape.md).
260
237
 
261
238
  ### 8. Source-derived & capability-adoption roadmaps (conditional)
262
239
 
@@ -311,6 +288,11 @@ to every roadmap you author.
311
288
  3. Are checkboxes present in every non-intro phase?
312
289
  4. Are exit criteria decidable, or vibe-based ("looks good")?
313
290
  5. Is content duplicated from another roadmap (supersession instead)?
291
+ 5b. Does the frontmatter carry a `relates:` block — one row per probe hit with
292
+ an `extends`/`supersedes`/`depends`/`disjoint` relation, or an explicit
293
+ `relates: []` whose note carries the probe's `scanned:` line? A `relates:`
294
+ list written by reflex is worse than none: the empty case must be genuinely
295
+ empty, not unexamined.
314
296
  6. Any human-gate steps or sign-off phases (§ 4c violation) —
315
297
  agent-verifiable check or structured blocker instead?
316
298
  7. *Source-derived/adoption only (§ 8):* is there a `KEEP`/`FOLD`/`CUT`
@@ -0,0 +1,47 @@
1
+ # roadmap-writing — follow-up roadmap shape
2
+
3
+ > Mode body of the [`roadmap-writing`](../SKILL.md) skill (router-head
4
+ > retrofit, 2026-08-23 — SKILL.md reached the K6 400-line cap). Content moved
5
+ > VERBATIM from SKILL.md § 7; load this file when § 7 routes here.
6
+
7
+ When a parent roadmap closes with `[~]` items, the
8
+ [`roadmap-management`](../../roadmap-management/SKILL.md) skill spawns a
9
+ follow-up. Authors and reviewers must know the shape so they can
10
+ recognise it:
11
+
12
+ ```markdown
13
+ ---
14
+ complexity: lightweight
15
+ status: draft # optional — draft hides from dashboard
16
+ parent_roadmap: <parent-slug> # back-link to the archived source
17
+ ---
18
+
19
+ # Roadmap: Follow-up to <parent-title>
20
+
21
+ > <One sentence: carried-over outcome.>
22
+
23
+ ## Context
24
+
25
+ This roadmap collects items deferred from
26
+ [`agents/roadmaps/archive/<parent-slug>.md`](../archive/<parent-slug>.md).
27
+ { … original phases preserved verbatim … }
28
+
29
+ <!-- For option 2 (ready + blocked), add this as a body note, NOT in frontmatter: -->
30
+ > Blocked until <condition>. Execution starts when the condition clears.
31
+ ```
32
+
33
+ Two states the author picks between (mirrors the Iron Law 3
34
+ numbered-options block in [`roadmap-progress-sync`](../../../rules/roadmap-progress-sync.md)):
35
+
36
+ - **`status: draft`** → hidden from `agents/roadmaps-progress.md`
37
+ until flipped. Use for items the user wants captured but not
38
+ surfaced to the active backlog yet.
39
+ - **`status: ready` (default; omit the key)** plus body
40
+ `> Blocked until …` note → visible in the dashboard, execution
41
+ gated by the documented condition. The blocking is a body
42
+ convention, not enforced by the dashboard generator — readers
43
+ honor the note.
44
+
45
+ The follow-up roadmap is **not** authored from scratch — the
46
+ deferred steps are copied verbatim (with their phase context). This
47
+ preserves the plan exactly as the author originally wrote it.
@@ -3,6 +3,9 @@ model_tier: medium
3
3
  name: rtk-output-filtering
4
4
  description: "Use when running verbose CLI commands — wraps them with rtk (Rust Token Killer, third-party Apache-2.0; upstream reports 60-90% token savings). Covers installation, configuration, and usage patterns."
5
5
  domain: process
6
+ scope:
7
+ write: []
8
+ verification_reason: "this skill wraps another command's stdout; it has no output path of its own. Absence of a write is not something a command can prove."
6
9
  execution:
7
10
  type: assisted
8
11
  handler: shell
@@ -28,12 +31,25 @@ commands through intelligent output filtering (whitespace, boilerplate,
28
31
  comments, duplicate log messages). Single Rust binary, <10ms startup overhead.
29
32
  **Third-party Apache-2.0 tool** (rtk-ai upstream — an external project, not part of this package).
30
33
 
31
- **Savings, honestly stated:** upstream reports 60-90% (their estimate —
32
- "actual savings vary"). agent-config's own scoped spot-measurement
33
- (2026-07-28, one repo, one macOS machine, 8-command corpus) landed at
34
- **33% overall, 0-57% per command** — verbose commands (`git status`,
35
- `git log`, `ls -la`) save ~55%, already-compact output (`--oneline`,
36
- `--stat`) passes through at ~0%. See `internal/bench/rtk-savings/RESULTS.md`.
34
+ **Savings — STALE, and scoped. Do not quote the number without this label.**
35
+ Upstream reports 60-90% (their estimate — "actual savings vary").
36
+ agent-config's own figure is **33% overall, 0-57% per command**, and it is a
37
+ **single spot-measurement from 2026-07-28: one repo, one macOS machine, an
38
+ 8-command corpus.** It has **not** been superseded by a wider run, and the
39
+ widened re-bench is **deferred** — `road-to-terminal-token-economy` steps
40
+ 3.2-3.4. **The reason changed on 2026-08-23 and the label is updated with it:** the
41
+ original deferral was ordering (Phase 2 had not chosen the wrapper mechanism, so a
42
+ re-bench would measure the wrong subject). Phase 2 has now chosen — the existing
43
+ warn-only nudge — so that objection is discharged. What defers it now is the
44
+ re-bench's own registered design, which requires **at least two machines**, and only
45
+ one is reachable. A one-machine re-bench would reproduce exactly the narrowness the
46
+ widening exists to fix. AI council 2026-08-23, 2/2 convergent, on both readings.
47
+
48
+ Treat it as an order of magnitude for *that* corpus, never as this package's
49
+ general claim. Verbose commands (`git status`, `git log`, `ls -la`) save ~55%;
50
+ already-compact output (`--oneline`, `--stat`) passes through at ~0%, which is
51
+ why an overall percentage is meaningless without the corpus that produced it.
52
+ See `internal/bench/rtk-savings/RESULTS.md`.
37
53
 
38
54
  **Docs:** https://www.mintlify.com/rtk-ai/rtk
39
55
  **Repo:** https://github.com/rtk-ai/rtk
@@ -15,6 +15,9 @@ trust:
15
15
  level: professional
16
16
  install:
17
17
  removable: true
18
+ triggers:
19
+ - phrase: "cash runway"
20
+ - phrase: "burn rate"
18
21
  ---
19
22
 
20
23
  # runway-cognition
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  model_tier: inherit
3
3
  name: scene-expander
4
- description: "Use when expanding a one-line idea into the 12-block Cinematic Scene Blueprint — optional dialogue + ambient. Triggers 'expand this scene', 'blueprint for X'. 11-block refine → video-director."
4
+ description: "When expanding a one-line idea into the 12-block Cinematic Scene Blueprint — optional dialogue + ambient. Triggers 'expand this scene', 'blueprint for X'. 11-block refine → video-director."
5
5
  personas:
6
6
  - hollywood-director
7
7
  domain: product
@@ -82,6 +82,31 @@ blocks:
82
82
  target: negative
83
83
  description: "Clichés to reject, load-bearing top-first."
84
84
 
85
+ # Chain directives — NOT one of the 12 blocks.
86
+ #
87
+ # A block above describes the shot. A chain directive describes how this scene
88
+ # JOINS ITS NEIGHBOUR, which is a property of the assembly, not of the prompt —
89
+ # so it is listed separately and the blueprint stays a 12-block IR everywhere
90
+ # else in the tree. `parse-blueprint.sh` accepts the label like any other and
91
+ # emits the value at the top level; the chain itself is read by
92
+ # `scripts/ai-video/lib/seam-plan.sh`, which this file's parser never sees.
93
+ chain_directives:
94
+ CONTINUITY:
95
+ required: false
96
+ target: continuity
97
+ default: cut
98
+ values: [cut, handoff, connector]
99
+ description: >
100
+ How this scene joins the PREVIOUS one. `cut` is a hard cut and is the
101
+ value assumed when the label is absent, so every blueprint written before
102
+ this directive existed keeps its exact meaning. `handoff` means this
103
+ scene's ref_images[0] is the extracted last frame of the previous scene's
104
+ RENDERED clip rather than its own still, which forces the two clips to
105
+ render sequentially. `connector` is a handoff plus one extra bridging
106
+ clip, and needs a probed `end_frame: true` on both adjacent models.
107
+ An unknown value is a parse error naming the value — never a silent
108
+ downgrade to `cut`.
109
+
85
110
  # Adapter-contract JSON shape produced by parse-blueprint.sh
86
111
  output_shape: |
87
112
  {
@@ -102,6 +127,7 @@ output_shape: |
102
127
  },
103
128
  "duration": 5.0,
104
129
  "negative": ["...", "..."],
130
+ "continuity": "cut" | "handoff" | "connector",
105
131
  "requires": {
106
132
  "audio_native": true | false
107
133
  }
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  model_tier: medium
3
3
  name: secrets-management
4
- description: "Use when picking a secrets store, designing rotation, or wiring scanning gates — multi-cloud (Vault, AWS, Azure, GCP), CI, and Kubernetes — decision framework, provider deep-dives externalized."
4
+ description: "When picking a secrets store, designing rotation, or wiring scanning gates — multi-cloud (Vault, AWS, Azure, GCP), CI and Kubernetes — decision framework, provider deep-dives externalized."
5
5
  domain: devops
6
6
  status: active
7
7
  refresh_trigger: "A cited provider deprecates an auth method, OR External Secrets Operator ships a major version with breaking CRD changes, OR ≥30% of cited scanner tools change their gate semantics."
@@ -11,6 +11,10 @@ workspaces:
11
11
  - engineering
12
12
  packs:
13
13
  - engineering-base
14
+ triggers:
15
+ - phrase: "secret rotation"
16
+ - phrase: "secrets store"
17
+ - phrase: "secret scanning"
14
18
  ---
15
19
 
16
20
  # secrets-management
@@ -0,0 +1,159 @@
1
+ ---
2
+ model_tier: medium
3
+ name: server-hardening
4
+ description: "Use when hardening a Linux host you operate — SSH posture, a default-deny firewall baseline, and unattended security upgrades, each verified on the box rather than assumed from a config file."
5
+ domain: devops
6
+ workspaces:
7
+ - engineering
8
+ packs:
9
+ - engineering-base
10
+ ---
11
+
12
+ # server-hardening
13
+
14
+ ## When to use
15
+
16
+ Use when a host is yours to operate — a VPS, a bare-metal box, a long-lived VM —
17
+ and its own security posture is the question. Three surfaces: who may log in, what
18
+ may reach the network, and how patches arrive.
19
+
20
+ Do NOT use when:
21
+ - The workload runs on a managed runtime with no host you control — there is no
22
+ host posture to set, and `operational-readiness` records that as `unavailable`
23
+ with that reason
24
+ - Auditing application code for vulnerabilities (use `security-audit`)
25
+ - Application-level auth and authorization (use `security`, `authz-review`)
26
+ - Provisioning cloud infrastructure (use `terraform`, `aws-infrastructure`)
27
+ - Container image hardening (use `docker`)
28
+
29
+ ## The three surfaces
30
+
31
+ ### 1. SSH posture
32
+
33
+ The one remote-entry door. Harden in this order, and **keep an open session while
34
+ you change it** — a mistake here locks you out of the machine you are fixing.
35
+
36
+ | Setting | Target | Why |
37
+ |---|---|---|
38
+ | `PasswordAuthentication` | `no` | Ends credential-stuffing against the host outright |
39
+ | `PubkeyAuthentication` | `yes` | The replacement must work before passwords are removed |
40
+ | `PermitRootLogin` | `no` (or `prohibit-password`) | Forces an audit trail through a named account |
41
+ | `AllowUsers` / `AllowGroups` | Explicit allow-list | Default is every account on the box |
42
+ | Port | Non-default is optional | Cuts log noise, not risk — never the primary control |
43
+
44
+ Verify from a **second** connection before closing the first:
45
+
46
+ ```bash
47
+ sudo sshd -t # config parses; do this before reload
48
+ sudo systemctl reload ssh # or sshd, per distro
49
+ sudo sshd -T | grep -Ei 'passwordauth|permitrootlogin|pubkeyauth'
50
+ ```
51
+
52
+ `sshd -T` prints the **effective** configuration. A file under
53
+ `sshd_config.d/` or a `Match` block can override what you just edited, so the
54
+ file you wrote is not evidence — the effective dump is.
55
+
56
+ ### 2. Firewall baseline
57
+
58
+ Default-deny inbound, allow-list outbound where the workload permits.
59
+
60
+ ```bash
61
+ sudo ufw default deny incoming
62
+ sudo ufw default allow outgoing
63
+ sudo ufw allow OpenSSH # before enabling, or you are locked out
64
+ sudo ufw enable
65
+ sudo ufw status verbose # the verification, not the intent
66
+ ```
67
+
68
+ Two traps worth naming. A container runtime can write its own forwarding rules
69
+ that bypass the host firewall entirely — check the actual rule table
70
+ (`sudo iptables -S` / `sudo nft list ruleset`), not just the friendly front-end.
71
+ And a cloud security group sits *in front* of the host: both must agree, and the
72
+ narrower one is the effective policy.
73
+
74
+ Optionally add an SSH brute-force throttle (`fail2ban` or equivalent). It is
75
+ noise reduction and a small real gain once password auth is already off — never
76
+ a substitute for it.
77
+
78
+ ### 3. Unattended security upgrades
79
+
80
+ Patches that require a human are patches that arrive late.
81
+
82
+ ```bash
83
+ sudo apt install unattended-upgrades # Debian/Ubuntu family
84
+ sudo dpkg-reconfigure -plow unattended-upgrades
85
+ sudo unattended-upgrade --dry-run --debug # proves it would act
86
+ ```
87
+
88
+ Decide and record two things, because the default is silence: whether the host
89
+ **reboots automatically** when a patch needs it, and where the **failure
90
+ notification** goes. An upgrade timer that has been failing for six weeks is
91
+ indistinguishable from one that is working, unless something reports it.
92
+
93
+ Security patches only. Automatic *feature* upgrades change behaviour under you,
94
+ which is a different risk with a different owner.
95
+
96
+ ## Procedure: Harden a host
97
+
98
+ 1. **Confirm the host is yours to harden.** Managed runtime with no shell → stop;
99
+ there is no posture here, and that is a recordable `unavailable`.
100
+ 2. **Open a second session and keep it open** for the whole SSH and firewall
101
+ work. This is the entire rollback mechanism.
102
+ 3. **Set the SSH posture**, then verify with `sshd -T` from the second session —
103
+ effective config, not the file.
104
+ 4. **Set the firewall baseline**, allowing SSH *before* enabling. Verify with
105
+ `ufw status verbose` and against the raw rule table.
106
+ 5. **Enable unattended security upgrades**, then prove with `--dry-run` that it
107
+ would act. Record the reboot policy and the failure destination.
108
+ 6. **Re-verify from a fresh connection.** Close every old session and reconnect.
109
+ A posture that only holds inside an already-authenticated session is
110
+ unverified.
111
+ 7. **Report each surface as met, unmet or uninspected.** Uninspected is not met —
112
+ `operational-readiness` reads an uninspected host posture as a red.
113
+
114
+ ### Validate
115
+
116
+ - Verify `sshd -T` reports `passwordauthentication no`.
117
+ - Verify `sshd -T` reports `permitrootlogin no` or `prohibit-password`.
118
+ - Verify a key-based login succeeds from a **fresh** connection.
119
+ - Verify the firewall default is deny-inbound and SSH is explicitly allowed.
120
+ - Verify the raw rule table agrees with the front-end.
121
+ - Verify `unattended-upgrade --dry-run` reports it would act.
122
+ - Confirm the reboot policy and the failure-notification destination are recorded.
123
+
124
+ ## Output format
125
+
126
+ 1. One row per surface — SSH, firewall, unattended upgrades — with met / unmet /
127
+ uninspected and the verifying command's output.
128
+ 2. The reboot policy and where upgrade failures are reported.
129
+ 3. Anything left unmet, with what would close it.
130
+
131
+ ## Gotcha
132
+
133
+ - Changing SSH without a second open session is how a host becomes unreachable.
134
+ - The config file is not the posture. `sshd -T` is; a drop-in or `Match` block
135
+ silently wins.
136
+ - Enabling a firewall before allowing SSH locks you out immediately.
137
+ - A container runtime's own rules can bypass the host firewall.
138
+ - A cloud security group and the host firewall must both allow a port; the
139
+ narrower wins.
140
+ - A silently failing upgrade timer looks exactly like a working one.
141
+ - A non-default SSH port reduces log volume, not risk.
142
+
143
+ ## Do NOT
144
+
145
+ - Do NOT disable password authentication before a key login is proven to work.
146
+ - Do NOT enable the firewall before allowing SSH.
147
+ - Do NOT enable automatic feature upgrades — security patches only.
148
+ - Do NOT treat an installed package as an enabled control; prove it acts.
149
+ - Do NOT report an uninspected surface as met.
150
+ - Do NOT rely on a non-default port as a control.
151
+
152
+ ## Auto-trigger keywords
153
+
154
+ - server hardening
155
+ - host hardening
156
+ - ssh hardening
157
+ - firewall baseline
158
+ - unattended upgrades
159
+ - fail2ban
@@ -0,0 +1,17 @@
1
+ {
2
+ "skill": "server-hardening",
3
+ "last_eval": "2026-08-23",
4
+ "description": "5 should-trigger + 5 should-not-trigger. Should-trigger covers the three host surfaces — SSH posture, firewall baseline, unattended upgrades. Should-not-trigger covers the neighbours: application-code vulnerability work (security-audit), application authorization (authz-review), cloud provisioning (terraform, aws-infrastructure), container images (docker) and adjudicating the resulting posture (operational-readiness).",
5
+ "queries": [
6
+ {"q": "harden ssh on this server — disable password login", "trigger": true},
7
+ {"q": "set up a default-deny firewall baseline on the VPS", "trigger": true},
8
+ {"q": "how do I get automatic security patches on this box?", "trigger": true},
9
+ {"q": "should I install fail2ban on the host?", "trigger": true},
10
+ {"q": "host hardening checklist for a new bare-metal server", "trigger": true},
11
+ {"q": "audit this codebase for injection vulnerabilities", "trigger": false, "note": "application-code vulnerability sweep → security-audit"},
12
+ {"q": "can user A read user B's records through this endpoint?", "trigger": false, "note": "application authorization → authz-review"},
13
+ {"q": "write the Terraform for a new ECS service", "trigger": false, "note": "cloud provisioning → terraform / aws-infrastructure"},
14
+ {"q": "reduce the attack surface of this Dockerfile", "trigger": false, "note": "container image hardening → docker"},
15
+ {"q": "is the overall system ready to operate given the host posture?", "trigger": false, "note": "adjudicating the verdict → operational-readiness"}
16
+ ]
17
+ }
@@ -3,6 +3,9 @@ model_tier: inherit
3
3
  name: skill-improvement-pipeline
4
4
  description: "Run the skill-improvement pipeline after a learning was detected — capture, classify, create, validate, apply; explicit request only."
5
5
  domain: process
6
+ scope:
7
+ write: []
8
+ verification_reason: "execution.handler is internal, so this skill spawns no subprocess — writes happen through the agent's declared allowed_tools. No command can prove a scope the skill never executes."
6
9
  execution:
7
10
  type: assisted
8
11
  handler: internal
@@ -4,6 +4,9 @@ name: skill-management
4
4
  description: "Use when condensing, decondenseing, refactoring, or improving existing skills. Covers the full skill lifecycle from verbose → sharp → maintained."
5
5
  source: project
6
6
  domain: process
7
+ scope:
8
+ write: []
9
+ verification_reason: "execution.handler is internal, so this skill spawns no subprocess — writes happen through the agent's declared allowed_tools. No command can prove a scope the skill never executes."
7
10
  execution:
8
11
  type: assisted
9
12
  handler: internal
@@ -3,6 +3,9 @@ model_tier: high
3
3
  name: skill-reviewer
4
4
  description: "Use when reviewing, auditing, or optimizing skills — validates against the 7 Skill Killers checklist and produces fix recommendations."
5
5
  domain: quality
6
+ scope:
7
+ write: []
8
+ verification_reason: "execution.handler is internal, so this skill spawns no subprocess — writes happen through the agent's declared allowed_tools. No command can prove a scope the skill never executes."
6
9
  execution:
7
10
  type: assisted
8
11
  handler: internal
@@ -229,6 +229,12 @@ to every skill you author.
229
229
  - Per the post-action summary suppression, the example output ships
230
230
  the artifact, not a wrapping `## Status` / `## Summary` block.
231
231
 
232
+ **Scope-exclusion clause.** A skill can shed assumed-knowledge prose without
233
+ losing correctness by naming what it does NOT cover: "this skill covers only
234
+ `<X>`; standard `<Y>` is assumed". One sentence replaces the paragraph that
235
+ would otherwise re-teach `<Y>`, and it is stronger than silence — a reader who
236
+ does not have `<Y>` learns that from the clause instead of from a wrong result.
237
+
232
238
  **Pre-save self-check:**
233
239
  1. Does any procedure step open with "Let me", "Now I will", "Found
234
240
  it", "OK", or "Alright"?
@@ -11,6 +11,9 @@ trust:
11
11
  level: professional
12
12
  install:
13
13
  removable: true
14
+ scope:
15
+ write: []
16
+ verification_reason: "execution declares no handler, so this skill runs nothing of its own — every write is the calling agent's, under the rules that govern it. No command can prove a scope the skill never executes."
14
17
  execution:
15
18
  type: manual
16
19
  ---