{"id":51222994,"url":"https://github.com/aleksandr-chaika/flutter-clean-arch-skills","last_synced_at":"2026-07-16T19:00:55.637Z","repository":{"id":336149999,"uuid":"1148161118","full_name":"aleksandr-chaika/flutter-clean-arch-skills","owner":"aleksandr-chaika","description":"Complete Flutter development pipeline — Clean Architecture + BLoC + Maestro QE.   Autonomous agents for PM, dev, review, testing","archived":false,"fork":false,"pushed_at":"2026-03-09T08:09:12.000Z","size":58,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-09T12:11:51.880Z","etag":null,"topics":["bloc","claude-code","claude-code-hooks","claude-code-marketplace","claude-code-plugins","claude-code-skills","claude-code-subagents","clean-architecture","flutter","skillsmp"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aleksandr-chaika.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-02T16:42:58.000Z","updated_at":"2026-03-09T08:09:15.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/aleksandr-chaika/flutter-clean-arch-skills","commit_stats":null,"previous_names":["aleksandr-chaika/flutter-clean-arch-skills"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aleksandr-chaika/flutter-clean-arch-skills","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandr-chaika%2Fflutter-clean-arch-skills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandr-chaika%2Fflutter-clean-arch-skills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandr-chaika%2Fflutter-clean-arch-skills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandr-chaika%2Fflutter-clean-arch-skills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aleksandr-chaika","download_url":"https://codeload.github.com/aleksandr-chaika/flutter-clean-arch-skills/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandr-chaika%2Fflutter-clean-arch-skills/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35555509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-16T02:00:06.687Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bloc","claude-code","claude-code-hooks","claude-code-marketplace","claude-code-plugins","claude-code-skills","claude-code-subagents","clean-architecture","flutter","skillsmp"],"created_at":"2026-06-28T09:00:31.116Z","updated_at":"2026-07-16T19:00:55.630Z","avatar_url":"https://github.com/aleksandr-chaika.png","language":"Shell","funding_links":[],"categories":["Source Catalog"],"sub_categories":[],"readme":"# Flutter Clean Architecture Skills\n\nComplete development pipeline for **Flutter projects** with Clean Architecture and BLoC state management.\n\nOne orchestrator accepts a task and coordinates the **full pipeline** through isolated sub-agents.\n**QE verification** via Maestro E2E tests. **Asana** integration for task management.\n\n---\n\n## Architecture v3 (Skills + Agents + Hooks + QE)\n\n```\n+-----------------------------------------------------------------------+\n|  User: /orchestrator                                                    |\n|              |                                                          |\n|              v                                                          |\n|  +----------------------------------+                                   |\n|  |  orchestrator (Skill)            | \u003c- Single user-invocable skill    |\n|  |  Coordinates entire pipeline     |                                   |\n|  +----------------+-----------------+                                   |\n|                   | Task(subagent_type=\"...\")                            |\n|    +--------------+-----------------------------+                       |\n|    v              v              v               v                      |\n|  +--------+  +----------+  +----------+  +-------------+               |\n|  |   PM   |  | Flutter  |  | Flutter  |  |   Maestro   |               |\n|  |  agent  |  |   dev    |  | reviewer |  |   QE E2E    |               |\n|  +----+---+  +----+-----+  +----+-----+  +------+------+               |\n|       |           |              |               |                      |\n|  flutter-pm  flutter-dev  flutter-reviewer  maestro-tester              |\n|  (Asana)     flutter-tester                                             |\n|                                                                         |\n|  Knowledge Skills (preloaded into agents):                              |\n|  flutter-guide | maestro-flutter                                        |\n|                                                                         |\n|  Hooks: Telegram notifications                                          |\n|  (permission_prompt, task complete, agent complete)                      |\n+-----------------------------------------------------------------------+\n```\n\n---\n\n## Quick Start\n\n### Installation\n\n```bash\ncd your-project\n./path/to/flutter-clean-arch-skills/install.sh\n\n# Or manually:\ncp -r skills/* .claude/skills/\ncp -r agents/* .claude/agents/\ncp -r hooks/* .claude/hooks/\ncp settings-hooks.json .claude/settings.json\n```\n\n### Usage\n\n```\n/orchestrator\n\nTask: Create user profile screen with edit functionality\n- Display user info\n- Edit name and avatar\n- Save to server\n```\n\n### With Asana Tasks\n\n```\n/orchestrator\n\nTasks from Asana:\n- https://app.asana.com/0/PROJECT/TASK_1\n- https://app.asana.com/0/PROJECT/TASK_2\n```\n\n**Orchestrator automatically:**\n1. PM parses input, checks registry, plans test cases\n2. flutter-dev implements features (Clean Architecture + BLoC)\n3. flutter-reviewer reviews and fixes code\n4. flutter-tester writes unit/widget/flow tests (80%+ coverage)\n5. **maestro-tester** -- QE E2E verification via Maestro on emulator\n6. Updates registry, generates final report\n\n---\n\n## Package Structure\n\n```\nflutter-clean-arch-skills/\n├── skills/                          # 3 skills\n│   ├── orchestrator/                # User-invocable (/orchestrator)\n│   │   └── SKILL.md\n│   ├── flutter-guide/               # Knowledge base (NOT user-invocable)\n│   │   ├── SKILL.md\n│   │   └── references/ (6 files)\n│   └── maestro-flutter/             # QE knowledge base\n│       ├── SKILL.md\n│       └── references/ (2 files)\n├── agents/                          # 5 agents\n│   ├── flutter-pm.md               # PM (model: inherit, Asana + test cases)\n│   ├── flutter-dev.md              # Flutter dev (model: sonnet)\n│   ├── flutter-reviewer.md         # Flutter review (model: haiku)\n│   ├── flutter-tester.md           # Flutter tests (model: sonnet)\n│   └── maestro-tester.md           # QE E2E (model: sonnet, Maestro MCP)\n├── hooks/\n│   └── telegram-notify.sh          # Telegram notifications\n├── settings-hooks.json             # Hook config\n├── install.sh                      # Auto-installation\n├── marketplace.json\n└── README.md\n```\n\n---\n\n## Skills vs Agents\n\n| Aspect | Skills | Agents |\n|--------|--------|--------|\n| Context | Shared with main | Isolated |\n| Tools | Inherited | Own set |\n| Model | Current | Configurable (sonnet/haiku) |\n| Invocation | `/orchestrator` | `Task(subagent_type=\"agent-name\")` |\n| Knowledge skills | `user-invocable: false` | Preloaded via `skills:` |\n\n### Model Assignments\n\n| Agent | Model | Reason |\n|-------|-------|--------|\n| flutter-pm | inherit | Full reasoning for decomposition + Asana parsing |\n| flutter-dev | sonnet | Quality code generation |\n| flutter-reviewer | haiku | Fast pattern matching |\n| flutter-tester | sonnet | Quality test generation |\n| maestro-tester | sonnet | QE E2E: flow generation + result analysis |\n\n---\n\n## Pipeline Flow\n\n```\nPHASE 1: PM ANALYSIS\n    |  flutter-pm: Asana parsing -\u003e registry lookup -\u003e classify -\u003e\n    |  decompose -\u003e Maestro test cases\n    v\nPHASE 2: TODO CHECKLIST\n    |  Orchestrator creates TodoWrite from PM plan\n    v\nPHASE 3: EXECUTE (sequential agents)\n    |  flutter-dev -\u003e domain -\u003e data -\u003e presentation\n    v\nPHASE 4: REVIEW (auto-fix)\n    |  flutter-reviewer: fix all issues, max 3 cycles\n    v\nPHASE 5: TESTS (MANDATORY -- unit/widget/flow)\n    |  flutter-tester: BLoC + widget + flow tests, 80%+ coverage\n    v\nPHASE 6: QE E2E (MANDATORY for UI tasks)\n    |  maestro-tester: TestKeys -\u003e YAML flows -\u003e build -\u003e run on emulator\n    v\nPHASE 7: CLOSE\n    |  Update REGISTRY.md -\u003e Final report\n    v\nCOMPLETE\n```\n\n---\n\n## Stack\n\n| Technology | Purpose |\n|-----------|---------|\n| Flutter 3.x | UI framework |\n| flutter_bloc | State management (BLoC pattern) |\n| freezed | Immutable models, events, states |\n| Dio | HTTP client |\n| Dartz | Either error handling |\n| GetIt | Dependency injection |\n| mocktail | Test mocking |\n| bloc_test | BLoC testing |\n| Maestro | E2E testing |\n\n---\n\n## Quality Gates\n\n| Stage | Check | Criteria |\n|-------|-------|----------|\n| PM | Maestro Test Cases | \u003e=3 TC for Flutter features |\n| DEVELOP | Build | `flutter build` succeeds |\n| DEVELOP | Analyze | `flutter analyze` zero issues |\n| REVIEW | Critical | Zero [CRITICAL] issues |\n| TEST | Pass | All tests pass |\n| TEST | Coverage | \u003e=80% on new code |\n| **QE** | **maestro test** | **All TC PASS** |\n\n---\n\n## Testing Pyramid\n\n```\n          +-------------------+\n          |     Maestro       |  10% -- E2E user journeys\n          |    (QE Phase 6)   |  Real emulator/device\n          +--------+----------+\n                   |\n        +----------+----------+\n        |  Widget + Flow Tests |  20% -- UI + state management\n        |    (Phase 5)         |  flutter-tester\n        +----------+----------+\n                   |\n  +----------------+----------------+\n  |           Unit Tests             |  70% -- Business logic\n  |  flutter-tester: BLoC, UseCases  |  mocktail, bloc_test\n  +----------------------------------+\n```\n\n---\n\n## Telegram Hooks\n\nAutomatic Telegram notifications:\n- **Permission prompt** -- when Claude waits for confirmation\n- **Task complete** -- when main task is done\n- **Agent complete** -- when a sub-agent finishes\n\nSetup (env vars):\n```bash\nexport TELEGRAM_BOT_TOKEN=\"your-token\"\nexport TELEGRAM_CHAT_ID=\"your-chat-id\"\n```\n\n---\n\n## Examples\n\n### Full feature\n```\n/orchestrator\nCreate user profile screen with edit functionality\n```\n\n### Asana task\n```\n/orchestrator\nhttps://app.asana.com/0/1234567890/9876543210\n```\n\n### Bug fix\n```\n/orchestrator\nBLoC does not update list after deleting an item\n```\n\n### Multiple Asana tasks\n```\n/orchestrator\nTasks:\n- https://app.asana.com/0/PROJECT/TASK_1\n- https://app.asana.com/0/PROJECT/TASK_2\n```\n\n---\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleksandr-chaika%2Fflutter-clean-arch-skills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faleksandr-chaika%2Fflutter-clean-arch-skills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleksandr-chaika%2Fflutter-clean-arch-skills/lists"}