Skip to content

Commit 5adb1b3

Browse files
authored
Add task initialization guidance to Claude skills (#10)
1 parent b077cff commit 5adb1b3

2 files changed

Lines changed: 40 additions & 0 deletions

File tree

internal/agents/defaults/claude/CLAUDE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ You are working inside a **flow workspace** — a multi-repo development environ
66

77
Flow manages multi-repo development workspaces using git worktrees. A YAML manifest (`state.yaml`) defines which repos and branches belong together, and `flow render` materializes the workspace by cloning repos and creating worktrees.
88

9+
## Getting Started
10+
11+
If this is a fresh workspace with no repos yet, the user will give you a task — possibly pasted from Slack, dictated, or described in plain language. Use the **Task Initialization** section in the `flow-cli` skill to set the workspace name, description, add repos, render, and start working. You have everything you need to bootstrap the workspace yourself.
12+
913
## How this workspace is structured
1014

1115
Each workspace directory contains:

internal/agents/defaults/claude/skills/flow-cli/SKILL.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,42 @@ user-invocable: false
66

77
# Flow CLI
88

9+
## Task Initialization
10+
11+
When you are launched into a fresh workspace with no repos, your first job is to set up the workspace for the task. The user may paste a message from Slack, dictate a prompt, or describe the work in plain language. Follow these steps:
12+
13+
1. **Understand the task**: Read the user's prompt. Identify which repos are needed and what the work involves.
14+
15+
2. **Edit `state.yaml`**: Update the workspace manifest to configure the task:
16+
- `metadata.name` — a short, kebab-case name for the task (e.g., `vpc-ipv6`, `fix-auth-bug`)
17+
- `metadata.description` — a one-line summary of the task
18+
- `spec.repos` — add the repos needed for this task:
19+
- `url` — the git remote URL
20+
- `branch` — if the user specifies a branch, use it. Otherwise, create a descriptive feature branch name (e.g., `feat/add-ipv6-support`). Flow will automatically create the branch from the repo's default branch if it doesn't already exist in the remote.
21+
22+
3. **Render the workspace**: Run `flow render <workspace>` (using either the workspace ID or name). This clones repos and checks out the specified branches.
23+
24+
4. **Start working**: The repos are now available as directories in the workspace. Begin the task.
25+
26+
### Example
27+
28+
Given a prompt like _"Add IPv6 support to the VPC service — repo is github.com/acme/vpc-service"_:
29+
30+
```yaml
31+
apiVersion: flow/v1
32+
kind: State
33+
metadata:
34+
name: vpc-ipv6
35+
description: Add IPv6 support to the VPC service
36+
created: "2026-02-24T00:00:00Z"
37+
spec:
38+
repos:
39+
- url: github.com/acme/vpc-service
40+
branch: feat/ipv6-support
41+
```
42+
43+
Then run `flow render vpc-ipv6` to materialize the workspace and start coding.
44+
945
## Common Commands
1046

1147
| Command | Description |

0 commit comments

Comments
 (0)