@event4u/agent-config 8.1.0 → 8.3.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 (615) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/CHANGELOG.md +83 -292
  3. package/MIGRATION.md +18 -0
  4. package/README.md +86 -3
  5. package/dist/agent-src/commands/agents/init.md +3 -3
  6. package/dist/agent-src/commands/chat-history/import.md +5 -5
  7. package/dist/agent-src/commands/chat-history.md +1 -1
  8. package/dist/agent-src/commands/condense.md +1 -1
  9. package/dist/agent-src/commands/context/create.md +1 -1
  10. package/dist/agent-src/commands/council/analysis.md +2 -2
  11. package/dist/agent-src/commands/council/default.md +3 -3
  12. package/dist/agent-src/commands/council/design.md +2 -2
  13. package/dist/agent-src/commands/council/optimize.md +1 -1
  14. package/dist/agent-src/commands/council/pr.md +2 -2
  15. package/dist/agent-src/commands/council.md +1 -1
  16. package/dist/agent-src/commands/feature/plan.md +1 -1
  17. package/dist/agent-src/commands/ghostwriter/list.md +1 -1
  18. package/dist/agent-src/commands/ghostwriter/write.md +1 -1
  19. package/dist/agent-src/commands/ghostwriter.md +1 -1
  20. package/dist/agent-src/commands/implement-ticket.md +2 -2
  21. package/dist/agent-src/commands/judge/on-diff.md +1 -1
  22. package/dist/agent-src/commands/judge/steps.md +3 -1
  23. package/dist/agent-src/commands/memory/add.md +2 -2
  24. package/dist/agent-src/commands/memory/learn-low-impact.md +1 -1
  25. package/dist/agent-src/commands/memory/load.md +1 -1
  26. package/dist/agent-src/commands/memory/mine-session.md +1 -1
  27. package/dist/agent-src/commands/memory/promote.md +1 -1
  28. package/dist/agent-src/commands/memory/propose.md +1 -1
  29. package/dist/agent-src/commands/mission/upgrade.md +1 -1
  30. package/dist/agent-src/commands/module/explore.md +3 -3
  31. package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
  32. package/dist/agent-src/commands/optimize/skills.md +1 -1
  33. package/dist/agent-src/commands/optimize-project.md +1 -1
  34. package/dist/agent-src/commands/orchestrate.md +2 -2
  35. package/dist/agent-src/commands/project-analyze.md +1 -1
  36. package/dist/agent-src/commands/project-health.md +1 -1
  37. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  38. package/dist/agent-src/commands/roadmap/create.md +2 -2
  39. package/dist/agent-src/commands/roadmap/process-full.md +3 -1
  40. package/dist/agent-src/commands/roadmap/process-phase.md +4 -2
  41. package/dist/agent-src/commands/roadmap/process-step.md +3 -1
  42. package/dist/agent-src/commands/security-audit-config.md +1 -1
  43. package/dist/agent-src/commands/sync-agent-settings.md +7 -7
  44. package/dist/agent-src/commands/sync-gitignore/fix.md +3 -3
  45. package/dist/agent-src/commands/sync-gitignore.md +4 -4
  46. package/dist/agent-src/commands/work.md +3 -3
  47. package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
  48. package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
  49. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +1 -1
  50. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -7
  51. package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
  52. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +9 -4
  53. package/dist/agent-src/contexts/execution/toolchain-resolver.md +10 -9
  54. package/dist/agent-src/contexts/execution/verification-mechanics.md +13 -1
  55. package/dist/agent-src/packs/README.md +1 -1
  56. package/dist/agent-src/presets/README.md +1 -1
  57. package/dist/agent-src/profiles/README.md +1 -1
  58. package/dist/agent-src/rules/architecture.md +2 -2
  59. package/dist/agent-src/rules/context-hygiene.md +2 -2
  60. package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
  61. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
  62. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
  63. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
  64. package/dist/agent-src/rules/media-governance-routing.md +1 -1
  65. package/dist/agent-src/rules/no-roadmap-references.md +3 -3
  66. package/dist/agent-src/rules/preservation-guard.md +2 -2
  67. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
  68. package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
  69. package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
  70. package/dist/agent-src/rules/source-confidentiality.md +1 -1
  71. package/dist/agent-src/rules/telegraph-speak.md +1 -1
  72. package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
  73. package/dist/agent-src/rules/ui-audit-gate.md +1 -1
  74. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
  75. package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
  76. package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
  77. package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
  78. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
  79. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
  80. package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
  81. package/dist/agent-src/skills/api-design/SKILL.md +1 -1
  82. package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
  83. package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
  84. package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
  85. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
  86. package/dist/agent-src/skills/code-review/SKILL.md +3 -4
  87. package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
  88. package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
  89. package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
  90. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  91. package/dist/agent-src/skills/context-document/SKILL.md +1 -1
  92. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
  93. package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
  94. package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
  95. package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
  96. package/dist/agent-src/skills/database/SKILL.md +2 -1
  97. package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
  98. package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
  99. package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
  100. package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
  101. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
  102. package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
  103. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
  104. package/dist/agent-src/skills/flux/SKILL.md +10 -9
  105. package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
  106. package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
  107. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
  108. package/dist/agent-src/skills/livewire/SKILL.md +10 -9
  109. package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
  110. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
  111. package/dist/agent-src/skills/module-management/SKILL.md +2 -2
  112. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
  113. package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
  114. package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
  115. package/dist/agent-src/skills/premortem/SKILL.md +1 -1
  116. package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
  117. package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
  118. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
  119. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
  120. package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
  121. package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
  122. package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
  123. package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
  124. package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
  125. package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
  126. package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
  127. package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
  128. package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
  129. package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
  130. package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
  131. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  132. package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
  133. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
  134. package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
  135. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  136. package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
  137. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
  138. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
  139. package/dist/agent-src/templates/agent-settings.md +34 -25
  140. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
  141. package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
  142. package/dist/agent-src/templates/agents/proposal.example.md +4 -4
  143. package/dist/agent-src/templates/copilot-instructions.md +1 -1
  144. package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
  145. package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
  146. package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
  147. package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
  148. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
  149. package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
  150. package/dist/agent-src/templates/roadmaps.md +9 -4
  151. package/dist/agent-src/templates/rule.md +3 -3
  152. package/dist/agent-src/templates/scripts/README.md +6 -6
  153. package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
  154. package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
  155. package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
  156. package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
  157. package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
  158. package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
  159. package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
  160. package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
  161. package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
  162. package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
  163. package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
  164. package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  165. package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
  166. package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
  167. package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
  168. package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
  169. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
  170. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
  171. package/dist/agent-src/templates/skill.md +2 -2
  172. package/dist/cli/python/knowledge_ingest.js +24 -3
  173. package/dist/cli/python/knowledge_ingest.js.map +1 -1
  174. package/dist/cli/python/workspace_analytics.js +23 -3
  175. package/dist/cli/python/workspace_analytics.js.map +1 -1
  176. package/dist/cli/python/workspace_crypto.js +23 -3
  177. package/dist/cli/python/workspace_crypto.js.map +1 -1
  178. package/dist/cli/python/workspace_documents.js +23 -3
  179. package/dist/cli/python/workspace_documents.js.map +1 -1
  180. package/dist/cli/python/workspace_drive.js +24 -3
  181. package/dist/cli/python/workspace_drive.js.map +1 -1
  182. package/dist/cli/python/workspace_drive_health.js +23 -3
  183. package/dist/cli/python/workspace_drive_health.js.map +1 -1
  184. package/dist/cli/python/workspace_explain.js +23 -3
  185. package/dist/cli/python/workspace_explain.js.map +1 -1
  186. package/dist/cli/python/workspace_hosts.js +23 -3
  187. package/dist/cli/python/workspace_hosts.js.map +1 -1
  188. package/dist/cli/python/workspace_inbox.js +23 -3
  189. package/dist/cli/python/workspace_inbox.js.map +1 -1
  190. package/dist/cli/python/workspace_render.js +23 -3
  191. package/dist/cli/python/workspace_render.js.map +1 -1
  192. package/dist/cli/python/workspace_roles.js +23 -3
  193. package/dist/cli/python/workspace_roles.js.map +1 -1
  194. package/dist/cli/python/workspace_sessions.js +23 -3
  195. package/dist/cli/python/workspace_sessions.js.map +1 -1
  196. package/dist/cli/python/workspace_skills.js +23 -3
  197. package/dist/cli/python/workspace_skills.js.map +1 -1
  198. package/dist/cli/registry.js +2 -0
  199. package/dist/cli/registry.js.map +1 -1
  200. package/dist/discovery/deprecation-report.md +1 -1
  201. package/dist/discovery/discovery-manifest.json +118 -118
  202. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  203. package/dist/discovery/discovery-manifest.summary.md +2 -2
  204. package/dist/discovery/orphan-report.md +1 -1
  205. package/dist/discovery/packs.json +3 -3
  206. package/dist/discovery/trust-report.md +1 -1
  207. package/dist/discovery/workspaces.json +3 -3
  208. package/dist/install/install.mjs +647 -408
  209. package/dist/mcp/registry-manifest.json +3 -3
  210. package/dist/server/routes/settings.js +4 -4
  211. package/dist/server/routes/settings.js.map +1 -1
  212. package/dist/server/schemas/settings.js +1 -1
  213. package/dist/server/schemas/settings.js.map +1 -1
  214. package/docs/CLAIMS.md +2 -2
  215. package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
  216. package/docs/benchmark.md +40 -0
  217. package/docs/contracts/CHANGELOG-conventions.md +8 -5
  218. package/docs/contracts/branch-protection-policy.md +14 -5
  219. package/docs/contracts/mcp-phase-1-scope.md +75 -0
  220. package/docs/contracts/mcp-tool-inventory.md +22 -15
  221. package/docs/contracts/release-pr-gating.md +22 -11
  222. package/docs/contracts/skill-bundled-assets.md +2 -2
  223. package/docs/customization.md +1 -1
  224. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
  225. package/docs/decisions/ADR-111-canonical-glama-listing.md +97 -0
  226. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +92 -0
  227. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +201 -0
  228. package/docs/decisions/INDEX.md +3 -0
  229. package/docs/distribution/registry-submissions.md +1 -1
  230. package/docs/getting-started.md +8 -6
  231. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
  232. package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
  233. package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
  234. package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
  235. package/docs/guidelines/agent-infra/layered-settings.md +4 -4
  236. package/docs/guidelines/agent-infra/memory-access.md +19 -18
  237. package/docs/guidelines/agent-infra/naming.md +1 -1
  238. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
  239. package/docs/guidelines/agent-infra/role-contracts.md +1 -1
  240. package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
  241. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
  242. package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
  243. package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
  244. package/docs/guidelines/augment-portability-patterns.md +1 -1
  245. package/docs/installation.md +13 -14
  246. package/docs/mcp-server.md +32 -20
  247. package/docs/proof.md +1 -1
  248. package/docs/setup/mcp-cloud-endpoints.md +9 -2
  249. package/docs/setup/per-ide/claude-code.md +10 -4
  250. package/package.json +4 -3
  251. package/src/config/agent-settings.template.yml +31 -17
  252. package/src/config/host-capabilities.yml +25 -16
  253. package/src/config/profiles/balanced.ini +5 -3
  254. package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
  255. package/src/scripts/_cli/cmd_conformance.ts +23 -4
  256. package/src/scripts/_cli/cmd_doctor.ts +196 -8
  257. package/src/scripts/_cli/cmd_explain.ts +23 -4
  258. package/src/scripts/_cli/cmd_export.ts +23 -4
  259. package/src/scripts/_cli/cmd_fleet.ts +23 -4
  260. package/src/scripts/_cli/cmd_migrate.ts +23 -4
  261. package/src/scripts/_cli/cmd_preflight.ts +24 -4
  262. package/src/scripts/_cli/cmd_prune.ts +23 -4
  263. package/src/scripts/_cli/cmd_refresh.ts +23 -4
  264. package/src/scripts/_cli/cmd_settings_check.ts +23 -4
  265. package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
  266. package/src/scripts/_cli/cmd_sync.ts +23 -4
  267. package/src/scripts/_cli/cmd_uninstall.ts +45 -4
  268. package/src/scripts/_cli/cmd_update.ts +23 -4
  269. package/src/scripts/_cli/cmd_upgrade.ts +307 -17
  270. package/src/scripts/_cli/cmd_validate.ts +23 -4
  271. package/src/scripts/_cli/cmd_versions.ts +23 -4
  272. package/src/scripts/_dispatch.bash +62 -19
  273. package/src/scripts/_lib/claude_plugin.ts +83 -0
  274. package/src/scripts/_lib/claude_settings_hooks.ts +251 -0
  275. package/src/scripts/_lib/knowledge_global.ts +24 -2
  276. package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
  277. package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
  278. package/src/scripts/_lib/link_crypto.ts +24 -5
  279. package/src/scripts/_lib/pin_resolver.ts +24 -3
  280. package/src/scripts/adoption_report.ts +23 -4
  281. package/src/scripts/adoption_snapshot.ts +23 -1
  282. package/src/scripts/adoption_status.ts +23 -4
  283. package/src/scripts/adr/regenerate_index.ts +24 -3
  284. package/src/scripts/ai_council/airgap.ts +25 -2
  285. package/src/scripts/ai_council/compile_corpus.ts +24 -2
  286. package/src/scripts/ai_council/pricing.ts +11 -1
  287. package/src/scripts/analysis_freshness.ts +23 -4
  288. package/src/scripts/annotate_discovery.ts +23 -1
  289. package/src/scripts/apply_modules_config.ts +23 -4
  290. package/src/scripts/audit_adr_coverage.ts +23 -4
  291. package/src/scripts/audit_auto_rules.ts +23 -1
  292. package/src/scripts/audit_cloud_compatibility.ts +23 -4
  293. package/src/scripts/audit_command_surface.ts +23 -4
  294. package/src/scripts/audit_initial_context.ts +23 -3
  295. package/src/scripts/audit_likelihood.ts +23 -1
  296. package/src/scripts/audit_mcp_tools.ts +23 -3
  297. package/src/scripts/audit_overlap.ts +23 -1
  298. package/src/scripts/audit_skill_descriptions.ts +24 -2
  299. package/src/scripts/audit_skill_overlap.ts +23 -1
  300. package/src/scripts/audit_user_type_axis.ts +23 -4
  301. package/src/scripts/backfill_model_tier.ts +23 -4
  302. package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
  303. package/src/scripts/bench_ab_clone.ts +23 -1
  304. package/src/scripts/bench_ab_diff.ts +23 -1
  305. package/src/scripts/bench_ab_integrity.ts +23 -1
  306. package/src/scripts/bench_ab_run.ts +23 -2
  307. package/src/scripts/bench_ab_task_runner.ts +23 -1
  308. package/src/scripts/bench_ab_tracka_run.ts +23 -2
  309. package/src/scripts/bench_ab_v2_run.ts +23 -1
  310. package/src/scripts/bench_ab_v2_stats.ts +23 -1
  311. package/src/scripts/bench_baseline_ready.ts +23 -1
  312. package/src/scripts/bench_condense_memory.ts +23 -1
  313. package/src/scripts/bench_drift_check.ts +23 -2
  314. package/src/scripts/bench_matrix.ts +23 -4
  315. package/src/scripts/bench_per_tool.ts +23 -1
  316. package/src/scripts/bench_quality_run.ts +23 -2
  317. package/src/scripts/bench_rtk_savings.ts +23 -1
  318. package/src/scripts/bench_rule_load_latency.ts +23 -2
  319. package/src/scripts/bench_run.ts +23 -2
  320. package/src/scripts/bench_runner.ts +23 -1
  321. package/src/scripts/build_cloud_bundle.ts +23 -3
  322. package/src/scripts/build_discovery_manifest.ts +23 -4
  323. package/src/scripts/build_linear_digest.ts +23 -3
  324. package/src/scripts/build_mcp_registry_manifest.ts +23 -4
  325. package/src/scripts/build_rule_trigger_matrix.ts +23 -4
  326. package/src/scripts/capture_showcase_session.ts +23 -1
  327. package/src/scripts/chat_history.ts +24 -3
  328. package/src/scripts/check_always_budget.ts +23 -2
  329. package/src/scripts/check_artefact_checksums.ts +23 -4
  330. package/src/scripts/check_augment_description_cap.ts +23 -4
  331. package/src/scripts/check_augmentignore.ts +23 -4
  332. package/src/scripts/check_beta_review_markers.ts +23 -4
  333. package/src/scripts/check_cluster_patterns.ts +23 -4
  334. package/src/scripts/check_command_count_messaging.ts +23 -4
  335. package/src/scripts/check_comparison.ts +23 -1
  336. package/src/scripts/check_condensation.ts +24 -3
  337. package/src/scripts/check_condensed_paths.ts +23 -2
  338. package/src/scripts/check_context_paths.ts +23 -4
  339. package/src/scripts/check_council_config_location.ts +23 -4
  340. package/src/scripts/check_council_layout.ts +23 -4
  341. package/src/scripts/check_council_references.ts +23 -4
  342. package/src/scripts/check_discovery_determinism.ts +24 -4
  343. package/src/scripts/check_gate_paths.ts +23 -4
  344. package/src/scripts/check_generated_artefact_headers.ts +23 -4
  345. package/src/scripts/check_generator_output_coverage.ts +23 -4
  346. package/src/scripts/check_gitignore_freshness.ts +23 -4
  347. package/src/scripts/check_iron_law_prominence.ts +23 -4
  348. package/src/scripts/check_kernel_prefix_stability.ts +0 -0
  349. package/src/scripts/check_kernel_rule_bundle.ts +23 -4
  350. package/src/scripts/check_knowledge_cards.ts +23 -1
  351. package/src/scripts/check_md_language.ts +23 -4
  352. package/src/scripts/check_media_deps.ts +24 -1
  353. package/src/scripts/check_memory.ts +24 -2
  354. package/src/scripts/check_memory_proposal.ts +23 -4
  355. package/src/scripts/check_module_management_neutral.ts +23 -4
  356. package/src/scripts/check_no_conflict_markers.ts +23 -4
  357. package/src/scripts/check_no_external_sources.ts +23 -4
  358. package/src/scripts/check_no_local_settings_committed.ts +24 -4
  359. package/src/scripts/check_no_new_legacy_path.ts +23 -4
  360. package/src/scripts/check_no_roadmap_refs.ts +23 -4
  361. package/src/scripts/check_one_off_location.ts +23 -4
  362. package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
  363. package/src/scripts/check_portability.ts +24 -3
  364. package/src/scripts/check_proposal.ts +0 -0
  365. package/src/scripts/check_public_catalog_links.ts +23 -4
  366. package/src/scripts/check_public_links.ts +23 -4
  367. package/src/scripts/check_quality_regression.ts +23 -2
  368. package/src/scripts/check_references.ts +23 -4
  369. package/src/scripts/check_release_includes_discovery.ts +23 -4
  370. package/src/scripts/check_release_pr_shape.ts +23 -4
  371. package/src/scripts/check_release_published.ts +23 -4
  372. package/src/scripts/check_release_trunk_sync.ts +23 -4
  373. package/src/scripts/check_reply_consistency.ts +23 -4
  374. package/src/scripts/check_roadmap_trackable.ts +23 -4
  375. package/src/scripts/check_role_doc_links.ts +23 -4
  376. package/src/scripts/check_safety_floor_untouched.ts +24 -4
  377. package/src/scripts/check_site_links.ts +23 -1
  378. package/src/scripts/check_skill_gaps.ts +23 -1
  379. package/src/scripts/check_skill_requires.ts +23 -4
  380. package/src/scripts/check_structural_breaking.ts +24 -4
  381. package/src/scripts/check_surface_tiers.ts +23 -4
  382. package/src/scripts/check_template_pin_drift.ts +23 -4
  383. package/src/scripts/check_test_coverage_diff.ts +23 -4
  384. package/src/scripts/check_token_optimizer_freshness.ts +23 -4
  385. package/src/scripts/check_token_quality_golden.ts +23 -2
  386. package/src/scripts/check_token_regression.ts +23 -2
  387. package/src/scripts/check_tracked_but_ignored.ts +24 -4
  388. package/src/scripts/check_trigger_evals.ts +23 -4
  389. package/src/scripts/check_trunk_drift.ts +24 -1
  390. package/src/scripts/check_update_banner.ts +23 -4
  391. package/src/scripts/ci_summary.ts +23 -4
  392. package/src/scripts/ci_time_ratio.ts +23 -4
  393. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  394. package/src/scripts/compile_router.ts +23 -4
  395. package/src/scripts/condense.ts +30 -31
  396. package/src/scripts/condense_memory.ts +24 -2
  397. package/src/scripts/config/packs.ts +24 -4
  398. package/src/scripts/config/session_profiles.ts +23 -4
  399. package/src/scripts/context_hygiene_hook.ts +24 -3
  400. package/src/scripts/cost_by_conversation.ts +23 -4
  401. package/src/scripts/cost_summary.ts +23 -4
  402. package/src/scripts/council_cli.ts +35 -7
  403. package/src/scripts/council_prune.ts +25 -2
  404. package/src/scripts/cross_repo_retrieve.ts +23 -4
  405. package/src/scripts/discovery_stats.ts +23 -4
  406. package/src/scripts/evidence_report.ts +23 -1
  407. package/src/scripts/export_replay_corpus.ts +23 -2
  408. package/src/scripts/extract_audit_patterns.ts +23 -1
  409. package/src/scripts/first_run_gate_hook.ts +24 -3
  410. package/src/scripts/gen_discovery_baseline.ts +23 -4
  411. package/src/scripts/generate_capabilities_index.ts +24 -5
  412. package/src/scripts/generate_capability_matrix.ts +23 -4
  413. package/src/scripts/generate_catalog.ts +23 -1
  414. package/src/scripts/generate_command_flows.ts +23 -4
  415. package/src/scripts/generate_cookbook.ts +23 -4
  416. package/src/scripts/generate_index.ts +23 -4
  417. package/src/scripts/generate_ownership_matrix.ts +23 -1
  418. package/src/scripts/generate_pack_manifests.ts +24 -5
  419. package/src/scripts/generate_role_experiences_catalog.ts +23 -4
  420. package/src/scripts/hooks/block_no_verify.ts +23 -4
  421. package/src/scripts/hooks/design_slop_hook.ts +24 -3
  422. package/src/scripts/hooks/dispatch_hook.ts +47 -14
  423. package/src/scripts/hooks/replay_hook.ts +23 -2
  424. package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
  425. package/src/scripts/hooks_doctor.ts +23 -2
  426. package/src/scripts/hooks_status.ts +23 -2
  427. package/src/scripts/injection_scan_hook.ts +24 -5
  428. package/src/scripts/install +23 -4
  429. package/src/scripts/install.ts +102 -44
  430. package/src/scripts/inventory_abstraction_budget.ts +23 -1
  431. package/src/scripts/inventory_frontmatter.ts +23 -1
  432. package/src/scripts/inventory_meta_layers.ts +23 -1
  433. package/src/scripts/iron_law_sha.ts +23 -4
  434. package/src/scripts/janitor.ts +23 -4
  435. package/src/scripts/knowledge_global_cli.ts +24 -2
  436. package/src/scripts/linked_projects_list.ts +23 -4
  437. package/src/scripts/lint_agent_security.ts +23 -4
  438. package/src/scripts/lint_agent_skill_names.ts +23 -4
  439. package/src/scripts/lint_agents_layout.ts +23 -4
  440. package/src/scripts/lint_agents_md.ts +23 -4
  441. package/src/scripts/lint_archived_skills.ts +23 -4
  442. package/src/scripts/lint_artefact_frontmatter.ts +23 -4
  443. package/src/scripts/lint_bench_ab.ts +23 -4
  444. package/src/scripts/lint_bench_corpus.ts +23 -2
  445. package/src/scripts/lint_command_flow_coverage.ts +23 -4
  446. package/src/scripts/lint_command_routing.ts +23 -4
  447. package/src/scripts/lint_command_tiers.ts +23 -2
  448. package/src/scripts/lint_command_verbs.ts +23 -4
  449. package/src/scripts/lint_commit_subjects.ts +24 -4
  450. package/src/scripts/lint_confusables.ts +25 -5
  451. package/src/scripts/lint_context_spine_usage.ts +23 -4
  452. package/src/scripts/lint_discovery_manifest.ts +23 -4
  453. package/src/scripts/lint_discovery_vocabulary.ts +23 -4
  454. package/src/scripts/lint_empty_roadmaps.ts +23 -4
  455. package/src/scripts/lint_eval_freshness.ts +23 -4
  456. package/src/scripts/lint_examples.ts +23 -4
  457. package/src/scripts/lint_explain_trace.ts +23 -4
  458. package/src/scripts/lint_featured_skills.ts +0 -0
  459. package/src/scripts/lint_flows.ts +23 -4
  460. package/src/scripts/lint_framework_leakage.ts +23 -4
  461. package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
  462. package/src/scripts/lint_ghostwriter_source.ts +23 -4
  463. package/src/scripts/lint_glama_drift.ts +75 -0
  464. package/src/scripts/lint_global_paths.ts +23 -2
  465. package/src/scripts/lint_handoffs.ts +23 -4
  466. package/src/scripts/lint_hidden_unicode.ts +24 -5
  467. package/src/scripts/lint_hook_concern_budget.ts +23 -4
  468. package/src/scripts/lint_hook_manifest.ts +23 -2
  469. package/src/scripts/lint_instruction_smuggling.ts +25 -5
  470. package/src/scripts/lint_legal_pack.ts +23 -1
  471. package/src/scripts/lint_load_context.ts +23 -4
  472. package/src/scripts/lint_marketplace.ts +24 -3
  473. package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
  474. package/src/scripts/lint_mcp_config_security.ts +25 -5
  475. package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
  476. package/src/scripts/lint_media_policy_linkage.ts +23 -4
  477. package/src/scripts/lint_missions.ts +23 -4
  478. package/src/scripts/lint_model_tier_coverage.ts +23 -4
  479. package/src/scripts/lint_namespace.ts +23 -4
  480. package/src/scripts/lint_namespace_collisions.ts +23 -4
  481. package/src/scripts/lint_new_skill_gate.ts +23 -4
  482. package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
  483. package/src/scripts/lint_one_off_age.ts +23 -4
  484. package/src/scripts/lint_orchestration_dsl.ts +23 -4
  485. package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
  486. package/src/scripts/lint_pack_boundaries.ts +23 -4
  487. package/src/scripts/lint_pack_dependencies.ts +23 -2
  488. package/src/scripts/lint_pack_first_win.ts +23 -4
  489. package/src/scripts/lint_pack_risk_class.ts +23 -1
  490. package/src/scripts/lint_persona_governance.ts +23 -4
  491. package/src/scripts/lint_positioning.ts +23 -4
  492. package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
  493. package/src/scripts/lint_readme_jargon.ts +23 -4
  494. package/src/scripts/lint_readme_size.ts +23 -4
  495. package/src/scripts/lint_regression.ts +23 -4
  496. package/src/scripts/lint_roadmap_blockers.ts +23 -4
  497. package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
  498. package/src/scripts/lint_roadmap_complexity.ts +23 -4
  499. package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
  500. package/src/scripts/lint_role_experiences.ts +23 -4
  501. package/src/scripts/lint_rule_interactions.ts +23 -4
  502. package/src/scripts/lint_rule_tiers.ts +24 -3
  503. package/src/scripts/lint_showcase_sessions.ts +23 -4
  504. package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
  505. package/src/scripts/lint_skill_originality.ts +23 -4
  506. package/src/scripts/lint_skill_tools.ts +23 -4
  507. package/src/scripts/lint_subagent_determinism.ts +23 -4
  508. package/src/scripts/lint_ticket_buildable.ts +23 -4
  509. package/src/scripts/lint_topics_yaml.ts +23 -4
  510. package/src/scripts/lint_trust_coherence.ts +23 -4
  511. package/src/scripts/lint_value_dashboard.ts +23 -4
  512. package/src/scripts/lint_workflow_security.ts +23 -4
  513. package/src/scripts/lint_workspace_boundary.ts +23 -4
  514. package/src/scripts/mcp_exec/safety_envelope.ts +105 -0
  515. package/src/scripts/mcp_parity_smoke.ts +23 -2
  516. package/src/scripts/mcp_registry_submit.sh +14 -3
  517. package/src/scripts/mcp_render.ts +23 -4
  518. package/src/scripts/mcp_server/__main__.ts +6 -8
  519. package/src/scripts/mcp_server/consumer_tool_catalog.json +78 -3
  520. package/src/scripts/mcp_server/tools.ts +731 -0
  521. package/src/scripts/mcp_telemetry_health.ts +23 -4
  522. package/src/scripts/mcp_telemetry_query.ts +23 -4
  523. package/src/scripts/mcp_telemetry_store.ts +23 -4
  524. package/src/scripts/measure_augment_budget.ts +23 -1
  525. package/src/scripts/measure_density.ts +23 -1
  526. package/src/scripts/measure_frugality_savings.ts +23 -1
  527. package/src/scripts/measure_markitdown_lift.ts +23 -1
  528. package/src/scripts/measure_patterns.ts +23 -1
  529. package/src/scripts/measure_projection_bytes.ts +23 -1
  530. package/src/scripts/measure_rule_budget.ts +23 -4
  531. package/src/scripts/measure_skill_reduction.ts +23 -1
  532. package/src/scripts/memory_hash.ts +24 -2
  533. package/src/scripts/memory_lookup.ts +24 -2
  534. package/src/scripts/memory_report.ts +24 -2
  535. package/src/scripts/memory_signal.ts +24 -2
  536. package/src/scripts/memory_status.ts +26 -2
  537. package/src/scripts/migrate_command_suggestions.ts +23 -4
  538. package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
  539. package/src/scripts/migration_status.ts +25 -4
  540. package/src/scripts/mine_missing_guardrails.ts +23 -1
  541. package/src/scripts/mine_session.ts +23 -1
  542. package/src/scripts/minimal_safe_diff_hook.ts +24 -3
  543. package/src/scripts/new_skill.ts +23 -3
  544. package/src/scripts/onboarding_gate_hook.ts +24 -3
  545. package/src/scripts/parity/coverage_diff.ts +25 -3
  546. package/src/scripts/parity/phase_gate.ts +25 -4
  547. package/src/scripts/parity/replay.ts +25 -3
  548. package/src/scripts/pattern_share.ts +23 -4
  549. package/src/scripts/plan_physical_move.ts +23 -4
  550. package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
  551. package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
  552. package/src/scripts/prediction-pool/score_ev.ts +24 -3
  553. package/src/scripts/print_required_checks.ts +24 -4
  554. package/src/scripts/probe_host_compliance.ts +23 -2
  555. package/src/scripts/probe_projection_fidelity.ts +23 -1
  556. package/src/scripts/probe_skill_registration.ts +24 -2
  557. package/src/scripts/profile_staleness_hook.ts +24 -3
  558. package/src/scripts/profile_use.ts +23 -4
  559. package/src/scripts/project_thin_rules.ts +23 -3
  560. package/src/scripts/propose_modules_config.ts +23 -4
  561. package/src/scripts/prototype_lint_contradictions.ts +23 -1
  562. package/src/scripts/prove_pack_extractable.ts +23 -4
  563. package/src/scripts/readme_linter.ts +23 -3
  564. package/src/scripts/redact_hook_capture.ts +23 -4
  565. package/src/scripts/refine_ticket_detect.ts +23 -4
  566. package/src/scripts/release.ts +226 -43
  567. package/src/scripts/render_benchmark_composite.ts +23 -4
  568. package/src/scripts/render_benchmark_md.ts +23 -4
  569. package/src/scripts/roadmap_progress_hook.ts +46 -16
  570. package/src/scripts/run_skill_evals.ts +23 -4
  571. package/src/scripts/runtime_dispatcher.ts +23 -4
  572. package/src/scripts/runtime_registry.ts +23 -4
  573. package/src/scripts/score_skill_selection.ts +23 -1
  574. package/src/scripts/security_audit_config.ts +24 -5
  575. package/src/scripts/skill_collision_clusters.ts +23 -4
  576. package/src/scripts/skill_discovery.ts +23 -4
  577. package/src/scripts/skill_linter.ts +23 -2
  578. package/src/scripts/skill_preview.ts +23 -4
  579. package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
  580. package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
  581. package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
  582. package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
  583. package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
  584. package/src/scripts/skill_usage_collect.ts +23 -4
  585. package/src/scripts/smoke_path_resolution.ts +23 -4
  586. package/src/scripts/smoke_quickstart.ts +23 -4
  587. package/src/scripts/snapshot_agent_outputs.ts +23 -4
  588. package/src/scripts/spotcheck_thin_root.ts +23 -4
  589. package/src/scripts/sync_agent_settings.ts +23 -4
  590. package/src/scripts/sync_github_metadata.ts +23 -4
  591. package/src/scripts/sync_gitignore.ts +23 -4
  592. package/src/scripts/telegraph_stats.ts +23 -4
  593. package/src/scripts/tool_registry.ts +24 -4
  594. package/src/scripts/trigger_coverage.ts +23 -4
  595. package/src/scripts/update_counts.ts +23 -4
  596. package/src/scripts/update_prices.ts +23 -1
  597. package/src/scripts/validate_agent_settings.ts +23 -4
  598. package/src/scripts/validate_decision_engine.ts +23 -4
  599. package/src/scripts/validate_discovery_manifest.ts +23 -4
  600. package/src/scripts/validate_frontmatter.ts +23 -2
  601. package/src/scripts/validate_pack_yaml.ts +0 -0
  602. package/src/scripts/validate_safe_paths.ts +24 -4
  603. package/src/scripts/validate_telegraph_carveouts.ts +23 -4
  604. package/src/scripts/verify_before_complete_hook.ts +24 -3
  605. package/src/scripts/verify_physical_move.ts +23 -4
  606. package/src/scripts/wrapper_freshness_hook.ts +107 -8
  607. package/tests/fixtures/hooks/README.md +92 -0
  608. package/tests/fixtures/hooks/agent_error.json +7 -0
  609. package/tests/fixtures/hooks/post_tool_use.json +13 -0
  610. package/tests/fixtures/hooks/pre_compact.json +7 -0
  611. package/tests/fixtures/hooks/pre_tool_use.json +9 -0
  612. package/tests/fixtures/hooks/session_end.json +6 -0
  613. package/tests/fixtures/hooks/session_start.json +6 -0
  614. package/tests/fixtures/hooks/stop.json +6 -0
  615. package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
