agentleFS
VeryGoodOpenSourceVeryGoodOpenSource/vgv-ai-flutter-plugin/skills/create-project/SKILL.md

create-project

Skill176 starsChanged 3 months agoMITView on GitHub

Scaffold 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", "create a new package", "initialize a dart cli", "new flame game", or "generate a plugin". Use it for bare, vague, or under-specified scaffolding requests too — "create a new package for me", "make me a new app", "I need a new project", "set one up" — including ones that name no template, no project name, and no organization, or that only hint at what is being built. Missing or ambiguous details are a reason to use this skill, not a reason to skip it: it asks the clarifying questions and picks the template.

11 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use json-canvas, webapp-testing and 1 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • wangzhuofengSkill

    json-canvas

    Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.

    Also in 3 projects that use this

  • JetBrainsSkill

    webapp-testing

    Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

    Also in 3 projects that use this

  • GoogleSkill

    grill-me

    A relentless interview to sharpen a plan or design.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

6 rules. 0 are common, 2 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 9 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If the intent is ambiguous, use AskUserQuestion to clarify with a high-level question about what they're building — not which subcommand …

    line 42
  2. Very specific:

    Use AskUserQuestion for what you cannot infer, in one call.

    line 46
  3. Distinctive:

    Create the project using the Very Good CLI MCP server

    line 50
  4. Very specific:

    Use dart_package (not flutter_package) for data layer and repository layer packages in the layered-architecture pattern — these must not …

    line 57
  5. Distinctive:

    If a user provides a project name with dashes, convert to underscores — Dart package names only allow lowercase letters, numbers, and …

    line 58
  6. Very specific:

    If packages_get fails after creation, check that directory points at the new project and that the Dart SDK is on PATH

    line 60

“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Create Project

Scaffold a new Dart or Flutter project using Very Good CLI templates.

Cross-harness fallbacks. This skill drives the Very Good CLI MCP server and asks the user structured questions. On a host without this plugin's Bash hooks and without that MCP server connected, run the equivalent very_good create … and very_good packages get commands directly. On a host without AskUserQuestion, invoke whatever equivalent user-question tool the host provides; if it has none, ask the same questions as plain numbered text.


Core Standards

  • Use the Very Good CLI MCP server to scaffold projects and install dependencies
  • Infer the template from context — determine the right template based on what the user wants to build, not by asking them to pick a subcommand name
  • Use AskUserQuestion only for information you cannot infer — project name and organization are the most common missing pieces
  • Install dependencies after creation

Workflow

Step 1: Understand What the User Wants to Build

Infer the subcommand from the user's description — the available subcommands and their descriptions are defined by the Very Good CLI MCP server.

If the intent is ambiguous, use AskUserQuestion to clarify with a high-level question about what they're building — not which subcommand they want.

Step 2: Gather Missing Parameters

Use AskUserQuestion for what you cannot infer, in one call. Leave optional parameters (description, output directory, application ID) at their defaults unless the user raises them.

Step 3: Create and Set Up

  1. Create the project using the Very Good CLI MCP server
  2. Install dependencies using the Very Good CLI MCP server — pass directory: '<path-to-created-project>' to packages_get so it runs against the new project, not the workspace root

Key Domain Knowledge

  • Use dart_package (not flutter_package) for data layer and repository layer packages in the layered-architecture pattern — these must not depend on Flutter SDK
  • If a user provides a project name with dashes, convert to underscores — Dart package names only allow lowercase letters, numbers, and underscores
  • Templates that produce apps, plugins, or games require an organization name — do not skip this or it defaults to a placeholder value
  • If packages_get fails after creation, check that directory points at the new project and that the Dart SDK is on PATH

Anti-Patterns

Anti-PatternProblemCorrect Approach
Asking user to pick a template nameUsers think in terms of what they're building, not CLI subcommandsInfer the template from context
Over-asking for optional parametersSlows down the workflowOnly ask for what you cannot infer
Using flutter_package for a data layerAdds unnecessary Flutter SDK dependencyUse dart_package for data and repository layer packages
Skipping organization name for apps/pluginsDefaults to a placeholder valueAsk when the template requires it

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.