Use when starting feature work that needs isolation from current workspace - creates isolated git worktrees with Flutter project setup
/plugin marketplace add vp-k/flutter-craft/plugin install vp-k-flutter-craft-plugins-flutter-craft@vp-k/flutter-craftThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Git worktrees let you work on multiple branches simultaneously in separate directories. Each worktree is fully independent - you can run different Flutter versions, have different dependencies, without affecting your main workspace.
Core principle: Isolated workspace = safe experimentation + parallel development
Announce at start: "I'm using the flutter-worktrees skill to create an isolated workspace."
# From main repository
git worktree add ../flutter-app-feature-auth feature/auth
# Or create new branch
git worktree add -b feature/auth ../flutter-app-feature-auth main
Naming convention: ../[project-name]-[feature-name]
cd ../flutter-app-feature-auth
# Install dependencies
flutter pub get
# Verify Flutter is working
flutter doctor
# If needed, run code generation
flutter pub run build_runner build --delete-conflicting-outputs
# Check project state
flutter analyze
flutter test
# Should show no issues if setup is correct
Follow normal development workflow:
All changes stay isolated in this worktree.
# From main repository
cd ../flutter-app # Back to main
# Remove worktree
git worktree remove ../flutter-app-feature-auth
# If branch was merged, it's already in main
# If discarded, the branch still exists and can be deleted:
git branch -D feature/auth
parent-directory/
├── flutter-app/ # Main repository
│ ├── lib/
│ ├── test/
│ ├── pubspec.yaml
│ └── .git/ # Main git directory
├── flutter-app-feature-auth/ # Worktree 1
│ ├── lib/
│ ├── test/
│ ├── pubspec.yaml
│ └── .git # File pointing to main .git
└── flutter-app-feature-profile/ # Worktree 2
├── lib/
├── test/
├── pubspec.yaml
└── .git
Each worktree has its own:
.dart_tool/ directorypubspec.lock (can differ if experimenting with versions)Always run flutter pub get after creating worktree!
If project uses code generation (freezed, json_serializable, etc.):
flutter pub run build_runner build --delete-conflicting-outputs
VS Code: Open worktree folder as new workspace Android Studio: Open worktree folder as new project
Each worktree can have different:
No conflicts between worktrees!
# 1. Create isolated workspace for auth feature
git worktree add -b feature/auth ../flutter-app-auth main
# 2. Navigate and setup
cd ../flutter-app-auth
flutter pub get
flutter pub run build_runner build --delete-conflicting-outputs
# 3. Verify
flutter analyze
flutter test
# 4. Work on feature (using flutter-craft skills)
# ... implement auth feature ...
# 5. When done, back to main
cd ../flutter-app
# 6. Merge if ready
git merge feature/auth
# 7. Cleanup
git worktree remove ../flutter-app-auth
Never:
flutter pub get in new worktreegit worktree remove)If worktree has issues:
# List all worktrees
git worktree list
# Prune stale worktree references
git worktree prune
After creating worktree:
After feature complete:
| Command | Purpose |
|---|---|
git worktree add <path> <branch> | Create worktree |
git worktree add -b <new-branch> <path> <base> | Create with new branch |
git worktree list | List all worktrees |
git worktree remove <path> | Remove worktree |
git worktree prune | Clean stale references |
flutter pub get | Required after creating! |
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.