@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,380 @@
|
|
|
1
|
+
## Table of Contents
|
|
2
|
+
|
|
3
|
+
- [Overview](#overview)
|
|
4
|
+
- [Colorblind-Friendly Palettes](#colorblind-friendly-palettes)
|
|
5
|
+
- [Okabe-Ito Palette (Recommended for Categories)](#okabe-ito-palette-recommended-for-categories)
|
|
6
|
+
- [Wong Palette (Alternative for Categories)](#wong-palette-alternative-for-categories)
|
|
7
|
+
- [Paul Tol Palettes](#paul-tol-palettes)
|
|
8
|
+
- [Sequential Colormaps (Continuous Data)](#sequential-colormaps-continuous-data)
|
|
9
|
+
- [Perceptually Uniform Colormaps](#perceptually-uniform-colormaps)
|
|
10
|
+
- [When to Use Sequential Maps](#when-to-use-sequential-maps)
|
|
11
|
+
- [Diverging Colormaps (Negative to Positive)](#diverging-colormaps-negative-to-positive)
|
|
12
|
+
- [Colorblind-Safe Diverging Maps](#colorblind-safe-diverging-maps)
|
|
13
|
+
- [Avoid These Diverging Maps](#avoid-these-diverging-maps)
|
|
14
|
+
- [When to Use Diverging Maps](#when-to-use-diverging-maps)
|
|
15
|
+
- [Special Purpose Palettes](#special-purpose-palettes)
|
|
16
|
+
- [For Genomics/Bioinformatics](#for-genomicsbioinformatics)
|
|
17
|
+
- [For Microscopy](#for-microscopy)
|
|
18
|
+
- [Color Usage Best Practices](#color-usage-best-practices)
|
|
19
|
+
- [Categorical Data (Qualitative Color Schemes)](#categorical-data-qualitative-color-schemes)
|
|
20
|
+
- [Continuous Data (Sequential/Diverging Schemes)](#continuous-data-sequentialdiverging-schemes)
|
|
21
|
+
- [Testing for Colorblind Accessibility](#testing-for-colorblind-accessibility)
|
|
22
|
+
- [Online Simulators](#online-simulators)
|
|
23
|
+
- [Types of Color Vision Deficiency](#types-of-color-vision-deficiency)
|
|
24
|
+
- [Python Tools](#python-tools)
|
|
25
|
+
- [Implementation Examples](#implementation-examples)
|
|
26
|
+
- [Setting Global Matplotlib Style](#setting-global-matplotlib-style)
|
|
27
|
+
- [Seaborn with Custom Palette](#seaborn-with-custom-palette)
|
|
28
|
+
- [Plotly with Discrete Colors](#plotly-with-discrete-colors)
|
|
29
|
+
- [Grayscale Compatibility](#grayscale-compatibility)
|
|
30
|
+
- [Color Spaces](#color-spaces)
|
|
31
|
+
- [RGB vs CMYK](#rgb-vs-cmyk)
|
|
32
|
+
- [Matplotlib Color Spaces](#matplotlib-color-spaces)
|
|
33
|
+
- [Common Mistakes](#common-mistakes)
|
|
34
|
+
- [Resources](#resources)
|
|
35
|
+
|
|
36
|
+
# Scientific Color Palettes and Guidelines
|
|
37
|
+
|
|
38
|
+
## Overview
|
|
39
|
+
|
|
40
|
+
Color choice in scientific visualization is critical for accessibility, clarity, and accurate data representation. This reference provides colorblind-friendly palettes and best practices for color usage.
|
|
41
|
+
|
|
42
|
+
## Colorblind-Friendly Palettes
|
|
43
|
+
|
|
44
|
+
### Okabe-Ito Palette (Recommended for Categories)
|
|
45
|
+
|
|
46
|
+
The Okabe-Ito palette is specifically designed to be distinguishable by people with all forms of color blindness.
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
# Okabe-Ito colors (RGB values)
|
|
50
|
+
okabe_ito = {
|
|
51
|
+
'orange': '#E69F00', # RGB: (230, 159, 0)
|
|
52
|
+
'sky_blue': '#56B4E9', # RGB: (86, 180, 233)
|
|
53
|
+
'bluish_green': '#009E73', # RGB: (0, 158, 115)
|
|
54
|
+
'yellow': '#F0E442', # RGB: (240, 228, 66)
|
|
55
|
+
'blue': '#0072B2', # RGB: (0, 114, 178)
|
|
56
|
+
'vermillion': '#D55E00', # RGB: (213, 94, 0)
|
|
57
|
+
'reddish_purple': '#CC79A7', # RGB: (204, 121, 167)
|
|
58
|
+
'black': '#000000' # RGB: (0, 0, 0)
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Usage in Matplotlib:**
|
|
63
|
+
```python
|
|
64
|
+
import matplotlib.pyplot as plt
|
|
65
|
+
from style_presets import rcparams, set_color_palette
|
|
66
|
+
|
|
67
|
+
rcparams()
|
|
68
|
+
set_color_palette('okabe_ito')
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Usage in Seaborn:**
|
|
72
|
+
```python
|
|
73
|
+
import seaborn as sns
|
|
74
|
+
|
|
75
|
+
okabe_ito_palette = ['#E69F00', '#56B4E9', '#009E73', '#F0E442',
|
|
76
|
+
'#0072B2', '#D55E00', '#CC79A7']
|
|
77
|
+
sns.set_palette(okabe_ito_palette)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Usage in Plotly:**
|
|
81
|
+
```python
|
|
82
|
+
import plotly.graph_objects as go
|
|
83
|
+
|
|
84
|
+
okabe_ito_plotly = ['#E69F00', '#56B4E9', '#009E73', '#F0E442',
|
|
85
|
+
'#0072B2', '#D55E00', '#CC79A7']
|
|
86
|
+
fig = go.Figure()
|
|
87
|
+
# Apply to discrete color scale
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Wong Palette (Alternative for Categories)
|
|
91
|
+
|
|
92
|
+
Another excellent colorblind-friendly palette by Bang Wong (Nature Methods).
|
|
93
|
+
|
|
94
|
+
```python
|
|
95
|
+
wong_palette = {
|
|
96
|
+
'black': '#000000',
|
|
97
|
+
'orange': '#E69F00',
|
|
98
|
+
'sky_blue': '#56B4E9',
|
|
99
|
+
'green': '#009E73',
|
|
100
|
+
'yellow': '#F0E442',
|
|
101
|
+
'blue': '#0072B2',
|
|
102
|
+
'vermillion': '#D55E00',
|
|
103
|
+
'purple': '#CC79A7'
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Paul Tol Palettes
|
|
108
|
+
|
|
109
|
+
Paul Tol has designed multiple scientifically-optimized palettes for different use cases.
|
|
110
|
+
|
|
111
|
+
**Bright Palette (up to 7 categories):**
|
|
112
|
+
```python
|
|
113
|
+
tol_bright = ['#4477AA', '#EE6677', '#228833', '#CCBB44',
|
|
114
|
+
'#66CCEE', '#AA3377', '#BBBBBB']
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Muted Palette (up to 9 categories):**
|
|
118
|
+
```python
|
|
119
|
+
tol_muted = ['#332288', '#88CCEE', '#44AA99', '#117733',
|
|
120
|
+
'#999933', '#DDCC77', '#CC6677', '#882255', '#AA4499']
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**High Contrast (3 categories only):**
|
|
124
|
+
```python
|
|
125
|
+
tol_high_contrast = ['#004488', '#DDAA33', '#BB5566']
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Sequential Colormaps (Continuous Data)
|
|
129
|
+
|
|
130
|
+
Sequential colormaps represent data from low to high values with a single hue.
|
|
131
|
+
|
|
132
|
+
### Perceptually Uniform Colormaps
|
|
133
|
+
|
|
134
|
+
These colormaps have uniform perceptual change across the color scale.
|
|
135
|
+
|
|
136
|
+
**Viridis (default in Matplotlib):**
|
|
137
|
+
- Colorblind-friendly
|
|
138
|
+
- Prints well in grayscale
|
|
139
|
+
- Perceptually uniform
|
|
140
|
+
```python
|
|
141
|
+
plt.imshow(data, cmap='viridis')
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Cividis:**
|
|
145
|
+
- Optimized for colorblind viewers
|
|
146
|
+
- Designed specifically for deuteranopia/protanopia
|
|
147
|
+
```python
|
|
148
|
+
plt.imshow(data, cmap='cividis')
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Plasma, Inferno, Magma:**
|
|
152
|
+
- Perceptually uniform alternatives to viridis
|
|
153
|
+
- Good for different aesthetic preferences
|
|
154
|
+
```python
|
|
155
|
+
plt.imshow(data, cmap='plasma')
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### When to Use Sequential Maps
|
|
159
|
+
- Heatmaps showing intensity
|
|
160
|
+
- Geographic elevation data
|
|
161
|
+
- Probability distributions
|
|
162
|
+
- Any single-variable continuous data (low → high)
|
|
163
|
+
|
|
164
|
+
## Diverging Colormaps (Negative to Positive)
|
|
165
|
+
|
|
166
|
+
Diverging colormaps have a neutral middle color with two contrasting colors at extremes.
|
|
167
|
+
|
|
168
|
+
### Colorblind-Safe Diverging Maps
|
|
169
|
+
|
|
170
|
+
**RdYlBu (Red-Yellow-Blue):**
|
|
171
|
+
```python
|
|
172
|
+
plt.imshow(data, cmap='RdYlBu_r') # _r reverses: blue (low) to red (high)
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**PuOr (Purple-Orange):**
|
|
176
|
+
- Excellent for colorblind viewers
|
|
177
|
+
```python
|
|
178
|
+
plt.imshow(data, cmap='PuOr')
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**BrBG (Brown-Blue-Green):**
|
|
182
|
+
- Good colorblind accessibility
|
|
183
|
+
```python
|
|
184
|
+
plt.imshow(data, cmap='BrBG')
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Avoid These Diverging Maps
|
|
188
|
+
- **RdGn (Red-Green)**: Problematic for red-green colorblindness
|
|
189
|
+
- **RdYlGn (Red-Yellow-Green)**: Same issue
|
|
190
|
+
|
|
191
|
+
### When to Use Diverging Maps
|
|
192
|
+
- Correlation matrices
|
|
193
|
+
- Change/difference data (positive vs. negative)
|
|
194
|
+
- Deviation from a central value
|
|
195
|
+
- Temperature anomalies
|
|
196
|
+
|
|
197
|
+
## Special Purpose Palettes
|
|
198
|
+
|
|
199
|
+
### For Genomics/Bioinformatics
|
|
200
|
+
|
|
201
|
+
**Sequence type identification:**
|
|
202
|
+
```python
|
|
203
|
+
# DNA/RNA bases
|
|
204
|
+
nucleotide_colors = {
|
|
205
|
+
'A': '#00CC00', # Green
|
|
206
|
+
'C': '#0000CC', # Blue
|
|
207
|
+
'G': '#FFB300', # Orange
|
|
208
|
+
'T': '#CC0000', # Red
|
|
209
|
+
'U': '#CC0000' # Red (RNA)
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Gene expression:**
|
|
214
|
+
- Use sequential colormaps (viridis, YlOrRd) for expression levels
|
|
215
|
+
- Use diverging colormaps (RdBu) for log2 fold change
|
|
216
|
+
|
|
217
|
+
### For Microscopy
|
|
218
|
+
|
|
219
|
+
**Fluorescence channels:**
|
|
220
|
+
```python
|
|
221
|
+
# Traditional fluorophore colors (use with caution)
|
|
222
|
+
fluorophore_colors = {
|
|
223
|
+
'DAPI': '#0000FF', # Blue - DNA
|
|
224
|
+
'GFP': '#00FF00', # Green (problematic for colorblind)
|
|
225
|
+
'RFP': '#FF0000', # Red
|
|
226
|
+
'Cy5': '#FF00FF' # Magenta
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
# Colorblind-friendly alternatives
|
|
230
|
+
fluorophore_alt = {
|
|
231
|
+
'Channel1': '#0072B2', # Blue
|
|
232
|
+
'Channel2': '#E69F00', # Orange (instead of green)
|
|
233
|
+
'Channel3': '#D55E00', # Vermillion
|
|
234
|
+
'Channel4': '#CC79A7' # Magenta
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Color Usage Best Practices
|
|
239
|
+
|
|
240
|
+
### Categorical Data (Qualitative Color Schemes)
|
|
241
|
+
|
|
242
|
+
**Do:**
|
|
243
|
+
- Use distinct, saturated colors from Okabe-Ito or Wong palette
|
|
244
|
+
- Limit to 7-8 categories max in one plot
|
|
245
|
+
- Use consistent colors for same categories across figures
|
|
246
|
+
- Add patterns/markers when colors alone might be insufficient
|
|
247
|
+
|
|
248
|
+
**Don't:**
|
|
249
|
+
- Use red/green combinations
|
|
250
|
+
- Use rainbow (jet) colormap for categories
|
|
251
|
+
- Use similar hues that are hard to distinguish
|
|
252
|
+
|
|
253
|
+
### Continuous Data (Sequential/Diverging Schemes)
|
|
254
|
+
|
|
255
|
+
**Do:**
|
|
256
|
+
- Use perceptually uniform colormaps (viridis, plasma, cividis)
|
|
257
|
+
- Choose diverging maps when data has meaningful center point
|
|
258
|
+
- Include colorbar with labeled ticks
|
|
259
|
+
- Test appearance in grayscale
|
|
260
|
+
|
|
261
|
+
**Don't:**
|
|
262
|
+
- Use rainbow (jet) colormap - not perceptually uniform
|
|
263
|
+
- Use red-green diverging maps
|
|
264
|
+
- Omit colorbar on heatmaps
|
|
265
|
+
|
|
266
|
+
## Testing for Colorblind Accessibility
|
|
267
|
+
|
|
268
|
+
### Online Simulators
|
|
269
|
+
- **Coblis**: https://www.color-blindness.com/coblis-color-blindness-simulator/
|
|
270
|
+
- **Color Oracle**: Free downloadable tool for Windows/Mac/Linux
|
|
271
|
+
- **Sim Daltonism**: Mac application
|
|
272
|
+
|
|
273
|
+
### Types of Color Vision Deficiency
|
|
274
|
+
- **Deuteranopia** (~5% of males): Cannot distinguish green
|
|
275
|
+
- **Protanopia** (~2% of males): Cannot distinguish red
|
|
276
|
+
- **Tritanopia** (<1%): Cannot distinguish blue (rare)
|
|
277
|
+
|
|
278
|
+
### Python Tools
|
|
279
|
+
```python
|
|
280
|
+
# Using colorspacious to simulate colorblind vision
|
|
281
|
+
from colorspacious import cspace_convert
|
|
282
|
+
|
|
283
|
+
def simulate_deuteranopia(image_rgb):
|
|
284
|
+
from colorspacious import cspace_convert
|
|
285
|
+
# Convert to colorblind simulation
|
|
286
|
+
# (Implementation would require colorspacious library)
|
|
287
|
+
pass
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
## Implementation Examples
|
|
291
|
+
|
|
292
|
+
### Setting Global Matplotlib Style
|
|
293
|
+
```python
|
|
294
|
+
import matplotlib.pyplot as plt
|
|
295
|
+
from style_presets import rcparams, set_color_palette
|
|
296
|
+
|
|
297
|
+
rcparams()
|
|
298
|
+
set_color_palette('okabe_ito')
|
|
299
|
+
|
|
300
|
+
# rcparams() also sets viridis as the default continuous colormap.
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Seaborn with Custom Palette
|
|
304
|
+
```python
|
|
305
|
+
import seaborn as sns
|
|
306
|
+
|
|
307
|
+
# Set Paul Tol muted palette
|
|
308
|
+
tol_muted = ['#332288', '#88CCEE', '#44AA99', '#117733',
|
|
309
|
+
'#999933', '#DDCC77', '#CC6677', '#882255', '#AA4499']
|
|
310
|
+
sns.set_palette(tol_muted)
|
|
311
|
+
|
|
312
|
+
# For heatmaps
|
|
313
|
+
sns.heatmap(data, cmap='viridis', annot=True)
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Plotly with Discrete Colors
|
|
317
|
+
```python
|
|
318
|
+
import plotly.express as px
|
|
319
|
+
|
|
320
|
+
# Use Okabe-Ito for categorical data
|
|
321
|
+
okabe_ito_plotly = ['#E69F00', '#56B4E9', '#009E73', '#F0E442',
|
|
322
|
+
'#0072B2', '#D55E00', '#CC79A7']
|
|
323
|
+
|
|
324
|
+
fig = px.scatter(df, x='x', y='y', color='category',
|
|
325
|
+
color_discrete_sequence=okabe_ito_plotly)
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
## Grayscale Compatibility
|
|
329
|
+
|
|
330
|
+
All figures should remain interpretable in grayscale. Test by converting to grayscale:
|
|
331
|
+
|
|
332
|
+
```python
|
|
333
|
+
# Convert figure to grayscale for testing
|
|
334
|
+
fig.savefig('figure_gray.png', dpi=600, bbox_inches='tight')
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
**Strategies for grayscale compatibility:**
|
|
338
|
+
1. Use different line styles (solid, dashed, dotted)
|
|
339
|
+
2. Use different marker shapes (circles, squares, triangles)
|
|
340
|
+
3. Add hatching patterns to bars
|
|
341
|
+
4. Ensure sufficient luminance contrast between colors
|
|
342
|
+
|
|
343
|
+
## Color Spaces
|
|
344
|
+
|
|
345
|
+
### RGB vs CMYK
|
|
346
|
+
- **RGB** (Red, Green, Blue): For digital/screen display
|
|
347
|
+
- **CMYK** (Cyan, Magenta, Yellow, Black): For print
|
|
348
|
+
|
|
349
|
+
**Important:** Colors appear different in print vs. screen. When preparing for print:
|
|
350
|
+
1. Convert to CMYK color space
|
|
351
|
+
2. Check color appearance in CMYK preview
|
|
352
|
+
3. Ensure sufficient contrast remains
|
|
353
|
+
|
|
354
|
+
### Matplotlib Color Spaces
|
|
355
|
+
```python
|
|
356
|
+
# Save for print (CMYK)
|
|
357
|
+
# Note: Direct CMYK support limited; use PDF and let publisher convert
|
|
358
|
+
fig.savefig('figure.pdf', dpi=600, bbox_inches='tight')
|
|
359
|
+
|
|
360
|
+
# For RGB (digital)
|
|
361
|
+
fig.savefig('figure.png', dpi=600, bbox_inches='tight', transparent=True)
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
## Common Mistakes
|
|
365
|
+
|
|
366
|
+
1. **Using jet/rainbow colormap**: Not perceptually uniform; avoid
|
|
367
|
+
2. **Red-green combinations**: ~8% of males cannot distinguish
|
|
368
|
+
3. **Too many colors**: More than 7-8 becomes difficult to distinguish
|
|
369
|
+
4. **Inconsistent color meaning**: Same color should mean same thing across figures
|
|
370
|
+
5. **Missing colorbar**: Always include for continuous data
|
|
371
|
+
6. **Low contrast**: Ensure colors differ sufficiently
|
|
372
|
+
7. **Relying solely on color**: Add texture, patterns, or markers
|
|
373
|
+
|
|
374
|
+
## Resources
|
|
375
|
+
|
|
376
|
+
- **ColorBrewer**: http://colorbrewer2.org/ - Choose palettes by colorblind-safe option
|
|
377
|
+
- **Paul Tol's palettes**: https://personal.sron.nl/~pault/
|
|
378
|
+
- **Okabe-Ito palette origin**: "Color Universal Design" (Okabe & Ito, 2008)
|
|
379
|
+
- **Matplotlib colormaps**: https://matplotlib.org/stable/tutorials/colors/colormaps.html
|
|
380
|
+
- **Seaborn palettes**: https://seaborn.pydata.org/tutorial/color_palettes.html
|