# flutter/agent-plugins architecture

> Architecture diagram of the GitHub repository flutter/agent-plugins, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/flutter/agent-plugins
- Repository: https://github.com/flutter/agent-plugins

## Overview

Flutter Agent Plugins is a collection of agent-facing skills, rules, and plugin metadata for Flutter development. The main workflow is an agent selecting a task-specific skill, following its guidance, and applying changes in a Flutter project. The README documents testing, UI/layout, architecture, serialization, routing, localization, and HTTP workflows; the tree also contains Dart skills and hot-reload rules. Source excerpts were unavailable, so edges reflect documented packaging and use rather than inferred implementation calls.

Main entry points: [`skills/flutter-add-integration-test`](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-add-integration-test) (Integration tests), [`skills/flutter-add-widget-preview`](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-add-widget-preview) (Widget previews), [`skills/flutter-add-widget-test`](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-add-widget-test) (Widget tests), [`skills/flutter-apply-architecture-best-practices`](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-apply-architecture-best-practices) (App architecture)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_flutter_skills["Flutter skills"]
  node_flutter_integration["Integration tests"]
  node_widget_preview["Widget previews"]
  node_widget_test["Widget tests"]
  node_architecture["App architecture"]
  node_responsive["Responsive UI"]
  node_layout_fixes["Layout fixes"]
  node_serialization["JSON serialization"]
  node_routing["Declarative routing"]
  node_localization["Localization setup"]
  node_http["HTTP requests"]
end

subgraph group_dart_skills["Dart skills"]
  node_dart_skills["Dart task skills"]
end

subgraph group_plugin_config["Plugin configuration"]
  node_agent_plugins["Agent plugin metadata<br/>[.agents]"]
  node_claude_plugin["Claude plugin<br/>[plugin.json]"]
  node_codex_plugin["Codex plugin<br/>[plugin.json]"]
  node_cursor_plugin["Cursor plugin<br/>[plugin.json]"]
end

subgraph group_shared_guidance["Shared guidance"]
  node_flutter_rules["Hot reload rules"]
end

node_agent(("AI agent"))
node_project["Flutter project"]

node_agent -->|"loads configuration"| node_agent_plugins
node_agent -.->|"loads configuration"| node_claude_plugin
node_agent -.->|"loads configuration"| node_codex_plugin
node_agent -.->|"loads configuration"| node_cursor_plugin
node_agent -->|"uses guidance"| node_flutter_integration
node_agent -->|"uses guidance"| node_widget_preview
node_agent -->|"uses guidance"| node_widget_test
node_agent -->|"uses guidance"| node_architecture
node_agent -->|"uses guidance"| node_responsive
node_agent -->|"uses guidance"| node_layout_fixes
node_agent -->|"uses guidance"| node_serialization
node_agent -->|"uses guidance"| node_routing
node_agent -->|"uses guidance"| node_localization
node_agent -->|"uses guidance"| node_http
node_agent -.->|"uses guidance"| node_dart_skills
node_agent -->|"applies rules"| node_flutter_rules
node_agent -->|"edits project"| node_project

