opencode-skills-collection 3.1.0 → 3.1.1
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/bundled-skills/.antigravity-install-manifest.json +84 -1
- package/bundled-skills/android-ui-journey-testing/SKILL.md +191 -0
- package/bundled-skills/ask-matt/SKILL.md +92 -0
- package/bundled-skills/bugs-are-annoying/SKILL.md +137 -0
- package/bundled-skills/codebase-design/DEEPENING.md +37 -0
- package/bundled-skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
- package/bundled-skills/codebase-design/SKILL.md +145 -0
- package/bundled-skills/competitor-analysis/LICENSE.txt +21 -0
- package/bundled-skills/competitor-analysis/SKILL.md +434 -0
- package/bundled-skills/competitor-analysis/references/battle-card-subagent.md +127 -0
- package/bundled-skills/competitor-analysis/references/battle-card.md +91 -0
- package/bundled-skills/competitor-analysis/references/example-research.md +130 -0
- package/bundled-skills/competitor-analysis/references/report-template.html +127 -0
- package/bundled-skills/competitor-analysis/references/research-patterns.md +217 -0
- package/bundled-skills/competitor-analysis/references/workflow.md +434 -0
- package/bundled-skills/competitor-analysis/scripts/capture_screenshots.mjs +142 -0
- package/bundled-skills/competitor-analysis/scripts/compile_report.mjs +929 -0
- package/bundled-skills/competitor-analysis/scripts/extract_vs_names.mjs +140 -0
- package/bundled-skills/competitor-analysis/scripts/gate_candidates.mjs +194 -0
- package/bundled-skills/competitor-analysis/scripts/list_urls.mjs +90 -0
- package/bundled-skills/competitor-analysis/scripts/md_utils.mjs +50 -0
- package/bundled-skills/competitor-analysis/scripts/merge_partials.mjs +291 -0
- package/bundled-skills/competitor-analysis/scripts/package.json +6 -0
- package/bundled-skills/design-it/3d-ui/SKILL.md +259 -0
- package/bundled-skills/design-it/SKILL.md +170 -0
- package/bundled-skills/design-it/ai-native-ui/SKILL.md +295 -0
- package/bundled-skills/design-it/aurora-ui/SKILL.md +307 -0
- package/bundled-skills/design-it/bento-ui/SKILL.md +314 -0
- package/bundled-skills/design-it/brutalism/SKILL.md +270 -0
- package/bundled-skills/design-it/brutalist-typography/SKILL.md +287 -0
- package/bundled-skills/design-it/card-based-design/SKILL.md +262 -0
- package/bundled-skills/design-it/claymorphism/SKILL.md +287 -0
- package/bundled-skills/design-it/color-blocking/SKILL.md +278 -0
- package/bundled-skills/design-it/command-center-ui/SKILL.md +345 -0
- package/bundled-skills/design-it/cyber-y2k/SKILL.md +312 -0
- package/bundled-skills/design-it/cyberpunk-ui/SKILL.md +262 -0
- package/bundled-skills/design-it/dark-mode/SKILL.md +289 -0
- package/bundled-skills/design-it/dashboard-design/SKILL.md +331 -0
- package/bundled-skills/design-it/data-dense-design/SKILL.md +322 -0
- package/bundled-skills/design-it/duotone-design/SKILL.md +248 -0
- package/bundled-skills/design-it/editorial-design/SKILL.md +328 -0
- package/bundled-skills/design-it/flat-design/SKILL.md +221 -0
- package/bundled-skills/design-it/flat-design-2/SKILL.md +240 -0
- package/bundled-skills/design-it/floating-ui/SKILL.md +299 -0
- package/bundled-skills/design-it/frutiger-aero/SKILL.md +274 -0
- package/bundled-skills/design-it/glassmorphism/SKILL.md +272 -0
- package/bundled-skills/design-it/gradient-design/SKILL.md +309 -0
- package/bundled-skills/design-it/high-contrast/SKILL.md +288 -0
- package/bundled-skills/design-it/holographic-ui/SKILL.md +310 -0
- package/bundled-skills/design-it/isometric-design/SKILL.md +228 -0
- package/bundled-skills/design-it/layered-design/SKILL.md +247 -0
- package/bundled-skills/design-it/material-design/SKILL.md +275 -0
- package/bundled-skills/design-it/maximalism/SKILL.md +297 -0
- package/bundled-skills/design-it/minimalism/SKILL.md +267 -0
- package/bundled-skills/design-it/monochromatic-ui/SKILL.md +296 -0
- package/bundled-skills/design-it/neo-brutalism/SKILL.md +270 -0
- package/bundled-skills/design-it/neumorphism/SKILL.md +248 -0
- package/bundled-skills/design-it/retro-design/SKILL.md +283 -0
- package/bundled-skills/design-it/retro-futurism/SKILL.md +259 -0
- package/bundled-skills/design-it/sci-fi-interface/SKILL.md +309 -0
- package/bundled-skills/design-it/skeuomorphism/SKILL.md +280 -0
- package/bundled-skills/design-it/soft-pastel/SKILL.md +307 -0
- package/bundled-skills/design-it/spatial-computing-ui/SKILL.md +300 -0
- package/bundled-skills/design-it/spatial-design/SKILL.md +268 -0
- package/bundled-skills/design-it/swiss-design/SKILL.md +293 -0
- package/bundled-skills/design-it/synthwave/SKILL.md +257 -0
- package/bundled-skills/design-it/tile-design/SKILL.md +297 -0
- package/bundled-skills/design-it/typography-first/SKILL.md +247 -0
- package/bundled-skills/design-it/vaporwave/SKILL.md +331 -0
- package/bundled-skills/design-it/vibrant-maximalism/SKILL.md +291 -0
- package/bundled-skills/design-it/widget-based-design/SKILL.md +274 -0
- package/bundled-skills/design-it/y2k-design/SKILL.md +268 -0
- package/bundled-skills/diagnosing-bugs/SKILL.md +165 -0
- package/bundled-skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
- package/bundled-skills/docs/contributors/skill-scoring.md +235 -0
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/getting-started.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +4 -4
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/domain-modeling/ADR-FORMAT.md +47 -0
- package/bundled-skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
- package/bundled-skills/domain-modeling/SKILL.md +105 -0
- package/bundled-skills/grill-me/SKILL.md +36 -0
- package/bundled-skills/grill-with-docs/SKILL.md +36 -0
- package/bundled-skills/grilling/SKILL.md +39 -0
- package/bundled-skills/handoff/SKILL.md +45 -0
- package/bundled-skills/image-generator/.env.example +7 -0
- package/bundled-skills/image-generator/SKILL.md +509 -0
- package/bundled-skills/improve-codebase-architecture/HTML-REPORT.md +123 -0
- package/bundled-skills/improve-codebase-architecture/SKILL.md +97 -0
- package/bundled-skills/learn/SKILL.md +156 -0
- package/bundled-skills/lesson-generator/SKILL.md +90 -0
- package/bundled-skills/llm-council/.env.example +7 -0
- package/bundled-skills/llm-council/SKILL.md +602 -0
- package/bundled-skills/loop-library/SKILL.md +205 -0
- package/bundled-skills/loop-library/agents/openai.yaml +4 -0
- package/bundled-skills/loop-library/references/catalog.md +270 -0
- package/bundled-skills/mailtrap-managing-contacts/SKILL.md +112 -0
- package/bundled-skills/mailtrap-sending-emails/SKILL.md +167 -0
- package/bundled-skills/mailtrap-setting-up-sending-domain/SKILL.md +77 -0
- package/bundled-skills/mailtrap-testing-with-sandbox/SKILL.md +110 -0
- package/bundled-skills/prototype/LOGIC.md +79 -0
- package/bundled-skills/prototype/SKILL.md +62 -0
- package/bundled-skills/prototype/UI.md +112 -0
- package/bundled-skills/setup-matt-pocock-skills/SKILL.md +158 -0
- package/bundled-skills/setup-matt-pocock-skills/domain.md +51 -0
- package/bundled-skills/setup-matt-pocock-skills/issue-tracker-github.md +34 -0
- package/bundled-skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +35 -0
- package/bundled-skills/setup-matt-pocock-skills/issue-tracker-local.md +19 -0
- package/bundled-skills/setup-matt-pocock-skills/triage-labels.md +15 -0
- package/bundled-skills/survey-generator/LICENSE +21 -0
- package/bundled-skills/survey-generator/SKILL.md +143 -0
- package/bundled-skills/survey-generator/build_artifact.py +208 -0
- package/bundled-skills/survey-generator/examples/agentic-engineering/research_bundle.json +1196 -0
- package/bundled-skills/survey-generator/examples/agentic-engineering/survey.html +706 -0
- package/bundled-skills/survey-generator/style_spec.json +85 -0
- package/bundled-skills/survey-generator/templates/research_bundle_template.json +69 -0
- package/bundled-skills/tdd/SKILL.md +139 -0
- package/bundled-skills/tdd/mocking.md +59 -0
- package/bundled-skills/tdd/refactoring.md +10 -0
- package/bundled-skills/tdd/tests.md +61 -0
- package/bundled-skills/teach/GLOSSARY-FORMAT.md +35 -0
- package/bundled-skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
- package/bundled-skills/teach/MISSION-FORMAT.md +31 -0
- package/bundled-skills/teach/RESOURCES-FORMAT.md +32 -0
- package/bundled-skills/teach/SKILL.md +169 -0
- package/bundled-skills/to-issues/SKILL.md +115 -0
- package/bundled-skills/to-prd/SKILL.md +104 -0
- package/bundled-skills/tools-page-seo-optimizer/SKILL.md +616 -0
- package/bundled-skills/triage/AGENT-BRIEF.md +207 -0
- package/bundled-skills/triage/OUT-OF-SCOPE.md +105 -0
- package/bundled-skills/triage/SKILL.md +143 -0
- package/bundled-skills/vibecode-production-qa-validator/SKILL.md +371 -141
- package/bundled-skills/wiki-builder/SKILL.md +157 -0
- package/bundled-skills/wiki-builder/agents/openai.yaml +5 -0
- package/bundled-skills/wiki-builder/references/wiki-flavors.md +98 -0
- package/bundled-skills/wiki-builder/scripts/init_wiki.sh +105 -0
- package/bundled-skills/wiki-builder/templates/index.md +20 -0
- package/bundled-skills/wiki-builder/templates/maintenance-log.md +7 -0
- package/bundled-skills/wiki-builder/templates/prompts/compile-concept-page.md +12 -0
- package/bundled-skills/wiki-builder/templates/prompts/compile-index.md +11 -0
- package/bundled-skills/wiki-builder/templates/prompts/compile-source-page.md +12 -0
- package/bundled-skills/wiki-builder/templates/prompts/lint-wiki.md +10 -0
- package/bundled-skills/wiki-builder/templates/prompts/query-and-file.md +11 -0
- package/bundled-skills/wiki-builder/templates/sources.md +9 -0
- package/bundled-skills/wiki-builder/templates/wiki.config.md +53 -0
- package/bundled-skills/writing-great-skills/GLOSSARY.md +181 -0
- package/bundled-skills/writing-great-skills/SKILL.md +111 -0
- package/bundled-skills/yao-meta-skill/SKILL.md +86 -0
- package/bundled-skills/yao-meta-skill/agents/interface.yaml +26 -0
- package/bundled-skills/yao-meta-skill/manifest.json +24 -0
- package/bundled-skills/yao-meta-skill/references/artifact-design-doctrine.md +49 -0
- package/bundled-skills/yao-meta-skill/references/authoring-discipline.md +78 -0
- package/bundled-skills/yao-meta-skill/references/autonomous-adaptation.md +65 -0
- package/bundled-skills/yao-meta-skill/references/distribution-registry-method.md +60 -0
- package/bundled-skills/yao-meta-skill/references/eval-playbook.md +69 -0
- package/bundled-skills/yao-meta-skill/references/gate-selection.md +68 -0
- package/bundled-skills/yao-meta-skill/references/governance.md +134 -0
- package/bundled-skills/yao-meta-skill/references/human-review-template.md +54 -0
- package/bundled-skills/yao-meta-skill/references/intent-dialogue.md +138 -0
- package/bundled-skills/yao-meta-skill/references/iteration-philosophy.md +30 -0
- package/bundled-skills/yao-meta-skill/references/non-skill-decision-tree.md +39 -0
- package/bundled-skills/yao-meta-skill/references/operating-modes.md +107 -0
- package/bundled-skills/yao-meta-skill/references/output-eval-method.md +113 -0
- package/bundled-skills/yao-meta-skill/references/output-quality-risk.md +41 -0
- package/bundled-skills/yao-meta-skill/references/output-visual-quality.md +53 -0
- package/bundled-skills/yao-meta-skill/references/packaging-contracts.md +70 -0
- package/bundled-skills/yao-meta-skill/references/pattern-extraction-doctrine.md +76 -0
- package/bundled-skills/yao-meta-skill/references/platform-capability-matrix.md +49 -0
- package/bundled-skills/yao-meta-skill/references/prompt-engineering-doctrine.md +76 -0
- package/bundled-skills/yao-meta-skill/references/qa-ladder.md +57 -0
- package/bundled-skills/yao-meta-skill/references/reference-scan.md +126 -0
- package/bundled-skills/yao-meta-skill/references/regression-cause-taxonomy.md +80 -0
- package/bundled-skills/yao-meta-skill/references/resource-boundaries.md +120 -0
- package/bundled-skills/yao-meta-skill/references/review-studio-method.md +87 -0
- package/bundled-skills/yao-meta-skill/references/review-waiver-method.md +76 -0
- package/bundled-skills/yao-meta-skill/references/runtime-conformance-method.md +21 -0
- package/bundled-skills/yao-meta-skill/references/skill-archetypes.md +86 -0
- package/bundled-skills/yao-meta-skill/references/skill-atlas-method.md +35 -0
- package/bundled-skills/yao-meta-skill/references/skill-engineering-method.md +210 -0
- package/bundled-skills/yao-meta-skill/references/skill-ir-method.md +41 -0
- package/bundled-skills/yao-meta-skill/references/skillops-decision-policy.md +53 -0
- package/bundled-skills/yao-meta-skill/references/systems-thinking-doctrine.md +75 -0
- package/bundled-skills/yao-meta-skill/references/telemetry-drift-method.md +182 -0
- package/bundled-skills/yao-meta-skill/references/trust-security-method.md +79 -0
- package/bundled-skills/yao-meta-skill/references/user-memory-policy.md +35 -0
- package/bundled-skills/youtube-notetaker/SKILL.md +209 -0
- package/bundled-skills/youtube-notetaker/reference/artifact.html +269 -0
- package/bundled-skills/youtube-notetaker/scripts/contact_sheet.py +53 -0
- package/bundled-skills/youtube-notetaker/scripts/detect_slides.sh +19 -0
- package/bundled-skills/youtube-notetaker/scripts/download.sh +24 -0
- package/bundled-skills/youtube-notetaker/scripts/extract_slides.py +43 -0
- package/bundled-skills/youtube-notetaker/scripts/serve.py +173 -0
- package/bundled-skills/youtube-notetaker/scripts/setup.sh +27 -0
- package/bundled-skills/youtube-notetaker/scripts/verify.sh +31 -0
- package/bundled-skills/youtube-notetaker/scripts/vtt_to_transcript.py +59 -0
- package/bundled-skills/youtube-notetaker/scripts/write_library_item.py +69 -0
- package/package.json +1 -1
- package/skills_index.json +1956 -286
- package/bundled-skills/ai-md/SKILL.md +0 -523
- package/bundled-skills/atlas-contract/SKILL.md +0 -650
- package/bundled-skills/busybox-on-windows/SKILL.md +0 -40
- package/bundled-skills/monte-carlo-prevent/SKILL.md +0 -257
- package/bundled-skills/monte-carlo-prevent/references/TROUBLESHOOTING.md +0 -23
- package/bundled-skills/monte-carlo-prevent/references/parameters.md +0 -32
- package/bundled-skills/monte-carlo-prevent/references/workflows.md +0 -478
- package/bundled-skills/monte-carlo-push-ingestion/SKILL.md +0 -372
- package/bundled-skills/monte-carlo-push-ingestion/references/anomaly-detection.md +0 -87
- package/bundled-skills/monte-carlo-push-ingestion/references/custom-lineage.md +0 -203
- package/bundled-skills/monte-carlo-push-ingestion/references/direct-http-api.md +0 -207
- package/bundled-skills/monte-carlo-push-ingestion/references/prerequisites.md +0 -150
- package/bundled-skills/monte-carlo-push-ingestion/references/push-lineage.md +0 -160
- package/bundled-skills/monte-carlo-push-ingestion/references/push-metadata.md +0 -158
- package/bundled-skills/monte-carlo-push-ingestion/references/push-query-logs.md +0 -219
- package/bundled-skills/monte-carlo-push-ingestion/references/validation.md +0 -257
- package/bundled-skills/monte-carlo-push-ingestion/scripts/sample_verify.py +0 -357
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_and_push_lineage.py +0 -70
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_and_push_metadata.py +0 -65
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_and_push_query_logs.py +0 -70
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_lineage.py +0 -214
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_metadata.py +0 -160
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/collect_query_logs.py +0 -164
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/push_lineage.py +0 -198
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/push_metadata.py +0 -193
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery/push_query_logs.py +0 -207
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_and_push_metadata.py +0 -71
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_and_push_query_logs.py +0 -64
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_metadata.py +0 -253
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/collect_query_logs.py +0 -149
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/push_metadata.py +0 -190
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/bigquery-iceberg/push_query_logs.py +0 -208
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_and_push_lineage.py +0 -83
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_and_push_metadata.py +0 -77
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_and_push_query_logs.py +0 -83
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_lineage.py +0 -240
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_metadata.py +0 -212
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/collect_query_logs.py +0 -204
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/push_lineage.py +0 -192
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/push_metadata.py +0 -178
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/databricks/push_query_logs.py +0 -200
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_and_push_lineage.py +0 -119
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_and_push_metadata.py +0 -119
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_and_push_query_logs.py +0 -117
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_lineage.py +0 -265
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_metadata.py +0 -313
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/collect_query_logs.py +0 -284
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/push_lineage.py +0 -309
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/push_metadata.py +0 -245
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/hive/push_query_logs.py +0 -255
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_and_push_lineage.py +0 -78
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_and_push_metadata.py +0 -80
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_and_push_query_logs.py +0 -88
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_lineage.py +0 -235
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_metadata.py +0 -219
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/collect_query_logs.py +0 -239
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/push_lineage.py +0 -178
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/push_metadata.py +0 -178
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/redshift/push_query_logs.py +0 -196
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_and_push_lineage.py +0 -154
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_and_push_metadata.py +0 -137
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_and_push_query_logs.py +0 -137
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_lineage.py +0 -349
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_metadata.py +0 -329
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/collect_query_logs.py +0 -254
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/push_lineage.py +0 -307
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/push_metadata.py +0 -228
- package/bundled-skills/monte-carlo-push-ingestion/scripts/templates/snowflake/push_query_logs.py +0 -248
- package/bundled-skills/monte-carlo-push-ingestion/scripts/test_template_sdk_usage.py +0 -340
- package/bundled-skills/skill-optimizer/SKILL.md +0 -271
- package/bundled-skills/using-superpowers/SKILL.md +0 -98
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-it
|
|
3
|
+
description: "Routes frontend design tasks to 48 specific UI styles. Triggers for websites, app screens, or UI components requesting a specific aesthetic."
|
|
4
|
+
category: frontend
|
|
5
|
+
risk: safe
|
|
6
|
+
source: self
|
|
7
|
+
source_type: self
|
|
8
|
+
date_added: "2026-06-17"
|
|
9
|
+
author: community
|
|
10
|
+
tags: [design, ui, frontend]
|
|
11
|
+
tools: [claude, cursor, gemini]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Design-It: Sophisticated UI Style Router
|
|
15
|
+
|
|
16
|
+
This is the main entry point for the **design-it** skill system. Instead of falling back to generic "AI slop" aesthetics, you have access to 48 distinct, deeply opinionated design styles.
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
Use this skill when a user requests building any frontend interface (website, app screen, UI component) and you want to apply a specific, opinionated design aesthetic instead of generic defaults.
|
|
20
|
+
|
|
21
|
+
## How to Use This Skill
|
|
22
|
+
|
|
23
|
+
When a user asks you to build a frontend interface (web or app):
|
|
24
|
+
1. **Identify the Style (Fuzzy Matching)**: Look for keywords in their prompt (e.g., "minimal", "glass", "retro"). You do not need an exact match. Use your semantic understanding to map their request to one of the 48 styles. For example:
|
|
25
|
+
- "Apple style" or "VisionOS" -> `spatial-design`, `bento-ui`, or `glassmorphism`
|
|
26
|
+
- "Windows 8" or "Metro" -> `tile-design`
|
|
27
|
+
- "Terminal" or "Hacker" -> `sci-fi-interface` or `brutalist-typography`
|
|
28
|
+
- "Bauhaus" or "Clean" -> `swiss-design`
|
|
29
|
+
- "Cyber" or "Matrix" -> `cyberpunk-ui`
|
|
30
|
+
If they don't specify a style, choose one that best fits the project context.
|
|
31
|
+
2. **Read the Style Reference**: Check the **Style Index** below to find the correct path for the chosen style. Use the `view_file` tool to read its specific `SKILL.md`.
|
|
32
|
+
3. **Pick a Palette**: If the user explicitly defined a theme or colors, **use their requested colors**. If they did NOT specify colors, you MUST choose from one of the **10 Universal Palettes** below.
|
|
33
|
+
4. **Execute**: Write the code following the specific principles of the chosen style. Do not blend styles unless requested.
|
|
34
|
+
|
|
35
|
+
## Universal Color Palettes
|
|
36
|
+
If the user provides their own colors, use them. Otherwise, you MUST use one of these 10 award-winning, highly sophisticated palettes to avoid generic neon/purplish gradients. When picking a palette, stick to these exact hex codes and establish CSS variables for them.
|
|
37
|
+
|
|
38
|
+
1. **Yacht Club** (Nautical / Classic Elegance)
|
|
39
|
+
- Backgrounds: `#F9F6F0`
|
|
40
|
+
- Primary Text/Accents: `#1B2A49`
|
|
41
|
+
- CTA/Highlights: `#C85A32`
|
|
42
|
+
- Secondary Base: `#E2D8C9`
|
|
43
|
+
2. **Desert Mirage** (Warm / Organic)
|
|
44
|
+
- Backgrounds: `#F4EFEA`
|
|
45
|
+
- Primary Text/Accents: `#2D2B2A`
|
|
46
|
+
- CTA/Highlights: `#A65E44`
|
|
47
|
+
- Secondary Base: `#8C8781`
|
|
48
|
+
3. **Industrial Chic** (Strong / Minimalist)
|
|
49
|
+
- Backgrounds: `#D1D1D1`
|
|
50
|
+
- Primary Text/Accents: `#111111`
|
|
51
|
+
- CTA/Highlights: `#9A3B3B`
|
|
52
|
+
- Secondary Base: `#757575`
|
|
53
|
+
4. **Monochromatic Brown** (Comfort / Nostalgic)
|
|
54
|
+
- Backgrounds: `#D9CBBF`
|
|
55
|
+
- Primary Text/Accents: `#4A362D`
|
|
56
|
+
- CTA/Highlights: `#7A4C3A`
|
|
57
|
+
- Secondary Base: `#948275`
|
|
58
|
+
5. **Earth-Grounded Elegance** (Calm / Sustainable)
|
|
59
|
+
- Backgrounds: `#F7F5F0`
|
|
60
|
+
- Primary Text/Accents: `#3A4B3A`
|
|
61
|
+
- CTA/Highlights: `#8A9A86`
|
|
62
|
+
- Secondary Base: `#D3CEC4`
|
|
63
|
+
6. **Minimalist Slate** (Professional / Tech)
|
|
64
|
+
- Backgrounds: `#F4F4F9`
|
|
65
|
+
- Primary Text/Accents: `#2B303A`
|
|
66
|
+
- CTA/Highlights: `#5C6B73`
|
|
67
|
+
- Secondary Base: `#C0C5C1`
|
|
68
|
+
7. **Midnight Luxury** (Premium / Dark Mode)
|
|
69
|
+
- Backgrounds: `#0A0A0A`
|
|
70
|
+
- Primary Text/Accents: `#F5F5F0`
|
|
71
|
+
- CTA/Highlights: `#B59A5F`
|
|
72
|
+
- Secondary Base: `#1C1C1C`
|
|
73
|
+
8. **Sophisticated Neutral** (Upscale / Lifestyle)
|
|
74
|
+
- Backgrounds: `#E6E2DD`
|
|
75
|
+
- Primary Text/Accents: `#1F1C1B`
|
|
76
|
+
- CTA/Highlights: `#524036`
|
|
77
|
+
- Secondary Base: `#B8B0A8`
|
|
78
|
+
9. **Warm Tech** (Corporate / Modern)
|
|
79
|
+
- Backgrounds: `#EAEAEA`
|
|
80
|
+
- Primary Text/Accents: `#1C252E`
|
|
81
|
+
- CTA/Highlights: `#C28F79`
|
|
82
|
+
- Secondary Base: `#2C3E50`
|
|
83
|
+
10. **Modern Editorial** (Magazine / High Contrast)
|
|
84
|
+
- Backgrounds: `#F9F9F9`
|
|
85
|
+
- Primary Text/Accents: `#121212`
|
|
86
|
+
- CTA/Highlights: `#D44A3A`
|
|
87
|
+
- Secondary Base: `#8F8F8F`
|
|
88
|
+
|
|
89
|
+
## The 60-30-10 Rule
|
|
90
|
+
- **60%**: Backgrounds / Secondary Base
|
|
91
|
+
- **30%**: Primary Text / Accents
|
|
92
|
+
- **10%**: CTA / Highlights
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Style Index (48 Styles)
|
|
97
|
+
|
|
98
|
+
To use a style, you MUST read its file at `<style-folder>/SKILL.md` relative to this file's directory.
|
|
99
|
+
|
|
100
|
+
### Modern UI
|
|
101
|
+
- `minimalism`
|
|
102
|
+
- `flat-design`
|
|
103
|
+
- `flat-design-2`
|
|
104
|
+
- `material-design`
|
|
105
|
+
- `glassmorphism`
|
|
106
|
+
- `neumorphism`
|
|
107
|
+
- `skeuomorphism`
|
|
108
|
+
- `claymorphism`
|
|
109
|
+
- `aurora-ui`
|
|
110
|
+
- `bento-ui`
|
|
111
|
+
|
|
112
|
+
### Depth & 3D
|
|
113
|
+
- `3d-ui`
|
|
114
|
+
- `isometric-design`
|
|
115
|
+
- `layered-design`
|
|
116
|
+
- `floating-ui`
|
|
117
|
+
- `spatial-design`
|
|
118
|
+
|
|
119
|
+
### Typography
|
|
120
|
+
- `swiss-design`
|
|
121
|
+
- `editorial-design`
|
|
122
|
+
- `typography-first`
|
|
123
|
+
- `brutalist-typography`
|
|
124
|
+
|
|
125
|
+
### Retro & Historical
|
|
126
|
+
- `brutalism`
|
|
127
|
+
- `neo-brutalism`
|
|
128
|
+
- `retro-design`
|
|
129
|
+
- `y2k-design`
|
|
130
|
+
- `cyber-y2k`
|
|
131
|
+
- `vaporwave`
|
|
132
|
+
- `synthwave`
|
|
133
|
+
- `frutiger-aero`
|
|
134
|
+
- `retro-futurism`
|
|
135
|
+
|
|
136
|
+
### Modern Trends
|
|
137
|
+
- `dark-mode`
|
|
138
|
+
- `monochromatic-ui`
|
|
139
|
+
- `gradient-design`
|
|
140
|
+
- `duotone-design`
|
|
141
|
+
- `color-blocking`
|
|
142
|
+
- `soft-pastel`
|
|
143
|
+
- `high-contrast`
|
|
144
|
+
- `vibrant-maximalism`
|
|
145
|
+
- `maximalism`
|
|
146
|
+
|
|
147
|
+
### Futuristic
|
|
148
|
+
- `cyberpunk-ui`
|
|
149
|
+
- `sci-fi-interface`
|
|
150
|
+
- `holographic-ui`
|
|
151
|
+
- `ai-native-ui`
|
|
152
|
+
- `spatial-computing-ui`
|
|
153
|
+
|
|
154
|
+
### Data & Product
|
|
155
|
+
- `dashboard-design`
|
|
156
|
+
- `card-based-design`
|
|
157
|
+
- `widget-based-design`
|
|
158
|
+
- `tile-design`
|
|
159
|
+
- `data-dense-design`
|
|
160
|
+
- `command-center-ui`
|
|
161
|
+
|
|
162
|
+
## Web vs App Implementation
|
|
163
|
+
- **Web (React/Vue/HTML)**: Use CSS variables natively. Prioritize CSS grid/flexbox for layout. Use CSS transitions for hover states.
|
|
164
|
+
- **App (React Native/Flutter/SwiftUI)**: Map the palettes to the framework's theme engine. Use platform-specific shadows (elevation) and animations instead of CSS transitions. Maintain the core visual principles while adapting to mobile constraints.
|
|
165
|
+
|
|
166
|
+
## Limitations
|
|
167
|
+
|
|
168
|
+
- This skill does not replace environment-specific validation, testing, or expert review.
|
|
169
|
+
- Stop and ask for clarification if required inputs, permissions, or safety boundaries are missing.
|
|
170
|
+
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-native-ui
|
|
3
|
+
description: Web and App implementation guide for AI Native UI. Trigger when user wants conversational interfaces, adaptive layouts, and generative AI aesthetics.
|
|
4
|
+
date_added: "2026-06-17"
|
|
5
|
+
risk: safe
|
|
6
|
+
source: self
|
|
7
|
+
source_type: self
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# AI Native UI
|
|
11
|
+
|
|
12
|
+
> "Fluid, adaptive, and conversational. The interface morphs to serve the content."
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## When to Use
|
|
16
|
+
Use this sub-style when the user's request matches the aesthetic described above. This is a child reference of the `design-it` skill and is not meant to be triggered directly.
|
|
17
|
+
|
|
18
|
+
## Core Principles
|
|
19
|
+
1. **Conversational First**: The chat input or voice prompt is the primary navigation method, not a sidebar of links.
|
|
20
|
+
2. **Generative States**: Loading states aren't spinners; they are shimmering text, morphing gradients, or skeletal layouts that resolve smoothly into content.
|
|
21
|
+
3. **Adaptive Components**: Cards and blocks size themselves dynamically based on the generated content length.
|
|
22
|
+
|
|
23
|
+
## Visual DNA
|
|
24
|
+
- **Colors**: **Minimalist Slate** combined with **Electric Indigo** or **Neon Pulse** gradients for the AI elements. The background is clean (white or dark grey), while the AI "presence" is represented by a shifting, iridescent gradient.
|
|
25
|
+
- **Typography**: Highly readable system fonts (`Inter`, `SF Pro`).
|
|
26
|
+
- **Styling**: Subtle glowing borders to indicate AI generation in progress.
|
|
27
|
+
|
|
28
|
+
## Web Implementation
|
|
29
|
+
- **CSS Example**:
|
|
30
|
+
```css
|
|
31
|
+
body {
|
|
32
|
+
background-color: #FAFAFA;
|
|
33
|
+
color: #1A1A1A;
|
|
34
|
+
font-family: 'Inter', sans-serif;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* The AI Chat Input */
|
|
38
|
+
.ai-prompt-box {
|
|
39
|
+
background: #ffffff;
|
|
40
|
+
border-radius: 24px;
|
|
41
|
+
padding: 16px 24px;
|
|
42
|
+
box-shadow: 0 8px 30px rgba(0,0,0,0.05);
|
|
43
|
+
border: 1px solid transparent;
|
|
44
|
+
|
|
45
|
+
/* AI Glow Border */
|
|
46
|
+
background-clip: padding-box, border-box;
|
|
47
|
+
background-origin: padding-box, border-box;
|
|
48
|
+
background-image:
|
|
49
|
+
linear-gradient(#ffffff, #ffffff),
|
|
50
|
+
linear-gradient(90deg, #8A2387, #E94057, #F27121);
|
|
51
|
+
|
|
52
|
+
transition: all 0.3s ease;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.ai-prompt-box:focus-within {
|
|
56
|
+
box-shadow: 0 12px 40px rgba(233, 64, 87, 0.15);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Generative Shimmer Text */
|
|
60
|
+
.ai-generating-text {
|
|
61
|
+
background: linear-gradient(90deg, #aaa 0%, #333 50%, #aaa 100%);
|
|
62
|
+
background-size: 200% auto;
|
|
63
|
+
color: transparent;
|
|
64
|
+
-webkit-background-clip: text;
|
|
65
|
+
animation: shine 1.5s linear infinite;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@keyframes shine {
|
|
69
|
+
to { background-position: 200% center; }
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## App Implementation
|
|
74
|
+
|
|
75
|
+
### SwiftUI
|
|
76
|
+
```swift
|
|
77
|
+
struct AINativeInput: View {
|
|
78
|
+
@State private var isGenerating = true
|
|
79
|
+
@State private var gradientOffset = 0.0
|
|
80
|
+
|
|
81
|
+
var body: some View {
|
|
82
|
+
VStack {
|
|
83
|
+
// Generative Text Shimmer
|
|
84
|
+
if isGenerating {
|
|
85
|
+
Text("Synthesizing response...")
|
|
86
|
+
.font(.headline)
|
|
87
|
+
.foregroundStyle(
|
|
88
|
+
LinearGradient(
|
|
89
|
+
colors: [.gray.opacity(0.3), .gray, .gray.opacity(0.3)],
|
|
90
|
+
startPoint: UnitPoint(x: gradientOffset - 1, y: 0),
|
|
91
|
+
endPoint: UnitPoint(x: gradientOffset + 1, y: 0)
|
|
92
|
+
)
|
|
93
|
+
)
|
|
94
|
+
.onAppear {
|
|
95
|
+
withAnimation(.linear(duration: 1.5).repeatForever(autoreverses: false)) {
|
|
96
|
+
gradientOffset = 1.0
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// AI Input Box
|
|
102
|
+
HStack {
|
|
103
|
+
TextField("Ask anything...", text: .constant(""))
|
|
104
|
+
Image(systemName: "sparkles")
|
|
105
|
+
.foregroundColor(.purple)
|
|
106
|
+
}
|
|
107
|
+
.padding()
|
|
108
|
+
.background(Color.white)
|
|
109
|
+
.cornerRadius(24)
|
|
110
|
+
.overlay(
|
|
111
|
+
RoundedRectangle(cornerRadius: 24)
|
|
112
|
+
.stroke(
|
|
113
|
+
LinearGradient(colors: [.purple, .pink, .orange], startPoint: .topLeading, endPoint: .bottomTrailing),
|
|
114
|
+
lineWidth: 2
|
|
115
|
+
)
|
|
116
|
+
)
|
|
117
|
+
.shadow(color: .pink.opacity(0.15), radius: 20)
|
|
118
|
+
}
|
|
119
|
+
.padding()
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
- A shifting `LinearGradient` mask over text creates a beautiful "thinking" state.
|
|
124
|
+
- Use a gradient `.stroke` on a `RoundedRectangle` overlay to create the signature AI glowing border around input fields.
|
|
125
|
+
|
|
126
|
+
### Flutter
|
|
127
|
+
```dart
|
|
128
|
+
import 'package:shimmer/shimmer.dart';
|
|
129
|
+
|
|
130
|
+
class AINativeInput extends StatelessWidget {
|
|
131
|
+
@override
|
|
132
|
+
Widget build(BuildContext context) {
|
|
133
|
+
return Padding(
|
|
134
|
+
padding: const EdgeInsets.all(16.0),
|
|
135
|
+
child: Column(
|
|
136
|
+
mainAxisSize: MainAxisSize.min,
|
|
137
|
+
children: [
|
|
138
|
+
// Generative Shimmer
|
|
139
|
+
Shimmer.fromColors(
|
|
140
|
+
baseColor: Colors.grey[300]!,
|
|
141
|
+
highlightColor: Colors.grey[600]!,
|
|
142
|
+
child: const Text('Synthesizing response...',
|
|
143
|
+
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold)),
|
|
144
|
+
),
|
|
145
|
+
const SizedBox(height: 16),
|
|
146
|
+
// AI Input Box
|
|
147
|
+
Container(
|
|
148
|
+
decoration: BoxDecoration(
|
|
149
|
+
color: Colors.white,
|
|
150
|
+
borderRadius: BorderRadius.circular(24),
|
|
151
|
+
boxShadow: [
|
|
152
|
+
BoxShadow(color: Colors.pink.withOpacity(0.15), blurRadius: 20),
|
|
153
|
+
],
|
|
154
|
+
),
|
|
155
|
+
child: Container(
|
|
156
|
+
decoration: BoxDecoration(
|
|
157
|
+
borderRadius: BorderRadius.circular(24),
|
|
158
|
+
// Gradient border simulation
|
|
159
|
+
gradient: const LinearGradient(
|
|
160
|
+
colors: [Colors.purple, Colors.pink, Colors.orange],
|
|
161
|
+
),
|
|
162
|
+
),
|
|
163
|
+
padding: const EdgeInsets.all(2), // Border width
|
|
164
|
+
child: Container(
|
|
165
|
+
decoration: BoxDecoration(
|
|
166
|
+
color: Colors.white,
|
|
167
|
+
borderRadius: BorderRadius.circular(22),
|
|
168
|
+
),
|
|
169
|
+
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 4),
|
|
170
|
+
child: Row(
|
|
171
|
+
children: const [
|
|
172
|
+
Expanded(
|
|
173
|
+
child: TextField(
|
|
174
|
+
decoration: InputDecoration(
|
|
175
|
+
hintText: 'Ask anything...',
|
|
176
|
+
border: InputBorder.none,
|
|
177
|
+
),
|
|
178
|
+
),
|
|
179
|
+
),
|
|
180
|
+
Icon(Icons.auto_awesome, color: Colors.purple),
|
|
181
|
+
],
|
|
182
|
+
),
|
|
183
|
+
),
|
|
184
|
+
),
|
|
185
|
+
),
|
|
186
|
+
],
|
|
187
|
+
),
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
- The `shimmer` package is the absolute standard for AI loading states in Flutter.
|
|
193
|
+
- Gradient borders natively don't exist on `BoxDecoration`; simulate them by nesting containers with a gradient background and a solid white inner container.
|
|
194
|
+
|
|
195
|
+
### React Native
|
|
196
|
+
```jsx
|
|
197
|
+
// Requires react-native-linear-gradient and react-native-shimmer-placeholder
|
|
198
|
+
import LinearGradient from 'react-native-linear-gradient';
|
|
199
|
+
import { createShimmerPlaceholder } from 'react-native-shimmer-placeholder';
|
|
200
|
+
|
|
201
|
+
const ShimmerPlaceHolder = createShimmerPlaceholder(LinearGradient);
|
|
202
|
+
|
|
203
|
+
const AINativeInput = () => {
|
|
204
|
+
return (
|
|
205
|
+
<View style={{ padding: 16 }}>
|
|
206
|
+
{/* Generative Shimmer */}
|
|
207
|
+
<ShimmerPlaceHolder
|
|
208
|
+
style={{ width: 200, height: 20, borderRadius: 10, marginBottom: 16 }}
|
|
209
|
+
shimmerColors={['#ebebeb', '#c5c5c5', '#ebebeb']}
|
|
210
|
+
/>
|
|
211
|
+
|
|
212
|
+
{/* AI Input Box with Gradient Border */}
|
|
213
|
+
<LinearGradient
|
|
214
|
+
colors={['#8A2387', '#E94057', '#F27121']}
|
|
215
|
+
style={{ borderRadius: 24, padding: 2, shadowColor: '#E94057', shadowRadius: 20, shadowOpacity: 0.2 }}
|
|
216
|
+
>
|
|
217
|
+
<View style={{
|
|
218
|
+
backgroundColor: '#FFF',
|
|
219
|
+
borderRadius: 22,
|
|
220
|
+
flexDirection: 'row',
|
|
221
|
+
alignItems: 'center',
|
|
222
|
+
paddingHorizontal: 16,
|
|
223
|
+
height: 50
|
|
224
|
+
}}>
|
|
225
|
+
<TextInput
|
|
226
|
+
placeholder="Ask anything..."
|
|
227
|
+
style={{ flex: 1, fontSize: 16 }}
|
|
228
|
+
/>
|
|
229
|
+
<Text style={{ fontSize: 20 }}>✨</Text>
|
|
230
|
+
</View>
|
|
231
|
+
</LinearGradient>
|
|
232
|
+
</View>
|
|
233
|
+
);
|
|
234
|
+
};
|
|
235
|
+
```
|
|
236
|
+
- `react-native-shimmer-placeholder` is the best way to handle the morphing skeleton states.
|
|
237
|
+
- Like Flutter, React Native doesn't have native gradient borders. Wrap the input in a `LinearGradient` view with `padding: 2` to create the stroke.
|
|
238
|
+
|
|
239
|
+
### Jetpack Compose
|
|
240
|
+
```kotlin
|
|
241
|
+
@Composable
|
|
242
|
+
fun AINativeInput() {
|
|
243
|
+
val infiniteTransition = rememberInfiniteTransition()
|
|
244
|
+
val gradientOffset by infiniteTransition.animateFloat(
|
|
245
|
+
initialValue = 0f,
|
|
246
|
+
targetValue = 1000f,
|
|
247
|
+
animationSpec = infiniteRepeatable(
|
|
248
|
+
animation = tween(1500, easing = LinearEasing),
|
|
249
|
+
repeatMode = RepeatMode.Restart
|
|
250
|
+
)
|
|
251
|
+
)
|
|
252
|
+
|
|
253
|
+
Column(modifier = Modifier.padding(16.dp)) {
|
|
254
|
+
// Generative Shimmer Text
|
|
255
|
+
val shimmerBrush = Brush.linearGradient(
|
|
256
|
+
colors = listOf(Color.LightGray, Color.Gray, Color.LightGray),
|
|
257
|
+
start = Offset(gradientOffset - 500f, 0f),
|
|
258
|
+
end = Offset(gradientOffset, 0f)
|
|
259
|
+
)
|
|
260
|
+
Text("Synthesizing response...", style = TextStyle(brush = shimmerBrush, fontWeight = FontWeight.Bold))
|
|
261
|
+
|
|
262
|
+
Spacer(Modifier.height(16.dp))
|
|
263
|
+
|
|
264
|
+
// AI Input Box
|
|
265
|
+
val borderBrush = Brush.linearGradient(listOf(Color(0xFF8A2387), Color(0xFFE94057), Color(0xFFF27121)))
|
|
266
|
+
|
|
267
|
+
Row(
|
|
268
|
+
modifier = Modifier
|
|
269
|
+
.shadow(20.dp, RoundedCornerShape(24.dp), ambientColor = Color(0xFFE94057), spotColor = Color(0xFFE94057))
|
|
270
|
+
.background(Color.White, RoundedCornerShape(24.dp))
|
|
271
|
+
.border(2.dp, borderBrush, RoundedCornerShape(24.dp))
|
|
272
|
+
.padding(horizontal = 16.dp, vertical = 12.dp),
|
|
273
|
+
verticalAlignment = Alignment.CenterVertically
|
|
274
|
+
) {
|
|
275
|
+
BasicTextField(
|
|
276
|
+
value = "",
|
|
277
|
+
onValueChange = {},
|
|
278
|
+
modifier = Modifier.weight(1f),
|
|
279
|
+
decorationBox = { innerTextField -> Text("Ask anything...", color = Color.Gray) }
|
|
280
|
+
)
|
|
281
|
+
Icon(Icons.Default.Star, contentDescription = null, tint = Color(0xFF8A2387))
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
```
|
|
286
|
+
- Compose allows passing a `Brush` directly into the `TextStyle`, making shimmering text incredibly easy without third-party libraries.
|
|
287
|
+
- Compose's `Modifier.border()` natively accepts a `Brush`, making gradient borders a one-liner.
|
|
288
|
+
|
|
289
|
+
## Do's and Don'ts
|
|
290
|
+
- **DO**: Use a distinct, vibrant gradient to represent the AI "agent", contrasting with a very plain, clean background.
|
|
291
|
+
- **DON'T**: Use complex navigation headers. The user should navigate by asking the AI, not by clicking deep menus.
|
|
292
|
+
|
|
293
|
+
## Limitations
|
|
294
|
+
- This is a styling reference and does not replace environment-specific validation, accessibility testing, or expert review.
|
|
295
|
+
- Ensure appropriate contrast ratios and responsive behaviors are verified separately.
|