@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.
Files changed (2) hide show
  1. package/package.json +27 -0
  2. 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.