@litfamily/litgrok 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.grok/agents/litgrok-executor.md +33 -0
- package/.grok/agents/litgrok-korean-prose-editor.md +32 -0
- package/.grok/agents/litgrok-korean-style-analyzer.md +30 -0
- package/.grok/agents/litgrok-librarian-researcher.md +31 -0
- package/.grok/agents/litgrok-meaning-preservation-auditor.md +30 -0
- package/.grok/agents/litgrok-native-flow-reviewer.md +30 -0
- package/.grok/agents/litgrok-planner.md +31 -0
- package/.grok/agents/litgrok-polish-orchestrator.md +30 -0
- package/.grok/agents/litgrok-qa-runner.md +33 -0
- package/.grok/agents/litgrok-quality-reviewer.md +33 -0
- package/.grok/agents/litgrok-verifier.md +32 -0
- package/.grok/hooks/deliverable-hedge-guard.json +16 -0
- package/.grok/hooks/deliverable-hedge-guard.mjs +148 -0
- package/.grok/hooks/lit-mark.mjs +142 -0
- package/.grok/hooks/plan-gate.mjs +81 -0
- package/.grok/hooks/post-compact.json +15 -0
- package/.grok/hooks/post-compact.mjs +6 -0
- package/.grok/hooks/post-tool-use-failure.json +15 -0
- package/.grok/hooks/post-tool-use-failure.mjs +6 -0
- package/.grok/hooks/post-tool-use.json +16 -0
- package/.grok/hooks/post-tool-use.mjs +7 -0
- package/.grok/hooks/pre-compact.json +15 -0
- package/.grok/hooks/pre-compact.mjs +6 -0
- package/.grok/hooks/record-passive-event.mjs +198 -0
- package/.grok/hooks/session-start.json +15 -0
- package/.grok/hooks/session-start.mjs +37 -0
- package/.grok/hooks/stop-failure.json +15 -0
- package/.grok/hooks/stop-failure.mjs +6 -0
- package/.grok/hooks/stop.json +15 -0
- package/.grok/hooks/stop.mjs +36 -0
- package/.grok/hooks/subagent-start.json +15 -0
- package/.grok/hooks/subagent-start.mjs +6 -0
- package/.grok/hooks/subagent-stop.json +15 -0
- package/.grok/hooks/subagent-stop.mjs +6 -0
- package/.grok/hooks/user-prompt-submit.json +15 -0
- package/.grok/hooks/user-prompt-submit.mjs +7 -0
- package/.grok/rules/00-litgrok.md +152 -0
- package/.grok/skills/autoconference/LICENSE +21 -0
- package/.grok/skills/autoconference/PROVENANCE.md +23 -0
- package/.grok/skills/autoconference/SKILL.md +140 -0
- package/.grok/skills/autoconference/assets/conference_template.md +76 -0
- package/.grok/skills/autoconference/assets/report_template.md +56 -0
- package/.grok/skills/autoconference/assets/synthesis_template.md +40 -0
- package/.grok/skills/autoconference/references/_canonical-corpus/manifest.json +138 -0
- package/.grok/skills/autoconference/references/agent-prompts.md +30 -0
- package/.grok/skills/autoconference/references/conference-protocol.md +21 -0
- package/.grok/skills/autoconference/references/core-principles.md +13 -0
- package/.grok/skills/autoconference/references/family-contract.md +26 -0
- package/.grok/skills/autoconference/references/modes/analyze.md +11 -0
- package/.grok/skills/autoconference/references/modes/core/convergence-guide.md +41 -0
- package/.grok/skills/autoconference/references/modes/core/crash-recovery.md +11 -0
- package/.grok/skills/autoconference/references/modes/core.md +26 -0
- package/.grok/skills/autoconference/references/modes/debate.md +11 -0
- package/.grok/skills/autoconference/references/modes/plan.md +12 -0
- package/.grok/skills/autoconference/references/modes/resume.md +11 -0
- package/.grok/skills/autoconference/references/modes/ship.md +11 -0
- package/.grok/skills/autoconference/references/modes/survey.md +11 -0
- package/.grok/skills/autoconference/references/results-logging.md +12 -0
- package/.grok/skills/autoconference/references/visualization-guide.md +10 -0
- package/.grok/skills/autoconference/scripts/init_conference.py +646 -0
- package/.grok/skills/autoconference/scripts/verify-canonical-corpus.mjs +177 -0
- package/.grok/skills/autoconference/templates/code-performance.md +59 -0
- package/.grok/skills/autoconference/templates/debate-mode.md +50 -0
- package/.grok/skills/autoconference/templates/prompt-optimization.md +58 -0
- package/.grok/skills/autoconference/templates/quick-conference.md +48 -0
- package/.grok/skills/autoconference/templates/research-synthesis.md +56 -0
- package/.grok/skills/autoconference/templates/survey-mode.md +63 -0
- package/.grok/skills/autoresearch/LICENSE +21 -0
- package/.grok/skills/autoresearch/PROVENANCE.md +22 -0
- package/.grok/skills/autoresearch/SKILL.md +149 -0
- package/.grok/skills/autoresearch/assets/report_template.md +52 -0
- package/.grok/skills/autoresearch/assets/research_template.md +38 -0
- package/.grok/skills/autoresearch/assets/results_template.tsv +2 -0
- package/.grok/skills/autoresearch/references/_canonical-corpus/manifest.json +148 -0
- package/.grok/skills/autoresearch/references/core-principles.md +16 -0
- package/.grok/skills/autoresearch/references/family-contract.md +36 -0
- package/.grok/skills/autoresearch/references/modes/core/evaluator-contract.md +12 -0
- package/.grok/skills/autoresearch/references/modes/core/stuck-detection.md +11 -0
- package/.grok/skills/autoresearch/references/modes/core.md +21 -0
- package/.grok/skills/autoresearch/references/modes/debug/investigation-techniques.md +11 -0
- package/.grok/skills/autoresearch/references/modes/debug.md +11 -0
- package/.grok/skills/autoresearch/references/modes/fix.md +11 -0
- package/.grok/skills/autoresearch/references/modes/learn.md +11 -0
- package/.grok/skills/autoresearch/references/modes/plan.md +14 -0
- package/.grok/skills/autoresearch/references/modes/predict/persona-templates.md +11 -0
- package/.grok/skills/autoresearch/references/modes/predict.md +11 -0
- package/.grok/skills/autoresearch/references/modes/reason.md +11 -0
- package/.grok/skills/autoresearch/references/modes/scenario/dimensions.md +11 -0
- package/.grok/skills/autoresearch/references/modes/scenario.md +11 -0
- package/.grok/skills/autoresearch/references/modes/security/owasp-checklist.md +11 -0
- package/.grok/skills/autoresearch/references/modes/security/stride-model.md +11 -0
- package/.grok/skills/autoresearch/references/modes/security.md +12 -0
- package/.grok/skills/autoresearch/references/modes/ship/type-checklists.md +12 -0
- package/.grok/skills/autoresearch/references/modes/ship.md +11 -0
- package/.grok/skills/autoresearch/references/results-logging.md +12 -0
- package/.grok/skills/autoresearch/references/visualization-guide.md +24 -0
- package/.grok/skills/autoresearch/scripts/init_research.py +391 -0
- package/.grok/skills/autoresearch/scripts/style_presets.py +123 -0
- package/.grok/skills/autoresearch/scripts/verify-canonical-corpus.mjs +179 -0
- package/.grok/skills/browser-drive/SKILL.md +194 -0
- package/.grok/skills/browser-drive/references/snapshot-act-loop.md +61 -0
- package/.grok/skills/comment-checker/SKILL.md +194 -0
- package/.grok/skills/debugging/SKILL.md +82 -0
- package/.grok/skills/debugging/references/methodology/00-setup.md +108 -0
- package/.grok/skills/debugging/references/methodology/02-investigate.md +126 -0
- package/.grok/skills/debugging/references/methodology/04-oracle-triple.md +106 -0
- package/.grok/skills/debugging/references/methodology/05-escalate.md +69 -0
- package/.grok/skills/debugging/references/methodology/06-fix.md +116 -0
- package/.grok/skills/debugging/references/methodology/08-qa.md +94 -0
- package/.grok/skills/debugging/references/methodology/09-cleanup.md +164 -0
- package/.grok/skills/debugging/references/methodology/partial-runtime-evidence.md +228 -0
- package/.grok/skills/debugging/references/post-tool-use-failure-taxonomy.md +55 -0
- package/.grok/skills/debugging/references/reproduction-recipes.md +182 -0
- package/.grok/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
- package/.grok/skills/debugging/references/runtimes/go.md +252 -0
- package/.grok/skills/debugging/references/runtimes/native-binary.md +484 -0
- package/.grok/skills/debugging/references/runtimes/node.md +260 -0
- package/.grok/skills/debugging/references/runtimes/python.md +248 -0
- package/.grok/skills/debugging/references/runtimes/rust.md +234 -0
- package/.grok/skills/debugging/references/tools/ghidra.md +212 -0
- package/.grok/skills/debugging/references/tools/playwright-cli.md +194 -0
- package/.grok/skills/debugging/references/tools/pwndbg.md +263 -0
- package/.grok/skills/debugging/references/tools/pwntools.md +265 -0
- package/.grok/skills/deep-interview/SKILL.md +216 -0
- package/.grok/skills/frontend-ui-ux/LICENSE +21 -0
- package/.grok/skills/frontend-ui-ux/PROVENANCE.json +38 -0
- package/.grok/skills/frontend-ui-ux/SKILL.md +58 -0
- package/.grok/skills/frontend-ui-ux/SOURCE-MANIFEST.json +1060 -0
- package/.grok/skills/frontend-ui-ux/THIRD-PARTY-NOTICE.txt +14 -0
- package/.grok/skills/frontend-ui-ux/data/design-intelligence.json +1 -0
- package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/legal/frontend-ATTRIBUTION.md +217 -0
- package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/legal/frontend-LICENSE-Apache-2.0.txt +201 -0
- package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/legal/root-LICENSE +21 -0
- package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/manifest.json +873 -0
- package/.grok/skills/frontend-ui-ux/references/adaptive-layout.md +92 -0
- package/.grok/skills/frontend-ui-ux/references/brand-and-imagery.md +93 -0
- package/.grok/skills/frontend-ui-ux/references/complete-contract.md +557 -0
- package/.grok/skills/frontend-ui-ux/references/composition.md +85 -0
- package/.grok/skills/frontend-ui-ux/references/creative-directions.md +80 -0
- package/.grok/skills/frontend-ui-ux/references/design/README.md +248 -0
- package/.grok/skills/frontend-ui-ux/references/design/_INDEX.md +191 -0
- package/.grok/skills/frontend-ui-ux/references/design/airbnb.md +393 -0
- package/.grok/skills/frontend-ui-ux/references/design/airtable.md +92 -0
- package/.grok/skills/frontend-ui-ux/references/design/apple.md +250 -0
- package/.grok/skills/frontend-ui-ux/references/design/aside.md +209 -0
- package/.grok/skills/frontend-ui-ux/references/design/binance.md +348 -0
- package/.grok/skills/frontend-ui-ux/references/design/bmw.md +183 -0
- package/.grok/skills/frontend-ui-ux/references/design/brutalist-skill.md +92 -0
- package/.grok/skills/frontend-ui-ux/references/design/bugatti.md +271 -0
- package/.grok/skills/frontend-ui-ux/references/design/cal.md +262 -0
- package/.grok/skills/frontend-ui-ux/references/design/claude.md +315 -0
- package/.grok/skills/frontend-ui-ux/references/design/clay.md +307 -0
- package/.grok/skills/frontend-ui-ux/references/design/clickhouse.md +284 -0
- package/.grok/skills/frontend-ui-ux/references/design/clone-from-url.md +65 -0
- package/.grok/skills/frontend-ui-ux/references/design/cohere.md +269 -0
- package/.grok/skills/frontend-ui-ux/references/design/coinbase.md +132 -0
- package/.grok/skills/frontend-ui-ux/references/design/composio.md +310 -0
- package/.grok/skills/frontend-ui-ux/references/design/cursor.md +312 -0
- package/.grok/skills/frontend-ui-ux/references/design/design-system-architecture.md +244 -0
- package/.grok/skills/frontend-ui-ux/references/design/elevenlabs.md +268 -0
- package/.grok/skills/frontend-ui-ux/references/design/expo.md +284 -0
- package/.grok/skills/frontend-ui-ux/references/design/ferrari.md +317 -0
- package/.grok/skills/frontend-ui-ux/references/design/figma.md +223 -0
- package/.grok/skills/frontend-ui-ux/references/design/framer.md +249 -0
- package/.grok/skills/frontend-ui-ux/references/design/gpt-tasteskill.md +74 -0
- package/.grok/skills/frontend-ui-ux/references/design/hashicorp.md +281 -0
- package/.grok/skills/frontend-ui-ux/references/design/ibm.md +335 -0
- package/.grok/skills/frontend-ui-ux/references/design/image-to-code-skill.md +1228 -0
- package/.grok/skills/frontend-ui-ux/references/design/imagegen-brandkit.md +798 -0
- package/.grok/skills/frontend-ui-ux/references/design/imagegen-frontend-mobile.md +1465 -0
- package/.grok/skills/frontend-ui-ux/references/design/imagegen-frontend-web.md +987 -0
- package/.grok/skills/frontend-ui-ux/references/design/intercom.md +149 -0
- package/.grok/skills/frontend-ui-ux/references/design/kraken.md +128 -0
- package/.grok/skills/frontend-ui-ux/references/design/lamborghini.md +291 -0
- package/.grok/skills/frontend-ui-ux/references/design/layout-skill.md +107 -0
- package/.grok/skills/frontend-ui-ux/references/design/lazyweb.md +77 -0
- package/.grok/skills/frontend-ui-ux/references/design/linear.app.md +370 -0
- package/.grok/skills/frontend-ui-ux/references/design/lovable.md +301 -0
- package/.grok/skills/frontend-ui-ux/references/design/mastercard.md +368 -0
- package/.grok/skills/frontend-ui-ux/references/design/meta.md +369 -0
- package/.grok/skills/frontend-ui-ux/references/design/minimalist-skill.md +85 -0
- package/.grok/skills/frontend-ui-ux/references/design/minimax.md +260 -0
- package/.grok/skills/frontend-ui-ux/references/design/mintlify.md +329 -0
- package/.grok/skills/frontend-ui-ux/references/design/miro.md +111 -0
- package/.grok/skills/frontend-ui-ux/references/design/mistral.ai.md +264 -0
- package/.grok/skills/frontend-ui-ux/references/design/mongodb.md +269 -0
- package/.grok/skills/frontend-ui-ux/references/design/nike.md +366 -0
- package/.grok/skills/frontend-ui-ux/references/design/notion.md +312 -0
- package/.grok/skills/frontend-ui-ux/references/design/nvidia.md +296 -0
- package/.grok/skills/frontend-ui-ux/references/design/ollama.md +270 -0
- package/.grok/skills/frontend-ui-ux/references/design/opencode.ai.md +284 -0
- package/.grok/skills/frontend-ui-ux/references/design/output-skill.md +49 -0
- package/.grok/skills/frontend-ui-ux/references/design/pinterest.md +233 -0
- package/.grok/skills/frontend-ui-ux/references/design/playstation.md +367 -0
- package/.grok/skills/frontend-ui-ux/references/design/posthog.md +259 -0
- package/.grok/skills/frontend-ui-ux/references/design/raycast.md +271 -0
- package/.grok/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md +230 -0
- package/.grok/skills/frontend-ui-ux/references/design/redesign-skill.md +178 -0
- package/.grok/skills/frontend-ui-ux/references/design/renault.md +314 -0
- package/.grok/skills/frontend-ui-ux/references/design/replicate.md +264 -0
- package/.grok/skills/frontend-ui-ux/references/design/resend.md +306 -0
- package/.grok/skills/frontend-ui-ux/references/design/revolut.md +188 -0
- package/.grok/skills/frontend-ui-ux/references/design/runwayml.md +247 -0
- package/.grok/skills/frontend-ui-ux/references/design/sanity.md +360 -0
- package/.grok/skills/frontend-ui-ux/references/design/sentry.md +265 -0
- package/.grok/skills/frontend-ui-ux/references/design/shopify.md +353 -0
- package/.grok/skills/frontend-ui-ux/references/design/soft-skill.md +98 -0
- package/.grok/skills/frontend-ui-ux/references/design/spacex.md +197 -0
- package/.grok/skills/frontend-ui-ux/references/design/spotify.md +249 -0
- package/.grok/skills/frontend-ui-ux/references/design/starbucks.md +583 -0
- package/.grok/skills/frontend-ui-ux/references/design/stitch-design-example.md +121 -0
- package/.grok/skills/frontend-ui-ux/references/design/stitch-skill.md +184 -0
- package/.grok/skills/frontend-ui-ux/references/design/stripe.md +325 -0
- package/.grok/skills/frontend-ui-ux/references/design/supabase.md +258 -0
- package/.grok/skills/frontend-ui-ux/references/design/superhuman.md +255 -0
- package/.grok/skills/frontend-ui-ux/references/design/taste-skill.md +1206 -0
- package/.grok/skills/frontend-ui-ux/references/design/tesla.md +289 -0
- package/.grok/skills/frontend-ui-ux/references/design/theverge.md +342 -0
- package/.grok/skills/frontend-ui-ux/references/design/together.ai.md +266 -0
- package/.grok/skills/frontend-ui-ux/references/design/uber.md +298 -0
- package/.grok/skills/frontend-ui-ux/references/design/vercel.md +313 -0
- package/.grok/skills/frontend-ui-ux/references/design/vodafone.md +426 -0
- package/.grok/skills/frontend-ui-ux/references/design/voltagent.md +326 -0
- package/.grok/skills/frontend-ui-ux/references/design/warp.md +256 -0
- package/.grok/skills/frontend-ui-ux/references/design/webflow.md +95 -0
- package/.grok/skills/frontend-ui-ux/references/design/wired.md +281 -0
- package/.grok/skills/frontend-ui-ux/references/design/wise.md +176 -0
- package/.grok/skills/frontend-ui-ux/references/design/x.ai.md +260 -0
- package/.grok/skills/frontend-ui-ux/references/design/zapier.md +331 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/EVIDENCE.md +97 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/README.md +48 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/UPSTREAM.md +80 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/lane-a-direction.md +64 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/lane-b-execution.md +65 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/lane-c-review.md +65 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/lane-d-memory.md +83 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/orchestration.md +80 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/routing.md +79 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/LICENSE +21 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/content-writer.md +132 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-builder.md +109 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-critic.md +89 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-lead.md +113 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-scout.md +78 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-strategist.md +121 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/motion-designer.md +120 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/accessible-content/reference.md +101 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/adaptive-interfaces/reference.md +109 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/cognitive-accessibility/reference.md +107 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debate/reference.md +199 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debt-tracker/reference.md +174 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-handoff/reference.md +125 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-md/reference.md +106 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-retrospective/reference.md +266 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-review/reference.md +123 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-system-alignment/reference.md +120 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/designpowers-critique/reference.md +164 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/heuristic-evaluation/reference.md +85 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/inclusive-personas/reference.md +98 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/inspiration-scouting/reference.md +165 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/interaction-design/reference.md +122 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/motion-choreography/reference.md +81 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/research-planning/reference.md +96 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/responsive-patterns/reference.md +77 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/synthetic-user-testing/reference.md +192 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-feedback/reference.md +165 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-report/reference.md +78 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/token-architecture/reference.md +75 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/ui-composition/reference.md +117 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/usability-testing/reference.md +78 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/verification-before-shipping/reference.md +125 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/voice-and-tone/reference.md +79 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/writing-design-plans/reference.md +119 -0
- package/.grok/skills/frontend-ui-ux/references/evidence-review.md +126 -0
- package/.grok/skills/frontend-ui-ux/references/implementation-platforms.md +109 -0
- package/.grok/skills/frontend-ui-ux/references/inclusive-interface.md +92 -0
- package/.grok/skills/frontend-ui-ux/references/interaction-motion.md +101 -0
- package/.grok/skills/frontend-ui-ux/references/operating-lanes.md +92 -0
- package/.grok/skills/frontend-ui-ux/references/perfection/README.md +160 -0
- package/.grok/skills/frontend-ui-ux/references/perfection/react-perf-tooling.md +127 -0
- package/.grok/skills/frontend-ui-ux/references/performance-delivery.md +93 -0
- package/.grok/skills/frontend-ui-ux/references/product-direction.md +84 -0
- package/.grok/skills/frontend-ui-ux/references/redesign-playbook.md +97 -0
- package/.grok/skills/frontend-ui-ux/references/system-foundations.md +84 -0
- package/.grok/skills/frontend-ui-ux/references/taste-direction.md +86 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/README.md +659 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/charts.csv +26 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/colors.csv +162 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/icons.csv +106 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/landing.csv +35 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/products.csv +162 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/react-performance.csv +45 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/astro.csv +54 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/flutter.csv +53 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nextjs.csv +53 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react-native.csv +52 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react.csv +54 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/shadcn.csv +61 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/svelte.csv +54 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/swiftui.csv +51 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/vue.csv +50 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/styles.csv +85 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/typography.csv +74 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/ui-reasoning.csv +162 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/ux-guidelines.csv +100 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/web-interface.csv +31 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/scripts/core.py +262 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/scripts/design_system.py +1148 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/scripts/search.py +114 -0
- package/.grok/skills/frontend-ui-ux/references/visual-language.md +84 -0
- package/.grok/skills/frontend-ui-ux/references/visual-reconstruction.md +97 -0
- package/.grok/skills/frontend-ui-ux/schemas/design-contract-v1alpha1.schema.json +306 -0
- package/.grok/skills/frontend-ui-ux/schemas/design-contract-v1beta1.schema.json +291 -0
- package/.grok/skills/frontend-ui-ux/schemas/design-contract-v1beta2.schema.json +311 -0
- package/.grok/skills/frontend-ui-ux/scripts/design-contract-format.mjs +286 -0
- package/.grok/skills/frontend-ui-ux/scripts/design-contract-inventory-rules.mjs +354 -0
- package/.grok/skills/frontend-ui-ux/scripts/design-contract-rules.mjs +361 -0
- package/.grok/skills/frontend-ui-ux/scripts/design-contract-surface-rules.mjs +313 -0
- package/.grok/skills/frontend-ui-ux/scripts/design-data.mjs +68 -0
- package/.grok/skills/frontend-ui-ux/scripts/errors.mjs +12 -0
- package/.grok/skills/frontend-ui-ux/scripts/import-design-intelligence.mjs +124 -0
- package/.grok/skills/frontend-ui-ux/scripts/json-boundary.mjs +63 -0
- package/.grok/skills/frontend-ui-ux/scripts/query-design-intelligence.mjs +106 -0
- package/.grok/skills/frontend-ui-ux/scripts/search.mjs +43 -0
- package/.grok/skills/frontend-ui-ux/scripts/source-replay.mjs +153 -0
- package/.grok/skills/frontend-ui-ux/scripts/strict-json.mjs +143 -0
- package/.grok/skills/frontend-ui-ux/scripts/validate-design-contract.mjs +52 -0
- package/.grok/skills/frontend-ui-ux/scripts/verify-canonical-corpus.mjs +214 -0
- package/.grok/skills/lit-burnoff/SKILL.md +175 -0
- package/.grok/skills/lit-burnoff-file/SKILL.md +67 -0
- package/.grok/skills/lit-code/SKILL.md +531 -0
- package/.grok/skills/lit-code/references/go/README.md +90 -0
- package/.grok/skills/lit-code/references/go/backend-stack.md +641 -0
- package/.grok/skills/lit-code/references/go/bootstrap.md +328 -0
- package/.grok/skills/lit-code/references/go/bubbletea-v2.md +360 -0
- package/.grok/skills/lit-code/references/go/cobra-stack.md +468 -0
- package/.grok/skills/lit-code/references/go/concurrency.md +362 -0
- package/.grok/skills/lit-code/references/go/data-modeling.md +329 -0
- package/.grok/skills/lit-code/references/go/error-handling.md +359 -0
- package/.grok/skills/lit-code/references/go/golangci-strict.md +236 -0
- package/.grok/skills/lit-code/references/go/grpc-connect.md +375 -0
- package/.grok/skills/lit-code/references/go/libraries.md +337 -0
- package/.grok/skills/lit-code/references/go/one-liners.md +202 -0
- package/.grok/skills/lit-code/references/go/sqlc-pgx.md +471 -0
- package/.grok/skills/lit-code/references/go/testing.md +467 -0
- package/.grok/skills/lit-code/references/go/type-patterns.md +298 -0
- package/.grok/skills/lit-code/references/permission-sandbox-matrix.md +70 -0
- package/.grok/skills/lit-code/references/python/README.md +314 -0
- package/.grok/skills/lit-code/references/python/async-anyio.md +442 -0
- package/.grok/skills/lit-code/references/python/data-modeling.md +233 -0
- package/.grok/skills/lit-code/references/python/data-processing.md +133 -0
- package/.grok/skills/lit-code/references/python/error-handling.md +218 -0
- package/.grok/skills/lit-code/references/python/fastapi-stack.md +316 -0
- package/.grok/skills/lit-code/references/python/httpx2-optimization.md +360 -0
- package/.grok/skills/lit-code/references/python/libraries.md +307 -0
- package/.grok/skills/lit-code/references/python/one-liners.md +268 -0
- package/.grok/skills/lit-code/references/python/orjson-stack.md +378 -0
- package/.grok/skills/lit-code/references/python/pydantic-ai.md +285 -0
- package/.grok/skills/lit-code/references/python/pyproject-strict.md +232 -0
- package/.grok/skills/lit-code/references/python/textual-tui.md +201 -0
- package/.grok/skills/lit-code/references/python/type-patterns.md +176 -0
- package/.grok/skills/lit-code/references/rust/README.md +317 -0
- package/.grok/skills/lit-code/references/rust/async-tokio.md +299 -0
- package/.grok/skills/lit-code/references/rust/axum-stack.md +467 -0
- package/.grok/skills/lit-code/references/rust/cargo-strict.md +317 -0
- package/.grok/skills/lit-code/references/rust/clap-stack.md +409 -0
- package/.grok/skills/lit-code/references/rust/concurrency.md +375 -0
- package/.grok/skills/lit-code/references/rust/libraries.md +439 -0
- package/.grok/skills/lit-code/references/rust/one-liners.md +291 -0
- package/.grok/skills/lit-code/references/rust/proptest-insta.md +429 -0
- package/.grok/skills/lit-code/references/rust/type-state.md +354 -0
- package/.grok/skills/lit-code/references/rust/unsafe-discipline.md +250 -0
- package/.grok/skills/lit-code/references/rust/zero-cost-safety.md +527 -0
- package/.grok/skills/lit-code/references/rust-ub/README.md +289 -0
- package/.grok/skills/lit-code/references/rust-ub/miri-sanitizers-loom.md +411 -0
- package/.grok/skills/lit-code/references/rust-ub/ub-taxonomy.md +269 -0
- package/.grok/skills/lit-code/references/tool-boundaries.md +66 -0
- package/.grok/skills/lit-code/references/typescript/README.md +195 -0
- package/.grok/skills/lit-code/references/typescript/backend-hono.md +672 -0
- package/.grok/skills/lit-code/references/typescript/bootstrap.md +199 -0
- package/.grok/skills/lit-code/references/typescript/data-modeling.md +202 -0
- package/.grok/skills/lit-code/references/typescript/error-handling.md +169 -0
- package/.grok/skills/lit-code/references/typescript/tsconfig-strict.md +152 -0
- package/.grok/skills/lit-code/references/typescript/type-patterns.md +196 -0
- package/.grok/skills/lit-code/references/worked-cases.md +190 -0
- package/.grok/skills/lit-commit/SKILL.md +218 -0
- package/.grok/skills/lit-comprehend/SKILL.md +63 -0
- package/.grok/skills/lit-comprehend/references/artifact-format.md +58 -0
- package/.grok/skills/lit-comprehend/references/artifact-template.md +219 -0
- package/.grok/skills/lit-comprehend/references/honesty-ledger-contract.md +51 -0
- package/.grok/skills/lit-comprehend/references/micro-worlds.md +195 -0
- package/.grok/skills/lit-comprehend/references/worked-explainer.md +51 -0
- package/.grok/skills/lit-crucible/SKILL.md +231 -0
- package/.grok/skills/lit-handoff/SKILL.md +159 -0
- package/.grok/skills/lit-handoff/evals/evals.json +154 -0
- package/.grok/skills/lit-handoff/examples/HANDOFF-example-generic-auth-refactor.md +97 -0
- package/.grok/skills/lit-handoff/references/_canonical-corpus/manifest.json +17 -0
- package/.grok/skills/lit-handoff/references/source-pointer.md +31 -0
- package/.grok/skills/lit-handoff/scripts/verify-canonical-corpus.mjs +137 -0
- package/.grok/skills/lit-handoff/templates/HANDOFF.md +121 -0
- package/.grok/skills/lit-init/SKILL.md +244 -0
- package/.grok/skills/lit-korean/SKILL.md +176 -0
- package/.grok/skills/lit-plan/SKILL.md +71 -0
- package/.grok/skills/lit-plan/references/plan-schema.md +87 -0
- package/.grok/skills/lit-plan/references/start-work-handoff-contract.md +59 -0
- package/.grok/skills/lit-plan/scripts/scaffold-plan.mjs +259 -0
- package/.grok/skills/lit-plan/scripts/validate-plan.mjs +89 -0
- package/.grok/skills/lit-recap/SKILL.md +57 -0
- package/.grok/skills/lit-scientific-visualization/SKILL.md +213 -0
- package/.grok/skills/lit-scientific-visualization/scripts/verify-canonical-corpus.mjs +181 -0
- package/.grok/skills/lit-team/SKILL.md +73 -0
- package/.grok/skills/lit-team/references/explore-packet.md +70 -0
- package/.grok/skills/lit-team/references/general-purpose-packet.md +75 -0
- package/.grok/skills/lit-team/references/plan-packet.md +73 -0
- package/.grok/skills/litgoal/SKILL.md +98 -0
- package/.grok/skills/litgrok/SKILL.md +77 -0
- package/.grok/skills/litresearch/SKILL.md +60 -0
- package/.grok/skills/litresearch/references/mcp-tool-use-patterns.md +83 -0
- package/.grok/skills/litresearch/references/source-verdict-taxonomy.md +40 -0
- package/.grok/skills/litwork/SKILL.md +109 -0
- package/.grok/skills/lsp/SKILL.md +56 -0
- package/.grok/skills/lsp/references/built-in-lsp-contract.md +71 -0
- package/.grok/skills/lsp-setup/SKILL.md +82 -0
- package/.grok/skills/lsp-setup/references/bash/README.md +54 -0
- package/.grok/skills/lsp-setup/references/c-cpp/README.md +58 -0
- package/.grok/skills/lsp-setup/references/csharp/README.md +64 -0
- package/.grok/skills/lsp-setup/references/dart/README.md +48 -0
- package/.grok/skills/lsp-setup/references/elixir/README.md +51 -0
- package/.grok/skills/lsp-setup/references/go/README.md +53 -0
- package/.grok/skills/lsp-setup/references/haskell/README.md +57 -0
- package/.grok/skills/lsp-setup/references/java/README.md +55 -0
- package/.grok/skills/lsp-setup/references/julia/README.md +56 -0
- package/.grok/skills/lsp-setup/references/kotlin/README.md +58 -0
- package/.grok/skills/lsp-setup/references/lua/README.md +48 -0
- package/.grok/skills/lsp-setup/references/php/README.md +49 -0
- package/.grok/skills/lsp-setup/references/python/README.md +60 -0
- package/.grok/skills/lsp-setup/references/ruby/README.md +53 -0
- package/.grok/skills/lsp-setup/references/rust/README.md +55 -0
- package/.grok/skills/lsp-setup/references/swift/README.md +52 -0
- package/.grok/skills/lsp-setup/references/terraform/README.md +50 -0
- package/.grok/skills/lsp-setup/references/typescript/README.md +63 -0
- package/.grok/skills/lsp-setup/references/yaml/README.md +47 -0
- package/.grok/skills/lsp-setup/references/zig/README.md +49 -0
- package/.grok/skills/lsp-setup/scripts/detect-lsp.mjs +40 -0
- package/.grok/skills/lsp-setup/scripts/lsp-server-table.mjs +309 -0
- package/.grok/skills/lsp-setup/scripts/verify-lsp.mjs +54 -0
- package/.grok/skills/refactor/SKILL.md +210 -0
- package/.grok/skills/review-work/SKILL.md +515 -0
- package/.grok/skills/review-work/references/behavior-lane-contract.md +48 -0
- package/.grok/skills/review-work/references/documentation-lane-contract.md +49 -0
- package/.grok/skills/review-work/references/integration-lane-contract.md +51 -0
- package/.grok/skills/review-work/references/regression-lane-contract.md +48 -0
- package/.grok/skills/review-work/references/safety-lane-contract.md +48 -0
- package/.grok/skills/review-work/references/test-lane-contract.md +48 -0
- package/.grok/skills/review-work/scripts/check-lanes.mjs +63 -0
- package/.grok/skills/rules/SKILL.md +51 -0
- package/.grok/skills/rules/references/loading-order-contract.md +66 -0
- package/.grok/skills/rules/scripts/resolve-guidance.mjs +180 -0
- package/.grok/skills/skill-observer/SKILL.md +78 -0
- package/.grok/skills/skill-observer/references/review-contract.md +77 -0
- package/.grok/skills/skill-observer/scripts/curator.mjs +121 -0
- package/.grok/skills/skill-observer/scripts/review.mjs +347 -0
- package/.grok/skills/skill-observer/scripts/skill-loop.mjs +2087 -0
- package/.grok/skills/skill-observer/scripts/validate-skills.mjs +83 -0
- package/.grok/skills/start-work/SKILL.md +396 -0
- package/.grok/skills/structural-search/SKILL.md +195 -0
- package/.grok/skills/visual-qa/SKILL.md +50 -0
- package/.grok/skills/visual-qa/references/capture-playbook.md +47 -0
- package/.grok/skills/visual-qa/references/complete-contract.md +721 -0
- package/.grok/skills/visual-qa/references/verdict-taxonomy.md +34 -0
- package/.grok/skills/visual-qa/scripts/verify-evidence-manifest.mjs +91 -0
- package/.grok/skills/wikify/SKILL.md +65 -0
- package/.grok/skills/wikify/references/page-format.md +81 -0
- package/.grok/skills/wikify/references/provenance-contract.md +52 -0
- package/.grok/vendor/NOTICE.md +16 -0
- package/.grok/vendor/licenses/045_scientific-visualization-MIT.txt +21 -0
- package/.grok/vendor/provenance/045_scientific-visualization.md +37 -0
- package/.grok/vendor/scientific-visualization/assets/color_palettes.py +197 -0
- package/.grok/vendor/scientific-visualization/assets/nature.mplstyle +75 -0
- package/.grok/vendor/scientific-visualization/assets/presentation.mplstyle +74 -0
- package/.grok/vendor/scientific-visualization/assets/publication.mplstyle +78 -0
- package/.grok/vendor/scientific-visualization/evals/evals.json +158 -0
- package/.grok/vendor/scientific-visualization/references/_canonical-corpus/manifest.json +38 -0
- package/.grok/vendor/scientific-visualization/references/color_palettes.md +380 -0
- package/.grok/vendor/scientific-visualization/references/journal_requirements.md +359 -0
- package/.grok/vendor/scientific-visualization/references/matplotlib_examples.md +608 -0
- package/.grok/vendor/scientific-visualization/references/mdanalysis_martini_visualization.md +85 -0
- package/.grok/vendor/scientific-visualization/references/publication_guidelines.md +217 -0
- package/.grok/vendor/scientific-visualization/references/seaborn_for_publications.md +293 -0
- package/.grok/vendor/scientific-visualization/scripts/figure_export.py +238 -0
- package/.grok/vendor/scientific-visualization/scripts/style_presets.py +467 -0
- package/.grok/vendor/scientific-visualization/tests/test_figure_export.py +51 -0
- package/.grok/vendor/scientific-visualization/tests/test_style_presets.py +114 -0
- package/CHANGELOG.md +131 -0
- package/CODE_OF_CONDUCT.md +9 -0
- package/CONTRIBUTING.md +22 -0
- package/LICENSE +21 -0
- package/README.md +228 -0
- package/README_ko-KR.md +228 -0
- package/SECURITY.md +11 -0
- package/SUPPORT.md +9 -0
- package/bin/litgrok.mjs +860 -0
- package/docs/assets/cover.webp +0 -0
- package/docs/assets/litgrok-clay-icon.png +0 -0
- package/docs/assets/litgrok-continuity-1600.webp +0 -0
- package/docs/assets/litgrok-ignition-1600.webp +0 -0
- package/docs/assets/litgrok-wordmark.svg +5 -0
- package/docs/assets/readme/README.md +31 -0
- package/docs/assets/readme/badge-license.svg +1 -0
- package/docs/assets/readme/badge-version.svg +1 -0
- package/docs/privacy.md +13 -0
- package/docs/reference.md +271 -0
- package/docs/reference_ko-KR.md +267 -0
- package/package.json +50 -0
- package/plugin.json +27 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Performance is an inventory item with a number attached. Declare it in the Design Contract
|
|
2
|
+
`performance` group before layout work starts; a budget with no measurement profile is not one.
|
|
3
|
+
|
|
4
|
+
## Measurement environment
|
|
5
|
+
|
|
6
|
+
Fix one profile and reuse it. Numbers from two profiles cannot be compared.
|
|
7
|
+
|
|
8
|
+
- CPU throttled 4x; network 1.6 Mbps down, 750 kbps up, 150 ms round trip.
|
|
9
|
+
- Cold cache, cleared storage, no extensions, declared locale.
|
|
10
|
+
- Median of five runs at `compact` 360x800; repeat at `expanded` 1440x900.
|
|
11
|
+
- Record profile, `source_hash`, and route fixture beside every number.
|
|
12
|
+
|
|
13
|
+
## Declared budgets
|
|
14
|
+
|
|
15
|
+
Write each as a number the contract can carry. Tighten per project; never loosen silently.
|
|
16
|
+
|
|
17
|
+
- LCP 2.5 s, FCP 1.8 s, INP 200 ms, CLS 0.10, each at p75 on the profile above.
|
|
18
|
+
- Initial route JavaScript 170 KB compressed; total critical-path transfer 500 KB.
|
|
19
|
+
- Initial CSS 60 KB compressed; webfonts 100 KB across at most two files.
|
|
20
|
+
- Largest above-the-fold image 200 KB; no load-phase task over 200 ms.
|
|
21
|
+
- Local feedback under 100 ms; every remote action acknowledged under 200 ms.
|
|
22
|
+
|
|
23
|
+
A loosened budget is an `accepted_exceptions` entry with a reason, an owner, and an expiry.
|
|
24
|
+
|
|
25
|
+
## Critical-path diagnosis
|
|
26
|
+
|
|
27
|
+
Name what blocks first paint and first input before editing. These causes recur, in rough
|
|
28
|
+
frequency order.
|
|
29
|
+
|
|
30
|
+
1. Render-blocking stylesheet or synchronous script in the document head.
|
|
31
|
+
2. Webfont with no `font-display` and no metric-matched fallback.
|
|
32
|
+
3. Fetch issued on mount, not at route entry, serializing data behind render.
|
|
33
|
+
4. Request chains where each URL comes from the previous response.
|
|
34
|
+
5. Media with no intrinsic size, shifting the fold when it arrives.
|
|
35
|
+
6. Consent, analytics, or chat tags evaluated ahead of product code.
|
|
36
|
+
|
|
37
|
+
## Asset delivery
|
|
38
|
+
|
|
39
|
+
Ship the fewest correct bytes and let the cache keep them.
|
|
40
|
+
|
|
41
|
+
- Encode AVIF with one WebP or JPEG fallback, sized to the rendered box.
|
|
42
|
+
- Set `width` and `height` or `aspect-ratio` on every image and embed.
|
|
43
|
+
- Self-host fonts, subset per script, at most two weights per family.
|
|
44
|
+
|
|
45
|
+
## Script delivery and hydration
|
|
46
|
+
|
|
47
|
+
Hydration cost tracks the node count handed to the client, not compressed bundle size.
|
|
48
|
+
|
|
49
|
+
- Split by route first, then by deferred interaction: dialogs, editors, charts.
|
|
50
|
+
- Keep static regions server-rendered; hydrate interactive islands only.
|
|
51
|
+
- Measure hydration apart from download; a 40 KB tree can cost 300 ms.
|
|
52
|
+
|
|
53
|
+
## Virtualization and its caveats
|
|
54
|
+
|
|
55
|
+
Virtualize only after measuring. Under ~200 rows or 5 ms per update, paginate or apply
|
|
56
|
+
`content-visibility: auto` instead. Accept these costs or do not virtualize:
|
|
57
|
+
|
|
58
|
+
- Find-in-page and screen-reader browse mode see mounted rows only.
|
|
59
|
+
- Deep links to offscreen rows stop resolving without a scroll-to API.
|
|
60
|
+
- Variable heights need a measurement cache, or the scrollbar jumps.
|
|
61
|
+
- Focus dies when the focused row unmounts; restore it by row identity.
|
|
62
|
+
|
|
63
|
+
## Perceived versus measured
|
|
64
|
+
|
|
65
|
+
Record both. Neither substitutes for the other.
|
|
66
|
+
|
|
67
|
+
- Under 200 ms show nothing; to 1 s an inline indicator; past 1 s determinate progress.
|
|
68
|
+
- A skeleton must match the final box, or it trades layout shift for shimmer.
|
|
69
|
+
|
|
70
|
+
## Audit protocol
|
|
71
|
+
|
|
72
|
+
Run in order and end in a verdict.
|
|
73
|
+
|
|
74
|
+
1. Reproduce on the declared profile with a cold cache.
|
|
75
|
+
2. Capture one load trace and one interaction trace; save both paths.
|
|
76
|
+
3. Rank findings by milliseconds against the budget each breaks.
|
|
77
|
+
4. Attribute every finding to exactly one cause from the diagnosis list.
|
|
78
|
+
5. Fix the largest attributed cause and change nothing else.
|
|
79
|
+
6. Re-measure the same traces on the same profile and diff the numbers.
|
|
80
|
+
7. Report `PASS` when every declared budget holds, `FAIL` with the violated number and artifact
|
|
81
|
+
path, or `BLOCKED` with the missing profile or capture capability. Escalate after three
|
|
82
|
+
iterations that cross no budget.
|
|
83
|
+
|
|
84
|
+
## Failure patterns
|
|
85
|
+
|
|
86
|
+
Reject:
|
|
87
|
+
|
|
88
|
+
- A budget written as "fast" or "lightweight" with no number.
|
|
89
|
+
- Optimization argued from source reading with no trace attached.
|
|
90
|
+
- Virtualizing a 40-row table because long lists "should" be virtualized.
|
|
91
|
+
- A perceived-performance win offered as closure on a measured budget.
|
|
92
|
+
- A performance claim entering the independent review pass with no trace bound to the design
|
|
93
|
+
contract hash.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
Run this pass before any grid, token, or component decision. Its output fills the Design Contract `intent` group and seeds `omissions`.
|
|
2
|
+
|
|
3
|
+
## Describe each user by the decision they own
|
|
4
|
+
|
|
5
|
+
Two groups making the same decision are one group. Merge them, or name what separates them.
|
|
6
|
+
|
|
7
|
+
- Operator: the decision they make, return frequency, device class, viewport band, network.
|
|
8
|
+
- Secondary readers: approver, auditor, on-call responder, support agent.
|
|
9
|
+
- Cost of a wrong decision: recoverable in session, expensive to reverse, or permanent.
|
|
10
|
+
- Groups this surface refuses to serve, written into `intent.non_goals`.
|
|
11
|
+
|
|
12
|
+
## Reduce each surface to one completion condition
|
|
13
|
+
|
|
14
|
+
One surface, one task the user must be able to finish. Everything else is subordinate.
|
|
15
|
+
|
|
16
|
+
- Phrase it as verb, object, end state: "cancel the shipment and see the refund posted".
|
|
17
|
+
- Name the two next-most-frequent tasks; push the rest behind disclosure.
|
|
18
|
+
- Require the first viewport to answer: what happened, what matters now, what next.
|
|
19
|
+
|
|
20
|
+
## Convert quality words into measured signals
|
|
21
|
+
|
|
22
|
+
"Fast" and "intuitive" are not acceptance criteria. Each becomes a number you can read.
|
|
23
|
+
|
|
24
|
+
- Completion time at p50 and p90, with the ceiling you will defend.
|
|
25
|
+
- Error rate on the primary form, and the share of errors preserving entered input.
|
|
26
|
+
- Interaction cost on the frequent path, as a keystroke or tap ceiling.
|
|
27
|
+
- Regression consequence: what the product loses when a signal moves the wrong way.
|
|
28
|
+
|
|
29
|
+
## Register what is not yet known
|
|
30
|
+
|
|
31
|
+
Every unknown gets an owner in writing, or it returns later as an invented assumption.
|
|
32
|
+
|
|
33
|
+
- Question phrased so one answer closes it.
|
|
34
|
+
- Blocked decision: which layout, density, or token waits on it.
|
|
35
|
+
- Route: user answer, repository inspection, instrumentation, or a prototype.
|
|
36
|
+
- Working assumption meanwhile, recorded in `intent.constraints`.
|
|
37
|
+
- Revisit date; past it, the gap becomes an `omissions` entry with an owner.
|
|
38
|
+
|
|
39
|
+
## Walk five journeys to the same end state
|
|
40
|
+
|
|
41
|
+
Each journey ends at the completion condition above. One that stops earlier is a defect.
|
|
42
|
+
|
|
43
|
+
- Low vision: 200% zoom and 400% text — what reflows, stays reachable, or clips.
|
|
44
|
+
- Keyboard only: entry point, tab count to the primary action, escape from every container.
|
|
45
|
+
- Screen reader: reading order, programmatic names, the announcement confirming success.
|
|
46
|
+
- Low bandwidth: what paints before data arrives, and what the surface says at 3 s and 10 s.
|
|
47
|
+
- Unfamiliar language: copy at the declared `text_expansion_percent`, mixed-script wrapping, locale dates.
|
|
48
|
+
|
|
49
|
+
## Keep more than one answer alive
|
|
50
|
+
|
|
51
|
+
Hand the next stage a bounded set. One inevitable option is a decision nobody reviewed.
|
|
52
|
+
|
|
53
|
+
- Produce 2-3 directions separated by structure or density, never by accent hue.
|
|
54
|
+
- Give each the task it accelerates, the task it slows, and its migration cost.
|
|
55
|
+
- Mark one recommendation with a one-sentence reason; keep the rejected ones legible.
|
|
56
|
+
|
|
57
|
+
## Halt at named checkpoints
|
|
58
|
+
|
|
59
|
+
A checkpoint is a stop, not a status line. Work resumes only when the answer exists.
|
|
60
|
+
|
|
61
|
+
1. Users, critical task, and success signals accepted — blocks all visual work.
|
|
62
|
+
2. One direction selected from the bounded set — blocks token and layout commitment.
|
|
63
|
+
3. Brand marks, legal copy, and identity approved — report `BLOCKED` until the user answers.
|
|
64
|
+
4. Contract validates and its hash is recorded — blocks the independent review pass.
|
|
65
|
+
|
|
66
|
+
## Hand over the research package
|
|
67
|
+
|
|
68
|
+
The next stage reads this package, not the transcript. What is missing does not exist.
|
|
69
|
+
|
|
70
|
+
- Users with decisions, one critical task per surface, ranked information, non-goals.
|
|
71
|
+
- Signals with thresholds plus the regression consequence.
|
|
72
|
+
- Knowledge-gap register with owners and revisit dates.
|
|
73
|
+
- Five journeys with pass conditions; bounded directions with costs and recommendation.
|
|
74
|
+
- Finite surface list: routes, states, viewport bands, auth requirements.
|
|
75
|
+
- The design contract hash the independent review pass binds its receipt to.
|
|
76
|
+
|
|
77
|
+
## Failure patterns
|
|
78
|
+
|
|
79
|
+
Reject:
|
|
80
|
+
|
|
81
|
+
- A persona described by demographics rather than by a decision.
|
|
82
|
+
- "Improve the experience" accepted as an outcome with no observable task.
|
|
83
|
+
- One direction presented with no alternative and no stated cost.
|
|
84
|
+
- A success claim resting on a single happy-path capture.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
A redesign changes how a product looks, never what a user can finish. Capture the old behavior
|
|
2
|
+
first; after the first edit nobody can tell a regression from an intended change.
|
|
3
|
+
|
|
4
|
+
## Baseline capture
|
|
5
|
+
|
|
6
|
+
Capture before touching a file. No baseline means no parity list and no regression guard.
|
|
7
|
+
|
|
8
|
+
- Pin the pre-change revision; its `source_hash` is the baseline identity.
|
|
9
|
+
- Capture every affected route at `compact` and `expanded`.
|
|
10
|
+
- Capture `loading`, `empty`, `error`, `disabled`, and overflow per route.
|
|
11
|
+
- Record tab order, focus targets, and step count for each critical task.
|
|
12
|
+
|
|
13
|
+
## Debt map
|
|
14
|
+
|
|
15
|
+
Classify debt before proposing a treatment; the category decides how far the fix reaches.
|
|
16
|
+
|
|
17
|
+
1. Structural: buried primary action, wrong heading order, grouping that misleads.
|
|
18
|
+
2. Systemic: duplicated raw values, two spacing scales, forked copies of a component.
|
|
19
|
+
3. Accessibility: missing names, suppressed focus, contrast failures, unreachable controls.
|
|
20
|
+
4. Responsive: overflow, content hidden with no named alternative, targets lost.
|
|
21
|
+
5. Behavioral: no recovery path, destroyed input, missing progress feedback.
|
|
22
|
+
6. Aesthetic: dated treatment with no functional cost.
|
|
23
|
+
|
|
24
|
+
Rank by what a user cannot do. Aesthetic debt alone does not justify opening a surface.
|
|
25
|
+
|
|
26
|
+
## Decision per surface
|
|
27
|
+
|
|
28
|
+
Record exactly one of four decisions per inventory surface, with one line of reasoning.
|
|
29
|
+
|
|
30
|
+
- Preserve: it works, so it stays out of the diff.
|
|
31
|
+
- Change: same structure and behavior, new visual treatment.
|
|
32
|
+
- Replace: new implementation of identical guarantees, migration path named.
|
|
33
|
+
- Remove: deleted, stating where the capability now lives or why it is gone.
|
|
34
|
+
|
|
35
|
+
An undecided surface is out of scope. `Remove` requires explicit user approval.
|
|
36
|
+
|
|
37
|
+
## Staged sequence
|
|
38
|
+
|
|
39
|
+
Order the work so the product ships at the end of every stage.
|
|
40
|
+
|
|
41
|
+
1. Land tokens and primitives with no visual change; prove parity.
|
|
42
|
+
2. Migrate one low-traffic route end to end as the pattern the rest copy.
|
|
43
|
+
3. Migrate remaining routes in traffic order, one route per stage.
|
|
44
|
+
4. Keep behavioral fixes in their own stages, never folded into a visual stage.
|
|
45
|
+
5. Delete the superseded path only after its last consumer moves.
|
|
46
|
+
|
|
47
|
+
A stage that cannot ship alone is too large. Split it.
|
|
48
|
+
|
|
49
|
+
## Parity list
|
|
50
|
+
|
|
51
|
+
These hold at every stage boundary. Check the captured baseline, not memory.
|
|
52
|
+
|
|
53
|
+
- Every task completable at baseline completes in the same or fewer steps.
|
|
54
|
+
- URLs, deep links, and query parameters resolve to the same surfaces.
|
|
55
|
+
- Data meaning, units, precision, sort order, and permissions are unchanged.
|
|
56
|
+
- Keyboard reach, focus order, and accessible names are equal or better.
|
|
57
|
+
- Every baseline state still exists and is still reachable.
|
|
58
|
+
|
|
59
|
+
A surviving break is a defect until an owner accepts it in `accepted_exceptions` with an expiry.
|
|
60
|
+
|
|
61
|
+
## Settling a design debate
|
|
62
|
+
|
|
63
|
+
Time-box the argument and end it in a written decision.
|
|
64
|
+
|
|
65
|
+
1. Restate the disagreement as a question about a user outcome, not taste.
|
|
66
|
+
2. Put at most two options on the table, each with its cost named.
|
|
67
|
+
3. Settle it with the baseline, a measurement, or a rule in the contract.
|
|
68
|
+
4. After two rounds, take the reversible option, log the other as an owned assumption, and
|
|
69
|
+
reopen only on new evidence.
|
|
70
|
+
|
|
71
|
+
## Regression guards
|
|
72
|
+
|
|
73
|
+
Add the guard in the same stage as the change it protects.
|
|
74
|
+
|
|
75
|
+
- Keep existing assertions passing; a rewritten assertion hides the regression.
|
|
76
|
+
- Add one test per behavioral fix that fails against the baseline.
|
|
77
|
+
- Recapture each migrated route at both widths.
|
|
78
|
+
- Re-run the accessibility, build, and lint gates every stage.
|
|
79
|
+
|
|
80
|
+
## Closeout
|
|
81
|
+
|
|
82
|
+
Close only when the record is complete.
|
|
83
|
+
|
|
84
|
+
- Every surface carries one of the four decisions plus matching evidence.
|
|
85
|
+
- The parity list holds, or each break has an owner and an expiry.
|
|
86
|
+
- The final artifact reached the independent review pass bound to the design contract hash.
|
|
87
|
+
- The receipt states `PASS`, `FAIL`, or `BLOCKED` and names unresolved deviations.
|
|
88
|
+
|
|
89
|
+
## Failure patterns
|
|
90
|
+
|
|
91
|
+
Reject:
|
|
92
|
+
|
|
93
|
+
- Editing before the baseline is captured.
|
|
94
|
+
- "Modernize it" accepted as a scope statement.
|
|
95
|
+
- One branch that migrates every route at once.
|
|
96
|
+
- A failing test rewritten to match the new implementation.
|
|
97
|
+
- A redesign called done while one route still renders the superseded system.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
A design system is three token layers, a finite primitive set, and a gate that proves both. Build it in that order; a skipped gate pushes cost into feature work.
|
|
2
|
+
|
|
3
|
+
## Audit before authoring anything
|
|
4
|
+
|
|
5
|
+
Write nothing until the audit shows no existing token or primitive fits.
|
|
6
|
+
|
|
7
|
+
- List tokens, primitives with their variants, and duplicate components.
|
|
8
|
+
- Count raw one-off values per file; that is the migration size.
|
|
9
|
+
- Mark each primitive keep, extend, or replace, with its replacement cost.
|
|
10
|
+
- Every proposed primitive names the existing one it cannot reuse.
|
|
11
|
+
|
|
12
|
+
## Split the three token layers
|
|
13
|
+
|
|
14
|
+
Layers exist so a value change and a meaning change land in different diffs.
|
|
15
|
+
|
|
16
|
+
1. Foundation: raw values with no meaning — `color.slate.700`, `space.16`, `duration.150`.
|
|
17
|
+
2. Semantic roles: meaning per theme — `color.text.muted`, `color.border.strong`, `radius.control`.
|
|
18
|
+
3. Component decisions: `button.primary.bg`, resolving to a semantic role and nothing else.
|
|
19
|
+
|
|
20
|
+
## Keep components behind the semantic layer
|
|
21
|
+
|
|
22
|
+
A component reads layer 3 or 2. One reach into layer 1 breaks every theme at once.
|
|
23
|
+
|
|
24
|
+
- No component references a foundation value, even via an alias chain.
|
|
25
|
+
- No cross-component reads; a button never reads card tokens.
|
|
26
|
+
- Name roles by function, never appearance: `text.muted`, not `text.gray`.
|
|
27
|
+
|
|
28
|
+
## Complete component anatomy before styling
|
|
29
|
+
|
|
30
|
+
Declare the whole component up front. A state found in review is a defect, not feedback.
|
|
31
|
+
|
|
32
|
+
- Purpose, semantic element, and the source of its accessible name.
|
|
33
|
+
- Enumerated variants and sizes; open-ended variant sets are rejected.
|
|
34
|
+
- States: default, hover, active, focus-visible, disabled, selected, loading, error, empty, overflow.
|
|
35
|
+
- Keyboard model, including escape and return-focus behavior.
|
|
36
|
+
- Content limits: min and max characters, wrap or truncate, CJK and RTL.
|
|
37
|
+
- Ownership of validation, async progress, retry, and destructive confirmation.
|
|
38
|
+
|
|
39
|
+
## Pass the primitive showcase gate
|
|
40
|
+
|
|
41
|
+
Build one route rendering every primitive, variant, and state before feature work.
|
|
42
|
+
|
|
43
|
+
- Every state visible without interaction: error, empty, overflow included.
|
|
44
|
+
- Longest real label, a CJK sample, and an expanded string in each text slot.
|
|
45
|
+
- One keyboard pass reaches every control in linear order with a visible focus ring.
|
|
46
|
+
- The gate passes only when no state is missing, raw values are zero, and contrast is measured per theme.
|
|
47
|
+
|
|
48
|
+
## Architect themes, not overrides
|
|
49
|
+
|
|
50
|
+
A theme is a complete semantic role set. Partial overrides are how theming rots.
|
|
51
|
+
|
|
52
|
+
- Define every role in every theme; a missing role fails, it does not fall back.
|
|
53
|
+
- Dark is not inverted lightness: raise surface lightness, weaken shadow, strengthen border.
|
|
54
|
+
- Follow `prefers-color-scheme`; an explicit user choice overrides it.
|
|
55
|
+
- Under `forced-colors: active`, use system keywords and keep borders load-bearing.
|
|
56
|
+
|
|
57
|
+
## Align an existing system in sequence
|
|
58
|
+
|
|
59
|
+
Alignment is ordered. Mixing a reference migration with a value change kills review.
|
|
60
|
+
|
|
61
|
+
1. Stop accepting one-off values; anything new enters as a semantic role.
|
|
62
|
+
2. Map existing raw values to the nearest role; list what has no match.
|
|
63
|
+
3. Introduce roles as aliases of current values, so this step changes nothing.
|
|
64
|
+
4. Confirm parity, then move components onto roles, one primitive at a time.
|
|
65
|
+
5. Change the values last, as one diff a reviewer can read end to end.
|
|
66
|
+
|
|
67
|
+
## Record the system where reviewers read it
|
|
68
|
+
|
|
69
|
+
The system lives in the contract, not in tribal knowledge.
|
|
70
|
+
|
|
71
|
+
- Write tokens, components, and inventory into the contract; keep `omissions` and `accepted_exceptions` filled.
|
|
72
|
+
- Validate from the installed skill root: `node .grok/skills/frontend-ui-ux/scripts/validate-design-contract.mjs <path>`.
|
|
73
|
+
- Record the contract hash so the independent review pass binds its receipt to those bytes.
|
|
74
|
+
- Shipping this package also requires `npm test` and the canonical-corpus verifier.
|
|
75
|
+
|
|
76
|
+
## Governance reject-list
|
|
77
|
+
|
|
78
|
+
Reject:
|
|
79
|
+
|
|
80
|
+
- A component reaching past the semantic layer to a foundation value.
|
|
81
|
+
- A primitive or variant introduced for exactly one screen.
|
|
82
|
+
- A state surfaced by review rather than declared in the anatomy.
|
|
83
|
+
- A dark theme assembled from per-component overrides.
|
|
84
|
+
- A value change bundled into the same diff as a reference migration.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Taste direction
|
|
2
|
+
|
|
3
|
+
Inert reference data. Load it when a Design Contract needs a defensible visual direction, not on
|
|
4
|
+
every interface question.
|
|
5
|
+
|
|
6
|
+
Generic output is not a matter of preference. It is a describable defect with named causes, and it
|
|
7
|
+
is what an interface looks like when nobody decided anything. This reference turns "make it feel
|
|
8
|
+
better" into three numbers a reviewer can argue with, and into checks that run before the first
|
|
9
|
+
element is written.
|
|
10
|
+
|
|
11
|
+
## The three dials
|
|
12
|
+
|
|
13
|
+
The contract carries them as the optional `taste` object in
|
|
14
|
+
`litfamily.design-contract/v1beta2`. Each is an integer from 1 through 10. Declaring `taste` means
|
|
15
|
+
declaring all three; omitting the object leaves the harness default in force.
|
|
16
|
+
|
|
17
|
+
| Dial | 1 means | 10 means | Decided by |
|
|
18
|
+
| --- | --- | --- | --- |
|
|
19
|
+
| `variance` | The most conventional arrangement a user could predict | A composition that departs from the expected grid where the departure carries meaning | How much novelty the audience will tolerate before the surface feels unfamiliar |
|
|
20
|
+
| `motion` | Movement only where it prevents a jump or explains a change | Movement is a primary carrier of meaning and sequence | What the interface must communicate that stillness cannot |
|
|
21
|
+
| `density` | One idea at a time, generous rest | Many related facts readable at a glance | Whether the user scans or dwells |
|
|
22
|
+
|
|
23
|
+
Pick each from the audience and the task, never from fashion. A dial you cannot justify in one
|
|
24
|
+
sentence is a dial you have not chosen.
|
|
25
|
+
|
|
26
|
+
### `motion` versus `motion.policy`
|
|
27
|
+
|
|
28
|
+
They answer different questions and both must agree. `motion.policy` decides whether animation is
|
|
29
|
+
permitted at all: `none`, `functional`, or `expressive`. The `motion` dial decides how much
|
|
30
|
+
meaning animation carries once permitted. A contract with `motion.policy: "none"` and a `motion`
|
|
31
|
+
dial above 1 is contradictory: it forbids transitions and then leans on them. Set the policy first,
|
|
32
|
+
then the dial within it.
|
|
33
|
+
|
|
34
|
+
## The failure modes these dials target
|
|
35
|
+
|
|
36
|
+
Each is a defect you can point at in a review, not a vague complaint.
|
|
37
|
+
|
|
38
|
+
- **Undecided hierarchy.** Every element competes because nothing was ranked. Usually a `density`
|
|
39
|
+
chosen by accident rather than from the task.
|
|
40
|
+
- **Default-everything.** Stock radii, stock shadows, stock spacing scale, stock type ramp, applied
|
|
41
|
+
because they were there. A `variance` of 1 that was never actually selected.
|
|
42
|
+
- **Uniform rhythm.** Identical spacing between unrelated things, so grouping carries no
|
|
43
|
+
information. Density without hierarchy.
|
|
44
|
+
- **Decorative motion.** Movement that neither prevents a jump nor explains a change, and that
|
|
45
|
+
reduced-motion users lose nothing by missing. A `motion` dial above what the interface needs.
|
|
46
|
+
- **Single-viewport thinking.** A composition that only resolves at one width, which the contract's
|
|
47
|
+
`responsive_transformations` then cannot describe honestly.
|
|
48
|
+
- **Borrowed voice.** Copy and imagery from a reference product whose audience is not this one.
|
|
49
|
+
|
|
50
|
+
## Pre-flight, before writing any interface code
|
|
51
|
+
|
|
52
|
+
Run this against the frozen contract. Each answer is one sentence; a blank answer is the finding.
|
|
53
|
+
|
|
54
|
+
1. What is the one thing a user must understand within seconds of arrival, and which element
|
|
55
|
+
carries it?
|
|
56
|
+
2. What is deliberately quieter so that element can be loudest?
|
|
57
|
+
3. Which grouping is expressed by spacing alone, and would it survive a 200 percent zoom?
|
|
58
|
+
4. Which transition would a reduced-motion user lose, and what replaces it for them?
|
|
59
|
+
5. Which token is being extended or created rather than reused, and why was reuse insufficient?
|
|
60
|
+
6. Which of the three dials would a reviewer most likely dispute, and what is the argument for it?
|
|
61
|
+
|
|
62
|
+
If question 6 has no answer, the direction was inherited rather than chosen.
|
|
63
|
+
|
|
64
|
+
## Redesign audit, for a surface that already exists
|
|
65
|
+
|
|
66
|
+
Use this in the `redesign` and `brownfield` lanes. Audit before proposing, so the proposal has
|
|
67
|
+
something to be measured against.
|
|
68
|
+
|
|
69
|
+
1. Inventory what is already there against `inventory`: routes, regions, components, states. Name
|
|
70
|
+
what exists but is undocumented.
|
|
71
|
+
2. Record the current dials as observed, not as desired. An existing surface already sits somewhere
|
|
72
|
+
on all three, whether or not anyone chose it.
|
|
73
|
+
3. Name the single largest gap between observed and intended dials, and change only that first.
|
|
74
|
+
Moving all three at once makes the result unattributable.
|
|
75
|
+
4. List what must be preserved: behavior users depend on, keyboard paths, and any token another
|
|
76
|
+
surface consumes. This becomes `non_goals` and the preserved-behavior half of the contract.
|
|
77
|
+
5. Put the rest in `omissions` with an owner, rather than silently leaving it out.
|
|
78
|
+
|
|
79
|
+
A redesign that cannot say what it preserved is a rewrite wearing a redesign's name.
|
|
80
|
+
|
|
81
|
+
## Recording the outcome
|
|
82
|
+
|
|
83
|
+
Dials belong in the contract, not in prose around it. The acceptance criteria that reference them
|
|
84
|
+
must stay observable: "the primary action is reachable by keyboard within two stops" is checkable,
|
|
85
|
+
"the layout feels considered" is not. Every dial you set should be traceable to at least one
|
|
86
|
+
acceptance criterion, or it changed nothing that can be verified.
|