@@ -17,7 +17,7 @@ No quote rule. No strategy limit. Goal: place well.
17
17
 
18
18
  **Match (football):** Poisson on market xG ≈ 1.7 : 0.8.
19
19
 
20
- **Script-verified** (`score_ev.py --lh 1.7 --la 0.8 --exact 4 --diff 3 --tendency 2`):
20
+ **Script-verified** (`score_ev.ts --lh 1.7 --la 0.8 --exact 4 --diff 3 --tendency 2`):
21
21
 
22
22
  ```
23
23
  EV-max tip : 1:0 (EV 1.574)
@@ -65,7 +65,7 @@ Away 22%.
65
65
 
66
66
  **Reasoning:** N ≥ 100 and you behind → pure EV converges with the field, can't
67
67
  create the gap; target is **P(finish 1st)**, not E(points). Don't guess the
68
- variance: run `pool_winsim.py` with the pool's `N` and your `my_lead`. Shows
68
+ variance: run `pool_winsim.ts` with the pool's `N` and your `my_lead`. Shows
69
69
  P(win) collapsing under EV-max-everywhere, returns the **specific flips**
70
70
  (higher-variance scorelines on high-consensus matches) that raise P(win) most
71
71
  per unit EV given up.
@@ -132,7 +132,7 @@ medium.) **Not** team B — the modal-player trap.
132
132
 
133
133
  **Rule:** kicktipp 2 / 3 / 5 — tendency = 2, goal-difference = 3, exact = 5.
134
134
 
135
- **Matches (script-verified, `score_ev.py … --tendency 2 --diff 3 --exact 5`):**
135
+ **Matches (script-verified, `score_ev.ts … --tendency 2 --diff 3 --exact 5`):**
136
136
 
137
137
  | Match (λ) | EV-max | a high tip's EV | verdict |
138
138
  |---|---|---|---|
@@ -148,7 +148,7 @@ EV-max.** Adding goals — especially the underdog's — only shrinks the hit
148
148
  probability without protecting the diff/tendency points.
149
149
 
150
150
  **Known-good behaviour:** any 3:2 / 4:x / x:4 tip in the run → the grid wasn't
151
- run; `score_ev.py` is the gate. (Risk: low; correctness fixture, not strategy.)
151
+ run; `score_ev.ts` is the gate. (Risk: low; correctness fixture, not strategy.)
152
152
 
153
153
  ---
154
154
 
@@ -156,7 +156,7 @@ run; `score_ev.py` is the gate. (Risk: low; correctness fixture, not strategy.)
156
156
 
157
157
  **Rule:** kicktipp 2 / 3 / 5 (as Fixture 7).
158
158
 
159
- **Matches (script-verified, `score_ev.py … --tendency 2 --diff 3 --exact 5`):**
159
+ **Matches (script-verified, `score_ev.ts … --tendency 2 --diff 3 --exact 5`):**
160
160
 
161
161
  ```