click node_flutter_integration "https://github.com/flutter/agent-plugins/tree/main/skills/flutter-add-integration-test"
click node_widget_preview "https://github.com/flutter/agent-plugins/tree/main/skills/flutter-add-widget-preview"
click node_widget_test "https://github.com/flutter/agent-plugins/tree/main/skills/flutter-add-widget-test"
click node_architecture "https://github.com/flutter/agent-plugins/tree/main/skills/flutter-apply-architecture-best-practices"
click node_responsive "https://github.com/flutter/agent-plugins/tree/main/skills/flutter-build-responsive-layout"
click node_layout_fixes "https://github.com/flutter/agent-plugins/tree/main/skills/flutter-fix-layout-issues"
click node_serialization "https://github.com/flutter/agent-plugins/tree/main/skills/flutter-implement-json-serialization"
click node_routing "https://github.com/flutter/agent-plugins/tree/main/skills/flutter-setup-declarative-routing"
click node_localization "https://github.com/flutter/agent-plugins/tree/main/skills/flutter-setup-localization"
click node_http "https://github.com/flutter/agent-plugins/tree/main/skills/flutter-use-http-package"
click node_dart_skills "https://github.com/flutter/agent-plugins/tree/main/skills"
click node_flutter_rules "https://github.com/flutter/agent-plugins/tree/main/rules"
click node_agent_plugins "https://github.com/flutter/agent-plugins/tree/main/.agents"
click node_claude_plugin "https://github.com/flutter/agent-plugins/blob/main/.claude-plugin/plugin.json"
click node_codex_plugin "https://github.com/flutter/agent-plugins/blob/main/.codex-plugin/plugin.json"
click node_cursor_plugin "https://github.com/flutter/agent-plugins/blob/main/.cursor-plugin/plugin.json"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_flutter_integration,node_widget_preview,node_widget_test,node_architecture,node_responsive,node_layout_fixes,node_serialization,node_routing,node_localization,node_http toneBlue
class node_dart_skills toneAmber
class node_agent_plugins,node_claude_plugin,node_codex_plugin,node_cursor_plugin toneMint
class node_flutter_rules toneRose
class node_agent,node_project toneIndigo
```

## Components

### Flutter skills

- [Integration tests](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-add-integration-test): `skills/flutter-add-integration-test`
- [Widget previews](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-add-widget-preview): `skills/flutter-add-widget-preview`
- [Widget tests](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-add-widget-test): `skills/flutter-add-widget-test`
- [App architecture](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-apply-architecture-best-practices): `skills/flutter-apply-architecture-best-practices`
- [Responsive UI](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-build-responsive-layout): `skills/flutter-build-responsive-layout`
- [Layout fixes](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-fix-layout-issues): `skills/flutter-fix-layout-issues`
- [JSON serialization](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-implement-json-serialization): `skills/flutter-implement-json-serialization`
- [Declarative routing](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-setup-declarative-routing): `skills/flutter-setup-declarative-routing`
- [Localization setup](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-setup-localization): `skills/flutter-setup-localization`
- [HTTP requests](https://github.com/flutter/agent-plugins/tree/main/skills/flutter-use-http-package): `skills/flutter-use-http-package`

### Dart skills

- [Dart task skills](https://github.com/flutter/agent-plugins/tree/main/skills): `skills`

### Plugin configuration

- [Agent plugin metadata](https://github.com/flutter/agent-plugins/tree/main/.agents): `.agents`
- [Claude plugin](https://github.com/flutter/agent-plugins/blob/main/.claude-plugin/plugin.json): `.claude-plugin/plugin.json`
- [Codex plugin](https://github.com/flutter/agent-plugins/blob/main/.codex-plugin/plugin.json): `.codex-plugin/plugin.json`
- [Cursor plugin](https://github.com/flutter/agent-plugins/blob/main/.cursor-plugin/plugin.json): `.cursor-plugin/plugin.json`

### Shared guidance

- [Hot reload rules](https://github.com/flutter/agent-plugins/tree/main/rules): `rules`

### Other components

- **AI agent**
- **Flutter project**

## Connections

- AI agent → Agent plugin metadata: loads configuration
- AI agent → Claude plugin: loads configuration
- AI agent → Codex plugin: loads configuration
- AI agent → Cursor plugin: loads configuration
- AI agent → Integration tests: uses guidance
- AI agent → Widget previews: uses guidance
- AI agent → Widget tests: uses guidance
- AI agent → App architecture: uses guidance
- AI agent → Responsive UI: uses guidance
- AI agent → Layout fixes: uses guidance
- AI agent → JSON serialization: uses guidance
- AI agent → Declarative routing: uses guidance
- AI agent → Localization setup: uses guidance
- AI agent → HTTP requests: uses guidance
- AI agent → Dart task skills: uses guidance
- AI agent → Hot reload rules: applies rules
- AI agent → Flutter project: edits project
