monomind 2.5.0 → 2.5.2
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/package.json +2 -1
- package/packages/@monomind/cli/.claude/agents/design/design-monodesign.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/_repeat.md +4 -4
- package/packages/@monomind/cli/.claude/commands/mastermind/approvev1.md +4 -4
- package/packages/@monomind/cli/.claude/commands/mastermind/architect.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/autodev.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/brain.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/build.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/code-review.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/content.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/createorg.md +4 -4
- package/packages/@monomind/cli/.claude/commands/mastermind/createtask.md +3 -3
- package/packages/@monomind/cli/.claude/commands/mastermind/debug.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/design.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/do.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/execute.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/finance.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/finish.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/idea.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/ideate.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/improve.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/marketing.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/master.md +54 -54
- package/packages/@monomind/cli/.claude/commands/mastermind/ops.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/orgs.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/orgstatus.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/plan.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/receive-review.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/release.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/research.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/review.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/runorg.md +4 -4
- package/packages/@monomind/cli/.claude/commands/mastermind/runorgv1.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/sales.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/skill-builder.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/stoporg.md +3 -3
- package/packages/@monomind/cli/.claude/commands/mastermind/taskdev.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/tdd.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/techport.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/verify.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/worktree.md +5 -5
- package/packages/@monomind/cli/.claude/helpers/control-start.cjs +30 -0
- package/packages/@monomind/cli/.claude/helpers/utils/monograph.cjs +44 -12
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/access.md → mastermind-access/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/activity.md → mastermind-activity/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/adapter-manager.md → mastermind-adapter-manager/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/adapters.md → mastermind-adapters/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/agent-detail.md → mastermind-agent-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/agents.md → mastermind-agents/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/approval-detail.md → mastermind-approval-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/approvev1.md → mastermind-approvev1/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/architect.md → mastermind-architect/SKILL.md} +7 -7
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/autodev.md → mastermind-autodev/SKILL.md} +10 -10
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/backup.md → mastermind-backup/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/bootstrap.md → mastermind-bootstrap/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/budgets.md → mastermind-budgets/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/build.md → mastermind-build/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/companies.md → mastermind-companies/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/content.md → mastermind-content/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/costs.md → mastermind-costs/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/createorg.md → mastermind-createorg/SKILL.md} +3 -3
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/debug.md → mastermind-debug/SKILL.md} +4 -4
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_delegation.md → mastermind-delegation/SKILL.md} +1 -1
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/design.md → mastermind-design/SKILL.md} +9 -9
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/diagnose.md → mastermind-diagnose/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/env.md → mastermind-env/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/environments.md → mastermind-environments/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/execute.md → mastermind-execute/SKILL.md} +10 -10
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/export.md → mastermind-export/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/finance.md → mastermind-finance/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/goal-detail.md → mastermind-goal-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/goals.md → mastermind-goals/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/heartbeatv1.md → mastermind-heartbeatv1/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/idea.md → mastermind-idea/SKILL.md} +7 -7
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/import.md → mastermind-import/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/inbox.md → mastermind-inbox/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/instance.md → mastermind-instance/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/instance-settings.md → mastermind-instance-settings/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/invite-landing.md → mastermind-invite-landing/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/invites.md → mastermind-invites/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/issue-detail.md → mastermind-issue-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/issues.md → mastermind-issues/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/join-queue.md → mastermind-join-queue/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/liveness.md → mastermind-liveness/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/marketing.md → mastermind-marketing/SKILL.md} +8 -8
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/memory.md → mastermind-memory/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/monitor.md → mastermind-monitor/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/my-issues.md → mastermind-my-issues/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/new-agent.md → mastermind-new-agent/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/ops.md → mastermind-ops/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/org-chart.md → mastermind-org-chart/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/org-settings.md → mastermind-org-settings/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/orgs.md → mastermind-orgs/SKILL.md} +1 -1
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/orgstatus.md → mastermind-orgstatus/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plan.md → mastermind-plan/SKILL.md} +7 -7
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plan-to-tasks.md → mastermind-plan-to-tasks/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plugin-manager.md → mastermind-plugin-manager/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plugin-settings.md → mastermind-plugin-settings/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plugins.md → mastermind-plugins/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/profile.md → mastermind-profile/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/project-detail.md → mastermind-project-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/project-workspace.md → mastermind-project-workspace/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/projects.md → mastermind-projects/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_protocol.md → mastermind-protocol/SKILL.md} +3 -3
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/release.md → mastermind-release/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_repeat.md → mastermind-repeat/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/research.md → mastermind-research/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/review.md → mastermind-review/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/routine-detail.md → mastermind-routine-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/routines.md → mastermind-routines/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/runorgv1.md → mastermind-runorgv1/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/sales.md → mastermind-sales/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/search.md → mastermind-search/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/secrets.md → mastermind-secrets/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/skill-builder.md → mastermind-skill-builder/SKILL.md} +16 -14
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/{skills.md → SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/stoporg.md → mastermind-stoporg/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/taskdev.md → mastermind-taskdev/SKILL.md} +6 -6
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/implementer-prompt.md +1 -1
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/tasks.md → mastermind-tasks/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/tdd.md → mastermind-tdd/SKILL.md} +4 -4
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/techport.md → mastermind-techport/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/threads.md → mastermind-threads/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/tree-control.md → mastermind-tree-control/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/verify.md → mastermind-verify/SKILL.md} +1 -1
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/wiki.md → mastermind-wiki/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/workspace-detail.md → mastermind-workspace-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/workspaces.md → mastermind-workspaces/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/monodesign/SKILL.md +114 -190
- package/packages/@monomind/cli/.claude/skills/monodesign/adapt.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/agents/monodesign-asset-producer.md +4 -4
- package/packages/@monomind/cli/.claude/skills/monodesign/agents/monodesign-manual-edit-applier.md +103 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/audit.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/craft.md +2 -2
- package/packages/@monomind/cli/.claude/skills/monodesign/critique.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/init.md +30 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/layout.md +36 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/live.md +19 -44
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/adapt.md +122 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/adapt.native.md +58 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/android.md +40 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/animate.md +39 -11
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/antipatterns-catalog.md +22 -16
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/audit.md +5 -3
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/audit.native.md +139 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/bolder.md +71 -64
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/brand.md +12 -18
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/clarify.md +114 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/codex.md +4 -6
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/colorize.md +108 -5
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/craft.md +70 -143
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/critique.md +635 -68
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/delight.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/distill.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/document.md +24 -22
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/extract.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/hooks.md +22 -29
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/init.md +221 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/interaction-design.md +0 -6
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/ios.md +45 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/layout.md +57 -13
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/live.md +159 -63
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/overdrive.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/personas.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/polish.md +16 -8
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/pre-delivery-checklist.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/product.md +1 -3
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/quieter.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/shape.md +27 -13
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/teach.md +6 -152
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/typeset.md +180 -3
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/command-metadata.json +94 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/context-signals.mjs +227 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/context.mjs +1062 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/critique-storage.mjs +243 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detect-csp.mjs +199 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detect.mjs +34 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/browser/injected/index.mjs +1938 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/cli/main.mjs +322 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/design-system.mjs +815 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/detect-antipatterns-browser.js +5246 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/detect-antipatterns.mjs +51 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/browser/detect-url.mjs +260 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/browser/drivers.mjs +259 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/regex/detect-text.mjs +574 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/static-html/css-cascade.mjs +1016 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/static-html/detect-html.mjs +235 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/visual/screenshot-contrast.mjs +199 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/findings.mjs +13 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/node/file-system.mjs +199 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/profile/profiler.mjs +167 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/registry/antipatterns.mjs +515 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/rules/checks.mjs +2704 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/color.mjs +125 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/constants.mjs +102 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/fonts.mjs +31 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/inline-ignores.mjs +149 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/page.mjs +8 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-admin.mjs +662 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-before-edit.mjs +517 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-lib.mjs +1777 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook.mjs +62 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/design-parser.mjs +843 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/is-generated.mjs +70 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/monodesign-config.mjs +641 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/monodesign-paths.mjs +130 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/provider.mjs +5 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/target-args.mjs +43 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/browser-script-parts.mjs +51 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/completion.mjs +20 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/event-validation.mjs +138 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/insert-ui.mjs +459 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-apply.mjs +940 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-edit-routes.mjs +358 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-edits-buffer.mjs +153 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/session-store.mjs +290 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/svelte-component.mjs +827 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/sveltekit-adapter.mjs +275 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/ui-core.mjs +181 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/vocabulary.mjs +37 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-accept.mjs +813 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser-dom.js +147 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser-session.js +124 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser.js +11241 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-commit-manual-edits.mjs +1242 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-complete.mjs +76 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-copy-edit-agent.mjs +684 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-discard-manual-edits.mjs +52 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-inject.mjs +584 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-insert.mjs +273 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-manual-edit-evidence.mjs +364 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-poll.mjs +385 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-resume.mjs +95 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-server.mjs +1138 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-status.mjs +62 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-target.mjs +31 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-wrap.mjs +895 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live.mjs +298 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/modern-screenshot.umd.js +15 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/palette.mjs +634 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/pin.mjs +222 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/teach.md +7 -58
- package/packages/@monomind/cli/dist/src/commands/design-detect.d.ts +7 -1
- package/packages/@monomind/cli/dist/src/commands/design-detect.js +70 -38
- package/packages/@monomind/cli/dist/src/commands/design-palette.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/commands/design-palette.js +3 -3
- package/packages/@monomind/cli/dist/src/commands/doc.js +72 -15
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.d.ts +4 -0
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.js +23 -0
- package/packages/@monomind/cli/dist/src/commands/doctor.js +3 -3
- package/packages/@monomind/cli/dist/src/commands/org.js +109 -9
- package/packages/@monomind/cli/dist/src/init/executor.js +14 -3
- package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.js +1 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/knowledge-tools.js +38 -7
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.d.ts +8 -3
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +193 -31
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +33 -0
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +169 -18
- package/packages/@monomind/cli/dist/src/memory/memory-kg.d.ts +185 -0
- package/packages/@monomind/cli/dist/src/memory/memory-kg.js +449 -0
- package/packages/@monomind/cli/dist/src/memory/query-router.d.ts +44 -0
- package/packages/@monomind/cli/dist/src/memory/query-router.js +113 -0
- package/packages/@monomind/cli/dist/src/orgrt/daemon.d.ts +18 -0
- package/packages/@monomind/cli/dist/src/orgrt/daemon.js +249 -12
- package/packages/@monomind/cli/dist/src/orgrt/migrate.js +7 -0
- package/packages/@monomind/cli/dist/src/orgrt/policy.js +7 -0
- package/packages/@monomind/cli/dist/src/orgrt/session.d.ts +24 -1
- package/packages/@monomind/cli/dist/src/orgrt/session.js +18 -3
- package/packages/@monomind/cli/dist/src/orgrt/templates.d.ts +1 -0
- package/packages/@monomind/cli/dist/src/orgrt/templates.js +9 -4
- package/packages/@monomind/cli/dist/src/orgrt/types.d.ts +15 -0
- package/packages/@monomind/cli/dist/src/orgrt/types.js +2 -0
- package/packages/@monomind/cli/dist/src/ui/dashboard.html +154 -6
- package/packages/@monomind/cli/dist/src/ui/orgs.html +24 -0
- package/packages/@monomind/cli/dist/src/ui/server.mjs +211 -13
- package/packages/@monomind/cli/package.json +6 -4
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_agent-select.md → mastermind-agent-select/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/finish.md → mastermind-finish/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_intake.md → mastermind-intake/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-marketing}/references/copywriting-frameworks.md +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-marketing}/references/persuasion-psychology.md +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/monotask.md → mastermind-monotask/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/receive-review.md → mastermind-receive-review/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/runorg.md → mastermind-runorg/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/code-quality-reviewer-prompt.md +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/final-reviewer-prompt.md +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/spec-reviewer-prompt.md +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/worktree.md → mastermind-worktree/SKILL.md} +0 -0
|
@@ -30,7 +30,7 @@ Analyze the current state and identify opportunities:
|
|
|
30
30
|
- **Wayfinding**: Helping users navigate and understand structure
|
|
31
31
|
- **Delight**: Moments of visual interest and personality
|
|
32
32
|
|
|
33
|
-
If any of these are unclear from the codebase,
|
|
33
|
+
If any of these are unclear from the codebase, STOP and call the AskUserQuestion tool to clarify.
|
|
34
34
|
|
|
35
35
|
**CRITICAL**: More color ≠ better. Strategic color beats rainbow vomit every time. Every color should have a purpose.
|
|
36
36
|
|
|
@@ -68,10 +68,10 @@ Add color systematically across these dimensions:
|
|
|
68
68
|
- **Hover states**: Introduce color on interaction
|
|
69
69
|
|
|
70
70
|
### Background & Surfaces
|
|
71
|
-
- **Tinted backgrounds**:
|
|
71
|
+
- **Tinted backgrounds**: If you replace pure gray, tint toward the brand hue, not toward a generic-warm-or-cool pair. The default-warm-tint (`oklch(97% 0.01 60)` and its neighbors) is now the AI cream/sand giveaway. Be specific to the brand or stay neutral.
|
|
72
72
|
- **Colored sections**: Use subtle background colors to separate areas
|
|
73
73
|
- **Gradient backgrounds**: Add depth with subtle, intentional gradients (not generic purple-blue)
|
|
74
|
-
- **Cards & surfaces**: Tint cards or surfaces
|
|
74
|
+
- **Cards & surfaces**: Tint cards or surfaces toward the brand, not "for warmth" by reflex
|
|
75
75
|
|
|
76
76
|
**Use OKLCH for color**: It's perceptually uniform, meaning equal steps in lightness *look* equal. Great for generating harmonious scales.
|
|
77
77
|
|
|
@@ -124,8 +124,6 @@ Ensure color addition improves rather than overwhelms:
|
|
|
124
124
|
- Use every color in the rainbow (choose 2-4 colors beyond neutrals)
|
|
125
125
|
- Apply color randomly without semantic meaning
|
|
126
126
|
- Put gray text on colored backgrounds. It looks washed out; use a darker shade of the background color or transparency instead
|
|
127
|
-
- Use pure gray for neutrals. Add subtle color tint (warm or cool) for depth
|
|
128
|
-
- Use pure black (`#000`) or pure white (`#fff`) for large areas
|
|
129
127
|
- Violate WCAG contrast requirements
|
|
130
128
|
- Use color as the only indicator (accessibility issue)
|
|
131
129
|
- Make everything colorful (defeats the purpose)
|
|
@@ -152,3 +150,108 @@ When invoked from live mode, each variant MUST declare a `color-amount` param so
|
|
|
152
150
|
```
|
|
153
151
|
|
|
154
152
|
Layer 1-2 variant-specific params on top: palette selection (`steps` with named options), temperature warmth, or tint vs. true color. See `reference/live.md` for the full params contract.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Reference Material
|
|
157
|
+
|
|
158
|
+
The sections below were previously `color-and-contrast.md` and live inline now so the colorize flow has its deep color reference in one place.
|
|
159
|
+
|
|
160
|
+
### Color & Contrast
|
|
161
|
+
|
|
162
|
+
#### Color Spaces: Use OKLCH
|
|
163
|
+
|
|
164
|
+
**Stop using HSL.** Use OKLCH (or LCH) instead. It's perceptually uniform, meaning equal steps in lightness *look* equal, unlike HSL where 50% lightness in yellow looks bright while 50% in blue looks dark.
|
|
165
|
+
|
|
166
|
+
The OKLCH function takes three components: `oklch(lightness chroma hue)` where lightness is 0-100%, chroma is roughly 0-0.4, and hue is 0-360. To build a primary color and its lighter / darker variants, hold the chroma+hue roughly constant and vary the lightness, but **reduce chroma as you approach white or black**, because high chroma at extreme lightness looks garish.
|
|
167
|
+
|
|
168
|
+
The hue you pick is a brand decision and should not come from a default. Do not reach for blue (hue 250) or warm orange (hue 60) by reflex; those are the dominant AI-design defaults, not the right answer for any specific brand.
|
|
169
|
+
|
|
170
|
+
#### Building Functional Palettes
|
|
171
|
+
|
|
172
|
+
##### Tinted Neutrals
|
|
173
|
+
|
|
174
|
+
**Pure gray is dead.** A neutral with zero chroma feels lifeless next to a colored brand. Add a tiny chroma value (0.005-0.015) to all your neutrals, hued toward whatever your brand color is. The chroma is small enough not to read as "tinted" consciously, but it creates subconscious cohesion between brand color and UI surfaces.
|
|
175
|
+
|
|
176
|
+
The hue you tint toward should come from THIS project's brand, not from a "warm = friendly, cool = tech" formula. If your brand color is teal, your neutrals lean toward teal. If your brand color is amber, they lean toward amber. The point is cohesion with the SPECIFIC brand, not a stock palette.
|
|
177
|
+
|
|
178
|
+
**Avoid** the trap of always tinting toward warm orange or always tinting toward cool blue. Those are the two laziest defaults and they create their own monoculture across projects.
|
|
179
|
+
|
|
180
|
+
##### Palette Structure
|
|
181
|
+
|
|
182
|
+
A complete system needs:
|
|
183
|
+
|
|
184
|
+
| Role | Purpose | Example |
|
|
185
|
+
|------|---------|---------|
|
|
186
|
+
| **Primary** | Brand, CTAs, key actions | 1 color, 3-5 shades |
|
|
187
|
+
| **Neutral** | Text, backgrounds, borders | 9-11 shade scale |
|
|
188
|
+
| **Semantic** | Success, error, warning, info | 4 colors, 2-3 shades each |
|
|
189
|
+
| **Surface** | Cards, modals, overlays | 2-3 elevation levels |
|
|
190
|
+
|
|
191
|
+
**Skip secondary/tertiary unless you need them.** Most apps work fine with one accent color. Adding more creates decision fatigue and visual noise.
|
|
192
|
+
|
|
193
|
+
##### The 60-30-10 Rule (Applied Correctly)
|
|
194
|
+
|
|
195
|
+
This rule is about **visual weight**, not pixel count:
|
|
196
|
+
|
|
197
|
+
- **60%**: Neutral backgrounds, white space, base surfaces
|
|
198
|
+
- **30%**: Secondary colors: text, borders, inactive states
|
|
199
|
+
- **10%**: Accent: CTAs, highlights, focus states
|
|
200
|
+
|
|
201
|
+
The common mistake: using the accent color everywhere because it's "the brand color." Accent colors work *because* they're rare. Overuse kills their power.
|
|
202
|
+
|
|
203
|
+
#### Contrast & Accessibility
|
|
204
|
+
|
|
205
|
+
##### WCAG Requirements
|
|
206
|
+
|
|
207
|
+
| Content Type | AA Minimum | AAA Target |
|
|
208
|
+
|--------------|------------|------------|
|
|
209
|
+
| Body text | 4.5:1 | 7:1 |
|
|
210
|
+
| Large text (18px+ or 14px bold) | 3:1 | 4.5:1 |
|
|
211
|
+
| UI components, icons | 3:1 | 4.5:1 |
|
|
212
|
+
| Non-essential decorations | None | None |
|
|
213
|
+
|
|
214
|
+
##### Dangerous Color Combinations
|
|
215
|
+
|
|
216
|
+
These commonly fail contrast or cause readability issues:
|
|
217
|
+
|
|
218
|
+
- Light gray text on white (the #1 accessibility fail)
|
|
219
|
+
- Red text on green background (or vice versa): 8% of men can't distinguish these
|
|
220
|
+
- Blue text on red background (vibrates visually)
|
|
221
|
+
- Yellow text on white (almost always fails)
|
|
222
|
+
- Thin light text on images (unpredictable contrast)
|
|
223
|
+
|
|
224
|
+
##### Testing
|
|
225
|
+
|
|
226
|
+
Don't trust your eyes. Use tools:
|
|
227
|
+
|
|
228
|
+
- [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/)
|
|
229
|
+
- Browser DevTools → Rendering → Emulate vision deficiencies
|
|
230
|
+
- [Polypane](https://polypane.app/) for real-time testing
|
|
231
|
+
|
|
232
|
+
#### Theming: Light & Dark Mode
|
|
233
|
+
|
|
234
|
+
##### Dark Mode Is Not Inverted Light Mode
|
|
235
|
+
|
|
236
|
+
You can't just swap colors. Dark mode requires different design decisions:
|
|
237
|
+
|
|
238
|
+
| Light Mode | Dark Mode |
|
|
239
|
+
|------------|-----------|
|
|
240
|
+
| Shadows for depth | Lighter surfaces for depth (no shadows) |
|
|
241
|
+
| Dark text on light | Light text on dark (reduce font weight) |
|
|
242
|
+
| Vibrant accents | Desaturate accents slightly |
|
|
243
|
+
| White backgrounds | Either pure black or a deep surface that fits the brand (a brand-tinted near-black at oklch 12-18% works too) |
|
|
244
|
+
|
|
245
|
+
In dark mode, depth comes from surface lightness, not shadow. Build a 3-step surface scale where higher elevations are lighter (e.g. 15% / 20% / 25% lightness). Use the SAME hue and chroma as your brand color (whatever it is for THIS project; do not reach for blue) and only vary the lightness. Reduce body text weight slightly (e.g. 350 instead of 400) because light text on dark reads as heavier than dark text on light.
|
|
246
|
+
|
|
247
|
+
##### Token Hierarchy
|
|
248
|
+
|
|
249
|
+
Use two layers: primitive tokens (`--blue-500`) and semantic tokens (`--color-primary: var(--blue-500)`). For dark mode, only redefine the semantic layer; primitives stay the same.
|
|
250
|
+
|
|
251
|
+
#### Alpha Is A Design Smell
|
|
252
|
+
|
|
253
|
+
Heavy use of transparency (rgba, hsla) usually means an incomplete palette. Alpha creates unpredictable contrast, performance overhead, and inconsistency. Define explicit overlay colors for each context instead. Exception: focus rings and interactive states where see-through is needed.
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
**Avoid**: Relying on color alone to convey information. Creating palettes without clear roles for each color. Skipping color blindness testing (8% of men affected).
|
|
@@ -1,189 +1,118 @@
|
|
|
1
1
|
# Craft Flow
|
|
2
2
|
|
|
3
|
-
Build a feature with
|
|
3
|
+
Build a feature with monodesign UX and UI quality: shape the design, land the visual direction, build real production code, inspect and improve in-browser until it meets a high-end studio bar.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Before writing code, you need: PRODUCT.md loaded, register identified and the matching reference loaded, and a confirmed design direction for this task (either from `shape` or supplied by the user). PRODUCT.md is project context, not a task-specific brief.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Treat any approved visual direction (generated mock or stated reference) as a concrete contract for composition, hierarchy, density, atmosphere, signature motifs, and distinctive visual moves. Don't let mocks replace structure, copy, accessibility, or state design. But if the live result lacks the approved direction's major ingredients, the implementation is wrong.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
2. The shape design brief is explicitly confirmed by the user for this task, unless the user already provided a confirmed brief.
|
|
11
|
-
3. Implementation references from the brief are loaded.
|
|
12
|
-
4. The shape visual probe decision is recorded: generated, skipped with reason, or already resolved.
|
|
13
|
-
5. The north-star mock decision is recorded: generated, skipped with reason, or not applicable.
|
|
9
|
+
### Gates: do not compress
|
|
14
10
|
|
|
15
|
-
|
|
11
|
+
Craft has **multiple user gates**, not one. When the harness has native image generation (Codex via `image_gen`), the gate sequence before code is:
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
1. **Shape brief confirmed** (Step 1)
|
|
14
|
+
2. **Direction questions answered** (codex.md Step A)
|
|
15
|
+
3. **Palette confirmed** (codex.md Step B)
|
|
16
|
+
4. **One mock direction approved or delegated** (codex.md Step D)
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
You must stop at every gate. **Shape confirmation alone is NOT a green light to start coding.** It is the green light to begin codex.md Step A. Compressing gates 2 through 4 because the shape brief felt complete is the dominant failure mode of this flow.
|
|
20
19
|
|
|
21
|
-
|
|
20
|
+
When the harness lacks native image generation, gates 2-4 collapse into the brief itself, and shape confirmation does advance straight to code.
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
2. Approved visual direction, from generated probes / mocks when image generation is available.
|
|
25
|
-
3. Mock fidelity inventory: the visible ingredients from the approved direction that must survive into code.
|
|
26
|
-
4. Semantic, functional implementation using the project's real stack and conventions.
|
|
27
|
-
5. Browser evidence across relevant viewports.
|
|
28
|
-
6. At least one critique-and-fix pass after the first browser inspection, unless the first pass has no material defects.
|
|
22
|
+
## Step 0: Project Foundation
|
|
29
23
|
|
|
30
|
-
|
|
24
|
+
Before shape, before code: figure out what kind of project you're working in.
|
|
31
25
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Run /monodesign shape, passing along whatever feature description the user provided.
|
|
35
|
-
|
|
36
|
-
Wait for the design brief to be fully confirmed by the user before proceeding. The brief is your blueprint, and every implementation decision should trace back to it.
|
|
37
|
-
|
|
38
|
-
If this craft run resumed after `teach` created PRODUCT.md, run shape now. Do not treat the teach interview, PRODUCT.md, or a summary of project context as a substitute for shape. Shape is task-specific and must cover scope, content/states, visual direction, constraints, anti-goals, probes when applicable, and explicit brief confirmation.
|
|
39
|
-
|
|
40
|
-
If the user has already run /monodesign shape and has a confirmed design brief, skip this step and use the existing brief.
|
|
41
|
-
|
|
42
|
-
## Step 2: Load References
|
|
43
|
-
|
|
44
|
-
Based on the design brief's "Recommended References" section, consult the relevant impeccable reference files. At minimum, always consult:
|
|
45
|
-
|
|
46
|
-
- [spatial-design.md](spatial-design.md) for layout and spacing
|
|
47
|
-
- [typography.md](typography.md) for type hierarchy
|
|
48
|
-
|
|
49
|
-
Then add references based on the brief's needs:
|
|
50
|
-
- Complex interactions or forms? Consult [interaction-design.md](interaction-design.md)
|
|
51
|
-
- Animation or transitions? Consult [motion-design.md](motion-design.md)
|
|
52
|
-
- Color-heavy or themed? Consult [color-and-contrast.md](color-and-contrast.md)
|
|
53
|
-
- Responsive requirements? Consult [responsive-design.md](responsive-design.md)
|
|
54
|
-
- Heavy on copy, labels, or errors? Consult [ux-writing.md](ux-writing.md)
|
|
55
|
-
- Brand identity work, visual identity guidelines, or establishing a brand-consistent design system? Consult [brand-workflow.md](brand-workflow.md) for the end-to-end brand definition and token-sync process, and [brand.md](brand.md) for register-specific design rules.
|
|
56
|
-
|
|
57
|
-
## Step 3: Land the Visual Direction (Capability-Gated)
|
|
58
|
-
|
|
59
|
-
Before implementation, generate high-fidelity visual comps when all of these are true:
|
|
60
|
-
|
|
61
|
-
- The work is **net-new** or visually open-ended enough that composition exploration will improve the build.
|
|
62
|
-
- The brief's scope is **mid-fi, high-fi, or production-ready**.
|
|
63
|
-
- The current harness has **built-in image generation capability** (for example, Codex with a native image tool). Do **not** ask the user to set up external APIs, shell scripts, or one-off tooling just to do this.
|
|
64
|
-
|
|
65
|
-
When those conditions are met, this step is mandatory for **both brand and product work** in Codex and any harness with built-in image generation. Use native image generation; in Codex, use the built-in `image_gen` tool via the imagegen skill. If image generation is unavailable, do not ask the user to install APIs or tooling. State in one line that the image step is skipped because the harness lacks native image generation, then proceed.
|
|
26
|
+
Look at the working directory. Run `ls`. Check for:
|
|
66
27
|
|
|
67
|
-
|
|
28
|
+
- An existing framework: `astro.config.mjs/ts`, `next.config.js/ts`, `nuxt.config.ts`, `svelte.config.js`, `vite.config.js/ts`, `package.json` with framework deps, `Cargo.toml` + Leptos/Yew, `Gemfile` + Rails. **If found, use it.** Do not start a parallel build, do not introduce a second framework, do not write to `dist/` or `build/` directly. Whatever pipeline the project has, respect it.
|
|
29
|
+
- An existing component library or design system: `src/components/`, `app/components/`, a `tokens.css` / `theme.ts`, an `astro.config` `integrations`. Read what's there before adding to it.
|
|
30
|
+
- An existing icon set: `lucide-react`, `@phosphor-icons/react`, `@iconify/*`, hand-rolled SVG sprites in `assets/icons/`. **Use what's already in the project**; don't introduce a second set.
|
|
68
31
|
|
|
69
|
-
|
|
32
|
+
If the directory is empty (greenfield), don't pick a framework silently. Ask the user via the AskUserQuestion tool, with sensible defaults framed by the brief:
|
|
70
33
|
|
|
71
|
-
|
|
34
|
+
```text
|
|
35
|
+
What should this be built on?
|
|
36
|
+
- Astro (default for content-led brand sites, landing pages, marketing surfaces)
|
|
37
|
+
- SvelteKit / Next.js / Nuxt (when the brief implies an app surface or significant interactivity)
|
|
38
|
+
- Single index.html (one-shot demo, prototype, or a deliberately framework-free experiment)
|
|
39
|
+
```
|
|
72
40
|
|
|
73
|
-
|
|
41
|
+
Default: Astro for brand briefs, the project's existing framework for product briefs. Ask once; don't re-ask mid-task.
|
|
74
42
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
Generate **1 to 3** high-fidelity north-star comps based on the confirmed brief. If shape already produced direction probes, use those results as input and generate a more resolved mock from the winning lane, not another unrelated exploration.
|
|
78
|
-
|
|
79
|
-
- For brand work, push visual identity, composition, and mood aggressively.
|
|
80
|
-
- For product work, still push hierarchy, topology, density, and tone, but keep the comps grounded in realistic product structure and states.
|
|
81
|
-
- For landing pages and long-form brand surfaces, show enough of the next section or second fold to establish the system beyond the hero.
|
|
82
|
-
|
|
83
|
-
The comps must be genuinely different in primary visual direction, not just color variants.
|
|
84
|
-
|
|
85
|
-
### Approval loop
|
|
86
|
-
|
|
87
|
-
Show the comps and ask what should carry forward. If the user asks for changes or the best direction is still weak, generate a focused revision before implementation. Continue until one direction is approved, or until the user explicitly delegates the choice.
|
|
88
|
-
|
|
89
|
-
If the user delegates, pick the strongest direction and explain the decision using the brief, not personal taste.
|
|
90
|
-
|
|
91
|
-
Before moving to implementation, summarize:
|
|
43
|
+
## Step 1: Shape the Design
|
|
92
44
|
|
|
93
|
-
|
|
94
|
-
- What **not** to literalize from the mock
|
|
45
|
+
Run /monodesign shape, passing along whatever feature description the user provided. Shape is **required** for craft; it is what produces a confirmed direction.
|
|
95
46
|
|
|
96
|
-
|
|
47
|
+
Present the shape output and stop. Wait for the user to confirm, override, or course-correct before writing code.
|
|
97
48
|
|
|
98
|
-
|
|
49
|
+
If the user already supplied a confirmed brief or ran shape separately, use it and skip this step.
|
|
99
50
|
|
|
100
|
-
|
|
51
|
+
When the original prompt + PRODUCT.md already answer scope, content, and visual direction with no real ambiguity, the shape output can be **compact** (3-5 bullets stating what you're building and the visual lane, ending with one or two specific questions or "confirm or override"). The full 10-section structured brief is reserved for genuinely ambiguous, multi-screen, or stakeholder-heavy tasks. Don't pad a clear brief into a long one to look thorough; equally, don't skip the pause to look efficient.
|
|
101
52
|
|
|
102
|
-
|
|
103
|
-
- Signature motifs: planets, devices, portraits, charts, route lines, insets, badges, or other memorable objects.
|
|
104
|
-
- Nav and primary CTA treatment.
|
|
105
|
-
- Section sequence visible in the mock, especially the second fold.
|
|
106
|
-
- Image-native content the concept depends on.
|
|
107
|
-
- Typography, density, color/material treatment, and motion cues.
|
|
53
|
+
If the harness has native image generation (Codex), a compact shape's "confirm or override" advances to **Step 3 and the codex.md flow**, not to Step 4. Phrase the closing line accordingly: "Confirm or override; once we lock direction, I'll run a couple of palette and reference questions before generating any mocks." This stops the model from reading shape confirmation as code-green.
|
|
108
54
|
|
|
109
|
-
|
|
55
|
+
## Step 2: Load References
|
|
110
56
|
|
|
111
|
-
|
|
57
|
+
Based on the design brief's "Recommended References" section, consult the relevant monodesign reference files. At minimum, always consult:
|
|
112
58
|
|
|
113
|
-
|
|
59
|
+
- [layout.md](layout.md) for layout, spacing, grid, container queries, optical adjustments
|
|
60
|
+
- [typeset.md](typeset.md) for type hierarchy, font selection, web font loading, OpenType features (Reference Material section)
|
|
114
61
|
|
|
115
|
-
|
|
62
|
+
Then add references based on the brief's needs:
|
|
63
|
+
- Complex interactions or forms? Consult [interaction-design.md](interaction-design.md)
|
|
64
|
+
- Animation or transitions? Consult [animate.md](animate.md) (Reference Material covers motion materials, durations, easing, perceived performance)
|
|
65
|
+
- Color-heavy or themed? Consult [colorize.md](colorize.md) (Reference Material covers OKLCH, palette structure, dark mode, contrast)
|
|
66
|
+
- Responsive requirements? Consult [adapt.md](adapt.md) (Reference Material covers breakpoints, input methods, safe areas, responsive images)
|
|
67
|
+
- Heavy on copy, labels, or errors? Consult [clarify.md](clarify.md) (Reference Material covers button labels, error formula, voice/tone, translation)
|
|
116
68
|
|
|
117
|
-
|
|
69
|
+
## Step 3: Visual Direction & Assets (Harness-Gated)
|
|
118
70
|
|
|
119
|
-
-
|
|
120
|
-
- badges
|
|
121
|
-
- seals
|
|
122
|
-
- tickets
|
|
123
|
-
- graphic labels
|
|
124
|
-
- textures
|
|
125
|
-
- abstract objects
|
|
126
|
-
- decorative marks
|
|
127
|
-
- non-semantic scene elements
|
|
71
|
+
If the harness has **native image generation** (currently Codex via `image_gen`), this step is mandatory. **Stop and load [codex.md](codex.md)**. It covers palette generation, mock exploration, the approval loop, mock-fidelity inventory, and asset slicing via the `monodesign_asset_producer` subagent. Follow Steps A-F in that file, then return here for Step 4.
|
|
128
72
|
|
|
129
|
-
|
|
73
|
+
If the harness lacks native image generation, **state in one line that the visual-direction-by-generation step is being skipped because the harness lacks native image generation, then proceed**. The one-line announcement is required; it forces a conscious decision instead of letting the step quietly evaporate. The brief is your only visual reference. Implement directly from it, treating any named anchor references and the brief's "Design Direction" as the contract.
|
|
130
74
|
|
|
131
|
-
|
|
75
|
+
Whether you generated mocks or not: don't replace required imagery with generic cards, bullets, emoji, fake metrics, decorative CSS panels, or filler copy. Image-led briefs (restaurants, hotels, magazines, photography, hobbyist communities, food, travel, fashion, product) need real or sourced imagery in the build, not CSS scenery.
|
|
132
76
|
|
|
133
|
-
|
|
77
|
+
## Step 4: Build to Production Quality
|
|
134
78
|
|
|
135
|
-
|
|
79
|
+
**Precondition.** If Step 3 routed you to codex.md (native image generation available), Steps A through D in that file must be complete before any code: questions answered, palette confirmed, mocks generated, one direction approved or delegated. **Do not mention implementation, file paths, or patch plans until that's done.** A confirmed shape brief is not enough; the model that compressed those gates is the model that already failed this flow.
|
|
136
80
|
|
|
137
81
|
Implement the feature following the design brief. Build in passes so structure, visual system, states, motion/media, and responsive behavior each get deliberate attention. The list below is the definition of done, not inspiration.
|
|
138
82
|
|
|
139
83
|
### Production bar
|
|
140
84
|
|
|
141
|
-
-
|
|
142
|
-
- Preserve the approved mock's major ingredients
|
|
143
|
-
-
|
|
144
|
-
-
|
|
145
|
-
-
|
|
146
|
-
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
152
|
-
-
|
|
153
|
-
-
|
|
154
|
-
|
|
155
|
-
|
|
85
|
+
- **Real content.** No placeholder copy, placeholder images, dead links, fake controls, or unused scaffold at presentation time.
|
|
86
|
+
- **Preserve the approved mock's major ingredients.** Missing hero objects, world/product imagery, section structure, CTA/nav treatment, or distinctive motifs are blocking defects unless the user accepted the change.
|
|
87
|
+
- **Semantic first.** Real headings, landmarks, labels, form associations, button/link semantics, accessible names, state announcements where needed.
|
|
88
|
+
- **Deliberate spacing and alignment.** No default gaps, arbitrary margins, unbalanced whitespace, or accidental optical misalignment.
|
|
89
|
+
- **Intentional typography.** Chosen loading strategy, clear hierarchy, readable measure, stable line breaks, no overflow at any width.
|
|
90
|
+
- **Realistic state coverage.** Default, hover, focus-visible, active, disabled, loading, error, success, empty, overflow, long/short text, first-run.
|
|
91
|
+
- **Finished interaction quality.** Keyboard paths, touch targets, feedback timing, scroll behavior, state transitions, no hover-only functionality.
|
|
92
|
+
- **Coherent icon set.** Use the project's established set; otherwise pick one library or use accessible text. Don't mix.
|
|
93
|
+
- **Respect the build pipeline.** Edit source files and run the project's build (`npm run build` or equivalent). Don't write to `build/` / `dist/` / `.next/` with `cat`, heredoc, or Bash redirects; that skips asset hashing, image optimization, code splitting, and CSS extraction, and produces output the dev server won't serve.
|
|
94
|
+
- **Verify image URLs before referencing them.** Use image-search MCP or web-fetch when available; guessed photo IDs ship as broken-image placeholders. Without verification, prefer fewer images you're confident about.
|
|
95
|
+
- **Optimized imagery and media.** Correct dimensions, useful alt text, lazy loading below the fold, modern formats when practical, responsive `srcset`/`picture` for raster, no project-referenced asset left outside the workspace.
|
|
96
|
+
- **Premium motion.** Use atmospheric blur, filter, mask, shadow, reveal when they improve the experience. Avoid casual layout-property animation, bound expensive effects, verify smoothness in-browser, respect reduced motion, and avoid choreography that blocks task completion.
|
|
97
|
+
- **Maintainable.** Reusable local patterns, clear component boundaries, project conventions. No rasterized UI text or one-off hacks when a local pattern exists.
|
|
98
|
+
- **Technically clean.** Production build passes, no console errors, no avoidable layout shift, no needless dependencies, no broken asset paths.
|
|
99
|
+
- **Ask when uncertain.** If a discovery materially changes the brief or approved direction, stop and ask. Don't guess.
|
|
156
100
|
|
|
157
|
-
|
|
101
|
+
## Step 5: Iterate Visually
|
|
158
102
|
|
|
159
|
-
|
|
103
|
+
Look at what you built like a designer would. Your eyes are whatever the harness gives you: a connected browser, a screenshotting tool, Playwright, or asking the user. Use them for responsive testing (mobile, tablet, desktop minimum) and general visual validation.
|
|
160
104
|
|
|
161
|
-
|
|
105
|
+
If your tool returns a file path, read the PNG back into the conversation. A screenshot you didn't read doesn't count.
|
|
162
106
|
|
|
163
|
-
|
|
107
|
+
For long-form brand surfaces, inspect major sections individually. Thumbnails hide spacing, clipping, and cascade defects.
|
|
164
108
|
|
|
165
|
-
-
|
|
166
|
-
- Tablet or small laptop
|
|
167
|
-
- Desktop wide
|
|
109
|
+
After the first pass, write an honest critique against the brief, the approved mock's major ingredients (hero silhouette, motifs, imagery, nav/CTA, density), and monodesign's DON'Ts. Patch material defects and re-inspect. **Don't invent defects to demonstrate iteration.** A confident "first pass clean, shipping" beats a fake fix.
|
|
168
110
|
|
|
169
|
-
|
|
111
|
+
Actively check: responsive behavior (composes, not shrinks), every state (empty / error / loading / edge), craft details (spacing, alignment, hierarchy, contrast, motion timing, focus), performance basics. The exit bar: defensible in a high-end studio review.
|
|
170
112
|
|
|
171
|
-
|
|
113
|
+
Detector or QA output is defect evidence only; never proof the work is finished.
|
|
172
114
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
1. **Does it match the brief?** Compare the live result against every section of the design brief. Fix discrepancies.
|
|
176
|
-
2. **Does it match the approved mock?** Compare screenshots against the mock fidelity inventory: hero silhouette, major motifs, imagery, nav/CTA, section sequence, density, color/materials, and second-fold substance. Missing major ingredients are P0 defects.
|
|
177
|
-
3. **Does it pass the AI slop test?** If someone saw this and said "AI made this," would they believe it immediately? If yes, it needs more design intention.
|
|
178
|
-
4. **Check against impeccable's DON'T guidelines.** Fix any anti-pattern violations.
|
|
179
|
-
5. **Check every state.** Navigate through empty, error, loading, and edge case states. Each one should feel intentional, not like an afterthought.
|
|
180
|
-
6. **Check responsive behavior.** The design should adapt compositionally, not merely shrink.
|
|
181
|
-
7. **Check craft details.** Spacing consistency, optical alignment, type hierarchy, color contrast, image quality, icon coherence, interactive feedback, motion timing, and focus treatment.
|
|
182
|
-
8. **Check performance basics.** No obviously oversized images, avoidable layout thrash, blocking animations, or heavy assets without a reason.
|
|
183
|
-
|
|
184
|
-
The exit bar is not "it works." It is: the rendered result looks intentional at all checked viewports, all expected states are handled, no placeholders remain unless explicitly accepted, and the implementation quality would be defensible in a high-end studio review.
|
|
185
|
-
|
|
186
|
-
## Step 7: Present
|
|
115
|
+
## Step 6: Present
|
|
187
116
|
|
|
188
117
|
Present the result to the user:
|
|
189
118
|
- Show the feature in its primary state
|
|
@@ -192,5 +121,3 @@ Present the result to the user:
|
|
|
192
121
|
- Explain design decisions that connect back to the design brief and, when used, the chosen north-star mock. Include any accepted deviations from the mock; do not hide unimplemented mock ingredients.
|
|
193
122
|
- Note any remaining limitations or follow-up risks honestly
|
|
194
123
|
- Ask: "What's working? What isn't?"
|
|
195
|
-
|
|
196
|
-
Iterate based on feedback. Good design is rarely right on the first pass.
|