162
162
  λ 1.0:1.0 -> EV-max 0:0 (1.196), 1:1 tied (1.196) # a draw IS the optimum
@@ -171,5 +171,5 @@ As λ rises past ~1.1 a one-goal win edges ahead, but the draw stays in the top
171
171
  tips. Grid surfaces this; intuition suppresses it.
172
172
 
173
173
  **Known-good behaviour:** a tip set with **near-zero draws across many
174
- low-scoring even matches** is a red flag — re-run `score_ev.py`, let the grid
174
+ low-scoring even matches** is a red flag — re-run `score_ev.ts`, let the grid
175
175
  decide, don't default every close game to 1:0.
@@ -86,7 +86,7 @@ does. Optimize each on expected points under its point weight.
86
86
 
87
87
  | Question type | Example | Method |
88
88
  |---|---|---|
89
- | **Outright winner** | "Who wins the tournament?" | Outright "to win" market, consensus per A; or `poisson_sim.py` `title_pct`. EV-max under the question's points. |
89
+ | **Outright winner** | "Who wins the tournament?" | Outright "to win" market, consensus per A; or `poisson_sim.ts` `title_pct`. EV-max under the question's points. |
90
90
  | **Group / stage** | "Who wins group X?", "Who advances?" | "To win group" / "to qualify" markets; or `advance_pct` from the simulator. |
