sdd-full 4.6.2 → 4.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin.js +1 -1
- package/package.json +1 -1
- package/skills/.agents/skills/flutter-add-integration-test/SKILL.md +165 -0
- package/skills/.agents/skills/flutter-add-widget-preview/SKILL.md +147 -0
- package/skills/.agents/skills/flutter-add-widget-test/SKILL.md +156 -0
- package/skills/.agents/skills/flutter-apply-architecture-best-practices/SKILL.md +164 -0
- package/skills/.agents/skills/flutter-build-responsive-layout/SKILL.md +141 -0
- package/skills/.agents/skills/flutter-fix-layout-issues/SKILL.md +132 -0
- package/skills/.agents/skills/flutter-implement-json-serialization/SKILL.md +155 -0
- package/skills/.agents/skills/flutter-setup-declarative-routing/SKILL.md +257 -0
- package/skills/.agents/skills/flutter-setup-localization/SKILL.md +212 -0
- package/skills/.agents/skills/flutter-use-http-package/SKILL.md +177 -0
- package/skills/VERSION.md +176 -62
- package/skills/design-planning/ai-coding-rules/SKILL.md +5 -13
- package/skills/design-planning/design-to-code/SKILL.md +5 -14
- package/skills/design-planning/enterprise-spec/SKILL.md +5 -13
- package/skills/design-planning/flutter-av/SKILL.md +5 -16
- package/skills/design-planning/flutter-map/SKILL.md +5 -14
- package/skills/design-planning/function-sdd/SKILL.md +5 -13
- package/skills/design-planning/global-overlay-stack-standard/SKILL.md +73 -0
- package/skills/design-planning/ui-motion-interaction-standard/SKILL.md +69 -0
- package/skills/design-planning/ui-sdd-specialized/SKILL.md +5 -14
- package/skills/development-execution/flutter-errors/SKILL.md +5 -15
- package/skills/flutter-skills/.github/dependabot.yaml +15 -0
- package/skills/flutter-skills/.github/workflows/dart_skills_lint_workflow.yaml +68 -0
- package/skills/flutter-skills/.github/workflows/skills_tool.yaml +51 -0
- package/skills/flutter-skills/CODE_OF_CONDUCT.md +3 -0
- package/skills/flutter-skills/CONTRIBUTING.md +36 -0
- package/skills/flutter-skills/LICENSE +26 -0
- package/skills/flutter-skills/README.md +50 -0
- package/skills/flutter-skills/pubspec.yaml +9 -0
- package/skills/flutter-skills/resources/flutter_skills.yaml +434 -0
- package/skills/flutter-skills/skills/flutter-add-integration-test/SKILL.md +163 -0
- package/skills/flutter-skills/skills/flutter-add-widget-preview/SKILL.md +145 -0
- package/skills/flutter-skills/skills/flutter-add-widget-test/SKILL.md +154 -0
- package/skills/flutter-skills/skills/flutter-apply-architecture-best-practices/SKILL.md +162 -0
- package/skills/flutter-skills/skills/flutter-build-responsive-layout/SKILL.md +139 -0
- package/skills/flutter-skills/skills/flutter-fix-layout-issues/SKILL.md +130 -0
- package/skills/flutter-skills/skills/flutter-implement-json-serialization/SKILL.md +153 -0
- package/skills/flutter-skills/skills/flutter-setup-declarative-routing/SKILL.md +255 -0
- package/skills/flutter-skills/skills/flutter-setup-localization/SKILL.md +210 -0
- package/skills/flutter-skills/skills/flutter-use-http-package/SKILL.md +175 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/add-dart-lint-validation-rule/SKILL.md +196 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-best-practices/SKILL.md +65 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-checks-migration/SKILL.md +158 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-cli-app-best-practices/SKILL.md +168 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-doc-validation/SKILL.md +87 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-long-lines/SKILL.md +101 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-matcher-best-practices/SKILL.md +136 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-modern-features/SKILL.md +266 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-package-maintenance/SKILL.md +92 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/SKILL.md +92 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/example/lib/src/calculator.dart +7 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/example/pubspec.yaml +8 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/example/test/calculator_test.dart +11 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/scripts/interpret_coverage.dart +95 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/scripts/pubspec.yaml +6 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-coverage/scripts/test/interpret_coverage_test.dart +93 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/dart-test-fundamentals/SKILL.md +173 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/definition-of-done/SKILL.md +27 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/flutter_skills_ignore.json +3 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/grill-me/SKILL.md +10 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/ignore.json +3 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/test-driven-development/SKILL.md +371 -0
- package/skills/flutter-skills/tool/dart_skills_lint/.agents/skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/skills/flutter-skills/tool/dart_skills_lint/AUTHORS +7 -0
- package/skills/flutter-skills/tool/dart_skills_lint/CHANGELOG.md +12 -0
- package/skills/flutter-skills/tool/dart_skills_lint/CONTRIBUTING.md +51 -0
- package/skills/flutter-skills/tool/dart_skills_lint/LICENSE +27 -0
- package/skills/flutter-skills/tool/dart_skills_lint/README.md +203 -0
- package/skills/flutter-skills/tool/dart_skills_lint/analysis_options.yaml +296 -0
- package/skills/flutter-skills/tool/dart_skills_lint/bench/README.md +23 -0
- package/skills/flutter-skills/tool/dart_skills_lint/bench/baseline_throughput.dart +230 -0
- package/skills/flutter-skills/tool/dart_skills_lint/bin/cli.dart +10 -0
- package/skills/flutter-skills/tool/dart_skills_lint/dart_skills_lint.yaml +14 -0
- package/skills/flutter-skills/tool/dart_skills_lint/documentation/feature_design_docs/PRODUCTION_READYNESS.md +48 -0
- package/skills/flutter-skills/tool/dart_skills_lint/documentation/feature_design_docs/completion_migration_plan.md +99 -0
- package/skills/flutter-skills/tool/dart_skills_lint/documentation/feature_design_docs/legacy_patterns_report.md +110 -0
- package/skills/flutter-skills/tool/dart_skills_lint/documentation/feature_design_docs/pub_vs_skill_report.md +56 -0
- package/skills/flutter-skills/tool/dart_skills_lint/documentation/knowledge/SPECIFICATION.md +79 -0
- package/skills/flutter-skills/tool/dart_skills_lint/documentation/knowledge/architecture_overview.md +64 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/dart_skills_lint.dart +11 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/config_parser.dart +156 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/entry_point.dart +354 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/fixable_rule.dart +20 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/analysis_severity.dart +15 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/check_type.dart +17 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/ignore_entry.dart +34 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/ignore_entry.g.dart +19 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/skill_context.dart +27 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/skill_rule.dart +27 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/skills_ignores.dart +26 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/skills_ignores.g.dart +24 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/models/validation_error.dart +31 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rule_registry.dart +79 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/absolute_paths_rule.dart +74 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/description_length_rule.dart +49 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/disallowed_field_rule.dart +61 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/name_format_rule.dart +167 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/relative_paths_rule.dart +72 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/trailing_whitespace_rule.dart +93 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/rules/valid_yaml_metadata_rule.dart +74 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/skills_ignores_storage.dart +36 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/validation_session.dart +559 -0
- package/skills/flutter-skills/tool/dart_skills_lint/lib/src/validator.dart +238 -0
- package/skills/flutter-skills/tool/dart_skills_lint/pubspec.yaml +28 -0
- package/skills/flutter-skills/tool/dart_skills_lint/skills/README.md +10 -0
- package/skills/flutter-skills/tool/dart_skills_lint/skills/dart-skills-lint-validation/SKILL.md +195 -0
- package/skills/flutter-skills/tool/dart_skills_lint/skills-lock.json +75 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/absolute_paths_test.dart +167 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/cli_integration_test.dart +683 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/config_file_test.dart +292 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/custom_rule_test.dart +122 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/directory_structure_test.dart +163 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/field_constraints_test.dart +178 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/fixer_test.dart +172 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/ignore_models_test.dart +63 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/metadata_validation_test.dart +116 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/relative_path_flag_test.dart +70 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/relative_paths_test.dart +172 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/resolve_rules_test.dart +82 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/rule_naming_test.dart +29 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/skills_ignores_storage_test.dart +89 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/test_utils.dart +19 -0
- package/skills/flutter-skills/tool/dart_skills_lint/test/trailing_whitespace_test.dart +152 -0
- package/skills/flutter-skills/tool/generator/README.md +150 -0
- package/skills/flutter-skills/tool/generator/analysis_options.yaml +143 -0
- package/skills/flutter-skills/tool/generator/bin/skills.dart +73 -0
- package/skills/flutter-skills/tool/generator/lib/src/commands/base_skill_command.dart +87 -0
- package/skills/flutter-skills/tool/generator/lib/src/commands/base_yaml_command.dart +83 -0
- package/skills/flutter-skills/tool/generator/lib/src/commands/generate_skill_command.dart +92 -0
- package/skills/flutter-skills/tool/generator/lib/src/commands/update_readme_command.dart +150 -0
- package/skills/flutter-skills/tool/generator/lib/src/commands/update_skill_command.dart +97 -0
- package/skills/flutter-skills/tool/generator/lib/src/commands/validate_skill_command.dart +284 -0
- package/skills/flutter-skills/tool/generator/lib/src/models/skill_params.dart +41 -0
- package/skills/flutter-skills/tool/generator/lib/src/services/gemini_service.dart +310 -0
- package/skills/flutter-skills/tool/generator/lib/src/services/markdown_converter.dart +226 -0
- package/skills/flutter-skills/tool/generator/lib/src/services/prompts.dart +72 -0
- package/skills/flutter-skills/tool/generator/lib/src/services/resource_fetcher_service.dart +84 -0
- package/skills/flutter-skills/tool/generator/lib/src/services/skill_instructions.dart +30 -0
- package/skills/flutter-skills/tool/generator/pubspec.yaml +32 -0
- package/skills/flutter-skills/tool/generator/test/commands/base_skill_command_test.dart +131 -0
- package/skills/flutter-skills/tool/generator/test/commands/validate_skills_input_test.dart +263 -0
- package/skills/flutter-skills/tool/generator/test/custom_skill_rules/last_modified_rule.dart +32 -0
- package/skills/flutter-skills/tool/generator/test/generate_skills_retry_test.dart +105 -0
- package/skills/flutter-skills/tool/generator/test/generate_skills_test.dart +519 -0
- package/skills/flutter-skills/tool/generator/test/lint_skills_test.dart +34 -0
- package/skills/flutter-skills/tool/generator/test/markdown_converter_test.dart +103 -0
- package/skills/flutter-skills/tool/generator/test/markdown_table_test.dart +131 -0
- package/skills/flutter-skills/tool/generator/test/models/skill_params_test.dart +37 -0
- package/skills/flutter-skills/tool/generator/test/services/gemini_service_test.dart +291 -0
- package/skills/flutter-skills/tool/generator/test/services/markdown_converter_test.dart +156 -0
- package/skills/flutter-skills/tool/generator/test/services/resource_fetcher_service_test.dart +188 -0
- package/skills/flutter-skills/tool/generator/test/update_skills_test.dart +241 -0
- package/skills/flutter-skills/tool/generator/test/validate_skills_test.dart +728 -0
- package/skills/quality-assurance/bdd-acceptance/SKILL.md +5 -14
- package/skills/quality-assurance/flutter-test/SKILL.md +5 -16
- package/skills/rules/project_rules.md +538 -127
- package/skills/special-tools/env-check/SKILL.md +5 -13
- package/skills/special-tools/ios-full-auto-debug/SKILL.md +5 -15
- package/skills/writing-skills/SKILL.md +654 -0
- package/skills/writing-skills/anthropic-best-practices.md +1149 -0
- package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/skills/writing-skills/persuasion-principles.md +187 -0
- package/skills/writing-skills/render-graphs.js +168 -0
- package/skills/writing-skills/testing-skills-with-subagents.md +384 -0
- package/skills/checklist.md +0 -154
- package/skills/rules/user_rules.md +0 -263
- package/skills//345/256/214/346/225/264/345/274/200/345/217/221/346/265/201/347/250/213/346/211/213/345/206/214.md +0 -454
- package/skills//346/212/200/350/203/275/344/275/223/347/263/273/345/256/214/345/226/204/345/273/272/350/256/256.md +0 -308
- package/skills//346/212/200/350/203/275/344/275/277/347/224/250/346/214/207/345/215/227.md +0 -309
- package/skills//346/212/200/350/203/275/345/206/263/347/255/226/346/240/221.md +0 -338
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
name: Andrej Karpathy AI编码规则落地SDD
|
|
2
|
-
description: 编码约束、开源/商用方案对比范式、禁止自由发挥落地细则
|
|
3
|
-
author:
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
trigger:
|
|
6
|
-
- AI编码规则
|
|
7
|
-
- Karpathy规则
|
|
8
|
-
- 编码规范
|
|
9
|
-
tags:
|
|
10
|
-
- 编码规范
|
|
11
|
-
- AI编码
|
|
12
|
-
- 开发规范
|
|
13
|
-
|
|
14
1
|
【claude code调用标识:Andrej Karpathy AI编码规则落地SDD】【trae调用标识:Andrej Karpathy AI编码规则落地SDD+编码规范】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代】
|
|
15
2
|
|
|
3
|
+
---
|
|
4
|
+
name: ai-coding-rules
|
|
5
|
+
description: Andrej Karpathy AI编码规则落地SDD - 编码约束、开源/商用方案对比范式、禁止自由发挥落地细则
|
|
6
|
+
---
|
|
7
|
+
|
|
16
8
|
## 功能描述
|
|
17
9
|
|
|
18
10
|
本技能提供Andrej Karpathy AI编码规则落地SDD模板,包含编码约束、开源/商用方案对比范式和禁止自由发挥落地细则。
|
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
name: 高保真设计转代码SDD
|
|
2
|
-
description: Rive动画、Figma设计稿转Flutter 1:1还原交付规范
|
|
3
|
-
author:
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
trigger:
|
|
6
|
-
- 设计转代码
|
|
7
|
-
- Rive动画
|
|
8
|
-
- Figma转Flutter
|
|
9
|
-
tags:
|
|
10
|
-
- 设计转代码
|
|
11
|
-
- Rive动画
|
|
12
|
-
- Figma
|
|
13
|
-
- Flutter
|
|
14
|
-
|
|
15
1
|
【claude code调用标识:高保真设计转代码SDD】【trae调用标识:高保真设计转代码SDD+设计转代码】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代】
|
|
16
2
|
|
|
3
|
+
---
|
|
4
|
+
name: design-to-code
|
|
5
|
+
description: 高保真设计转代码SDD - Rive动画、Figma设计稿转Flutter 1:1还原交付规范
|
|
6
|
+
---
|
|
7
|
+
|
|
17
8
|
## 功能描述
|
|
18
9
|
|
|
19
10
|
本技能提供高保真设计转代码SDD模板,包含Rive动画集成和Figma设计稿转Flutter的1:1还原交付规范。
|
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
name: 企业级全栈工程规范SDD
|
|
2
|
-
description: 环境预检前置、项目目录、版本管理、交付物统一标准
|
|
3
|
-
author:
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
trigger:
|
|
6
|
-
- 企业级工程规范
|
|
7
|
-
- 项目规范
|
|
8
|
-
- 工程标准
|
|
9
|
-
tags:
|
|
10
|
-
- 工程规范
|
|
11
|
-
- 项目管理
|
|
12
|
-
- 交付标准
|
|
13
|
-
|
|
14
1
|
【claude code调用标识:企业级全栈工程规范SDD】【trae调用标识:企业级全栈工程规范SDD+工程规范】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目】
|
|
15
2
|
|
|
3
|
+
---
|
|
4
|
+
name: enterprise-spec
|
|
5
|
+
description: 企业级全栈工程规范SDD - 环境预检前置、项目目录、版本管理、交付物统一标准
|
|
6
|
+
---
|
|
7
|
+
|
|
16
8
|
## 功能描述
|
|
17
9
|
|
|
18
10
|
本技能提供企业级全栈工程规范SDD模板,包含环境预检前置、项目目录结构、版本管理和交付物统一标准。
|
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
name: Flutter音视频全栈SDD
|
|
2
|
-
description: 离线ASR语音转写、TTS语音合成、OCR文字识别接入规范
|
|
3
|
-
author:
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
trigger:
|
|
6
|
-
- Flutter音视频
|
|
7
|
-
- ASR语音转写
|
|
8
|
-
- TTS语音合成
|
|
9
|
-
- OCR识别
|
|
10
|
-
tags:
|
|
11
|
-
- Flutter
|
|
12
|
-
- 音视频
|
|
13
|
-
- ASR
|
|
14
|
-
- TTS
|
|
15
|
-
- OCR
|
|
16
|
-
|
|
17
1
|
【claude code调用标识:Flutter音视频全栈SDD】【trae调用标识:Flutter音视频全栈SDD+音视频集成】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
|
|
18
2
|
|
|
3
|
+
---
|
|
4
|
+
name: flutter-av
|
|
5
|
+
description: Flutter音视频全栈SDD - 离线ASR语音转写、TTS语音合成、OCR文字识别接入规范
|
|
6
|
+
---
|
|
7
|
+
|
|
19
8
|
## 功能描述
|
|
20
9
|
|
|
21
10
|
本技能提供Flutter音视频全栈SDD模板,包含离线ASR语音转写、TTS语音合成、OCR文字识别的接入规范,帮助团队规范音视频功能开发。
|
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
name: Flutter地图导航业务SDD
|
|
2
|
-
description: 高德SDK集成、Marker警告处理、地图不显示问题落地规范
|
|
3
|
-
author:
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
trigger:
|
|
6
|
-
- Flutter地图导航
|
|
7
|
-
- 高德地图集成
|
|
8
|
-
- 地图开发
|
|
9
|
-
tags:
|
|
10
|
-
- Flutter
|
|
11
|
-
- 地图
|
|
12
|
-
- 高德SDK
|
|
13
|
-
- 导航
|
|
14
|
-
|
|
15
1
|
【claude code调用标识:Flutter地图导航业务SDD】【trae调用标识:Flutter地图导航业务SDD+地图集成】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
|
|
16
2
|
|
|
3
|
+
---
|
|
4
|
+
name: flutter-map
|
|
5
|
+
description: Flutter地图导航业务SDD - 高德SDK集成、Marker警告处理、地图不显示问题落地规范
|
|
6
|
+
---
|
|
7
|
+
|
|
17
8
|
## 功能描述
|
|
18
9
|
|
|
19
10
|
本技能提供Flutter地图导航业务SDD模板,包含高德SDK集成、Marker处理和常见问题解决方案,帮助团队规范地图功能开发。
|
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
name: 功能SDD专用模板
|
|
2
|
-
description: 业务功能专属SDD模板、章节结构、必填项规范
|
|
3
|
-
author:
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
trigger:
|
|
6
|
-
- 功能SDD专用模板
|
|
7
|
-
- 业务功能模板
|
|
8
|
-
- 功能设计规范
|
|
9
|
-
tags:
|
|
10
|
-
- 功能设计
|
|
11
|
-
- SDD模板
|
|
12
|
-
- 业务规范
|
|
13
|
-
|
|
14
1
|
【claude code调用标识:功能SDD专用模板】【trae调用标识:功能SDD专用模板+功能设计规范】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代、4.Bug处理】
|
|
15
2
|
|
|
3
|
+
---
|
|
4
|
+
name: function-sdd
|
|
5
|
+
description: 功能SDD专用模板 - 业务功能专属SDD模板、章节结构、必填项规范
|
|
6
|
+
---
|
|
7
|
+
|
|
16
8
|
## 功能描述
|
|
17
9
|
|
|
18
10
|
本技能提供业务功能专属SDD模板,包含完整的章节结构和必填项规范,帮助团队规范功能设计流程。
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
【claude code调用标识:global-overlay-stack-standard】【trae调用标识:global-overlay-stack-standard+浮层管理】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: global-overlay-stack-standard
|
|
5
|
+
description: 全局浮层栈与层级规范 - 跨技术栈通用浮层管理规则
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 功能说明
|
|
9
|
+
|
|
10
|
+
跨技术栈通用浮层栈与层级规范,不绑定 Flutter / iOS / Android / H5 / 小程序。只管控浮层栈、层级、弹出流程、防重叠、关闭逻辑、交互规则,不涉及UI动画、不限制具体实现语法。
|
|
11
|
+
|
|
12
|
+
## 核心定位
|
|
13
|
+
|
|
14
|
+
跨技术栈通用,不绑定任何平台/框架;只管控浮层栈、层级、弹出流程、防重叠、关闭逻辑、交互规则,不涉及UI动画、不限制具体实现语法。
|
|
15
|
+
|
|
16
|
+
## 强制规范规则
|
|
17
|
+
|
|
18
|
+
### 1. 浮层栈统一管理
|
|
19
|
+
所有浮层类型:全局悬浮窗、强拦截弹窗、普通对话框、底部弹层、居中弹窗、Toast 弱提示,全部强制纳入全局统一栈管理,禁止业务私自独立创建、私自挂载根节点。
|
|
20
|
+
|
|
21
|
+
### 2. 全局固定层级优先级
|
|
22
|
+
全局固定层级优先级(永久不可随意篡改):
|
|
23
|
+
全局悬浮窗 > 强拦截权限弹窗 > 普通业务对话框 > 底部弹层 > Toast 轻量提示
|
|
24
|
+
|
|
25
|
+
### 3. 栈机制严格遵循
|
|
26
|
+
浮层严格遵循后进先出栈机制,任何操作只允许作用于当前栈顶浮层,禁止跨层操作、跨层关闭。
|
|
27
|
+
|
|
28
|
+
### 4. 防重叠强制流程
|
|
29
|
+
- 同优先级浮层禁止并行同时弹出,必须串行排队,上一个关闭后才允许弹出下一个;
|
|
30
|
+
- 新浮层弹出前必须校验栈顶同等级浮层,存在则拦截重复弹出或进入等待队列;
|
|
31
|
+
- 限制全局最大浮层嵌套层数,超出层数直接拦截创建,杜绝无限堆叠重叠;
|
|
32
|
+
- 页面路由跳转、退出登录、流程终止时,自动清空当前页面附属所有浮层,避免残留遮挡。
|
|
33
|
+
|
|
34
|
+
### 5. 遮罩行为统一规范
|
|
35
|
+
- 全局默认固定遮罩可关闭/不可关闭基线规则;
|
|
36
|
+
- 业务页面不准单独改写遮罩点击逻辑、不准私自穿透遮罩事件。
|
|
37
|
+
|
|
38
|
+
### 6. 系统返回逻辑统一
|
|
39
|
+
- 优先关闭栈顶浮层;
|
|
40
|
+
- 无任何浮层时,才允许执行原生页面回退。
|
|
41
|
+
|
|
42
|
+
### 7. 标准调用能力
|
|
43
|
+
全局仅开放三个标准调用能力:展示浮层、关闭栈顶、关闭全部;
|
|
44
|
+
业务禁止私自销毁浮层、私自移除遮罩、私自修改层级权重。
|
|
45
|
+
|
|
46
|
+
### 8. 需求变更流程
|
|
47
|
+
所有浮层相关需求变更、流程改动,必须先更新 SDD 对应规则,再进行开发;
|
|
48
|
+
代码实现必须对齐本规范与 SDD 定义,不得私自偏离。
|
|
49
|
+
|
|
50
|
+
## 使用指南
|
|
51
|
+
|
|
52
|
+
### 调用方式
|
|
53
|
+
- **Claude Code**: 调用 global-overlay-stack-standard
|
|
54
|
+
- **Trae**: trae调用 global-overlay-stack-standard
|
|
55
|
+
|
|
56
|
+
### 适用场景
|
|
57
|
+
- 新项目浮层架构设计
|
|
58
|
+
- 现有项目浮层问题治理
|
|
59
|
+
- 跨端统一浮层规范制定
|
|
60
|
+
- 浮层重叠、层级混乱问题修复
|
|
61
|
+
|
|
62
|
+
## AI协作规范
|
|
63
|
+
|
|
64
|
+
| 阶段 | AI职责 | 人工校验要求 |
|
|
65
|
+
|------|--------|-------------|
|
|
66
|
+
| 浮层需求分析 | 梳理浮层类型、优先级、交互规则 | 确认浮层分类合理性 |
|
|
67
|
+
| 规范落地 | 协助生成浮层管理代码框架 | 必须人工二次确认层级优先级 |
|
|
68
|
+
| Bug修复 | 分析浮层重叠、层级混乱原因 | 验证修复方案符合规范 |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
**规范版本**: v1.0.0
|
|
73
|
+
**适用场景**: 跨技术栈通用浮层管理
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
【claude code调用标识:ui-motion-interaction-standard】【trae调用标识:ui-motion-interaction-standard+UI动效】【流程场景:1.完整3阶段SDD流程、2.从零开始新项目、3.小型功能迭代】
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: ui-motion-interaction-standard
|
|
5
|
+
description: 全局UI动效与交互反馈规范 - 跨端通用交互动效管理
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 功能说明
|
|
9
|
+
|
|
10
|
+
跨端通用UI动效与交互反馈规范,管控所有交互动效、弹窗动画、点击反馈、过渡动效。和浮层栈逻辑解耦,单独归一管理,不侵入层级与栈流程。
|
|
11
|
+
|
|
12
|
+
## 核心定位
|
|
13
|
+
|
|
14
|
+
跨端通用,管控所有交互动效、弹窗动画、点击反馈、过渡动效。和浮层栈逻辑解耦,单独归一管理,不侵入层级与栈流程。
|
|
15
|
+
|
|
16
|
+
## 强制规范规则
|
|
17
|
+
|
|
18
|
+
### 1. 弹窗标准入场/退场动效统一约束
|
|
19
|
+
|
|
20
|
+
- 居中弹窗:默认淡入淡出 + 轻微缩放;
|
|
21
|
+
- 底部弹层:默认从底部滑入滑出;
|
|
22
|
+
- 强拦截弹窗:淡入遮罩+居中缓慢浮现;
|
|
23
|
+
- Toast:淡入淡出+轻微上浮位移。
|
|
24
|
+
|
|
25
|
+
### 2. 全局动画统一固化标准
|
|
26
|
+
|
|
27
|
+
固定动画时长、插值曲线、渐变节奏,业务不得随意改快慢、乱加非主流动效曲线,保持全站体验一致。
|
|
28
|
+
|
|
29
|
+
### 3. 按钮与可点击控件交互反馈
|
|
30
|
+
|
|
31
|
+
- 全局统一点击涟漪效果、按压缩放、透明度反馈;
|
|
32
|
+
- 禁止各页面各自写一套点击动效,风格碎片化。
|
|
33
|
+
|
|
34
|
+
### 4. 页面路由与模块过渡
|
|
35
|
+
|
|
36
|
+
页面路由转场、模块显隐过渡,遵循全局统一动效规范,禁止私自写突兀无过渡、非主流转场方式。
|
|
37
|
+
|
|
38
|
+
### 5. 动效职责分离
|
|
39
|
+
|
|
40
|
+
动效只负责视觉表现,不参与浮层层级、栈顺序、关闭逻辑;不准通过动画层级、动画延时来 hack 规避浮层重叠规则。
|
|
41
|
+
|
|
42
|
+
### 6. 动效变更流程
|
|
43
|
+
|
|
44
|
+
所有新增动效类型、修改现有动效风格,必须先在 SDD 定义规范,再落地实现,保持全站动效统一口径。
|
|
45
|
+
|
|
46
|
+
## 使用指南
|
|
47
|
+
|
|
48
|
+
### 调用方式
|
|
49
|
+
- **Claude Code**: 调用 ui-motion-interaction-standard
|
|
50
|
+
- **Trae**: trae调用 ui-motion-interaction-standard
|
|
51
|
+
|
|
52
|
+
### 适用场景
|
|
53
|
+
- 新项目动效体系设计
|
|
54
|
+
- 现有项目动效统一规范
|
|
55
|
+
- 跨端动效体验一致性治理
|
|
56
|
+
- 交互动效风格碎片化问题修复
|
|
57
|
+
|
|
58
|
+
## AI协作规范
|
|
59
|
+
|
|
60
|
+
| 阶段 | AI职责 | 人工校验要求 |
|
|
61
|
+
|------|--------|-------------|
|
|
62
|
+
| 动效需求分析 | 梳理动效类型、时长、曲线标准 | 确认动效风格一致性 |
|
|
63
|
+
| 规范落地 | 协助生成动效实现代码框架 | 必须人工二次确认动效参数 |
|
|
64
|
+
| 体验优化 | 分析动效流畅度、交互反馈合理性 | 验证体验符合规范 |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
**规范版本**: v1.0.0
|
|
69
|
+
**适用场景**: 跨端通用UI动效与交互反馈
|
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
name: UI-SDD专用模板
|
|
2
|
-
description: UI设计稿结构化SDD固定格式、字段、交付标准
|
|
3
|
-
author:
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
trigger:
|
|
6
|
-
- UI-SDD专用模板
|
|
7
|
-
- UI设计稿模板
|
|
8
|
-
- UI交付标准
|
|
9
|
-
tags:
|
|
10
|
-
- UI设计
|
|
11
|
-
- SDD模板
|
|
12
|
-
- 设计规范
|
|
13
|
-
- 交付标准
|
|
14
|
-
|
|
15
1
|
【claude code调用标识:UI-SDD专用模板】【trae调用标识:UI-SDD专用模板+UI设计规范】【流程场景:1.完整3阶段SDD流程、3.小型功能迭代】
|
|
16
2
|
|
|
3
|
+
---
|
|
4
|
+
name: ui-sdd-specialized
|
|
5
|
+
description: UI-SDD专用模板 - UI设计稿结构化SDD固定格式、字段、交付标准
|
|
6
|
+
---
|
|
7
|
+
|
|
17
8
|
## 功能描述
|
|
18
9
|
|
|
19
10
|
本技能提供UI设计稿结构化SDD模板,包含固定格式、必填字段和交付标准,帮助团队规范UI设计流程。
|
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
name: Flutter常见异常专项SDD
|
|
2
|
-
description: SocketException、Framebuffer渲染异常排查与修复标准化流程
|
|
3
|
-
author:
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
trigger:
|
|
6
|
-
- Flutter异常处理
|
|
7
|
-
- SocketException
|
|
8
|
-
- Framebuffer异常
|
|
9
|
-
- Bug排查
|
|
10
|
-
tags:
|
|
11
|
-
- Flutter
|
|
12
|
-
- 异常处理
|
|
13
|
-
- Bug修复
|
|
14
|
-
- 调试
|
|
15
|
-
|
|
16
1
|
【claude code调用标识:Flutter常见异常专项SDD】【trae调用标识:Flutter常见异常专项SDD+异常处理】【流程场景:4.Bug处理】
|
|
17
2
|
|
|
3
|
+
---
|
|
4
|
+
name: flutter-errors
|
|
5
|
+
description: Flutter常见异常专项SDD - SocketException、Framebuffer渲染异常排查与修复标准化流程
|
|
6
|
+
---
|
|
7
|
+
|
|
18
8
|
## 功能描述
|
|
19
9
|
|
|
20
10
|
本技能提供Flutter常见异常专项SDD模板,包含SocketException、Framebuffer渲染异常等常见问题的排查与修复标准化流程。
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Dependabot configuration file.
|
|
2
|
+
# See https://docs.github.com/en/code-security/dependabot/dependabot-version-updates
|
|
3
|
+
version: 2
|
|
4
|
+
|
|
5
|
+
updates:
|
|
6
|
+
- package-ecosystem: github-actions
|
|
7
|
+
directory: /
|
|
8
|
+
schedule:
|
|
9
|
+
interval: monthly
|
|
10
|
+
labels:
|
|
11
|
+
- autosubmit
|
|
12
|
+
groups:
|
|
13
|
+
github-actions:
|
|
14
|
+
patterns:
|
|
15
|
+
- "*"
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
name: dart_skills_lint
|
|
2
|
+
permissions: read-all
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
pull_request:
|
|
6
|
+
paths:
|
|
7
|
+
- 'skills/**'
|
|
8
|
+
- 'tool/dart_skills_lint/**'
|
|
9
|
+
- '.github/workflows/dart_skills_lint_workflow.yaml'
|
|
10
|
+
push:
|
|
11
|
+
branches: [ main ]
|
|
12
|
+
paths:
|
|
13
|
+
- 'skills/**'
|
|
14
|
+
- 'tool/dart_skills_lint/**'
|
|
15
|
+
- '.github/workflows/dart_skills_lint_workflow.yaml'
|
|
16
|
+
schedule:
|
|
17
|
+
- cron: '0 0 * * 0' # weekly
|
|
18
|
+
|
|
19
|
+
defaults:
|
|
20
|
+
run:
|
|
21
|
+
working-directory: tool/dart_skills_lint
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
analyze_and_test:
|
|
25
|
+
strategy:
|
|
26
|
+
fail-fast: false
|
|
27
|
+
matrix:
|
|
28
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
29
|
+
runs-on: ${{ matrix.os }}
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v6
|
|
32
|
+
- uses: dart-lang/setup-dart@v1
|
|
33
|
+
with:
|
|
34
|
+
sdk: stable
|
|
35
|
+
|
|
36
|
+
- run: dart pub get
|
|
37
|
+
|
|
38
|
+
- run: dart analyze --fatal-infos
|
|
39
|
+
|
|
40
|
+
- name: Run cyclomatic complexity check
|
|
41
|
+
run: dart run dart_code_linter:metrics analyze lib
|
|
42
|
+
|
|
43
|
+
- run: dart test
|
|
44
|
+
|
|
45
|
+
validate_skills:
|
|
46
|
+
runs-on: ubuntu-latest
|
|
47
|
+
steps:
|
|
48
|
+
- uses: actions/checkout@v6
|
|
49
|
+
- uses: dart-lang/setup-dart@v1
|
|
50
|
+
with:
|
|
51
|
+
sdk: stable
|
|
52
|
+
|
|
53
|
+
- run: dart pub get
|
|
54
|
+
|
|
55
|
+
- name: Validate skills
|
|
56
|
+
run: dart run dart_skills_lint:cli
|
|
57
|
+
|
|
58
|
+
formatting:
|
|
59
|
+
runs-on: ubuntu-latest
|
|
60
|
+
steps:
|
|
61
|
+
- uses: actions/checkout@v6
|
|
62
|
+
- uses: dart-lang/setup-dart@v1
|
|
63
|
+
with:
|
|
64
|
+
sdk: stable
|
|
65
|
+
|
|
66
|
+
- run: dart pub get
|
|
67
|
+
|
|
68
|
+
- run: dart format --output=none --set-exit-if-changed .
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
name: skills_tool
|
|
2
|
+
permissions: read-all
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
# Run CI on all PRs (against any branch) and on pushes to the main branch.
|
|
6
|
+
pull_request:
|
|
7
|
+
paths:
|
|
8
|
+
- '.github/workflows/skills_tool.yaml'
|
|
9
|
+
- 'tool/generator/**'
|
|
10
|
+
push:
|
|
11
|
+
branches: [ main ]
|
|
12
|
+
paths:
|
|
13
|
+
- '.github/workflows/skills_tool.yaml'
|
|
14
|
+
- 'tool/generator/**'
|
|
15
|
+
schedule:
|
|
16
|
+
- cron: '0 0 * * 0' # weekly
|
|
17
|
+
|
|
18
|
+
defaults:
|
|
19
|
+
run:
|
|
20
|
+
working-directory: tool/generator
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
analyze_and_test:
|
|
24
|
+
strategy:
|
|
25
|
+
fail-fast: false
|
|
26
|
+
matrix:
|
|
27
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
28
|
+
runs-on: ${{ matrix.os }}
|
|
29
|
+
steps:
|
|
30
|
+
- uses: actions/checkout@v6
|
|
31
|
+
- uses: dart-lang/setup-dart@v1
|
|
32
|
+
with:
|
|
33
|
+
sdk: stable
|
|
34
|
+
|
|
35
|
+
- run: dart pub get
|
|
36
|
+
|
|
37
|
+
- run: dart analyze --fatal-infos
|
|
38
|
+
|
|
39
|
+
- run: dart test
|
|
40
|
+
|
|
41
|
+
formatting_stable_ubuntu-latest:
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/checkout@v6
|
|
45
|
+
- uses: dart-lang/setup-dart@v1
|
|
46
|
+
with:
|
|
47
|
+
sdk: stable
|
|
48
|
+
|
|
49
|
+
- run: dart pub get
|
|
50
|
+
|
|
51
|
+
- run: dart format --output=none --set-exit-if-changed .
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Contributing to Flutter Skills
|
|
2
|
+
|
|
3
|
+
## Note on contributions
|
|
4
|
+
|
|
5
|
+
We are not yet open for direct contributions as we are still actively working on publishing a larger set of skills. Your experience using these skills is important to us. If you find a bug or have an idea for a skill you'd like to see added, please [file an issue][issue] or request following the insturctions below.
|
|
6
|
+
|
|
7
|
+
We appreciate your feedback!
|
|
8
|
+
|
|
9
|
+
## Providing Feedback on an existing skill
|
|
10
|
+
[File an issue][issue] and let us know:
|
|
11
|
+
1. What language model are you using? (Gemini 3.1 Flash, Claude Sonnet 4.6, etc)
|
|
12
|
+
2. What agent harness are you using? (Antigravity, Gemini CLI, Claude Code, Cursor)
|
|
13
|
+
3. Logs that show what prompt you used and steps the agent took to complete the task (Such as what skills it chose to use, MCP tools it used, etc).
|
|
14
|
+
|
|
15
|
+
## Requesting a skill
|
|
16
|
+
First check if its on the [list of skills we plan to work on next][next skills] and feel free to comment if you'd like us to prioritize differently.
|
|
17
|
+
If not [file an issue][issue] and we will prioritize it.
|
|
18
|
+
|
|
19
|
+
## Issue triage
|
|
20
|
+
|
|
21
|
+
We regularly triage issues by looking at newly filed issues and determining what we should do about each of them. Triage issues as follows:
|
|
22
|
+
|
|
23
|
+
- Open the [list of untriaged issues][untriaged_list].
|
|
24
|
+
- For each issue in the list, do one of:
|
|
25
|
+
- If we don't plan to fix the issue, close it with an explanation.
|
|
26
|
+
- If we plan to fix the issue, add the `triaged` label and assign a priority: [P0][P0], [P1][P1], [P2][P2], or [P3][P3]. If you don't know which priority to assign, apply `P2`. If an issue is `P0` or `P1`, add it to a milestone.
|
|
27
|
+
|
|
28
|
+
At the end of a triage session, the untriaged issue list should be as close to empty as possible.
|
|
29
|
+
|
|
30
|
+
[issue]: https://github.com/flutter/skills/issues
|
|
31
|
+
[next skills]: https://github.com/flutter/skills/issues/88
|
|
32
|
+
[untriaged_list]: https://github.com/flutter/skills/issues?q=is%3Aissue+state%3Aopen+-label%3Atriaged
|
|
33
|
+
[P0]: https://github.com/flutter/skills/labels?q=P0
|
|
34
|
+
[P1]: https://github.com/flutter/skills/labels?q=P1
|
|
35
|
+
[P2]: https://github.com/flutter/skills/labels?q=P2
|
|
36
|
+
[P3]: https://github.com/flutter/skills/labels?q=P3
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Copyright 2026 The Flutter Authors. All rights reserved.
|
|
2
|
+
|
|
3
|
+
Redistribution and use in source and binary forms, with or without modification,
|
|
4
|
+
are permitted provided that the following conditions are met:
|
|
5
|
+
|
|
6
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
7
|
+
list of conditions and the following disclaimer.
|
|
8
|
+
|
|
9
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
10
|
+
this list of conditions and the following disclaimer in the documentation
|
|
11
|
+
and/or other materials provided with the distribution.
|
|
12
|
+
|
|
13
|
+
3. Neither the name of the copyright holder nor the names of its contributors
|
|
14
|
+
may be used to endorse or promote products derived from this software without
|
|
15
|
+
specific prior written permission.
|
|
16
|
+
|
|
17
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
18
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
19
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
20
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
21
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
22
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
23
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
24
|
+
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
25
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
26
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Flutter Agent Skills
|
|
2
|
+
|
|
3
|
+
Agent skills for Flutter, maintained by the Flutter team.
|
|
4
|
+
A collection of skills providing tailored instructions for happy path Flutter app development workflows. By giving the agent actual domain expertise and repeatable workflows, you drastically reduce mistakes and ensure agents reliably complete the task following best practices.
|
|
5
|
+
|
|
6
|
+
Skills are essentially simple folders of files that can be seen as complementary to MCP, where MCP gives an agent access to specialized tools and a Skill teaches the agent “how” to use tools for a specific task.
|
|
7
|
+
|
|
8
|
+
You can also install the [Agent Skills for Dart](https://github.com/dart-lang/skills) for Dart tasks.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
To install all skills into your project, run the following command.
|
|
13
|
+
The `--agent universal` flag puts it in the standard `.agents/skills`
|
|
14
|
+
folder that most agents use.
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npx skills add flutter/skills --skill '*' --agent universal
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Updating Skills
|
|
21
|
+
|
|
22
|
+
To update, run the following command:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx skills update
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Available Skills
|
|
29
|
+
|
|
30
|
+
| Skill | Description | Example prompt |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| [flutter-add-integration-test](skills/flutter-add-integration-test/SKILL.md) | Configures Flutter Driver for app interaction and converts MCP actions into permanent integration tests. Use when adding integration testing to a project, exploring UI components via MCP, or automating user flows with the integration_test package. | Add an integration test that validates the checkout experience |
|
|
33
|
+
| [flutter-add-widget-preview](skills/flutter-add-widget-preview/SKILL.md) | Adds interactive widget previews to the project using the previews.dart system. Use when creating new UI components or updating existing screens to ensure consistent design and interactive testing. | Create a preview for the ProductCard widget with different price states |
|
|
34
|
+
| [flutter-add-widget-test](skills/flutter-add-widget-test/SKILL.md) | Implement a component-level test using `WidgetTester` to verify UI rendering and user interactions (tapping, scrolling, entering text). Use when validating that a specific widget displays correct data and responds to events as expected. | Add a widget test for the CustomButton to verify the onTap callback is called |
|
|
35
|
+
| [flutter-apply-architecture-best-practices](skills/flutter-apply-architecture-best-practices/SKILL.md) | Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability. | Refactor the authentication flow to follow the recommended layered architecture |
|
|
36
|
+
| [flutter-build-responsive-layout](skills/flutter-build-responsive-layout/SKILL.md) | Use `LayoutBuilder`, `MediaQuery`, or `Expanded/Flexible` to create a layout that adapts to different screen sizes. Use when you need the UI to look good on both mobile and tablet/desktop form factors. | Make the home screen responsive so it displays a grid on tablets and a list on phones |
|
|
37
|
+
| [flutter-fix-layout-issues](skills/flutter-fix-layout-issues/SKILL.md) | Fixes Flutter layout errors (overflows, unbounded constraints) using Dart and Flutter MCP tools. Use when addressing "RenderFlex overflowed", "Vertical viewport was given unbounded height", or similar layout issues. | Fix the overflow error on the profile page when the keyboard is visible |
|
|
38
|
+
| [flutter-implement-json-serialization](skills/flutter-implement-json-serialization/SKILL.md) | Create model classes with `fromJson` and `toJson` methods using `dart:convert`. Use when manually mapping JSON keys to class properties for simple data structures. | Implement JSON serialization for the User model class |
|
|
39
|
+
| [flutter-setup-declarative-routing](skills/flutter-setup-declarative-routing/SKILL.md) | Configure `MaterialApp.router` using a package like `go_router` for advanced URL-based navigation. Use when developing web applications or mobile apps that require specific deep linking and browser history support. | Set up GoRouter with paths for home, details, and settings |
|
|
40
|
+
| [flutter-setup-localization](skills/flutter-setup-localization/SKILL.md) | Add `flutter_localizations` and `intl` dependencies, enable "generate true" in `pubspec.yaml`, and create an `l10n.yaml` configuration file. Use when initializing localization support for a new Flutter project. | Setup localization and add English and Spanish translations |
|
|
41
|
+
| [flutter-use-http-package](skills/flutter-use-http-package/SKILL.md) | Use the `http` package to execute GET, POST, PUT, or DELETE requests. Use when you need to fetch from or send data to a REST API. | Use the http package to fetch the list of products from the API |
|
|
42
|
+
## Contributing
|
|
43
|
+
|
|
44
|
+
We aren't accepting pull requests at this time, but we would love to hear your feedback!
|
|
45
|
+
|
|
46
|
+
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for more information.
|
|
47
|
+
|
|
48
|
+
## Code of Conduct
|
|
49
|
+
|
|
50
|
+
Please see [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for more information.
|