Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

create-project

/create-project

Zakłada nowy projekt Dart lub Flutter z szablonów Very Good CLI i instaluje zależności, dobierając szablon do celu.

Licencja
MIT
Ostatnia zmiana repozytorium
20.10.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
2
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 20.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Zakłada nowy projekt Dart lub Flutter z szablonów Very Good CLI i instaluje zależności, dobierając szablon do celu.

Wyzwalacze z opisu

create a new projectstart a new flutter appscaffold a packagecreate a new packageinitialize a dart clinew flame gamegenerate a plugincreate a new package for me

Argumenty

/create-project [template] [project-name]
Oryginalny opis (EN)

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

Jak działa

  1. Core Standards
  2. Workflow
  3. Key Domain Knowledge
  4. Anti-Patterns
Sekcje z nagłówków SKILL.md, w oryginale · 55 linii, 497 słów
Podgląd SKILL.md
---
name: create-project
description: >
  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.
allowed-tools: mcp__very-good-cli__create mcp__very-good-cli__packages_get
argument-hint: "[template] [project-name]"
---

# 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-Pattern                                | Problem                                                            | Correct Approach                                          |
| ------------------------------------------- | ------------------------------------------------------------------ | --------------------------------------------------------- |
| Asking user to pick a template name         | Users think in terms of what they're building, not CLI subcommands | Infer the template from context                           |
| Over-asking for optional parameters         | Slows down the workflow                                            | Only ask for what you cannot infer                        |
| Using `flutter_package` for a data layer    | Adds unnecessary Flutter SDK dependency                            | Use `dart_package` for data and repository layer packages |
| Skipping organization name for apps/plugins | Defaults to a placeholder value                                    | Ask when the template requires it                         |
Pliki w paczce (2)
  • SKILL.md 5 KB
  • agents/openai.yaml 1 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · verygoodopensource/vgv-ai-flutter-plugin90MIT
andresanemic/lore-plugin100Apache-2.0
mutlumehmet/claude-plugins100MIT
diffywebsite/diffy-cli100MIT

Migawka bazy z 28.10.2026 · wersja paczki 596a6ccf9ce8 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100dart-n-flutter
    Prowadzi pisanie kodu Dart i Flutter zgodnie z oficjalnymi zaleceniami dla plików .dart.
  • 100very-good-analysis-upgrade
    Podbija pakiet lintów very_good_analysis w projektach Dart i Flutter i naprawia nowe reguły w ramach jednego PR.
  • 100add-package
    Pilnuje dodawania nowych zależności Dart i Flutter przez flutter pub add, dart pub add lub edycję pubspec.yaml oraz dobór ograniczenia wersji nowego pakietu.
  • 100dart-expert
    Pomaga w Dart i Flutter przy aplikacjach mobilnych i wieloplatformowych, w tym widgetach i frameworku Flutter.
  • 100flutter-web
    Pomaga przy buildach Flutter web: kod z dart:js_interop, package:web i dart:ui_web, testy niekompilujące się na VM, biała strona po buildzie oraz QA działającej aplikacji w przeglądarce.
  • 100mobiai-flutter
    Wspiera pracę w projekcie Flutter i Dart: budowanie, testowanie, debugowanie oraz zarządzanie stanem i strukturą projektu.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.