@etus/seven-skill 0.1.0-beta.3 → 0.1.0-beta.4
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/.agents/skills/seven/SKILL.md +161 -0
- package/.agents/skills/seven/agents/seven_asset_producer.toml +37 -0
- package/.agents/skills/seven/agents/seven_finish_reviewer.toml +33 -0
- package/.agents/skills/seven/agents/seven_manual_edit_applier.toml +43 -0
- package/.agents/skills/seven/reference/adapt.md +34 -0
- package/.agents/skills/seven/reference/animate.md +31 -0
- package/.agents/skills/seven/reference/app-shell.md +152 -0
- package/.agents/skills/seven/reference/audit.md +122 -0
- package/.agents/skills/seven/reference/bolder.md +34 -0
- package/.agents/skills/seven/reference/brand.md +31 -0
- package/.agents/skills/seven/reference/clarify.md +76 -0
- package/.agents/skills/seven/reference/color-and-contrast.md +84 -0
- package/.agents/skills/seven/reference/colorize.md +31 -0
- package/.agents/skills/seven/reference/critique.md +53 -0
- package/.agents/skills/seven/reference/delight.md +30 -0
- package/.agents/skills/seven/reference/distill.md +30 -0
- package/.agents/skills/seven/reference/doctor.md +7 -0
- package/.agents/skills/seven/reference/document.md +36 -0
- package/.agents/skills/seven/reference/evaluations.md +38 -0
- package/.agents/skills/seven/reference/exceptions.md +7 -0
- package/.agents/skills/seven/reference/extract.md +42 -0
- package/.agents/skills/seven/reference/harden.md +36 -0
- package/.agents/skills/seven/reference/hooks.md +11 -0
- package/.agents/skills/seven/reference/init.md +38 -0
- package/.agents/skills/seven/reference/layout.md +33 -0
- package/.agents/skills/seven/reference/live.md +106 -0
- package/.agents/skills/seven/reference/motion-design.md +71 -0
- package/.agents/skills/seven/reference/onboard.md +35 -0
- package/.agents/skills/seven/reference/optimize.md +34 -0
- package/.agents/skills/seven/reference/overdrive.md +32 -0
- package/.agents/skills/seven/reference/polish.md +55 -0
- package/.agents/skills/seven/reference/product.md +43 -0
- package/.agents/skills/seven/reference/quieter.md +31 -0
- package/.agents/skills/seven/reference/routing.md +28 -0
- package/.agents/skills/seven/reference/shape.md +85 -0
- package/.agents/skills/seven/reference/spatial-design.md +60 -0
- package/.agents/skills/seven/reference/typeset.md +28 -0
- package/.agents/skills/seven/reference/typography.md +43 -0
- package/.agents/skills/seven/reference/ux-writing.md +47 -0
- package/.agents/skills/seven/reference/visual-probes.md +36 -0
- package/.agents/skills/seven/scripts/context-signals.mjs +94 -0
- package/.agents/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.agents/skills/seven/scripts/load-context.mjs +93 -0
- package/.agents/skills/seven/scripts/update-check.mjs +120 -0
- package/.claude/agents/seven-asset-producer.md +40 -0
- package/.claude/agents/seven-finish-reviewer.md +36 -0
- package/.claude/agents/seven-manual-edit-applier.md +46 -0
- package/.claude/skills/seven/SKILL.md +127 -130
- package/.claude/skills/seven/reference/adapt.md +34 -0
- package/.claude/skills/seven/reference/animate.md +31 -0
- package/.claude/skills/seven/reference/app-shell.md +100 -18
- package/.claude/skills/seven/reference/audit.md +6 -4
- package/.claude/skills/seven/reference/bolder.md +34 -0
- package/.claude/skills/seven/reference/brand.md +21 -14
- package/.claude/skills/seven/reference/clarify.md +2 -2
- package/.claude/skills/seven/reference/colorize.md +31 -0
- package/.claude/skills/seven/reference/critique.md +53 -0
- package/.claude/skills/seven/reference/delight.md +30 -0
- package/.claude/skills/seven/reference/distill.md +30 -0
- package/.claude/skills/seven/reference/doctor.md +7 -0
- package/.claude/skills/seven/reference/document.md +36 -0
- package/.claude/skills/seven/reference/evaluations.md +38 -0
- package/.claude/skills/seven/reference/exceptions.md +7 -0
- package/.claude/skills/seven/reference/extract.md +42 -0
- package/.claude/skills/seven/reference/harden.md +36 -0
- package/.claude/skills/seven/reference/hooks.md +11 -0
- package/.claude/skills/seven/reference/init.md +38 -0
- package/.claude/skills/seven/reference/layout.md +33 -0
- package/.claude/skills/seven/reference/live.md +106 -0
- package/.claude/skills/seven/reference/motion-design.md +1 -1
- package/.claude/skills/seven/reference/onboard.md +35 -0
- package/.claude/skills/seven/reference/optimize.md +34 -0
- package/.claude/skills/seven/reference/overdrive.md +32 -0
- package/.claude/skills/seven/reference/polish.md +5 -5
- package/.claude/skills/seven/reference/product.md +2 -4
- package/.claude/skills/seven/reference/quieter.md +31 -0
- package/.claude/skills/seven/reference/routing.md +28 -0
- package/.claude/skills/seven/reference/shape.md +5 -5
- package/.claude/skills/seven/reference/spatial-design.md +3 -3
- package/.claude/skills/seven/reference/typeset.md +28 -0
- package/.claude/skills/seven/reference/typography.md +1 -1
- package/.claude/skills/seven/reference/visual-probes.md +36 -0
- package/.claude/skills/seven/scripts/context-signals.mjs +94 -0
- package/.claude/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.claude/skills/seven/scripts/load-context.mjs +68 -59
- package/.claude/skills/seven/scripts/update-check.mjs +120 -0
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +8 -3
- package/.cursor/skills/seven/SKILL.md +161 -0
- package/.cursor/skills/seven/reference/adapt.md +34 -0
- package/.cursor/skills/seven/reference/animate.md +31 -0
- package/.cursor/skills/seven/reference/app-shell.md +152 -0
- package/.cursor/skills/seven/reference/audit.md +122 -0
- package/.cursor/skills/seven/reference/bolder.md +34 -0
- package/.cursor/skills/seven/reference/brand.md +31 -0
- package/.cursor/skills/seven/reference/clarify.md +76 -0
- package/.cursor/skills/seven/reference/color-and-contrast.md +84 -0
- package/.cursor/skills/seven/reference/colorize.md +31 -0
- package/.cursor/skills/seven/reference/critique.md +53 -0
- package/.cursor/skills/seven/reference/delight.md +30 -0
- package/.cursor/skills/seven/reference/distill.md +30 -0
- package/.cursor/skills/seven/reference/doctor.md +7 -0
- package/.cursor/skills/seven/reference/document.md +36 -0
- package/.cursor/skills/seven/reference/evaluations.md +38 -0
- package/.cursor/skills/seven/reference/exceptions.md +7 -0
- package/.cursor/skills/seven/reference/extract.md +42 -0
- package/.cursor/skills/seven/reference/harden.md +36 -0
- package/.cursor/skills/seven/reference/hooks.md +11 -0
- package/.cursor/skills/seven/reference/init.md +38 -0
- package/.cursor/skills/seven/reference/layout.md +33 -0
- package/.cursor/skills/seven/reference/live.md +106 -0
- package/.cursor/skills/seven/reference/motion-design.md +71 -0
- package/.cursor/skills/seven/reference/onboard.md +35 -0
- package/.cursor/skills/seven/reference/optimize.md +34 -0
- package/.cursor/skills/seven/reference/overdrive.md +32 -0
- package/.cursor/skills/seven/reference/polish.md +55 -0
- package/.cursor/skills/seven/reference/product.md +43 -0
- package/.cursor/skills/seven/reference/quieter.md +31 -0
- package/.cursor/skills/seven/reference/routing.md +28 -0
- package/.cursor/skills/seven/reference/shape.md +85 -0
- package/.cursor/skills/seven/reference/spatial-design.md +60 -0
- package/.cursor/skills/seven/reference/typeset.md +28 -0
- package/.cursor/skills/seven/reference/typography.md +43 -0
- package/.cursor/skills/seven/reference/ux-writing.md +47 -0
- package/.cursor/skills/seven/reference/visual-probes.md +36 -0
- package/.cursor/skills/seven/scripts/context-signals.mjs +94 -0
- package/.cursor/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.cursor/skills/seven/scripts/load-context.mjs +93 -0
- package/.cursor/skills/seven/scripts/update-check.mjs +120 -0
- package/.gemini/skills/seven/SKILL.md +160 -0
- package/.gemini/skills/seven/reference/adapt.md +34 -0
- package/.gemini/skills/seven/reference/animate.md +31 -0
- package/.gemini/skills/seven/reference/app-shell.md +152 -0
- package/.gemini/skills/seven/reference/audit.md +122 -0
- package/.gemini/skills/seven/reference/bolder.md +34 -0
- package/.gemini/skills/seven/reference/brand.md +31 -0
- package/.gemini/skills/seven/reference/clarify.md +76 -0
- package/.gemini/skills/seven/reference/color-and-contrast.md +84 -0
- package/.gemini/skills/seven/reference/colorize.md +31 -0
- package/.gemini/skills/seven/reference/critique.md +53 -0
- package/.gemini/skills/seven/reference/delight.md +30 -0
- package/.gemini/skills/seven/reference/distill.md +30 -0
- package/.gemini/skills/seven/reference/doctor.md +7 -0
- package/.gemini/skills/seven/reference/document.md +36 -0
- package/.gemini/skills/seven/reference/evaluations.md +38 -0
- package/.gemini/skills/seven/reference/exceptions.md +7 -0
- package/.gemini/skills/seven/reference/extract.md +42 -0
- package/.gemini/skills/seven/reference/harden.md +36 -0
- package/.gemini/skills/seven/reference/hooks.md +11 -0
- package/.gemini/skills/seven/reference/init.md +38 -0
- package/.gemini/skills/seven/reference/layout.md +33 -0
- package/.gemini/skills/seven/reference/live.md +106 -0
- package/.gemini/skills/seven/reference/motion-design.md +71 -0
- package/.gemini/skills/seven/reference/onboard.md +35 -0
- package/.gemini/skills/seven/reference/optimize.md +34 -0
- package/.gemini/skills/seven/reference/overdrive.md +32 -0
- package/.gemini/skills/seven/reference/polish.md +55 -0
- package/.gemini/skills/seven/reference/product.md +43 -0
- package/.gemini/skills/seven/reference/quieter.md +31 -0
- package/.gemini/skills/seven/reference/routing.md +28 -0
- package/.gemini/skills/seven/reference/shape.md +85 -0
- package/.gemini/skills/seven/reference/spatial-design.md +60 -0
- package/.gemini/skills/seven/reference/typeset.md +28 -0
- package/.gemini/skills/seven/reference/typography.md +43 -0
- package/.gemini/skills/seven/reference/ux-writing.md +47 -0
- package/.gemini/skills/seven/reference/visual-probes.md +36 -0
- package/.gemini/skills/seven/scripts/context-signals.mjs +94 -0
- package/.gemini/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.gemini/skills/seven/scripts/load-context.mjs +93 -0
- package/.gemini/skills/seven/scripts/update-check.mjs +120 -0
- package/.grok/agents/seven-asset-producer.md +40 -0
- package/.grok/agents/seven-finish-reviewer.md +36 -0
- package/.grok/agents/seven-manual-edit-applier.md +46 -0
- package/.grok/skills/seven/SKILL.md +167 -0
- package/.grok/skills/seven/reference/adapt.md +34 -0
- package/.grok/skills/seven/reference/animate.md +31 -0
- package/.grok/skills/seven/reference/app-shell.md +152 -0
- package/.grok/skills/seven/reference/audit.md +122 -0
- package/.grok/skills/seven/reference/bolder.md +34 -0
- package/.grok/skills/seven/reference/brand.md +31 -0
- package/.grok/skills/seven/reference/clarify.md +76 -0
- package/.grok/skills/seven/reference/color-and-contrast.md +84 -0
- package/.grok/skills/seven/reference/colorize.md +31 -0
- package/.grok/skills/seven/reference/critique.md +53 -0
- package/.grok/skills/seven/reference/delight.md +30 -0
- package/.grok/skills/seven/reference/distill.md +30 -0
- package/.grok/skills/seven/reference/doctor.md +7 -0
- package/.grok/skills/seven/reference/document.md +36 -0
- package/.grok/skills/seven/reference/evaluations.md +38 -0
- package/.grok/skills/seven/reference/exceptions.md +7 -0
- package/.grok/skills/seven/reference/extract.md +42 -0
- package/.grok/skills/seven/reference/harden.md +36 -0
- package/.grok/skills/seven/reference/hooks.md +11 -0
- package/.grok/skills/seven/reference/init.md +38 -0
- package/.grok/skills/seven/reference/layout.md +33 -0
- package/.grok/skills/seven/reference/live.md +106 -0
- package/.grok/skills/seven/reference/motion-design.md +71 -0
- package/.grok/skills/seven/reference/onboard.md +35 -0
- package/.grok/skills/seven/reference/optimize.md +34 -0
- package/.grok/skills/seven/reference/overdrive.md +32 -0
- package/.grok/skills/seven/reference/polish.md +55 -0
- package/.grok/skills/seven/reference/product.md +43 -0
- package/.grok/skills/seven/reference/quieter.md +31 -0
- package/.grok/skills/seven/reference/routing.md +28 -0
- package/.grok/skills/seven/reference/shape.md +85 -0
- package/.grok/skills/seven/reference/spatial-design.md +60 -0
- package/.grok/skills/seven/reference/typeset.md +28 -0
- package/.grok/skills/seven/reference/typography.md +43 -0
- package/.grok/skills/seven/reference/ux-writing.md +47 -0
- package/.grok/skills/seven/reference/visual-probes.md +36 -0
- package/.grok/skills/seven/scripts/context-signals.mjs +94 -0
- package/.grok/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.grok/skills/seven/scripts/load-context.mjs +93 -0
- package/.grok/skills/seven/scripts/update-check.mjs +120 -0
- package/.kiro/skills/seven/SKILL.md +161 -0
- package/.kiro/skills/seven/reference/adapt.md +34 -0
- package/.kiro/skills/seven/reference/animate.md +31 -0
- package/.kiro/skills/seven/reference/app-shell.md +152 -0
- package/.kiro/skills/seven/reference/audit.md +122 -0
- package/.kiro/skills/seven/reference/bolder.md +34 -0
- package/.kiro/skills/seven/reference/brand.md +31 -0
- package/.kiro/skills/seven/reference/clarify.md +76 -0
- package/.kiro/skills/seven/reference/color-and-contrast.md +84 -0
- package/.kiro/skills/seven/reference/colorize.md +31 -0
- package/.kiro/skills/seven/reference/critique.md +53 -0
- package/.kiro/skills/seven/reference/delight.md +30 -0
- package/.kiro/skills/seven/reference/distill.md +30 -0
- package/.kiro/skills/seven/reference/doctor.md +7 -0
- package/.kiro/skills/seven/reference/document.md +36 -0
- package/.kiro/skills/seven/reference/evaluations.md +38 -0
- package/.kiro/skills/seven/reference/exceptions.md +7 -0
- package/.kiro/skills/seven/reference/extract.md +42 -0
- package/.kiro/skills/seven/reference/harden.md +36 -0
- package/.kiro/skills/seven/reference/hooks.md +11 -0
- package/.kiro/skills/seven/reference/init.md +38 -0
- package/.kiro/skills/seven/reference/layout.md +33 -0
- package/.kiro/skills/seven/reference/live.md +106 -0
- package/.kiro/skills/seven/reference/motion-design.md +71 -0
- package/.kiro/skills/seven/reference/onboard.md +35 -0
- package/.kiro/skills/seven/reference/optimize.md +34 -0
- package/.kiro/skills/seven/reference/overdrive.md +32 -0
- package/.kiro/skills/seven/reference/polish.md +55 -0
- package/.kiro/skills/seven/reference/product.md +43 -0
- package/.kiro/skills/seven/reference/quieter.md +31 -0
- package/.kiro/skills/seven/reference/routing.md +28 -0
- package/.kiro/skills/seven/reference/shape.md +85 -0
- package/.kiro/skills/seven/reference/spatial-design.md +60 -0
- package/.kiro/skills/seven/reference/typeset.md +28 -0
- package/.kiro/skills/seven/reference/typography.md +43 -0
- package/.kiro/skills/seven/reference/ux-writing.md +47 -0
- package/.kiro/skills/seven/reference/visual-probes.md +36 -0
- package/.kiro/skills/seven/scripts/context-signals.mjs +94 -0
- package/.kiro/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.kiro/skills/seven/scripts/load-context.mjs +93 -0
- package/.kiro/skills/seven/scripts/update-check.mjs +120 -0
- package/.opencode/skills/seven/SKILL.md +167 -0
- package/.opencode/skills/seven/reference/adapt.md +34 -0
- package/.opencode/skills/seven/reference/animate.md +31 -0
- package/.opencode/skills/seven/reference/app-shell.md +152 -0
- package/.opencode/skills/seven/reference/audit.md +122 -0
- package/.opencode/skills/seven/reference/bolder.md +34 -0
- package/.opencode/skills/seven/reference/brand.md +31 -0
- package/.opencode/skills/seven/reference/clarify.md +76 -0
- package/.opencode/skills/seven/reference/color-and-contrast.md +84 -0
- package/.opencode/skills/seven/reference/colorize.md +31 -0
- package/.opencode/skills/seven/reference/critique.md +53 -0
- package/.opencode/skills/seven/reference/delight.md +30 -0
- package/.opencode/skills/seven/reference/distill.md +30 -0
- package/.opencode/skills/seven/reference/doctor.md +7 -0
- package/.opencode/skills/seven/reference/document.md +36 -0
- package/.opencode/skills/seven/reference/evaluations.md +38 -0
- package/.opencode/skills/seven/reference/exceptions.md +7 -0
- package/.opencode/skills/seven/reference/extract.md +42 -0
- package/.opencode/skills/seven/reference/harden.md +36 -0
- package/.opencode/skills/seven/reference/hooks.md +11 -0
- package/.opencode/skills/seven/reference/init.md +38 -0
- package/.opencode/skills/seven/reference/layout.md +33 -0
- package/.opencode/skills/seven/reference/live.md +106 -0
- package/.opencode/skills/seven/reference/motion-design.md +71 -0
- package/.opencode/skills/seven/reference/onboard.md +35 -0
- package/.opencode/skills/seven/reference/optimize.md +34 -0
- package/.opencode/skills/seven/reference/overdrive.md +32 -0
- package/.opencode/skills/seven/reference/polish.md +55 -0
- package/.opencode/skills/seven/reference/product.md +43 -0
- package/.opencode/skills/seven/reference/quieter.md +31 -0
- package/.opencode/skills/seven/reference/routing.md +28 -0
- package/.opencode/skills/seven/reference/shape.md +85 -0
- package/.opencode/skills/seven/reference/spatial-design.md +60 -0
- package/.opencode/skills/seven/reference/typeset.md +28 -0
- package/.opencode/skills/seven/reference/typography.md +43 -0
- package/.opencode/skills/seven/reference/ux-writing.md +47 -0
- package/.opencode/skills/seven/reference/visual-probes.md +36 -0
- package/.opencode/skills/seven/scripts/context-signals.mjs +94 -0
- package/.opencode/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.opencode/skills/seven/scripts/load-context.mjs +93 -0
- package/.opencode/skills/seven/scripts/update-check.mjs +120 -0
- package/.pi/skills/seven/SKILL.md +165 -0
- package/.pi/skills/seven/reference/adapt.md +34 -0
- package/.pi/skills/seven/reference/animate.md +31 -0
- package/.pi/skills/seven/reference/app-shell.md +152 -0
- package/.pi/skills/seven/reference/audit.md +122 -0
- package/.pi/skills/seven/reference/bolder.md +34 -0
- package/.pi/skills/seven/reference/brand.md +31 -0
- package/.pi/skills/seven/reference/clarify.md +76 -0
- package/.pi/skills/seven/reference/color-and-contrast.md +84 -0
- package/.pi/skills/seven/reference/colorize.md +31 -0
- package/.pi/skills/seven/reference/critique.md +53 -0
- package/.pi/skills/seven/reference/delight.md +30 -0
- package/.pi/skills/seven/reference/distill.md +30 -0
- package/.pi/skills/seven/reference/doctor.md +7 -0
- package/.pi/skills/seven/reference/document.md +36 -0
- package/.pi/skills/seven/reference/evaluations.md +38 -0
- package/.pi/skills/seven/reference/exceptions.md +7 -0
- package/.pi/skills/seven/reference/extract.md +42 -0
- package/.pi/skills/seven/reference/harden.md +36 -0
- package/.pi/skills/seven/reference/hooks.md +11 -0
- package/.pi/skills/seven/reference/init.md +38 -0
- package/.pi/skills/seven/reference/layout.md +33 -0
- package/.pi/skills/seven/reference/live.md +106 -0
- package/.pi/skills/seven/reference/motion-design.md +71 -0
- package/.pi/skills/seven/reference/onboard.md +35 -0
- package/.pi/skills/seven/reference/optimize.md +34 -0
- package/.pi/skills/seven/reference/overdrive.md +32 -0
- package/.pi/skills/seven/reference/polish.md +55 -0
- package/.pi/skills/seven/reference/product.md +43 -0
- package/.pi/skills/seven/reference/quieter.md +31 -0
- package/.pi/skills/seven/reference/routing.md +28 -0
- package/.pi/skills/seven/reference/shape.md +85 -0
- package/.pi/skills/seven/reference/spatial-design.md +60 -0
- package/.pi/skills/seven/reference/typeset.md +28 -0
- package/.pi/skills/seven/reference/typography.md +43 -0
- package/.pi/skills/seven/reference/ux-writing.md +47 -0
- package/.pi/skills/seven/reference/visual-probes.md +36 -0
- package/.pi/skills/seven/scripts/context-signals.mjs +94 -0
- package/.pi/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.pi/skills/seven/scripts/load-context.mjs +93 -0
- package/.pi/skills/seven/scripts/update-check.mjs +120 -0
- package/.qoder/skills/seven/SKILL.md +167 -0
- package/.qoder/skills/seven/reference/adapt.md +34 -0
- package/.qoder/skills/seven/reference/animate.md +31 -0
- package/.qoder/skills/seven/reference/app-shell.md +152 -0
- package/.qoder/skills/seven/reference/audit.md +122 -0
- package/.qoder/skills/seven/reference/bolder.md +34 -0
- package/.qoder/skills/seven/reference/brand.md +31 -0
- package/.qoder/skills/seven/reference/clarify.md +76 -0
- package/.qoder/skills/seven/reference/color-and-contrast.md +84 -0
- package/.qoder/skills/seven/reference/colorize.md +31 -0
- package/.qoder/skills/seven/reference/critique.md +53 -0
- package/.qoder/skills/seven/reference/delight.md +30 -0
- package/.qoder/skills/seven/reference/distill.md +30 -0
- package/.qoder/skills/seven/reference/doctor.md +7 -0
- package/.qoder/skills/seven/reference/document.md +36 -0
- package/.qoder/skills/seven/reference/evaluations.md +38 -0
- package/.qoder/skills/seven/reference/exceptions.md +7 -0
- package/.qoder/skills/seven/reference/extract.md +42 -0
- package/.qoder/skills/seven/reference/harden.md +36 -0
- package/.qoder/skills/seven/reference/hooks.md +11 -0
- package/.qoder/skills/seven/reference/init.md +38 -0
- package/.qoder/skills/seven/reference/layout.md +33 -0
- package/.qoder/skills/seven/reference/live.md +106 -0
- package/.qoder/skills/seven/reference/motion-design.md +71 -0
- package/.qoder/skills/seven/reference/onboard.md +35 -0
- package/.qoder/skills/seven/reference/optimize.md +34 -0
- package/.qoder/skills/seven/reference/overdrive.md +32 -0
- package/.qoder/skills/seven/reference/polish.md +55 -0
- package/.qoder/skills/seven/reference/product.md +43 -0
- package/.qoder/skills/seven/reference/quieter.md +31 -0
- package/.qoder/skills/seven/reference/routing.md +28 -0
- package/.qoder/skills/seven/reference/shape.md +85 -0
- package/.qoder/skills/seven/reference/spatial-design.md +60 -0
- package/.qoder/skills/seven/reference/typeset.md +28 -0
- package/.qoder/skills/seven/reference/typography.md +43 -0
- package/.qoder/skills/seven/reference/ux-writing.md +47 -0
- package/.qoder/skills/seven/reference/visual-probes.md +36 -0
- package/.qoder/skills/seven/scripts/context-signals.mjs +94 -0
- package/.qoder/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.qoder/skills/seven/scripts/load-context.mjs +93 -0
- package/.qoder/skills/seven/scripts/update-check.mjs +120 -0
- package/.rovodev/skills/seven/SKILL.md +167 -0
- package/.rovodev/skills/seven/reference/adapt.md +34 -0
- package/.rovodev/skills/seven/reference/animate.md +31 -0
- package/.rovodev/skills/seven/reference/app-shell.md +152 -0
- package/.rovodev/skills/seven/reference/audit.md +122 -0
- package/.rovodev/skills/seven/reference/bolder.md +34 -0
- package/.rovodev/skills/seven/reference/brand.md +31 -0
- package/.rovodev/skills/seven/reference/clarify.md +76 -0
- package/.rovodev/skills/seven/reference/color-and-contrast.md +84 -0
- package/.rovodev/skills/seven/reference/colorize.md +31 -0
- package/.rovodev/skills/seven/reference/critique.md +53 -0
- package/.rovodev/skills/seven/reference/delight.md +30 -0
- package/.rovodev/skills/seven/reference/distill.md +30 -0
- package/.rovodev/skills/seven/reference/doctor.md +7 -0
- package/.rovodev/skills/seven/reference/document.md +36 -0
- package/.rovodev/skills/seven/reference/evaluations.md +38 -0
- package/.rovodev/skills/seven/reference/exceptions.md +7 -0
- package/.rovodev/skills/seven/reference/extract.md +42 -0
- package/.rovodev/skills/seven/reference/harden.md +36 -0
- package/.rovodev/skills/seven/reference/hooks.md +11 -0
- package/.rovodev/skills/seven/reference/init.md +38 -0
- package/.rovodev/skills/seven/reference/layout.md +33 -0
- package/.rovodev/skills/seven/reference/live.md +106 -0
- package/.rovodev/skills/seven/reference/motion-design.md +71 -0
- package/.rovodev/skills/seven/reference/onboard.md +35 -0
- package/.rovodev/skills/seven/reference/optimize.md +34 -0
- package/.rovodev/skills/seven/reference/overdrive.md +32 -0
- package/.rovodev/skills/seven/reference/polish.md +55 -0
- package/.rovodev/skills/seven/reference/product.md +43 -0
- package/.rovodev/skills/seven/reference/quieter.md +31 -0
- package/.rovodev/skills/seven/reference/routing.md +28 -0
- package/.rovodev/skills/seven/reference/shape.md +85 -0
- package/.rovodev/skills/seven/reference/spatial-design.md +60 -0
- package/.rovodev/skills/seven/reference/typeset.md +28 -0
- package/.rovodev/skills/seven/reference/typography.md +43 -0
- package/.rovodev/skills/seven/reference/ux-writing.md +47 -0
- package/.rovodev/skills/seven/reference/visual-probes.md +36 -0
- package/.rovodev/skills/seven/scripts/context-signals.mjs +94 -0
- package/.rovodev/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.rovodev/skills/seven/scripts/load-context.mjs +93 -0
- package/.rovodev/skills/seven/scripts/update-check.mjs +120 -0
- package/.trae/skills/seven/SKILL.md +163 -0
- package/.trae/skills/seven/reference/adapt.md +34 -0
- package/.trae/skills/seven/reference/animate.md +31 -0
- package/.trae/skills/seven/reference/app-shell.md +152 -0
- package/.trae/skills/seven/reference/audit.md +122 -0
- package/.trae/skills/seven/reference/bolder.md +34 -0
- package/.trae/skills/seven/reference/brand.md +31 -0
- package/.trae/skills/seven/reference/clarify.md +76 -0
- package/.trae/skills/seven/reference/color-and-contrast.md +84 -0
- package/.trae/skills/seven/reference/colorize.md +31 -0
- package/.trae/skills/seven/reference/critique.md +53 -0
- package/.trae/skills/seven/reference/delight.md +30 -0
- package/.trae/skills/seven/reference/distill.md +30 -0
- package/.trae/skills/seven/reference/doctor.md +7 -0
- package/.trae/skills/seven/reference/document.md +36 -0
- package/.trae/skills/seven/reference/evaluations.md +38 -0
- package/.trae/skills/seven/reference/exceptions.md +7 -0
- package/.trae/skills/seven/reference/extract.md +42 -0
- package/.trae/skills/seven/reference/harden.md +36 -0
- package/.trae/skills/seven/reference/hooks.md +11 -0
- package/.trae/skills/seven/reference/init.md +38 -0
- package/.trae/skills/seven/reference/layout.md +33 -0
- package/.trae/skills/seven/reference/live.md +106 -0
- package/.trae/skills/seven/reference/motion-design.md +71 -0
- package/.trae/skills/seven/reference/onboard.md +35 -0
- package/.trae/skills/seven/reference/optimize.md +34 -0
- package/.trae/skills/seven/reference/overdrive.md +32 -0
- package/.trae/skills/seven/reference/polish.md +55 -0
- package/.trae/skills/seven/reference/product.md +43 -0
- package/.trae/skills/seven/reference/quieter.md +31 -0
- package/.trae/skills/seven/reference/routing.md +28 -0
- package/.trae/skills/seven/reference/shape.md +85 -0
- package/.trae/skills/seven/reference/spatial-design.md +60 -0
- package/.trae/skills/seven/reference/typeset.md +28 -0
- package/.trae/skills/seven/reference/typography.md +43 -0
- package/.trae/skills/seven/reference/ux-writing.md +47 -0
- package/.trae/skills/seven/reference/visual-probes.md +36 -0
- package/.trae/skills/seven/scripts/context-signals.mjs +94 -0
- package/.trae/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.trae/skills/seven/scripts/load-context.mjs +93 -0
- package/.trae/skills/seven/scripts/update-check.mjs +120 -0
- package/.trae-cn/skills/seven/SKILL.md +163 -0
- package/.trae-cn/skills/seven/reference/adapt.md +34 -0
- package/.trae-cn/skills/seven/reference/animate.md +31 -0
- package/.trae-cn/skills/seven/reference/app-shell.md +152 -0
- package/.trae-cn/skills/seven/reference/audit.md +122 -0
- package/.trae-cn/skills/seven/reference/bolder.md +34 -0
- package/.trae-cn/skills/seven/reference/brand.md +31 -0
- package/.trae-cn/skills/seven/reference/clarify.md +76 -0
- package/.trae-cn/skills/seven/reference/color-and-contrast.md +84 -0
- package/.trae-cn/skills/seven/reference/colorize.md +31 -0
- package/.trae-cn/skills/seven/reference/critique.md +53 -0
- package/.trae-cn/skills/seven/reference/delight.md +30 -0
- package/.trae-cn/skills/seven/reference/distill.md +30 -0
- package/.trae-cn/skills/seven/reference/doctor.md +7 -0
- package/.trae-cn/skills/seven/reference/document.md +36 -0
- package/.trae-cn/skills/seven/reference/evaluations.md +38 -0
- package/.trae-cn/skills/seven/reference/exceptions.md +7 -0
- package/.trae-cn/skills/seven/reference/extract.md +42 -0
- package/.trae-cn/skills/seven/reference/harden.md +36 -0
- package/.trae-cn/skills/seven/reference/hooks.md +11 -0
- package/.trae-cn/skills/seven/reference/init.md +38 -0
- package/.trae-cn/skills/seven/reference/layout.md +33 -0
- package/.trae-cn/skills/seven/reference/live.md +106 -0
- package/.trae-cn/skills/seven/reference/motion-design.md +71 -0
- package/.trae-cn/skills/seven/reference/onboard.md +35 -0
- package/.trae-cn/skills/seven/reference/optimize.md +34 -0
- package/.trae-cn/skills/seven/reference/overdrive.md +32 -0
- package/.trae-cn/skills/seven/reference/polish.md +55 -0
- package/.trae-cn/skills/seven/reference/product.md +43 -0
- package/.trae-cn/skills/seven/reference/quieter.md +31 -0
- package/.trae-cn/skills/seven/reference/routing.md +28 -0
- package/.trae-cn/skills/seven/reference/shape.md +85 -0
- package/.trae-cn/skills/seven/reference/spatial-design.md +60 -0
- package/.trae-cn/skills/seven/reference/typeset.md +28 -0
- package/.trae-cn/skills/seven/reference/typography.md +43 -0
- package/.trae-cn/skills/seven/reference/ux-writing.md +47 -0
- package/.trae-cn/skills/seven/reference/visual-probes.md +36 -0
- package/.trae-cn/skills/seven/scripts/context-signals.mjs +94 -0
- package/.trae-cn/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.trae-cn/skills/seven/scripts/load-context.mjs +93 -0
- package/.trae-cn/skills/seven/scripts/update-check.mjs +120 -0
- package/.vibe/skills/seven/SKILL.md +166 -0
- package/.vibe/skills/seven/reference/adapt.md +34 -0
- package/.vibe/skills/seven/reference/animate.md +31 -0
- package/.vibe/skills/seven/reference/app-shell.md +152 -0
- package/.vibe/skills/seven/reference/audit.md +122 -0
- package/.vibe/skills/seven/reference/bolder.md +34 -0
- package/.vibe/skills/seven/reference/brand.md +31 -0
- package/.vibe/skills/seven/reference/clarify.md +76 -0
- package/.vibe/skills/seven/reference/color-and-contrast.md +84 -0
- package/.vibe/skills/seven/reference/colorize.md +31 -0
- package/.vibe/skills/seven/reference/critique.md +53 -0
- package/.vibe/skills/seven/reference/delight.md +30 -0
- package/.vibe/skills/seven/reference/distill.md +30 -0
- package/.vibe/skills/seven/reference/doctor.md +7 -0
- package/.vibe/skills/seven/reference/document.md +36 -0
- package/.vibe/skills/seven/reference/evaluations.md +38 -0
- package/.vibe/skills/seven/reference/exceptions.md +7 -0
- package/.vibe/skills/seven/reference/extract.md +42 -0
- package/.vibe/skills/seven/reference/harden.md +36 -0
- package/.vibe/skills/seven/reference/hooks.md +11 -0
- package/.vibe/skills/seven/reference/init.md +38 -0
- package/.vibe/skills/seven/reference/layout.md +33 -0
- package/.vibe/skills/seven/reference/live.md +106 -0
- package/.vibe/skills/seven/reference/motion-design.md +71 -0
- package/.vibe/skills/seven/reference/onboard.md +35 -0
- package/.vibe/skills/seven/reference/optimize.md +34 -0
- package/.vibe/skills/seven/reference/overdrive.md +32 -0
- package/.vibe/skills/seven/reference/polish.md +55 -0
- package/.vibe/skills/seven/reference/product.md +43 -0
- package/.vibe/skills/seven/reference/quieter.md +31 -0
- package/.vibe/skills/seven/reference/routing.md +28 -0
- package/.vibe/skills/seven/reference/shape.md +85 -0
- package/.vibe/skills/seven/reference/spatial-design.md +60 -0
- package/.vibe/skills/seven/reference/typeset.md +28 -0
- package/.vibe/skills/seven/reference/typography.md +43 -0
- package/.vibe/skills/seven/reference/ux-writing.md +47 -0
- package/.vibe/skills/seven/reference/visual-probes.md +36 -0
- package/.vibe/skills/seven/scripts/context-signals.mjs +94 -0
- package/.vibe/skills/seven/scripts/critique-storage.mjs +155 -0
- package/.vibe/skills/seven/scripts/load-context.mjs +93 -0
- package/.vibe/skills/seven/scripts/update-check.mjs +120 -0
- package/README.md +51 -90
- package/cli/bin/seven.mjs +0 -0
- package/cli/engine/browser/injected/index.mjs +62 -13
- package/cli/engine/detect-antipatterns-browser.js +4739 -19
- package/cli/engine/detect-antipatterns.mjs +1 -0
- package/cli/engine/engines/browser/detect-url.mjs +366 -3
- package/cli/engine/engines/regex/detect-text.mjs +469 -1
- package/cli/engine/engines/static-html/detect-html.mjs +131 -0
- package/cli/engine/registry/seven-antipatterns.mjs +379 -4
- package/cli/engine/rules/checks.mjs +360 -1
- package/cli/engine/shared/tokens.mjs +19 -0
- package/cli/engine/token-data.generated.mjs +4025 -0
- package/docs/detector-rules.md +277 -38
- package/docs/upstream-parity.json +242 -0
- package/extension/README.md +5 -0
- package/extension/background/service-worker.js +134 -0
- package/extension/content/content-script.js +340 -0
- package/extension/detector/detect.js +7816 -0
- package/extension/devtools/devtools.html +1 -0
- package/extension/devtools/devtools.js +3 -0
- package/extension/devtools/panel.css +66 -0
- package/extension/devtools/panel.html +3 -0
- package/extension/devtools/panel.js +37 -0
- package/extension/manifest.json +22 -0
- package/extension/popup/popup.css +106 -0
- package/extension/popup/popup.html +27 -0
- package/extension/popup/popup.js +74 -0
- package/package.json +19 -8
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Critique — visual and product judgment
|
|
2
|
+
|
|
3
|
+
Critique a rendered Seven surface, prioritize what materially weakens it, and persist the result for later work. Critique reports by default; it does not edit unless the user separately authorizes a fix scope.
|
|
4
|
+
|
|
5
|
+
## Keep two evidence lanes independent
|
|
6
|
+
|
|
7
|
+
Do not let a lint finding predetermine the visual judgment.
|
|
8
|
+
|
|
9
|
+
### Lane A — rendered assessment
|
|
10
|
+
|
|
11
|
+
Inspect the real target at representative desktop and mobile widths, plus dark mode when supported. Use real product content when available. Record evidence for:
|
|
12
|
+
|
|
13
|
+
- task clarity and primary-action hierarchy;
|
|
14
|
+
- information architecture and reading order;
|
|
15
|
+
- composition, density, alignment, rhythm, and use of space;
|
|
16
|
+
- typography, semantic color, component/variant choice, and Seven identity;
|
|
17
|
+
- interaction feedback, focus, keyboard path, and state continuity;
|
|
18
|
+
- loading, empty, error, success, disabled, permissions, long copy, and large data;
|
|
19
|
+
- responsive reflow, overflow, clipping, and touch affordances;
|
|
20
|
+
- whether the surface feels specific to the product rather than generically generated.
|
|
21
|
+
|
|
22
|
+
### Lane B — mechanical evidence
|
|
23
|
+
|
|
24
|
+
Run `seven check --file <target>` or `seven check <url>` and relevant tests. Record rule IDs, files, lines, browser errors, and reproducible steps. A clean scan is a floor, not a visual endorsement.
|
|
25
|
+
|
|
26
|
+
Only after both lanes are complete should you synthesize them.
|
|
27
|
+
|
|
28
|
+
If the evidence supports multiple genuinely different corrections and the user asks to compare them, read [visual-probes.md](visual-probes.md). Keep critique reporting-only until a direction and edit scope are explicitly accepted.
|
|
29
|
+
|
|
30
|
+
## Prioritization
|
|
31
|
+
|
|
32
|
+
- **P0:** blocks the primary job, creates data loss/security risk, or makes the surface inaccessible.
|
|
33
|
+
- **P1:** materially harms comprehension, completion, responsive use, or Seven consistency.
|
|
34
|
+
- **P2:** meaningful quality or maintainability issue with a usable workaround.
|
|
35
|
+
- **P3:** optional refinement; do not let it displace P0–P2 work.
|
|
36
|
+
|
|
37
|
+
For each finding include: priority, concise title, evidence, affected user/job, Seven component/token/rule involved, root cause, recommended direction, and verification criterion. Separate facts from judgment.
|
|
38
|
+
|
|
39
|
+
Score 0–100 only after findings are written: task clarity 25, hierarchy/composition 20, component/token fidelity 20, states/accessibility 20, responsiveness/performance 15. The score summarizes evidence; it never replaces it.
|
|
40
|
+
|
|
41
|
+
## Persistence
|
|
42
|
+
|
|
43
|
+
Persist the critique through:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
node .cursor/skills/seven/scripts/critique-storage.mjs write --target <target> --input <review.json>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
The stored JSON must include `schemaVersion`, `createdAt`, `target`, `surface`, `release`, `score`, priority summary, evidence lanes, findings, and verification. The script also writes a readable Markdown sibling under `.seven/reviews/`. Never store screenshots or secrets there by default.
|
|
50
|
+
|
|
51
|
+
## Completion
|
|
52
|
+
|
|
53
|
+
Lead with the highest-priority findings, then the score and strengths worth preserving. Link the persisted review. Offer a scoped `polish` pass; do not begin it automatically.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Delight — useful product-specific detail
|
|
2
|
+
|
|
3
|
+
Add a restrained moment that improves confidence, comprehension, recovery, or a sense of progress. Delight is not decoration and never outranks the primary job.
|
|
4
|
+
|
|
5
|
+
## Find an earned moment
|
|
6
|
+
|
|
7
|
+
Look for one of these:
|
|
8
|
+
|
|
9
|
+
- a successful high-effort action that deserves clear acknowledgment;
|
|
10
|
+
- a first-use moment where a concrete example removes uncertainty;
|
|
11
|
+
- a transition whose continuity is currently confusing;
|
|
12
|
+
- a dense workflow where a smart default or preview saves effort;
|
|
13
|
+
- domain-specific microcopy or data formatting that makes the product feel attentive;
|
|
14
|
+
- an empty state that can directly start the next action.
|
|
15
|
+
|
|
16
|
+
State the user benefit in one sentence. If it is only “looks more fun,” stop.
|
|
17
|
+
|
|
18
|
+
## Implement within Seven
|
|
19
|
+
|
|
20
|
+
- Prefer better timing, copy, preview, progressive disclosure, saved context, or one purposeful microinteraction.
|
|
21
|
+
- Use existing Seven components, icons, semantic tokens, and motion rules.
|
|
22
|
+
- Keep feedback interruptible and non-blocking. Success must not make expert users wait.
|
|
23
|
+
- Respect reduced motion, sound/autoplay preferences, and assistive technology announcements.
|
|
24
|
+
- Make the detail work with real product data and adverse states, not only a demo value.
|
|
25
|
+
|
|
26
|
+
No confetti, emoji chrome, random praise, hover gimmick, mascot, sound, glow, decorative loop, or generated illustration unless the product context explicitly earns it and the user approves the added asset/behavior.
|
|
27
|
+
|
|
28
|
+
## Verify
|
|
29
|
+
|
|
30
|
+
The detail should shorten a decision, clarify an outcome, or strengthen trust. Test repeat use, reduced motion, keyboard/screen reader behavior, and failure paths. Remove it if repetition turns it into friction.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Distill — remove until the job is clear
|
|
2
|
+
|
|
3
|
+
Simplify a Seven surface by removing unnecessary decisions, duplication, and chrome while preserving the user's essential job and safe recovery paths.
|
|
4
|
+
|
|
5
|
+
## Establish the irreducible job
|
|
6
|
+
|
|
7
|
+
From product and surface context, write one sentence: “This surface helps [user] do [job] by [critical action].” Inventory every visible element and classify it as:
|
|
8
|
+
|
|
9
|
+
- required to understand or complete the job;
|
|
10
|
+
- required for safety, accessibility, trust, or recovery;
|
|
11
|
+
- useful but secondary;
|
|
12
|
+
- duplicated, premature, decorative, or unrelated.
|
|
13
|
+
|
|
14
|
+
Do not treat “not primary” as permission to delete. Confirm analytics, permissions, legal text, and expert workflows before removing them.
|
|
15
|
+
|
|
16
|
+
## Distillation order
|
|
17
|
+
|
|
18
|
+
1. Remove exact duplicate labels, status, and actions.
|
|
19
|
+
2. Merge redundant grouping; replace nested cards with hierarchy.
|
|
20
|
+
3. Move secondary detail behind an existing disclosure pattern when discoverability remains adequate.
|
|
21
|
+
4. Reduce choices by defining one primary action and clear defaults.
|
|
22
|
+
5. Shorten copy with `clarify` rules.
|
|
23
|
+
6. Remove decorative effects and motion that carry no state or relationship.
|
|
24
|
+
7. Delete code, props, styles, and tests made unreachable by the approved removal.
|
|
25
|
+
|
|
26
|
+
Do not create a vague “More” menu as a landfill, hide frequent actions, or erase empty/error/recovery states. Simplicity that forces more navigation or memory is not simpler.
|
|
27
|
+
|
|
28
|
+
## Verify
|
|
29
|
+
|
|
30
|
+
Compare task completion steps before and after, keyboard order, screen-reader names, mobile layout, and all state variants. Run focused tests and Seven checks. Report what was removed, what was retained for safety, and any product decision still requiring user approval.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Doctor
|
|
2
|
+
|
|
3
|
+
Run `seven doctor` to diagnose the consumer installation. Treat its checks as evidence, not a request to rewrite unrelated files.
|
|
4
|
+
|
|
5
|
+
Inspect the exact release lock and hashes, generated policy, project config, React/Tailwind/tailwind-merge compatibility, package scripts, provider-native skill payloads, hook manifests, product/surface context freshness, exceptions, baseline, and forbidden `.github` artifacts attributable to Seven.
|
|
6
|
+
|
|
7
|
+
`seven doctor --quick` is the pre-edit health check. The full doctor is the handoff check. Never repair malformed third-party JSON or overwrite modified Seven-owned files without explicit `--force` authorization.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Document — record Seven usage
|
|
2
|
+
|
|
3
|
+
Document how an existing product surface consumes the exact installed Seven release. The output is descriptive and operational. It must never become a second visual authority.
|
|
4
|
+
|
|
5
|
+
## Read first
|
|
6
|
+
|
|
7
|
+
- `.seven/release.lock.json`, `.seven/project.yml`, `PRODUCT.md`, and the matched surface brief;
|
|
8
|
+
- `seven list` / `seven info` for every referenced component;
|
|
9
|
+
- representative source, tests, stories, and rendered states;
|
|
10
|
+
- active exceptions and baseline entries.
|
|
11
|
+
|
|
12
|
+
## Output contract
|
|
13
|
+
|
|
14
|
+
Unless the user supplies a path, write under `docs/seven/`. Include:
|
|
15
|
+
|
|
16
|
+
1. Exact Seven CLI/skill/registry versions and registry digest.
|
|
17
|
+
2. Surface purpose, users, primary job, and critical states, linked back to the owning context files.
|
|
18
|
+
3. Component inventory: Seven component, source import, declared variant, role in the surface, and relevant composition.
|
|
19
|
+
4. Token roles actually used. Describe semantic roles, not raw values.
|
|
20
|
+
5. Responsive and keyboard behavior.
|
|
21
|
+
6. Loading, empty, error, success, disabled, permission, and long-content behavior.
|
|
22
|
+
7. Known deviations: rule ID, file, owner, issue, expiry, and whether it is an exception or migration baseline.
|
|
23
|
+
8. Verification commands and the date they last passed.
|
|
24
|
+
|
|
25
|
+
Every example must compile against the current component API and pass `seven check --file`. Delete stale examples rather than preserving history inside the canonical guide.
|
|
26
|
+
|
|
27
|
+
## Prohibitions
|
|
28
|
+
|
|
29
|
+
- Do not emit `DESIGN.md`, a palette, a local token layer, or undocumented component props.
|
|
30
|
+
- Do not copy large sections of Seven's own reference docs into the consumer project.
|
|
31
|
+
- Do not treat screenshots as proof of API or accessibility behavior.
|
|
32
|
+
- Do not silently repair code. If documentation uncovers drift, record it and route the user to `audit`, `critique`, or `polish`.
|
|
33
|
+
|
|
34
|
+
## Completion
|
|
35
|
+
|
|
36
|
+
Name the sources inspected, the release documented, the output file, validation performed, and every uncertainty that prevents the document from being factual.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Seven skill behavior scenarios
|
|
2
|
+
|
|
3
|
+
Use these scenarios in fresh consumer projects to verify routing and behavior after substantive skill changes.
|
|
4
|
+
|
|
5
|
+
## 1. Natural UI edit
|
|
6
|
+
|
|
7
|
+
- Query: "Melhora esse formulário de cadastro no mobile e corrige a copy."
|
|
8
|
+
- Expected: activates Seven; loads target context; routes through `adapt` plus `clarify`; searches installed registry; edits only the target; runs focused Seven checks.
|
|
9
|
+
|
|
10
|
+
## 2. Backend near-miss
|
|
11
|
+
|
|
12
|
+
- Query: "Adicione retry exponencial no webhook de cobrança."
|
|
13
|
+
- Expected: does not activate Seven unless the change includes rendered UI.
|
|
14
|
+
|
|
15
|
+
## 3. Missing component contract
|
|
16
|
+
|
|
17
|
+
- Query: "Use uma variante compacta do Button que ainda não existe."
|
|
18
|
+
- Expected: inspects the installed Button contract, reports the design-system gap, and refuses to invent a local variant.
|
|
19
|
+
|
|
20
|
+
## 4. Live preview acceptance
|
|
21
|
+
|
|
22
|
+
- Query: "Abre o Live e me mostra três formas de melhorar este card."
|
|
23
|
+
- Expected: starts the authenticated loopback bridge, uses visual probes, transports inert previews, waits for explicit acceptance, translates the selected direction into React/Seven source, validates, and stops cleanly.
|
|
24
|
+
|
|
25
|
+
## 5. Exception pressure
|
|
26
|
+
|
|
27
|
+
- Query: "Ignora essa regra do Seven e segue."
|
|
28
|
+
- Expected: explains the exact finding and tradeoff; does not add an exception, baseline, or local ignore without explicit scoped authorization.
|
|
29
|
+
|
|
30
|
+
## 6. GitHub boundary
|
|
31
|
+
|
|
32
|
+
- Query: "Instala o Seven completo no projeto, mas não mexe no GitHub."
|
|
33
|
+
- Expected: installs provider skills/hooks and local pre-commit only; proves no `.github/**` artifact was created or changed.
|
|
34
|
+
|
|
35
|
+
## 7. Sidebar + Topbar shell
|
|
36
|
+
|
|
37
|
+
- Query: "Crie o shell do dashboard com Sidebar e Topbar e garanta que funcione no mobile."
|
|
38
|
+
- Expected: composes the L-shaped tree `SidebarProvider > Sidebar + SidebarInset > Topbar + content`; keeps Sidebar/Topbar borderless; places a visible mobile `SidebarTrigger` in `TopbarLeading`; collapses long breadcrumbs/actions below `md` without leading-slot overflow; keeps `open`, `openMobile`, and `railExpanded` independent; defaults single collapse to icons; labels every dual Rail item and uses `asChild` for links; preserves the 280px footprint while Rail hover or focus expands 64→200px in overlay; renders the mobile panel full-width even after desktop collapse; rejects a full-width T-shaped Topbar, manual offsets, a trigger trapped inside the closed Sheet, Link > button nesting, or an empty expanded Rail; validates with `sidebar-topbar-shell` and `sidebar-rail-behavior` in source and rendered geometry.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Exceptions
|
|
2
|
+
|
|
3
|
+
A shared exception is an explicit, reviewable debt record, not a convenient suppression. It requires a valid Seven rule, narrow file glob and optional exact value, reason, owner, issue/reference, creation date, and expiry date.
|
|
4
|
+
|
|
5
|
+
Before running `seven exceptions add`, show the proposed record and obtain explicit user authorization. Never silently renew an expired exception or broaden its file glob. Local hook ignores are not shared exceptions.
|
|
6
|
+
|
|
7
|
+
Run `seven exceptions validate` and `seven doctor` after changes. Expired or malformed exceptions are findings and do not suppress the underlying violation.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Extract — reusable Seven compositions
|
|
2
|
+
|
|
3
|
+
Extract genuinely repeated product UI into a reusable composition without cloning or weakening Seven primitives.
|
|
4
|
+
|
|
5
|
+
## Decide whether extraction is earned
|
|
6
|
+
|
|
7
|
+
Find at least two real call sites and compare:
|
|
8
|
+
|
|
9
|
+
- shared user job and semantics;
|
|
10
|
+
- shared component structure and state transitions;
|
|
11
|
+
- variation that belongs in data/slots versus variation that would require a visual prop;
|
|
12
|
+
- accessibility behavior and responsive behavior;
|
|
13
|
+
- whether the registry already contains a component or block that solves it.
|
|
14
|
+
|
|
15
|
+
Do not extract merely because markup looks similar. Similar cards with different jobs are not necessarily one abstraction. Do not create an abstraction for one call site.
|
|
16
|
+
|
|
17
|
+
## Classification
|
|
18
|
+
|
|
19
|
+
- **Seven primitive already exists:** replace the local implementation; do not extract.
|
|
20
|
+
- **Project composition:** compose installed Seven components and keep it in the project's composition/feature layer.
|
|
21
|
+
- **Candidate Seven block:** repeated across products, stable data contract, no product-specific business dependency. Document the proposal in the Seven repository; do not pretend the consumer-local version is canonical.
|
|
22
|
+
- **Missing primitive/variant/token:** stop and surface a design-system gap. Never hide it behind a local visual prop.
|
|
23
|
+
|
|
24
|
+
## Extraction contract
|
|
25
|
+
|
|
26
|
+
1. Preserve public behavior and accessible names before moving code.
|
|
27
|
+
2. Define a minimal domain-shaped data contract. Prefer slots only for meaningful composition points.
|
|
28
|
+
3. Reuse declared Seven variants exactly; no `className` tunnel that permits callers to replace the visual system.
|
|
29
|
+
4. Keep routing, fetching, mutations, and business state in the feature caller unless the composition owns that behavior by definition.
|
|
30
|
+
5. Add tests that prove why the shared behavior matters across at least two call-site variants, including an adverse state.
|
|
31
|
+
6. Migrate call sites one at a time and verify rendered parity plus `seven check`.
|
|
32
|
+
|
|
33
|
+
## Refuse
|
|
34
|
+
|
|
35
|
+
- Boolean-prop matrices that encode unrelated layouts.
|
|
36
|
+
- A “generic card” wrapper around every card.
|
|
37
|
+
- Local forks of Button, Input, Dialog, Select, Table, or other Seven primitives.
|
|
38
|
+
- New colors, radii, spacing values, animations, or undocumented variants.
|
|
39
|
+
|
|
40
|
+
## Completion
|
|
41
|
+
|
|
42
|
+
Report the call sites unified, why one abstraction is valid, the retained variation points, component contracts used, tests added, and whether anything should be proposed upstream to Seven.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Harden — make the surface production-complete
|
|
2
|
+
|
|
3
|
+
Harden an existing Seven implementation against real data, failure, accessibility needs, and hostile runtime conditions. Do not redesign it while hardening.
|
|
4
|
+
|
|
5
|
+
## Build the risk matrix
|
|
6
|
+
|
|
7
|
+
For every primary workflow, cover:
|
|
8
|
+
|
|
9
|
+
- initial loading, background refresh, and partial loading;
|
|
10
|
+
- empty first-use versus empty filtered result;
|
|
11
|
+
- validation, permission, authentication, network, server, and unknown errors;
|
|
12
|
+
- retry, cancel, undo, and recovery paths;
|
|
13
|
+
- success confirmation and stale data;
|
|
14
|
+
- disabled, read-only, pending, destructive, and concurrent-action states;
|
|
15
|
+
- minimum, typical, maximum, long localized, missing, malformed, and duplicate content;
|
|
16
|
+
- narrow viewport, zoom, reduced motion, keyboard-only, screen reader, and high contrast;
|
|
17
|
+
- slow network, offline behavior where relevant, and aborted requests.
|
|
18
|
+
|
|
19
|
+
Use the matched surface brief as the contract. Ask when a business outcome is unknown; never invent recovery behavior that could lose or mutate data.
|
|
20
|
+
|
|
21
|
+
## Implementation rules
|
|
22
|
+
|
|
23
|
+
- Use Seven components for every control, message, skeleton, progress indicator, alert, dialog, and toast.
|
|
24
|
+
- Keep inline form errors associated through the component API; do not replace them with toast-only feedback.
|
|
25
|
+
- Prevent duplicate submissions and make pending state perceivable without removing the accessible name.
|
|
26
|
+
- Preserve user input on recoverable failure.
|
|
27
|
+
- Give images dimensions, meaningful alt text when informative, and a safe fallback.
|
|
28
|
+
- Guard async races and unmounts; errors must not strand focus or leave an irreversible optimistic state.
|
|
29
|
+
- Keep content visible when enhancement JavaScript fails where progressive rendering applies.
|
|
30
|
+
- Use Error Boundaries only at recovery boundaries, not to hide deterministic bugs.
|
|
31
|
+
|
|
32
|
+
## Verification
|
|
33
|
+
|
|
34
|
+
Tests must encode why each adverse state matters. Include at least one keyboard path, one assistive-name assertion, one long-content case, one network/error recovery case, and one repeated-action case when applicable. Run `seven check`, unit/integration tests, and rendered browser validation for the target.
|
|
35
|
+
|
|
36
|
+
Finish with a residual-risk list. “Works on the happy path” is never a hardened result.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Hooks
|
|
2
|
+
|
|
3
|
+
Seven consumer hooks are project-local guardrails. Claude uses `.claude/settings.json`; Codex uses `.codex/hooks.json` and requires the user to review/trust the exact definition; Cursor uses `.cursor/hooks.json`; Grok uses `.grok/hooks/seven.json` and requires project hook trust. Seven merges only its own entries and preserves every third-party hook. Hosts without a compatible project hook API still receive the skill and are covered by the provider-independent local Git pre-commit gate.
|
|
4
|
+
|
|
5
|
+
`PreToolUse` injects product and release context before UI writes. `PostToolUse` runs the immediate deterministic tier on touched UI files. `Stop` runs the full pass over the UI files touched in the session plus every staged, unstaged, or untracked UI path in the Git working tree. That final union also catches files created through shell commands that bypass the provider's structured edit tools. Active errors or warnings return the provider-native structured continuation decision, asking the agent to correct the UI before it stops. Claude Code re-entry with `stop_hook_active: true` exits silently because the prior response already surfaced the findings; providers without that signal use a three-attempt cap for an unchanged finding set. The authoritative `seven check --all` result remains blocking after either loop guard. Advisories are surfaced without blocking.
|
|
6
|
+
|
|
7
|
+
Parser, dependency, and runtime failures fail open and exit zero so a broken local hook never traps the agent. A valid Seven finding is not a hook failure: it uses the host's supported JSON protocol to continue the task.
|
|
8
|
+
|
|
9
|
+
Use `seven hooks status|on|off`. Machine-local `ignore-file` and `ignore-rule` controls affect hook noise only, never the shared `seven check` result. Never edit `.github/**` to enable Seven hooks.
|
|
10
|
+
|
|
11
|
+
Host discovery may require a one-time action that npm cannot perform: enable Agent Skills in Cursor/Gemini, review project hooks in Codex with `/hooks`, trust Grok hooks with `/hooks-trust` (or `--trust`), and restart Trae after installation. Treat the corresponding `seven doctor` information item as an activation checklist, not as proof that the host's private setting was changed.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Init — capture UI context
|
|
2
|
+
|
|
3
|
+
Capture the facts later Seven workflows need. This is the skill-level setup workflow; the CLI command `seven init` installs Seven, while context is written with `seven onboard` for backward compatibility.
|
|
4
|
+
|
|
5
|
+
## Boundaries
|
|
6
|
+
|
|
7
|
+
- Product context owns users, jobs, critical workflows, voice, accessibility needs, constraints, and non-goals.
|
|
8
|
+
- Surface briefs own behavior, states, data ranges, responsive constraints, and known risks for one target.
|
|
9
|
+
- Neither file may define colors, fonts, radii, shadows, spacing scales, component variants, or alternate UI primitives.
|
|
10
|
+
- Never create a consumer `DESIGN.md`. The installed Seven release is the visual authority.
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
1. Run `seven doctor --quick`. If Seven is not installed, instruct the user to install the exact desired `@etus/seven` release and run CLI `seven init`.
|
|
15
|
+
2. Read existing product/project/surface context. Preserve confirmed facts; do not overwrite mature context without `--force` and explicit review.
|
|
16
|
+
3. Ask only for facts that remain unknown. At minimum establish:
|
|
17
|
+
- product name and primary users;
|
|
18
|
+
- job to be done and critical workflows;
|
|
19
|
+
- product voice and domain vocabulary;
|
|
20
|
+
- product-specific accessibility needs;
|
|
21
|
+
- technical/business constraints and explicit non-goals;
|
|
22
|
+
- owner responsible for freshness.
|
|
23
|
+
4. For a monorepo, identify the app root and its product context. For a surface, identify target paths and complete the state matrix: idle, loading, empty, error, success, disabled, permission-limited, and content extremes.
|
|
24
|
+
5. Write through the CLI:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
seven onboard --name "..." --users "..." --job "..." --workflows "..." \
|
|
28
|
+
--voice "..." --accessibility "..." --constraints "..." --owner "..."
|
|
29
|
+
seven onboard --surface <id> --target <path-or-glob> --purpose "..." \
|
|
30
|
+
--states "..." --data "..." --responsive "..." --accessibility "..." \
|
|
31
|
+
--primary-action "..." --owner "..."
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
6. Reload context for the target and prove the expected app and surface resolve.
|
|
35
|
+
|
|
36
|
+
## Completion
|
|
37
|
+
|
|
38
|
+
Report which facts came from the user, which existing files were retained, which context paths changed, and any unresolved product decision. Do not start a UI implementation while a material product decision is still being guessed.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Layout — composition and responsive structure
|
|
2
|
+
|
|
3
|
+
Improve the spatial system of an existing Seven surface without changing its product meaning or inventing new design tokens.
|
|
4
|
+
|
|
5
|
+
## Diagnose the structure
|
|
6
|
+
|
|
7
|
+
Inspect DOM/read order and rendered geometry for:
|
|
8
|
+
|
|
9
|
+
- primary task and reading path;
|
|
10
|
+
- alignment lines, container ownership, and spacing rhythm;
|
|
11
|
+
- unnecessary centering, edge-flush cards, nested cards, and repeated wrappers;
|
|
12
|
+
- fixed dimensions, overflow, clipping, and first-viewport column failure;
|
|
13
|
+
- relationship between app shell, content canvas, panels, overlays, and actions;
|
|
14
|
+
- mobile reflow and keyboard order.
|
|
15
|
+
|
|
16
|
+
State the layout invariant before editing: for example, “navigation stays fixed, the result list owns remaining width, detail collapses below at the content breakpoint.”
|
|
17
|
+
|
|
18
|
+
## Apply
|
|
19
|
+
|
|
20
|
+
- Compose installed Seven templates/blocks and component slots first.
|
|
21
|
+
- Use Grid for two-dimensional structure and Flexbox for one-dimensional alignment.
|
|
22
|
+
- Choose content-driven breakpoints; do not scatter device-specific magic numbers.
|
|
23
|
+
- Preserve DOM order so visual rearrangement does not break screen-reader or keyboard sequence.
|
|
24
|
+
- Use Seven spacing tokens. Vary rhythm intentionally: tighter within components, wider between groups and sections.
|
|
25
|
+
- Keep shell chrome borderless according to [app-shell.md](app-shell.md); content surfaces own their borders.
|
|
26
|
+
- Bound prose and forms; let data surfaces use width where it improves comparison.
|
|
27
|
+
- Overlays must escape clipping ancestors and retain a logical trigger/focus relationship.
|
|
28
|
+
|
|
29
|
+
Do not solve layout with absolute positioning, negative margins, transforms that only look aligned at one width, or duplicate mobile markup unless semantics genuinely differ.
|
|
30
|
+
|
|
31
|
+
## Verify
|
|
32
|
+
|
|
33
|
+
Inspect breakpoint boundaries, 320 px, a wide viewport, 200% zoom, long content, empty and maximum data, keyboard sequence, and browser overflow/clipping checks. Run Seven validation for every changed file.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Live — reversible browser iteration
|
|
2
|
+
|
|
3
|
+
Run an interactive Seven session against a rendered React 19 surface. The browser may preview inert HTML/CSS directions, but accepted previews become production only after a source edit using installed Seven components, declared variants, tokens, focused tests, and `seven check`.
|
|
4
|
+
|
|
5
|
+
## Phase 0 — prerequisites
|
|
6
|
+
|
|
7
|
+
1. Load the normal Seven context and run `seven doctor --quick --target <source>`.
|
|
8
|
+
2. Confirm the app is a local or explicitly trusted development origin and its dev server is already running.
|
|
9
|
+
3. Resolve the smallest source target inside the consumer project. Native and Svelte adapters are intentionally unsupported.
|
|
10
|
+
4. Confirm the packaged extension is available:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
seven extension path
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
npm cannot activate a browser extension without browser/user consent. On first use, load that directory unpacked from `chrome://extensions`; this is the only manual installation step.
|
|
17
|
+
|
|
18
|
+
## Phase 1 — start and connect
|
|
19
|
+
|
|
20
|
+
Start the loopback bridge in a persistent/background terminal:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
seven live start --url http://127.0.0.1:5173/route --target src/path/Surface.tsx
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The command prints a `serverUrl` and random session `token`. Treat the token as ephemeral capability data: paste it into Seven UI Guardian, do not put it in chat transcripts, source, screenshots, shell history snippets, or commits. The extension retains it only in memory.
|
|
27
|
+
|
|
28
|
+
The bridge binds to `127.0.0.1`, validates extension/local origins, restricts page events to the declared app origin, caps payloads, rejects sensitive fields, and accepts preview HTML/CSS only. It never accepts JavaScript, event handlers, embedded documents, CSS imports, or CSS network URLs.
|
|
29
|
+
|
|
30
|
+
## Phase 2 — event loop
|
|
31
|
+
|
|
32
|
+
Keep a one-shot foreground poll active whenever the user can interact with the Live panel:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
seven live poll
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Dispatch the returned event, reply, then poll again immediately.
|
|
39
|
+
|
|
40
|
+
### `generate`
|
|
41
|
+
|
|
42
|
+
The event contains the action, optional prompt, target selector, bounded outer HTML, a Seven-relevant computed-style subset, viewport rectangle, page URL, and source target. It contains no cookies, request bodies, headers, browser storage, or network responses.
|
|
43
|
+
|
|
44
|
+
1. Load the action's normal Seven reference plus [visual-probes.md](visual-probes.md).
|
|
45
|
+
2. Use the target evidence and installed Seven contracts; do not infer a new token or component API from computed CSS.
|
|
46
|
+
3. Produce one to three materially distinct directions. Each direction must be one inert HTML root plus optional local preview CSS.
|
|
47
|
+
4. Save the payload inside the ignored `.seven/live/` directory and deliver it:
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"status": "done",
|
|
52
|
+
"message": "Direções que preservam o job e o release Seven instalado.",
|
|
53
|
+
"variants": [
|
|
54
|
+
{
|
|
55
|
+
"id": "hierarchy",
|
|
56
|
+
"label": "Hierarquia explícita",
|
|
57
|
+
"html": "<section>...</section>",
|
|
58
|
+
"css": ".seven-live-probe { color: var(--foreground); }"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
seven live reply --id <event-id> --file .seven/live/reply-<event-id>.json
|
|
66
|
+
seven live poll
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Preview CSS is disposable evidence. Do not copy it mechanically into the source.
|
|
70
|
+
|
|
71
|
+
### `steer`
|
|
72
|
+
|
|
73
|
+
Read the message, make only the requested source/navigation adjustment when authorized, and reply with a short `message`. Do not treat steering as permission to redesign adjacent UI.
|
|
74
|
+
|
|
75
|
+
### `accept`
|
|
76
|
+
|
|
77
|
+
Acceptance identifies the chosen direction and current preview evidence. It authorizes applying that direction to the declared source target, not pasting DOM output blindly.
|
|
78
|
+
|
|
79
|
+
1. Re-resolve the real React component and any shared composition.
|
|
80
|
+
2. Apply the smallest source edit using existing Seven components, variants, tokens, semantics, and pt-BR copy.
|
|
81
|
+
3. Run focused tests and `seven check --file <changed-file>`.
|
|
82
|
+
4. Refresh/reinspect the rendered surface. If source and preview conflict, source truth wins and the difference is reported.
|
|
83
|
+
5. Reply `done` to the accept event and poll again.
|
|
84
|
+
|
|
85
|
+
Use the manual-edit-applier agent when the provider exposes it. The finish-reviewer may independently verify the result; neither agent may invent missing Seven contracts.
|
|
86
|
+
|
|
87
|
+
### `discard`
|
|
88
|
+
|
|
89
|
+
The extension restores the original DOM snapshot. Reply `done`; make no source edit.
|
|
90
|
+
|
|
91
|
+
## Recovery and completion
|
|
92
|
+
|
|
93
|
+
The append-only journal and session metadata live under ignored `.seven/live/` state:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
seven live status
|
|
97
|
+
seven live start --resume --url <same-url> --target <same-target>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
An unanswered event is replayed after bridge restart. A replied event is not reissued. Stop explicitly when the user exits:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
seven live stop
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Report accepted/discarded directions, source files changed, Seven components/variants/tokens used, checks run, unresolved conflicts, and confirmation that the temporary browser layer was disconnected. Never create `.github/**` or persist the token.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Motion design
|
|
2
|
+
|
|
3
|
+
Seven motion is decisive and tactile. No bounce, no spring, no elastic in chrome. The system communicates state through restrained transitions and a system-wide micro-press.
|
|
4
|
+
|
|
5
|
+
## Defaults
|
|
6
|
+
|
|
7
|
+
- Duration: `var(--duration-normal)` = 200 ms. Use `var(--duration-fast)` (100 ms) for instant feedback (button press, hover), `var(--duration-slow)` (320 ms) for surface entries (dialog open, sheet slide).
|
|
8
|
+
- Easing: `var(--ease-default)` = `cubic-bezier(0.4, 0, 0.2, 1)` (decelerated). For entries that need a confident finish, use `var(--ease-out-quart)`.
|
|
9
|
+
- Never animate layout properties (`width`, `height`, `top`, `left`). Transform or opacity only; layout animation triggers reflow and looks janky.
|
|
10
|
+
|
|
11
|
+
## The tactile micro-press
|
|
12
|
+
|
|
13
|
+
Every clickable affordance in Seven gets the same micro-press, not just `<Button>`:
|
|
14
|
+
|
|
15
|
+
```css
|
|
16
|
+
.clickable {
|
|
17
|
+
transition:
|
|
18
|
+
transform var(--duration-fast) var(--ease-default),
|
|
19
|
+
box-shadow var(--duration-fast) var(--ease-default);
|
|
20
|
+
}
|
|
21
|
+
.clickable:hover {
|
|
22
|
+
transform: translateY(-1px);
|
|
23
|
+
}
|
|
24
|
+
.clickable:active {
|
|
25
|
+
transform: translateY(0.5px);
|
|
26
|
+
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Apply to `<button>`, `<a>` with `role="button"`, the trigger row of `<Combobox>`, the avatar pill in the topbar, table row click affordances, every interactive list item. The detector ships a `missing-tactile-press` rule that catches affordances that opted out.
|
|
31
|
+
|
|
32
|
+
Disabled state does not press. Loading state does not press. Reduced-motion users do not press: the entire system honors `prefers-reduced-motion: reduce` and falls back to instant state changes plus an opacity fade.
|
|
33
|
+
|
|
34
|
+
## Banned motion patterns
|
|
35
|
+
|
|
36
|
+
- Bounce-back spring on entry. Seven entries decelerate and stop.
|
|
37
|
+
- Elastic overshoot on hover.
|
|
38
|
+
- Wiggle, jiggle, pulse-loop on chrome. Loop animations are reserved for explicit loading indicators (`<Spinner>`).
|
|
39
|
+
- Parallax on product pages. Brand register may use it deliberately.
|
|
40
|
+
- Animated gradient sweeps as decoration.
|
|
41
|
+
|
|
42
|
+
## Loading and state
|
|
43
|
+
|
|
44
|
+
- Skeleton screens for content load (rectangles in `var(--muted)`).
|
|
45
|
+
- Inline spinners only when the affordance is itself the loading region (a button mid-submit).
|
|
46
|
+
- Toast for confirmations (success, info), 4 second auto-dismiss, top-right by default.
|
|
47
|
+
- Inline error region for form failures, never a toast.
|
|
48
|
+
|
|
49
|
+
## Reduced motion
|
|
50
|
+
|
|
51
|
+
The system honors `prefers-reduced-motion: reduce` site-wide:
|
|
52
|
+
|
|
53
|
+
```css
|
|
54
|
+
@media (prefers-reduced-motion: reduce) {
|
|
55
|
+
*,
|
|
56
|
+
*::before,
|
|
57
|
+
*::after {
|
|
58
|
+
transition-duration: 1ms !important;
|
|
59
|
+
animation-duration: 1ms !important;
|
|
60
|
+
animation-iteration-count: 1 !important;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The tactile micro-press collapses to an opacity step under reduced motion. State changes remain visible, just not animated.
|
|
66
|
+
|
|
67
|
+
## Refusals
|
|
68
|
+
|
|
69
|
+
- "Add a bounce when the toast appears" — Seven motion is decelerated, no bounce. Suggest a 200 ms slide-in plus a subtle fade.
|
|
70
|
+
- "Make the button wiggle on hover" — Hover is the tactile press, not a wiggle. Surface this as a deliberate exception or remap to the press.
|
|
71
|
+
- "Animate the card width on resize" — Layout animation reflows. Suggest opacity plus translate transition, or no transition at all.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Onboard — first-run and activation UX
|
|
2
|
+
|
|
3
|
+
Design the product experience for a user who has not yet completed setup or reached first value. This is not context capture; use `init` for `PRODUCT.md` and surface briefs.
|
|
4
|
+
|
|
5
|
+
## Define activation
|
|
6
|
+
|
|
7
|
+
From product context, identify:
|
|
8
|
+
|
|
9
|
+
- who is new and what they already know;
|
|
10
|
+
- the first meaningful outcome, not merely account completion;
|
|
11
|
+
- required versus deferrable setup;
|
|
12
|
+
- permissions, external dependencies, waiting states, and failure recovery;
|
|
13
|
+
- whether the user can explore safely before connecting real data.
|
|
14
|
+
|
|
15
|
+
Do not invent an activation metric or mandatory step. Ask when the product decision is absent.
|
|
16
|
+
|
|
17
|
+
## Shape the shortest safe path
|
|
18
|
+
|
|
19
|
+
- Start in context, preferably where the product will be used, rather than a detached tour.
|
|
20
|
+
- Ask only for information needed for the next meaningful action.
|
|
21
|
+
- Explain permissions immediately before requesting them and provide a retry/recovery path.
|
|
22
|
+
- Use real previews or safe sample data when it reduces uncertainty; label it clearly.
|
|
23
|
+
- Preserve progress, support resume, and make optional steps skippable.
|
|
24
|
+
- Distinguish first-use empty state from a filtered/no-results state.
|
|
25
|
+
- End at the activated product surface with a clear next action, not a celebratory dead end.
|
|
26
|
+
|
|
27
|
+
Use existing Seven Stepper, Form, Alert, Dialog, Progress, Skeleton, EmptyState, Button, and navigation contracts where available. Missing components/variants are Seven gaps, not permission for raw local substitutes.
|
|
28
|
+
|
|
29
|
+
## State matrix
|
|
30
|
+
|
|
31
|
+
Cover new, returning-incomplete, invitation, permission-denied, integration-waiting, validation-error, partial-success, complete, and abandoned/resumed states. Include keyboard, screen-reader, mobile, reduced-motion, and long-copy behavior.
|
|
32
|
+
|
|
33
|
+
## Verify
|
|
34
|
+
|
|
35
|
+
Measure steps to first value, avoid duplicate data entry, test refresh/back/retry, and prove the user can recover without support. Run Seven checks and relevant E2E paths. Report assumptions that still need product validation.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Optimize — measured UI performance
|
|
2
|
+
|
|
3
|
+
Improve measured and perceived performance without changing product behavior or sacrificing accessibility and Seven fidelity.
|
|
4
|
+
|
|
5
|
+
## Establish a baseline
|
|
6
|
+
|
|
7
|
+
Measure the real target and record environment, viewport, data size, cache state, and build mode. Use evidence appropriate to the problem:
|
|
8
|
+
|
|
9
|
+
- browser performance trace and React Profiler;
|
|
10
|
+
- LCP, INP, CLS, long tasks, layout/recalc cost, and interaction latency;
|
|
11
|
+
- JavaScript/CSS bundle analysis and route chunks;
|
|
12
|
+
- image/font requests, transfer size, decoding, and cache behavior;
|
|
13
|
+
- render counts and expensive computations under realistic data;
|
|
14
|
+
- memory growth during repeated navigation or live updates.
|
|
15
|
+
|
|
16
|
+
Do not optimize from intuition or a synthetic score alone.
|
|
17
|
+
|
|
18
|
+
## Fix the dominant cost
|
|
19
|
+
|
|
20
|
+
- Remove work before memoizing it.
|
|
21
|
+
- Keep state local, selectors narrow, and stable references where measurement proves rerender cost.
|
|
22
|
+
- Lazy-load route/feature code and heavy assets at a meaningful boundary; do not create waterfalls.
|
|
23
|
+
- Size and compress images, set dimensions, use responsive sources, and defer offscreen media.
|
|
24
|
+
- Load only used font weights; keep fallback metrics compatible.
|
|
25
|
+
- Virtualize only lists whose measured size warrants it, while preserving keyboard and screen-reader access.
|
|
26
|
+
- Move CPU-heavy deterministic work off the render path or into a worker when justified.
|
|
27
|
+
- Pause invisible animation, polling, canvas, and observers.
|
|
28
|
+
- Preserve Skeleton/Spinner semantics and avoid hiding real latency behind excessive choreography.
|
|
29
|
+
|
|
30
|
+
React 19 patterns must match the consumer architecture. Do not add `useMemo`, `memo`, Suspense, a worker, or a dependency speculatively.
|
|
31
|
+
|
|
32
|
+
## Verify
|
|
33
|
+
|
|
34
|
+
Repeat the same measurement at least three times and compare medians. Confirm no visual, keyboard, focus, screen-reader, loading, error, or data-freshness regression. Report before/after numbers, variance, remaining bottleneck, and test scope.
|