@fledge/workflow 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +27 -0
- package/skills/brief/SKILL.md +111 -0
package/package.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@fledge/workflow",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"author": "René Schapka",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"files": [
|
|
8
|
+
"skills"
|
|
9
|
+
],
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public"
|
|
12
|
+
},
|
|
13
|
+
"engines": {
|
|
14
|
+
"node": ">=24"
|
|
15
|
+
},
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"@fledge/cli": "0.5.0"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@antfu/eslint-config": "7.7.3",
|
|
21
|
+
"eslint": "10.1.0"
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"postinstall": "fledge skills install",
|
|
25
|
+
"lint": "eslint . --fix"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fledge-brief
|
|
3
|
+
description: >-
|
|
4
|
+
Guide feature brief creation and lifecycle. Plan new features, create or update feature briefs, break down work into tasks, or complete a feature.
|
|
5
|
+
Invoked directly via /fledge-brief, not auto-triggered.
|
|
6
|
+
metadata:
|
|
7
|
+
type: workflow
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Step 0: Determine intent
|
|
11
|
+
|
|
12
|
+
Ask what the user wants to do, or infer from context. Present these options:
|
|
13
|
+
|
|
14
|
+
1. **New brief** — plan a new feature from scratch. Proceed to Step 1.
|
|
15
|
+
2. **Continue a brief** — pick up an existing brief. Proceed to Step 4.
|
|
16
|
+
3. **Complete a brief** — wrap up a finished feature. Proceed to Step 5.
|
|
17
|
+
|
|
18
|
+
If unclear, run `fledge brief list` to show current briefs and ask.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Step 1: Gather context
|
|
23
|
+
|
|
24
|
+
Before writing anything, build an understanding of what exists.
|
|
25
|
+
|
|
26
|
+
1. Run `fledge brief list --status completed` to read summaries of completed features. Note anything relevant to the new feature.
|
|
27
|
+
2. Ask the user what they want to build. Keep it conversational, not a form. Aim to understand:
|
|
28
|
+
- What is the user-facing change?
|
|
29
|
+
- Why does it matter?
|
|
30
|
+
- What parts of the system does it touch?
|
|
31
|
+
3. If the codebase is relevant, explore it to understand existing patterns, data models, and components that the feature will interact with.
|
|
32
|
+
|
|
33
|
+
Make obvious decisions yourself. Only ask the user when there is a genuine choice to make. When you do ask, present 2-3 specific options rather than open-ended questions.
|
|
34
|
+
|
|
35
|
+
Proceed to Step 2.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Step 2: Draft the brief
|
|
40
|
+
|
|
41
|
+
Run `fledge brief create <name>` to create the brief directory.
|
|
42
|
+
|
|
43
|
+
Write the brief content into `brief.md`. The frontmatter is managed by the CLI. The markdown body should capture:
|
|
44
|
+
|
|
45
|
+
- **What**: the user-facing change in one or two sentences
|
|
46
|
+
- **Why**: the motivation or problem being solved
|
|
47
|
+
- **Scope**: what is included and what is explicitly excluded
|
|
48
|
+
- **Design decisions**: key choices made during this conversation, with reasoning
|
|
49
|
+
|
|
50
|
+
Keep it concise. The brief is a reference for implementation, not a specification document. If something is obvious from the code, do not repeat it here.
|
|
51
|
+
|
|
52
|
+
Proceed to Step 3.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Step 3: Break down into tasks
|
|
57
|
+
|
|
58
|
+
Define the implementation tasks in `tasks.md`. Each task should be:
|
|
59
|
+
|
|
60
|
+
- **Small enough** to be a single focused unit of work
|
|
61
|
+
- **Specific enough** that someone (or an agent) can start without further clarification
|
|
62
|
+
- **Grouped** by concern when the feature spans multiple areas (e.g. backend, frontend, data)
|
|
63
|
+
|
|
64
|
+
Write the tasks into the `tasks.md` frontmatter:
|
|
65
|
+
|
|
66
|
+
```yaml
|
|
67
|
+
---
|
|
68
|
+
tasks:
|
|
69
|
+
- name: <clear, actionable task name>
|
|
70
|
+
group: <area>
|
|
71
|
+
done: false
|
|
72
|
+
---
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Order tasks by dependency: tasks that others depend on come first within their group.
|
|
76
|
+
|
|
77
|
+
After writing tasks, run `fledge brief validate <name>` to confirm the brief is valid, then run `fledge brief start <name>` to transition to active.
|
|
78
|
+
|
|
79
|
+
Present the complete brief and task list to the user for review before starting.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Step 4: Continue a brief
|
|
84
|
+
|
|
85
|
+
Run `fledge brief list` to show all briefs. If the user does not specify which brief, ask them to pick one.
|
|
86
|
+
|
|
87
|
+
Run `fledge brief status <name>` to show progress. Read the brief and tasks files to understand the full context.
|
|
88
|
+
|
|
89
|
+
From here, the user may want to:
|
|
90
|
+
- **Discuss a task** — talk through approach before implementing
|
|
91
|
+
- **Update tasks** — mark tasks as done, add new tasks, reorder
|
|
92
|
+
- **Revise the brief** — update scope or design decisions based on what was learned during implementation
|
|
93
|
+
|
|
94
|
+
When updating task status, modify the `tasks.md` frontmatter directly, then run `fledge brief status <name>` to confirm the update.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Step 5: Complete a brief
|
|
99
|
+
|
|
100
|
+
Run `fledge brief status <name>` to verify all tasks are done.
|
|
101
|
+
|
|
102
|
+
If there are incomplete tasks, ask the user whether to:
|
|
103
|
+
1. Mark remaining tasks as done (if they were completed outside this conversation)
|
|
104
|
+
2. Remove tasks that are no longer needed
|
|
105
|
+
3. Continue working on them first
|
|
106
|
+
|
|
107
|
+
Write a summary into the `brief.md` frontmatter `summary` field. The summary should be one to two sentences capturing:
|
|
108
|
+
- What was built
|
|
109
|
+
- Key decisions or patterns established that future features should know about
|
|
110
|
+
|
|
111
|
+
Run `fledge brief complete <name>` to transition to completed. The CLI validates that all tasks are done and the summary is present.
|