agent-toolkit-cli 1.11.0__py3-none-win_amd64.whl
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.
- agent_toolkit/__init__.py +4 -0
- agent_toolkit/__main__.py +5 -0
- agent_toolkit/_paths.py +145 -0
- agent_toolkit/bin/.gitkeep +0 -0
- agent_toolkit/bin/agent-toolkit.exe +0 -0
- agent_toolkit/cli/__init__.py +0 -0
- agent_toolkit/cli/__main__.py +5 -0
- agent_toolkit/cli/build.py +278 -0
- agent_toolkit/cli/completion.py +297 -0
- agent_toolkit/cli/context_budget.py +455 -0
- agent_toolkit/cli/devcompanion.py +923 -0
- agent_toolkit/cli/devcompanion_queue.py +235 -0
- agent_toolkit/cli/diff.py +176 -0
- agent_toolkit/cli/doctor.py +1052 -0
- agent_toolkit/cli/insights.py +771 -0
- agent_toolkit/cli/install.py +706 -0
- agent_toolkit/cli/main.py +171 -0
- agent_toolkit/cli/mcp.py +537 -0
- agent_toolkit/cli/memory.py +739 -0
- agent_toolkit/cli/plugin.py +224 -0
- agent_toolkit/cli/project.py +459 -0
- agent_toolkit/cli/release.py +178 -0
- agent_toolkit/cli/skills.py +461 -0
- agent_toolkit/cli/uninstall.py +166 -0
- agent_toolkit/cli/update.py +298 -0
- agent_toolkit/cli/workspace.py +1713 -0
- agent_toolkit/compiler/hook_registry.py +110 -0
- agent_toolkit/compiler/loader.py +338 -0
- agent_toolkit/compiler/mcp_registry.py +87 -0
- agent_toolkit/compiler/model.py +182 -0
- agent_toolkit/compiler/provenance.py +140 -0
- agent_toolkit/compiler/registry_emit.py +263 -0
- agent_toolkit/compiler/target_registry.py +122 -0
- agent_toolkit/compiler/targets/__init__.py +1 -0
- agent_toolkit/compiler/targets/agent_plugins.py +160 -0
- agent_toolkit/compiler/targets/base.py +229 -0
- agent_toolkit/compiler/targets/claude_code.py +241 -0
- agent_toolkit/compiler/targets/codex.py +261 -0
- agent_toolkit/compiler/targets/copilot.py +275 -0
- agent_toolkit/compiler/targets/cursor.py +207 -0
- agent_toolkit/compiler/targets/gemini_cli.py +213 -0
- agent_toolkit/compiler/targets/muse_code.py +113 -0
- agent_toolkit/compiler/targets/opencode.py +204 -0
- agent_toolkit/compiler/targets/pi.py +263 -0
- agent_toolkit/compiler/targets/windsurf.py +267 -0
- agent_toolkit/compiler/tool_mapping.py +83 -0
- agent_toolkit/data/.gitignore +4 -0
- agent_toolkit/data/__init__.py +1 -0
- agent_toolkit/data/agents/agentic-security-reviewer/AGENT.md +60 -0
- agent_toolkit/data/agents/architect/AGENT.md +30 -0
- agent_toolkit/data/agents/assistant/AGENT.md +59 -0
- agent_toolkit/data/agents/build-error-resolver/AGENT.md +30 -0
- agent_toolkit/data/agents/client-workflow-bootstrap/AGENT.md +60 -0
- agent_toolkit/data/agents/code-reviewer/AGENT.md +49 -0
- agent_toolkit/data/agents/database-reviewer/AGENT.md +44 -0
- agent_toolkit/data/agents/docs-lookup/AGENT.md +28 -0
- agent_toolkit/data/agents/e2e-runner/AGENT.md +38 -0
- agent_toolkit/data/agents/performance-optimizer/AGENT.md +52 -0
- agent_toolkit/data/agents/planner/AGENT.md +41 -0
- agent_toolkit/data/agents/refactor-cleaner/AGENT.md +43 -0
- agent_toolkit/data/agents/reference-lookup/AGENT.md +33 -0
- agent_toolkit/data/agents/security-reviewer/AGENT.md +47 -0
- agent_toolkit/data/agents/tdd-guide/AGENT.md +58 -0
- agent_toolkit/data/agents/tech-assistant/AGENT.md +11 -0
- agent_toolkit/data/agents/typescript-reviewer/AGENT.md +61 -0
- agent_toolkit/data/capabilities/hooks/README.md +6 -0
- agent_toolkit/data/capabilities/hooks/pre-commit-validate.yaml +26 -0
- agent_toolkit/data/capabilities/hooks/scripts/pre-commit-validate.sh +41 -0
- agent_toolkit/data/capabilities/hooks/scripts/session-start-context.sh +11 -0
- agent_toolkit/data/capabilities/hooks/session-start-context.yaml +23 -0
- agent_toolkit/data/capabilities/targets/registry.yaml +90 -0
- agent_toolkit/data/capabilities/upstream.lock +118 -0
- agent_toolkit/data/catalogs/agent-catalog.yaml +81 -0
- agent_toolkit/data/catalogs/loop-catalog.yaml +55 -0
- agent_toolkit/data/catalogs/skill-catalog.yaml +520 -0
- agent_toolkit/data/catalogs/skills-layout.json +391 -0
- agent_toolkit/data/distributions/products.yaml +190 -0
- agent_toolkit/data/distributions/targets/claude-code.yaml +47 -0
- agent_toolkit/data/distributions/targets/cursor.yaml +42 -0
- agent_toolkit/data/distributions/targets/opencode.yaml +55 -0
- agent_toolkit/data/loops/changelog-drafter/loop.yaml +40 -0
- agent_toolkit/data/loops/ci-sweeper/loop.yaml +53 -0
- agent_toolkit/data/loops/daily-triage/loop.yaml +47 -0
- agent_toolkit/data/loops/dep-sweeper/loop.yaml +46 -0
- agent_toolkit/data/loops/issue-triage/loop.yaml +40 -0
- agent_toolkit/data/loops/oss-daily-briefing/loop.yaml +65 -0
- agent_toolkit/data/loops/oss-pr-monitor/loop.yaml +86 -0
- agent_toolkit/data/loops/oss-triage/loop.yaml +67 -0
- agent_toolkit/data/loops/post-merge-cleanup/loop.yaml +44 -0
- agent_toolkit/data/loops/pr-babysitter/loop.yaml +46 -0
- agent_toolkit/data/mcp/registry/chrome-devtools.yaml +61 -0
- agent_toolkit/data/mcp/registry/clickup.yaml +48 -0
- agent_toolkit/data/mcp/registry/figma.yaml +44 -0
- agent_toolkit/data/mcp/registry/github.yaml +52 -0
- agent_toolkit/data/mcp/registry/linear.yaml +47 -0
- agent_toolkit/data/mcp/registry/notion.yaml +48 -0
- agent_toolkit/data/mcp/registry/slack.yaml +46 -0
- agent_toolkit/data/mcp/templates/chrome-devtools/README.md +57 -0
- agent_toolkit/data/mcp/templates/chrome-devtools/config.template.json +6 -0
- agent_toolkit/data/mcp/templates/clickup/README.md +45 -0
- agent_toolkit/data/mcp/templates/clickup/config.template.json +8 -0
- agent_toolkit/data/mcp/templates/clickup/wrapper.sh +23 -0
- agent_toolkit/data/mcp/templates/figma/README.md +54 -0
- agent_toolkit/data/mcp/templates/figma/config.template.json +9 -0
- agent_toolkit/data/mcp/templates/github/README.md +16 -0
- agent_toolkit/data/mcp/templates/github/config.template.json +15 -0
- agent_toolkit/data/mcp/templates/github/wrapper.sh +6 -0
- agent_toolkit/data/mcp/templates/linear/README.md +49 -0
- agent_toolkit/data/mcp/templates/linear/config.template.json +10 -0
- agent_toolkit/data/mcp/templates/notion/README.md +7 -0
- agent_toolkit/data/mcp/templates/notion/config.template.json +8 -0
- agent_toolkit/data/mcp/templates/notion/wrapper.sh +23 -0
- agent_toolkit/data/mcp/templates/slack/README.md +8 -0
- agent_toolkit/data/mcp/templates/slack/config.template.json +9 -0
- agent_toolkit/data/mcp/templates/slack/wrapper.sh +23 -0
- agent_toolkit/data/packs/README.md +66 -0
- agent_toolkit/data/packs/agentic-security/README.md +19 -0
- agent_toolkit/data/packs/agentic-security/config.yaml +25 -0
- agent_toolkit/data/packs/architecture/README.md +22 -0
- agent_toolkit/data/packs/architecture/config.yaml +27 -0
- agent_toolkit/data/packs/code-quality/README.md +19 -0
- agent_toolkit/data/packs/code-quality/config.yaml +21 -0
- agent_toolkit/data/packs/delivery-discipline/README.md +19 -0
- agent_toolkit/data/packs/delivery-discipline/config.yaml +42 -0
- agent_toolkit/data/packs/design-engineering/README.md +19 -0
- agent_toolkit/data/packs/design-engineering/config.yaml +41 -0
- agent_toolkit/data/packs/engineering-workflow/README.md +21 -0
- agent_toolkit/data/packs/engineering-workflow/config.yaml +57 -0
- agent_toolkit/data/packs/oss-maintenance/README.md +245 -0
- agent_toolkit/data/packs/oss-maintenance/config.yaml +75 -0
- agent_toolkit/data/profiles/claude-code/CLAUDE.md +110 -0
- agent_toolkit/data/profiles/claude-code/agents/assistant.md +59 -0
- agent_toolkit/data/profiles/claude-code/agents/build-error-resolver.md +30 -0
- agent_toolkit/data/profiles/claude-code/agents/client-workflow-bootstrap.md +60 -0
- agent_toolkit/data/profiles/claude-code/agents/contribution-planner.md +39 -0
- agent_toolkit/data/profiles/claude-code/agents/database-reviewer.md +44 -0
- agent_toolkit/data/profiles/claude-code/agents/docs-lookup.md +28 -0
- agent_toolkit/data/profiles/claude-code/agents/e2e-runner.md +38 -0
- agent_toolkit/data/profiles/claude-code/agents/performance-optimizer.md +52 -0
- agent_toolkit/data/profiles/claude-code/agents/planner.md +41 -0
- agent_toolkit/data/profiles/claude-code/agents/refactor-cleaner.md +43 -0
- agent_toolkit/data/profiles/claude-code/agents/reference-lookup.md +33 -0
- agent_toolkit/data/profiles/claude-code/agents/security-reviewer.md +47 -0
- agent_toolkit/data/profiles/claude-code/agents/tdd-guide.md +58 -0
- agent_toolkit/data/profiles/claude-code/agents/typescript-reviewer.md +61 -0
- agent_toolkit/data/profiles/claude-code/settings.json +86 -0
- agent_toolkit/data/profiles/copilot/copilot-instructions.md +15 -0
- agent_toolkit/data/profiles/cursor/README.md +33 -0
- agent_toolkit/data/profiles/cursor/rules/architect.mdc +23 -0
- agent_toolkit/data/profiles/cursor/rules/assistant.mdc +61 -0
- agent_toolkit/data/profiles/cursor/rules/build-error-resolver.mdc +20 -0
- agent_toolkit/data/profiles/cursor/rules/code-reviewer.mdc +21 -0
- agent_toolkit/data/profiles/cursor/rules/database-reviewer.mdc +29 -0
- agent_toolkit/data/profiles/cursor/rules/docs-lookup.mdc +15 -0
- agent_toolkit/data/profiles/cursor/rules/e2e-runner.mdc +30 -0
- agent_toolkit/data/profiles/cursor/rules/performance-optimizer.mdc +27 -0
- agent_toolkit/data/profiles/cursor/rules/planner.mdc +28 -0
- agent_toolkit/data/profiles/cursor/rules/refactor-cleaner.mdc +26 -0
- agent_toolkit/data/profiles/cursor/rules/reference-lookup.mdc +20 -0
- agent_toolkit/data/profiles/cursor/rules/security-reviewer.mdc +20 -0
- agent_toolkit/data/profiles/cursor/rules/tdd-guide.mdc +26 -0
- agent_toolkit/data/profiles/cursor/rules/typescript-reviewer.mdc +28 -0
- agent_toolkit/data/profiles/muse-code/README.md +35 -0
- agent_toolkit/data/profiles/opencode/README.md +44 -0
- agent_toolkit/data/profiles/opencode/agents/architect.md +30 -0
- agent_toolkit/data/profiles/opencode/agents/assistant.md +96 -0
- agent_toolkit/data/profiles/opencode/agents/build-error-resolver.md +31 -0
- agent_toolkit/data/profiles/opencode/agents/client-workflow-bootstrap.md +66 -0
- agent_toolkit/data/profiles/opencode/agents/code-reviewer.md +47 -0
- agent_toolkit/data/profiles/opencode/agents/contribution-planner.md +44 -0
- agent_toolkit/data/profiles/opencode/agents/database-reviewer.md +43 -0
- agent_toolkit/data/profiles/opencode/agents/docs-lookup.md +28 -0
- agent_toolkit/data/profiles/opencode/agents/e2e-runner.md +33 -0
- agent_toolkit/data/profiles/opencode/agents/performance-optimizer.md +34 -0
- agent_toolkit/data/profiles/opencode/agents/planner.md +27 -0
- agent_toolkit/data/profiles/opencode/agents/refactor-cleaner.md +27 -0
- agent_toolkit/data/profiles/opencode/agents/reference-lookup.md +27 -0
- agent_toolkit/data/profiles/opencode/agents/security-reviewer.md +27 -0
- agent_toolkit/data/profiles/opencode/agents/tdd-guide.md +27 -0
- agent_toolkit/data/profiles/opencode/agents/typescript-reviewer.md +30 -0
- agent_toolkit/data/profiles/opencode/opencode.json +3 -0
- agent_toolkit/data/profiles/pi/skills/architect/skill.md +5 -0
- agent_toolkit/data/profiles/pi/skills/assistant/skill.md +3 -0
- agent_toolkit/data/profiles/pi/skills/code-reviewer/skill.md +5 -0
- agent_toolkit/data/profiles/pi/skills/planner/skill.md +3 -0
- agent_toolkit/data/profiles/pi/skills/security-reviewer/skill.md +3 -0
- agent_toolkit/data/profiles/windsurf/memories/global_rules.md +114 -0
- agent_toolkit/data/profiles/windsurf/rules/architect.mdc +23 -0
- agent_toolkit/data/profiles/windsurf/rules/assistant.mdc +61 -0
- agent_toolkit/data/profiles/windsurf/rules/build-error-resolver.mdc +20 -0
- agent_toolkit/data/profiles/windsurf/rules/code-reviewer.mdc +21 -0
- agent_toolkit/data/profiles/windsurf/rules/database-reviewer.mdc +29 -0
- agent_toolkit/data/profiles/windsurf/rules/docs-lookup.mdc +15 -0
- agent_toolkit/data/profiles/windsurf/rules/e2e-runner.mdc +30 -0
- agent_toolkit/data/profiles/windsurf/rules/performance-optimizer.mdc +27 -0
- agent_toolkit/data/profiles/windsurf/rules/planner.mdc +28 -0
- agent_toolkit/data/profiles/windsurf/rules/refactor-cleaner.mdc +26 -0
- agent_toolkit/data/profiles/windsurf/rules/reference-lookup.mdc +20 -0
- agent_toolkit/data/profiles/windsurf/rules/security-reviewer.mdc +20 -0
- agent_toolkit/data/profiles/windsurf/rules/tdd-guide.mdc +26 -0
- agent_toolkit/data/profiles/windsurf/rules/typescript-reviewer.mdc +28 -0
- agent_toolkit/data/skills/accessibility/review/SKILL.md +116 -0
- agent_toolkit/data/skills/accessibility/review/references/a11y-checklist.md +25 -0
- agent_toolkit/data/skills/accessibility/review/references/a11y-findings-template.md +56 -0
- agent_toolkit/data/skills/accessibility/review/references/research.md +47 -0
- agent_toolkit/data/skills/agentic-security/mcp-audit/SKILL.md +116 -0
- agent_toolkit/data/skills/agentic-security/mcp-audit/references/mcp-audit-template.md +51 -0
- agent_toolkit/data/skills/agentic-security/owasp-agentic-review/SKILL.md +73 -0
- agent_toolkit/data/skills/agentic-security/owasp-agentic-review/references/owasp-agentic-template.md +32 -0
- agent_toolkit/data/skills/agentic-security/supply-chain-audit/SKILL.md +142 -0
- agent_toolkit/data/skills/agentic-security/threat-modeling/SKILL.md +100 -0
- agent_toolkit/data/skills/agentic-security/threat-modeling/references/threat-model-template.md +55 -0
- agent_toolkit/data/skills/architecture/c4-model/SKILL.md +49 -0
- agent_toolkit/data/skills/cloud/aws-well-architected-review/SKILL.md +37 -0
- agent_toolkit/data/skills/cloud/cloud-design-patterns/SKILL.md +38 -0
- agent_toolkit/data/skills/core/assistant/SKILL.md +216 -0
- agent_toolkit/data/skills/core/assistant/references/AGENTS_TEMPLATE.md +0 -0
- agent_toolkit/data/skills/core/assistant/references/ORCHESTRATION.md +0 -0
- agent_toolkit/data/skills/core/assistant/references/REPO_INSPECTION.md +0 -0
- agent_toolkit/data/skills/core/dev-companion/SKILL.md +65 -0
- agent_toolkit/data/skills/core/dev-companion/references/LOOP_GUARDRAILS.md +0 -0
- agent_toolkit/data/skills/core/onboarding/SKILL.md +122 -0
- agent_toolkit/data/skills/core/output-handshake/SKILL.md +26 -0
- agent_toolkit/data/skills/core/pr-fallback/SKILL.md +35 -0
- agent_toolkit/data/skills/core/pr-fallback/references/pr-body-default.md +0 -0
- agent_toolkit/data/skills/core/project/SKILL.md +89 -0
- agent_toolkit/data/skills/core/workspace/SKILL.md +103 -0
- agent_toolkit/data/skills/core/workspace-knowledge-sync/SKILL.md +140 -0
- agent_toolkit/data/skills/data/dbt-validation/SKILL.md +41 -0
- agent_toolkit/data/skills/data/snowflake-validation/SKILL.md +38 -0
- agent_toolkit/data/skills/delivery/adr/SKILL.md +56 -0
- agent_toolkit/data/skills/delivery/adr/references/default-template.md +35 -0
- agent_toolkit/data/skills/delivery/adr/references/example-001-graphql-adoption.md +66 -0
- agent_toolkit/data/skills/delivery/agreement/SKILL.md +24 -0
- agent_toolkit/data/skills/delivery/agreement/references/default-template.md +17 -0
- agent_toolkit/data/skills/delivery/agreement/references/example-api-versioning.md +29 -0
- agent_toolkit/data/skills/delivery/bug/SKILL.md +26 -0
- agent_toolkit/data/skills/delivery/bug/references/default-template.md +26 -0
- agent_toolkit/data/skills/delivery/bug/references/example-search-filter-bug.md +58 -0
- agent_toolkit/data/skills/delivery/decision-log/SKILL.md +28 -0
- agent_toolkit/data/skills/delivery/decision-log/references/default-template.md +17 -0
- agent_toolkit/data/skills/delivery/decision-log/references/example-repository-pattern.md +27 -0
- agent_toolkit/data/skills/delivery/development-workflow/SKILL.md +34 -0
- agent_toolkit/data/skills/delivery/development-workflow/references/default-workflow-checklist.md +44 -0
- agent_toolkit/data/skills/delivery/epic/SKILL.md +22 -0
- agent_toolkit/data/skills/delivery/epic/references/default-template.md +26 -0
- agent_toolkit/data/skills/delivery/epic/references/example-unified-dashboard.md +40 -0
- agent_toolkit/data/skills/delivery/incident/SKILL.md +24 -0
- agent_toolkit/data/skills/delivery/incident/references/default-template.md +29 -0
- agent_toolkit/data/skills/delivery/incident/references/example-payment-outage.md +62 -0
- agent_toolkit/data/skills/delivery/management-unit-assessment/SKILL.md +104 -0
- agent_toolkit/data/skills/delivery/management-unit-assessment/references/default-template.md +24 -0
- agent_toolkit/data/skills/delivery/management-unit-assessment/references/example-team-assessment.md +126 -0
- agent_toolkit/data/skills/delivery/meeting-minutes/SKILL.md +25 -0
- agent_toolkit/data/skills/delivery/meeting-minutes/references/default-template.md +22 -0
- agent_toolkit/data/skills/delivery/meeting-minutes/references/example-weekly-sync.md +72 -0
- agent_toolkit/data/skills/delivery/planning/SKILL.md +31 -0
- agent_toolkit/data/skills/delivery/planning/references/default-template.md +25 -0
- agent_toolkit/data/skills/delivery/planning/references/example-sprint-planning.md +62 -0
- agent_toolkit/data/skills/delivery/prd/SKILL.md +46 -0
- agent_toolkit/data/skills/delivery/prd/references/default-template.md +31 -0
- agent_toolkit/data/skills/delivery/prd/references/example-unified-api.md +71 -0
- agent_toolkit/data/skills/delivery/project-assessment/SKILL.md +90 -0
- agent_toolkit/data/skills/delivery/project-assessment/references/default-template.md +26 -0
- agent_toolkit/data/skills/delivery/project-assessment/references/example-platform-assessment.md +122 -0
- agent_toolkit/data/skills/delivery/project-assessment-evidence/SKILL.md +88 -0
- agent_toolkit/data/skills/delivery/project-assessment-evidence/references/default-template.md +24 -0
- agent_toolkit/data/skills/delivery/project-assessment-evidence/references/example-evidence-map.md +46 -0
- agent_toolkit/data/skills/delivery/spike/SKILL.md +24 -0
- agent_toolkit/data/skills/delivery/spike/references/default-template.md +29 -0
- agent_toolkit/data/skills/delivery/spike/references/example-graphql-federation.md +79 -0
- agent_toolkit/data/skills/delivery/task/SKILL.md +21 -0
- agent_toolkit/data/skills/delivery/task/references/default-template.md +21 -0
- agent_toolkit/data/skills/delivery/task/references/example-nav-system.md +33 -0
- agent_toolkit/data/skills/delivery/technical-unit-assessment/SKILL.md +58 -0
- agent_toolkit/data/skills/delivery/technical-unit-assessment/references/default-template.md +26 -0
- agent_toolkit/data/skills/delivery/technical-unit-assessment/references/example-frontend-assessment.md +112 -0
- agent_toolkit/data/skills/delivery/technical-unit-assessment/references/indicator-groups.md +65 -0
- agent_toolkit/data/skills/delivery/trd/SKILL.md +49 -0
- agent_toolkit/data/skills/delivery/trd/references/default-template.md +31 -0
- agent_toolkit/data/skills/delivery/trd/references/example-api-migration.md +122 -0
- agent_toolkit/data/skills/delivery/user-story/SKILL.md +21 -0
- agent_toolkit/data/skills/delivery/user-story/references/default-template.md +21 -0
- agent_toolkit/data/skills/delivery/user-story/references/example-advanced-filtering.md +37 -0
- agent_toolkit/data/skills/delivery/work-item/SKILL.md +31 -0
- agent_toolkit/data/skills/delivery/work-item/references/default-template.md +21 -0
- agent_toolkit/data/skills/delivery/work-item/references/example-routing-dashboard.md +23 -0
- agent_toolkit/data/skills/delivery/workflow-client-bootstrap/SKILL.md +148 -0
- agent_toolkit/data/skills/delivery/workflow-client-bootstrap/questions.yaml +165 -0
- agent_toolkit/data/skills/delivery/workflow-generic-project/SKILL.md +79 -0
- agent_toolkit/data/skills/design/design-assessment/SKILL.md +150 -0
- agent_toolkit/data/skills/design/design-assessment/references/design-scorecard-template.md +78 -0
- agent_toolkit/data/skills/design/design-improvement/SKILL.md +167 -0
- agent_toolkit/data/skills/design/design-improvement/references/improvement-plan-template.md +113 -0
- agent_toolkit/data/skills/design/figma/LICENSE.txt +2 -0
- agent_toolkit/data/skills/design/figma/NOTICE.txt +25 -0
- agent_toolkit/data/skills/design/figma/SKILL.md +98 -0
- agent_toolkit/data/skills/design/figma/references/figma-mcp-config.md +82 -0
- agent_toolkit/data/skills/design/figma/references/figma-tools-and-prompts.md +34 -0
- agent_toolkit/data/skills/design/figma-code-connect-components/LICENSE.txt +2 -0
- agent_toolkit/data/skills/design/figma-code-connect-components/NOTICE.txt +18 -0
- agent_toolkit/data/skills/design/figma-code-connect-components/SKILL.md +354 -0
- agent_toolkit/data/skills/design/figma-code-connect-components/references/mapping-checklist.md +7 -0
- agent_toolkit/data/skills/design/figma-code-connect-components/scripts/normalize_node_id.py +25 -0
- agent_toolkit/data/skills/design/figma-create-design-system-rules/LICENSE.txt +2 -0
- agent_toolkit/data/skills/design/figma-create-design-system-rules/NOTICE.txt +19 -0
- agent_toolkit/data/skills/design/figma-create-design-system-rules/SKILL.md +554 -0
- agent_toolkit/data/skills/design/figma-create-design-system-rules/references/rule-template.md +15 -0
- agent_toolkit/data/skills/design/figma-create-design-system-rules/scripts/check_agents_md.sh +9 -0
- agent_toolkit/data/skills/design/figma-create-new-file/LICENSE.txt +2 -0
- agent_toolkit/data/skills/design/figma-create-new-file/NOTICE.txt +17 -0
- agent_toolkit/data/skills/design/figma-create-new-file/SKILL.md +72 -0
- agent_toolkit/data/skills/design/figma-implement-design/LICENSE.txt +2 -0
- agent_toolkit/data/skills/design/figma-implement-design/NOTICE.txt +19 -0
- agent_toolkit/data/skills/design/figma-implement-design/SKILL.md +268 -0
- agent_toolkit/data/skills/design/frontend-design/LICENSE.txt +177 -0
- agent_toolkit/data/skills/design/frontend-design/SKILL.md +82 -0
- agent_toolkit/data/skills/design/frontend-design/UPSTREAM.md +14 -0
- agent_toolkit/data/skills/design/frontend-design-review/LICENSE +21 -0
- agent_toolkit/data/skills/design/frontend-design-review/SKILL.md +194 -0
- agent_toolkit/data/skills/design/frontend-design-review/references/pattern-examples.md +21 -0
- agent_toolkit/data/skills/design/frontend-design-review/references/quick-checklist.md +38 -0
- agent_toolkit/data/skills/design/frontend-design-review/references/review-output-format.md +68 -0
- agent_toolkit/data/skills/design/frontend-design-review/references/review-type-modifiers.md +31 -0
- agent_toolkit/data/skills/design/web-design-guidelines/SKILL.md +78 -0
- agent_toolkit/data/skills/design/web-design-guidelines/references/LICENSE +21 -0
- agent_toolkit/data/skills/design/web-design-guidelines/references/web-interface-guidelines.md +180 -0
- agent_toolkit/data/skills/forge/gh-address-comments/LICENSE.txt +202 -0
- agent_toolkit/data/skills/forge/gh-address-comments/NOTICE.txt +20 -0
- agent_toolkit/data/skills/forge/gh-address-comments/SKILL.md +72 -0
- agent_toolkit/data/skills/forge/gh-address-comments/scripts/fetch_comments.py +239 -0
- agent_toolkit/data/skills/forge/gh-contribution-planner/SKILL.md +160 -0
- agent_toolkit/data/skills/forge/gh-contribution-planner/scripts/inspect_contributions.py +818 -0
- agent_toolkit/data/skills/forge/gh-fix-ci/LICENSE.txt +201 -0
- agent_toolkit/data/skills/forge/gh-fix-ci/NOTICE.txt +20 -0
- agent_toolkit/data/skills/forge/gh-fix-ci/SKILL.md +74 -0
- agent_toolkit/data/skills/forge/gh-fix-ci/scripts/inspect_pr_checks.py +509 -0
- agent_toolkit/data/skills/forge/github-cli-workflow/SKILL.md +49 -0
- agent_toolkit/data/skills/forge/gitlab-cli-workflow/SKILL.md +44 -0
- agent_toolkit/data/skills/forge/workflow-client-bootstrap/SKILL.md +14 -0
- agent_toolkit/data/skills/forge/workflow-generic-project/SKILL.md +14 -0
- agent_toolkit/data/skills/forge/worktree/SKILL.md +113 -0
- agent_toolkit/data/skills/integrations/clickup-cli/SKILL.md +78 -0
- agent_toolkit/data/skills/integrations/clickup-cli/references/docs-management.md +57 -0
- agent_toolkit/data/skills/integrations/clickup-cli/references/task-management.md +131 -0
- agent_toolkit/data/skills/integrations/clickup-cli/references/time-tracking.md +38 -0
- agent_toolkit/data/skills/integrations/linear/LICENSE.txt +202 -0
- agent_toolkit/data/skills/integrations/linear/NOTICE.txt +23 -0
- agent_toolkit/data/skills/integrations/linear/SKILL.md +134 -0
- agent_toolkit/data/skills/integrations/mcp/SKILL.md +88 -0
- agent_toolkit/data/skills/integrations/slack-assistant/SKILL.md +138 -0
- agent_toolkit/data/skills/integrations/slack-cli/SKILL.md +109 -0
- agent_toolkit/data/skills/integrations/slack-cli/references/INSTALLATION.md +42 -0
- agent_toolkit/data/skills/loops/loop-runner/SKILL.md +92 -0
- agent_toolkit/data/skills/ops/docs-generator/SKILL.md +120 -0
- agent_toolkit/data/skills/ops/llm-cost-advisor/SKILL.md +87 -0
- agent_toolkit/data/skills/ops/swarm/SKILL.md +108 -0
- agent_toolkit/data/skills/ops/swarm-handoff/SKILL.md +112 -0
- agent_toolkit/data/skills/ops/swarm-observer/SKILL.md +102 -0
- agent_toolkit/data/skills/ops/triage/SKILL.md +119 -0
- agent_toolkit/data/skills/quality/codeql/SKILL.md +106 -0
- agent_toolkit/data/skills/quality/codeql/references/codeql-queries.md +43 -0
- agent_toolkit/data/skills/quality/megalinter/SKILL.md +162 -0
- agent_toolkit/data/skills/quality/megalinter/references/megalinter-images.md +36 -0
- agent_toolkit/data/skills/quality/megalinter/references/megalinter-license.md +41 -0
- agent_toolkit/data/skills/quality/megalinter/references/megalinter-targets.md +66 -0
- agent_toolkit/data/skills/tooling/chrome-devtools/SKILL.md +146 -0
- agent_toolkit/data/skills/tooling/herdr/SKILL.md +109 -0
- agent_toolkit/data/skills/tooling/inventory/SKILL.md +81 -0
- agent_toolkit/data/skills/tooling/jupyter-notebook/LICENSE.txt +201 -0
- agent_toolkit/data/skills/tooling/jupyter-notebook/NOTICE.txt +27 -0
- agent_toolkit/data/skills/tooling/jupyter-notebook/SKILL.md +145 -0
- agent_toolkit/data/skills/tooling/jupyter-notebook/assets/experiment-template.ipynb +117 -0
- agent_toolkit/data/skills/tooling/jupyter-notebook/assets/tutorial-template.ipynb +115 -0
- agent_toolkit/data/skills/tooling/jupyter-notebook/references/experiment-patterns.md +10 -0
- agent_toolkit/data/skills/tooling/jupyter-notebook/references/notebook-structure.md +17 -0
- agent_toolkit/data/skills/tooling/jupyter-notebook/references/quality-checklist.md +11 -0
- agent_toolkit/data/skills/tooling/jupyter-notebook/references/tutorial-patterns.md +9 -0
- agent_toolkit/data/skills/tooling/jupyter-notebook/scripts/new_notebook.py +132 -0
- agent_toolkit/data/skills/tooling/mermaid/SKILL.md +36 -0
- agent_toolkit/data/skills/tooling/playwright-cli/LICENSE.txt +201 -0
- agent_toolkit/data/skills/tooling/playwright-cli/NOTICE.txt +29 -0
- agent_toolkit/data/skills/tooling/playwright-cli/SKILL.md +154 -0
- agent_toolkit/data/skills/tooling/playwright-cli/references/cli.md +116 -0
- agent_toolkit/data/skills/tooling/playwright-cli/references/workflows.md +98 -0
- agent_toolkit/data/skills/tooling/playwright-cli/scripts/executable_playwright_cli.sh +25 -0
- agent_toolkit/data_cache.py +79 -0
- agent_toolkit/data_sync.py +144 -0
- agent_toolkit/installer/__init__.py +0 -0
- agent_toolkit/installer/merge.py +59 -0
- agent_toolkit/installer/receipt.py +89 -0
- agent_toolkit/installer/sources.py +92 -0
- agent_toolkit/installer/tracking.py +63 -0
- agent_toolkit/launcher.py +69 -0
- agent_toolkit/loop/__init__.py +0 -0
- agent_toolkit/loop/budget.py +107 -0
- agent_toolkit/loop/gh_gate.py +923 -0
- agent_toolkit/loop/loop-gh-gate +923 -0
- agent_toolkit/loop/pack.py +65 -0
- agent_toolkit/loop/runner.py +2722 -0
- agent_toolkit/runner/__init__.py +0 -0
- agent_toolkit/runner/dispatcher.py +163 -0
- agent_toolkit/runner/policy.py +356 -0
- agent_toolkit/runner/providers/__init__.py +21 -0
- agent_toolkit/runner/providers/anthropic_provider.py +109 -0
- agent_toolkit/runner/providers/base.py +53 -0
- agent_toolkit/runner/providers/ollama_provider.py +108 -0
- agent_toolkit/runner/providers/openai_provider.py +103 -0
- agent_toolkit/runner/providers/opencode_provider.py +127 -0
- agent_toolkit/swarm/__init__.py +5 -0
- agent_toolkit/swarm/approvals.py +121 -0
- agent_toolkit/swarm/backends/__init__.py +596 -0
- agent_toolkit/swarm/budget.py +83 -0
- agent_toolkit/swarm/cli.py +2448 -0
- agent_toolkit/swarm/config.py +351 -0
- agent_toolkit/swarm/handoff.py +174 -0
- agent_toolkit/swarm/models.py +230 -0
- agent_toolkit/swarm/prompts.py +177 -0
- agent_toolkit/swarm/recipes.py +304 -0
- agent_toolkit/swarm/runner.py +267 -0
- agent_toolkit/swarm/state.py +93 -0
- agent_toolkit/swarm/store.py +148 -0
- agent_toolkit/swarm/worktree.py +105 -0
- agent_toolkit/templates/workspace/.gitignore +19 -0
- agent_toolkit/templates/workspace/AGENTS.md +82 -0
- agent_toolkit/templates/workspace/knowledge/README.md +22 -0
- agent_toolkit/templates/workspace/knowledge/learnings/general.md +3 -0
- agent_toolkit/templates/workspace/knowledge/todos/pending.md +7 -0
- agent_toolkit/templates/workspace/packs/README.md +24 -0
- agent_toolkit/templates/workspace/personas/architect.md +12 -0
- agent_toolkit/templates/workspace/personas/implementer.md +12 -0
- agent_toolkit/templates/workspace/personas/researcher.md +12 -0
- agent_toolkit/templates/workspace/personas/reviewer.md +12 -0
- agent_toolkit_cli-1.11.0.dist-info/METADATA +363 -0
- agent_toolkit_cli-1.11.0.dist-info/RECORD +438 -0
- agent_toolkit_cli-1.11.0.dist-info/WHEEL +4 -0
- agent_toolkit_cli-1.11.0.dist-info/entry_points.txt +4 -0
- agent_toolkit_cli-1.11.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design-review
|
|
3
|
+
description: >
|
|
4
|
+
Review and create distinctive, production-grade frontend interfaces with high design
|
|
5
|
+
quality and design system compliance. Evaluates using three pillars: frictionless
|
|
6
|
+
insight-to-action, quality craft, and trustworthy building.
|
|
7
|
+
origin:
|
|
8
|
+
type: upstream
|
|
9
|
+
upstream:
|
|
10
|
+
repository: microsoft/skills
|
|
11
|
+
path: .github/skills/frontend-design-review
|
|
12
|
+
ref: e58528db9a006528a5fb0a2c029790fa6a9a7c0e
|
|
13
|
+
license: MIT
|
|
14
|
+
version: e58528d
|
|
15
|
+
trust:
|
|
16
|
+
tier: reviewed
|
|
17
|
+
reviewed_at: '2026-08-11'
|
|
18
|
+
reviewed_by: ulises-jeremias
|
|
19
|
+
reviewed_provenance: sha256:5394cd7cf5d9c56acd77c251da40cb603795ac5e5b4d817578991d12d57d2be7
|
|
20
|
+
maintenance:
|
|
21
|
+
status: active
|
|
22
|
+
last_activity: '2026-08-11'
|
|
23
|
+
distribution:
|
|
24
|
+
mode: vendored
|
|
25
|
+
redistribution_allowed: true
|
|
26
|
+
security:
|
|
27
|
+
scripts: false
|
|
28
|
+
shell: false
|
|
29
|
+
network: false
|
|
30
|
+
mcp: []
|
|
31
|
+
hooks: []
|
|
32
|
+
dangerous_permissions: []
|
|
33
|
+
cve_policy: not-applicable
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
# Frontend Design Review
|
|
37
|
+
|
|
38
|
+
> **Frozen vendored snapshot** of `microsoft/skills` `.github/skills/frontend-design-review` at `e58528d` (commit `e58528db9a006528a5fb0a2c029790fa6a9a7c0e`, MIT) per ADR-0001 declaration→lock→vendored→surfaces. All references are local `references/` — no runtime network fetch. See `capabilities/upstream.lock` `design/frontend-design-review` and `docs/UPSTREAM.md`.
|
|
39
|
+
|
|
40
|
+
Review UI implementations against design quality standards and your design system **OR** create distinctive, production-grade frontend interfaces from scratch.
|
|
41
|
+
|
|
42
|
+
## Two Modes
|
|
43
|
+
|
|
44
|
+
### Mode 1: Design Review
|
|
45
|
+
Evaluate existing UI for design system compliance, three quality pillars (Frictionless, Quality Craft, Trustworthy), accessibility, and code quality.
|
|
46
|
+
|
|
47
|
+
### Mode 2: Creative Frontend Design
|
|
48
|
+
Create distinctive interfaces that avoid generic "AI slop" aesthetics, have clear conceptual direction, and execute with precision.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Creative Frontend Design
|
|
53
|
+
|
|
54
|
+
Before coding, commit to an aesthetic direction:
|
|
55
|
+
- **Purpose**: What problem does this solve? Who uses it?
|
|
56
|
+
- **Tone**: minimal, maximalist, retro-futuristic, organic, luxury, playful, editorial, brutalist, art deco, soft/pastel, industrial, etc.
|
|
57
|
+
- **Constraints**: Framework, performance, accessibility requirements.
|
|
58
|
+
- **Differentiation**: What makes this distinctive and context-appropriate?
|
|
59
|
+
|
|
60
|
+
### Aesthetics Guidelines
|
|
61
|
+
|
|
62
|
+
- **Typography**: Distinctive fonts that elevate aesthetics. Pair a display font with a refined body font. Avoid Inter, Roboto, Arial, Space Grotesk.
|
|
63
|
+
- **Color & Theme**: Cohesive palette with CSS variables. Dominant colors + sharp accents > timid, evenly-distributed palettes.
|
|
64
|
+
- **Motion**: CSS-only preferred. One well-orchestrated page load with staggered reveals > scattered micro-interactions.
|
|
65
|
+
- **Spatial Composition**: Asymmetry, overlap, diagonal flow, grid-breaking elements, generous negative space OR controlled density.
|
|
66
|
+
- **Backgrounds**: Gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, grain overlays.
|
|
67
|
+
|
|
68
|
+
**AVOID**: Overused fonts, cliched color schemes, predictable layouts, cookie-cutter design without context-specific character.
|
|
69
|
+
|
|
70
|
+
Match implementation complexity to vision. Maximalist = elaborate code. Minimalist = restraint and precision.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Design Review
|
|
75
|
+
|
|
76
|
+
### Design System Workflow
|
|
77
|
+
|
|
78
|
+
**Before implementing:**
|
|
79
|
+
1. Review component in your Storybook / component library for API and usage
|
|
80
|
+
2. Use Figma Dev Mode to get exact specs (spacing, tokens, properties)
|
|
81
|
+
3. Implement using design system components + design tokens
|
|
82
|
+
|
|
83
|
+
**During review:**
|
|
84
|
+
1. Compare implementation to Figma design
|
|
85
|
+
2. Verify design tokens are used (not hardcoded values)
|
|
86
|
+
3. Check all variants/states are implemented correctly
|
|
87
|
+
4. Flag deviations (needs design approval)
|
|
88
|
+
|
|
89
|
+
**If component doesn't exist:**
|
|
90
|
+
1. Check if existing component can be adapted
|
|
91
|
+
2. Reach out to design for new component creation
|
|
92
|
+
3. Document exception and rationale in code
|
|
93
|
+
|
|
94
|
+
### Review Process
|
|
95
|
+
|
|
96
|
+
1. Identify user task
|
|
97
|
+
2. Check design system for matching patterns
|
|
98
|
+
3. Evaluate aesthetic direction
|
|
99
|
+
4. Identify scope (component, feature, or flow)
|
|
100
|
+
5. Evaluate each pillar
|
|
101
|
+
6. Score and prioritize issues (blocking/major/minor)
|
|
102
|
+
7. Provide recommendations with design system examples
|
|
103
|
+
|
|
104
|
+
### Core Principles
|
|
105
|
+
|
|
106
|
+
- **Task completion**: Minimum clicks. Every screen answers "What can I do?" and "What happens next?"
|
|
107
|
+
- **Action hierarchy**: 1-2 primary actions per view. Progressive disclosure for secondary.
|
|
108
|
+
- **Onboarding**: Explain features on introduction. Smart defaults over configuration.
|
|
109
|
+
- **Navigation**: Clear entry/exit points. Back/cancel always available. Breadcrumbs for deep flows.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Quality Pillars
|
|
114
|
+
|
|
115
|
+
### 1. Frictionless Insight to Action
|
|
116
|
+
|
|
117
|
+
**Evaluate:** Task completable in ≤3 interactions? Primary action obvious and singular?
|
|
118
|
+
|
|
119
|
+
**Red flags:** Excessive clicks, multiple competing primary buttons, buried actions, dead ends.
|
|
120
|
+
|
|
121
|
+
### 2. Quality is Craft
|
|
122
|
+
|
|
123
|
+
**Evaluate:**
|
|
124
|
+
- Design system compliance: matches Figma specs, uses design tokens
|
|
125
|
+
- Aesthetic direction: distinctive typography, cohesive colors, intentional motion
|
|
126
|
+
- Accessibility: Grade C minimum (WCAG 2.1 A), Grade B ideal (WCAG 2.1 AA)
|
|
127
|
+
|
|
128
|
+
**Red flags:** Generic AI aesthetics, hardcoded values, implementation doesn't match Figma, broken reflow, missing focus indicators.
|
|
129
|
+
|
|
130
|
+
### 3. Trustworthy Building
|
|
131
|
+
|
|
132
|
+
**Evaluate:**
|
|
133
|
+
- AI transparency: disclaimer on AI-generated content
|
|
134
|
+
- Error transparency: actionable error messages
|
|
135
|
+
|
|
136
|
+
**Red flags:** Missing AI disclaimers, opaque errors without guidance.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Review Output Format
|
|
141
|
+
|
|
142
|
+
See [references/review-output-format.md](references/review-output-format.md) for the full review template.
|
|
143
|
+
|
|
144
|
+
## Review Type Modifiers
|
|
145
|
+
|
|
146
|
+
See [references/review-type-modifiers.md](references/review-type-modifiers.md) for context-specific review focus areas (PR, Creative, Design, Accessibility).
|
|
147
|
+
|
|
148
|
+
## Quick Checklist
|
|
149
|
+
|
|
150
|
+
See [references/quick-checklist.md](references/quick-checklist.md) for the pre-approval checklist covering design system compliance, aesthetic quality, frictionless, quality craft, and trustworthy pillars.
|
|
151
|
+
|
|
152
|
+
## Pattern Examples
|
|
153
|
+
|
|
154
|
+
See [references/pattern-examples.md](references/pattern-examples.md) for good/bad examples of creative frontend and design system review work.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Acknowledgments
|
|
159
|
+
|
|
160
|
+
Creative frontend principles inspired by [Anthropic's frontend-design skill](https://github.com/anthropics/skills/tree/main/skills/frontend-design). Design review principles and quality pillar framework created by [@Quirinevwm](https://github.com/Quirinevwm) for systematic UI evaluation.
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Toolkit integration
|
|
166
|
+
|
|
167
|
+
### Delegation — visual critique vs project health
|
|
168
|
+
|
|
169
|
+
| Concern | Owner skill | What it does | When to use |
|
|
170
|
+
|---------|-------------|--------------|-------------|
|
|
171
|
+
| Project health (tech/mgmt) | `technical-unit-assessment` + `project-assessment-evidence` | Evidence-based 1–5 scoring of repo/platform/infra units; no visual judgment | Repo health, CI, security posture |
|
|
172
|
+
| Design orchestration | `design-assessment` (planned #373, per ADR-0002 Option A) | Orchestrates discovery→inspect→capture→visual/UX/a11y/responsive/DS/AI-slop/perf→findings→roadmap; reuses evidence semantics; fans out to reviewers | Full product design audit |
|
|
173
|
+
| Procedural visual critique | **`frontend-design-review`** (this skill) | Checklist evaluation of hierarchy, design-system compliance, three pillars (frictionless / quality craft / trustworthy), a11y, responsive, polish, AI-slop — outputs severity-ranked findings with citations | PR review, component review, creative frontend kickoff |
|
|
174
|
+
| Distinctive visual direction | `frontend-design` | Studio-lead aesthetic choice, palette/type/layout thesis | New UI creation with intentional style |
|
|
175
|
+
|
|
176
|
+
**This skill does not score project health.** For project health use `technical-unit-assessment`. For full design product audit, `design-assessment` will delegate to this skill for the procedural visual pass, alongside `web-design-guidelines` (Web Interface Guidelines rules) and browser/accessibility/Figma reviewers.
|
|
177
|
+
|
|
178
|
+
### Evidence-cited findings — no fake scores
|
|
179
|
+
|
|
180
|
+
- Never emit numeric scores (e.g. `72/100`) without observable evidence. Use **severity bands** `Blocking / Major / Minor` with `confidence` and `evidence` per finding, reusing `project-assessment-evidence` semantics where applicable.
|
|
181
|
+
- Every issue must cite: **observation** (what you saw — screenshot region, code line, token mismatch), **impact** (user/task consequence), **effort**, and **recommended fix** with design-system link or token reference.
|
|
182
|
+
- Mark indicators as **Not assessed** when screenshot/code unavailable rather than inventing a rating. Vision harness unavailable → text-only heuristic review with lower confidence, explicitly flagged.
|
|
183
|
+
|
|
184
|
+
### Wiring to `design-assessment` (planned)
|
|
185
|
+
|
|
186
|
+
This skill is a **delegate of `design-assessment`**. The orchestrator (see #373) will call it during the `VISUAL REVIEW` phase, passing captured screens/states (Playwright) and design-system manifest (Figma tokens / Storybook / Tailwind). It runs in parallel with `accessibility` / `web-design-guidelines` reviewers where the harness supports subagents, otherwise sequentially. Future `design-assessment` will document the full routing.
|
|
187
|
+
|
|
188
|
+
### Provenance
|
|
189
|
+
|
|
190
|
+
- Upstream: `microsoft/skills` `.github/skills/frontend-design-review` + `references/*` at `e58528db9a006528a5fb0a2c029790fa6a9a7c0e` (MIT), `LICENSE` vendored here as `LICENSE`.
|
|
191
|
+
- Lock: `capabilities/upstream.lock` `design/frontend-design-review` `provenance_digest` (commit + content_checksum + license), `trust.reviewed_provenance` binding.
|
|
192
|
+
- References vendored: `references/review-output-format.md`, `references/review-type-modifiers.md`, `references/quick-checklist.md`, `references/pattern-examples.md` — byte-identical to upstream at pinned commit.
|
|
193
|
+
- Update: `pull-request` per `resolved_at`; never fetch `main` at runtime.
|
|
194
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Pattern Examples
|
|
2
|
+
|
|
3
|
+
## Creative Frontend (New Interfaces)
|
|
4
|
+
|
|
5
|
+
### Good: Clear Aesthetic Direction
|
|
6
|
+
- Landing page with brutalist aesthetic: Raw typography (Neue Haas Grotesk), stark black and white, asymmetric layouts
|
|
7
|
+
- Dashboard with organic theme: Rounded forms, earth tones, flowing animations, textured backgrounds
|
|
8
|
+
|
|
9
|
+
### Bad: Generic AI Aesthetic
|
|
10
|
+
- Overused fonts, cliched color schemes, centered content, generic card layouts
|
|
11
|
+
|
|
12
|
+
## Design System Review (Existing Work)
|
|
13
|
+
|
|
14
|
+
### Good: Frictionless
|
|
15
|
+
- Single primary button, clear task completion path
|
|
16
|
+
|
|
17
|
+
### Good: Quality Craft
|
|
18
|
+
- Uses design system with tokens, distinctive typography, keyboard accessible, tested in themes
|
|
19
|
+
|
|
20
|
+
### Bad: Quality Craft
|
|
21
|
+
- Hardcoded values, generic overused fonts, poor contrast in dark mode
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Quick Checklist
|
|
2
|
+
|
|
3
|
+
Before approving any UI work:
|
|
4
|
+
|
|
5
|
+
## Design System Compliance
|
|
6
|
+
- [ ] Component verified in your Figma Design System
|
|
7
|
+
- [ ] Component implementation checked in your Component Library
|
|
8
|
+
- [ ] Figma Dev Mode specs followed (spacing, tokens, typography)
|
|
9
|
+
- [ ] Design tokens used (no hardcoded hex colors or pixel values)
|
|
10
|
+
- [ ] Token imports verified in code
|
|
11
|
+
- [ ] All variants/states implemented as designed in Figma
|
|
12
|
+
- [ ] Spacing measurements match Figma Dev Mode exactly
|
|
13
|
+
- [ ] Deviations documented with design approval
|
|
14
|
+
|
|
15
|
+
## Aesthetic Quality (especially for new designs)
|
|
16
|
+
- [ ] Clear conceptual direction (not generic overused fonts and cliched schemes)
|
|
17
|
+
- [ ] Distinctive typography (avoid overused fonts)
|
|
18
|
+
- [ ] Cohesive color palette with CSS variables
|
|
19
|
+
- [ ] Intentional motion (staggered reveals, hover states)
|
|
20
|
+
- [ ] Visual interest through composition (asymmetry, overlap, grid-breaking)
|
|
21
|
+
- [ ] Atmosphere through backgrounds (gradients, textures, patterns)
|
|
22
|
+
- [ ] Implementation complexity matches vision
|
|
23
|
+
|
|
24
|
+
## Frictionless
|
|
25
|
+
- [ ] Core task completable efficiently (≤3 interactions)
|
|
26
|
+
- [ ] Single clear primary action per view
|
|
27
|
+
|
|
28
|
+
## Quality Craft
|
|
29
|
+
- [ ] Uses design system components (verified in Figma)
|
|
30
|
+
- [ ] Design tokens used (no hardcoded values)
|
|
31
|
+
- [ ] Distinctive aesthetic (not generic overused fonts/cliched schemes)
|
|
32
|
+
- [ ] Accessible (Grade C minimum, Grade B ideal)
|
|
33
|
+
- [ ] Keyboard navigation complete
|
|
34
|
+
- [ ] Tested in light/dark/high contrast modes
|
|
35
|
+
|
|
36
|
+
## Trustworthy
|
|
37
|
+
- [ ] AI-generated content has disclaimer
|
|
38
|
+
- [ ] Error messages are actionable
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Review Output Format
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
## Frontend Design Review: [Component/Feature Name]
|
|
5
|
+
|
|
6
|
+
### Context
|
|
7
|
+
- **Purpose**: What problem does this solve? Who uses it?
|
|
8
|
+
- **Aesthetic Direction**: [If new design: describe the bold conceptual direction]
|
|
9
|
+
- **User Task**: What is the user trying to accomplish?
|
|
10
|
+
|
|
11
|
+
### Summary
|
|
12
|
+
[Pass/Needs Work/Blocked] - [One-line assessment]
|
|
13
|
+
|
|
14
|
+
### Design System Compliance (if applicable)
|
|
15
|
+
- [ ] Component exists in [Your Figma Design System]
|
|
16
|
+
- [ ] Component usage verified in [Your Component Library]
|
|
17
|
+
- [ ] Implementation matches Figma specs (spacing, colors, typography)
|
|
18
|
+
- [ ] Uses design tokens (not hardcoded values) - verified in code
|
|
19
|
+
- [ ] All variants match design system options
|
|
20
|
+
- [ ] Spacing verified against Figma Dev Mode
|
|
21
|
+
- [ ] Documented exception if deviating from design system
|
|
22
|
+
|
|
23
|
+
### Aesthetic Quality (especially for new designs)
|
|
24
|
+
- [ ] Clear conceptual direction (not generic AI aesthetic)
|
|
25
|
+
- [ ] Distinctive typography choices
|
|
26
|
+
- [ ] Cohesive color palette with CSS variables
|
|
27
|
+
- [ ] Intentional motion and micro-interactions
|
|
28
|
+
- [ ] Spatial composition creates visual interest
|
|
29
|
+
- [ ] Backgrounds and visual details add atmosphere
|
|
30
|
+
|
|
31
|
+
### Pillar Assessment
|
|
32
|
+
|
|
33
|
+
| Pillar | Status | Notes |
|
|
34
|
+
|--------|--------|-------|
|
|
35
|
+
| Frictionless | 🟢/🟠/⚫ | Task completion efficient, primary action clear |
|
|
36
|
+
| Quality Craft | 🟢/🟠/⚫ | Design system compliant, aesthetic distinctive, accessible |
|
|
37
|
+
| Trustworthy | 🟢/🟠/⚫ | AI disclaimers present, errors actionable |
|
|
38
|
+
|
|
39
|
+
**Legend:** 🟢 Pass | 🟠 Needs attention | ⚫ Blocking issue
|
|
40
|
+
|
|
41
|
+
### Design Critique
|
|
42
|
+
**Verdict:** [Pass / Needs work / Reach out to design for more support]
|
|
43
|
+
|
|
44
|
+
**Rationale:** [Brief explanation based on pillar assessment, design system compliance, and aesthetic direction]
|
|
45
|
+
|
|
46
|
+
**Criteria:**
|
|
47
|
+
- **Pass**: All pillars 🟢 or minor 🟠 that don't block user tasks, design system compliant, clear aesthetic direction
|
|
48
|
+
- **Needs work**: Multiple 🟠 or any critical workflow issues, design system deviations, or generic aesthetic choices
|
|
49
|
+
- **Reach out to design for more support**: Any ⚫ blocking issues, fundamental pattern problems, major design system violations, or need for aesthetic direction
|
|
50
|
+
|
|
51
|
+
### Issues
|
|
52
|
+
|
|
53
|
+
**Blocking (must fix before merge):**
|
|
54
|
+
1. [Pillar/Design System/Aesthetic] Issue description + recommendation with link
|
|
55
|
+
|
|
56
|
+
**Major (should fix):**
|
|
57
|
+
1. [Pillar/Design System/Aesthetic] Issue description + pattern suggestion with reference
|
|
58
|
+
|
|
59
|
+
**Minor (consider for refinement):**
|
|
60
|
+
1. [Pillar/Design System/Aesthetic] Issue description + optional improvement
|
|
61
|
+
|
|
62
|
+
### Recommendations
|
|
63
|
+
- [Design system component to use with link]
|
|
64
|
+
- [Specific code change with design token reference]
|
|
65
|
+
- [Typography recommendation for better aesthetic direction]
|
|
66
|
+
- [Motion/animation suggestion]
|
|
67
|
+
- [Link to design system in Figma]
|
|
68
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Review Type Modifiers
|
|
2
|
+
|
|
3
|
+
Adjust focus based on review context:
|
|
4
|
+
|
|
5
|
+
## PR Review
|
|
6
|
+
- **Focus**: Code implementation, design system component usage, design token usage, accessibility in code
|
|
7
|
+
- **Check**: Proper imports, design tokens used (not hardcoded), ARIA attributes present
|
|
8
|
+
- **Verify**: Component matches Figma specs using Dev Mode
|
|
9
|
+
|
|
10
|
+
## Creative Frontend Review
|
|
11
|
+
- **Focus**: Aesthetic direction, typography choices, visual distinctiveness, motion design
|
|
12
|
+
- **Check**: Clear conceptual intent, avoiding generic AI patterns, cohesive execution
|
|
13
|
+
- **Verify**: Implementation complexity matches vision (maximalist needs elaborate code, minimalist needs precision)
|
|
14
|
+
|
|
15
|
+
## Design Review
|
|
16
|
+
- **Focus**: User flows, interaction patterns, visual hierarchy, navigation, design system alignment
|
|
17
|
+
- **Check**: Task completion path, action hierarchy, progressive disclosure
|
|
18
|
+
- **Verify**: All components exist in design system or have documented exceptions
|
|
19
|
+
|
|
20
|
+
## Accessibility Audit
|
|
21
|
+
- **Focus**: Deep dive Quality Craft pillar
|
|
22
|
+
- **Check**: Keyboard testing, screen reader testing, contrast ratios, ARIA patterns
|
|
23
|
+
- **Test with**: Screen readers (NVDA, JAWS, Narrator), keyboard only, 200% zoom
|
|
24
|
+
- **Verify**: Design system accessibility features are properly implemented
|
|
25
|
+
|
|
26
|
+
## Design System Compliance Audit
|
|
27
|
+
- **Focus**: Deep dive design system usage
|
|
28
|
+
- **Check**: All components match Figma specs, design tokens used throughout, no hardcoded values
|
|
29
|
+
- **Test**: Compare implementation side-by-side with Figma using Dev Mode
|
|
30
|
+
- **Verify**: Component variants, spacing, colors, typography all match design system
|
|
31
|
+
- **Document**: Any deviations with rationale and plan to align
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-design-guidelines
|
|
3
|
+
description: Review UI code for Web Interface Guidelines compliance — accessibility, focus, forms, animation, typography, performance, and anti-patterns. Use when asked to "review my UI", "check accessibility", "audit design", or "review UX".
|
|
4
|
+
origin:
|
|
5
|
+
type: upstream
|
|
6
|
+
sources:
|
|
7
|
+
- id: wrapper
|
|
8
|
+
role: wrapper
|
|
9
|
+
repository: vercel-labs/agent-skills
|
|
10
|
+
path: skills/web-design-guidelines
|
|
11
|
+
ref: 7c180d9044c9ae2b442b567aad4e42a28dd5ed62
|
|
12
|
+
license: NOASSERTION
|
|
13
|
+
- id: rules
|
|
14
|
+
role: rules
|
|
15
|
+
repository: vercel-labs/web-interface-guidelines
|
|
16
|
+
path: command.md
|
|
17
|
+
ref: 4e799d45c17aec1498c269287a83b9dba22b966b
|
|
18
|
+
license: MIT
|
|
19
|
+
trust:
|
|
20
|
+
tier: reviewed
|
|
21
|
+
reviewed_at: '2026-08-11'
|
|
22
|
+
reviewed_by: ulises-jeremias
|
|
23
|
+
reviewed_provenance: sha256:7c23f915c756d4322d1b8ca17ed1d57a98cc6accd11a11ae765e288a181ff870
|
|
24
|
+
maintenance:
|
|
25
|
+
status: active
|
|
26
|
+
last_activity: '2026-07-24'
|
|
27
|
+
distribution:
|
|
28
|
+
mode: vendored
|
|
29
|
+
redistribution_allowed: false
|
|
30
|
+
security:
|
|
31
|
+
scripts: false
|
|
32
|
+
shell: false
|
|
33
|
+
network: false
|
|
34
|
+
mcp: []
|
|
35
|
+
hooks: []
|
|
36
|
+
dangerous_permissions: []
|
|
37
|
+
cve_policy: not-applicable
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
# Web Design Guidelines
|
|
41
|
+
|
|
42
|
+
Review UI code for compliance with Vercel Web Interface Guidelines (frozen vendored snapshot).
|
|
43
|
+
|
|
44
|
+
This skill is a **frozen, dual-source vendored** adaptation of:
|
|
45
|
+
|
|
46
|
+
- **Wrapper:** `vercel-labs/agent-skills` `skills/web-design-guidelines` at `7c180d9` (NOASSERTION — no LICENSE file, README declares MIT but not machine-verifiable)
|
|
47
|
+
- **Rules:** `vercel-labs/web-interface-guidelines` `command.md` at `4e799d4` (MIT)
|
|
48
|
+
|
|
49
|
+
The original upstream `SKILL.md` fetched the guidelines from the `web-interface-guidelines` repository `main` branch at runtime via `WebFetch` — a mutable fetch that violated supply-chain reproducibility. This Toolkit skill **freezes** that content into `references/web-interface-guidelines.md` and removes the network fetch.
|
|
50
|
+
|
|
51
|
+
## How it works (frozen)
|
|
52
|
+
|
|
53
|
+
1. Read the **frozen guidelines** from `references/web-interface-guidelines.md` (do not fetch from the network)
|
|
54
|
+
2. Read the specified files (or ask user for files/pattern)
|
|
55
|
+
3. Check against all rules in the frozen guidelines
|
|
56
|
+
4. Output findings in the terse `file:line` format specified in the guidelines
|
|
57
|
+
|
|
58
|
+
## Usage
|
|
59
|
+
|
|
60
|
+
When a user provides a file or pattern argument:
|
|
61
|
+
|
|
62
|
+
1. Read `references/web-interface-guidelines.md` from this skill directory (not the network)
|
|
63
|
+
2. Read the specified source files
|
|
64
|
+
3. Apply all rules from the frozen guidelines
|
|
65
|
+
4. Output findings using the format in the guidelines (grouped by file, `file:line` entries, `✓ pass` if clean)
|
|
66
|
+
|
|
67
|
+
If no files specified, ask which files to review. Never fetch from the network — use the vendored `references/` copy.
|
|
68
|
+
|
|
69
|
+
## Source mapping
|
|
70
|
+
|
|
71
|
+
- `references/web-interface-guidelines.md` — frozen `command.md` at `4e799d4` (MIT), `sha256:eea73cb6dd46fee9faec9973e8e7fe198b5f07ec326f14d276a56e50287e1cab`
|
|
72
|
+
- This `SKILL.md` wrapper body adapted from `vercel-labs/agent-skills` `7c180d9` (NOASSERTION), original `SKILL.md` `sha256:f4647ca866a3accf763777f83e7682954f0187cd6bea7eea0399796652414e8f`; frozen wrapper checksum below is vendored artifact `sha256:...` (Toolkit frontmatter + adapted body)
|
|
73
|
+
|
|
74
|
+
## Provenance
|
|
75
|
+
|
|
76
|
+
See `capabilities/upstream.lock` `design/web-design-guidelines` (dual-source, `provenance_digest`), `docs/UPSTREAM.md`, and `docs/adr/0001...` for declaration→lock→vendored→surfaces.
|
|
77
|
+
|
|
78
|
+
Update strategy: `pull-request` per `capabilities/upstream.lock` `resolved_at`; never `main` fetch.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Vercel Labs
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review UI code for Vercel Web Interface Guidelines compliance
|
|
3
|
+
argument-hint: <file-or-pattern>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Web Interface Guidelines
|
|
7
|
+
|
|
8
|
+
Review these files for compliance: $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
Read files, check against rules below. Output concise but comprehensive—sacrifice grammar for brevity. High signal-to-noise.
|
|
11
|
+
|
|
12
|
+
## Rules
|
|
13
|
+
|
|
14
|
+
### Accessibility
|
|
15
|
+
|
|
16
|
+
- Icon-only buttons need `aria-label`
|
|
17
|
+
- Form controls need `<label>` or `aria-label`
|
|
18
|
+
- Interactive elements need keyboard handlers (`onKeyDown`/`onKeyUp`)
|
|
19
|
+
- `<button>` for actions, `<a>`/`<Link>` for navigation (not `<div onClick>`)
|
|
20
|
+
- Images need `alt` (or `alt=""` if decorative)
|
|
21
|
+
- Decorative icons need `aria-hidden="true"`
|
|
22
|
+
- Async updates (toasts, validation) need `aria-live="polite"`
|
|
23
|
+
- Use semantic HTML (`<button>`, `<a>`, `<label>`, `<table>`) before ARIA
|
|
24
|
+
- Headings hierarchical `<h1>`–`<h6>`; include skip link for main content
|
|
25
|
+
- `scroll-margin-top` on heading anchors
|
|
26
|
+
|
|
27
|
+
### Focus States
|
|
28
|
+
|
|
29
|
+
- Interactive elements need visible focus: `focus-visible:ring-*` or equivalent
|
|
30
|
+
- Never `outline-none` / `outline: none` without focus replacement
|
|
31
|
+
- Use `:focus-visible` over `:focus` (avoid focus ring on click)
|
|
32
|
+
- Group focus with `:focus-within` for compound controls
|
|
33
|
+
|
|
34
|
+
### Forms
|
|
35
|
+
|
|
36
|
+
- Inputs need `autocomplete` and meaningful `name`
|
|
37
|
+
- Use correct `type` (`email`, `tel`, `url`, `number`) and `inputmode`
|
|
38
|
+
- Never block paste (`onPaste` + `preventDefault`)
|
|
39
|
+
- Labels clickable (`htmlFor` or wrapping control)
|
|
40
|
+
- Disable spellcheck on emails, codes, usernames (`spellCheck={false}`)
|
|
41
|
+
- Checkboxes/radios: label + control share single hit target (no dead zones)
|
|
42
|
+
- Submit button stays enabled until request starts; spinner during request
|
|
43
|
+
- Errors inline next to fields; focus first error on submit
|
|
44
|
+
- Placeholders end with `…` and show example pattern
|
|
45
|
+
- `autocomplete="off"` on non-auth fields to avoid password manager triggers
|
|
46
|
+
- Warn before navigation with unsaved changes (`beforeunload` or router guard)
|
|
47
|
+
|
|
48
|
+
### Animation
|
|
49
|
+
|
|
50
|
+
- Honor `prefers-reduced-motion` (provide reduced variant or disable)
|
|
51
|
+
- Animate `transform`/`opacity` only (compositor-friendly)
|
|
52
|
+
- Never `transition: all`—list properties explicitly
|
|
53
|
+
- Set correct `transform-origin`
|
|
54
|
+
- SVG: transforms on `<g>` wrapper with `transform-box: fill-box; transform-origin: center`
|
|
55
|
+
- Animations interruptible—respond to user input mid-animation
|
|
56
|
+
|
|
57
|
+
### Typography
|
|
58
|
+
|
|
59
|
+
- `…` not `...`
|
|
60
|
+
- Curly quotes `"` `"` not straight `"`
|
|
61
|
+
- Non-breaking spaces: `10 MB`, `⌘ K`, brand names
|
|
62
|
+
- Loading states end with `…`: `"Loading…"`, `"Saving…"`
|
|
63
|
+
- `font-variant-numeric: tabular-nums` for number columns/comparisons
|
|
64
|
+
- Use `text-wrap: balance` or `text-pretty` on headings (prevents widows)
|
|
65
|
+
|
|
66
|
+
### Content Handling
|
|
67
|
+
|
|
68
|
+
- Text containers handle long content: `truncate`, `line-clamp-*`, or `break-words`
|
|
69
|
+
- Flex children need `min-w-0` to allow text truncation
|
|
70
|
+
- Handle empty states—don't render broken UI for empty strings/arrays
|
|
71
|
+
- User-generated content: anticipate short, average, and very long inputs
|
|
72
|
+
|
|
73
|
+
### Images
|
|
74
|
+
|
|
75
|
+
- `<img>` needs explicit `width` and `height` (prevents CLS)
|
|
76
|
+
- Below-fold images: `loading="lazy"`
|
|
77
|
+
- Above-fold critical images: `priority` or `fetchpriority="high"`
|
|
78
|
+
|
|
79
|
+
### Performance
|
|
80
|
+
|
|
81
|
+
- Large lists (>50 items): virtualize (`virtua`, `content-visibility: auto`)
|
|
82
|
+
- No layout reads in render (`getBoundingClientRect`, `offsetHeight`, `offsetWidth`, `scrollTop`)
|
|
83
|
+
- Batch DOM reads/writes; avoid interleaving
|
|
84
|
+
- Prefer uncontrolled inputs; controlled inputs must be cheap per keystroke
|
|
85
|
+
- Add `<link rel="preconnect">` for CDN/asset domains
|
|
86
|
+
- Critical fonts: `<link rel="preload" as="font">` with `font-display: swap`
|
|
87
|
+
|
|
88
|
+
### Navigation & State
|
|
89
|
+
|
|
90
|
+
- URL reflects state—filters, tabs, pagination, expanded panels in query params
|
|
91
|
+
- Links use `<a>`/`<Link>` (Cmd/Ctrl+click, middle-click support)
|
|
92
|
+
- Deep-link all stateful UI (if uses `useState`, consider URL sync via nuqs or similar)
|
|
93
|
+
- Destructive actions need confirmation modal or undo window—never immediate
|
|
94
|
+
|
|
95
|
+
### Touch & Interaction
|
|
96
|
+
|
|
97
|
+
- `touch-action: manipulation` (prevents double-tap zoom delay)
|
|
98
|
+
- `-webkit-tap-highlight-color` set intentionally
|
|
99
|
+
- `overscroll-behavior: contain` in modals/drawers/sheets
|
|
100
|
+
- During drag: disable text selection, `inert` on dragged elements
|
|
101
|
+
- `autoFocus` sparingly—desktop only, single primary input; avoid on mobile
|
|
102
|
+
|
|
103
|
+
### Safe Areas & Layout
|
|
104
|
+
|
|
105
|
+
- Full-bleed layouts need `env(safe-area-inset-*)` for notches
|
|
106
|
+
- Avoid unwanted scrollbars: `overflow-x-hidden` on containers, fix content overflow
|
|
107
|
+
- Flex/grid over JS measurement for layout
|
|
108
|
+
|
|
109
|
+
### Dark Mode & Theming
|
|
110
|
+
|
|
111
|
+
- `color-scheme: dark` on `<html>` for dark themes (fixes scrollbar, inputs)
|
|
112
|
+
- `<meta name="theme-color">` matches page background
|
|
113
|
+
- Native `<select>`: explicit `background-color` and `color` (Windows dark mode)
|
|
114
|
+
|
|
115
|
+
### Locale & i18n
|
|
116
|
+
|
|
117
|
+
- Dates/times: use `Intl.DateTimeFormat` not hardcoded formats
|
|
118
|
+
- Numbers/currency: use `Intl.NumberFormat` not hardcoded formats
|
|
119
|
+
- Detect language via `Accept-Language` / `navigator.languages`, not IP
|
|
120
|
+
- Brand names, code tokens, identifiers: wrap with `translate="no"` to prevent garbled auto-translation
|
|
121
|
+
|
|
122
|
+
### Hydration Safety
|
|
123
|
+
|
|
124
|
+
- Inputs with `value` need `onChange` (or use `defaultValue` for uncontrolled)
|
|
125
|
+
- Date/time rendering: guard against hydration mismatch (server vs client)
|
|
126
|
+
- `suppressHydrationWarning` only where truly needed
|
|
127
|
+
|
|
128
|
+
### Hover & Interactive States
|
|
129
|
+
|
|
130
|
+
- Buttons/links need `hover:` state (visual feedback)
|
|
131
|
+
- Interactive states increase contrast: hover/active/focus more prominent than rest
|
|
132
|
+
|
|
133
|
+
### Content & Copy
|
|
134
|
+
|
|
135
|
+
- Active voice: "Install the CLI" not "The CLI will be installed"
|
|
136
|
+
- Title Case for headings/buttons (Chicago style)
|
|
137
|
+
- Numerals for counts: "8 deployments" not "eight"
|
|
138
|
+
- Specific button labels: "Save API Key" not "Continue"
|
|
139
|
+
- Error messages include fix/next step, not just problem
|
|
140
|
+
- Second person; avoid first person
|
|
141
|
+
- `&` over "and" where space-constrained
|
|
142
|
+
|
|
143
|
+
### Anti-patterns (flag these)
|
|
144
|
+
|
|
145
|
+
- `user-scalable=no` or `maximum-scale=1` disabling zoom
|
|
146
|
+
- `onPaste` with `preventDefault`
|
|
147
|
+
- `transition: all`
|
|
148
|
+
- `outline-none` without focus-visible replacement
|
|
149
|
+
- Inline `onClick` navigation without `<a>`
|
|
150
|
+
- `<div>` or `<span>` with click handlers (should be `<button>`)
|
|
151
|
+
- Images without dimensions
|
|
152
|
+
- Large arrays `.map()` without virtualization
|
|
153
|
+
- Form inputs without labels
|
|
154
|
+
- Icon buttons without `aria-label`
|
|
155
|
+
- Hardcoded date/number formats (use `Intl.*`)
|
|
156
|
+
- `autoFocus` without clear justification
|
|
157
|
+
|
|
158
|
+
## Output Format
|
|
159
|
+
|
|
160
|
+
Group by file. Use `file:line` format (VS Code clickable). Terse findings.
|
|
161
|
+
|
|
162
|
+
```text
|
|
163
|
+
## src/Button.tsx
|
|
164
|
+
|
|
165
|
+
src/Button.tsx:42 - icon button missing aria-label
|
|
166
|
+
src/Button.tsx:18 - input lacks label
|
|
167
|
+
src/Button.tsx:55 - animation missing prefers-reduced-motion
|
|
168
|
+
src/Button.tsx:67 - transition: all → list properties
|
|
169
|
+
|
|
170
|
+
## src/Modal.tsx
|
|
171
|
+
|
|
172
|
+
src/Modal.tsx:12 - missing overscroll-behavior: contain
|
|
173
|
+
src/Modal.tsx:34 - "..." → "…"
|
|
174
|
+
|
|
175
|
+
## src/Card.tsx
|
|
176
|
+
|
|
177
|
+
✓ pass
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
State issue + location. Skip explanation unless fix non-obvious. No preamble.
|