template-mason-brick — community template-mason-brick, flutter-app-template, community, ide skills, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Perfect for Flutter Development Agents needing automated Mason brick template management for CI workflow integration and test coverage. Flutter Application Template for AI coder

gsmlg-app gsmlg-app
[0]
[0]
Updated: 3/5/2026

Agent Capability Analysis

The template-mason-brick skill by gsmlg-app is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance.

Ideal Agent Persona

Perfect for Flutter Development Agents needing automated Mason brick template management for CI workflow integration and test coverage.

Core Value

Empowers agents to create, modify, and remove Mason bricks with ease, utilizing Flutter application templates and ensuring seamless integration with CI workflows and test coverage, all while working with brick structures and variables.

Capabilities Granted for template-mason-brick

Automating Mason brick template creation
Updating existing brick structures and variables
Removing bricks from projects while maintaining test coverage
Generating new Mason brick templates for Flutter applications

! Prerequisites & Limits

  • Requires Flutter application setup
  • Limited to Mason brick development
  • Needs CI workflow and test coverage integration
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

template-mason-brick

Install template-mason-brick, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

Mason Brick Development Skill

This skill guides the creation, modification, and removal of Mason bricks, ensuring test coverage and CI workflow integration.

When to Use

Trigger this skill when:

  • Creating a new Mason brick template
  • Updating an existing brick's structure or variables
  • Removing a brick from the project
  • User asks to "create a brick", "add a mason template", "update brick", or "remove brick"

Project Structure

Bricks are organized in three locations:

bricks/                    # Mason template definitions
├── brick_name/
│   ├── brick.yaml         # Brick configuration and variables
│   ├── __brick__/         # Template files with Mustache syntax
│   └── hooks/             # Optional pre/post generation hooks

test_bricks/               # Brick tests (one folder per brick)
├── brick_name/
│   └── brick_name_test.dart

.github/workflows/
└── brick-test.yml         # Parallel CI jobs for each brick

Creating a New Brick

Step 1: Create Brick Directory

bash
1mkdir -p bricks/new_brick/__brick__

Step 2: Create brick.yaml

yaml
1name: new_brick 2description: Description of what this brick generates 3version: 0.1.0+1 4 5environment: 6 mason: ^0.1.1 7 8vars: 9 name: 10 type: string 11 description: The name for the generated component 12 prompt: What is the name? 13 14 # Add more variables as needed 15 optional_var: 16 type: boolean 17 description: Optional feature flag 18 default: true

Step 3: Create Template Files

In __brick__/, create files using Mustache syntax:

__brick__/
├── {{name.snakeCase()}}/
│   ├── lib/
│   │   └── {{name.snakeCase()}}.dart
│   ├── pubspec.yaml
│   └── README.md

