VeryGoodOpenSource
- 28 skills
- 0 followers
- 5 hours ago last updated
- ▌ Bump Version · verygoodopensourceBumps the very_good_analysis package to a new version. Use when preparing a release, adding support for a new Dart SDK, or adding/removing lint rules — even for phrasings like "bump version", "cut a release", or "add rules for Dart X.Y".
- ▌ Mason · verygoodopensourceWorking with Mason bricks: installing the CLI, creating and consuming bricks, understanding brick structure, Mustache template syntax, hooks, and discovering bricks on BrickHub.
- ▌ Plan · verygoodopensource bundleTurns high-level brainstorming and ideas into well-structured, actionable implementation plans.
- ▌ Create · verygoodopensourceScaffolds a new project by routing to the right companion plugin's create skill.
- ▌ Hotfix · verygoodopensource bundleApplies a minimal, targeted fix for emergency bugs — enforces review and testing without brainstorm or planning phases.
- ▌ Rebase · verygoodopensource bundleRebases the current feature branch onto the base branch (main/master/develop).
- ▌ Review · verygoodopensource bundleRuns quality review agents on demand — reviews code against VGV standards for architecture, tests, and simplicity, then writes one consolidated, numbered report.
- ▌ Debrief · verygoodopensource bundleProduces a structured post-incident analysis — timeline, root cause, and actionable follow-ups — while context is fresh.
- ▌ Create Pr · verygoodopensource bundleStage, commit, push, and open a pull request following project conventions and the Conventional Commits spec. Accepts optional skip-checks argument to bypass validation when called from /build.
- ▌ Brainstorm · verygoodopensource bundleExplores requirements and approaches through collaborative dialogue before planning implementation.
- ▌ Refine Approach · verygoodopensource bundleReviews and refines brainstorm or planning documents before implementation. Identifies gaps, clarifies assumptions, and ensures the approach is sound.
- ▌ Elements Of Style · verygoodopensourceApplies Strunk's Elements of Style principles when writing or editing prose.
- ▌ Plan Technical Review · verygoodopensource bundleReviews an externally-authored implementation plan for quality, VGV conventions, and scope. Plans created by /plan are already reviewed during creation.
- ▌ Bloc · verygoodopensource bundleBest practices for Bloc state management in Flutter/Dart, covering Cubit versus Bloc, event and state naming, sealed classes with Equatable, the Page/View split with BlocProvider, BlocBuilder, BlocListener, and BlocSelector. Use when writing, modifying, or reviewing code that uses package:bloc, package:flutter_bloc, or package:bloc_test.
- ▌ Testing · verygoodopensource bundleBest practices for Dart unit tests, Flutter widget tests, and golden file tests, covering descriptive group and test naming, setUp lifecycle and test isolation, mocking and verification with package:mocktail, the shared pumpApp test helper, finders and widget interactions. Use when writing, modifying, or reviewing tests that use package:test, package:flutter_test, package:mocktail, or package:bloc_test.
- ▌ Animations · verygoodopensource bundleBest practices for Flutter animations using the built-in animation framework, covering implicit animations, explicit `AnimationController` animations, page transitions, and Material 3 motion tokens. Use when creating, modifying, or reviewing animations, transitions, motion, or animated widgets, and also for custom route transitions built with `CustomTransitionPage`, a `buildPage` override on a `GoRouteData` subclass, or a `Hero` transition, since motion between routes is animation work even when the surrounding code is `go_router`.
- ▌ Green Gate · verygoodopensource bundleDrives a Dart or Flutter package fully green through an autonomous verify-fix-rerun loop across four quality gates: analyze, format, test, and coverage, exiting only when one final iteration proves all four pass with observed numbers. It also owns gate configuration, so plan-only questions belong here: which tool and arguments run each gate, in what order, the coverage target, what leaves the coverage denominator, coverage ignore comments, "just re-check coverage", and "confirm the package is green". Use it when the user says "green gate", "make it green", "get CI green", "fix all the analyze and test failures", "clean this package up before I open a PR", "bring coverage to 100", or "loop until everything passes", and when a run stalls with the same failures repeating round after round. Prefer it over the single-gate testing or analysis skills when a request spans multiple gates or asks to fix and re-verify until clean.
- ▌ Navigation · verygoodopensource bundleBest practices for navigation and routing in Flutter using GoRouter, covering hierarchical route trees, type-safe `@TypedGoRoute` definitions, named navigation, redirects, and deep linking setup. Use when creating, modifying, or reviewing routes, deep links, redirects, or navigation logic that uses package:go_router or package:go_router_builder, including widget tests that mock GoRouter or provide it through `InheritedGoRouter`. Route motion belongs to the animations skill, even inside a `GoRouteData` subclass.
- ▌ UI Package · verygoodopensource bundleBest practices for building a Flutter UI package on top of Material, covering custom components, ThemeExtension-based theming, consistent APIs, widget tests, and scaffolding from the app_ui_package template. Use when creating a UI package and whenever working inside one: adding or reviewing a widget, wiring design tokens, exporting through the barrel file, or writing tests for a widget that lives in a UI package. Triggers on "create a ui package", "add a widget to our ui package", "add a design token", "export it from the barrel", "write tests for this widget in my ui package", and on any request naming a package whose job is shared widgets and design tokens.
- ▌ Accessibility · verygoodopensource bundleAudits or remediates Flutter widgets against WCAG 2.2 conformance levels A, AA, or AAA across iOS, Android, Web, macOS, Windows, and Linux, covering Semantics labels and screen reader output under VoiceOver and TalkBack, touch target sizes, dragging alternatives, focus order and keyboard navigation, color contrast, text scaling, animation gating on disableAnimations, and form autofillHints, including the test suite that locks every fix in. Use when building, auditing, or reviewing Flutter widgets for accessibility on one or several of those platforms.
- ▌ Create Project · verygoodopensource bundleScaffold a new Dart or Flutter project from a Very Good CLI template, covering the flutter_app, dart_package, flutter_package, flutter_plugin, dart_cli, flame_game, and docs_site templates, inferring the right one from what the user wants to build and then installing dependencies. Use when the 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".
- ▌ Static Security · verygoodopensource bundleStatic security review for Flutter mobile apps and Dart code, flagging hardcoded secrets, insecure storage, unsafe network calls, leaky logs, and vulnerable dependencies. Use when reviewing or writing code that handles secrets, user data, network communication, authentication, or cryptography, or when adding validation to user input such as login, sign-up, or payment forms whose values reach a repository or an API, with prompts like "add validation to this form", "nothing is checked before this hits the API", or "validate these fields". Also use for dependency vulnerability review, a security audit even when the request never says "security": "we cut a release tomorrow, is this pubspec safe", "check our dependencies for known vulnerabilities", "scan for CVEs", "we have an ignored_advisories entry, is that fine", or "these versions are pinned, what are we exposed to".
- ▌ Material Theming · verygoodopensource bundleBest practices for Flutter theming with Material 3, treating ThemeData as the single source of truth for colors, typography, component styles, and spacing. Use when creating, modifying, or reviewing ThemeData, ColorScheme, TextTheme, component themes, spacing systems, or light/dark mode support, and whenever widget code carries its own styling: a hardcoded Color, an inline TextStyle, raw padding or gap numbers, the same decoration repeated across widget instances, or a brightness/dark-mode conditional inside build, even when the request only says "review this widget", "cut the duplication", "stop repeating this", or "tidy this up".
- ▌ License Compliance · verygoodopensource bundleAudits Dart and Flutter package dependency licenses using the Very Good CLI packages_check_licenses MCP tool, flags non-compliant or unknown licenses, and produces a compliance summary report. Use when the user says "check licenses", "license audit", "check dependency licenses", "license compliance", "review package licenses", "are our dependencies compliant", "scan for license issues", or "pre-release license check". Use it especially when the request asks for a compliance verdict without a scan, as in "read the licenses off this pubspec", "confirm we're compliant", "just tell me if these packages are safe to ship", "I'd rather not run anything", or "which of these are GPL", because refusing to certify compliance from a dependency list is the call this skill governs. A pasted pubspec is a trigger, not a substitute for the audit.
- ▌ Internationalization · verygoodopensource bundleBest practices for internationalization (i18n) and localization (l10n) in Flutter, using the built-in `flutter_localizations` and `intl` setup with ARB files as the single source of truth. Use when adding, modifying, or reviewing ARB translations, locale setup (`l10n.yaml`, `generate: true` in `pubspec.yaml`, `flutter gen-l10n`, `localizationsDelegates`, `supportedLocales`), BuildContext l10n extensions such as `context.l10n`, hardcoded user- facing strings that should be localized, localized strings passed into shared or reusable widgets, or RTL/directional layout support with `EdgeInsetsDirectional`.
- ▌ Layered Architecture · verygoodopensource bundleBest practices for VGV layered monorepo architecture in Flutter, covering the four layers Data, Repository, Business Logic, and Presentation, their unidirectional dependency rules, model transformation across layer boundaries, and app bootstrap wiring. Use when structuring a multi-package Flutter app, creating data or repository packages, defining layer boundaries, or wiring dependencies between packages through path dependencies in pubspec.yaml, barrel exports, and RepositoryProvider.
- ▌ Dart Flutter Sdk Upgrade · verygoodopensource bundleVGV-specific reference for bumping Dart and Flutter SDK constraints across packages, covering pubspec.yaml environment constraints, CI workflow Flutter versions, and SDK upgrade PR preparation. Use it when upgrading the Flutter or Dart SDK version in any VGV repository, on phrases like "bump Flutter to 3.x", "update SDK constraints", "upgrade Dart SDK", "update CI Flutter version", "bump SDK version", or "prep the SDK upgrade PR", and also when a bump is already underway and something breaks: "pub get fails after I changed the environment block", "version solving failed after bumping the SDK", "a dependency requires an older SDK", "get me unblocked on the Flutter upgrade", or "which Dart version ships with Flutter 3.x". It owns the whole bump, including the conflicts it surfaces, even when the blocking package has a skill of its own.
- ▌ Very Good Analysis Upgrade · verygoodopensource bundleUpgrade the very_good_analysis lint package to a new version in any Dart or Flutter package, handling the pubspec.yaml version bump, the lint fixes the new rules force, and the PR. Trigger on phrases like "bump very_good_analysis to 10.0.0", "upgrade very_good_analysis", "update our lint package", "we're due for a lint upgrade", "take very_good_analysis to the latest", or a `dart pub get` conflict reported after a very_good_analysis bump. Use it even when the user only describes the package instead of pointing at it, because the decisions it governs are scope calls that do not need the files on disk: which constraint to write, which warnings to fix, and what stays out of the PR. The trigger is a very_good_analysis version change. A conflict surfaced by a Dart or Flutter SDK bump belongs to dart-flutter-sdk- upgrade instead, even when very_good_analysis is the package blocking resolution.