bluekiwi 0.1.7 → 0.2.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/dist/assets/mcp/server.js +97 -2
- package/dist/assets/skills/bk-approve/SKILL.md +78 -0
- package/dist/assets/skills/bk-credential/SKILL.md +146 -0
- package/dist/assets/skills/bk-design/SKILL.md +127 -0
- package/dist/assets/skills/bk-improve/SKILL.md +106 -0
- package/dist/assets/skills/bk-instruction/SKILL.md +177 -0
- package/dist/assets/skills/bk-next/SKILL.md +128 -116
- package/dist/assets/skills/bk-report/SKILL.md +97 -0
- package/dist/assets/skills/bk-rewind/SKILL.md +34 -41
- package/dist/assets/skills/bk-run/SKILL.md +50 -0
- package/dist/assets/skills/bk-scan/SKILL.md +115 -0
- package/dist/assets/skills/bk-share/SKILL.md +99 -0
- package/dist/assets/skills/bk-start/SKILL.md +67 -64
- package/dist/assets/skills/bk-status/SKILL.md +14 -14
- package/dist/assets/skills/bk-version/SKILL.md +95 -0
- package/package.json +1 -1
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bk-instruction
|
|
3
|
+
description: BlueKiwi instruction template management skill. Creates, updates, and deletes agent instruction templates, and links credentials using natural language. This skill should be used when the user says "/bk-instruction", "create instruction", "manage instruction templates", or wants to manage BlueKiwi instruction templates.
|
|
4
|
+
user_invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# BlueKiwi Instruction Management
|
|
8
|
+
|
|
9
|
+
Create, update, and delete agent instruction templates. Optionally link credentials to instructions using natural language.
|
|
10
|
+
|
|
11
|
+
## Argument Handling
|
|
12
|
+
|
|
13
|
+
- `/bk-instruction` → Show action selection menu.
|
|
14
|
+
- `/bk-instruction add <title>` → Start creating a new instruction.
|
|
15
|
+
- `/bk-instruction list` → Show instruction list.
|
|
16
|
+
|
|
17
|
+
## What is an Instruction?
|
|
18
|
+
|
|
19
|
+
An instruction is an **execution directive** that a workflow node delivers to the agent at runtime.
|
|
20
|
+
|
|
21
|
+
- Well-written instructions control agent behavior precisely.
|
|
22
|
+
- **Credential binding happens at the workflow node level**, not at the instruction level.
|
|
23
|
+
To reference a credential in an instruction, include the service name in the `content` text.
|
|
24
|
+
Then link the `credential_id` to the node when designing the workflow in `/bk-design` or `/bk-improve`.
|
|
25
|
+
|
|
26
|
+
## Execution Steps
|
|
27
|
+
|
|
28
|
+
### Step 0: Select Action
|
|
29
|
+
|
|
30
|
+
If no argument, ask via AskUserQuestion:
|
|
31
|
+
|
|
32
|
+
- header: "Instructions"
|
|
33
|
+
- options: ["List", "Create new", "Edit", "Delete"]
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
### Action: List
|
|
38
|
+
|
|
39
|
+
Call `list_instructions` and display results:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Instruction Templates
|
|
43
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
44
|
+
ID Title Agent Type Active
|
|
45
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
46
|
+
1 SaaS Competitor Analysis general ✅
|
|
47
|
+
2 Code Review Checklist code-review ✅
|
|
48
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
49
|
+
2 total
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
For folder-based filtering → call `list_folders`, then re-query with `list_instructions(folder_id)`.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
### Action: Create New
|
|
57
|
+
|
|
58
|
+
**Collect basic info**:
|
|
59
|
+
|
|
60
|
+
1. Title: ask via AskUserQuestion.
|
|
61
|
+
2. Agent type: ask via AskUserQuestion (options: ["general", "code-review", "data-analysis", "Type my own"])
|
|
62
|
+
3. Tags: comma-separated keywords (optional)
|
|
63
|
+
4. Priority: integer (default 0, higher = more important)
|
|
64
|
+
|
|
65
|
+
**Write content**:
|
|
66
|
+
|
|
67
|
+
Ask how to write the content via AskUserQuestion:
|
|
68
|
+
|
|
69
|
+
- header: "Write content"
|
|
70
|
+
- "How would you like to write the instruction content?"
|
|
71
|
+
- options: ["I'll write it myself", "Generate AI draft for review"]
|
|
72
|
+
|
|
73
|
+
**If "Generate AI draft"**:
|
|
74
|
+
|
|
75
|
+
Based on the goal and agent type, write a draft using this format:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
## Goal
|
|
79
|
+
<1-sentence goal>
|
|
80
|
+
|
|
81
|
+
## Instructions
|
|
82
|
+
1. <specific action 1>
|
|
83
|
+
2. <specific action 2>
|
|
84
|
+
...
|
|
85
|
+
|
|
86
|
+
## Output Format
|
|
87
|
+
<expected output format>
|
|
88
|
+
|
|
89
|
+
## Success Criteria
|
|
90
|
+
- <quantitative criterion 1>
|
|
91
|
+
- <quantitative criterion 2>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Show the draft and ask if the user wants to modify it.
|
|
95
|
+
|
|
96
|
+
**Credential linking (natural language)**:
|
|
97
|
+
|
|
98
|
+
Ask: "Does this instruction use an external service?" via AskUserQuestion:
|
|
99
|
+
|
|
100
|
+
- options: ["Yes, specify a service", "No"]
|
|
101
|
+
|
|
102
|
+
If "Yes":
|
|
103
|
+
|
|
104
|
+
1. Ask the user to describe the service in natural language. Example: "Use the GitHub API to fetch the PR list."
|
|
105
|
+
2. Call `list_credentials` to get registered credentials.
|
|
106
|
+
3. Try to match the input against `service_name` (case-insensitive partial match).
|
|
107
|
+
4. Show the match result and confirm:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
Matched credentials for "GitHub":
|
|
111
|
+
→ ID 2: github (GitHub PAT)
|
|
112
|
+
|
|
113
|
+
Add this credential reference to the instruction content?
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
If matched: append the following block to the content automatically:
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
## Required Credentials
|
|
120
|
+
- service: github (credential_id: 2)
|
|
121
|
+
purpose: GitHub API authentication
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
If no match: "Could not find a matching credential. Register it first with `/bk-credential add`."
|
|
125
|
+
|
|
126
|
+
**Select folder**: Call `list_folders`, then ask via AskUserQuestion.
|
|
127
|
+
|
|
128
|
+
**Register**:
|
|
129
|
+
|
|
130
|
+
Call `create_instruction`:
|
|
131
|
+
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"title": "<title>",
|
|
135
|
+
"content": "<content>",
|
|
136
|
+
"agent_type": "<agent type>",
|
|
137
|
+
"tags": ["tag1", "tag2"],
|
|
138
|
+
"priority": 0,
|
|
139
|
+
"folder_id": <folder id>
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
On success:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
✅ Instruction registered
|
|
147
|
+
Title: <title> (ID: <id>)
|
|
148
|
+
|
|
149
|
+
To use this instruction in a workflow node, set instruction_id: <id>
|
|
150
|
+
when designing nodes with `/bk-design`.
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
### Action: Edit
|
|
156
|
+
|
|
157
|
+
Call `list_instructions` → select target via AskUserQuestion.
|
|
158
|
+
|
|
159
|
+
Ask what to change (AskUserQuestion):
|
|
160
|
+
|
|
161
|
+
- options: ["Change title", "Edit content", "Change agent type", "Activate/Deactivate", "Cancel"]
|
|
162
|
+
|
|
163
|
+
Call `update_instruction` with only the changed fields.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
### Action: Delete
|
|
168
|
+
|
|
169
|
+
Call `list_instructions` → select target via AskUserQuestion.
|
|
170
|
+
|
|
171
|
+
Confirm via AskUserQuestion:
|
|
172
|
+
|
|
173
|
+
- header: "Confirm delete"
|
|
174
|
+
- "Delete '{title}'? This will fail if any workflow node is using it."
|
|
175
|
+
- options: ["Delete", "Cancel"]
|
|
176
|
+
|
|
177
|
+
Call `delete_instruction`. On 409 error, show which workflow is using it.
|
|
@@ -1,207 +1,219 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bk-next
|
|
3
|
-
description: BlueKiwi
|
|
3
|
+
description: BlueKiwi next step skill. Completes the current step and executes the next one. This skill should be used when the user says "/bk-next", "next step", "next", "continue", "proceed", or wants to advance to the next step in a running BlueKiwi task.
|
|
4
4
|
user_invocable: true
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# BlueKiwi Next Step
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Complete the current step and execute the next one in a running task.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Core Principles
|
|
12
12
|
|
|
13
|
-
- **
|
|
14
|
-
-
|
|
15
|
-
- "
|
|
13
|
+
- **Instructions are internal agent directives. Never expose raw instruction text to the user.**
|
|
14
|
+
- Show only execution results (analysis, questions, suggestions) to the user.
|
|
15
|
+
- Never use system terms like "node", "node_type" with the user.
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## Natural Language Triggers
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
If the user says "proceed", "next", "continue", "let's go", "OK", "go ahead" — treat it the same as `/bk-next`.
|
|
20
20
|
|
|
21
|
-
##
|
|
21
|
+
## Session Restore (Context Injection)
|
|
22
22
|
|
|
23
|
-
advance
|
|
23
|
+
The `advance` response includes `task_context`. Use it to resume seamlessly in a new session.
|
|
24
24
|
|
|
25
|
-
1. `task_context.running_context` —
|
|
26
|
-
2. `task_context.completed_steps` —
|
|
27
|
-
3. `task_context.artifacts` —
|
|
28
|
-
4. `task_context.last_session` —
|
|
25
|
+
1. `task_context.running_context` — Accumulated decisions and project state. Read and internalize it.
|
|
26
|
+
2. `task_context.completed_steps` — Summary of completed steps. Understand where we are.
|
|
27
|
+
3. `task_context.artifacts` — List of available artifacts. Use the Read tool on `file_path` entries when needed.
|
|
28
|
+
4. `task_context.last_session` — Last execution session info. Note if a different session/user progressed it.
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
When resuming in a new session (no prior conversation context), use `task_context` to reconstruct the situation before proceeding.
|
|
31
31
|
|
|
32
|
-
## execute_step
|
|
32
|
+
## execute_step Required Parameters
|
|
33
33
|
|
|
34
34
|
<HARD-RULE>
|
|
35
|
-
|
|
36
|
-
- `context_snapshot`: JSON
|
|
37
|
-
|
|
38
|
-
- `session_id`:
|
|
39
|
-
- `agent_id`:
|
|
40
|
-
- `model_id`:
|
|
41
|
-
- `user_name`:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
- URL
|
|
35
|
+
Always populate these parameters when calling execute_step:
|
|
36
|
+
- `context_snapshot`: JSON string. Store decisions made, key findings, and hints for the next step.
|
|
37
|
+
Example: `{"decisions":[{"question":"tech stack","chosen":"Next.js","reason":"team experience"}],"key_findings":["RLS required"],"next_step_hint":"write implementation plan"}`
|
|
38
|
+
- `session_id`: Current session ID (omit if unknown)
|
|
39
|
+
- `agent_id`: Agent identifier (e.g., "claude-code")
|
|
40
|
+
- `model_id`: Current LLM model ID (e.g., "claude-opus-4-6", "gpt-5.2"). Check system prompt.
|
|
41
|
+
- `user_name`: User name (omit if unknown)
|
|
42
|
+
|
|
43
|
+
If files were created or modified, record in the `artifacts` array:
|
|
44
|
+
|
|
45
|
+
- File created: `{artifact_type: "file", title: "Design Doc", file_path: "docs/specs/design.md"}`
|
|
46
|
+
- Git commit: `{artifact_type: "git_commit", title: "Phase 1 Implementation", git_ref: "<hash>"}`
|
|
47
|
+
- URL: `{artifact_type: "url", title: "PR", url: "https://..."}`
|
|
48
48
|
</HARD-RULE>
|
|
49
49
|
|
|
50
|
-
##
|
|
50
|
+
## Credential Handling (API Service Nodes)
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
- "산출���을 Git 브랜치에 저장하시겠습니까?" (AskUserQuestion: "저장 (Recommended)" / "건너뛰기")
|
|
55
|
-
- 저장 시 `save_artifacts(task_id, message, file_paths)` 호출
|
|
56
|
-
|
|
57
|
-
## Credential 사용 (API 서비스 노드)
|
|
58
|
-
|
|
59
|
-
advance 반환에 `credentials` 필드가 있으면 해당 노드는 외부 API 연동이 필요한 노드이다.
|
|
52
|
+
If the `advance` response includes a `credentials` field, the node requires external API integration.
|
|
60
53
|
|
|
61
54
|
<HARD-RULE>
|
|
62
|
-
credentials.secrets
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
55
|
+
Use key-value pairs from `credentials.secrets` to make API calls.
|
|
56
|
+
Example: `credentials.secrets.ACCESS_TOKEN` → `curl -H "Authorization: Bearer $TOKEN"`
|
|
57
|
+
Never include raw secret values (tokens, keys) in `execute_step` output.
|
|
58
|
+
Record only results (URL, status code, response summary).
|
|
66
59
|
</HARD-RULE>
|
|
67
60
|
|
|
68
|
-
##
|
|
61
|
+
## Execution Loop
|
|
69
62
|
|
|
70
63
|
```
|
|
71
64
|
LOOP:
|
|
72
|
-
1.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
-
|
|
65
|
+
1. If the current step is pending → extract response from conversation, save with execute_step
|
|
66
|
+
→ Check execute_step response for next_action field (see HITL section below)
|
|
67
|
+
2. Call advance(peek=false) to fetch the next step
|
|
68
|
+
3. If finished → call complete_task, then end
|
|
69
|
+
4. Execute the next step (see step-type handling below)
|
|
70
|
+
5. Check auto_advance:
|
|
71
|
+
- true → show brief inline result, then go back to step 2
|
|
72
|
+
- false → HITL pause (see below)
|
|
79
73
|
```
|
|
80
74
|
|
|
81
75
|
<HARD-RULE>
|
|
82
|
-
auto_advance=true
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
76
|
+
After executing an auto_advance=true step, always proceed to the next step automatically.
|
|
77
|
+
Do not show "type /bk-next to continue" hint.
|
|
78
|
+
Show a brief one-line update: "✅ [{title}] done → continuing to next step..."
|
|
79
|
+
Repeat the loop until reaching an auto_advance=false step.
|
|
80
|
+
</HARD-RULE>
|
|
81
|
+
|
|
82
|
+
## HITL Pause (auto_advance=false steps)
|
|
83
|
+
|
|
84
|
+
<HARD-RULE>
|
|
85
|
+
When execute_step returns `next_action: "wait_for_human_approval"`:
|
|
86
|
+
|
|
87
|
+
1. Call `request_approval` with a brief message summarizing what was done.
|
|
88
|
+
2. Show the user:
|
|
89
|
+
```
|
|
90
|
+
⏸ Step [{title}] complete — waiting for approval before proceeding.
|
|
91
|
+
A notification has been sent. Use /bk-approve when ready.
|
|
92
|
+
```
|
|
93
|
+
3. STOP. Do NOT call `advance`. Do NOT proceed to the next step.
|
|
94
|
+
|
|
95
|
+
The server will reject `advance` with 403 until a human approves via /bk-approve.
|
|
86
96
|
</HARD-RULE>
|
|
87
97
|
|
|
88
|
-
##
|
|
98
|
+
## Step-Type Handling
|
|
89
99
|
|
|
90
|
-
### action
|
|
100
|
+
### action step
|
|
91
101
|
|
|
92
|
-
1. instruction
|
|
93
|
-
2. **
|
|
94
|
-
|
|
95
|
-
|
|
102
|
+
1. Read the instruction and execute it. Reference task context.
|
|
103
|
+
2. **Use heartbeat actively**: For tasks taking 30+ seconds, send heartbeat regularly.
|
|
104
|
+
Example: "Analyzing architecture section...", "Designing API endpoints...", "Writing design doc line 119..."
|
|
105
|
+
3. Show the result to the user.
|
|
106
|
+
4. Save with `execute_step`.
|
|
96
107
|
|
|
97
|
-
### gate
|
|
108
|
+
### gate step
|
|
98
109
|
|
|
99
|
-
1. `get_web_response
|
|
100
|
-
2.
|
|
101
|
-
3.
|
|
102
|
-
4.
|
|
110
|
+
1. Check `get_web_response` for a web response first.
|
|
111
|
+
2. If none, ask naturally via `AskUserQuestion`.
|
|
112
|
+
3. **Partial edit option**: For approve/modify questions, offer 3 options: "Approve (Recommended)" / "Partial edit" / "Full rewrite".
|
|
113
|
+
4. Save the response with `execute_step`.
|
|
103
114
|
|
|
104
|
-
### loop
|
|
115
|
+
### loop step
|
|
105
116
|
|
|
106
|
-
1. instruction
|
|
107
|
-
2.
|
|
108
|
-
- "
|
|
109
|
-
- "
|
|
110
|
-
3. **loop
|
|
111
|
-
4. `loop_continue` true/false
|
|
117
|
+
1. Execute the instruction.
|
|
118
|
+
2. **Confirm before stopping**: When the stop condition is met, do not auto-stop — ask via AskUserQuestion:
|
|
119
|
+
- "Enough information collected. Do you have anything else to add?"
|
|
120
|
+
- "That's enough (Recommended)" / "I have more to add"
|
|
121
|
+
3. **Call execute_step once per loop iteration.** Do not merge multiple answers into one. Each iteration is a separate log entry.
|
|
122
|
+
4. Pass `loop_continue` true/false to execute_step.
|
|
112
123
|
|
|
113
|
-
##
|
|
124
|
+
## Progress Display
|
|
114
125
|
|
|
115
|
-
|
|
126
|
+
Show progress at the start of each step as a single line:
|
|
116
127
|
|
|
117
128
|
```
|
|
118
129
|
✅1 → ✅2 → ✅3 → **4** → 5 → 6 → 7 → 8 → 9 → 10 → 11
|
|
119
130
|
```
|
|
120
131
|
|
|
121
|
-
##
|
|
132
|
+
## When Pausing (auto_advance=false only)
|
|
122
133
|
|
|
123
|
-
-
|
|
124
|
-
|
|
134
|
+
- **HITL approval required** (execute_step returned `next_action: "wait_for_human_approval"`):
|
|
135
|
+
Call `request_approval`, show waiting message, stop. Resume only after `/bk-approve`.
|
|
136
|
+
- **Gate step**: Wait for user response via AskUserQuestion.
|
|
137
|
+
- **Other action step pausing without HITL**: "Type `/bk-next` to proceed."
|
|
125
138
|
|
|
126
|
-
##
|
|
139
|
+
## Completion Message
|
|
127
140
|
|
|
128
141
|
<HARD-RULE>
|
|
129
|
-
|
|
130
|
-
summary
|
|
142
|
+
When the workflow finishes, call `complete_task` with a non-empty `summary`.
|
|
143
|
+
The summary must include decisions made, artifact paths, and suggested next actions, formatted in Markdown.
|
|
131
144
|
</HARD-RULE>
|
|
132
145
|
|
|
133
146
|
```
|
|
134
|
-
complete_task(task_id=N, status="completed", summary="##
|
|
147
|
+
complete_task(task_id=N, status="completed", summary="## Decisions\n- Goal: ...\n- Approach: ...\n\n## Artifacts\n- Design doc: `docs/specs/...`\n\n## Next Steps\nStart implementation from Phase 1.")
|
|
135
148
|
```
|
|
136
149
|
|
|
137
|
-
|
|
150
|
+
Show completion message to user:
|
|
138
151
|
|
|
139
152
|
```
|
|
140
|
-
🎉
|
|
153
|
+
🎉 Workflow complete!
|
|
141
154
|
━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
142
155
|
|
|
143
|
-
##
|
|
144
|
-
[
|
|
156
|
+
## Summary
|
|
157
|
+
[key decisions table]
|
|
145
158
|
|
|
146
|
-
##
|
|
147
|
-
- 📄
|
|
148
|
-
- 📋 구현 계획: `docs/specs/YYYY-MM-DD-xxx-implementation-plan.md`
|
|
159
|
+
## Artifacts
|
|
160
|
+
- 📄 Design doc: `docs/specs/YYYY-MM-DD-xxx-design.md`
|
|
149
161
|
|
|
150
|
-
##
|
|
151
|
-
|
|
162
|
+
## Next Steps
|
|
163
|
+
Start implementation from Phase 1.
|
|
152
164
|
━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
153
165
|
```
|
|
154
166
|
|
|
155
|
-
## output
|
|
167
|
+
## output Format
|
|
156
168
|
|
|
157
169
|
<HARD-RULE>
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
170
|
+
All output must be at least 200 characters. Do not send one-line summaries only.
|
|
171
|
+
Always use ## heading structure.
|
|
172
|
+
Write in past-tense declarative form ("I analyzed...", "I generated...").
|
|
173
|
+
Include absolute paths for any files created.
|
|
162
174
|
</HARD-RULE>
|
|
163
175
|
|
|
164
176
|
action:
|
|
165
177
|
|
|
166
178
|
```markdown
|
|
167
|
-
##
|
|
179
|
+
## Actions Taken
|
|
168
180
|
|
|
169
|
-
|
|
181
|
+
Analyzed the project context.
|
|
170
182
|
|
|
171
|
-
##
|
|
183
|
+
## Results
|
|
172
184
|
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
-
|
|
176
|
-
-
|
|
185
|
+
- **Project name**: recipe-sharing-app
|
|
186
|
+
- **Current state**: Initial stage (no code yet)
|
|
187
|
+
- **Tech stack**: TBD
|
|
188
|
+
- **Key findings**: ...
|
|
177
189
|
|
|
178
|
-
##
|
|
190
|
+
## Artifacts
|
|
179
191
|
|
|
180
|
-
|
|
192
|
+
Saved design doc to `/tmp/or-test-verify/docs/specs/2026-04-08-recipe-design.md`.
|
|
181
193
|
```
|
|
182
194
|
|
|
183
195
|
gate:
|
|
184
196
|
|
|
185
197
|
```markdown
|
|
186
|
-
##
|
|
198
|
+
## Question
|
|
187
199
|
|
|
188
|
-
|
|
200
|
+
What is the core problem this project management tool aims to solve?
|
|
189
201
|
|
|
190
|
-
##
|
|
202
|
+
## Options
|
|
191
203
|
|
|
192
|
-
1.
|
|
193
|
-
2.
|
|
194
|
-
3.
|
|
204
|
+
1. Personal task management (Recommended)
|
|
205
|
+
2. Team collaboration
|
|
206
|
+
3. Educational use
|
|
195
207
|
|
|
196
|
-
##
|
|
208
|
+
## Response
|
|
197
209
|
|
|
198
|
-
"
|
|
210
|
+
Selected "Personal task management" — proceeding as a personal productivity task tracker.
|
|
199
211
|
```
|
|
200
212
|
|
|
201
|
-
##
|
|
213
|
+
## Comment Check
|
|
202
214
|
|
|
203
|
-
|
|
215
|
+
If comments are present, notify the user before executing and ask how to handle them via AskUserQuestion.
|
|
204
216
|
|
|
205
|
-
##
|
|
217
|
+
## Failure Handling
|
|
206
218
|
|
|
207
|
-
AskUserQuestion
|
|
219
|
+
Ask via AskUserQuestion: Skip / Retry / Previous step / Abort.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bk-report
|
|
3
|
+
description: BlueKiwi task report skill. Generates a structured summary report of a completed or in-progress task, including decisions, artifacts, and findings. This skill should be used when the user says "/bk-report", "show task report", "summarize results", or wants a structured report of a BlueKiwi task.
|
|
4
|
+
user_invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# BlueKiwi Task Report
|
|
8
|
+
|
|
9
|
+
Generate a structured summary report of a completed or in-progress task.
|
|
10
|
+
|
|
11
|
+
## Argument Handling
|
|
12
|
+
|
|
13
|
+
- `/bk-report` → Report on the most recent active or completed task.
|
|
14
|
+
- `/bk-report <task_id>` → Report on the specified task.
|
|
15
|
+
|
|
16
|
+
## Execution Steps
|
|
17
|
+
|
|
18
|
+
### Step 1: Load Task Data
|
|
19
|
+
|
|
20
|
+
Call `advance` with `peek: true` to get the current task state and `task_context`.
|
|
21
|
+
|
|
22
|
+
If a specific task_id is provided, use it directly.
|
|
23
|
+
|
|
24
|
+
### Step 2: Load Artifacts and Findings
|
|
25
|
+
|
|
26
|
+
Call `load_artifacts` to retrieve all artifacts for the task.
|
|
27
|
+
|
|
28
|
+
If the workflow includes compliance steps, call `list_findings` to retrieve compliance findings.
|
|
29
|
+
|
|
30
|
+
### Step 3: Generate Report
|
|
31
|
+
|
|
32
|
+
Build the report from the collected data:
|
|
33
|
+
|
|
34
|
+
```markdown
|
|
35
|
+
# Task Report: {workflow title}
|
|
36
|
+
|
|
37
|
+
**Task ID**: {id}
|
|
38
|
+
**Status**: {running | completed | failed}
|
|
39
|
+
**Started**: {started_at}
|
|
40
|
+
**Completed**: {completed_at or "in progress"}
|
|
41
|
+
**Steps**: {completed}/{total}
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Summary
|
|
46
|
+
|
|
47
|
+
{task_context.running_context summary — key decisions and outcomes}
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Step-by-Step Log
|
|
52
|
+
|
|
53
|
+
| Step | Title | Status | Key Output |
|
|
54
|
+
| ---- | ------------ | ------ | ---------------------------- |
|
|
55
|
+
| 1 | Clarify Goal | ✅ | Defined target market as SMB |
|
|
56
|
+
| 2 | Collect Data | ✅ | 15 competitors identified |
|
|
57
|
+
| 3 | Review | ⏳ | Pending approval |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Artifacts
|
|
62
|
+
|
|
63
|
+
| Type | Title | Location |
|
|
64
|
+
| ---------- | ---------- | --------------------------------- |
|
|
65
|
+
| file | Design Doc | `docs/specs/2026-04-11-design.md` |
|
|
66
|
+
| git_commit | Phase 1 | `a1b2c3d` |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Compliance Findings
|
|
71
|
+
|
|
72
|
+
{if findings exist}
|
|
73
|
+
| ID | Severity | Description | File |
|
|
74
|
+
|----|----------|-------------|------|
|
|
75
|
+
| ISMS-001 | BLOCK | Hardcoded secret | src/config.ts:42 |
|
|
76
|
+
|
|
77
|
+
{if no findings}
|
|
78
|
+
No compliance issues found.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Next Steps
|
|
83
|
+
|
|
84
|
+
{task_context summary of recommended next actions}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Step 4: Display and Offer Export
|
|
88
|
+
|
|
89
|
+
Show the report.
|
|
90
|
+
|
|
91
|
+
Ask via AskUserQuestion:
|
|
92
|
+
|
|
93
|
+
- header: "Export?"
|
|
94
|
+
- "Would you like to save this report to a file?"
|
|
95
|
+
- options: ["Save as Markdown", "Skip"]
|
|
96
|
+
|
|
97
|
+
If "Save as Markdown" → write to `reports/bk-report-{task_id}-{date}.md`.
|