Use these Mustache helpers:

  • {{name}} - raw value
  • {{name.snakeCase()}} - snake_case
  • {{name.pascalCase()}} - PascalCase
  • {{name.camelCase()}} - camelCase
  • {{name.paramCase()}} - param-case
  • {{#flag}}...{{/flag}} - conditional block
  • {{^flag}}...{{/flag}} - inverted conditional

Step 4: Create Brick Test

Create test_bricks/new_brick/new_brick_test.dart:

dart
1import 'dart:io'; 2import 'package:mason/mason.dart'; 3import 'package:path/path.dart' as path; 4import 'package:test/test.dart'; 5 6void main() { 7 group('New Brick Tests', () { 8 late Directory tempDir; 9 10 setUp(() async { 11 tempDir = await Directory.systemTemp.createTemp('new_brick_test_'); 12 }); 13 14 tearDown(() async { 15 if (await tempDir.exists()) { 16 await tempDir.delete(recursive: true); 17 } 18 }); 19 20 test('generates correct structure', () async { 21 final brick = Brick.path(path.join('..', '..', 'bricks', 'new_brick')); 22 23 final generator = await MasonGenerator.fromBrick(brick); 24 await generator.generate( 25 DirectoryGeneratorTarget(tempDir), 26 vars: {'name': 'test_name'}, 27 ); 28 29 // Verify generated files exist 30 final file = File(path.join(tempDir.path, 'test_name', 'pubspec.yaml')); 31 expect(await file.exists(), isTrue); 32 }); 33 34 // Add more tests for different variable combinations 35 }); 36}

Step 5: Add Workflow Job

Add a new job to .github/workflows/brick-test.yml:

yaml
1 new-brick: 2 name: Test new_brick 3 runs-on: ubuntu-latest 4 steps: 5 - uses: actions/checkout@v6 6 7 - uses: flutter-actions/setup-flutter@v4 8 9 - name: Cache dependencies 10 uses: actions/cache@v5 11 with: 12 path: | 13 ~/.pub-cache 14 .dart_tool 15 key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }} 16 restore-keys: ${{ runner.os }}-pub- 17 18 - name: Install tools 19 run: dart pub global activate melos 20 21 - name: Prepare project 22 run: | 23 melos run prepare 24 mason get 25 26 - name: Test new_brick brick 27 run: dart run test_bricks/new_brick/new_brick_test.dart

Step 6: Register Brick

Add to root mason.yaml:

yaml
1bricks: 2 new_brick: 3 path: bricks/new_brick

Then run mason get to register.

Updating an Existing Brick

When modifying a brick:

  1. Update brick.yaml if adding/removing variables
  2. Update template files in __brick__/
  3. Update tests in test_bricks/brick_name/ to cover changes
  4. Run test locally: dart run test_bricks/brick_name/brick_name_test.dart
  5. Increment version in brick.yaml

Removing a Brick

When removing a brick, update all three locations:

  1. Remove brick directory: rm -rf bricks/brick_name
  2. Remove test directory: rm -rf test_bricks/brick_name
  3. Remove workflow job from .github/workflows/brick-test.yml
  4. Remove from mason.yaml
  5. Update CLAUDE.md if the brick was documented

Testing Locally

bash
1# Register bricks 2mason get 3 4# Test a specific brick 5dart run test_bricks/brick_name/brick_name_test.dart 6 7# Test brick generation manually 8mason make brick_name -o /tmp/test_output --var1=value1

Existing Bricks Reference

BrickPurposeKey Variables
screenFlutter screen with routingname, folder, has_adaptive_scaffold
widgetReusable widgetname, type, folder
simple_blocBasic BLoC packagename
list_blocList management BLoCname
form_blocForm validation BLoCname, field_names
repositoryData repositoryname
api_clientAPI client packagepackage_name
native_federation_pluginFederated native pluginname, package_prefix, support_*

Checklist

When creating/updating a brick:

  • brick.yaml has name, description, version, and vars
  • Template files use correct Mustache syntax
  • Test file exists in test_bricks/brick_name/
  • Tests cover main generation paths
  • Workflow job added/updated in brick-test.yml
  • Brick registered in mason.yaml
  • Run mason get to verify registration
  • Run test locally before committing

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is template-mason-brick?

Perfect for Flutter Development Agents needing automated Mason brick template management for CI workflow integration and test coverage. Flutter Application Template for AI coder

How do I install template-mason-brick?

Run the command: npx killer-skills add gsmlg-app/flutter-app-template. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for template-mason-brick?

Key use cases include: Automating Mason brick template creation, Updating existing brick structures and variables, Removing bricks from projects while maintaining test coverage, Generating new Mason brick templates for Flutter applications.

Which IDEs are compatible with template-mason-brick?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for template-mason-brick?

Requires Flutter application setup. Limited to Mason brick development. Needs CI workflow and test coverage integration.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add gsmlg-app/flutter-app-template. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use template-mason-brick immediately in the current project.

Related Skills

Looking for an alternative to template-mason-brick or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI