Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
path: ${{ matrix.skill }}
validate-references: 'true'
fail-on-warning: 'true'
ignore-rules: 'name-match-directory,unknown-field'
ignore-rules: 'unknown-field'
- name: Check results
if: always()
run: |
Expand Down
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ skills/
Every `SKILL.md` follows this structure:

1. **YAML frontmatter** with the following fields:
- `name` _(required)_ — prefixed with `vgv-`, lowercase letters, numbers, and hyphens only (e.g., `vgv-bloc`)
- `name` _(required)_ — must match the skill's folder name exactly; lowercase letters, numbers, and hyphens only (e.g., `bloc`)
- `description` _(required)_ — when the skill should be triggered
- `allowed-tools` _(optional)_ — space-separated list of tools the skill may use (e.g., `Read Glob Grep`)
- `argument-hint` _(optional)_ — placeholder hint shown to the user (e.g., `"[file-or-directory]"`)
Expand All @@ -79,7 +79,7 @@ Every `SKILL.md` follows this structure:
1. Create `skills/<skill_name>/SKILL.md` following the format above
2. Update `keywords` **and** the `description` (marketplace text) in `.claude-plugin/plugin.json`
3. Update the skills table in `README.md` (skill name must link to the `SKILL.md` file)
4. Add the skill's slash command (e.g., `/vgv-<skill-name>`) to the **Usage** list in `README.md`
4. Add the skill's slash command (e.g., `/<skill-name>`) to the **Usage** list in `README.md`
5. Add any new domain terms to the `words` list in `config/cspell.json`
6. Update the repository structure in `CLAUDE.md`

Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Create `skills/<skill-name>/SKILL.md`. The file must begin with YAML frontmatter

