基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/flutter/demos --skill tdd-dart-workflow命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
Orchestrates the discovery, mapping, design, and implementation of a premium Flutter-based frontend for an Agent Development Kit (ADK) agent written with Python.
Guides the Architect subagent in discovering the Python library architecture, creating the architecture blueprint, and writing specifications.
Guides the Coder subagent in updating Dart library code to pass failing tests.
| name | tdd-dart-workflow |
| description | Rules, constraints, boundaries, and best practices for the multi-agent Python to Dart porting workflow. |
These rules govern the development, design, and TDD workflow of porting a Python library to Dart. All agents running in this workspace must adhere strictly to these guidelines.
Development proceeds in structured TDD cycles coordinated by the parent agent:
<dart_package_dir>/specs/architecture_blueprint.md.<dart_package_dir>/specs/ (e.g. <dart_package_dir>/specs/<module_name>_spec.md) describing the interfaces, types, behaviors, and expected test cases for a single module.<dart_package_dir>/test/ based on the spec (compilation errors targeting missing classes are expected here).
// TEST UTILITIES - KEEP PERMANENTLY. Label temporary stub classes that will be moved to lib/ as // SKELETON STUBS FOR COMPILATION - DELETE ONCE SKELETON IS IMPLEMENTED.<dart_package_dir>/lib/src/ defining all required classes, constructors, methods, and properties, but returning dummy values or throwing UnimplementedError().dart test and verifies the test compiles successfully and fails on execution due to UnimplementedError or assertion failure, NOT syntax or import errors.
<dart_package_dir>/lib/ to make all tests pass.dart test and verifies the tests pass successfully.<dart_package_dir>/example/ (Treated as Integration Tests) and create the developer-facing skill documentation in <dart_package_dir>/skills/.To preserve strict roles, agents are restricted to write to specific directories:
| Agent Role | Allowed Read Path | Allowed Write Path | Forbidden Actions |
|---|---|---|---|
| Coordinator (Parent) | Anywhere | Anywhere | Direct code modifications (delegates to Coder/Tester instead) |
| Architect | Anywhere | <dart_package_dir>/specs/, skills/ | Cannot write to <dart_package_dir>/lib/, <dart_package_dir>/test/, or <dart_package_dir>/example/ |
| Tester | Anywhere | <dart_package_dir>/test/, <dart_package_dir>/example/ | Cannot write to <dart_package_dir>/lib/ or <dart_package_dir>/specs/ |
| Coder | Anywhere | <dart_package_dir>/lib/, <dart_package_dir>/example/ | Cannot write to <dart_package_dir>/test/ or <dart_package_dir>/specs/ |
Note: The Coordinator is the only agent allowed to execute Git operations or run arbitrary tests in the shell.
git-commit-workflow rules:
Add AgentConfig properties, write unit tests).dynamic unless required by external JSON parsing). Avoid dynamic collections (use generics or shared interface classes).Future for async values and Stream for streaming data (e.g. async event stream).package:test for writing tests. Place tests in <dart_package_dir>/test/ mirroring the structure of <dart_package_dir>/lib/src/.dart format . and dart analyze inside <dart_package_dir>/ before verifying implementations.package:json_serializable or freezed via build_runner for serialization. Avoid writing custom JSON parser logic unless necessary.package:mocktail or package:mockito instead of patching dynamic properties.hasattr), use Dart abstract interface class definitions, or explicit callback delegates to achieve same results type-safely.Iterable<T> (forwarding its iterator to the underlying list) or expose an explicit collection getter (e.g. .transitions, .items) so that Dart's spread operator (...) can be used cleanly in configurations.