diff --git a/skills/ffca-architecture/SKILL.md b/skills/ffca-architecture/SKILL.md index fe1e4d9..4c0113c 100644 --- a/skills/ffca-architecture/SKILL.md +++ b/skills/ffca-architecture/SKILL.md @@ -1,7 +1,15 @@ --- name: ffca-architecture -description: "Feature-First Clean Architecture orientation for Flutter monorepos: where code lives, layer boundaries, naming, and package organization." -when_to_use: Use when working in an FFCA monorepo (a features/ folder containing {feature}_domain, {feature}_data, or {feature}_presentation packages), or when the user asks about Feature-First Clean Architecture, monorepo structure, where code should live, layer dependencies, or package organization. +description: > + Feature-First Clean Architecture (FFCA) orientation for Flutter monorepos: where code lives, layer + boundaries, dependency rules, naming, and package organization. Use when working in an FFCA + monorepo, a features/ folder whose packages are named {feature}_domain, {feature}_data, and + {feature}_presentation, or when the user asks about Feature-First Clean Architecture, monorepo + structure, layer dependencies, or package organization. Triggers on "where should this code live", + "which package does this belong in", "is this dependency allowed", "can presentation import data", + "can domain depend on Flutter", "what goes in {feature}_domain", "how should I name this package", + and "explain the FFCA layers". If the repo instead uses packages/ with _repository and _api_client + packages, defer to vgv-ai-flutter-plugin's layered-architecture skill. allowed-tools: Read Glob Grep effort: high --- diff --git a/skills/ffca-audit/SKILL.md b/skills/ffca-audit/SKILL.md index 145647d..0f4c48c 100644 --- a/skills/ffca-audit/SKILL.md +++ b/skills/ffca-audit/SKILL.md @@ -1,7 +1,16 @@ --- name: ffca-audit -description: "Audit an FFCA monorepo for architecture compliance: the mechanical layer/naming/cycle checks plus a qualitative review, producing a per-package verdict table." -when_to_use: Use when auditing an FFCA monorepo for architecture compliance, reviewing the full dependency graph, assessing FFCA adoption in an existing project, or when the user asks for an architecture health check. +description: > + Audit an FFCA monorepo for architecture compliance: mechanical layer, naming, and cycle checks + plus a qualitative source review, producing a per-package verdict table. Use in an FFCA monorepo, + a features/ folder whose packages are named {feature}_domain, {feature}_data, and + {feature}_presentation, when auditing architecture compliance, reviewing the full dependency + graph, assessing FFCA adoption in an existing project, or before opening a PR that adds or moves + packages. Triggers on "audit the architecture", "is the architecture still clean", "check the repo + follows FFCA", "architecture health check", "find layer violations", "any dependency cycles", + "review the dependency graph", and "are we ready to open this PR". Reports only and never + auto-fixes. If the repo instead uses packages/ with _repository and _api_client packages, defer to + vgv-ai-flutter-plugin's layered-architecture skill. allowed-tools: Task Read Glob Grep Bash effort: high --- diff --git a/skills/ffca-cross-feature/SKILL.md b/skills/ffca-cross-feature/SKILL.md index 454d19c..23f3632 100644 --- a/skills/ffca-cross-feature/SKILL.md +++ b/skills/ffca-cross-feature/SKILL.md @@ -1,7 +1,15 @@ --- name: ffca-cross-feature -description: "Cross-feature dependencies in FFCA: the Summary pattern, use cases that combine repositories, composing features, and feature-to-feature communication." -when_to_use: Use when one feature needs data or functionality from another feature, when sharing models across features, or when deciding between a use case and a new composing feature. +description: > + Cross-feature dependencies in FFCA: the Summary pattern, use cases that combine repositories, + composing features, and feature-to-feature communication. Use in an FFCA monorepo, a features/ + folder whose packages are named {feature}_domain, {feature}_data, and {feature}_presentation, when + one feature needs data or behavior from another, when sharing models across features, or when + choosing between a use case and a new composing feature. Triggers on "feature A needs data from + feature B", "can cart import checkout", "share this model between features", "how do features talk + to each other", "should this be a use case or a new feature", "combine two repositories", and + "avoid a circular dependency between features". If the repo instead uses packages/ with + _repository and _api_client packages, defer to vgv-ai-flutter-plugin's layered-architecture skill. allowed-tools: Read Glob Grep effort: high --- diff --git a/skills/ffca-feature/SKILL.md b/skills/ffca-feature/SKILL.md index b1ab24b..e98eee3 100644 --- a/skills/ffca-feature/SKILL.md +++ b/skills/ffca-feature/SKILL.md @@ -1,7 +1,16 @@ --- name: ffca-feature -description: "Scaffold and extend FFCA features: the three-package domain/data/presentation structure, models, repositories, use cases, DTOs, mappers, Cubits, and Modules." -when_to_use: Use when creating a new feature, headless feature, screen, or adding a layer to an existing feature in an FFCA monorepo. Covers the three-package scaffold, domain models, repositories, use cases, DTOs, mappers, Cubits, and Modules. +description: > + Scaffold and extend FFCA features: the three-package domain, data, and presentation structure, + models, repositories, use cases, DTOs, mappers, Cubits, and Modules. Use in an FFCA monorepo, a + features/ folder whose packages are named {feature}_domain, {feature}_data, and + {feature}_presentation, when creating a new feature, a headless feature, or a screen, or when + adding a layer, repository, use case, DTO, mapper, or Cubit to an existing feature. Triggers on + "add a feature package", "create a new feature", "scaffold the profile feature", "add a headless + feature", "add a repository to this feature", "add a use case", "map this DTO to a domain model", + "add a Cubit for this screen", and "wire up the feature Module". If the repo instead uses + packages/ with _repository and _api_client packages, defer to vgv-ai-flutter-plugin's + layered-architecture skill. allowed-tools: Read Glob Grep Write Edit mcp__very_good_cli__create mcp__very_good_cli__packages_get effort: high --- diff --git a/skills/ffca-routing/SKILL.md b/skills/ffca-routing/SKILL.md index 97e6a90..6e0c9ee 100644 --- a/skills/ffca-routing/SKILL.md +++ b/skills/ffca-routing/SKILL.md @@ -1,7 +1,15 @@ --- name: ffca-routing -description: "Routing and navigation for FFCA monorepos: callback injection, go_router_builder typed routes, the $extra hydration pattern, and feature isolation." -when_to_use: Use when adding screens, routes, navigation, deep links, or navigation callbacks in an FFCA monorepo. +description: > + Routing and navigation for FFCA monorepos: callback injection, go_router_builder typed routes, the + $extra hydration pattern, and keeping features isolated from each other's routes. Use in an FFCA + monorepo, a features/ folder whose packages are named {feature}_domain, {feature}_data, and + {feature}_presentation, when adding screens, routes, navigation, deep links, or navigation + callbacks. Triggers on "add a route for this screen", "navigate from one feature to another", + "where do routes live", "pass an object to the next screen", "hydrate $extra on deep link", "add a + deep link", "wire a navigation callback", and "can this feature import the router". If the repo + instead uses packages/ with _repository and _api_client packages, defer to vgv-ai-flutter-plugin's + layered-architecture skill. allowed-tools: Read Glob Grep Write Edit effort: high ---