@event4u/agent-config 7.4.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +11 -1
- package/AGENTS.md +9 -9
- package/CHANGELOG.md +373 -0
- 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/review-changes.md +14 -7
- 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 +11 -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 +8 -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 +7 -8
- 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 +4 -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 +5 -7
- 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 +11 -10
- 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 +52 -42
- package/dist/agent-src/skills/adversarial-review/SKILL.md +1 -1
- 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/blade-ui/SKILL.md +4 -0
- 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 +5 -4
- 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 +5 -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-authoring/SKILL.md +1 -1
- 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 +45 -2
- package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
- package/dist/agent-src/skills/design-review/SKILL.md +23 -11
- package/dist/agent-src/skills/design-system-capture/SKILL.md +41 -0
- package/dist/agent-src/skills/design-system-capture/reference/design-system-json.md +62 -0
- package/dist/agent-src/skills/design-tokens/SKILL.md +11 -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/existing-ui-audit/SKILL.md +6 -0
- package/dist/agent-src/skills/fe-design/SKILL.md +20 -0
- package/dist/agent-src/skills/flux/SKILL.md +4 -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/iconography/SKILL.md +1 -0
- package/dist/agent-src/skills/image-editing/evals/triggers.json +13 -13
- package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +136 -0
- package/dist/agent-src/skills/judge-artifact-completeness/calibration/fixtures.json +149 -0
- package/dist/agent-src/skills/judge-artifact-completeness/evals/triggers.json +17 -0
- package/dist/agent-src/skills/judge-artifact-completeness/rubrics/architecture-score.json +73 -0
- package/dist/agent-src/skills/judge-artifact-completeness/rubrics/pr-review-score.json +65 -0
- package/dist/agent-src/skills/judge-artifact-completeness/rubrics/roadmap-score.json +73 -0
- package/dist/agent-src/skills/judge-artifact-completeness/rubrics/ticket-quality-score.json +73 -0
- package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -0
- package/dist/agent-src/skills/judge-injection-defense/SKILL.md +99 -0
- package/dist/agent-src/skills/judge-injection-defense/calibration/fixtures.json +24 -0
- package/dist/agent-src/skills/judge-injection-defense/evals/triggers.json +17 -0
- package/dist/agent-src/skills/judge-injection-defense/fixtures/behavioral-fixtures.json +63 -0
- package/dist/agent-src/skills/judge-injection-defense/fixtures/coverage-report.md +53 -0
- package/dist/agent-src/skills/judge-injection-defense/fixtures/perturbation-taxonomy.json +110 -0
- package/dist/agent-src/skills/judge-synthesis/SKILL.md +134 -0
- package/dist/agent-src/skills/judge-synthesis/evals/triggers.json +17 -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/logo-generation/SKILL.md +1 -1
- package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
- 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/react-shadcn-ui/SKILL.md +18 -0
- package/dist/agent-src/skills/react-shadcn-ui/reference/registry.md +59 -0
- package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +3 -1
- package/dist/agent-src/skills/refine-ticket/SKILL.md +5 -1
- package/dist/agent-src/skills/release-comms/SKILL.md +47 -46
- package/dist/agent-src/skills/roadmap-management/SKILL.md +25 -0
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +33 -3
- package/dist/agent-src/skills/root-cause-frameworks/SKILL.md +0 -3
- package/dist/agent-src/skills/script-writing/SKILL.md +1 -1
- 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/sql-writing/SKILL.md +1 -1
- 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 +30 -1
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +4 -0
- package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/threat-modeling/SKILL.md +2 -2
- package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
- package/dist/agent-src/skills/typography-system/SKILL.md +4 -3
- 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 +802 -258
- 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 +46 -28
- package/dist/discovery/trust-report.md +12 -11
- package/dist/discovery/workspaces.json +32 -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 +6 -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 +6 -6
- package/docs/benchmark.md +133 -2
- package/docs/benchmark.pinned.yml +31 -0
- package/docs/capability-matrix.md +1 -0
- package/docs/catalog.md +92 -74
- package/docs/command-flows.md +16 -4
- 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 +35 -0
- package/docs/guidelines/design-canon.md +62 -0
- 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 +71 -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 +208 -0
- package/src/scripts/design_slop_rules.ts +530 -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 +14 -3
- 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 +40 -17
- package/src/scripts/hooks/design_slop_hook.ts +181 -0
- 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_agent_security.ts +1 -0
- package/src/scripts/lint_agents_layout.ts +74 -15
- package/src/scripts/lint_bench_ab.ts +4 -1
- package/src/scripts/lint_confusables.ts +197 -0
- package/src/scripts/lint_design_slop.ts +245 -0
- 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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
model_tier: inherit
|
|
3
3
|
name: logo-generation
|
|
4
|
-
description: "Generate a logo or brand mark — structured prompt + provider routing, with a true-vector path
|
|
4
|
+
description: "Generate a logo or brand mark — structured prompt + provider routing, with a true-vector path (vector-native provider or LLM-authored SVG). Use for logo or brand mark generation."
|
|
5
5
|
domain: product
|
|
6
6
|
personas:
|
|
7
7
|
- design-director
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
model_tier: medium
|
|
3
3
|
name: markitdown
|
|
4
|
-
description: "
|
|
4
|
+
description: "Convert PDF, DOCX, XLSX, PPTX, EPUB, images, or audio to Markdown via the markitdown-mcp server — 'extract this PDF', 'OCR this image', 'transcribe this audio'."
|
|
5
5
|
status: active
|
|
6
6
|
tier: senior
|
|
7
7
|
domain: process
|
|
@@ -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.
|
|
@@ -125,6 +125,20 @@ declared version:
|
|
|
125
125
|
- Streaming / partial-prerender boundaries — use the project's framework
|
|
126
126
|
patterns (Next.js / Remix), not shadcn/ui.
|
|
127
127
|
|
|
128
|
+
## Registry & MCP awareness (opt-in)
|
|
129
|
+
|
|
130
|
+
Default path = bundled `scripts/shadcn_add.ts` + `components.json`; works on most projects, stays default. Modern registry model is OPT-IN — no round-trips on every op. JSON-schema + namespace detail lazy-loaded from [`reference/registry.md`](reference/registry.md); read only on this path.
|
|
131
|
+
|
|
132
|
+
**`shadcn info --json` handshake** — run as grounding step WHEN `components.json` declares custom/namespaced `registries`, OR theme-alignment in scope. Returns framework / aliases / installed components / icon lib / base settings. NOT a forced first action on every `add` (over-gating, low ROI vanilla).
|
|
133
|
+
|
|
134
|
+
- **Precedence:** prefer live `shadcn info --json`; fall back to `state.ui_audit.shadcn_inventory` (existing-ui-audit) when CLI/MCP unreachable. Live read wins.
|
|
135
|
+
|
|
136
|
+
**Namespaced installs** — `@ns/item` resolves via the `registries` map to a `registry-item.json` URL (see reference). `view @ns/item` before `add`. Honour `registryDependencies` (install the graph, incl. version-pinned GitHub refs `acme/ui/button#v1.2.0`); keep propose-never-silent-run + `--dry-run`.
|
|
137
|
+
|
|
138
|
+
**Token-aware scaffolding** — `registry-item.json` `cssVars` (OKLCH light/dark/theme) → align to project tokens (`info --json` / `components.json` / `state.ui_audit.design_tokens`); never inject the default shadcn neutral theme (flagged anti-slop tell: default theme + Inter + neutral grays).
|
|
139
|
+
|
|
140
|
+
**MCP path (opt-in)** — shadcn MCP server: browse / search-across-registries / install-with-NL over MCP; wire per [`mcp`](../mcp/SKILL.md). Alternative to CLI, never a hard dep. Decision: CLI = default + universal; MCP = opt-in when configured; registry-JSON literacy underpins both.
|
|
141
|
+
|
|
128
142
|
## Procedure: render a shadcn/ui component for the design brief
|
|
129
143
|
|
|
130
144
|
### Step 0: Inspect
|
|
@@ -234,6 +248,10 @@ synthesise the updated `state.ui_review.findings` (including any
|
|
|
234
248
|
remaining `a11y_violation` entries) so the engine's gate sees the
|
|
235
249
|
current state on the next polish round.
|
|
236
250
|
|
|
251
|
+
## Taste Dials
|
|
252
|
+
|
|
253
|
+
`DESIGN.md` `## Taste Dials` → honour: Variance → layout-family spread + asymmetry; Motion → animation budget + reduced-motion posture; Density → spacing scale + info-per-viewport. Absent → follow brief's inferred dials.
|
|
254
|
+
|
|
237
255
|
## Do NOT
|
|
238
256
|
|
|
239
257
|
- Do NOT install `shadcn-ui` from npm — primitives are scaffolded.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# shadcn registry & namespace reference
|
|
2
|
+
|
|
3
|
+
> Lazy-loaded by `react-shadcn-ui` ONLY on the registry/MCP path (custom or
|
|
4
|
+
> namespaced registries, or theme-alignment). Not in the always-on skill body —
|
|
5
|
+
> zero token cost on the vanilla `shadcn add` path.
|
|
6
|
+
|
|
7
|
+
## `registry-item.json` — the self-describing component unit
|
|
8
|
+
|
|
9
|
+
Each item is a JSON doc the agent reads before scaffolding — never guesses
|
|
10
|
+
paths, deps, or tokens.
|
|
11
|
+
|
|
12
|
+
- `name` — item id.
|
|
13
|
+
- `type` — one of: `registry:ui`, `registry:component`, `registry:block`,
|
|
14
|
+
`registry:hook`, `registry:lib`, `registry:theme`, `registry:style`,
|
|
15
|
+
`registry:page`, `registry:file`, `registry:base`, `registry:item`.
|
|
16
|
+
- `dependencies` / `devDependencies` — npm packages.
|
|
17
|
+
- `registryDependencies` — other items to pull first (the dependency graph):
|
|
18
|
+
built-in (`"button"`), namespaced (`"@acme/input"`), GitHub
|
|
19
|
+
(`"acme/ui/button#v1.2.0"`), URL, or local path.
|
|
20
|
+
- `files[]` — each `{ path, type, target }`; `target` uses the project alias
|
|
21
|
+
placeholders (`~`, `@ui/`, `@lib/`, `@hooks/`) from `components.json`.
|
|
22
|
+
- `cssVars` — tokens scoped by mode: `theme` (font/radius), `light`, `dark`,
|
|
23
|
+
OKLCH. **Align to the project's tokens; do not inject the default neutral
|
|
24
|
+
theme** (anti-slop C1/C5/T7).
|
|
25
|
+
- `css` — raw `@layer` / `@utility` / `@keyframes` / `@plugin`.
|
|
26
|
+
|
|
27
|
+
Scaffold order: read item → install npm `dependencies` → resolve
|
|
28
|
+
`registryDependencies` (recurse) → write `files[]` to alias targets → merge
|
|
29
|
+
`cssVars` into the project token layer (reconcile, don't overwrite).
|
|
30
|
+
|
|
31
|
+
## Namespaced registries
|
|
32
|
+
|
|
33
|
+
`components.json` maps a namespace → URL template under `registries`:
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"registries": {
|
|
38
|
+
"@acme-ui": "https://registry.acme.com/ui/{name}.json",
|
|
39
|
+
"@acme-auth": {
|
|
40
|
+
"url": "https://registry.acme.com/auth/{name}.json",
|
|
41
|
+
"headers": { "Authorization": "Bearer ${ACME_TOKEN}" }
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
- Resolution: `@ns/name` → look up `@ns` → substitute `{name}` (+ optional
|
|
48
|
+
`{style}`). Reference regex: `^(@[a-zA-Z0-9](?:[a-zA-Z0-9-_]*[a-zA-Z0-9])?)\/(.+)$`.
|
|
49
|
+
- Auth registries: per-registry `headers` with `${ENV_VAR}` — never inline a
|
|
50
|
+
token; read from the environment.
|
|
51
|
+
- Namespace space is **decentralized** — no central collision authority; the
|
|
52
|
+
`components.json` map is the project's source of truth.
|
|
53
|
+
|
|
54
|
+
## CLI surface (the agent drives these)
|
|
55
|
+
|
|
56
|
+
`init` · `add [item|@ns/item]` · `search @ns -q <q>` · `view @ns/item` (inspect
|
|
57
|
+
JSON before install) · `docs [item] --json` · `diff` (drift vs updated
|
|
58
|
+
registry) · `info --json` (project context — see the SKILL handshake) · `build`
|
|
59
|
+
(publish). Inspect with `view` before `add` — evidence before action.
|
|
@@ -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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
model_tier: inherit
|
|
3
3
|
name: "refine-ticket"
|
|
4
|
-
description: "Refine a Jira/Linear ticket before planning — 'refine ticket', 'tighten AC on PROJ-123', 'ist das Ticket klar?'
|
|
4
|
+
description: "Refine a Jira/Linear ticket before planning — 'refine ticket', 'tighten AC on PROJ-123', 'ist das Ticket klar?'; rewritten ticket, risks, persona voices, close-prompt."
|
|
5
5
|
personas:
|
|
6
6
|
- developer
|
|
7
7
|
- senior-engineer
|
|
@@ -304,6 +304,10 @@ Per user interaction rules, accept number or free text. `editmeta`
|
|
|
304
304
|
is cheap and cacheable; cache the result per Jira project key for
|
|
305
305
|
the session, re-probe on project change.
|
|
306
306
|
|
|
307
|
+
## Rubric pass (optional, surfacing-only)
|
|
308
|
+
|
|
309
|
+
After refinement, run [`judge-artifact-completeness`](../judge-artifact-completeness/SKILL.md) with rubric `ticket-quality-score` to verify DoR readiness — AC, test plan, risk, estimate. Invoke when user asks for DoR check — not automatically.
|
|
310
|
+
|
|
307
311
|
## Output format
|
|
308
312
|
|
|
309
313
|
1. **Refined ticket** section with rewritten title + description, wrapped in a copyable markdown block.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
model_tier: inherit
|
|
3
3
|
name: release-comms
|
|
4
|
-
description: "
|
|
4
|
+
description: "Turn a shipped changelog into a release narrative — value-not-feature framing, audience-segmented surfaces. Triggers on 'announce the release', 'write changelog post'."
|
|
5
5
|
status: active
|
|
6
6
|
tier: senior
|
|
7
7
|
domain: product
|
|
@@ -21,77 +21,77 @@ install:
|
|
|
21
21
|
|
|
22
22
|
## When to use
|
|
23
23
|
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
- Multiple comms surfaces (in-app, email, social, docs) about to be written by different people from same release.
|
|
24
|
+
- A release is shipping that contains user-facing change and the team is about to send a feature-list email.
|
|
25
|
+
- A changelog draft reads like a commit log — engineering-honest, but unparseable for the user.
|
|
26
|
+
- Multiple comms surfaces (in-app, email, social, docs) are about to be written by different people from the same release.
|
|
27
27
|
|
|
28
28
|
Do NOT use for incident comms (see `incident-commander`),
|
|
29
|
-
deprecation announcements
|
|
30
|
-
discovery — this skill assumes change is **shipped**.
|
|
29
|
+
deprecation announcements that need legal sign-off, or pre-release
|
|
30
|
+
discovery — this skill assumes the change is **shipped**.
|
|
31
31
|
|
|
32
32
|
## Cognition cluster
|
|
33
33
|
|
|
34
|
-
- **Mental model 16 — Leading vs. lagging indicators.**
|
|
35
|
-
is lagging artifact; leading version
|
|
36
|
-
before user found change-log. See
|
|
34
|
+
- **Mental model 16 — Leading vs. lagging indicators.** A release
|
|
35
|
+
note is the lagging artifact; the leading version is the in-app
|
|
36
|
+
prompt that fired before the user found the change-log. See
|
|
37
37
|
[`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 16.
|
|
38
|
-
- **Value-not-feature heuristic.** Every paragraph passes *"so
|
|
39
|
-
user can ___"* completion. Failing rows go back for re-write.
|
|
38
|
+
- **Value-not-feature heuristic.** Every paragraph passes the *"so
|
|
39
|
+
the user can ___"* completion. Failing rows go back for re-write.
|
|
40
40
|
|
|
41
41
|
## Procedure
|
|
42
42
|
|
|
43
43
|
### Step 0: Ground the release
|
|
44
44
|
|
|
45
|
-
1. Read merged PR list / changelog block / release branch diff.
|
|
46
|
-
2. Read **product** and **team** slots of [context-spine](../../../docs/contracts/context-spine.md) (if consumer filled them) for bounded scope and cadence — surface choice depends on cadence (weekly: in-app + log; quarterly: email + post; major: all four).
|
|
47
|
-
3. Identify **single dominant change** the release ships.
|
|
45
|
+
1. Read the merged PR list / changelog block / release branch diff. The release is the **what**; comms is the **so what**. Conflate the two and you ship marketing.
|
|
46
|
+
2. Read the **product** and **team** slots of the [context-spine](../../../docs/contracts/context-spine.md) (if the consumer project has filled them) for bounded scope and release cadence — surface choice depends on cadence (weekly: in-app + log; quarterly: email + post; major: all four).
|
|
47
|
+
3. Identify the **single dominant change** the release ships. A release with three "headliners" reads as three half-announcements.
|
|
48
48
|
|
|
49
49
|
### Step 1: Audience-segment
|
|
50
50
|
|
|
51
|
-
1. Three audiences max: **active user**, **at-risk / lapsed user**, **prospect**. More
|
|
52
|
-
2. Per audience, write one sentence: *"After this release, you can …"* completing with user-side verb, not product-side feature.
|
|
53
|
-
3. If two audiences end up with same sentence, collapse — segmentation that does not change message
|
|
51
|
+
1. Three audiences max: **active user**, **at-risk / lapsed user**, **prospect**. More segments fragment the message; fewer hides the routing.
|
|
52
|
+
2. Per audience, write one sentence: *"After this release, you can …"* completing with a user-side verb, not a product-side feature.
|
|
53
|
+
3. If two audiences end up with the same sentence, collapse them — segmentation that does not change the message is theatre.
|
|
54
54
|
|
|
55
55
|
### Step 2: Map surfaces to audiences
|
|
56
56
|
|
|
57
57
|
1. **Changelog** (always) — engineers + power users; truthful, dense, link-heavy. Source of truth — every other surface points back here.
|
|
58
58
|
2. **In-app prompt** — active users; ≤ 1 sentence + 1 CTA; fires for users whose past behaviour predicts they'll touch the new path.
|
|
59
59
|
3. **Email** — at-risk / lapsed; one headline value, one CTA, one paragraph of context. No feature lists.
|
|
60
|
-
4. **Social / blog** — prospect; the **why**, not the **what** — frame against user job (cite [`customer-research`](../customer-research/SKILL.md) if switch-event surfaced).
|
|
60
|
+
4. **Social / blog** — prospect; the **why**, not the **what** — frame against the user job (cite [`customer-research`](../customer-research/SKILL.md) if a switch-event surfaced).
|
|
61
61
|
|
|
62
|
-
Cut surfaces aggressively.
|
|
62
|
+
Cut surfaces aggressively. A weekly release does not need a blog post.
|
|
63
63
|
|
|
64
64
|
### Step 3: Draft each surface from the changelog
|
|
65
65
|
|
|
66
|
-
1. Open changelog. Per surface, copy dominant change line, then **rewrite verb subject** from "we" to "you".
|
|
67
|
-
2. Strip qualifiers ("now", "even better", "lightning-fast").
|
|
68
|
-
3. Run *"so the user can ___"* completion on every paragraph. Failing paragraphs cut, not edited.
|
|
66
|
+
1. Open the changelog. Per surface, copy the dominant change line, then **rewrite the verb subject** from "we" to "you".
|
|
67
|
+
2. Strip qualifiers ("now", "even better", "lightning-fast"). They are noise, not signal.
|
|
68
|
+
3. Run the *"so the user can ___"* completion on every paragraph. Failing paragraphs are cut, not edited.
|
|
69
69
|
|
|
70
70
|
### Step 4: Truth-check
|
|
71
71
|
|
|
72
|
-
1. Every claim links back to changelog row or doc URL. Unsourced claim → cut.
|
|
73
|
-
2. No tense games — past for shipped, future for coming-soon (and only if date is committed). "Roadmap" lives outside this skill.
|
|
74
|
-
3. Names match product surface.
|
|
72
|
+
1. Every claim links back to a changelog row or a doc URL. Unsourced claim → cut.
|
|
73
|
+
2. No tense games — past for shipped, future for coming-soon (and only if the date is committed). "Roadmap" lives outside this skill.
|
|
74
|
+
3. Names match the product surface. If the in-app says "Reports" and the email says "Insights", the user fires the lookup tax.
|
|
75
75
|
|
|
76
76
|
### Step 5: Hand off
|
|
77
77
|
|
|
78
|
-
1. Produce four artifacts (see `## Output`).
|
|
79
|
-
2. Hand to whoever owns send. Do not embed scheduling or A/B test plans here — that is RevOps.
|
|
78
|
+
1. Produce the four artifacts (see `## Output`).
|
|
79
|
+
2. Hand to whoever owns the send. Do not embed scheduling or A/B test plans here — that is RevOps.
|
|
80
80
|
|
|
81
81
|
## Related Skills
|
|
82
82
|
|
|
83
83
|
**WHEN to use this**
|
|
84
84
|
|
|
85
|
-
-
|
|
86
|
-
- Multiple comms surfaces written by different people from same source.
|
|
87
|
-
-
|
|
85
|
+
- The change is **shipped** and needs to reach existing users.
|
|
86
|
+
- Multiple comms surfaces will be written by different people from the same source.
|
|
87
|
+
- The team is about to default to a feature-list email.
|
|
88
88
|
|
|
89
89
|
**WHEN NOT to use this**
|
|
90
90
|
|
|
91
|
-
- Production incident comms
|
|
92
|
-
- Pre-release discovery / validation
|
|
93
|
-
- Funnel-stage diagnostics post-release
|
|
94
|
-
- Ranking which release to comms next
|
|
91
|
+
- Production incident comms — route to [`incident-commander`](../incident-commander/SKILL.md).
|
|
92
|
+
- Pre-release discovery / validation — route to [`customer-research`](../customer-research/SKILL.md).
|
|
93
|
+
- Funnel-stage diagnostics post-release — route to [`funnel-analysis`](../funnel-analysis/SKILL.md).
|
|
94
|
+
- Ranking which release to comms next — route to [`rice-prioritization`](../rice-prioritization/SKILL.md).
|
|
95
95
|
|
|
96
96
|
## When the agent should load this
|
|
97
97
|
|
|
@@ -104,29 +104,30 @@ Cut surfaces aggressively. Weekly release does not need blog post.
|
|
|
104
104
|
## Output
|
|
105
105
|
|
|
106
106
|
1. **`release-narrative.md`** — single source of truth: dominant change, audiences (1–3), per-audience *"After this release, you can …"* sentence, links to source changelog rows.
|
|
107
|
-
2. **`changelog-entry.md`** — engineer-honest, dense, link-heavy block ready to paste into project's changelog.
|
|
108
|
-
3. **`comms-pack.md`** — per-surface drafts (in-app prompt, email, optional social/blog), each ≤ surface's hard cap, each pointing back to `changelog-entry.md`.
|
|
109
|
-
4. **`comms-checklist.md`** — pre-send checks: every claim sourced, names consistent across surfaces, audience match, "so the user can …" completion passing on every paragraph. Hand-off artifact for senior PO ([`product-owner`](../../personas/product-owner.md)).
|
|
107
|
+
2. **`changelog-entry.md`** — engineer-honest, dense, link-heavy block ready to paste into the project's changelog.
|
|
108
|
+
3. **`comms-pack.md`** — per-surface drafts (in-app prompt, email, optional social/blog), each ≤ the surface's hard cap, each pointing back to `changelog-entry.md`.
|
|
109
|
+
4. **`comms-checklist.md`** — pre-send checks: every claim sourced, names consistent across surfaces, audience match, "so the user can …" completion passing on every paragraph. Hand-off artifact for the senior PO ([`product-owner`](../../personas/product-owner.md); senior persona shipping in next plate).
|
|
110
110
|
|
|
111
111
|
## Gotcha
|
|
112
112
|
|
|
113
|
-
-
|
|
114
|
-
- Marketing puffery ("revolutionary", "delightful") fails source check; cut on sight.
|
|
115
|
-
- Two surfaces using different names for same thing
|
|
113
|
+
- The default failure mode is feature-list email — written to make engineering feel seen, not to help the user.
|
|
114
|
+
- Marketing puffery ("revolutionary", "delightful") fails the source check; cut on sight.
|
|
115
|
+
- Two surfaces using different names for the same thing is the highest-frequency support-ticket trigger after a release.
|
|
116
116
|
- Hidden coming-soon claims in past-tense paragraphs erode trust faster than missing the comms entirely.
|
|
117
117
|
|
|
118
118
|
## Do NOT
|
|
119
119
|
|
|
120
|
-
- Do NOT promote coming-soon item alongside shipped items — user cannot tell which is which and stops trusting next note.
|
|
121
|
-
- Do NOT let long-tail change steal the headline — dominant change earns headline, long tail goes in changelog.
|
|
122
|
-
- Do NOT ship surfaces without truth-check pass; unsourced claim survives in social longer than release does.
|
|
120
|
+
- Do NOT promote a coming-soon item alongside shipped items — the user cannot tell which is which and stops trusting the next note.
|
|
121
|
+
- Do NOT let a long-tail change steal the headline — the dominant change earns the headline, the long tail goes in the changelog.
|
|
122
|
+
- Do NOT ship surfaces without the truth-check pass; an unsourced claim survives in social longer than the release does.
|
|
123
|
+
- Do NOT paste more than a short excerpt from a linked source (commit message, PR body, issue thread) — `content-quoting-floor` caps verbatim quotes at 15 words, one per source; paraphrase the rest.
|
|
123
124
|
|
|
124
125
|
## Runnable example
|
|
125
126
|
|
|
126
127
|
Sprint 47 ships a one-click monthly export and three small bug fixes:
|
|
127
128
|
|
|
128
129
|
- Dominant change: one-click export. Bug fixes go in changelog only.
|
|
129
|
-
- Audiences: active user (will use it), at-risk (export friction was churn trigger per [`customer-research`](../customer-research/SKILL.md) evidence-log).
|
|
130
|
+
- Audiences: active user (will use it), at-risk (export friction was a churn trigger per [`customer-research`](../customer-research/SKILL.md) evidence-log).
|
|
130
131
|
- "After this release, you can pull a board-ready monthly report in one click." (active, at-risk — same sentence ⇒ collapse to one).
|
|
131
|
-
- Surfaces: changelog (full), in-app prompt to active users on next month-end, email to at-risk cohort with same sentence and one CTA. No social.
|
|
132
|
-
- Truth-check: claim links to export PR; "one click" is literal — verified against shipped UI.
|
|
132
|
+
- Surfaces: changelog (full), in-app prompt to active users on next month-end, email to at-risk cohort with the same sentence and one CTA. No social.
|
|
133
|
+
- Truth-check: claim links to the export PR; "one click" is literal — verified against the shipped UI.
|
|
@@ -212,6 +212,16 @@ unfamiliar codebases.
|
|
|
212
212
|
|
|
213
213
|
### Executing a roadmap
|
|
214
214
|
|
|
215
|
+
0. Read `execution.mode` from the roadmap frontmatter
|
|
216
|
+
(`autonomous` | `phase-checkpoints` | `interactive`; absent =
|
|
217
|
+
`interactive`). Under `/roadmap:process-*` the mode selects the
|
|
218
|
+
interaction pattern via the run-start execution contract — see
|
|
219
|
+
[`roadmap-execution-contract`](../../contexts/execution/roadmap-execution-contract.md).
|
|
220
|
+
The manual flow below describes `interactive`; under `autonomous`
|
|
221
|
+
/ `phase-checkpoints` step 4's per-step ask is replaced by the
|
|
222
|
+
accepted contract. **Mode never changes archival semantics** —
|
|
223
|
+
glyph counting, the closure decision table, and the Iron Law 3
|
|
224
|
+
deferred-resolution gate below apply identically in every mode.
|
|
215
225
|
1. Read the full roadmap.
|
|
216
226
|
2. Find the next unchecked step (`- [ ]`).
|
|
217
227
|
3. Summarize what needs to be done.
|
|
@@ -455,6 +465,21 @@ No global tooling required.
|
|
|
455
465
|
|
|
456
466
|
The dashboard is a **read-only snapshot**. Do not edit it by hand — regenerate it.
|
|
457
467
|
|
|
468
|
+
### Blockers on the dashboard
|
|
469
|
+
|
|
470
|
+
Overview table's `Blocker` column counts each roadmap's open
|
|
471
|
+
`## Blockers` entries (or legacy `> Blocked until` note), links to
|
|
472
|
+
per-roadmap breakdown, which lists every open blocker with owner,
|
|
473
|
+
blocked scope, full instructions. Authoring shape:
|
|
474
|
+
[`templates/roadmaps.md` rule 20](../../agent-src/templates/roadmaps.md);
|
|
475
|
+
authoring guidance: [`roadmap-writing § 5b`](../roadmap-writing/SKILL.md).
|
|
476
|
+
Clearing a blocker flips `Status: resolved`, regenerates dashboard in
|
|
477
|
+
same reply — same cadence as a checkbox flip.
|
|
478
|
+
|
|
479
|
+
## Rubric pass (optional, surfacing-only)
|
|
480
|
+
|
|
481
|
+
After producing roadmap, run [`judge-artifact-completeness`](../judge-artifact-completeness/SKILL.md) with rubric `roadmap-score` to surface missing dimensions (risk, tests, migration, maintainability). Score is a recommendation; never blocks shipping. Invoke only when user wants completeness check — not by default.
|
|
482
|
+
|
|
458
483
|
## Output format
|
|
459
484
|
|
|
460
485
|
1. Roadmap file in agents/roadmaps/ with ordered phases and tasks
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
model_tier: inherit
|
|
3
3
|
name: roadmap-writing
|
|
4
|
-
description: "Use when authoring or rewriting a roadmap in agents/roadmaps/ —
|
|
4
|
+
description: "Use when authoring or rewriting a roadmap in agents/roadmaps/ — phases, goal, acceptance criteria, council notes; fires even on 'write a plan for X' / 'draft a roadmap'."
|
|
5
5
|
domain: process
|
|
6
6
|
workspaces:
|
|
7
7
|
- agent-config-maintainer
|
|
@@ -84,6 +84,25 @@ and council-pass notes capture the *why*; checkboxes capture the
|
|
|
84
84
|
[`roadmap-progress-sync`](../../rules/roadmap-progress-sync.md)
|
|
85
85
|
Iron Law #2.
|
|
86
86
|
|
|
87
|
+
### 4b. Declare the execution mode (frontmatter)
|
|
88
|
+
|
|
89
|
+
Every new roadmap declares how a later `/roadmap:process-*` run should
|
|
90
|
+
interact, via `execution.mode:` in frontmatter — `autonomous` (one
|
|
91
|
+
run-start execution-contract confirmation, then uninterrupted except
|
|
92
|
+
safety floors), `phase-checkpoints` (halt + compact status per phase
|
|
93
|
+
boundary), or `interactive` (absent-field default; omit field).
|
|
94
|
+
Semantics: [`templates/roadmaps.md` rule 19](../../templates/roadmaps.md);
|
|
95
|
+
run mechanics:
|
|
96
|
+
[`roadmap-execution-contract`](../../contexts/execution/roadmap-execution-contract.md).
|
|
97
|
+
Field is intent, never a permission grant — grants happen only at the
|
|
98
|
+
run-start contract. `/roadmap:create` asks this as one question; when
|
|
99
|
+
authoring a roadmap directly, ask it too (follow-ups pre-select the
|
|
100
|
+
parent's mode but always re-ask). **Authoring duty for `autonomous`:**
|
|
101
|
+
steps must be precise enough to clear `ask-when-uncertain` vague-
|
|
102
|
+
trigger patterns — vagueness resolved at authoring time, not mid-run;
|
|
103
|
+
pre-existing `[~]` items in an `autonomous` roadmap draw a lint
|
|
104
|
+
warning (they guarantee the archival gate fires later).
|
|
105
|
+
|
|
87
106
|
### 5. Exit & rollback per phase
|
|
88
107
|
|
|
89
108
|
Each phase declares **exit criteria** (decidable signals that the
|
|
@@ -91,6 +110,17 @@ phase is done) and **rollback** (what to revert if the phase fails).
|
|
|
91
110
|
A phase without exit criteria is open-ended; a phase without
|
|
92
111
|
rollback assumes success.
|
|
93
112
|
|
|
113
|
+
### 5b. Blockers are structured, not free prose
|
|
114
|
+
|
|
115
|
+
Gate only user or maintainer can clear — decision, external
|
|
116
|
+
dependency, evidence threshold, kernel-budget soak window — records
|
|
117
|
+
as `## Blockers` entry (`### blocker: <id>` with `Status` / `Owner` /
|
|
118
|
+
`Blocks` / `What to do` / `Resolved when`), never a stray "blocked on
|
|
119
|
+
X" sentence. Dashboard generator parses these into overview's
|
|
120
|
+
`Blocker` column and per-roadmap breakdown. Full shape:
|
|
121
|
+
[`templates/roadmaps.md` rule 20](../../agent-src/templates/roadmaps.md).
|
|
122
|
+
Omit section entirely when roadmap has no such gate.
|
|
123
|
+
|
|
94
124
|
### 6. Step-marker semantics — pick `[~]` (defer) vs `[-]` (cancel) honestly
|
|
95
125
|
|
|
96
126
|
Difference carries load when authoring (and especially when rewriting
|
|
@@ -166,7 +196,7 @@ capabilities into the suite:
|
|
|
166
196
|
|
|
167
197
|
Ordinary internally-originated roadmap → **skip this section**; §§ 0–7
|
|
168
198
|
are the whole job. Don't bolt a Provenance block or gap-table onto a
|
|
169
|
-
plan needing neither (template rule
|
|
199
|
+
plan needing neither (template rule 19).
|
|
170
200
|
|
|
171
201
|
When it fires, add four moves to §§ 0–7:
|
|
172
202
|
|
|
@@ -282,7 +312,7 @@ to every roadmap you author.
|
|
|
282
312
|
skill dump, not integration.
|
|
283
313
|
* Add a `## Provenance` block (or gap-table) to an **internally
|
|
284
314
|
originated** roadmap — § 8 is conditional; an empty Provenance section
|
|
285
|
-
is noise (template rule
|
|
315
|
+
is noise (template rule 19).
|
|
286
316
|
* Name the raw competitor / tool in a tracked roadmap, or paste a raw
|
|
287
317
|
source link — anonymize + `ENC1:`-encrypt
|
|
288
318
|
([`source-confidentiality`](../../rules/source-confidentiality.md)).
|