@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
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# `design-system.json` — import contract
|
|
2
|
+
|
|
3
|
+
> Lazy-loaded by `design-system-capture` ONLY when importing an extracted design
|
|
4
|
+
> system. Not in the always-on skill body. The **consumer-side contract**: any
|
|
5
|
+
> external static-extraction tool (URL / git repo / local dir) emits this shape;
|
|
6
|
+
> the skill READS it to seed/merge `DESIGN.md`. We own the contract, not the
|
|
7
|
+
> crawler (council 2026-06-28).
|
|
8
|
+
|
|
9
|
+
## Shape
|
|
10
|
+
|
|
11
|
+
```json
|
|
12
|
+
{
|
|
13
|
+
"source": { "kind": "url|repo|dir", "ref": "https://example.com", "captured_at": "<ISO-8601>" },
|
|
14
|
+
"colors": {
|
|
15
|
+
"light": { "<role>": "<value>" },
|
|
16
|
+
"dark": { "<role>": "<value>" }
|
|
17
|
+
},
|
|
18
|
+
"typography": {
|
|
19
|
+
"families": [{ "role": "body|display|mono", "name": "<font>", "bundled_local": false }],
|
|
20
|
+
"scale": [{ "step": "xs|sm|base|lg|…", "size": "<rem/px>", "lineHeight": "<n>" }]
|
|
21
|
+
},
|
|
22
|
+
"spacing": { "base": "<px>", "scale": ["<px>", "…"] },
|
|
23
|
+
"radius": { "<role>": "<px>" },
|
|
24
|
+
"shadow": { "<role>": "<box-shadow>" },
|
|
25
|
+
"motion": { "durations": { "<role>": "<ms>" }, "easings": { "<role>": "<cubic-bezier>" },
|
|
26
|
+
"_meta": { "detected_libs": ["gsap", "lottie"] } },
|
|
27
|
+
"components": [{ "name": "<Name>", "observed": { "classes": ["…"], "props": ["…"] } }]
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Field rules
|
|
32
|
+
|
|
33
|
+
- **Map to DTCG where it maps cleanly.** `colors` / `typography` / `spacing` /
|
|
34
|
+
`radius` / `shadow` = the DTCG `.tokens.json` shape `design-tokens` /
|
|
35
|
+
`brand-to-tokens` already author — reuse it; never a parallel token format.
|
|
36
|
+
- **Mark extraction-only metadata.** Observation, not a token decision, lives
|
|
37
|
+
under `_meta` (`motion._meta.detected_libs`, `components[].observed`). Informs
|
|
38
|
+
the human; never becomes a token.
|
|
39
|
+
- **`source` is mandatory** — `kind` + `ref` + `captured_at`. No provenance →
|
|
40
|
+
reject (can't confirm what you can't trace).
|
|
41
|
+
- **`bundled_local`** is a flag, not an instruction: the package never
|
|
42
|
+
downloads/bundles fonts (out of scope); it records that the source did.
|
|
43
|
+
|
|
44
|
+
## Trust posture (mandatory)
|
|
45
|
+
|
|
46
|
+
An import is **observed, not authoritative** (mirrors `source-discovery`:
|
|
47
|
+
evidence vs. authoritative). It seeds `DESIGN.md` as a **proposal the human
|
|
48
|
+
confirms per field** — never a silent write. A field conflicting with a
|
|
49
|
+
registered brand value (confirmed `.tokens.json` / brand token) is **flagged,
|
|
50
|
+
never auto-applied** (`brand-source-of-truth`). Precedence: registered brand
|
|
51
|
+
tokens > confirmed `DESIGN.md` > imported observation.
|
|
52
|
+
|
|
53
|
+
## Two sources, one shape
|
|
54
|
+
|
|
55
|
+
- **External target** (a site/repo you don't own) → external standalone tool
|
|
56
|
+
emits `design-system.json`; hand it to `design-system-capture`.
|
|
57
|
+
- **Current repo** → prefer [`existing-ui-audit`](../../existing-ui-audit/SKILL.md):
|
|
58
|
+
it inventories the codebase and emits the same shape, so the import path is
|
|
59
|
+
identical either way.
|
|
60
|
+
|
|
61
|
+
Package **owns this contract**; does **not** ship the crawler, the Playwright
|
|
62
|
+
runtime, or a font-bundler.
|
|
@@ -63,17 +63,17 @@ under `dark.semantic.*` overriding the same semantic names (emitted as a
|
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
65
|
# tokens.json → CSS variables (primitives + semantic + components + .dark)
|
|
66
|
-
|
|
66
|
+
./scripts-run <skills-root>/design-tokens/scripts/tokens generate \
|
|
67
67
|
--config tokens.json -o assets/design-tokens.css
|
|
68
68
|
|
|
69
69
|
# tokens.json → Tailwind theme.extend.colors snippet
|
|
70
|
-
|
|
70
|
+
./scripts-run …/tokens generate --config tokens.json --format tailwind
|
|
71
71
|
|
|
72
72
|
# token-discipline lint: hardcoded hex/rgb/px/rem outside token files
|
|
73
|
-
|
|
73
|
+
./scripts-run …/tokens validate --dir src/ [--json]
|
|
74
74
|
|
|
75
75
|
# embeddable inline CSS for standalone HTML artifacts
|
|
76
|
-
|
|
76
|
+
./scripts-run …/tokens embed --tokens assets/design-tokens.css --minimal --style
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
`validate --json` emits findings with `"kind": "token_violation"` — the
|
|
@@ -92,6 +92,12 @@ four-operation split assigns to *rules/linters*, not the corpus).
|
|
|
92
92
|
actually uses.
|
|
93
93
|
2. **Ground the values** — `design-intelligence` query gives the
|
|
94
94
|
WCAG-checked semantic color set + typography pairing for the product.
|
|
95
|
+
No brand and no corpus match (a genuinely from-scratch palette) →
|
|
96
|
+
derive the accent set in `oklch()` with shared lightness and chroma,
|
|
97
|
+
varied hue (`oklch(50% 0.15 250)` / `… 200` / `… 280`) — equal L/C
|
|
98
|
+
keeps the hues perceptually balanced where random hex codes drift in
|
|
99
|
+
saturation; cross-check the result against C1/C5 avoidance before
|
|
100
|
+
locking it in.
|
|
95
101
|
3. **Author `tokens.json`** from the starter: fill primitives, point
|
|
96
102
|
semantics at them, add `dark.semantic` overrides.
|
|
97
103
|
4. **Generate** CSS vars (and the Tailwind snippet when the stack is
|
|
@@ -129,6 +135,7 @@ four-operation split assigns to *rules/linters*, not the corpus).
|
|
|
129
135
|
|
|
130
136
|
## See also
|
|
131
137
|
|
|
138
|
+
- [`design-canon.md`](../../../docs/guidelines/design-canon.md) § Colour references — a11y-contrast + culturally-specific palettes + named-system token models.
|
|
132
139
|
- [`design-intelligence`](../design-intelligence/SKILL.md) — grounded value selection.
|
|
133
140
|
- [`tailwind-engineer`](../tailwind-engineer/SKILL.md) — utility-discipline consumer.
|
|
134
141
|
- [`react-shadcn-ui`](../react-shadcn-ui/SKILL.md) — shadcn token conventions.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
model_tier: inherit
|
|
3
|
+
name: design-variations
|
|
4
|
+
description: "Produce 3+ substantively distinct hi-fi design variations — basic to bold, one file with tweak controls — when the user asks for options, alternatives, or \"show me a few takes\"."
|
|
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
|
+
# Design Variations
|
|
20
|
+
|
|
21
|
+
Produce multiple substantively distinct design variations so the user can
|
|
22
|
+
reject what they don't want and combine what they do. One design is one bet;
|
|
23
|
+
three variations surface preferences the user didn't know they had.
|
|
24
|
+
|
|
25
|
+
## When to use
|
|
26
|
+
|
|
27
|
+
- The user asks for options, alternatives, "different takes", "show me a few"
|
|
28
|
+
on hi-fi UI work (screen, component, flow, visual treatment).
|
|
29
|
+
- After a `wireframe` round settled the structure and the user wants styled
|
|
30
|
+
directions on top of it.
|
|
31
|
+
|
|
32
|
+
**When NOT to use:** structure/flow exploration before any styling decision →
|
|
33
|
+
[`wireframe`](../wireframe/SKILL.md) (lo-fi, disposable). Selecting ONE
|
|
34
|
+
grounded direction without generating alternatives →
|
|
35
|
+
[`design-intelligence`](../design-intelligence/SKILL.md). Reviewing an
|
|
36
|
+
existing design → [`design-review`](../design-review/SKILL.md).
|
|
37
|
+
|
|
38
|
+
## Procedure
|
|
39
|
+
|
|
40
|
+
1. **Baseline.** Confirm what is varied (screen / component / flow / visual
|
|
41
|
+
treatment), the existing design context (DESIGN.md, brand tokens, UI kit —
|
|
42
|
+
run [`existing-ui-audit`](../existing-ui-audit/SKILL.md) when the output
|
|
43
|
+
lands in a real codebase, per the `ui-audit-gate` rule), the count
|
|
44
|
+
(default 3, ceiling 6), and the user's priority axis.
|
|
45
|
+
2. **Pick 2–4 axes** to vary across: visual treatment (tone, density, shadow,
|
|
46
|
+
radius, type weight), layout (centered/asymmetric, single/multi-column,
|
|
47
|
+
full-bleed/inset), interaction model (single page vs multi-step, modal vs
|
|
48
|
+
inline), hierarchy (what is primary), tone (minimal/formal/playful/
|
|
49
|
+
editorial), component style. Map axes onto the project's Taste Dials
|
|
50
|
+
(Variance/Motion/Density) where DESIGN.md defines them.
|
|
51
|
+
3. **Spec each variation BEFORE building** — one line per variation naming
|
|
52
|
+
its distinct palette family, type pairing, and layout skeleton. Left
|
|
53
|
+
unspecified, variations converge on one default look; variety must be
|
|
54
|
+
designed, not hoped for. Ground palette/type picks via
|
|
55
|
+
[`design-intelligence`](../design-intelligence/SKILL.md) and emit values
|
|
56
|
+
as tokens per [`design-tokens`](../design-tokens/SKILL.md).
|
|
57
|
+
4. **Build basic → bold.** Variation 1 = by-the-book (matches existing
|
|
58
|
+
patterns); variation 2 = refined (same structure, one or two dimensions
|
|
59
|
+
pushed — often the actual pick); variation 3 = novel (genuinely different
|
|
60
|
+
layout/metaphor/aesthetic, deliberately off-distribution). Cover both
|
|
61
|
+
ends — an all-safe set wastes the round, an all-wild set ignores the brief.
|
|
62
|
+
5. **Substantive, not cosmetic.** Two variations that differ only in button
|
|
63
|
+
color or shadow opacity are one variation — drop and replace. Litmus: the
|
|
64
|
+
user can articulate the difference between any two variations in one
|
|
65
|
+
sentence.
|
|
66
|
+
6. **Present in a single file** with tweak controls — never `v1.html` /
|
|
67
|
+
`v2.html` / `v3.html`. Structure-sharing variants toggle via CSS custom
|
|
68
|
+
properties + a small floating "Tweaks" panel (3–8 controls: color picker,
|
|
69
|
+
font/variant dropdown, density slider, section toggles, copy inputs);
|
|
70
|
+
persist chosen values in `localStorage`. Structurally distinct variants
|
|
71
|
+
render side-by-side with labels. Even unasked, expose 1–2 tweak axes by
|
|
72
|
+
default.
|
|
73
|
+
7. **Caption each variation** (1–2 sentences naming the axis it flexes) and
|
|
74
|
+
**close with a recommendation** — a designer offers an opinion; the user
|
|
75
|
+
decides.
|
|
76
|
+
8. **Quality gate.** Novel ≠ sloppy: run `lint_design_slop` over the emitted
|
|
77
|
+
file (every variation individually passes; a DESIGN.md-declared direction
|
|
78
|
+
suppresses its flags) and honor the outward-artifact hygiene floor (Q13 in
|
|
79
|
+
[`design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md)) —
|
|
80
|
+
no workspace paths, skill/tool names, or generator traces in the markup.
|
|
81
|
+
Final pass before delivery → [`design-review`](../design-review/SKILL.md).
|
|
82
|
+
|
|
83
|
+
## Output format
|
|
84
|
+
|
|
85
|
+
1. **One HTML/JSX file** containing all variations — side-by-side sections or
|
|
86
|
+
custom-property-driven variants with a floating Tweaks panel (3–8 controls,
|
|
87
|
+
`localStorage`-persisted); no per-variation file scatter.
|
|
88
|
+
2. **Variation spec block** (comment or intro): per variation one line —
|
|
89
|
+
axis flexed, palette family, type pairing, layout skeleton.
|
|
90
|
+
3. **Captions + one recommendation** naming the suggested pick and why, with
|
|
91
|
+
the trade-off of the runner-up.
|
|
92
|
+
4. **Clean slop scan** — `lint_design_slop` output for the file (flags
|
|
93
|
+
resolved or DESIGN.md-justified), no Q13 violations.
|
|
94
|
+
|
|
95
|
+
## Do NOT
|
|
96
|
+
|
|
97
|
+
- Do NOT produce variations that differ only cosmetically (color swap, shadow
|
|
98
|
+
tweak) — replace with a substantive alternative.
|
|
99
|
+
- Do NOT scatter `v1/v2/v3` files — one file, toggleable.
|
|
100
|
+
- Do NOT let variations drift into one house style — spec palette/type/layout
|
|
101
|
+
per variation before building.
|
|
102
|
+
- Do NOT skip the recommendation — presenting options without an opinion
|
|
103
|
+
pushes the decision cost back onto the user.
|
|
104
|
+
- Do NOT invent brand values — consumer brand tokens win
|
|
105
|
+
(`brand-source-of-truth`); the corpus fills gaps only.
|
|
106
|
+
- Do NOT embed system internals (paths, skill/tool names, generator traces)
|
|
107
|
+
in the emitted markup — Q13.
|
|
108
|
+
|
|
109
|
+
## Gotcha
|
|
110
|
+
|
|
111
|
+
- The "novel" variation is where slop concentrates: off-distribution choices
|
|
112
|
+
still pass the antipatterns catalog — deliberate ≠ default. Declare the
|
|
113
|
+
direction in the spec block so `lint_design_slop` gating reads intent.
|
|
114
|
+
- Tweak panels leak into delivery: the panel must be removable (single
|
|
115
|
+
`<script>`/`<aside>` block, clearly marked) so the chosen variant ships
|
|
116
|
+
without exploration chrome.
|
|
117
|
+
- More than 6 variations degrades choice quality — the user can't hold them
|
|
118
|
+
in mind; split into two rounds on different axes instead.
|
|
119
|
+
|
|
120
|
+
## See also
|
|
121
|
+
|
|
122
|
+
- [`wireframe`](../wireframe/SKILL.md) — lo-fi structure exploration before this.
|
|
123
|
+
- [`design-intelligence`](../design-intelligence/SKILL.md) — grounded direction/palette/type selection.
|
|
124
|
+
- [`design-tokens`](../design-tokens/SKILL.md) — token emission for variation values.
|
|
125
|
+
- [`fe-design`](../fe-design/SKILL.md) — production heuristics the by-the-book variation follows.
|
|
126
|
+
- [`design-review`](../design-review/SKILL.md) — final gate before delivery.
|
|
127
|
+
- [`docs/guidelines/design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md) — catalog + Q13 outward-artifact hygiene.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill": "design-variations",
|
|
3
|
+
"last_eval": "2026-07-06",
|
|
4
|
+
"description": "5 should-trigger + 5 should-not-trigger. Should-trigger covers hi-fi options/alternatives requests. Should-not-trigger covers near-miss neighbors: wireframe (lo-fi structure exploration), design-intelligence (single grounded direction), design-review (review existing), image generation, and single-implementation feature work.",
|
|
5
|
+
"queries": [
|
|
6
|
+
{"q": "show me 3 different takes on this pricing page", "trigger": true},
|
|
7
|
+
{"q": "give me a few design options for the dashboard header", "trigger": true},
|
|
8
|
+
{"q": "I can't decide on the hero layout — build some alternatives I can compare", "trigger": true},
|
|
9
|
+
{"q": "make this settings screen in a safe version and a bold version", "trigger": true},
|
|
10
|
+
{"q": "let me play with color and density options on this card grid", "trigger": true},
|
|
11
|
+
{"q": "sketch a few rough layout directions for the signup flow before we style anything", "trigger": false, "note": "lo-fi structure exploration → wireframe"},
|
|
12
|
+
{"q": "pick a visual direction and palette for our new SaaS app", "trigger": false, "note": "single grounded direction → design-intelligence"},
|
|
13
|
+
{"q": "review this landing page design for issues", "trigger": false, "note": "review of existing design → design-review"},
|
|
14
|
+
{"q": "generate 3 logo images in Midjourney", "trigger": false, "note": "AI image generation → image-provider-routing / logo-generation"},
|
|
15
|
+
{"q": "build the checkout form component", "trigger": false, "note": "single implementation, no options ask → fe-design / stack executor"}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -40,7 +40,7 @@ Steps at a glance:
|
|
|
40
40
|
5. Write `manifest.yml` with acyclic `dependency_graph` and empty `linear_state`.
|
|
41
41
|
6. Append `<!-- ticket: T-NNN -->` markers back into the roadmap.
|
|
42
42
|
7. (Re)generate `agents/tickets/_registry.yml`.
|
|
43
|
-
8. Run `lint_ticket_buildable
|
|
43
|
+
8. Run `lint_ticket_buildable` until exit 0 (max 3 attempts).
|
|
44
44
|
9. Tell the user the bundle is ready: paste a ticket into Linear/Jira, or have the agent create it via a tracker MCP server (ADR-102 — no API export).
|
|
45
45
|
|
|
46
46
|
### §0 — Locate the roadmap
|
|
@@ -97,7 +97,7 @@ Apply this floor **before** marking any ticket `lite`:
|
|
|
97
97
|
- Any miss → split the ticket further, or escalate to `medium`
|
|
98
98
|
- Architectural / multi-module → `high` (use `adr-create` first)
|
|
99
99
|
|
|
100
|
-
**Gate:** run
|
|
100
|
+
**Gate:** run `./scripts-run src/scripts/lint_ticket_buildable agents/tickets/{slug}/`
|
|
101
101
|
and fix all errors before declaring any ticket `lite`. This is the only
|
|
102
102
|
authoritative check — do not skip it.
|
|
103
103
|
|
|
@@ -154,7 +154,7 @@ If the file does not exist, create it with the `bundles:` root.
|
|
|
154
154
|
### §8 — Run the buildability gate
|
|
155
155
|
|
|
156
156
|
```bash
|
|
157
|
-
|
|
157
|
+
./scripts-run src/scripts/lint_ticket_buildable agents/tickets/{slug}/
|
|
158
158
|
```
|
|
159
159
|
|
|
160
160
|
Fix every reported error. Re-run until exit code 0. Max 3 attempts; if still
|
|
@@ -181,7 +181,7 @@ Do NOT auto-create tracker issues — paste/MCP is the user's call.
|
|
|
181
181
|
|
|
182
182
|
- Implement or invent ticket content not traceable to a roadmap step.
|
|
183
183
|
- Touch `src/scripts/**` — orchestrate; do not reimplement.
|
|
184
|
-
- Mark a ticket `lite` before `lint_ticket_buildable
|
|
184
|
+
- Mark a ticket `lite` before `lint_ticket_buildable` passes.
|
|
185
185
|
- Create a circular `dependency_graph` — verify acyclicity before writing.
|
|
186
186
|
- Auto-create tracker issues — paste/MCP is the user's call (ADR-102, no API export).
|
|
187
187
|
- Reuse T-NNN numbers from another bundle in the same registry.
|
|
@@ -199,6 +199,12 @@ violations will surface as new findings on every run.
|
|
|
199
199
|
7. **`state.ui_audit.greenfield`** — boolean; when true, `greenfield_decision` MUST also be set before the dispatcher advances
|
|
200
200
|
8. **`state.ui_audit.a11y_baseline`** *(optional)* — array of `{rule, selector, severity?}` entries documenting pre-existing a11y violations the review gate should treat as informational. Omit the key entirely when no baseline applies; do not write `[]` for "I checked and there are none" — that disables the gate's filter for every future run.
|
|
201
201
|
|
|
202
|
+
**Design-system export (current-repo source):** to seed `DESIGN.md` from *this*
|
|
203
|
+
repo, emit the inventory as a `design-system.json` artifact (the import contract
|
|
204
|
+
in [`design-system-capture`](../design-system-capture/reference/design-system-json.md))
|
|
205
|
+
and hand it to `design-system-capture` — same shape an external tool produces,
|
|
206
|
+
so the import path is uniform.
|
|
207
|
+
|
|
202
208
|
## Gotcha
|
|
203
209
|
|
|
204
210
|
- The model tends to skip the audit and start designing straight from the request — the dispatcher gate at `directives/ui/audit.py` enforces "no design without audit findings". Never treat this skill as optional for non-trivial UI.
|
|
@@ -233,6 +233,26 @@ Animate `transform` and `opacity` only. Why: these run on the GPU compositor thr
|
|
|
233
233
|
5. **Loading states** — Skeleton screens preferred over spinners. **Why:** skeletons reduce perceived wait time by showing structure immediately.
|
|
234
234
|
6. **Error recovery** — Clear error messages with suggested actions. **Why:** "something went wrong" gives the user nothing to do; a specific message with a next step reduces support burden.
|
|
235
235
|
|
|
236
|
+
## Craft details — typography & imagery
|
|
237
|
+
|
|
238
|
+
- **`text-wrap: pretty` on body copy** — avoids widows/orphans without manual
|
|
239
|
+
breaks; cheap, no layout risk. (Display headlines: `text-wrap: balance`.)
|
|
240
|
+
- **Honest placeholders over weak assets** — when the real image/illustration
|
|
241
|
+
is missing, use a striped placeholder with a monospace size label
|
|
242
|
+
(`repeating-linear-gradient(45deg, #E5E5E5 0 10px, #F5F5F5 10px 20px)` +
|
|
243
|
+
`product shot (1200×800)`) instead of a hand-drawn SVG or stock-ish filler.
|
|
244
|
+
A placeholder signals "asset needed"; a weak illustration signals nobody
|
|
245
|
+
had the asset. Never Lorem-ipsum copy in review-bound output
|
|
246
|
+
(per `output-discipline`) — use short label-style skeleton copy.
|
|
247
|
+
|
|
248
|
+
## Presenting variants
|
|
249
|
+
|
|
250
|
+
This skill produces ONE refined solution. When the user wants multiple options
|
|
251
|
+
to compare (or a live tweak panel over one design), hand off to
|
|
252
|
+
[`design-variations`](../design-variations/SKILL.md) — it owns the
|
|
253
|
+
basic→bold variation method and the single-file tweak-panel mechanics
|
|
254
|
+
(CSS custom properties + floating "Tweaks" panel + `localStorage`).
|
|
255
|
+
|
|
236
256
|
## Cross-task design memory — read DESIGN.md / PRODUCT.md first
|
|
237
257
|
|
|
238
258
|
Before applying any heuristics from this reference, check the project root
|
|
@@ -112,6 +112,10 @@ current state on the next polish round.
|
|
|
112
112
|
- Flux has built-in validation display — don't add manual error rendering alongside it.
|
|
113
113
|
- Don't mix Flux with raw HTML form elements in the same form.
|
|
114
114
|
|
|
115
|
+
## Taste Dials
|
|
116
|
+
|
|
117
|
+
`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.
|
|
118
|
+
|
|
115
119
|
## Do NOT
|
|
116
120
|
|
|
117
121
|
- Do NOT use raw `<input>`, `<select>`, `<button>` when Flux equivalents exist.
|
|
@@ -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>
|
|
@@ -82,6 +82,7 @@ execution:
|
|
|
82
82
|
|
|
83
83
|
## See also
|
|
84
84
|
|
|
85
|
+
- [`design-canon.md`](../../../docs/guidelines/design-canon.md) § Icon systems — prefer a named system's icon set (Material Symbols / SF Symbols / Fluent / Carbon) when that system is in play.
|
|
85
86
|
- [`design-tokens`](../design-tokens/SKILL.md) — token system the icon color/size variables should reference.
|
|
86
87
|
- [`typography-system`](../typography-system/SKILL.md) — sibling visual-consistency skill.
|
|
87
88
|
- [`fe-design`](../fe-design/SKILL.md) — broader frontend design discipline.
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
|
+
"skill": "image-editing",
|
|
2
3
|
"last_eval": "2026-06-16",
|
|
3
|
-
"
|
|
4
|
-
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"do I need a rights check before using a celebrity's likeness in my image?"
|
|
4
|
+
"description": "5 should-trigger + 5 should-not-trigger. Should-trigger covers inpainting, background replacement, colour variation, object removal, and targeted render modification. Should-not covers near-miss neighbours: greenfield image generation (image-creator/image-generation), provider selection (image-provider-routing), prompt writing (image-creator), rights/licence check (media governance).",
|
|
5
|
+
"queries": [
|
|
6
|
+
{ "q": "edit the background of this product shot to a white studio setting", "trigger": true },
|
|
7
|
+
{ "q": "inpaint the logo out of the upper-right corner of this image", "trigger": true },
|
|
8
|
+
{ "q": "make a variation of this hero image in a warmer colour palette", "trigger": true },
|
|
9
|
+
{ "q": "remove the person standing on the left side of the photo", "trigger": true },
|
|
10
|
+
{ "q": "modify this existing render — I want the sky replaced with a sunset", "trigger": true },
|
|
11
|
+
{ "q": "generate a new product shot from scratch — I have no existing image", "trigger": false, "note": "greenfield generation → image-creator / image-generation" },
|
|
12
|
+
{ "q": "which image provider should I use for this job?", "trigger": false, "note": "provider routing → image-provider-routing" },
|
|
13
|
+
{ "q": "create a logo for my company", "trigger": false, "note": "logo creation → logo-generation" },
|
|
14
|
+
{ "q": "how do I write a good prompt for Ideogram?", "trigger": false, "note": "prompt engineering → image-creator" },
|
|
15
|
+
{ "q": "do I need a rights check before using a celebrity's likeness in my image?", "trigger": false, "note": "likeness / rights → media governance rules" }
|
|
16
16
|
]
|
|
17
17
|
}
|