```yaml
---
name: vgv-<skill-name>
name: <skill-name>
description: When this skill should be triggered — be specific.
allowed-tools: Read,Glob,Grep
argument-hint: "[file-or-directory]" # optional
Expand All @@ -34,7 +34,7 @@ argument-hint: "[file-or-directory]" # optional

| Field | Required | Rules |
| ----- | -------- | ----- |
| `name` | Yes | Prefixed with `vgv-`, lowercase letters, numbers, and hyphens only |
| `name` | Yes | Must match the skill's folder name exactly; lowercase letters, numbers, and hyphens only |
| `description` | Yes | Describes when the skill should be triggered |
| `allowed-tools` | Yes | Comma-separated list of tools the skill may use |
| `argument-hint` | No | Placeholder hint shown to the user |
Expand Down
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,20 +84,20 @@ For example:
You can also invoke skills directly as slash commands:

```bash
/vgv-create-project
/vgv-animations
/vgv-accessibility
/vgv-bloc
/vgv-internationalization
/vgv-layered-architecture
/vgv-material-theming
/vgv-navigation
/vgv-static-security
/vgv-testing
/vgv-ui-package
/vgv-license-compliance
/vgv-dart-flutter-sdk-upgrade
/vgv-very-good-analysis-upgrade
/create-project
/animations
/accessibility
/bloc
/internationalization
/layered-architecture
/material-theming
/navigation
/static-security
/testing
/ui-package
/license-compliance
/dart-flutter-sdk-upgrade
/very-good-analysis-upgrade
```

## What Each Skill Provides
Expand Down
2 changes: 1 addition & 1 deletion skills/accessibility/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-accessibility
name: accessibility
description: Audit or remediate Flutter widgets against WCAG 2.2 accessibility conformance levels A, AA, or AAA across iOS, Android, Web, macOS, Windows, and Linux.
when_to_use: Building, auditing, or reviewing Flutter widgets for WCAG 2.2 accessibility across multiple platforms
effort: medium
Expand Down
2 changes: 1 addition & 1 deletion skills/animations/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-animations
name: animations
description: Best practices for Flutter animations using the built-in animation framework. Use when creating, modifying, or reviewing animations, transitions, motion, or animated widgets. Covers implicit animations, explicit animations, page transitions, and Material 3 motion tokens.
allowed-tools: Read,Glob,Grep
argument-hint: "[file-or-directory]"
Expand Down
2 changes: 1 addition & 1 deletion skills/bloc/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-bloc
name: bloc
description: Best practices for Bloc state management in Flutter/Dart.
when_to_use: Use when writing, modifying, or reviewing code that uses package:bloc, package:flutter_bloc, or package:bloc_test.
allowed-tools: Read Glob Grep
Expand Down
2 changes: 1 addition & 1 deletion skills/create-project/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-create-project
name: create-project
description: Scaffold a new Dart or Flutter project from a Very Good CLI template. Supports flutter_app, dart_package, flutter_package, flutter_plugin, dart_cli, flame_game, and docs_site templates.
when_to_use: Use when user says "create a new project", "start a new flutter app", "scaffold a package", "initialize a dart cli", "new flame game", or "generate a plugin".
allowed-tools: mcp__very-good-cli__create mcp__very-good-cli__packages_get
Expand Down
2 changes: 1 addition & 1 deletion skills/dart-flutter-sdk-upgrade/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-dart-flutter-sdk-upgrade
name: dart-flutter-sdk-upgrade
description: >
VGV-specific reference for bumping Dart and Flutter SDK constraints across packages.
Covers pubspec.yaml environment constraints, CI workflow Flutter versions, and SDK
Expand Down
2 changes: 1 addition & 1 deletion skills/internationalization/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-internationalization
name: internationalization
description: Best practices for internationalization (i18n) and localization (l10n) in Flutter.
when_to_use: Use when adding, modifying, or reviewing ARB translations, locale setup, BuildContext l10n extensions, or RTL/directional layout support.
allowed-tools: Read Glob Grep
Expand Down
2 changes: 1 addition & 1 deletion skills/layered-architecture/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-layered-architecture
name: layered-architecture
description: Best practices for VGV layered monorepo architecture in Flutter.
when_to_use: Use when structuring a multi-package Flutter app, creating data or repository packages, defining layer boundaries, or wiring dependencies between packages.
allowed-tools: Read Glob Grep mcp__very-good-cli__create mcp__very-good-cli__packages_get mcp__very-good-cli__test
Expand Down
2 changes: 1 addition & 1 deletion skills/license-compliance/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-license-compliance
name: license-compliance
description: >
Audits package dependency licenses using the Very Good CLI packages_check_licenses
MCP tool. Flags non-compliant or unknown licenses and produces a compliance summary.
Expand Down
2 changes: 1 addition & 1 deletion skills/material-theming/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-material-theming
name: material-theming
description: Best practices for Flutter theming using Material 3.
when_to_use: Use when creating, modifying, or reviewing ThemeData, ColorScheme, TextTheme, component themes, spacing systems, or light/dark mode support.
allowed-tools: Read Glob Grep
Expand Down
2 changes: 1 addition & 1 deletion skills/navigation/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-navigation
name: navigation
description: Best practices for navigation and routing in Flutter using GoRouter.
when_to_use: Use when creating, modifying, or reviewing routes, deep links, redirects, or navigation logic that uses package:go_router or package:go_router_builder.
allowed-tools: Read Glob Grep
Expand Down
2 changes: 1 addition & 1 deletion skills/static-security/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-static-security
name: static-security
description: >
Best practices for Flutter mobile app security. Covers static security concerns —
not pen-testing or runtime analysis.
Expand Down
2 changes: 1 addition & 1 deletion skills/testing/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-testing
name: testing
description: Best practices for Dart unit tests, Flutter widget tests, and golden file tests.
when_to_use: Use when writing, modifying, or reviewing tests that use package:test, package:flutter_test, package:mocktail, or package:bloc_test.
argument-hint: "[file-or-directory]"
Expand Down
4 changes: 2 additions & 2 deletions skills/ui-package/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-ui-package
name: ui-package
description: Best practices for building a Flutter UI package on top of Material — custom components, ThemeExtension-based theming, consistent APIs, and widget tests. Supports app_ui_package template.
when_to_use: Use when user says "create a ui package".
allowed-tools: Edit mcp__very-good-cli__create
Expand All @@ -10,7 +10,7 @@ model: sonnet

Best practices for creating a Flutter UI package — a reusable widget library that builds on top of `package:flutter/material.dart`, extending it with app-specific components, custom design tokens via `ThemeExtension`, and a consistent API surface.

> **Theming foundation:** This skill focuses on UI package structure, widget APIs, and testing. For foundational Material 3 theming (`ColorScheme`, `TextTheme`, component themes, spacing constants, light/dark mode), see the **Material Theming** skill (`/vgv-material-theming`). The two skills are complementary — Material Theming covers how to set up and use `ThemeData`; this skill covers how to extend it with `ThemeExtension` tokens and package reusable widgets around it.
> **Theming foundation:** This skill focuses on UI package structure, widget APIs, and testing. For foundational Material 3 theming (`ColorScheme`, `TextTheme`, component themes, spacing constants, light/dark mode), see the **Material Theming** skill (`/material-theming`). The two skills are complementary — Material Theming covers how to set up and use `ThemeData`; this skill covers how to extend it with `ThemeExtension` tokens and package reusable widgets around it.

## Core Standards

Expand Down
2 changes: 1 addition & 1 deletion skills/very-good-analysis-upgrade/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: vgv-very-good-analysis-upgrade
name: very-good-analysis-upgrade
description: Upgrade very_good_analysis lint package to new version across Dart/Flutter projects. Handles version bump, lint fixes, and PR creation.
allowed-tools: Read Glob Grep Bash
model: sonnet
Expand Down
Loading