91
91
  | **Finalists / matchup** | "Who reaches the final?" | "To reach final" market per team; simulator pairing is approximate — prefer the market. |
92
92
  | **Top scorer (player)** | "Tournament top scorer?" | "Top goalscorer" outright market, consensus per A; EV-max player (favourite unless rarity scoring rewards a longer shot). |
@@ -109,7 +109,7 @@ If the analysis surfaces a pattern worth preserving for future decisions:
109
109
  not a prediction; label scenarios as prospective.
110
110
  - Do NOT auto-promote memory candidates — `/memory propose` is the intake;
111
111
  `/memory promote` requires explicit human action and passes
112
- `check_memory_proposal.py`.
112
+ `check_memory_proposal.ts`.
113
113
 
114
114
  ## Gotchas
115
115
 
@@ -79,7 +79,7 @@ regulations, workflows, and edge cases that the agent needs to understand the pr
79
79
  3. **List `agents/reference/docs/`** — read detail docs for the specific topic you're working on.
80
80
  4. **Check module docs** — if working in a module, resolve `{module_root}` from
81
81
  `modules.root_paths` and `{agent_folder}` from `modules.agent_folder` (see
82
- `scripts/_lib/agent_settings.py::enumerate_modules()`), then check:
82
+ `scripts/_lib/agent_settings.ts::enumerate_modules()`), then check:
83
83
  - `{module_root}/{Module}/{agent_folder}/` — module-specific docs
84
84
  - `{module_root}/{Module}/{agent_folder}/settings/contexts/` — module-specific contexts (if exists)
85
85
  - `{module_root}/{Module}/{agent_folder}/settings/contexts/domain/` — module-specific domain knowledge (if exists)
@@ -23,6 +23,30 @@ Use this skill whenever running or configuring code quality tools:
23
23
  - **PHP**: PHPStan (static analysis), Rector (automated refactoring), ECS (coding standards)
24
24
  - **JS/TS**: Biome (linting + formatting), TypeScript compiler (type checking), Jest/Vitest (tests)
25
25
 
26
+ ## Execution policy — on demand only, never proactive
27
+
28
+ ```
29
+ NEVER RUN QUALITY TOOLS PROACTIVELY WHEN quality.local_auto_run IS
30
+ false OR MISSING (THE DEFAULT). DO NOT ASK WHETHER TO RUN THEM.
31
+ THE USER RUNS THEM MANUALLY. REMOTE CI IS THE AUTHORITATIVE GATE.
32
+ ```
33
+
34
+ Toolchains differ per language and project, often unknown to the agent —
35
+ discovery + execution burns time and tokens. Under the default, exactly
36
+ three triggers justify running a quality tool:
37
+
38
+ 1. **Explicit ask this turn** — user says so or invokes `/quality-fix`.
39
+ 2. **Concrete CI failure** — remote pipeline reports a failing check;
40
+ run exactly that failing check to reproduce and fix (`/fix:ci` is
41
+ the canonical flow).
42
+ 3. **New-gate carve-out** — change itself introduces a NEW CI gate,
43
+ smoke test, or test file; must run once locally to be proven.
44
+
45
+ `quality.local_auto_run: true` restores legacy autonomous behaviour
46
+ (run pipeline when work is ready for verification). When runs are
47
+ suppressed, completion message says *"quality gates delegated to
48
+ remote CI"* — never that the tools passed.
49
+
26
50
  ## Language detection
27
51
 
28
52
  Detect which tools to run based on **what files were changed**:
@@ -37,9 +61,9 @@ If both PHP and JS/TS files changed → run **both** pipelines.
37
61
 
38
62
  ## Related rules and guidelines
39
63
 
40
- - `verify-before-complete` rule — timing: run quality tools ONCE at the end, not after each edit
64
+ - `verify-before-complete` rule — no pass claims without fresh output; suppressed runs surfaced as "delegated to remote CI", never claimed
41
65
  - `php-coding` rule → PHPStan section — inline ignores, PHPDoc rules
42
- - `verify-before-complete` rule — must run quality checks before claiming work is done
66
+ - `contexts/execution/verification-mechanics.md` — Gate zero (`local_auto_run`) + timing when `true` (quality tools ONCE at the end, not after each edit)
43
67
  - [`testing-anti-patterns`](../testing-anti-patterns/SKILL.md) and
44
68
  [`process-anti-patterns.md`](../testing-anti-patterns/process-anti-patterns.md) —
45
69
  test-side rationalizations these tools cannot catch (e.g. "CI is red,
@@ -23,11 +23,12 @@ execution:
23
23
  # react-shadcn-ui
24
24
 
25
25
  > **Grounded stack guidance:** pull idiomatic Do/Don't + docs URLs via
26
- > `ground.py search --manifest <skills-root>/design-intelligence/data/manifest.json
26
+ > `./scripts-run <skills-root>/corpus-grounding/scripts/ground search
27
+ > --manifest <skills-root>/design-intelligence/data/manifest.json
27
28
  > --stack shadcn "<topic>"` (also `--stack react`, `--stack nextjs`). See
28
29
  > [`design-intelligence`](../design-intelligence/SKILL.md).
29
30
 
30
- ## Component installer — `scripts/shadcn_add.py` (gated, assisted)
31
+ ## Component installer — `scripts/shadcn_add.ts` (gated, assisted)
31
32
 
32
33
  Bundled installer (Apache-2.0-derived, see header + `design-intelligence/ATTRIBUTION.md`)
33
34
  wraps `npx shadcn@latest add <components>` — **the only subprocess+network
@@ -47,14 +48,14 @@ block above:
47
48
  ## Compatibility
48
49
 
49
50
  - **Tested against:** `shadcn@2.1`, Tailwind CSS `3.x`, React `18+`.
50
- - The audit step (`directives/ui/audit.py`) reads the line above and
51
+ - The audit step (`directives/ui/audit.ts`) reads the line above and
51
52
  compares it with `state.ui_audit.shadcn_inventory.version`; a major
52
53
  mismatch triggers a soft halt before this skill runs.
53
54
 
54
55
  ## When to use
55
56
 
56
- Use when `state.stack.frontend == "react-shadcn"` and `directives/ui/apply.py`,
57
- `review.py`, or `polish.py` dispatches to this skill, or when a React project
57
+ Use when `state.stack.frontend == "react-shadcn"` and `directives/ui/apply.ts`,
58
+ `review.ts`, or `polish.ts` dispatches to this skill, or when a React project
58
59
  clearly uses shadcn/ui (presence of `components.json`, `@radix-ui/*`
59
60
  dependencies, a `components/ui/` folder of generated primitives).
60
61
 
@@ -216,8 +217,8 @@ Default path = bundled `scripts/shadcn_add.ts` + `components.json`; works on mos
216
217
 
217
218
  ### Review pass — a11y findings + preview envelope
218
219
 
219
- When this skill is dispatched by `directives/ui/review.py` (test slot)
220
- or `directives/ui/polish.py` (verify slot) — i.e. a review/polish run,
220
+ When this skill is dispatched by `directives/ui/review.ts` (test slot)
221
+ or `directives/ui/polish.ts` (verify slot) — i.e. a review/polish run,
221
222
  not the initial apply — it also emits:
222
223
 
223
224
  - `state.ui_review.a11y` — `{violations: [{rule, selector, severity}, ...],
@@ -23,7 +23,7 @@ import { spawnSync } from 'node:child_process';
23
23
  import * as fs from 'node:fs';
24
24
  import * as path from 'node:path';
25
25
  import process from 'node:process';
26
- import { pathToFileURL } from 'node:url';
26
+ import { fileURLToPath, pathToFileURL } from 'node:url';
27
27
 
28
28
  export class ShadcnInstaller {
29
29
  projectRoot: string;
@@ -226,7 +226,7 @@ function _calledProcessError(cmd: string[], status: number | null, signal: strin
226
226
  return `Command ${cmdRepr} returned non-zero exit status ${status}.`;
227
227
  }
228
228
 
229
- const PROG = 'shadcn_add.py';
229
+ const PROG = 'shadcn_add';
230
230
 
231
231
  const HELP =
232
232
  `usage: ${PROG} [-h] [--all] [--overwrite] [--dry-run] [--list]\n` +
@@ -249,22 +249,22 @@ const HELP =
249
249
  '\n' +
250
250
  'Examples:\n' +
251
251
  ' # Add single component\n' +
252
- ' python shadcn_add.py button\n' +
252
+ ' ./scripts-run <skills-root>/react-shadcn-ui/scripts/shadcn_add button\n' +
253
253
  '\n' +
254
254
  ' # Add multiple components\n' +
255
- ' python shadcn_add.py button card dialog\n' +
255
+ ' ./scripts-run <skills-root>/react-shadcn-ui/scripts/shadcn_add button card dialog\n' +
256
256
  '\n' +
257
257
  ' # Add all components\n' +
258
- ' python shadcn_add.py --all\n' +
258
+ ' ./scripts-run <skills-root>/react-shadcn-ui/scripts/shadcn_add --all\n' +
259
259
  '\n' +
260
260
  ' # Overwrite existing components\n' +
261
- ' python shadcn_add.py button --overwrite\n' +
261
+ ' ./scripts-run <skills-root>/react-shadcn-ui/scripts/shadcn_add button --overwrite\n' +
262
262
  '\n' +
263
263
  ' # Dry run (show what would be done)\n' +
264
- ' python shadcn_add.py button card --dry-run\n' +
264
+ ' ./scripts-run <skills-root>/react-shadcn-ui/scripts/shadcn_add button card --dry-run\n' +
265
265
  '\n' +
266
266
  ' # List installed components\n' +
267
- ' python shadcn_add.py --list\n' +
267
+ ' ./scripts-run <skills-root>/react-shadcn-ui/scripts/shadcn_add --list\n' +
268
268
  ' \n';
269
269
 
270
270
  const USAGE =
@@ -380,9 +380,30 @@ export function main(argv: string[] = process.argv.slice(2)): number {
380
380
  return success ? 0 : 1;
381
381
  }
382
382
 
383
+ function _isCliEntry(): boolean {
384
+ if (process.argv[1] === undefined) {
385
+ return false;
386
+ }
387
+ const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
388
+ if (import.meta.url === argvUrl) {
389
+ return true;
390
+ }
391
+ // A symlinked invocation (e.g. via an installed `.augment/` projection,
392
+ // or macOS /var → /private/var temp dirs) makes the raw URLs differ:
393
+ // import.meta.url is the resolved real path while argv[1] keeps the
394
+ // symlink path. Compare realpaths so the entry guard still fires
395
+ // (without this the CLI silently no-ops when run through a symlink).
396
+ try {
397
+ const here = fs.realpathSync(fileURLToPath(import.meta.url));
398
+ const argv = fs.realpathSync(path.resolve(process.argv[1]));
399
+ return here === argv;
400
+ } catch {
401
+ return false;
402
+ }
403
+ }
404
+
383
405
  const _invokedDirectly =
384
- process.argv[1] !== undefined &&
385
- import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
406
+ _isCliEntry();
386
407
  if (_invokedDirectly) {
387
408
  process.exitCode = main();
388
409
  }
@@ -51,7 +51,7 @@ plan, does not implement, does not write back anywhere.
51
51
  ## Input
52
52
 
53
53
  Exactly one path: a non-empty raw string carried in
54
- `state.input.data.raw` (built by [`work_engine.resolvers.prompt`](../../templates/scripts/work_engine/resolvers/prompt.py)).
54
+ `state.input.data.raw` (built by [`work_engine/resolvers/prompt.ts`](../../templates/scripts/work_engine/resolvers/prompt.ts)).
55
55
  No branch detection, no URL parsing, no clipboard fallback — the
56
56
  calling command (`/work`) owns prompt capture; this skill only refines.
57
57
 
@@ -160,20 +160,20 @@ step 3 — never both implicit.
160
160
 
161
161
  ### 5. Score confidence
162
162
 
163
- Delegate to [`scripts.work_engine.scoring.confidence`](../../templates/scripts/work_engine/scoring/confidence.py):
163
+ Delegate to [`work_engine/scoring/confidence.ts`](../../templates/scripts/work_engine/scoring/confidence.ts):
164
164
 
165
- ```python
166
- from work_engine.scoring.confidence import score
167
- result = score(raw=prompt_raw, ac=reconstructed_ac, assumptions=assumptions)
168
- # result.band ∈ {"high", "medium", "low"}
169
- # result.score ∈ [0.0, 1.0]
170
- # result.dimensions: dict[str, int] # 0–2 per dimension
171
- # result.reasons: list[str] # human-readable rationale
165
+ ```ts
166
+ import { score } from './work_engine/scoring/confidence.js';
167
+ const result = score({ raw: promptRaw, ac: reconstructedAc, assumptions });
168
+ // result.band ∈ {"high", "medium", "low"}
169
+ // result.score ∈ [0.0, 1.0]
170
+ // result.dimensions: Record<string, number> // 0–2 per dimension
171
+ // result.reasons: string[] // human-readable rationale
172
172
  ```
173
173
 
174
174
  The rubric (5 dimensions × 0–2, sum / 10) and band thresholds
175
175
  (`high ≥ 0.8`, `medium 0.5–0.79`, `low < 0.5`) are owned by
176
- `confidence.py`. Do not re-derive them in prose.
176
+ `confidence.ts`. Do not re-derive them in prose.
177
177
 
178
178
  ### 6. Self-review (3-scan checklist)
179
179
 
@@ -187,7 +187,7 @@ Source: adapted from an external reference `writing-plans/SKILL.md` § Self-Revi
187
187
 
188
188
  ## Band-action mapping
189
189
 
190
- The `refine` dispatcher step in `directives/backend/refine.py` reads
190
+ The `refine` dispatcher step in `directives/backend/refine.ts` reads
191
191
  the score and returns one of three outcomes — the skill does not
192
192
  decide the action, only produces the inputs.
193
193
 
@@ -267,7 +267,7 @@ For `low`, the question replaces the AC list:
267
267
  verbatim for replay; reconstructed output lands in
268
268
  `data.reconstructed_ac` and `data.assumptions`.
269
269
  - Do NOT re-derive band thresholds in prose. They live in
270
- `confidence.py` and only there.
270
+ `confidence.ts` and only there.
271
271
  - Do NOT read source files, `.env*`, secrets, or arbitrary user
272
272
  files when stack-detecting in mini / max mode. The allowlist
273
273
  above (`package.json`, `composer.json`, `pyproject.toml`,
@@ -284,8 +284,8 @@ For `low`, the question replaces the AC list:
284
284
 
285
285
  - [`refine-ticket`](../refine-ticket/SKILL.md) — sibling for ticket-shaped input
286
286
  - [`prompt-optimizer`](../prompt-optimizer/SKILL.md) — engine-outbound sibling; same `prompt_optimization` setting controls its mode
287
- - [`work_engine.resolvers.prompt`](../../templates/scripts/work_engine/resolvers/prompt.py) — envelope builder
288
- - [`work_engine.scoring.confidence`](../../templates/scripts/work_engine/scoring/confidence.py) — rubric + band thresholds
287
+ - [`work_engine/resolvers/prompt.ts`](../../templates/scripts/work_engine/resolvers/prompt.ts) — envelope builder
288
+ - [`work_engine/scoring/confidence.ts`](../../templates/scripts/work_engine/scoring/confidence.ts) — rubric + band thresholds
289
289
  - [`ask-when-uncertain`](../../rules/ask-when-uncertain.md) — one-question-per-turn Iron Law
290
290
  - [`artifact-drafting-protocol`](../../rules/artifact-drafting-protocol.md) — this skill was drafted under it
291
291
  - AI Council session: `agents/runtime/council/responses/prompt-master-mini.json` (2026-05-17) — analysis behind the mini/max split and `/raw` bypass <!-- council-ref-allowed: ADR decision trace -->
@@ -105,17 +105,14 @@ bullets + body.
105
105
  **Auto-fetch parent (Phase F4).** Before detection, check the
106
106
  issue type and fold parent context in:
107
107
 
108
- ```python
109
- from scripts.refine_ticket_detect import (
110
- issuetype_needs_parent, fold_parent_context,
111
- )
112
-
113
- if issuetype_needs_parent(ticket["issuetype"]):
114
- parent_key = ticket["parent_key"] # from `fields.parent.key`
115
- parent = fetch_jira_issue(parent_key) # +1 API call
116
- ticket_body = fold_parent_context(
117
- ticket_body, parent_body=parent["body"], parent_key=parent_key,
118
- )
108
+ ```ts
109
+ import { issuetype_needs_parent, fold_parent_context } from 'scripts/refine_ticket_detect.js';
110
+
111
+ if (issuetype_needs_parent(ticket.issuetype)) {
112
+ const parentKey = ticket.parent_key; // from `fields.parent.key`
113
+ const parent = fetch_jira_issue(parentKey); // +1 API call
114
+ ticketBody = fold_parent_context(ticketBody, parent.body, parentKey);
115
+ }
119
116
  ```
120
117
 
121
118
  Rules:
@@ -146,9 +143,9 @@ logic in prose:
146
143
 
147
144
  ```bash
148
145
  ./agent-config refine-ticket:detect <ticket-body-file>
149
- # or, inside the skill run:
150
- from scripts.refine_ticket_detect import detect, load_map
151
- decision = detect(ticket_body, load_map(), cwd=Path.cwd())
146
+ # or, inside the skill run (scripts/refine_ticket_detect.ts):
147
+ # import { detect, load_map } from 'scripts/refine_ticket_detect.js';
148
+ # const decision = detect(ticketBody, load_map(), process.cwd());
152
149
  ```
153
150
 
154
151
  The helper consumes [`detection-map.yml`](detection-map.yml) (co-located
@@ -179,8 +176,8 @@ risks instead of inventing terms.
179
176
 
180
177
  The match lists and `require_count` thresholds are owned by
181
178
  `detection-map.yml` — edit the map, not this skill. Tests:
182
- [`tests/test_refine_ticket_detect.py`](../../../tests/test_refine_ticket_detect.py)
183
- (17 cases, DE + EN fixtures, repo-aware + graceful-degrade coverage).
179
+ [`tests/scripts/refine_ticket_detect.test.ts`](../../../tests/scripts/refine_ticket_detect.test.ts)
180
+ (DE + EN fixtures, repo-aware + graceful-degrade coverage).
184
181
 
185
182
  ### 3. Orchestrate
186
183
 
@@ -279,17 +276,19 @@ Source: adapted from an external reference `writing-plans/SKILL.md` § Self-Revi
279
276
  **Probe write access first (Phase F6).** Before rendering, do a
280
277
  cheap upfront check:
281
278
 
282
- ```python
283
- from scripts.refine_ticket_detect import render_close_prompt
279
+ ```ts
280
+ import { render_close_prompt } from 'scripts/refine_ticket_detect.js';
284
281
 
285
- try:
286
- me = jira_get("/myself") # existence → auth works
287
- meta = jira_get(f"/issue/{key}/editmeta")# fields → write access
288
- write = bool(meta.get("fields"))
289
- except Exception:
290
- write = None # probe itself failed
282
+ let write: boolean | null;
283
+ try {
284
+ const me = jira_get('/myself'); // existence → auth works
285
+ const meta = jira_get(`/issue/${key}/editmeta`); // fields → write access
286
+ write = Boolean(meta.fields);
287
+ } catch {
288
+ write = null; // probe itself failed
289
+ }
291
290
 
292
- print(render_close_prompt(write))
291
+ console.log(render_close_prompt(write));
293
292
  ```
294
293
 
295
294
  Behaviour:
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Declares which sub-skills fire on which ticket-body signals.
4
4
  # Consumed by:
5
- # - scripts/refine_ticket_detect.py (deterministic helper, pytest-covered)
5
+ # - scripts/refine_ticket_detect.ts (deterministic helper, vitest-covered)
6
6
  # - the refine-ticket skill's Step 2 (cites this file, never re-derives)
7
7
  #
8
8
  # Schema:
@@ -60,13 +60,12 @@ using [`reviewer-awareness`](../../rules/reviewer-awareness.md).
60
60
  **Also** pull agent-written signals via the shared abstraction (see
61
61
  [`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md)):
62
62
 
63
- ```python
64
- from scripts.memory_lookup import retrieve
65
- extra = retrieve(
66
- types=["ownership", "historical-patterns", "incident-learnings"],
67
- keys=<changed file paths>,
68
- limit=5,
69
- )
63
+ ```bash
64
+ agent-config memory:lookup \
65
+ --types ownership,historical-patterns,incident-learnings \
66
+ --key <changed file path> \
67
+ --limit 5
68
+ # Repeat --key per changed path.
70
69
  ```
71
70
 
72
71
  Treat `source: "curated"` as equal-trust to the project YAML.
@@ -88,7 +88,7 @@ Common shapes:
88
88
  - Symfony bundles — `src/Bundle/{Bundle}/agents/roadmaps/`
89
89
  - Node / Python / Go monorepo packages — `packages/{Pkg}/agents/roadmaps/`
90
90
 
91
- Use `scripts/_lib/agent_settings.py::enumerate_modules()` to discover the
91
+ Use `scripts/_lib/agent_settings.ts::enumerate_modules()` to discover the
92
92
  actual paths in the current project; never assume `app/Modules/`.
93
93
 
94
94
  The file `.augment/templates/roadmaps.md` defines the canonical structure.
@@ -152,11 +152,16 @@ Every roadmap follows this structure:
152
152
  ### Quality gates
153
153
 
154
154
  Every roadmap implicitly includes the project's quality pipeline
155
- (static analysis, autofixes, tests). What's configurable is **when**
156
- the pipeline runs during `/roadmap:process-step|phase|full`,
157
- controlled by `roadmap.quality_cadence` in `.agent-settings.yml`:
158
-
159
- | Cadence | Pipeline runs | Trade-off |
155
+ (static analysis, autofixes, tests). Whether the agent runs it locally
156
+ at all is gated by `quality.local_auto_run`: `false` or missing (the
157
+ default) → agent never runs the pipeline locally; user runs it
158
+ manually, remote CI on the PR is the authoritative gate (run-end
159
+ report: *"quality gates delegated to remote CI"*; new-gate carve-out
160
+ steps still run once). When `local_auto_run: true`, **when** the
161
+ pipeline runs during `/roadmap:process-step|phase|full` is controlled
162
+ by `roadmap.quality_cadence` in `.agent-settings.yml`:
163
+
164
+ | Cadence | Pipeline runs (`local_auto_run: true` only) | Trade-off |
160
165
  |---|---|---|
161
166
  | `end_of_roadmap` (default) | Once before archiving | Fastest, fewest tokens; errors compound across phases |
162
167
  | `per_phase` | After every completed phase + final | Balanced; catches drift at phase boundaries |
@@ -31,7 +31,7 @@ Do NOT use this skill for:
31
31
 
32
32
  **Threshold-lift is forbidden.** When the budget breaches, the
33
33
  content must shrink — not the gate. Loosening `FAIL_THRESHOLD` in
34
- `scripts/measure_augment_budget.py` to make CI pass is an explicit
34
+ `scripts/measure_augment_budget.ts` to make CI pass is an explicit
35
35
  anti-pattern. The only valid budget-growth move is an ADR that
36
36
  raises `TOTAL_CAP`.
37
37
 
@@ -101,11 +101,11 @@ fail `./scripts-run src/scripts/lint_load_context`. Canonical reference:
101
101
  | `triggers[].path_prefix:` | **Literal match pattern** the host evaluates against the file the agent is editing — not rewritten | `src/skills/` (source-of-truth rules) or `agents/`, `app/`, `.augment/` |
102
102
  | Body links to guidelines / contracts | **Verbatim relative form** — `../../docs/...` works in any markdown viewer; rewriter handles depth | `[guideline](../../docs/guidelines/<group>/<name>.md)` |
103
103
 
104
- The condense-time rewriter (`scripts/condense.py::_rewrite_paths`) is
104
+ The condense-time rewriter (`scripts/condense.ts::_rewrite_paths`) is
105
105
  idempotent and depth-aware — it resolves logical names and body links
106
106
  to the deployment-correct relative path at condense time, leaving
107
107
  `path_prefix:` literally as written. The schema regex
108
- (`scripts/schemas/rule.schema.json`) and `scripts/lint_load_context.py`
108
+ (`scripts/schemas/rule.schema.json`) and `scripts/lint_load_context.ts`
109
109
  both reject the `src/` prefix in `load_context:` /
110
110
  `load_context_eager:` with an error pointing at the canonical logical
111
111
  name.
@@ -146,7 +146,7 @@ invoke [`rule-refactor`](../rule-refactor/SKILL.md). Do NOT:
146
146
 
147
147
  * Trim the new rule further to "just fit" — if it needs that body to
148
148
  do its job, the rule is right and the rule set around it is wrong.
149
- * Raise `FAIL_THRESHOLD` in `scripts/measure_augment_budget.py` —
149
+ * Raise `FAIL_THRESHOLD` in `scripts/measure_augment_budget.ts` —
150
150
  threshold-lift is explicitly forbidden (see the
151
151
  [`validation-budget`](../../rules/validation-budget.md) rule and
152
152
  the `rule-refactor` Iron Law).
@@ -162,7 +162,7 @@ move-to-context / promote-to-skill so the new rule earns its space.
162
162
  ### 6. Governance baseline (when introducing a new linter check)
163
163
 
164
164
  **Advisory, reviewer-checked — no CI gate.** When the same PR adds a
165
- new check to `scripts/skill_linter.py` (or strengthens an existing
165
+ new check to `scripts/skill_linter.ts` (or strengthens an existing
166
166
  one) such that previously-clean rules now warn, the PR body MUST
167
167
  record the pre-existing violations on `main` in a Markdown table:
168
168
 
@@ -250,7 +250,7 @@ to every rule you author.
250
250
  ## Cloud Behavior
251
251
 
252
252
  On cloud surfaces (Claude.ai Web, Skills API) the package's
253
- `scripts/skill_linter.py`, `scripts/condense.py`, and `task` runner
253
+ `scripts/skill_linter.ts`, `scripts/condense.ts`, and `task` runner
254
254
  are not reachable. The skill still applies — with prose-only
255
255
  validation:
256
256