@event4u/agent-config 7.5.0 → 8.1.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 +8 -1
- package/AGENTS.md +9 -9
- package/CHANGELOG.md +317 -260
- package/README.md +35 -5
- package/dist/agent-src/commands/analytics/prune.md +1 -1
- package/dist/agent-src/commands/analytics/show.md +1 -1
- package/dist/agent-src/commands/analyze/decision.md +2 -2
- package/dist/agent-src/commands/analyze/incident.md +2 -2
- package/dist/agent-src/commands/analyze/near-miss.md +2 -2
- package/dist/agent-src/commands/analyze/postmortem.md +2 -2
- package/dist/agent-src/commands/analyze/premortem.md +2 -2
- package/dist/agent-src/commands/cost-report.md +25 -0
- package/dist/agent-src/commands/evals/analyze.json +30 -0
- package/dist/agent-src/commands/evals/mission-upgrade.json +30 -0
- package/dist/agent-src/commands/implement-ticket.md +1 -1
- package/dist/agent-src/commands/knowledge/forget.md +1 -1
- package/dist/agent-src/commands/knowledge/ingest.md +1 -1
- package/dist/agent-src/commands/knowledge/list.md +1 -1
- package/dist/agent-src/commands/memory/load.md +12 -11
- package/dist/agent-src/commands/memory/promote.md +30 -0
- package/dist/agent-src/commands/memory/propose.md +16 -2
- package/dist/agent-src/commands/mission/upgrade.md +1 -1
- package/dist/agent-src/commands/module/explore.md +11 -7
- package/dist/agent-src/commands/optimize-project.md +243 -0
- package/dist/agent-src/commands/optimize.md +5 -0
- package/dist/agent-src/commands/pr/create.md +37 -8
- package/dist/agent-src/commands/prediction-pool.md +2 -2
- package/dist/agent-src/commands/profile/activate.md +3 -3
- package/dist/agent-src/commands/profile/deactivate.md +2 -2
- package/dist/agent-src/commands/profile/show.md +3 -3
- package/dist/agent-src/commands/research/deep.md +5 -0
- package/dist/agent-src/commands/research/report.md +2 -1
- package/dist/agent-src/commands/roadmap/create.md +88 -10
- package/dist/agent-src/commands/roadmap/materialize.md +1 -1
- package/dist/agent-src/commands/roadmap/process-full.md +15 -2
- package/dist/agent-src/commands/roadmap/process-phase.md +18 -6
- package/dist/agent-src/commands/roadmap/process-step.md +4 -0
- package/dist/agent-src/commands/roadmap.md +1 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/sync-agent-settings.md +1 -1
- package/dist/agent-src/commands/sync-gitignore/fix.md +42 -6
- package/dist/agent-src/commands/team-knowledge/bootstrap.md +106 -0
- package/dist/agent-src/commands/team-knowledge/consolidate.md +105 -0
- package/dist/agent-src/commands/team-knowledge.md +64 -0
- package/dist/agent-src/contexts/authority/commit-mechanics.md +8 -0
- package/dist/agent-src/contexts/authority/destructive-mechanics.md +11 -0
- package/dist/agent-src/contexts/authority/scope-mechanics.md +25 -0
- package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +43 -0
- package/dist/agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
- package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +2 -2
- package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -0
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +14 -4
- package/dist/agent-src/contexts/execution/autonomy-mechanics.md +11 -0
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +32 -8
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +107 -0
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +71 -15
- package/dist/agent-src/contexts/execution/subagent-steering.md +41 -1
- package/dist/agent-src/contexts/override-system.md +1 -1
- package/dist/agent-src/personas/brand-strategist.md +0 -1
- package/dist/agent-src/personas/data-integrity.md +66 -0
- package/dist/agent-src/personas/design-director.md +0 -1
- package/dist/agent-src/personas/performance-engineer.md +66 -0
- package/dist/agent-src/personas/production-validator.md +73 -0
- package/dist/agent-src/rules/agent-authority.md +3 -4
- package/dist/agent-src/rules/analysis-skill-routing.md +3 -5
- package/dist/agent-src/rules/architecture.md +2 -4
- package/dist/agent-src/rules/artifact-drafting-protocol.md +35 -6
- package/dist/agent-src/rules/artifact-engagement-recording.md +2 -4
- package/dist/agent-src/rules/ask-when-uncertain.md +10 -14
- package/dist/agent-src/rules/augment-edit-discipline.md +3 -5
- package/dist/agent-src/rules/autonomous-execution.md +3 -5
- package/dist/agent-src/rules/brand-consistency.md +3 -5
- package/dist/agent-src/rules/brand-source-of-truth.md +3 -5
- package/dist/agent-src/rules/cli-output-handling.md +4 -6
- package/dist/agent-src/rules/command-suggestion-policy.md +3 -5
- package/dist/agent-src/rules/commit-conventions.md +3 -5
- package/dist/agent-src/rules/commit-policy.md +18 -10
- package/dist/agent-src/rules/content-quoting-floor.md +88 -0
- package/dist/agent-src/rules/context-hygiene.md +3 -5
- package/dist/agent-src/rules/copilot-routing.md +4 -6
- package/dist/agent-src/rules/decision-revisit-gate.md +120 -0
- package/dist/agent-src/rules/delegation-policy.md +10 -6
- package/dist/agent-src/rules/design-fidelity.md +3 -5
- package/dist/agent-src/rules/devcontainer-routing.md +4 -6
- package/dist/agent-src/rules/direct-answers.md +13 -17
- package/dist/agent-src/rules/docker-commands.md +3 -5
- package/dist/agent-src/rules/domain-adoption-policy.md +3 -5
- package/dist/agent-src/rules/domain-safety-disclaimer.md +3 -5
- package/dist/agent-src/rules/domain-safety-pii.md +3 -5
- package/dist/agent-src/rules/domain-safety-retention.md +3 -5
- package/dist/agent-src/rules/downstream-changes.md +3 -4
- package/dist/agent-src/rules/engineering-safety-floor.md +3 -5
- package/dist/agent-src/rules/external-reference-deep-dive.md +3 -5
- package/dist/agent-src/rules/fast-path-marker-visibility.md +3 -5
- package/dist/agent-src/rules/finance-safety-floor.md +3 -6
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -5
- package/dist/agent-src/rules/git-history-discipline.md +3 -5
- package/dist/agent-src/rules/guidelines.md +2 -4
- package/dist/agent-src/rules/icon-consistency.md +3 -5
- package/dist/agent-src/rules/image-likeness-and-rights.md +3 -5
- package/dist/agent-src/rules/improve-before-implement.md +5 -5
- package/dist/agent-src/rules/invite-challenge.md +3 -5
- package/dist/agent-src/rules/language-and-tone.md +13 -15
- package/dist/agent-src/rules/laravel-routing.md +3 -5
- package/dist/agent-src/rules/laravel-translations.md +3 -5
- package/dist/agent-src/rules/legal-safety-floor.md +3 -5
- package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -5
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +4 -7
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -5
- package/dist/agent-src/rules/markdown-safe-codeblocks.md +2 -4
- package/dist/agent-src/rules/media-governance-routing.md +3 -5
- package/dist/agent-src/rules/media-sync-ground-truth.md +3 -5
- package/dist/agent-src/rules/minimal-safe-diff.md +5 -5
- package/dist/agent-src/rules/missing-tool-handling.md +3 -5
- package/dist/agent-src/rules/model-recommendation.md +4 -6
- package/dist/agent-src/rules/no-attribution-footers.md +3 -5
- package/dist/agent-src/rules/no-cheap-questions.md +5 -8
- package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +3 -6
- package/dist/agent-src/rules/no-pr-progress-comments.md +3 -6
- package/dist/agent-src/rules/no-roadmap-references.md +3 -5
- package/dist/agent-src/rules/non-destructive-by-default.md +11 -13
- package/dist/agent-src/rules/notes-first-reasoning.md +3 -5
- package/dist/agent-src/rules/onboarding-gate.md +4 -6
- package/dist/agent-src/rules/output-discipline.md +3 -5
- package/dist/agent-src/rules/package-ci-checks.md +3 -5
- package/dist/agent-src/rules/persona-governance.md +2 -4
- package/dist/agent-src/rules/php-coding.md +3 -5
- package/dist/agent-src/rules/preservation-guard.md +2 -4
- package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -5
- package/dist/agent-src/rules/reviewer-awareness.md +5 -6
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +3 -5
- package/dist/agent-src/rules/roadmap-progress-sync.md +5 -5
- package/dist/agent-src/rules/role-mode-adherence.md +2 -4
- package/dist/agent-src/rules/rule-type-governance.md +3 -5
- package/dist/agent-src/rules/runtime-safety.md +2 -4
- package/dist/agent-src/rules/scope-control.md +10 -11
- package/dist/agent-src/rules/security-sensitive-stop.md +4 -5
- package/dist/agent-src/rules/size-enforcement.md +2 -4
- package/dist/agent-src/rules/skill-improvement-trigger.md +3 -5
- package/dist/agent-src/rules/skill-quality.md +3 -5
- package/dist/agent-src/rules/slash-command-routing-policy.md +3 -5
- package/dist/agent-src/rules/source-confidentiality.md +3 -5
- package/dist/agent-src/rules/source-discovery-gate.md +3 -5
- package/dist/agent-src/rules/source-of-truth.md +3 -5
- package/dist/agent-src/rules/strategy-safety-floor.md +3 -5
- package/dist/agent-src/rules/symfony-routing.md +4 -6
- package/dist/agent-src/rules/telegraph-speak.md +4 -5
- package/dist/agent-src/rules/think-before-action.md +7 -4
- package/dist/agent-src/rules/token-budget-discipline.md +29 -5
- package/dist/agent-src/rules/token-efficiency.md +3 -5
- package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -5
- package/dist/agent-src/rules/tool-safety.md +2 -4
- package/dist/agent-src/rules/ui-audit-gate.md +3 -6
- package/dist/agent-src/rules/untrusted-input-defense.md +3 -5
- package/dist/agent-src/rules/upstream-proposal.md +4 -6
- package/dist/agent-src/rules/user-interaction.md +7 -5
- package/dist/agent-src/rules/user-interrupt-priority.md +17 -8
- package/dist/agent-src/rules/verify-before-complete.md +12 -22
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +3 -3
- package/dist/agent-src/scripts/update_roadmap_progress.ts +197 -7
- package/dist/agent-src/skills/adr-create/SKILL.md +48 -42
- package/dist/agent-src/skills/agent-docs-writing/SKILL.md +18 -0
- package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
- package/dist/agent-src/skills/ai-council/SKILL.md +14 -1
- package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +0 -3
- package/dist/agent-src/skills/brand/SKILL.md +1 -1
- package/dist/agent-src/skills/brand-identity/SKILL.md +3 -3
- package/dist/agent-src/skills/brand-strategy/SKILL.md +1 -1
- package/dist/agent-src/skills/brand-to-tokens/SKILL.md +3 -3
- package/dist/agent-src/skills/canvas-design/SKILL.md +6 -0
- package/dist/agent-src/skills/check-refs/SKILL.md +7 -4
- package/dist/agent-src/skills/code-review/SKILL.md +1 -0
- package/dist/agent-src/skills/complexity-first-planning/SKILL.md +6 -5
- package/dist/agent-src/skills/condense-memory/SKILL.md +11 -11
- package/dist/agent-src/skills/context-document/SKILL.md +17 -0
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +3 -3
- package/dist/agent-src/skills/decision-record/SKILL.md +6 -0
- package/dist/agent-src/skills/decision-review/SKILL.md +5 -3
- package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +6 -1
- package/dist/agent-src/skills/design-intelligence/SKILL.md +5 -2
- package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
- package/dist/agent-src/skills/design-tokens/SKILL.md +10 -4
- package/dist/agent-src/skills/design-variations/SKILL.md +127 -0
- package/dist/agent-src/skills/design-variations/evals/triggers.json +17 -0
- package/dist/agent-src/skills/emit-tickets/SKILL.md +4 -4
- package/dist/agent-src/skills/fe-design/SKILL.md +20 -0
- package/dist/agent-src/skills/html-deck/SKILL.md +123 -0
- package/dist/agent-src/skills/html-deck/evals/triggers.json +17 -0
- package/dist/agent-src/skills/html-deck/templates/deck-shell.html +77 -0
- package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -0
- package/dist/agent-src/skills/laravel/SKILL.md +0 -1
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +46 -0
- package/dist/agent-src/skills/lint-skills/SKILL.md +6 -6
- package/dist/agent-src/skills/md-language-check/SKILL.md +3 -3
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +66 -1
- package/dist/agent-src/skills/migration-architect/SKILL.md +1 -0
- package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +2 -2
- package/dist/agent-src/skills/performance-analysis/SKILL.md +2 -0
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +4 -4
- package/dist/agent-src/skills/premortem/SKILL.md +0 -3
- package/dist/agent-src/skills/project-analysis-core/SKILL.md +16 -0
- package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +3 -1
- package/dist/agent-src/skills/release-comms/SKILL.md +46 -45
- package/dist/agent-src/skills/roadmap-management/SKILL.md +21 -0
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +32 -2
- package/dist/agent-src/skills/root-cause-frameworks/SKILL.md +0 -3
- package/dist/agent-src/skills/security-audit/SKILL.md +1 -0
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -0
- package/dist/agent-src/skills/source-discovery/SKILL.md +22 -3
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +33 -14
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +11 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +8 -0
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +29 -0
- package/dist/agent-src/skills/threat-modeling/SKILL.md +2 -2
- package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
- package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +2 -0
- package/dist/agent-src/skills/wireframe/SKILL.md +118 -0
- package/dist/agent-src/skills/wireframe/evals/triggers.json +17 -0
- package/dist/agent-src/templates/agent-settings.md +22 -1
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/command.md +2 -2
- package/dist/agent-src/templates/contexts/knowledge-pages.md +116 -0
- package/dist/agent-src/templates/hooks/pre-commit-frontmatter +1 -1
- package/dist/agent-src/templates/roadmaps.md +70 -2
- package/dist/agent-src/templates/rule.md +1 -1
- package/dist/agent-src/templates/scripts/README.md +3 -3
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +109 -0
- package/dist/agent-src/templates/tickets.md +8 -8
- package/dist/cli/commands/recordTriggerEval.test.js +1 -1
- package/dist/cli/commands/recordTriggerEval.test.js.map +1 -1
- package/dist/cli/initRouting.js +4 -2
- package/dist/cli/initRouting.js.map +1 -1
- package/dist/cli/registry.js +1 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +718 -240
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +8 -8
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +43 -28
- package/dist/discovery/trust-report.md +12 -11
- package/dist/discovery/workspaces.json +29 -18
- package/dist/install/preflight.js +173 -0
- package/dist/install/preflight.js.map +1 -0
- package/dist/mcp/registry-manifest.json +4 -4
- package/dist/router.json +1 -1
- package/dist/server/routes/settings.js +4 -0
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/schemas/settings.js +3 -1
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +108 -0
- package/docs/MIGRATION.md +3 -3
- package/docs/architecture.md +5 -5
- package/docs/archive/CHANGELOG-pre-8.0.0.md +301 -0
- package/docs/benchmark.md +133 -2
- package/docs/benchmark.pinned.yml +31 -0
- package/docs/capability-matrix.md +1 -0
- package/docs/catalog.md +70 -60
- package/docs/command-flows.md +15 -3
- package/docs/comparison.yaml +35 -0
- package/docs/contracts/agents-layout.md +148 -0
- package/docs/contracts/brand-token-consumption.md +5 -0
- package/docs/contracts/capability-boundary.md +5 -0
- package/docs/contracts/command-category-governance.md +5 -0
- package/docs/contracts/command-clusters.md +1 -0
- package/docs/contracts/command-surface-tiers.md +1 -1
- package/docs/contracts/conformance.md +84 -0
- package/docs/contracts/creative-pack-boundary.md +5 -0
- package/docs/contracts/discovery-manifest.schema.json +5 -4
- package/docs/contracts/file-ownership-matrix.json +4605 -985
- package/docs/contracts/governance-enforcement-projection.md +5 -0
- package/docs/contracts/gui-wizard.md +1 -1
- package/docs/contracts/hook-architecture-v1.md +2 -2
- package/docs/contracts/implement-ticket-flow.md +1 -1
- package/docs/contracts/kernel-membership.md +13 -0
- package/docs/contracts/mcp-tool-inventory.md +23 -23
- package/docs/contracts/no-runtime-boundary.md +6 -1
- package/docs/contracts/review-lens-schema.md +5 -0
- package/docs/contracts/rule-router.md +102 -8
- package/docs/contracts/skill-bundled-assets.md +1 -1
- package/docs/contracts/skill-dry-run.md +1 -1
- package/docs/contracts/subagent-boundary.md +5 -0
- package/docs/contracts/ticket-bundle-format.md +9 -4
- package/docs/contracts/tier-3-contrib-plugin.md +2 -2
- package/docs/contracts/write-engine.md +3 -0
- package/docs/customization.md +87 -15
- package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +1 -1
- package/docs/decisions/ADR-109-subagent-v1-contract.md +246 -0
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +105 -0
- package/docs/decisions/INDEX.md +2 -0
- package/docs/distribution/awesome-list-submission.md +46 -0
- package/docs/distribution/launch-story-draft.md +58 -0
- package/docs/end-to-end-walkthroughs.md +2 -2
- package/docs/getting-started.md +2 -2
- package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +24 -0
- package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +1 -1
- package/docs/guidelines/agent-infra/linked-projects-onboarding-gate.md +2 -2
- package/docs/guidelines/agent-infra/missing-tool-handling.md +3 -3
- package/docs/guidelines/agent-infra/verify-before-complete-demos.md +2 -2
- package/docs/guidelines/augment-portability-patterns.md +1 -1
- package/docs/guidelines/code-clarity.md +19 -0
- package/docs/guidelines/design-antipatterns-triggers.json +2 -1
- package/docs/guidelines/design-antipatterns.md +10 -1
- package/docs/guidelines/design-modes.md +6 -0
- package/docs/guidelines/php/general.md +9 -1
- package/docs/guidelines/php/php-coding-patterns.md +7 -0
- package/docs/guides/cross-repo-retrieval.md +1 -1
- package/docs/guides/frontend-design-corpus-refresh.md +2 -2
- package/docs/guides/local-analytics.md +4 -4
- package/docs/guides/skill-discovery.md +1 -1
- package/docs/guides/skill-preview.md +1 -1
- package/docs/hook-payload-capture.md +6 -6
- package/docs/install-friction-report.md +66 -0
- package/docs/installation.md +1 -1
- package/docs/maintainers/optional-media-deps.md +50 -0
- package/docs/mcp-server.md +11 -12
- package/docs/media/proof-demo.cast +14 -0
- package/docs/media/proof-demo.gif +0 -0
- package/docs/migration/consumer-template-consumption-model.md +1 -1
- package/docs/migration/divergences/bench-stats-float-precision.md +1 -1
- package/docs/migration/node-floor.md +1 -1
- package/docs/migration/yaml-roundtrip-spike.md +1 -1
- package/docs/personas.md +16 -5
- package/docs/positioning-evidence.md +86 -0
- package/docs/proof.md +86 -0
- package/docs/skills-catalog.md +1 -1
- package/docs/troubleshooting.md +8 -8
- package/docs/wedge/production-validator/README.md +57 -0
- package/docs/wedge/production-validator/production-validator.md +56 -0
- package/docs/wizard.md +2 -2
- package/package.json +1 -1
- package/src/config/agent-settings.template.yml +59 -4
- package/src/config/agents-paths.yml +254 -0
- package/src/config/budgets.yml +16 -0
- package/src/config/discovery/packs.yml +1 -0
- package/src/config/discovery/unassigned-artefacts.yml +2 -0
- package/src/config/gitignore-block.txt +25 -0
- package/src/config/host-capabilities.yml +31 -0
- package/src/config/profiles/balanced.ini +4 -0
- package/src/config/profiles/full.ini +4 -0
- package/src/config/profiles/minimal.ini +4 -0
- package/src/scripts/_cli/cmd_conformance.ts +716 -0
- package/src/scripts/_cli/cmd_doctor.ts +23 -2
- package/src/scripts/_cli/cmd_fleet.ts +401 -0
- package/src/scripts/_cli/cmd_preflight.ts +159 -0
- package/src/scripts/_dispatch.bash +10 -0
- package/src/scripts/_lib/knowledge_events.ts +193 -0
- package/src/scripts/_lib/subagent_steering.ts +115 -3
- package/src/scripts/_lib/text_similarity.ts +75 -0
- package/src/scripts/ai-video/test-pipeline.sh +1 -1
- package/src/scripts/ai_council/clients.ts +19 -3
- package/src/scripts/append_contested.ts +112 -0
- package/src/scripts/audit_auto_rules.ts +11 -1
- package/src/scripts/audit_mcp_tools.ts +25 -11
- package/src/scripts/bench_ab_v2_run.ts +527 -40
- package/src/scripts/bench_ab_v2_stats.ts +6 -0
- package/src/scripts/bench_matrix.ts +266 -0
- package/src/scripts/bootstrap_knowledge.ts +267 -0
- package/src/scripts/build_discovery_manifest.ts +42 -2
- package/src/scripts/build_proof.ts +214 -0
- package/src/scripts/check_always_budget.ts +3 -0
- package/src/scripts/check_augment_description_cap.ts +2 -2
- package/src/scripts/check_claims.ts +270 -0
- package/src/scripts/check_comparison.ts +79 -0
- package/src/scripts/check_generated_artefact_headers.ts +109 -0
- package/src/scripts/check_generator_output_coverage.ts +142 -0
- package/src/scripts/check_gitignore_freshness.ts +127 -0
- package/src/scripts/check_knowledge_pages.ts +210 -0
- package/src/scripts/check_knowledge_sharing.ts +162 -0
- package/src/scripts/check_media_deps.ts +91 -0
- package/src/scripts/check_memory_contradiction.ts +280 -0
- package/src/scripts/check_memory_similarity.ts +134 -0
- package/src/scripts/check_quality_regression.ts +56 -10
- package/src/scripts/check_references.ts +3 -1
- package/src/scripts/check_release_pr_shape.ts +4 -0
- package/src/scripts/check_site_links.ts +135 -0
- package/src/scripts/check_skill_gaps.ts +99 -0
- package/src/scripts/check_token_quality_golden.ts +197 -11
- package/src/scripts/check_tracked_but_ignored.ts +67 -0
- package/src/scripts/cluster_near_miss_patterns.ts +0 -0
- package/src/scripts/compile_router.ts +30 -3
- package/src/scripts/condense.ts +350 -14
- package/src/scripts/consolidate_knowledge_events.ts +192 -0
- package/src/scripts/degrade_to_pointer.ts +136 -0
- package/src/scripts/design_slop_rules.test.ts +15 -0
- package/src/scripts/design_slop_rules.ts +28 -0
- package/src/scripts/emit_knowledge_event.ts +158 -0
- package/src/scripts/export_replay_corpus.ts +187 -0
- package/src/scripts/external_sources_denylist.json +7 -2
- package/src/scripts/fold_intake.ts +281 -0
- package/src/scripts/generate_capability_matrix.ts +9 -1
- package/src/scripts/generate_knowledge_index.ts +222 -0
- package/src/scripts/hook_manifest.yaml +26 -14
- package/src/scripts/hooks/dispatch_hook.ts +18 -0
- package/src/scripts/hot_context_hook.ts +372 -0
- package/src/scripts/install +47 -0
- package/src/scripts/install-hooks.sh +17 -0
- package/src/scripts/inventory_meta_layers.ts +11 -0
- package/src/scripts/janitor.ts +258 -0
- package/src/scripts/lint_agents_layout.ts +74 -15
- package/src/scripts/lint_bench_ab.ts +4 -1
- package/src/scripts/lint_featured_skills.ts +0 -0
- package/src/scripts/lint_framework_leakage_allowlist.json +26 -3
- package/src/scripts/lint_knowledge_scale.ts +250 -0
- package/src/scripts/lint_legal_pack.ts +67 -0
- package/src/scripts/lint_persona_governance.ts +8 -3
- package/src/scripts/lint_regression.ts +15 -0
- package/src/scripts/lint_roadmap_blockers.ts +202 -0
- package/src/scripts/lint_roadmap_complexity.ts +81 -2
- package/src/scripts/lint_subagent_determinism.ts +125 -0
- package/src/scripts/measure_augment_budget.ts +46 -6
- package/src/scripts/measure_patterns.ts +4 -3
- package/src/scripts/measure_skill_reduction.ts +6 -6
- package/src/scripts/migration_status.ts +6 -2
- package/src/scripts/mine_missing_guardrails.ts +189 -0
- package/src/scripts/parity/phase_gate.ts +1 -1
- package/src/scripts/parity/replay.ts +21 -0
- package/src/scripts/project_thin_rules.ts +120 -16
- package/src/scripts/release.ts +39 -1
- package/src/scripts/render_benchmark_composite.ts +378 -0
- package/src/scripts/roadmap_progress_hook.ts +101 -43
- package/src/scripts/schemas/skill.schema.json +27 -0
- package/src/scripts/schemas/subagent.schema.json +106 -0
- package/src/scripts/skill_linter.ts +1 -0
- package/src/scripts/smoke/kernel.sh +5 -4
- package/src/scripts/surface-tiers.yml +1 -0
- package/src/scripts/sync_gitignore.ts +4 -0
- package/src/scripts/update_skill_candidates.ts +172 -0
- package/src/scripts/validate_frontmatter.ts +1 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
model_tier: inherit
|
|
3
|
+
name: html-deck
|
|
4
|
+
description: "Build a slide presentation as one HTML file — fixed 1920×1080 canvas letterboxed to any viewport, layout-system-first, type floors. Use for deck, slides, presentation, or pitch requests."
|
|
5
|
+
domain: product
|
|
6
|
+
personas: []
|
|
7
|
+
workspaces:
|
|
8
|
+
- engineering
|
|
9
|
+
packs:
|
|
10
|
+
- frontend-design
|
|
11
|
+
trust:
|
|
12
|
+
level: professional
|
|
13
|
+
install:
|
|
14
|
+
removable: true
|
|
15
|
+
execution:
|
|
16
|
+
type: manual
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# HTML Deck
|
|
20
|
+
|
|
21
|
+
Build a slide presentation as a single HTML file with fixed-size slides that
|
|
22
|
+
letterbox to any viewport. A deck is fixed-canvas media (default 1920×1080,
|
|
23
|
+
16:9) — a different medium from responsive UI and from static posters.
|
|
24
|
+
|
|
25
|
+
## When to use
|
|
26
|
+
|
|
27
|
+
- The user asks for a deck, presentation, slides, or a pitch as a web/HTML
|
|
28
|
+
deliverable.
|
|
29
|
+
|
|
30
|
+
**When NOT to use:** static single-image visual art (poster, PNG/PDF
|
|
31
|
+
one-off) → [`canvas-design`](../canvas-design/SKILL.md). Responsive product
|
|
32
|
+
UI → [`fe-design`](../fe-design/SKILL.md) + stack executor. Multiple styled
|
|
33
|
+
options of one screen → [`design-variations`](../design-variations/SKILL.md).
|
|
34
|
+
|
|
35
|
+
## Procedure
|
|
36
|
+
|
|
37
|
+
1. **Discovery.** Confirm: audience (engineers / executives / customers —
|
|
38
|
+
determines tone and density), aspect ratio (16:9 default), slide count vs
|
|
39
|
+
time budget (~1 slide/minute; most decks land at 8–15), tone, source
|
|
40
|
+
material (PRD/doc — read it before sketching), speaker notes (off unless
|
|
41
|
+
requested), and the brand / design system. No brand →
|
|
42
|
+
[`design-intelligence`](../design-intelligence/SKILL.md) direction first.
|
|
43
|
+
A fully specified ask ("5-slide deck for the all-hands from this PRD")
|
|
44
|
+
skips the question round.
|
|
45
|
+
2. **Commit to a layout system before any slide.** 4–6 layout types (cover,
|
|
46
|
+
section header, content, quote/pull-out, comparison two-column, closing/
|
|
47
|
+
CTA); per layout: background, headline size/position, body area, footer
|
|
48
|
+
treatment. 1–2 background colors across the deck (section headers may
|
|
49
|
+
break to a third). Record the system as a comment block at the top of the
|
|
50
|
+
file.
|
|
51
|
+
3. **Start from the deck-shell starter** (`templates/deck-shell.html`,
|
|
52
|
+
skill-local): fixed-canvas scaling + letterboxing, keyboard/tap
|
|
53
|
+
navigation, slide counter, `localStorage` slide-index persistence,
|
|
54
|
+
print-to-PDF CSS. Each slide is a direct child `<section>` with a
|
|
55
|
+
1-indexed `data-screen-label` ("01 Title") so the user can reference
|
|
56
|
+
slides by the counter they see.
|
|
57
|
+
4. **Build slide-by-slide, reveal early.** Show the file at 1–2 slides —
|
|
58
|
+
don't perfect 15 in private. Per slide: one primary message; **type
|
|
59
|
+
floors on a 1080p canvas: body ≥24px (32px+ preferred), headlines
|
|
60
|
+
60–96px+**; tokens from the active brand/design system (precedence per
|
|
61
|
+
`brand-source-of-truth`, emission per
|
|
62
|
+
[`design-tokens`](../design-tokens/SKILL.md)); honest placeholders for
|
|
63
|
+
missing imagery (striped background + monospace size label — see
|
|
64
|
+
[`fe-design § Craft details`](../fe-design/SKILL.md)); cut filler slides
|
|
65
|
+
("Why choose us?", "About this deck") and data that doesn't support the
|
|
66
|
+
slide's point.
|
|
67
|
+
5. **Speaker notes only when requested** — as a toggleable overlay or
|
|
68
|
+
per-slide `<aside hidden>`, never printed.
|
|
69
|
+
6. **Quality gate.** Run `lint_design_slop` over the file; honor the
|
|
70
|
+
outward-artifact hygiene floor (Q13 in
|
|
71
|
+
[`design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md))
|
|
72
|
+
— no workspace paths, skill/tool names, or generator traces in markup or
|
|
73
|
+
comments; final pass → [`design-review`](../design-review/SKILL.md).
|
|
74
|
+
Verify scaling + navigation + persistence once in a browser before
|
|
75
|
+
delivery.
|
|
76
|
+
|
|
77
|
+
## Output format
|
|
78
|
+
|
|
79
|
+
1. **One self-contained HTML file** built on the deck-shell: fixed-canvas
|
|
80
|
+
`<section>` slides with 1-indexed `data-screen-label`s, letterbox scaling,
|
|
81
|
+
keyboard/tap navigation, slide counter, `localStorage` persistence,
|
|
82
|
+
print-to-PDF CSS.
|
|
83
|
+
2. **Layout-system comment block** at the top of the file naming the 4–6
|
|
84
|
+
layout types and the background-color budget.
|
|
85
|
+
3. **Type-floor compliance** — body ≥24px, headlines 60–96px+ on the 1080p
|
|
86
|
+
canvas; deviations only with a stated reason.
|
|
87
|
+
4. **Clean slop scan + Q13** — `lint_design_slop` findings resolved or
|
|
88
|
+
DESIGN.md-justified; no system internals in the artifact.
|
|
89
|
+
|
|
90
|
+
## Do NOT
|
|
91
|
+
|
|
92
|
+
- Do NOT hand-roll the scaling/navigation — start from the deck-shell
|
|
93
|
+
starter; re-derived viewport math drifts.
|
|
94
|
+
- Do NOT use responsive units/breakpoints inside slides — a deck is
|
|
95
|
+
fixed-canvas; the shell scales the whole stage.
|
|
96
|
+
- Do NOT drop body text below 24px on a 1080p canvas — projector legibility
|
|
97
|
+
is the floor, not a preference.
|
|
98
|
+
- Do NOT pad with filler slides or invented stats — every slide earns its
|
|
99
|
+
place.
|
|
100
|
+
- Do NOT introduce per-slide ad-hoc colors/spacing — the layout system from
|
|
101
|
+
step 2 is the budget.
|
|
102
|
+
- Do NOT embed system internals (paths, skill/tool names, generator traces)
|
|
103
|
+
in the file — Q13.
|
|
104
|
+
|
|
105
|
+
## Gotcha
|
|
106
|
+
|
|
107
|
+
- `localStorage` persistence keys on `location.pathname` — two decks served
|
|
108
|
+
from the same path share a slide index; rename the file per deck or extend
|
|
109
|
+
the key when hosting several decks under one path.
|
|
110
|
+
- Print-to-PDF uses the fixed canvas per page: browsers map it onto the
|
|
111
|
+
paper size — set the print dialog to landscape + "fit to page" or the
|
|
112
|
+
slides clip; test one print preview before shipping a PDF.
|
|
113
|
+
- Emoji in slide headlines is the CP5 tell exactly as in product UI — the
|
|
114
|
+
deck medium doesn't exempt it.
|
|
115
|
+
|
|
116
|
+
## See also
|
|
117
|
+
|
|
118
|
+
- `templates/deck-shell.html` (skill-local) — the canonical shell; copy, don't re-derive.
|
|
119
|
+
- [`canvas-design`](../canvas-design/SKILL.md) — static posters/one-frame art (not decks).
|
|
120
|
+
- [`design-intelligence`](../design-intelligence/SKILL.md) — direction/palette/type grounding.
|
|
121
|
+
- [`design-tokens`](../design-tokens/SKILL.md) / [`brand-to-tokens`](../brand-to-tokens/SKILL.md) — token precedence and emission.
|
|
122
|
+
- [`design-review`](../design-review/SKILL.md) — final review gate.
|
|
123
|
+
- [`docs/guidelines/design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md) — catalog, CP5, Q13.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill": "html-deck",
|
|
3
|
+
"last_eval": "2026-07-06",
|
|
4
|
+
"description": "5 should-trigger + 5 should-not-trigger. Should-trigger covers deck/slides/presentation/pitch builds in HTML. Should-not-trigger covers near-miss neighbors: canvas-design (posters/static art), fe-design (responsive UI), design-variations (options), PowerPoint-file requests, and content-only outline asks.",
|
|
5
|
+
"queries": [
|
|
6
|
+
{"q": "make a 10-slide deck for the investor pitch", "trigger": true},
|
|
7
|
+
{"q": "build a presentation from this PRD for the engineering all-hands", "trigger": true},
|
|
8
|
+
{"q": "turn these notes into HTML slides I can present tomorrow", "trigger": true},
|
|
9
|
+
{"q": "create a pitch deck with our brand colors, 16:9", "trigger": true},
|
|
10
|
+
{"q": "I need a slide presentation that also prints to PDF", "trigger": true},
|
|
11
|
+
{"q": "design a poster for the conference booth", "trigger": false, "note": "static one-frame art → canvas-design"},
|
|
12
|
+
{"q": "build the landing page hero section", "trigger": false, "note": "responsive UI → fe-design / stack executor"},
|
|
13
|
+
{"q": "show me 3 design options for this dashboard", "trigger": false, "note": "options → design-variations"},
|
|
14
|
+
{"q": "write an outline for my talk", "trigger": false, "note": "content-only ask, no HTML deliverable"},
|
|
15
|
+
{"q": "export our Google Slides to PowerPoint", "trigger": false, "note": "file conversion, not an HTML deck build"}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<title>Deck</title>
|
|
7
|
+
<style>
|
|
8
|
+
/* Deck shell — fixed-canvas slides (default 1920×1080) letterboxed to any
|
|
9
|
+
viewport. Slides are direct children <section> of <main class="deck">. */
|
|
10
|
+
:root { --deck-w: 1920; --deck-h: 1080; }
|
|
11
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
12
|
+
html, body { height: 100%; background: #111; overflow: hidden; }
|
|
13
|
+
.deck { position: absolute; top: 50%; left: 50%; width: calc(var(--deck-w) * 1px); height: calc(var(--deck-h) * 1px); transform-origin: center center; }
|
|
14
|
+
.deck > section { position: absolute; inset: 0; display: none; overflow: hidden; background: #fafafa; color: #1a1a1a; }
|
|
15
|
+
.deck > section.active { display: block; }
|
|
16
|
+
.deck-counter { position: fixed; right: 16px; bottom: 12px; font: 14px/1 monospace; color: #888; z-index: 10; }
|
|
17
|
+
@media print {
|
|
18
|
+
html, body { height: auto; overflow: visible; background: none; }
|
|
19
|
+
.deck { position: static; transform: none !important; width: auto; height: auto; }
|
|
20
|
+
.deck > section { position: relative; display: block; width: calc(var(--deck-w) * 1px); height: calc(var(--deck-h) * 1px); page-break-after: always; }
|
|
21
|
+
.deck-counter { display: none; }
|
|
22
|
+
}
|
|
23
|
+
</style>
|
|
24
|
+
</head>
|
|
25
|
+
<body>
|
|
26
|
+
<main class="deck">
|
|
27
|
+
<!-- Each slide: <section data-screen-label="01 Title">…</section> (1-indexed
|
|
28
|
+
labels match the counter the viewer sees). Replace the samples. -->
|
|
29
|
+
<section data-screen-label="01 Title">
|
|
30
|
+
<h1 style="font-size:96px;padding:120px">Deck title</h1>
|
|
31
|
+
</section>
|
|
32
|
+
<section data-screen-label="02 Content">
|
|
33
|
+
<h2 style="font-size:64px;padding:120px 120px 40px">Section</h2>
|
|
34
|
+
<p style="font-size:32px;padding:0 120px">Body text on a 1080p canvas stays at 24px minimum; 32px preferred.</p>
|
|
35
|
+
</section>
|
|
36
|
+
</main>
|
|
37
|
+
<div class="deck-counter" aria-hidden="true"></div>
|
|
38
|
+
<script>
|
|
39
|
+
(() => {
|
|
40
|
+
const deck = document.querySelector(".deck");
|
|
41
|
+
const slides = Array.from(deck.querySelectorAll(":scope > section"));
|
|
42
|
+
const counter = document.querySelector(".deck-counter");
|
|
43
|
+
const KEY = "deck-slide:" + location.pathname;
|
|
44
|
+
let i = Math.min(parseInt(localStorage.getItem(KEY) || "0", 10) || 0, slides.length - 1);
|
|
45
|
+
|
|
46
|
+
function show(n) {
|
|
47
|
+
i = Math.max(0, Math.min(n, slides.length - 1));
|
|
48
|
+
slides.forEach((s, k) => s.classList.toggle("active", k === i));
|
|
49
|
+
counter.textContent = (i + 1) + " / " + slides.length;
|
|
50
|
+
localStorage.setItem(KEY, String(i));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function fit() {
|
|
54
|
+
const w = parseFloat(getComputedStyle(document.documentElement).getPropertyValue("--deck-w"));
|
|
55
|
+
const h = parseFloat(getComputedStyle(document.documentElement).getPropertyValue("--deck-h"));
|
|
56
|
+
const scale = Math.min(innerWidth / w, innerHeight / h);
|
|
57
|
+
deck.style.transform = "translate(-50%, -50%) scale(" + scale + ")";
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
addEventListener("keydown", (e) => {
|
|
61
|
+
if (e.key === "ArrowRight" || e.key === "PageDown" || e.key === " ") show(i + 1);
|
|
62
|
+
else if (e.key === "ArrowLeft" || e.key === "PageUp") show(i - 1);
|
|
63
|
+
else if (e.key === "Home") show(0);
|
|
64
|
+
else if (e.key === "End") show(slides.length - 1);
|
|
65
|
+
});
|
|
66
|
+
// Tap/click navigation: right two-thirds advances, left third goes back.
|
|
67
|
+
addEventListener("click", (e) => {
|
|
68
|
+
if (e.target.closest("a, button, input, textarea, select, [contenteditable]")) return;
|
|
69
|
+
show(e.clientX < innerWidth / 3 ? i - 1 : i + 1);
|
|
70
|
+
});
|
|
71
|
+
addEventListener("resize", fit);
|
|
72
|
+
fit();
|
|
73
|
+
show(i);
|
|
74
|
+
})();
|
|
75
|
+
</script>
|
|
76
|
+
</body>
|
|
77
|
+
</html>
|
|
@@ -3,6 +3,7 @@ model_tier: high
|
|
|
3
3
|
name: judge-code-quality
|
|
4
4
|
description: "Use when a diff needs a readability review — naming, single-responsibility, DRY, dead code, mismatch with codebase conventions — dispatched by /review-changes, /do-and-judge, /judge."
|
|
5
5
|
domain: quality
|
|
6
|
+
parallelizable: files
|
|
6
7
|
workspaces:
|
|
7
8
|
- agent-config-maintainer
|
|
8
9
|
packs:
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
model_tier: medium
|
|
3
3
|
name: laravel
|
|
4
|
-
source: package
|
|
5
4
|
description: "Writes Laravel PHP — Eloquent, Artisan controllers, FormRequests, jobs, events, policies, providers. For Symfony / Doctrine use `symfony-workflow`. For framework-free PHP use `php-coder`."
|
|
6
5
|
domain: engineering
|
|
7
6
|
workspaces:
|
|
@@ -233,6 +233,26 @@ before handing to `upstream-contribute`. The
|
|
|
233
233
|
gate is hard: non-zero exit = the proposal does not move
|
|
234
234
|
to stage `gated`.
|
|
235
235
|
|
|
236
|
+
### 9. Degrade the source to a pointer (when promoted from a knowledge page)
|
|
237
|
+
|
|
238
|
+
If the learning came from an `agents/knowledge/procedures/skill-candidates.md`
|
|
239
|
+
entry or any other `agents/knowledge/` page (see § "Knowledge-candidate
|
|
240
|
+
learnings" below), promotion is **not complete** until the source is
|
|
241
|
+
degraded to a pointer — this prevents double-maintenance between the
|
|
242
|
+
knowledge page and the new artifact:
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
./scripts-run src/scripts/degrade_to_pointer \
|
|
246
|
+
--source "agents/knowledge/procedures/skill-candidates.md#<topic>" \
|
|
247
|
+
--artifact "<promoted-artifact-path>" \
|
|
248
|
+
--date "<YYYY-MM-DD>"
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
This rewrites the source entry to `Promoted to <artifact> on <date>; see
|
|
252
|
+
<path>.` and regenerates `agents/knowledge/INDEX.md`. Skip when the
|
|
253
|
+
learning's source was NOT a knowledge page (direct user request,
|
|
254
|
+
audit-log pattern, one-off observation).
|
|
255
|
+
|
|
236
256
|
## Output format
|
|
237
257
|
|
|
238
258
|
For the **decision step** (what this skill prints to the user):
|
|
@@ -332,6 +352,32 @@ mining `agents/runtime/state/audit/<YYYY-MM>.jsonl`
|
|
|
332
352
|
and link the mining-script run id, so the human reviewer can
|
|
333
353
|
reproduce the pattern from the raw audit log.
|
|
334
354
|
|
|
355
|
+
## Knowledge-candidate learnings (optional source)
|
|
356
|
+
|
|
357
|
+
When the input is an entry from `agents/knowledge/procedures/skill-candidates.md`
|
|
358
|
+
that reached candidate status (≥ 3 mentions across distinct sessions —
|
|
359
|
+
see `update_skill_candidates.ts` and the
|
|
360
|
+
[`memory-consolidation`](../memory-consolidation/SKILL.md) recurrence
|
|
361
|
+
step):
|
|
362
|
+
|
|
363
|
+
1. Treat the candidate's topic as the **State the learning** step
|
|
364
|
+
input (§1). The repetition gate (§0) is already satisfied by the
|
|
365
|
+
≥ 3-mention threshold — skip straight to §3 (decide the target).
|
|
366
|
+
Overlap check (§4) and proposal draft (§8) remain mandatory.
|
|
367
|
+
2. **Ground the draft in the original session logs, never the
|
|
368
|
+
consolidated summary alone.** The candidate entry's `Sessions:`
|
|
369
|
+
list names the chat-history session ids the topic recurred in —
|
|
370
|
+
pull those via [`/chat-history import`](../../../commands/chat-history/import.md)
|
|
371
|
+
(select by id) or the host's native transcript view before
|
|
372
|
+
drafting. A skill written purely from the recurrence-counter
|
|
373
|
+
summary tends to be plausible but wrong; the original transcripts
|
|
374
|
+
carry the detail the summary dropped.
|
|
375
|
+
3. Set `source_learning` to the knowledge-candidate entry
|
|
376
|
+
(`agents/knowledge/procedures/skill-candidates.md#<topic>`).
|
|
377
|
+
4. **§9 (degrade the source) is mandatory for this source type** —
|
|
378
|
+
the whole point of the candidate counter is that it stops counting
|
|
379
|
+
once promoted.
|
|
380
|
+
|
|
335
381
|
## Environment notes
|
|
336
382
|
|
|
337
383
|
Prefer updating existing rule/skill when possible.
|
|
@@ -9,8 +9,8 @@ execution:
|
|
|
9
9
|
timeout_seconds: 120
|
|
10
10
|
allowed_tools: []
|
|
11
11
|
command:
|
|
12
|
-
-
|
|
13
|
-
- src/scripts/skill_linter
|
|
12
|
+
- ./scripts-run
|
|
13
|
+
- src/scripts/skill_linter
|
|
14
14
|
- "--all"
|
|
15
15
|
workspaces:
|
|
16
16
|
- agent-config-maintainer
|
|
@@ -39,8 +39,8 @@ Do NOT use when:
|
|
|
39
39
|
|
|
40
40
|
### 1. Inspect the environment
|
|
41
41
|
|
|
42
|
-
Confirm `
|
|
43
|
-
repository root — the linter expects to find
|
|
42
|
+
Confirm `./scripts-run` is executable and the working directory is the agent-config
|
|
43
|
+
repository root — the linter expects to find `src/skills/`
|
|
44
44
|
and related directories relative to `cwd`.
|
|
45
45
|
|
|
46
46
|
### 2. Dispatch via the runtime layer
|
|
@@ -53,7 +53,7 @@ this skill's frontmatter governs the call:
|
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
The dispatcher resolves the request, the shell handler runs
|
|
56
|
-
|
|
56
|
+
`./scripts-run src/scripts/skill_linter --all`, captures stdout/stderr, and returns
|
|
57
57
|
a typed `ExecutionResult`.
|
|
58
58
|
|
|
59
59
|
### 3. Verify the result
|
|
@@ -64,7 +64,7 @@ Check the returned `ExecutionResult`:
|
|
|
64
64
|
- `exit_code: 1` → warnings only — review `stdout` for the listed warnings
|
|
65
65
|
- `exit_code: 2` → errors present — fix the flagged files before continuing
|
|
66
66
|
- `status: timeout` → the linter exceeded `timeout_seconds` — investigate
|
|
67
|
-
- `status: error` → the
|
|
67
|
+
- `status: error` → the runner could not launch — check that `./scripts-run`
|
|
68
68
|
is on `PATH` and the repository root is the current working directory
|
|
69
69
|
|
|
70
70
|
## Output format
|
|
@@ -9,8 +9,8 @@ execution:
|
|
|
9
9
|
timeout_seconds: 30
|
|
10
10
|
allowed_tools: []
|
|
11
11
|
command:
|
|
12
|
-
-
|
|
13
|
-
- scripts/check_md_language
|
|
12
|
+
- ./scripts-run
|
|
13
|
+
- src/scripts/check_md_language
|
|
14
14
|
workspaces:
|
|
15
15
|
- agent-config-maintainer
|
|
16
16
|
packs:
|
|
@@ -114,7 +114,7 @@ proceeds on exit `0`.
|
|
|
114
114
|
## Do NOT
|
|
115
115
|
|
|
116
116
|
- Do NOT silence the checker by deleting trigger words from
|
|
117
|
-
`scripts/check_md_language.
|
|
117
|
+
`src/scripts/check_md_language.ts`; extend the allow-list (anchor
|
|
118
118
|
blocks, ignore marker) instead
|
|
119
119
|
- Do NOT add the ignore marker to body prose just to push a save
|
|
120
120
|
through; the marker is for meta-documentation that quotes tokens,
|
|
@@ -101,9 +101,35 @@ miner is too loose; tighten patterns and re-run before promoting.
|
|
|
101
101
|
curated YAML (next phase) become team-shared (committed).
|
|
102
102
|
3. Default to `--preview` mode: render the JSONL block to stdout and
|
|
103
103
|
stop. Only `--commit-intake` writes the file.
|
|
104
|
+
4. **Triage each fact NOT already promoted to curated YAML** against
|
|
105
|
+
`agents/knowledge/{concepts,procedures}/` before treating it as
|
|
106
|
+
brand new:
|
|
107
|
+
|
|
108
|
+
| Triage | Condition | Action |
|
|
109
|
+
|---|---|---|
|
|
110
|
+
| `NEW` | No existing knowledge page covers this topic | Candidate for a new page (via `/team-knowledge consolidate`, not this skill) |
|
|
111
|
+
| `EXTEND` | An existing page covers the topic but is missing this detail | Note the target page in the report; do not edit mid-cycle |
|
|
112
|
+
| `CONFIRM` | An existing page already states this exactly | Discard — no duplicate entry |
|
|
113
|
+
| `CONFLICT` | An existing page states the opposite or a stale variant | Record **both** positions verbatim in the report with a `contested: true` recommendation for that page — never silently overwrite; resolution is always human |
|
|
114
|
+
|
|
115
|
+
5. **Track cross-cycle recurrence toward skill-candidacy.** For each
|
|
116
|
+
`NEW` fact, run:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
./scripts-run src/scripts/update_skill_candidates --topic "<stable-slug>" --session "<session-id>" --date "<YYYY-MM-DD>"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
This increments a durable per-topic counter in
|
|
123
|
+
`agents/knowledge/procedures/skill-candidates.md` — a fact that
|
|
124
|
+
recurs unpromoted across ≥ 3 consolidation cycles becomes a live
|
|
125
|
+
candidate the exit report surfaces for
|
|
126
|
+
[`learning-to-rule-or-skill`](../learning-to-rule-or-skill/SKILL.md)
|
|
127
|
+
to pick up. This script only counts; it never proposes or writes
|
|
128
|
+
the skill/rule itself. Regenerate `agents/knowledge/INDEX.md`
|
|
129
|
+
(`generate_knowledge_index.ts`) after any candidate update.
|
|
104
130
|
|
|
105
131
|
**Exit gate:** every fact carries ≥ 1 tag and a JSONL-shape that
|
|
106
|
-
validates against the contract.
|
|
132
|
+
validates against the contract; every fact has a triage verdict.
|
|
107
133
|
|
|
108
134
|
### Phase 4 — PRUNE & INDEX
|
|
109
135
|
|
|
@@ -143,6 +169,15 @@ skills — github.com/ViktorAxelsen/MemSkill, Apache-2.0, commit `9907c35f8cc7`)
|
|
|
143
169
|
reusable facts, not transcripts or one-off chatter.
|
|
144
170
|
- **One durable fact per entry.** No narrative blobs — each entry is a single
|
|
145
171
|
PATTERN / CONVENTION / INVARIANT / GOTCHA the next agent can act on.
|
|
172
|
+
- **"Don't relitigate" memories carry scope + `revisit-if`.** A memory that
|
|
173
|
+
locks a question as settled — an honest-null verdict, a council convergence,
|
|
174
|
+
a maintainer call — is not a permanent law; it is a decision under the
|
|
175
|
+
conditions that held when it was written. Record what exactly is settled
|
|
176
|
+
(narrow enough that a different-but-similar proposal is not silently
|
|
177
|
+
covered) and at least one concrete condition that reopens it. Tag whether
|
|
178
|
+
it is **settled-by-evidence** (an eval ran) or **settled-by-decision** (a
|
|
179
|
+
maintainer call) — the latter is cheaper to reopen. See
|
|
180
|
+
[`decision-revisit-gate`](../../rules/decision-revisit-gate.md).
|
|
146
181
|
|
|
147
182
|
This is **meta-memory**: the skill of *how to remember* (what to extract,
|
|
148
183
|
keep, forget) — distinct from the remembered content. The store stays simple
|
|
@@ -151,6 +186,36 @@ INSERT/UPDATE/DELETE/NOOP operation machinery (append-only JSONL + curated
|
|
|
151
186
|
YAML need no such ops) and do **not** import any retrieval / decay / trust
|
|
152
187
|
engine.
|
|
153
188
|
|
|
189
|
+
## Applying recalled memories
|
|
190
|
+
|
|
191
|
+
How memories are *written* is covered above; this section covers how
|
|
192
|
+
recalled content is *used* once retrieved.
|
|
193
|
+
|
|
194
|
+
- **Apply selectively and contextually.** A recalled fact surfaces only
|
|
195
|
+
when it's relevant to the current turn — not as a demonstration that
|
|
196
|
+
memory exists.
|
|
197
|
+
- **Never narrate the retrieval mechanism.** Forbidden phrases: "I
|
|
198
|
+
remember", "based on your memories", "according to your profile/data",
|
|
199
|
+
"I can see from memory". Recalled facts surface as normal working
|
|
200
|
+
knowledge, indistinguishable in tone from anything else the agent knows.
|
|
201
|
+
- **Sensitivity floor.** Recalled content about sensitive topics
|
|
202
|
+
(personal difficulties, conflicts, health) is never surfaced
|
|
203
|
+
unprompted — only when the user raises the topic first, this session.
|
|
204
|
+
Bringing up a sensitive memory unprompted is not just unhelpful, it is
|
|
205
|
+
actively harmful.
|
|
206
|
+
- **Staleness still applies.** A recalled memory reflects what was true
|
|
207
|
+
when it was written — verify referenced files/flags/state still hold
|
|
208
|
+
before treating it as current (see the memory-and-other-persistence
|
|
209
|
+
guidance this skill's callers already carry).
|
|
210
|
+
|
|
211
|
+
### Retrieval-trigger linguistics
|
|
212
|
+
|
|
213
|
+
Before answering from scratch, treat these as signals to consult memory
|
|
214
|
+
first: possessives ("my/our X"), definite references to unnamed prior
|
|
215
|
+
work ("that bug", "the migration"), and past-time cues ("last week",
|
|
216
|
+
"back then"). These phrasings imply the user expects continuity with
|
|
217
|
+
something already known, not a first-time explanation.
|
|
218
|
+
|
|
154
219
|
## TranscriptAdapter contract
|
|
155
220
|
|
|
156
221
|
The miner is host-agnostic by design. A `TranscriptAdapter` for host
|
|
@@ -67,8 +67,8 @@ Confirm both flags via `get_modules_config()` before running detection.
|
|
|
67
67
|
|
|
68
68
|
- **Option 1** — build the payload (matches `propose_modules_config.py
|
|
69
69
|
--json` shape, includes `detection_acknowledged: true`), pipe into
|
|
70
|
-
|
|
71
|
-
- **Option 2** — run
|
|
70
|
+
`./scripts-run src/scripts/apply_modules_config --project <root>`.
|
|
71
|
+
- **Option 2** — run `./scripts-run src/scripts/apply_modules_config
|
|
72
72
|
--project <root> --acknowledge-only`. Flips only the ack flag;
|
|
73
73
|
every other `modules.*` key stays untouched.
|
|
74
74
|
- **Option 3** — list candidates, then loop back to step 3.
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
model_tier: high
|
|
3
3
|
name: performance-analysis
|
|
4
4
|
description: "ONLY when user explicitly requests: performance audit, bottleneck analysis, or N+1 query detection. NOT for regular feature work."
|
|
5
|
+
personas:
|
|
6
|
+
- performance-engineer
|
|
5
7
|
domain: discovery
|
|
6
8
|
workspaces:
|
|
7
9
|
- engineering
|
|
@@ -145,9 +145,9 @@ Don't hand-pick a scoreline. Run the executed grid optimiser — builds the full
|
|
|
145
145
|
Poisson score grid, returns the EV-max tip under the step-1 point tiers:
|
|
146
146
|
|
|
147
147
|
```bash
|
|
148
|
-
|
|
148
|
+
./scripts-run src/scripts/prediction-pool/score_ev --lh <home-xg> --la <away-xg> \
|
|
149
149
|
--tendency <t> --diff <d> --exact <e> # one match
|
|
150
|
-
|
|
150
|
+
./scripts-run src/scripts/prediction-pool/score_ev matches.json \
|
|
151
151
|
--tendency <t> --diff <d> --exact <e> # batch, prints a ranked table
|
|
152
152
|
```
|
|
153
153
|
|
|
@@ -176,7 +176,7 @@ of the field)**; pure EV-max converges with the crowd, can't open a gap.
|
|
|
176
176
|
Measure it with the executed field simulator, not a "rough Kelly" hand-wave:
|
|
177
177
|
|
|
178
178
|
```bash
|
|
179
|
-
|
|
179
|
+
./scripts-run src/scripts/prediction-pool/pool_winsim pool.json --runs 4000 --max-flips 4
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
Models the field as softmax-EV tippers, reports `P(win)` for EV-max-everywhere,
|
|
@@ -204,7 +204,7 @@ question type — full taxonomy + per-type method in
|
|
|
204
204
|
winner") aggregated per step 2, **or** the executed Poisson simulator:
|
|
205
205
|
|
|
206
206
|
```bash
|
|
207
|
-
|
|
207
|
+
./scripts-run src/scripts/prediction-pool/poisson_sim <teams-xg.json> --runs 20000
|
|
208
208
|
```
|
|
209
209
|
|
|
210
210
|
It plays the bracket from per-team expected goals and prints empirical
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: premortem
|
|
3
3
|
description: "Use before committing to a heavy or irreversible plan — imagine it's 6 months later and this failed; enumerate why, score each mode, derive early-warning signals and preventive guardrails."
|
|
4
|
-
source: package
|
|
5
4
|
domain: quality
|
|
6
5
|
model_tier: high
|
|
7
6
|
workspaces:
|
|
8
7
|
- engineering
|
|
9
8
|
packs:
|
|
10
9
|
- analysis-workbench
|
|
11
|
-
lifecycle: active
|
|
12
10
|
trust:
|
|
13
11
|
level: professional
|
|
14
12
|
confidence: medium
|
|
15
|
-
human_review_required: false
|
|
16
13
|
install:
|
|
17
14
|
default: false
|
|
18
15
|
removable: true
|
|
@@ -129,6 +129,22 @@ Check:
|
|
|
129
129
|
6. Known uncertainties
|
|
130
130
|
7. Recommended next specialist skill
|
|
131
131
|
|
|
132
|
+
## Knowledge capture (`convention_detected` events)
|
|
133
|
+
|
|
134
|
+
An architecture-map or stack finding that recurs (naming convention,
|
|
135
|
+
module boundary, layering rule) is worth persisting for the team.
|
|
136
|
+
Append to the knowledge intake instead of leaving it in the one-off
|
|
137
|
+
analysis output — applies to every `project-analysis-*` specialist
|
|
138
|
+
this skill hands off to:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
./scripts-run src/scripts/emit_knowledge_event --type convention_detected \
|
|
142
|
+
--pattern "<pattern>" --evidence "file:line" --sample-size <N> --scope project
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
`/team-knowledge consolidate` turns accumulated events into
|
|
146
|
+
`agents/knowledge/concepts/` pages as a reviewed batch.
|
|
147
|
+
|
|
132
148
|
## Gotcha
|
|
133
149
|
|
|
134
150
|
* If versions are guessed, the whole analysis becomes unreliable.
|
|
@@ -71,7 +71,9 @@ coordinates.
|
|
|
71
71
|
Each link **delegates** to the artifact that owns it (no duplication):
|
|
72
72
|
|
|
73
73
|
1. **ground** — close constraints/tools/info-gaps before designing
|
|
74
|
-
([`think-before-action` § Environment grounding](../../rules/think-before-action.md))
|
|
74
|
+
([`think-before-action` § Environment grounding](../../rules/think-before-action.md));
|
|
75
|
+
seed the read from the **repo** slot of the
|
|
76
|
+
[context-spine](../../../docs/contracts/context-spine.md) when present.
|
|
75
77
|
2. **intent** — state the inferred goal + one recommendation, standard host only
|
|
76
78
|
([`improve-before-implement` § Intent inference](../../rules/improve-before-implement.md)).
|
|
77
79
|
3. **notes** — hypotheses/predictions/decisions/uncertainty to the notes file, not
|