From flutter-craft
Guides creation of Flutter-craft skills with SKILL.md structure, frontmatter rules, naming conventions, core principles, announce patterns, required sub-skills, and testing steps.
npx claudepluginhub vp-k/flutter-craftThis skill uses the workspace's default tool permissions.
Create new skills for flutter-craft that follow the established patterns and integrate with the skill system.
Provides Flutter/Dart guidance on architecture (BLoC, Riverpod), state management, widgets, navigation (GoRouter), data (Dio, Hive), performance, and testing for cross-platform mobile apps.
Guides development of Claude Code SKILL.md files with best practices, structure, YAML frontmatter rules, categories, patterns, references, and testing.
Creates Claude Code skills with best practices for structure, validation, and testing. Useful when designing or refining skills, prompts, references, or supporting files.
Share bugs, ideas, or general feedback.
Create new skills for flutter-craft that follow the established patterns and integrate with the skill system.
Announce at start: "I'm using the flutter-writing-skills skill to create a new skill."
Every skill needs:
skills/
└── skill-name/
└── SKILL.md
---
name: skill-name
description: Use when [trigger condition] - [what it does]
---
# Skill Title
## Overview
[1-2 sentence description of what this skill does]
**Core principle:** [The key rule this skill enforces]
**Announce at start:** "I'm using the [skill-name] skill to [purpose]."
## When to Use
[Clear criteria for when to trigger this skill]
## The Process
[Step-by-step workflow]
## [Domain-Specific Sections]
[Add sections relevant to the skill's domain]
## Red Flags
**Never:**
- [Things to avoid]
**Always:**
- [Things to ensure]
## REQUIRED SUB-SKILL (if applicable)
After completing this skill, you MUST invoke:
→ **flutter-craft:[next-skill]**
## Integration
**Called by:** [Which skills trigger this one]
**Pairs with:** [Related skills]
The frontmatter is critical - it's how Claude Code discovers skills:
---
name: skill-name # kebab-case, unique
description: Use when... # Must start with "Use when"
---
Description format:
Examples:
# Good
description: Use when implementing Flutter features - follows Clean Architecture layer order
# Bad (too vague)
description: Helps with Flutter development
flutter- prefix for Flutter-specific skillsflutter-feature-nameInclude a Core principle that captures the essence:
Skills should announce themselves:
"I'm using the [skill-name] skill to [action]."
This helps users understand which skill is active.
If the skill MUST be followed by another skill:
## REQUIRED SUB-SKILL
After completing brainstorming, you MUST invoke:
→ **flutter-craft:flutter-planning**
This is NOT optional. The workflow is incomplete without planning.
Include Flutter commands where relevant:
flutter analyze
flutter test
flutter build apk --debug
flutter pub get
flutter pub run build_runner build
# Read the skill file
cat skills/my-skill/SKILL.md
# Check frontmatter is valid
head -5 skills/my-skill/SKILL.md
Verify the skill triggers correctly:
Run through the complete workflow:
Vague trigger:
# Bad
description: Use for Flutter stuff
# Good
description: Use when starting a new Flutter feature - explores requirements and designs before implementation
Missing announce:
# Bad - no announcement
## Overview
This skill helps with...
# Good
**Announce at start:** "I'm using the flutter-brainstorming skill to design this feature."
No verification steps:
# Bad - no verification
After implementation, you're done.
# Good
After implementation, run:
$ flutter analyze
$ flutter test