@event4u/agent-config 8.1.0 → 8.2.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.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +50 -297
- package/dist/agent-src/commands/agents/init.md +3 -3
- package/dist/agent-src/commands/chat-history/import.md +5 -5
- package/dist/agent-src/commands/chat-history.md +1 -1
- package/dist/agent-src/commands/condense.md +1 -1
- package/dist/agent-src/commands/context/create.md +1 -1
- package/dist/agent-src/commands/council/analysis.md +2 -2
- package/dist/agent-src/commands/council/default.md +3 -3
- package/dist/agent-src/commands/council/design.md +2 -2
- package/dist/agent-src/commands/council/optimize.md +1 -1
- package/dist/agent-src/commands/council/pr.md +2 -2
- package/dist/agent-src/commands/council.md +1 -1
- package/dist/agent-src/commands/feature/plan.md +1 -1
- package/dist/agent-src/commands/ghostwriter/list.md +1 -1
- package/dist/agent-src/commands/ghostwriter/write.md +1 -1
- package/dist/agent-src/commands/ghostwriter.md +1 -1
- package/dist/agent-src/commands/implement-ticket.md +2 -2
- package/dist/agent-src/commands/judge/on-diff.md +1 -1
- package/dist/agent-src/commands/judge/steps.md +3 -1
- package/dist/agent-src/commands/memory/add.md +2 -2
- package/dist/agent-src/commands/memory/learn-low-impact.md +1 -1
- package/dist/agent-src/commands/memory/load.md +1 -1
- package/dist/agent-src/commands/memory/mine-session.md +1 -1
- package/dist/agent-src/commands/memory/promote.md +1 -1
- package/dist/agent-src/commands/memory/propose.md +1 -1
- package/dist/agent-src/commands/mission/upgrade.md +1 -1
- package/dist/agent-src/commands/module/explore.md +3 -3
- package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
- package/dist/agent-src/commands/optimize/skills.md +1 -1
- package/dist/agent-src/commands/optimize-project.md +1 -1
- package/dist/agent-src/commands/orchestrate.md +2 -2
- package/dist/agent-src/commands/project-analyze.md +1 -1
- package/dist/agent-src/commands/project-health.md +1 -1
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
- package/dist/agent-src/commands/roadmap/create.md +2 -2
- package/dist/agent-src/commands/roadmap/process-full.md +3 -1
- package/dist/agent-src/commands/roadmap/process-phase.md +4 -2
- package/dist/agent-src/commands/roadmap/process-step.md +3 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/sync-agent-settings.md +7 -7
- package/dist/agent-src/commands/sync-gitignore/fix.md +3 -3
- package/dist/agent-src/commands/sync-gitignore.md +4 -4
- package/dist/agent-src/commands/work.md +3 -3
- package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
- package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +1 -1
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -7
- package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +9 -4
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +10 -9
- package/dist/agent-src/contexts/execution/verification-mechanics.md +13 -1
- package/dist/agent-src/packs/README.md +1 -1
- package/dist/agent-src/presets/README.md +1 -1
- package/dist/agent-src/profiles/README.md +1 -1
- package/dist/agent-src/rules/architecture.md +2 -2
- package/dist/agent-src/rules/context-hygiene.md +2 -2
- package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
- package/dist/agent-src/rules/media-governance-routing.md +1 -1
- package/dist/agent-src/rules/no-roadmap-references.md +3 -3
- package/dist/agent-src/rules/preservation-guard.md +2 -2
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
- package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
- package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
- package/dist/agent-src/rules/source-confidentiality.md +1 -1
- package/dist/agent-src/rules/telegraph-speak.md +1 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -1
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
- package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
- package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
- package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
- package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
- package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
- package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
- package/dist/agent-src/skills/api-design/SKILL.md +1 -1
- package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
- package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
- package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
- package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
- package/dist/agent-src/skills/code-review/SKILL.md +3 -4
- package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
- package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
- package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
- package/dist/agent-src/skills/context-document/SKILL.md +1 -1
- package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
- package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
- package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
- package/dist/agent-src/skills/database/SKILL.md +2 -1
- package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
- package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
- package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
- package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
- package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
- package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
- package/dist/agent-src/skills/flux/SKILL.md +10 -9
- package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
- package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
- package/dist/agent-src/skills/livewire/SKILL.md +10 -9
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
- package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
- package/dist/agent-src/skills/module-management/SKILL.md +2 -2
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
- package/dist/agent-src/skills/premortem/SKILL.md +1 -1
- package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
- package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
- package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
- package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
- package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
- package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
- package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
- package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
- package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
- package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
- package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
- package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
- package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
- package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
- package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
- package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
- package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
- package/dist/agent-src/templates/agent-settings.md +34 -25
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
- package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
- package/dist/agent-src/templates/agents/proposal.example.md +4 -4
- package/dist/agent-src/templates/copilot-instructions.md +1 -1
- package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
- package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
- package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
- package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
- package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
- package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
- package/dist/agent-src/templates/roadmaps.md +9 -4
- package/dist/agent-src/templates/rule.md +3 -3
- package/dist/agent-src/templates/scripts/README.md +6 -6
- package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
- package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
- package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
- package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
- package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
- package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
- package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
- package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
- package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
- package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
- package/dist/agent-src/templates/skill.md +2 -2
- package/dist/cli/python/knowledge_ingest.js +24 -3
- package/dist/cli/python/knowledge_ingest.js.map +1 -1
- package/dist/cli/python/workspace_analytics.js +23 -3
- package/dist/cli/python/workspace_analytics.js.map +1 -1
- package/dist/cli/python/workspace_crypto.js +23 -3
- package/dist/cli/python/workspace_crypto.js.map +1 -1
- package/dist/cli/python/workspace_documents.js +23 -3
- package/dist/cli/python/workspace_documents.js.map +1 -1
- package/dist/cli/python/workspace_drive.js +24 -3
- package/dist/cli/python/workspace_drive.js.map +1 -1
- package/dist/cli/python/workspace_drive_health.js +23 -3
- package/dist/cli/python/workspace_drive_health.js.map +1 -1
- package/dist/cli/python/workspace_explain.js +23 -3
- package/dist/cli/python/workspace_explain.js.map +1 -1
- package/dist/cli/python/workspace_hosts.js +23 -3
- package/dist/cli/python/workspace_hosts.js.map +1 -1
- package/dist/cli/python/workspace_inbox.js +23 -3
- package/dist/cli/python/workspace_inbox.js.map +1 -1
- package/dist/cli/python/workspace_render.js +23 -3
- package/dist/cli/python/workspace_render.js.map +1 -1
- package/dist/cli/python/workspace_roles.js +23 -3
- package/dist/cli/python/workspace_roles.js.map +1 -1
- package/dist/cli/python/workspace_sessions.js +23 -3
- package/dist/cli/python/workspace_sessions.js.map +1 -1
- package/dist/cli/python/workspace_skills.js +23 -3
- package/dist/cli/python/workspace_skills.js.map +1 -1
- package/dist/cli/registry.js +2 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +118 -118
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +2 -2
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +3 -3
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +3 -3
- package/dist/install/install.mjs +67 -28
- package/dist/mcp/registry-manifest.json +2 -2
- package/dist/server/routes/settings.js +4 -4
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/schemas/settings.js +1 -1
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +2 -2
- package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
- package/docs/benchmark.md +40 -0
- package/docs/contracts/skill-bundled-assets.md +2 -2
- package/docs/customization.md +1 -1
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
- package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
- package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
- package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
- package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
- package/docs/guidelines/agent-infra/layered-settings.md +4 -4
- package/docs/guidelines/agent-infra/memory-access.md +19 -18
- package/docs/guidelines/agent-infra/naming.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
- package/docs/guidelines/agent-infra/role-contracts.md +1 -1
- package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
- package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
- package/docs/guidelines/augment-portability-patterns.md +1 -1
- package/docs/proof.md +1 -1
- package/docs/setup/per-ide/claude-code.md +10 -4
- package/package.json +3 -2
- package/src/config/agent-settings.template.yml +31 -17
- package/src/config/host-capabilities.yml +25 -16
- package/src/config/profiles/balanced.ini +5 -3
- package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
- package/src/scripts/_cli/cmd_conformance.ts +23 -4
- package/src/scripts/_cli/cmd_doctor.ts +96 -8
- package/src/scripts/_cli/cmd_explain.ts +23 -4
- package/src/scripts/_cli/cmd_export.ts +23 -4
- package/src/scripts/_cli/cmd_fleet.ts +23 -4
- package/src/scripts/_cli/cmd_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_preflight.ts +24 -4
- package/src/scripts/_cli/cmd_prune.ts +23 -4
- package/src/scripts/_cli/cmd_refresh.ts +23 -4
- package/src/scripts/_cli/cmd_settings_check.ts +23 -4
- package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_sync.ts +23 -4
- package/src/scripts/_cli/cmd_uninstall.ts +23 -4
- package/src/scripts/_cli/cmd_update.ts +23 -4
- package/src/scripts/_cli/cmd_upgrade.ts +238 -9
- package/src/scripts/_cli/cmd_validate.ts +23 -4
- package/src/scripts/_cli/cmd_versions.ts +23 -4
- package/src/scripts/_dispatch.bash +62 -19
- package/src/scripts/_lib/claude_plugin.ts +83 -0
- package/src/scripts/_lib/knowledge_global.ts +24 -2
- package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
- package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
- package/src/scripts/_lib/link_crypto.ts +24 -5
- package/src/scripts/_lib/pin_resolver.ts +24 -3
- package/src/scripts/adoption_report.ts +23 -4
- package/src/scripts/adoption_snapshot.ts +23 -1
- package/src/scripts/adoption_status.ts +23 -4
- package/src/scripts/adr/regenerate_index.ts +24 -3
- package/src/scripts/ai_council/airgap.ts +25 -2
- package/src/scripts/ai_council/compile_corpus.ts +24 -2
- package/src/scripts/ai_council/pricing.ts +11 -1
- package/src/scripts/analysis_freshness.ts +23 -4
- package/src/scripts/annotate_discovery.ts +23 -1
- package/src/scripts/apply_modules_config.ts +23 -4
- package/src/scripts/audit_adr_coverage.ts +23 -4
- package/src/scripts/audit_auto_rules.ts +23 -1
- package/src/scripts/audit_cloud_compatibility.ts +23 -4
- package/src/scripts/audit_command_surface.ts +23 -4
- package/src/scripts/audit_initial_context.ts +23 -3
- package/src/scripts/audit_likelihood.ts +23 -1
- package/src/scripts/audit_mcp_tools.ts +23 -3
- package/src/scripts/audit_overlap.ts +23 -1
- package/src/scripts/audit_skill_descriptions.ts +24 -2
- package/src/scripts/audit_skill_overlap.ts +23 -1
- package/src/scripts/audit_user_type_axis.ts +23 -4
- package/src/scripts/backfill_model_tier.ts +23 -4
- package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
- package/src/scripts/bench_ab_clone.ts +23 -1
- package/src/scripts/bench_ab_diff.ts +23 -1
- package/src/scripts/bench_ab_integrity.ts +23 -1
- package/src/scripts/bench_ab_run.ts +23 -2
- package/src/scripts/bench_ab_task_runner.ts +23 -1
- package/src/scripts/bench_ab_tracka_run.ts +23 -2
- package/src/scripts/bench_ab_v2_run.ts +23 -1
- package/src/scripts/bench_ab_v2_stats.ts +23 -1
- package/src/scripts/bench_baseline_ready.ts +23 -1
- package/src/scripts/bench_condense_memory.ts +23 -1
- package/src/scripts/bench_drift_check.ts +23 -2
- package/src/scripts/bench_matrix.ts +23 -4
- package/src/scripts/bench_per_tool.ts +23 -1
- package/src/scripts/bench_quality_run.ts +23 -2
- package/src/scripts/bench_rtk_savings.ts +23 -1
- package/src/scripts/bench_rule_load_latency.ts +23 -2
- package/src/scripts/bench_run.ts +23 -2
- package/src/scripts/bench_runner.ts +23 -1
- package/src/scripts/build_cloud_bundle.ts +23 -3
- package/src/scripts/build_discovery_manifest.ts +23 -4
- package/src/scripts/build_linear_digest.ts +23 -3
- package/src/scripts/build_mcp_registry_manifest.ts +23 -4
- package/src/scripts/build_rule_trigger_matrix.ts +23 -4
- package/src/scripts/capture_showcase_session.ts +23 -1
- package/src/scripts/chat_history.ts +24 -3
- package/src/scripts/check_always_budget.ts +23 -2
- package/src/scripts/check_artefact_checksums.ts +23 -4
- package/src/scripts/check_augment_description_cap.ts +23 -4
- package/src/scripts/check_augmentignore.ts +23 -4
- package/src/scripts/check_beta_review_markers.ts +23 -4
- package/src/scripts/check_cluster_patterns.ts +23 -4
- package/src/scripts/check_command_count_messaging.ts +23 -4
- package/src/scripts/check_comparison.ts +23 -1
- package/src/scripts/check_condensation.ts +24 -3
- package/src/scripts/check_condensed_paths.ts +23 -2
- package/src/scripts/check_context_paths.ts +23 -4
- package/src/scripts/check_council_config_location.ts +23 -4
- package/src/scripts/check_council_layout.ts +23 -4
- package/src/scripts/check_council_references.ts +23 -4
- package/src/scripts/check_discovery_determinism.ts +24 -4
- package/src/scripts/check_gate_paths.ts +23 -4
- package/src/scripts/check_generated_artefact_headers.ts +23 -4
- package/src/scripts/check_generator_output_coverage.ts +23 -4
- package/src/scripts/check_gitignore_freshness.ts +23 -4
- package/src/scripts/check_iron_law_prominence.ts +23 -4
- package/src/scripts/check_kernel_prefix_stability.ts +0 -0
- package/src/scripts/check_kernel_rule_bundle.ts +23 -4
- package/src/scripts/check_knowledge_cards.ts +23 -1
- package/src/scripts/check_md_language.ts +23 -4
- package/src/scripts/check_media_deps.ts +24 -1
- package/src/scripts/check_memory.ts +24 -2
- package/src/scripts/check_memory_proposal.ts +23 -4
- package/src/scripts/check_module_management_neutral.ts +23 -4
- package/src/scripts/check_no_conflict_markers.ts +23 -4
- package/src/scripts/check_no_external_sources.ts +23 -4
- package/src/scripts/check_no_local_settings_committed.ts +24 -4
- package/src/scripts/check_no_new_legacy_path.ts +23 -4
- package/src/scripts/check_no_roadmap_refs.ts +23 -4
- package/src/scripts/check_one_off_location.ts +23 -4
- package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
- package/src/scripts/check_portability.ts +24 -3
- package/src/scripts/check_proposal.ts +0 -0
- package/src/scripts/check_public_catalog_links.ts +23 -4
- package/src/scripts/check_public_links.ts +23 -4
- package/src/scripts/check_quality_regression.ts +23 -2
- package/src/scripts/check_references.ts +23 -4
- package/src/scripts/check_release_includes_discovery.ts +23 -4
- package/src/scripts/check_release_pr_shape.ts +23 -4
- package/src/scripts/check_release_published.ts +23 -4
- package/src/scripts/check_release_trunk_sync.ts +23 -4
- package/src/scripts/check_reply_consistency.ts +23 -4
- package/src/scripts/check_roadmap_trackable.ts +23 -4
- package/src/scripts/check_role_doc_links.ts +23 -4
- package/src/scripts/check_safety_floor_untouched.ts +24 -4
- package/src/scripts/check_site_links.ts +23 -1
- package/src/scripts/check_skill_gaps.ts +23 -1
- package/src/scripts/check_skill_requires.ts +23 -4
- package/src/scripts/check_structural_breaking.ts +24 -4
- package/src/scripts/check_surface_tiers.ts +23 -4
- package/src/scripts/check_template_pin_drift.ts +23 -4
- package/src/scripts/check_test_coverage_diff.ts +23 -4
- package/src/scripts/check_token_optimizer_freshness.ts +23 -4
- package/src/scripts/check_token_quality_golden.ts +23 -2
- package/src/scripts/check_token_regression.ts +23 -2
- package/src/scripts/check_tracked_but_ignored.ts +24 -4
- package/src/scripts/check_trigger_evals.ts +23 -4
- package/src/scripts/check_trunk_drift.ts +24 -1
- package/src/scripts/check_update_banner.ts +23 -4
- package/src/scripts/ci_summary.ts +23 -4
- package/src/scripts/ci_time_ratio.ts +23 -4
- package/src/scripts/cluster_near_miss_patterns.ts +0 -0
- package/src/scripts/compile_router.ts +23 -4
- package/src/scripts/condense.ts +23 -2
- package/src/scripts/condense_memory.ts +24 -2
- package/src/scripts/config/packs.ts +24 -4
- package/src/scripts/config/session_profiles.ts +23 -4
- package/src/scripts/context_hygiene_hook.ts +24 -3
- package/src/scripts/cost_by_conversation.ts +23 -4
- package/src/scripts/cost_summary.ts +23 -4
- package/src/scripts/council_cli.ts +35 -7
- package/src/scripts/council_prune.ts +25 -2
- package/src/scripts/cross_repo_retrieve.ts +23 -4
- package/src/scripts/discovery_stats.ts +23 -4
- package/src/scripts/evidence_report.ts +23 -1
- package/src/scripts/export_replay_corpus.ts +23 -2
- package/src/scripts/extract_audit_patterns.ts +23 -1
- package/src/scripts/first_run_gate_hook.ts +24 -3
- package/src/scripts/gen_discovery_baseline.ts +23 -4
- package/src/scripts/generate_capabilities_index.ts +24 -5
- package/src/scripts/generate_capability_matrix.ts +23 -4
- package/src/scripts/generate_catalog.ts +23 -1
- package/src/scripts/generate_command_flows.ts +23 -4
- package/src/scripts/generate_cookbook.ts +23 -4
- package/src/scripts/generate_index.ts +23 -4
- package/src/scripts/generate_ownership_matrix.ts +23 -1
- package/src/scripts/generate_pack_manifests.ts +24 -5
- package/src/scripts/generate_role_experiences_catalog.ts +23 -4
- package/src/scripts/hooks/block_no_verify.ts +23 -4
- package/src/scripts/hooks/design_slop_hook.ts +24 -3
- package/src/scripts/hooks/dispatch_hook.ts +47 -14
- package/src/scripts/hooks/replay_hook.ts +23 -2
- package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
- package/src/scripts/hooks_doctor.ts +23 -2
- package/src/scripts/hooks_status.ts +23 -2
- package/src/scripts/injection_scan_hook.ts +24 -5
- package/src/scripts/install.ts +72 -44
- package/src/scripts/inventory_abstraction_budget.ts +23 -1
- package/src/scripts/inventory_frontmatter.ts +23 -1
- package/src/scripts/inventory_meta_layers.ts +23 -1
- package/src/scripts/iron_law_sha.ts +23 -4
- package/src/scripts/janitor.ts +23 -4
- package/src/scripts/knowledge_global_cli.ts +24 -2
- package/src/scripts/linked_projects_list.ts +23 -4
- package/src/scripts/lint_agent_security.ts +23 -4
- package/src/scripts/lint_agent_skill_names.ts +23 -4
- package/src/scripts/lint_agents_layout.ts +23 -4
- package/src/scripts/lint_agents_md.ts +23 -4
- package/src/scripts/lint_archived_skills.ts +23 -4
- package/src/scripts/lint_artefact_frontmatter.ts +23 -4
- package/src/scripts/lint_bench_ab.ts +23 -4
- package/src/scripts/lint_bench_corpus.ts +23 -2
- package/src/scripts/lint_command_flow_coverage.ts +23 -4
- package/src/scripts/lint_command_routing.ts +23 -4
- package/src/scripts/lint_command_tiers.ts +23 -2
- package/src/scripts/lint_command_verbs.ts +23 -4
- package/src/scripts/lint_commit_subjects.ts +24 -4
- package/src/scripts/lint_confusables.ts +25 -5
- package/src/scripts/lint_context_spine_usage.ts +23 -4
- package/src/scripts/lint_discovery_manifest.ts +23 -4
- package/src/scripts/lint_discovery_vocabulary.ts +23 -4
- package/src/scripts/lint_empty_roadmaps.ts +23 -4
- package/src/scripts/lint_eval_freshness.ts +23 -4
- package/src/scripts/lint_examples.ts +23 -4
- package/src/scripts/lint_explain_trace.ts +23 -4
- package/src/scripts/lint_featured_skills.ts +0 -0
- package/src/scripts/lint_flows.ts +23 -4
- package/src/scripts/lint_framework_leakage.ts +23 -4
- package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
- package/src/scripts/lint_ghostwriter_source.ts +23 -4
- package/src/scripts/lint_global_paths.ts +23 -2
- package/src/scripts/lint_handoffs.ts +23 -4
- package/src/scripts/lint_hidden_unicode.ts +24 -5
- package/src/scripts/lint_hook_concern_budget.ts +23 -4
- package/src/scripts/lint_hook_manifest.ts +23 -2
- package/src/scripts/lint_instruction_smuggling.ts +25 -5
- package/src/scripts/lint_legal_pack.ts +23 -1
- package/src/scripts/lint_load_context.ts +23 -4
- package/src/scripts/lint_marketplace.ts +24 -3
- package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
- package/src/scripts/lint_mcp_config_security.ts +25 -5
- package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
- package/src/scripts/lint_media_policy_linkage.ts +23 -4
- package/src/scripts/lint_missions.ts +23 -4
- package/src/scripts/lint_model_tier_coverage.ts +23 -4
- package/src/scripts/lint_namespace.ts +23 -4
- package/src/scripts/lint_namespace_collisions.ts +23 -4
- package/src/scripts/lint_new_skill_gate.ts +23 -4
- package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
- package/src/scripts/lint_one_off_age.ts +23 -4
- package/src/scripts/lint_orchestration_dsl.ts +23 -4
- package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
- package/src/scripts/lint_pack_boundaries.ts +23 -4
- package/src/scripts/lint_pack_dependencies.ts +23 -2
- package/src/scripts/lint_pack_first_win.ts +23 -4
- package/src/scripts/lint_pack_risk_class.ts +23 -1
- package/src/scripts/lint_persona_governance.ts +23 -4
- package/src/scripts/lint_positioning.ts +23 -4
- package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
- package/src/scripts/lint_readme_jargon.ts +23 -4
- package/src/scripts/lint_readme_size.ts +23 -4
- package/src/scripts/lint_regression.ts +23 -4
- package/src/scripts/lint_roadmap_blockers.ts +23 -4
- package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
- package/src/scripts/lint_roadmap_complexity.ts +23 -4
- package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
- package/src/scripts/lint_role_experiences.ts +23 -4
- package/src/scripts/lint_rule_interactions.ts +23 -4
- package/src/scripts/lint_rule_tiers.ts +24 -3
- package/src/scripts/lint_showcase_sessions.ts +23 -4
- package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
- package/src/scripts/lint_skill_originality.ts +23 -4
- package/src/scripts/lint_skill_tools.ts +23 -4
- package/src/scripts/lint_subagent_determinism.ts +23 -4
- package/src/scripts/lint_ticket_buildable.ts +23 -4
- package/src/scripts/lint_topics_yaml.ts +23 -4
- package/src/scripts/lint_trust_coherence.ts +23 -4
- package/src/scripts/lint_value_dashboard.ts +23 -4
- package/src/scripts/lint_workflow_security.ts +23 -4
- package/src/scripts/lint_workspace_boundary.ts +23 -4
- package/src/scripts/mcp_parity_smoke.ts +23 -2
- package/src/scripts/mcp_render.ts +23 -4
- package/src/scripts/mcp_telemetry_health.ts +23 -4
- package/src/scripts/mcp_telemetry_query.ts +23 -4
- package/src/scripts/mcp_telemetry_store.ts +23 -4
- package/src/scripts/measure_augment_budget.ts +23 -1
- package/src/scripts/measure_density.ts +23 -1
- package/src/scripts/measure_frugality_savings.ts +23 -1
- package/src/scripts/measure_markitdown_lift.ts +23 -1
- package/src/scripts/measure_patterns.ts +23 -1
- package/src/scripts/measure_projection_bytes.ts +23 -1
- package/src/scripts/measure_rule_budget.ts +23 -4
- package/src/scripts/measure_skill_reduction.ts +23 -1
- package/src/scripts/memory_hash.ts +24 -2
- package/src/scripts/memory_lookup.ts +24 -2
- package/src/scripts/memory_report.ts +24 -2
- package/src/scripts/memory_signal.ts +24 -2
- package/src/scripts/memory_status.ts +26 -2
- package/src/scripts/migrate_command_suggestions.ts +23 -4
- package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
- package/src/scripts/migration_status.ts +25 -4
- package/src/scripts/mine_missing_guardrails.ts +23 -1
- package/src/scripts/mine_session.ts +23 -1
- package/src/scripts/minimal_safe_diff_hook.ts +24 -3
- package/src/scripts/new_skill.ts +23 -3
- package/src/scripts/onboarding_gate_hook.ts +24 -3
- package/src/scripts/parity/coverage_diff.ts +25 -3
- package/src/scripts/parity/phase_gate.ts +25 -4
- package/src/scripts/parity/replay.ts +25 -3
- package/src/scripts/pattern_share.ts +23 -4
- package/src/scripts/plan_physical_move.ts +23 -4
- package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
- package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
- package/src/scripts/prediction-pool/score_ev.ts +24 -3
- package/src/scripts/print_required_checks.ts +24 -4
- package/src/scripts/probe_host_compliance.ts +23 -2
- package/src/scripts/probe_projection_fidelity.ts +23 -1
- package/src/scripts/probe_skill_registration.ts +24 -2
- package/src/scripts/profile_staleness_hook.ts +24 -3
- package/src/scripts/profile_use.ts +23 -4
- package/src/scripts/project_thin_rules.ts +23 -3
- package/src/scripts/propose_modules_config.ts +23 -4
- package/src/scripts/prototype_lint_contradictions.ts +23 -1
- package/src/scripts/prove_pack_extractable.ts +23 -4
- package/src/scripts/readme_linter.ts +23 -3
- package/src/scripts/redact_hook_capture.ts +23 -4
- package/src/scripts/refine_ticket_detect.ts +23 -4
- package/src/scripts/release.ts +23 -4
- package/src/scripts/render_benchmark_composite.ts +23 -4
- package/src/scripts/render_benchmark_md.ts +23 -4
- package/src/scripts/roadmap_progress_hook.ts +46 -16
- package/src/scripts/run_skill_evals.ts +23 -4
- package/src/scripts/runtime_dispatcher.ts +23 -4
- package/src/scripts/runtime_registry.ts +23 -4
- package/src/scripts/score_skill_selection.ts +23 -1
- package/src/scripts/security_audit_config.ts +24 -5
- package/src/scripts/skill_collision_clusters.ts +23 -4
- package/src/scripts/skill_discovery.ts +23 -4
- package/src/scripts/skill_linter.ts +23 -2
- package/src/scripts/skill_preview.ts +23 -4
- package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
- package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
- package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
- package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
- package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
- package/src/scripts/skill_usage_collect.ts +23 -4
- package/src/scripts/smoke_path_resolution.ts +23 -4
- package/src/scripts/smoke_quickstart.ts +23 -4
- package/src/scripts/snapshot_agent_outputs.ts +23 -4
- package/src/scripts/spotcheck_thin_root.ts +23 -4
- package/src/scripts/sync_agent_settings.ts +23 -4
- package/src/scripts/sync_github_metadata.ts +23 -4
- package/src/scripts/sync_gitignore.ts +23 -4
- package/src/scripts/telegraph_stats.ts +23 -4
- package/src/scripts/tool_registry.ts +24 -4
- package/src/scripts/trigger_coverage.ts +23 -4
- package/src/scripts/update_counts.ts +23 -4
- package/src/scripts/update_prices.ts +23 -1
- package/src/scripts/validate_agent_settings.ts +23 -4
- package/src/scripts/validate_decision_engine.ts +23 -4
- package/src/scripts/validate_discovery_manifest.ts +23 -4
- package/src/scripts/validate_frontmatter.ts +23 -2
- package/src/scripts/validate_pack_yaml.ts +0 -0
- package/src/scripts/validate_safe_paths.ts +24 -4
- package/src/scripts/validate_telegraph_carveouts.ts +23 -4
- package/src/scripts/verify_before_complete_hook.ts +24 -3
- package/src/scripts/verify_physical_move.ts +23 -4
- package/src/scripts/wrapper_freshness_hook.ts +107 -8
- package/tests/fixtures/hooks/README.md +92 -0
- package/tests/fixtures/hooks/agent_error.json +7 -0
- package/tests/fixtures/hooks/post_tool_use.json +13 -0
- package/tests/fixtures/hooks/pre_compact.json +7 -0
- package/tests/fixtures/hooks/pre_tool_use.json +9 -0
- package/tests/fixtures/hooks/session_end.json +6 -0
- package/tests/fixtures/hooks/session_start.json +6 -0
- package/tests/fixtures/hooks/stop.json +6 -0
- package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
|
@@ -123,7 +123,7 @@ THE HOST AGENT IS THE CONVENER, NEVER A REVIEWER.
|
|
|
123
123
|
|
|
124
124
|
If you find yourself wanting to "frame" the artefact for the council,
|
|
125
125
|
stop. Framing is exactly what kills the second-opinion value. Use the
|
|
126
|
-
unbiased system prompts in `scripts/ai_council/prompts.
|
|
126
|
+
unbiased system prompts in `scripts/ai_council/prompts.ts`; do not
|
|
127
127
|
roll your own.
|
|
128
128
|
|
|
129
129
|
The host runs the council and synthesises convergence — it is the
|
|
@@ -148,7 +148,7 @@ in front of every member's system prompt, assembled by
|
|
|
148
148
|
| One paragraph of repo purpose from `README.md` (max 400 chars) | Host-agent framing language ("I think this looks weak", "the user probably wants…") |
|
|
149
149
|
| The user's **original ask** verbatim (the free-form sentence that triggered `/council`) | Anything the host agent generated about the artefact |
|
|
150
150
|
|
|
151
|
-
`detect_project_context()` in `scripts/ai_council/project_context.
|
|
151
|
+
`detect_project_context()` in `scripts/ai_council/project_context.ts`
|
|
152
152
|
reads only the manifest files + root README; missing fields collapse
|
|
153
153
|
to `None` and the preamble silently omits the line. With both
|
|
154
154
|
`project=None` and `original_ask=""`, the preamble degrades to the
|
|
@@ -167,7 +167,7 @@ travel changes.
|
|
|
167
167
|
| `manual` | `ManualClient` | no | `stdout` (prompt block) + `stdin` (user pastes the web-UI reply, terminated by a line containing only `END`) | shipped (Phase 2b) |
|
|
168
168
|
| `cli` | `AnthropicCliClient` / `OpenAICliClient` / `GeminiCliClient` | no (subscription-authed) | local subprocess against the vendor CLI (`claude`, `codex`, `gemini`); auth delegated to the CLI's own session, no API key in this process | shipped (anthropic/openai/gemini · Phase 3) |
|
|
169
169
|
|
|
170
|
-
Resolution lives in `scripts/ai_council/modes.
|
|
170
|
+
Resolution lives in `scripts/ai_council/modes.ts`:
|
|
171
171
|
`resolve_mode(name, invocation_mode, member_settings, global_mode)`
|
|
172
172
|
with precedence **invocation flag > per-member setting > global
|
|
173
173
|
setting > default (`manual`)**. Whitespace-and-case insensitive; empty
|
|
@@ -293,15 +293,15 @@ not a default.
|
|
|
293
293
|
1. **Resolve target.** Identify the artefact mode (`prompt`, `roadmap`,
|
|
294
294
|
`diff`, `files`) and locate the source. Refuse to proceed if the
|
|
295
295
|
target is ambiguous.
|
|
296
|
-
2. **Bundle + redact.** Call `scripts/ai_council/bundler.
|
|
296
|
+
2. **Bundle + redact.** Call `scripts/ai_council/bundler.ts` to produce
|
|
297
297
|
a redacted artefact bundle. If `BundleTooLarge` fires, surface the
|
|
298
298
|
size and ask the user to narrow scope — do NOT truncate silently.
|
|
299
299
|
3. **Confirm spend.** Before any network call, surface members + cost
|
|
300
300
|
ceiling and require an explicit user `1` to proceed. Autonomy
|
|
301
301
|
settings do not override this gate.
|
|
302
302
|
4. **Fan out.** Dispatch the bundle to each enabled council member via
|
|
303
|
-
`scripts/ai_council/orchestrator.
|
|
304
|
-
neutrality preamble from `prompts.
|
|
303
|
+
`scripts/ai_council/orchestrator.ts`. Each member receives the
|
|
304
|
+
neutrality preamble from `prompts.ts` plus the artefact — nothing
|
|
305
305
|
from the host agent's prior reasoning.
|
|
306
306
|
5. **Render results.** Stack each member's response under its own
|
|
307
307
|
provider-attributed heading. Never merge or paraphrase responses
|
|
@@ -412,10 +412,10 @@ matching `road-to-<topic-slug>` roadmap under `agents/roadmaps/`).
|
|
|
412
412
|
that may include council artefacts as part of their evidence trail
|
|
413
413
|
(e.g. `audit-2026-05-14-north-star/` bundles its triggering
|
|
414
414
|
question, raw responses, and synthesis alongside the audit's
|
|
415
|
-
findings). The layout linter (`scripts/check_council_layout.
|
|
415
|
+
findings). The layout linter (`scripts/check_council_layout.ts`)
|
|
416
416
|
skips these directories.
|
|
417
417
|
|
|
418
|
-
`scripts/check_council_layout.
|
|
418
|
+
`scripts/check_council_layout.ts` is the mechanical check for the
|
|
419
419
|
output path convention — wire it into the package's CI pipeline so
|
|
420
420
|
violations break the build.
|
|
421
421
|
|
|
@@ -458,7 +458,7 @@ attributed to the host.
|
|
|
458
458
|
The **Convergence / Divergence** slot in `council:render` output is
|
|
459
459
|
populated with a lens-specific synthesis prompt. The host agent reads
|
|
460
460
|
this prompt and writes the summary in the shape it dictates. The five
|
|
461
|
-
templates live in `scripts/ai_council/prompts.
|
|
461
|
+
templates live in `scripts/ai_council/prompts.ts::_SYNTHESIS_TABLE`
|
|
462
462
|
and are exposed via `synthesis_template(mode)`.
|
|
463
463
|
|
|
464
464
|
**R4 Q4 split** — decision lenses get a structured Karpathy-style
|
|
@@ -546,7 +546,7 @@ Real failure modes seen in the wild:
|
|
|
546
546
|
| Anti-pattern | Why it's wrong | Correct approach |
|
|
547
547
|
|---|---|---|
|
|
548
548
|
| "Pre-warm" the council with the agent's own analysis. | Bias attack — collapses the reviewer to a yes-man. | Send the artefact text only. |
|
|
549
|
-
| Paste the host-agent identity ("I am Augment / Claude Code…") | Identity primes the reviewer's model. | Neutrality preamble in `prompts.
|
|
549
|
+
| Paste the host-agent identity ("I am Augment / Claude Code…") | Identity primes the reviewer's model. | Neutrality preamble in `prompts.ts` already handles this. |
|
|
550
550
|
| Silently truncate a too-large bundle. | Misleads the reviewer into thinking they saw the whole thing. | Bundler raises `BundleTooLarge`; surface and ask for narrower scope. |
|
|
551
551
|
| Reuse the same SDK client across calls without re-loading the key. | Leaks the key in long-lived process state. | Each invocation builds fresh clients from `load_*_key()`. |
|
|
552
552
|
| Auto-spend tokens under `personal.autonomy: on`. | Autonomy ≠ permission to spend money. | Always ask before consultation, even under autonomy. |
|
|
@@ -586,7 +586,7 @@ per-invocation caps from `ai_council.cost_budget`:
|
|
|
586
586
|
`daily_budget_exceeded` instead of `cost_budget_exceeded`.
|
|
587
587
|
|
|
588
588
|
Prices come from `agents/runtime/.agent-prices.md` (gitignored, refreshed weekly).
|
|
589
|
-
The pricing module bootstraps it from `_default_prices.
|
|
589
|
+
The pricing module bootstraps it from `_default_prices.ts` on first
|
|
590
590
|
use and flags it stale when older than the most recent Monday 00:00
|
|
591
591
|
UTC.
|
|
592
592
|
|
|
@@ -937,16 +937,16 @@ fast-path entries (clean session is not an error).
|
|
|
937
937
|
- `/council` command — the user-facing entry point.
|
|
938
938
|
- `subagent-orchestration` skill — internal multi-agent variant (no
|
|
939
939
|
network, no spend, but no diversity of weights either).
|
|
940
|
-
- `scripts/ai_council/prompts.
|
|
940
|
+
- `scripts/ai_council/prompts.ts` — neutrality preamble + per-mode
|
|
941
941
|
system prompts.
|
|
942
|
-
- `scripts/ai_council/advisors.
|
|
942
|
+
- `scripts/ai_council/advisors.ts` — replace-mode planning + persona
|
|
943
943
|
resolution.
|
|
944
|
-
- `scripts/ai_council/bundler.
|
|
944
|
+
- `scripts/ai_council/bundler.ts` — redaction pattern set + size
|
|
945
945
|
guard.
|
|
946
946
|
- `docs/customization.md` § `ai_council.*` — settings reference.
|
|
947
947
|
- `docs/contracts/ai-council-config.md` § advisors — schema + precedence
|
|
948
948
|
contract.
|
|
949
949
|
- `docs/contracts/ai-council-config.md` § Decision-replay artefact —
|
|
950
950
|
Phase 9 audit trail contract + redaction modes.
|
|
951
|
-
- `scripts/ai_council/replay.
|
|
951
|
+
- `scripts/ai_council/replay.ts` — pure projection renderer (no model
|
|
952
952
|
calls).
|
|
@@ -17,7 +17,7 @@ packs:
|
|
|
17
17
|
|
|
18
18
|
> **Grounded corpus (Tier-1 consultation):** pagination, versioning,
|
|
19
19
|
> error shape (RFC 9457), idempotency, async ops, rate limiting, bulk,
|
|
20
|
-
> naming, expansion, webhooks —
|
|
20
|
+
> naming, expansion, webhooks — `./scripts-run <skills-root>/corpus-grounding/scripts/ground search --manifest
|
|
21
21
|
> <skills-root>/api-design/data/manifest.json "<concern>"` proposes the
|
|
22
22
|
> grounded pattern (+ hardening + anti-patterns + RFC link) before
|
|
23
23
|
> designing from memory. Corpus: [`data/api-patterns.csv`](data/api-patterns.csv).
|
|
@@ -14,7 +14,8 @@ packs:
|
|
|
14
14
|
|
|
15
15
|
> **Grounded corpus:** endpoint-shape decisions (pagination, error shape,
|
|
16
16
|
> idempotency, rate limits) ground via the
|
|
17
|
-
> [`api-design`](../api-design/SKILL.md) corpus —
|
|
17
|
+
> [`api-design`](../api-design/SKILL.md) corpus — `./scripts-run
|
|
18
|
+
> <skills-root>/corpus-grounding/scripts/ground search
|
|
18
19
|
> --manifest <skills-root>/api-design/data/manifest.json "<concern>"`.
|
|
19
20
|
|
|
20
21
|
## When to use
|
|
@@ -19,7 +19,7 @@ packs:
|
|
|
19
19
|
> **Grounded corpus (Tier-1 consultation):** the threat corpus's
|
|
20
20
|
> `authorization` + `tenancy` rows (IDOR, mass-assignment escalation,
|
|
21
21
|
> unscoped queries, sealed job context — each with negative tests) come
|
|
22
|
-
> from
|
|
22
|
+
> from `./scripts-run <skills-root>/corpus-grounding/scripts/ground ground --manifest
|
|
23
23
|
> <skills-root>/threat-modeling/data/manifest.json "<check under review>"`.
|
|
24
24
|
> Cite corpus rows in findings; surface the evidence gap when no row.
|
|
25
25
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
model_tier: medium
|
|
3
3
|
name: blade-ui
|
|
4
|
-
description: "Use when the project's frontend stack is Blade — dispatched by `directives/ui/{apply,review,polish}.
|
|
4
|
+
description: "Use when the project's frontend stack is Blade — dispatched by `directives/ui/{apply,review,polish}.ts`. Covers views, components, partials, layouts, and view logic."
|
|
5
5
|
domain: engineering
|
|
6
6
|
workspaces:
|
|
7
7
|
- engineering
|
|
@@ -17,7 +17,8 @@ install:
|
|
|
17
17
|
# blade-ui
|
|
18
18
|
|
|
19
19
|
> **Grounded stack guidance:** pull idiomatic Do/Don't + docs URLs from the
|
|
20
|
-
> adopted stack corpus before improvising —
|
|
20
|
+
> adopted stack corpus before improvising — `./scripts-run
|
|
21
|
+
> <skills-root>/corpus-grounding/scripts/ground search --manifest
|
|
21
22
|
> <skills-root>/design-intelligence/data/manifest.json --stack laravel "<topic>"`
|
|
22
23
|
> (the `laravel` stack file is Blade/UI-scoped, not general Laravel). See
|
|
23
24
|
> [`design-intelligence`](../design-intelligence/SKILL.md).
|
|
@@ -25,23 +26,23 @@ install:
|
|
|
25
26
|
## Positioning — dispatched, not standalone
|
|
26
27
|
|
|
27
28
|
`blade-ui` is the **apply-step executor** for the Blade stack. It is
|
|
28
|
-
invoked by [`directives/ui/apply.
|
|
29
|
-
once the design brief is locked, and revisited by `review.
|
|
30
|
-
`polish.
|
|
29
|
+
invoked by [`directives/ui/apply.ts`](../../templates/scripts/work_engine/directives/ui/apply.ts)
|
|
30
|
+
once the design brief is locked, and revisited by `review.ts` /
|
|
31
|
+
`polish.ts` during the design-review loop. It does **not** own the
|
|
31
32
|
flow, does **not** drive the audit, and does **not** lock the design.
|
|
32
33
|
|
|
33
34
|
| Concern | Owner |
|
|
34
35
|
|---|---|
|
|
35
36
|
| Audit + token inventory (mandatory pre-step) | [`existing-ui-audit`](../existing-ui-audit/SKILL.md) |
|
|
36
|
-
| Design brief (layout / states / microcopy) | [`directives/ui/design.
|
|
37
|
+
| Design brief (layout / states / microcopy) | [`directives/ui/design.ts`](../../templates/scripts/work_engine/directives/ui/design.ts) |
|
|
37
38
|
| Universal design heuristics | [`fe-design`](../fe-design/SKILL.md) |
|
|
38
|
-
| Review + polish loop | [`directives/ui/review.
|
|
39
|
+
| Review + polish loop | [`directives/ui/review.ts`](../../templates/scripts/work_engine/directives/ui/review.ts) + [`polish.ts`](../../templates/scripts/work_engine/directives/ui/polish.ts) |
|
|
39
40
|
|
|
40
41
|
## When to use
|
|
41
42
|
|
|
42
43
|
Cite this skill when:
|
|
43
44
|
|
|
44
|
-
- `state.stack.frontend == "blade"` (or the project is clearly Blade-only without Livewire / Flux) and `directives/ui/apply.
|
|
45
|
+
- `state.stack.frontend == "blade"` (or the project is clearly Blade-only without Livewire / Flux) and `directives/ui/apply.ts` dispatches to this skill
|
|
45
46
|
- Editing or creating Blade views, components, partials, layouts, or forms
|
|
46
47
|
|
|
47
48
|
Do NOT use when:
|
|
@@ -92,8 +93,8 @@ Do NOT use when:
|
|
|
92
93
|
|
|
93
94
|
### Review pass — a11y findings + preview envelope
|
|
94
95
|
|
|
95
|
-
When this skill is dispatched by `directives/ui/review.
|
|
96
|
-
or `directives/ui/polish.
|
|
96
|
+
When this skill is dispatched by `directives/ui/review.ts` (test slot)
|
|
97
|
+
or `directives/ui/polish.ts` (verify slot) — i.e. a review/polish run,
|
|
97
98
|
not the initial apply — it also emits:
|
|
98
99
|
|
|
99
100
|
- `state.ui_review.a11y` — `{violations: [{rule, selector, severity}, ...],
|
|
@@ -124,9 +124,10 @@ An action without a closure criterion is a wish, not a plan.
|
|
|
124
124
|
|
|
125
125
|
Per [`docs/contracts/analysis-memory-loop.md § 2`](../../docs/contracts/analysis-memory-loop.md):
|
|
126
126
|
|
|
127
|
-
1. Run the dedup pre-check —
|
|
128
|
-
`scripts.
|
|
129
|
-
affected paths, decision area)
|
|
127
|
+
1. Run the dedup pre-check — `find_duplicate(...)` from
|
|
128
|
+
`scripts/memory_lookup.ts` over the same key-space (incident type,
|
|
129
|
+
affected paths, decision area); a `memory:lookup` query over the
|
|
130
|
+
same keys is the CLI equivalent.
|
|
130
131
|
2. **Match found** — propose a `frequency` / `supersedes` update to
|
|
131
132
|
the existing entry; do NOT create a new candidate.
|
|
132
133
|
3. **No match** — draft a REDACTED `incident-learnings` candidate to
|
|
@@ -143,10 +144,10 @@ Per [`docs/contracts/analysis-memory-loop.md § 2`](../../docs/contracts/analysi
|
|
|
143
144
|
|
|
144
145
|
4. NEVER auto-promote. The human drives promotion via `/memory
|
|
145
146
|
promote`. If the candidate fails the admission gate
|
|
146
|
-
(`check_memory_proposal.
|
|
147
|
+
(`check_memory_proposal.ts`), surface the gap to the user.
|
|
147
148
|
|
|
148
|
-
If
|
|
149
|
-
explicitly — never silently use stale data.
|
|
149
|
+
If the lookup surfaces stale entries (past `review_after_days`),
|
|
150
|
+
surface them explicitly — never silently use stale data.
|
|
150
151
|
|
|
151
152
|
## Output
|
|
152
153
|
|
|
@@ -181,8 +182,8 @@ The post-mortem produces, in order:
|
|
|
181
182
|
Severity is `near-miss`; the extra two questions apply.
|
|
182
183
|
- **Corrective actions without closure criteria** are non-actionable.
|
|
183
184
|
Always require a specific, testable done condition.
|
|
184
|
-
- **Stale memory entries**
|
|
185
|
-
silently reuse stale data.
|
|
185
|
+
- **Stale memory entries** must be surfaced as stale, never merged
|
|
186
|
+
into the findings. Never silently reuse stale data.
|
|
186
187
|
|
|
187
188
|
## See also
|
|
188
189
|
|
|
@@ -105,10 +105,9 @@ The checks below are stack-agnostic. For framework-specific conventions (PSR-12
|
|
|
105
105
|
|
|
106
106
|
## Before creating a PR
|
|
107
107
|
|
|
108
|
-
1.
|
|
109
|
-
2.
|
|
110
|
-
3.
|
|
111
|
-
4. Self-review the diff: `git diff origin/main..HEAD`.
|
|
108
|
+
1. When `quality.local_auto_run: true`: run the project's quality pipeline (see the stack carve-out for the exact commands — PHP: `quality-tools`) and tests via the project's runner (`make test`, `npm test`, `pytest`, `go test ./...`, or the project's wrapper script). Under the default (`false` / missing): skip both — remote CI on the PR is the gate.
|
|
109
|
+
2. Ensure CI passes on the branch (remote CI is authoritative).
|
|
110
|
+
3. Self-review the diff: `git diff origin/main..HEAD`.
|
|
112
111
|
|
|
113
112
|
## Receiving feedback
|
|
114
113
|
|
|
@@ -45,11 +45,11 @@ Only ask the user if inference fails and the command cannot proceed without the
|
|
|
45
45
|
| `.augment/commands/` | Shared commands (work across projects) |
|
|
46
46
|
| `agents/overrides/commands/` | Project-specific overrides (used instead of original) |
|
|
47
47
|
|
|
48
|
-
## Commands that dispatch to
|
|
48
|
+
## Commands that dispatch to the work engine
|
|
49
49
|
|
|
50
50
|
Most commands are pure markdown procedures — the agent reads the steps
|
|
51
|
-
and executes them. Two commands delegate to the `work_engine`
|
|
52
|
-
|
|
51
|
+
and executes them. Two commands delegate to the `work_engine` engine
|
|
52
|
+
(TypeScript, run via tsx) via the `./agent-config` dispatcher; both share the same
|
|
53
53
|
Option-A loop (read state → run engine → handle exit code → repeat),
|
|
54
54
|
they only differ in the input envelope they build:
|
|
55
55
|
|
|
@@ -59,7 +59,7 @@ Why optional + not yet blocking, + the upgrade trigger:
|
|
|
59
59
|
## Commands ARE Claude skills (projection reality)
|
|
60
60
|
|
|
61
61
|
Every `src/agent-src/commands/{name}.md` projects to
|
|
62
|
-
`.claude/skills/{slug}/SKILL.md` via `scripts/condense.
|
|
62
|
+
`.claude/skills/{slug}/SKILL.md` via `scripts/condense.ts`
|
|
63
63
|
(`generate_claude_commands`). Nested commands flatten with `-`
|
|
64
64
|
(`council/default.md` → `council-default`). Skills + commands share the
|
|
65
65
|
**same `.claude/skills/` namespace** — Claude does not distinguish them.
|
|
@@ -205,7 +205,7 @@ multi-paragraph explanation, extract it into a skill and call it.
|
|
|
205
205
|
### 6. Governance baseline (when introducing a new linter check)
|
|
206
206
|
|
|
207
207
|
**Advisory, reviewer-checked — no CI gate.** When the same PR adds a
|
|
208
|
-
new check to `scripts/skill_linter.
|
|
208
|
+
new check to `scripts/skill_linter.ts` (or strengthens an existing one)
|
|
209
209
|
such that previously-clean commands now warn, the PR body MUST record
|
|
210
210
|
the pre-existing violations on `main` in a Markdown table:
|
|
211
211
|
|
|
@@ -273,7 +273,7 @@ to every command you author.
|
|
|
273
273
|
## Cloud Behavior
|
|
274
274
|
|
|
275
275
|
On cloud surfaces (Claude.ai Web, Skills API) the package's
|
|
276
|
-
`scripts/skill_linter.
|
|
276
|
+
`scripts/skill_linter.ts`, `scripts/condense.ts`, and the `task`
|
|
277
277
|
runner are not available. This skill still applies — but with
|
|
278
278
|
prose-only validation:
|
|
279
279
|
|
|
@@ -29,7 +29,7 @@ Use when:
|
|
|
29
29
|
|
|
30
30
|
- Condense reply, commit message, PR body, ticket summary, or any deliverable written *for* human reader — those are carve-outs in [`telegraph-speak § Carve-outs`](../../rules/telegraph-speak.md) and stay verbatim.
|
|
31
31
|
- Condense path matching sensitive-file denylist (`.env*`, `.netrc`, `credentials*`, `secrets*`, `id_rsa*`, `*.pem|key|p12|pfx|crt|cer|jks`, `.ssh/*`) — script refuses with `SensitivePathError` and so should you.
|
|
32
|
-
- Condense generated file (`dist/agent-src/`, `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules`) — edit source in `.agent-src.uncondensed/` and regenerate via package's sync + generate-tools scripts (`scripts/condense.sh --sync` + `scripts/condense.
|
|
32
|
+
- Condense generated file (`dist/agent-src/`, `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules`) — edit source in `.agent-src.uncondensed/` and regenerate via package's sync + generate-tools scripts (`scripts/condense.sh --sync` + `scripts/condense.ts --generate-tools`).
|
|
33
33
|
- Hand-edit condensed memory file in place — run `--decondense` first; next condense pass refuses on body-hash drift (`CondensationRefused`).
|
|
34
34
|
- Commit condensed file without committing matching `.original.md` backup — round-trip breaks otherwise.
|
|
35
35
|
|
|
@@ -99,7 +99,7 @@ CLI exit codes:
|
|
|
99
99
|
- **Denylist false positive** — sensitive-looking filename outside denylist surface (project-specific naming) will still pass `assert_safe()`. Denylist necessary but not sufficient; maintainer responsible for never feeding secrets to condenseor.
|
|
100
100
|
- **Frontmatter ordering with existing keys** — if target already has frontmatter, condenseor preserves existing keys, drops any prior `original_sha256:` / `condensed_at:` entries, and appends new pair. Other agents reading file should treat SHA + timestamp pair as canonical condensation marker, not file size.
|
|
101
101
|
- **Negative savings on pointer-heavy files** — `templates/AGENTS.md` already following Thin-Root (≥ 40 % pointers, ≥ 60-char *why*-clauses) has little prose left to drop; condensation may net near-zero or even add bytes via frontmatter. Run [`agents-md-thin-root`](../agents-md-thin-root/SKILL.md) first to maximise pointer share, then measure whether this skill still pays.
|
|
102
|
-
- **Generated-tree drift** — condensing `.agent-src.uncondensed/templates/AGENTS.md` does NOT propagate to `.augment/`, `.claude/`, etc. until package's sync + generate-tools scripts run (`scripts/condense.sh --sync` + `scripts/condense.
|
|
102
|
+
- **Generated-tree drift** — condensing `.agent-src.uncondensed/templates/AGENTS.md` does NOT propagate to `.augment/`, `.claude/`, etc. until package's sync + generate-tools scripts run (`scripts/condense.sh --sync` + `scripts/condense.ts --generate-tools`). Always regenerate after condensing templated file.
|
|
103
103
|
|
|
104
104
|
## Measurement — when to condense
|
|
105
105
|
|
|
@@ -156,7 +156,7 @@ If the context file declares its own `load_context:` (chain reasoning),
|
|
|
156
156
|
use logical names rooted at the source — `contexts/<area>/<file>.md`
|
|
157
157
|
for package material or `agents/settings/contexts/<file>.md` for project-local
|
|
158
158
|
material. The `.agent-src.uncondensed/` prefix is rejected by the
|
|
159
|
-
schema regex and by `scripts/lint_load_context.
|
|
159
|
+
schema regex and by `scripts/lint_load_context.ts`. Body links to
|
|
160
160
|
`docs/guidelines/...` use the verbatim `../../docs/...` relative form.
|
|
161
161
|
Canonical reference: `rule-writing` § 3b and
|
|
162
162
|
`docs/contracts/load-context-schema.md`.
|
|
@@ -108,7 +108,7 @@ human curates), a card is governed: it is a cache of *expensive* remote evidence
|
|
|
108
108
|
**negative facts + pointers** (`trust: durable`); its positive structure is a
|
|
109
109
|
per-line, last-verified **hypothesis** that loads as "Assumed (from card)" and
|
|
110
110
|
must be re-confirmed against the live source before use. Cards pass the
|
|
111
|
-
`check_knowledge_cards.
|
|
111
|
+
`check_knowledge_cards.ts` pointer-CI (size ≤ 150, mandatory authoritative
|
|
112
112
|
pointer, trust tagging, multi-evidence consistency). See
|
|
113
113
|
[`source-discovery`](../source-discovery/SKILL.md) for when a structure is
|
|
114
114
|
card-worthy and [`evidence-discipline`](../../agent-src/contexts/execution/evidence-discipline.md)
|
|
@@ -156,7 +156,7 @@ about the project** over time:
|
|
|
156
156
|
Before deduplicating, run three scans:
|
|
157
157
|
|
|
158
158
|
1. **Legacy identifier scan** — compare both files against the package's
|
|
159
|
-
`FORBIDDEN_IDENTIFIERS` blocklist (see `scripts/check_portability.
|
|
159
|
+
`FORBIDDEN_IDENTIFIERS` blocklist (see `scripts/check_portability.ts`)
|
|
160
160
|
plus any project names from `agents/` module docs that don't match
|
|
161
161
|
the current project.
|
|
162
162
|
2. **Stack coherence scan** — auto-detect the actual stack from
|
|
@@ -36,7 +36,8 @@ frontend-hardcoded axis moved into the manifest. Full license obligations:
|
|
|
36
36
|
- A skill needs **pre-action selection** grounded in curated knowledge
|
|
37
37
|
("which layout pattern / threat class / index strategy applies here").
|
|
38
38
|
- You are authoring a **new domain corpus** — write a manifest + CSVs,
|
|
39
|
-
validate with `ground
|
|
39
|
+
validate with the grounding CLI (`ground validate` via ./scripts-run),
|
|
40
|
+
never fork the engine.
|
|
40
41
|
- You need stack-scoped Do/Don't guidance (`--stack react …`).
|
|
41
42
|
|
|
42
43
|
## Do NOT
|
|
@@ -92,7 +93,8 @@ Stable v1 surface:
|
|
|
92
93
|
search_stack, evaluate_rules, ground, persist_grounding}`,
|
|
93
94
|
`schema_validator.{load_manifest, validate_manifest, resolve_data_path,
|
|
94
95
|
ManifestError, MANIFEST_VERSION, TIERS}`.
|
|
95
|
-
2. **CLI** — `ground
|
|
96
|
+
2. **CLI** — the grounding CLI (`ground {search|ground|validate}` via
|
|
97
|
+
./scripts-run) with the flags shown above.
|
|
96
98
|
3. **Result shape** — search: `{domain|stack, query, file, count, results,
|
|
97
99
|
scores, filtered_from, confidence{label,score}, evidence_gap[]}`;
|
|
98
100
|
ground: `{domain, query, category, rule, rules_evaluation{matched,
|
|
@@ -138,7 +140,7 @@ Each domain ships `data/manifest.json` beside its CSVs — declaring its
|
|
|
138
140
|
"priority_domain": "style",
|
|
139
141
|
"name_columns": { "style": "Style Category" },
|
|
140
142
|
"plan": { "style": 3, "color": 2 },
|
|
141
|
-
"rules_module": "rules.
|
|
143
|
+
"rules_module": "rules.ts"
|
|
142
144
|
},
|
|
143
145
|
"owner": "package-maintainer",
|
|
144
146
|
"refresh_cadence": "quarterly",
|
|
@@ -151,8 +153,10 @@ Each domain ships `data/manifest.json` beside its CSVs — declaring its
|
|
|
151
153
|
- `owner`, `refresh_cadence`, `upstream{repo,sha,last_checked}` are
|
|
152
154
|
**required** — provenance discipline per ADR-061 §6; an unowned corpus
|
|
153
155
|
is not merged.
|
|
154
|
-
- `rules_module` (optional
|
|
155
|
-
|
|
156
|
+
- `rules_module` (optional TypeScript escape hatch where JSON rules cap
|
|
157
|
+
out — a module exposing `evaluate(rules, query, context)`; a legacy
|
|
158
|
+
`.py` name in a manifest is remapped to its `.ts`/`.js` twin) must live
|
|
159
|
+
beside the manifest — absolute paths and `..` are refused.
|
|
156
160
|
- Decision rules are surfaced as `matched` **and** `unmatched` — the full
|
|
157
161
|
rule space stays auditable, never a hidden gate.
|
|
158
162
|
|
|
@@ -162,7 +166,7 @@ Each domain ships `data/manifest.json` beside its CSVs — declaring its
|
|
|
162
166
|
row count; grounding must happen **before** action; "fits in 5 lines →
|
|
163
167
|
it's a rule, not a corpus".
|
|
164
168
|
2. Write `data/manifest.json` + CSVs in your domain skill; run
|
|
165
|
-
`ground
|
|
169
|
+
the grounding CLI (`ground validate` via ./scripts-run).
|
|
166
170
|
3. Name an owner + refresh cadence in the manifest, pin the upstream SHA.
|
|
167
171
|
4. Cite this skill from your domain skill; consult via the CLI (Tier-1
|
|
168
172
|
consultation default — propose grounded options, human confirms).
|
|
@@ -189,9 +193,9 @@ Each domain ships `data/manifest.json` beside its CSVs — declaring its
|
|
|
189
193
|
under the caller-chosen `DIR`; nothing else writes.
|
|
190
194
|
- **No network, no subprocess, no secrets** — pure stdlib; embeddings /
|
|
191
195
|
remote retrievers are intentionally not implemented (ADR-061 §2).
|
|
192
|
-
- `rules_module` executes manifest-adjacent
|
|
193
|
-
the skill that ships the manifest;
|
|
194
|
-
`resolve_data_path`.
|
|
196
|
+
- `rules_module` executes a manifest-adjacent TypeScript module (dynamic
|
|
197
|
+
`import()`) — same trust domain as the skill that ships the manifest;
|
|
198
|
+
containment enforced by `resolve_data_path`.
|
|
195
199
|
|
|
196
200
|
## See also
|
|
197
201
|
|
|
@@ -201,5 +205,6 @@ Each domain ships `data/manifest.json` beside its CSVs — declaring its
|
|
|
201
205
|
architecture, qualification rubric, fork resolutions.
|
|
202
206
|
- [`docs/contracts/skill-bundled-assets.md`](../../../docs/contracts/skill-bundled-assets.md)
|
|
203
207
|
— how bundled `scripts/` + `data/` reach consumer runtime.
|
|
204
|
-
- Tests: `tests/
|
|
205
|
-
`tests/
|
|
208
|
+
- Tests: `tests/scripts/skills_corpus_grounding_ground.test.ts`,
|
|
209
|
+
`tests/scripts/skills_corpus_grounding_bm25_search.test.ts`,
|
|
210
|
+
`tests/scripts/skills_corpus_grounding_schema_validator.test.ts`.
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
import * as fs from 'node:fs';
|
|
24
24
|
import * as path from 'node:path';
|
|
25
|
-
import { pathToFileURL } from 'node:url';
|
|
25
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
26
26
|
|
|
27
27
|
import {
|
|
28
28
|
PyFloat,
|
|
@@ -524,9 +524,30 @@ function _jsonStr(s: string): string {
|
|
|
524
524
|
return `${out}"`;
|
|
525
525
|
}
|
|
526
526
|
|
|
527
|
+
function _isCliEntry(): boolean {
|
|
528
|
+
if (process.argv[1] === undefined) {
|
|
529
|
+
return false;
|
|
530
|
+
}
|
|
531
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
532
|
+
if (import.meta.url === argvUrl) {
|
|
533
|
+
return true;
|
|
534
|
+
}
|
|
535
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
536
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
537
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
538
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
539
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
540
|
+
try {
|
|
541
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
542
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
543
|
+
return here === argv;
|
|
544
|
+
} catch {
|
|
545
|
+
return false;
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
|
|
527
549
|
const _isMain =
|
|
528
|
-
|
|
529
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
550
|
+
_isCliEntry();
|
|
530
551
|
if (_isMain) {
|
|
531
552
|
main()
|
|
532
553
|
.then((code) => {
|
|
@@ -27,7 +27,8 @@ Do NOT use when:
|
|
|
27
27
|
2. **Pick the surface** — Use the decision tables below to choose Grafana, app dashboard, or embed; document audience and refresh cadence.
|
|
28
28
|
3. **Draft the layout** — Sketch panels, choose visualization per signal (RED / USE / Golden Signals), define filters and thresholds.
|
|
29
29
|
**Ground the chart-type choice** in the adopted data-viz corpus instead
|
|
30
|
-
of memory:
|
|
30
|
+
of memory: `./scripts-run <skills-root>/corpus-grounding/scripts/ground
|
|
31
|
+
search --manifest
|
|
31
32
|
<skills-root>/design-intelligence/data/manifest.json --domain chart
|
|
32
33
|
"<data shape>"` returns the best chart type, when-NOT-to-use, data-volume
|
|
33
34
|
threshold, a11y grade + colorblind fallback, and a library
|
|
@@ -15,7 +15,8 @@ packs:
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
> **Grounded corpus (Tier-1 consultation):** symptom → index/strategy
|
|
18
|
-
> decisions come grounded —
|
|
18
|
+
> decisions come grounded — `./scripts-run
|
|
19
|
+
> <skills-root>/corpus-grounding/scripts/ground search --manifest
|
|
19
20
|
> <skills-root>/database/data/manifest.json "<symptom>"` returns root
|
|
20
21
|
> cause, strategy, good-code sketch, anti-pattern, and the verification
|
|
21
22
|
> probe (EXPLAIN expectation). Corpus:
|
|
@@ -19,8 +19,8 @@ packs:
|
|
|
19
19
|
"will this ever fire", "rewrite the description".
|
|
20
20
|
* Called from within the Draft phase of one of the writing skills
|
|
21
21
|
(`skill-writing`, `rule-writing`, `command-writing`, `guideline-writing`).
|
|
22
|
-
* Auditing a skill flagged by `audit_skill_descriptions.
|
|
23
|
-
`no-trigger-prefix`, or `description_too_long` in `skill_linter.
|
|
22
|
+
* Auditing a skill flagged by `audit_skill_descriptions.ts` as `too-short`,
|
|
23
|
+
`no-trigger-prefix`, or `description_too_long` in `skill_linter.ts`.
|
|
24
24
|
|
|
25
25
|
Do NOT use this skill when:
|
|
26
26
|
|
|
@@ -65,7 +65,7 @@ If the target is a skill, check for a trigger-eval report:
|
|
|
65
65
|
|
|
66
66
|
* `.agent-src.uncondensed/skills/{name}/evals/triggers.json` — the expected-trigger corpus
|
|
67
67
|
* `evals/last-run.json` — the most recent runner output (see
|
|
68
|
-
[`scripts/skill_trigger_eval.
|
|
68
|
+
[`scripts/skill_trigger_eval.ts`](../../../scripts/skill_trigger_eval.ts))
|
|
69
69
|
|
|
70
70
|
If `last-run.json` exists and contains failed queries for this skill,
|
|
71
71
|
extract the failure patterns and **use them to inform step 3 variants**.
|
|
@@ -159,14 +159,14 @@ and stop. Do not loop further.
|
|
|
159
159
|
* Do NOT propose more than 3 variants in one turn
|
|
160
160
|
* Do NOT change the skill name, body, or trigger phrases in the same turn
|
|
161
161
|
* Do NOT silently strip or reword quotes inside the description value
|
|
162
|
-
* Do NOT run `scripts/skill_trigger_eval.
|
|
162
|
+
* Do NOT run `scripts/skill_trigger_eval.ts` from inside this skill — eval
|
|
163
163
|
execution spends API tokens and is a separate user action
|
|
164
164
|
|
|
165
165
|
## Cloud Behavior
|
|
166
166
|
|
|
167
167
|
On cloud surfaces (Claude.ai Web, Skills API) the package's
|
|
168
|
-
`scripts/audit_skill_descriptions.
|
|
169
|
-
and `scripts/skill_trigger_eval.
|
|
168
|
+
`scripts/audit_skill_descriptions.ts`, `scripts/skill_linter.ts`,
|
|
169
|
+
and `scripts/skill_trigger_eval.ts` are not reachable. The skill
|
|
170
170
|
still applies — with prose-only inspection:
|
|
171
171
|
|
|
172
172
|
* Reason from the description text in the conversation. The agent
|
|
@@ -26,9 +26,9 @@ execution:
|
|
|
26
26
|
> consult this corpus FIRST and pre-fill the brief candidates — then the
|
|
27
27
|
> human confirms (`design_confirmed`). Corpus output is a **constraint
|
|
28
28
|
> set**, never final microcopy; the placeholder lock in
|
|
29
|
-
> `directives/ui/design.
|
|
29
|
+
> `directives/ui/design.ts` is unaffected.
|
|
30
30
|
>
|
|
31
|
-
> **Boundary (council-locked):** `design.
|
|
31
|
+
> **Boundary (council-locked):** `design.ts` stays a pure orchestration
|
|
32
32
|
> gate and never imports the engine — the corpus call lives HERE, in the
|
|
33
33
|
> skill layer, keeping the engine an optional dependency.
|
|
34
34
|
|
|
@@ -221,7 +221,8 @@ consistency; on a fresh session, re-hydrate `state.ui_design` from
|
|
|
221
221
|
The `review`/`polish` steps gate on `state.ui_review.a11y`. Ground two
|
|
222
222
|
finding classes instead of ad-hoc judgment:
|
|
223
223
|
|
|
224
|
-
- **Chart-type findings** —
|
|
224
|
+
- **Chart-type findings** — the grounding CLI (`ground` via
|
|
225
|
+
./scripts-run) — `…/ground search --manifest … --domain
|
|
225
226
|
chart "<data shape>"` → `Accessibility Grade`, `A11y Fallback`,
|
|
226
227
|
`Color Guidance` columns justify "wrong chart type / missing colorblind
|
|
227
228
|
fallback" findings with a citable row.
|
|
@@ -260,7 +261,7 @@ guidance + docs URLs from here instead of memory.
|
|
|
260
261
|
|
|
261
262
|
- Do NOT let the corpus write microcopy — it supplies constraint sets;
|
|
262
263
|
final strings are agent-written (placeholder lock stays in force).
|
|
263
|
-
- Do NOT import the engine into `directives/ui/design.
|
|
264
|
+
- Do NOT import the engine into `directives/ui/design.ts` — council
|
|
264
265
|
boundary; the corpus call lives in this skill layer.
|
|
265
266
|
- Do NOT propose a new component the `existing-ui-audit` inventory
|
|
266
267
|
already covers — audit findings outrank corpus suggestions.
|
|
@@ -273,7 +274,7 @@ guidance + docs URLs from here instead of memory.
|
|
|
273
274
|
| What already exists (components, tokens) | [`existing-ui-audit`](../existing-ui-audit/SKILL.md) — mandatory pre-step; audit findings outrank corpus suggestions |
|
|
274
275
|
| What to build (grounded selection) | **this skill** |
|
|
275
276
|
| Stack-agnostic heuristics + flow | [`fe-design`](../fe-design/SKILL.md) — invokes this skill for grounding |
|
|
276
|
-
| Orchestration gates + locks | `directives/ui/{design,review,polish}.
|
|
277
|
+
| Orchestration gates + locks | `directives/ui/{design,review,polish}.ts` — never import the engine |
|
|
277
278
|
| WCAG audit method | [`accessibility-auditor`](../accessibility-auditor/SKILL.md) |
|
|
278
279
|
| Token authoring | [`design-tokens`](../design-tokens/SKILL.md) |
|
|
279
280
|
| Lo-fi structure exploration (pre-selection) | [`wireframe`](../wireframe/SKILL.md) — disposable greyscale variants |
|
|
@@ -21,14 +21,14 @@ execution:
|
|
|
21
21
|
|
|
22
22
|
> Token *authoring* skill: the 3-layer DTCG model
|
|
23
23
|
> (**primitive → semantic → component**) with light/dark theming, a
|
|
24
|
-
>
|
|
25
|
-
>
|
|
24
|
+
> TypeScript toolchain (`scripts/tokens.ts` — generate / validate /
|
|
25
|
+
> embed, run via ./scripts-run), and a starter template. Selection of
|
|
26
26
|
> *which* token values fit the product comes grounded from
|
|
27
27
|
> [`design-intelligence`](../design-intelligence/SKILL.md) (WCAG-adjusted
|
|
28
28
|
> color sets, typography pairings); this skill turns the selection into a
|
|
29
29
|
> maintained token system.
|
|
30
30
|
|
|
31
|
-
Toolchain provenance:
|
|
31
|
+
Toolchain provenance: port of the upstream `.cjs` trio
|
|
32
32
|
(`generate-tokens`, `validate-tokens`, `embed-tokens`) from
|
|
33
33
|
`nextlevelbuilder/ui-ux-pro-max-skill` `design-system` sub-skill
|
|
34
34
|
@ `b7e3af80f6e331f6fb456667b82b12cade7c9d35` (MIT, last checked
|
|
@@ -59,7 +59,7 @@ under `dark.semantic.*` overriding the same semantic names (emitted as a
|
|
|
59
59
|
(DTCG). Start from
|
|
60
60
|
[the bundled starter template](templates/design-tokens-starter.json).
|
|
61
61
|
|
|
62
|
-
## Toolchain (`scripts/tokens.
|
|
62
|
+
## Toolchain (`scripts/tokens.ts` — skill-relative, any cwd)
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
65
|
# tokens.json → CSS variables (primitives + semantic + components + .dark)
|
|
@@ -140,4 +140,4 @@ four-operation split assigns to *rules/linters*, not the corpus).
|
|
|
140
140
|
- [`tailwind-engineer`](../tailwind-engineer/SKILL.md) — utility-discipline consumer.
|
|
141
141
|
- [`react-shadcn-ui`](../react-shadcn-ui/SKILL.md) — shadcn token conventions.
|
|
142
142
|
- [`docs/guidelines/design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md) — when authoring the colour layer, avoid the C5 cream/sand default palette (OKLCH L 0.84–0.97, C < 0.06) and C1 purple/violet primaries unless the brand explicitly defines them; the `brand-consistency` rule validates emitted tokens against the active brand profile.
|
|
143
|
-
- Tests: `tests/
|
|
143
|
+
- Tests: `tests/scripts/skills_design_tokens_tokens.test.ts`.
|