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.
@@ -1,77 +1,70 @@
1
1
  ---
2
2
  name: bk-rewind
3
- description: BlueKiwi 특정 스텝으로 되돌아가기 스킬. 진행 중인 태스크의 이전 단계 또는 특정 단계로 되돌아갑니다. This skill should be used when the user says "/bk-rewind", "이전 단계", "다시 돌아가", "rewind", or wants to go back to a previous step in the BlueKiwi chain.
3
+ description: BlueKiwi step rewind skill. Returns to a previous or specific step in a running task. This skill should be used when the user says "/bk-rewind", "go back", "previous step", "rewind", or wants to return to an earlier step in a BlueKiwi task.
4
4
  user_invocable: true
5
5
  ---
6
6
 
7
7
  # BlueKiwi Rewind
8
8
 
9
- 진행 중인 태스크의 특정 스텝으로 되돌아가는 스킬. 이전 실행 기록은 보존되며, 해당 스텝에 pending 로그가 생성된다.
9
+ Return to a specific step in a running task. Previous execution logs are preserved; a new pending log is created at the target step.
10
10
 
11
- ## 인자 처리
11
+ ## Argument Handling
12
12
 
13
- - `/bk-rewind` → 인자 없음. `AskUserQuestion`으로 되돌아갈 스텝을 선택하도록 한다.
14
- - `/bk-rewind 3` → 스텝 번호 직접 지정.
15
- - `/bk-rewind 명확화 질문`스텝 제목으로 매칭.
13
+ - `/bk-rewind` → No argument. Ask the user to select a step via AskUserQuestion.
14
+ - `/bk-rewind 3` → Target step number provided directly.
15
+ - `/bk-rewind clarification question`Match by step title.
16
16
 
17
- ## MCP 도구
17
+ ## Execution Steps
18
18
 
19
- - `mcp__bluekiwi__advance` (peek: true) — 현재 태스크/스텝 상태 확인
20
- - `mcp__bluekiwi__rewind` — 특정 스텝으로 되돌아가기
21
- - `mcp__bluekiwi__get_comments` — 코멘트 조회
19
+ ### 1. Verify Active Task
22
20
 
23
- ## 실행 절차
21
+ Call `advance` with `peek: true` to check the active task.
24
22
 
25
- ### 1. 현재 태스크 확인
23
+ - If no active task → show "No active task." and exit.
26
24
 
27
- `advance`를 `peek: true`로 호출하여 활성 태스크를 확인한다.
25
+ ### 2. Determine Target Step
28
26
 
29
- - 활성 태스크가 없으면 "활성 태스크가 없습니다." 안내 후 종료.
27
+ If no argument, show a selection UI via AskUserQuestion:
30
28
 
31
- ### 2. 되돌아갈 스텝 결정
29
+ - List completed steps as options
30
+ - Include a summary of the step's output in each option's description
31
+ - Show any comments on that step in the preview
32
32
 
33
- 인자가 없으면 `AskUserQuestion`으로 선택 UI를 표시한다:
33
+ If the argument is a number → use that step number directly.
34
+ If the argument is text → match against step titles to find the step number.
34
35
 
35
- - 완료된 스텝 목록을 옵션으로 제공
36
- - 각 옵션의 description에 해당 스텝의 output 요약 포함
37
- - preview에 해당 스텝에 달린 코멘트 표시
36
+ ### 3. Confirm User Requirements
38
37
 
39
- 인자가 숫자이면 해당 스텝 번호를 사용한다.
40
- 인자가 텍스트이면 스텝 제목과 매칭하여 스텝 번호를 결정한다.
41
-
42
- ### 3. 사용자 요구사항 확인
43
-
44
- 되돌아가기 전에 `AskUserQuestion`으로 물어본다:
38
+ Before rewinding, ask via AskUserQuestion:
45
39
 
46
40
  ```
47
- "Step [N]([제목])으로 되돌아갑니다. 단계를 다시 실행할 특별히 반영할 요구사항이 있으신가요?"
41
+ "Going back to Step [N] ({title}). Do you have any specific requirements for this re-run?"
48
42
  ```
49
43
 
50
- 옵션:
44
+ Options:
51
45
 
52
- - "그대로 다시 진행 (Recommended)" — 추가 컨텍스트 없이 진행
53
- - "요구사항 있음" — Other로 자유 입력
46
+ - "Proceed as-is (Recommended)" — continue without additional context
47
+ - "I have specific requirements" — free text input via Other
54
48
 
55
- 사용자가 요구사항을 입력하면 해당 내용을 코멘트로 서버에 저장한다 (task_comments).
49
+ If the user enters requirements, save them as a comment on the task (task_comments).
56
50
 
57
- ### 4. Rewind 실행
51
+ ### 4. Execute Rewind
58
52
 
59
- `mcp__bluekiwi__rewind`를 호출하여 해당 스텝으로 되돌아간다.
53
+ Call `rewind` to go back to the target step.
60
54
 
61
- 결과 표시:
55
+ Show the result:
62
56
 
63
57
  ```
64
58
  ━━━━━━━━━━━━━━━━━━━━━━━━━
65
- Step [N]/[Total] 되돌아갑니다: [노드 제목] [[node_type]]
66
- (이전 실행 기록은 보존됩니다)
59
+ Going back to Step [N]/[Total]: [{node title}] [{node_type}]
60
+ (Previous execution logs are preserved)
67
61
  ━━━━━━━━━━━━━━━━━━━━━━━━━
68
- [instruction 내용]
62
+ Type `/bk-next` to re-execute this step.
69
63
  ━━━━━━━━━━━━━━━━━━━━━━━━━
70
- → /bk-next 로 이 노드를 다시 실행하세요.
71
64
  ```
72
65
 
73
- ## 중요 규칙
66
+ ## Rules
74
67
 
75
- - 되돌아가기 전에 항상 사용자에게 추가 요구사항이 있는지 확인할 것.
76
- - 요구사항이 있으면 코멘트로 서버에 저장하여 `/bk-next` 실행 참고되도록 할 것.
77
- - `AskUserQuestion`으로 모든 선택을 처리할 것.
68
+ - Always ask the user for additional requirements before rewinding.
69
+ - If requirements are provided, save them as a comment so `/bk-next` can reference them.
70
+ - Handle all choices via AskUserQuestion.
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: bk-run
3
+ description: BlueKiwi workflow run skill. Selects a workflow and immediately starts it — a streamlined alias for /bk-start with explicit workflow selection. This skill should be used when the user says "/bk-run", "run workflow", "execute workflow", or wants to quickly start a specific workflow by name.
4
+ user_invocable: true
5
+ ---
6
+
7
+ # BlueKiwi Workflow Run
8
+
9
+ Quickly select and start a specific workflow. Delegates to `/bk-start` execution flow once a workflow is selected.
10
+
11
+ ## Argument Handling
12
+
13
+ - `/bk-run` → List workflows and ask the user to select.
14
+ - `/bk-run <name>` → Find the best-matching workflow and confirm before starting.
15
+
16
+ ## Execution Steps
17
+
18
+ ### Step 1: Select Workflow
19
+
20
+ Call `list_workflows` to get the active workflow list.
21
+
22
+ If an argument is provided, find the best match by title and confirm:
23
+
24
+ ```
25
+ Run '{title}' (v<version>)?
26
+ ```
27
+
28
+ Ask via AskUserQuestion:
29
+
30
+ - header: "Run workflow"
31
+ - options: ["Run", "Pick a different one", "Cancel"]
32
+
33
+ If no argument, show the full list via AskUserQuestion (up to 4 options).
34
+
35
+ ### Step 2: Start
36
+
37
+ Call `start_workflow` with the selected `workflow_id`.
38
+
39
+ Collect and pass `session_meta` exactly as described in `/bk-start`.
40
+
41
+ ### Step 3: Execute
42
+
43
+ Continue with the same execution loop as `/bk-start`:
44
+
45
+ - Show the roadmap.
46
+ - Execute the first step immediately.
47
+ - Follow the auto_advance loop.
48
+ - Pause at `auto_advance: false` steps — if `execute_step` returns `next_action: "wait_for_human_approval"`, call `request_approval` and stop (HITL pause).
49
+
50
+ Refer to `/bk-start` for all execution details including HITL handling, credential handling, and execute_step requirements.
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: bk-scan
3
+ description: BlueKiwi compliance scan skill. Scans a local repository path for security and compliance risks using static pattern analysis, then saves findings to a BlueKiwi task. This skill should be used when the user says "/bk-scan", "scan for security issues", "compliance scan", or wants to run a repository scan with BlueKiwi.
4
+ user_invocable: true
5
+ ---
6
+
7
+ # BlueKiwi Compliance Scan
8
+
9
+ Scan a local repository for security and compliance risks using built-in static patterns, then optionally link results to a BlueKiwi task.
10
+
11
+ ## Argument Handling
12
+
13
+ - `/bk-scan` → Ask for the path to scan.
14
+ - `/bk-scan <path>` → Start scanning the given path immediately.
15
+ - `/bk-scan <path> --task <task_id>` → Scan and attach findings to a specific task.
16
+
17
+ ## Built-in Rule Set: korea-ota-code
18
+
19
+ The default rule set checks for:
20
+
21
+ | ID | Severity | Description |
22
+ | ----------------- | -------- | ------------------------------------------- |
23
+ | PIPA-001-RRN | REVIEW | Korean Resident Registration Number pattern |
24
+ | ISMS-001-SECRET | BLOCK | Hardcoded secret/API key |
25
+ | PIPA-002-FIELD | REVIEW | High-risk PII field names |
26
+ | ISMS-004-HTTP | WARN | Plaintext HTTP URL (external) |
27
+ | LIA-001-GEO | REVIEW | Geolocation API usage |
28
+ | PIPA-004-PRECHECK | REVIEW | Pre-checked consent checkbox |
29
+
30
+ ## Execution Steps
31
+
32
+ ### Step 1: Get Scan Path
33
+
34
+ If no argument, ask via AskUserQuestion:
35
+
36
+ - header: "Scan path"
37
+ - "Enter the repository path to scan."
38
+ - options: ["./ (current directory)", "src/", "Type a path"]
39
+
40
+ ### Step 2: Configure Options (Optional)
41
+
42
+ Ask via AskUserQuestion:
43
+
44
+ - header: "Scan options"
45
+ - options: ["Default (korea-ota-code rules, 200 max matches)", "Custom settings"]
46
+
47
+ If "Custom settings":
48
+
49
+ - Max matches: ask for a number (default 200, max 1000)
50
+ - Additional custom patterns: accept in `{ id, regex, description, severity }` format
51
+
52
+ ### Step 3: Run Scan
53
+
54
+ Call `scan_repo`:
55
+
56
+ ```json
57
+ {
58
+ "path": "<scan path>",
59
+ "rule_set": "korea-ota-code",
60
+ "max_matches": 200,
61
+ "task_id": <if provided>
62
+ }
63
+ ```
64
+
65
+ ### Step 4: Display Results
66
+
67
+ ```
68
+ Scan Results: {path}
69
+ ━━━━━━━━━━━━━━━━━━━━━━━━━
70
+ Files scanned: {n}
71
+ Matches found: {total}
72
+
73
+ BLOCK (must fix before release): {count}
74
+ ISMS-001 src/config.ts:42 Hardcoded secret: API_KEY="sk-..."
75
+
76
+ REVIEW (review recommended): {count}
77
+ PIPA-002 src/models/user.ts:15 High-risk field: residentRegistration
78
+
79
+ WARN (best practice): {count}
80
+ ISMS-004 src/api/client.ts:8 Plaintext HTTP: http://external-api.com
81
+ ━━━━━━━━━━━━━━━━━━━━━━━━━
82
+ ```
83
+
84
+ ### Step 5: Save Findings (Optional)
85
+
86
+ If a `task_id` was provided or an active task exists, ask via AskUserQuestion:
87
+
88
+ - header: "Save findings?"
89
+ - "Attach these findings to Task #{task_id}?"
90
+ - options: ["Save findings", "Skip"]
91
+
92
+ If saving, call `save_findings`:
93
+
94
+ ```json
95
+ {
96
+ "task_id": <id>,
97
+ "findings": [
98
+ {
99
+ "rule_id": "ISMS-001",
100
+ "severity": "BLOCK",
101
+ "file": "src/config.ts",
102
+ "line": 42,
103
+ "description": "Hardcoded secret detected"
104
+ }
105
+ ]
106
+ }
107
+ ```
108
+
109
+ ### Step 6: Remediation Guidance
110
+
111
+ For each BLOCK finding, provide a brief remediation suggestion:
112
+
113
+ - Hardcoded secrets → move to environment variables or a secrets manager
114
+ - HTTP URLs → upgrade to HTTPS
115
+ - RRN patterns → apply masking or tokenization
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: bk-share
3
+ description: BlueKiwi sharing skill. Shares a folder or workflow with a user group at a specified access level. This skill should be used when the user says "/bk-share", "share workflow", "share folder", or wants to share BlueKiwi content with a group.
4
+ user_invocable: true
5
+ ---
6
+
7
+ # BlueKiwi Share
8
+
9
+ Share a folder with a user group at a specified access level (viewer or editor).
10
+
11
+ ## Argument Handling
12
+
13
+ - `/bk-share` → Show resource and group selection.
14
+ - `/bk-share <folder name>` → Pre-select the folder and ask for group/access level.
15
+
16
+ ## Core Principles
17
+
18
+ - Sharing is applied at the **folder level**. Workflows and instructions inside the folder inherit the visibility.
19
+ - Access levels: `viewer` (read-only) or `editor` (can modify contents).
20
+ - Only the folder owner or an admin can share.
21
+
22
+ ## Execution Steps
23
+
24
+ ### Step 1: Select Resource
25
+
26
+ Call `list_folders` to get the accessible folder list.
27
+
28
+ Ask via AskUserQuestion:
29
+
30
+ - header: "Share what?"
31
+ - "Which folder would you like to share?"
32
+ - options: folder name list (up to 4)
33
+
34
+ ### Step 2: Select Group
35
+
36
+ Call `list_my_groups` to get groups the current user belongs to.
37
+
38
+ Ask via AskUserQuestion:
39
+
40
+ - header: "Share with"
41
+ - "Which group should have access?"
42
+ - options: group name list
43
+
44
+ ### Step 3: Set Access Level
45
+
46
+ Ask via AskUserQuestion:
47
+
48
+ - header: "Access level"
49
+ - options: ["Viewer (read-only)", "Editor (can modify)"]
50
+
51
+ ### Step 4: Confirm and Apply
52
+
53
+ Show a confirmation summary:
54
+
55
+ ```
56
+ Share settings:
57
+ ━━━━━━━━━━━━━━━━━━━━━━━━━
58
+ Folder: {folder name}
59
+ Group: {group name}
60
+ Access: {viewer | editor}
61
+ ━━━━━━━━━━━━━━━━━━━━━━━━━
62
+ ```
63
+
64
+ Ask via AskUserQuestion:
65
+
66
+ - header: "Confirm"
67
+ - options: ["Share", "Cancel"]
68
+
69
+ Call `share_folder`:
70
+
71
+ ```json
72
+ {
73
+ "folder_id": <id>,
74
+ "group_id": <id>,
75
+ "access_level": "viewer" | "editor"
76
+ }
77
+ ```
78
+
79
+ ### Step 5: Result
80
+
81
+ On success:
82
+
83
+ ```
84
+ ✅ Shared
85
+ '{folder name}' is now accessible to '{group name}' as {access level}.
86
+
87
+ To revoke access later, use `/bk-share` and select "Remove share".
88
+ ```
89
+
90
+ ## Revoke Access
91
+
92
+ If the user says "remove share" or "unshare" → call `unshare_folder`:
93
+
94
+ ```json
95
+ {
96
+ "folder_id": <id>,
97
+ "group_id": <id>
98
+ }
99
+ ```
@@ -1,63 +1,63 @@
1
1
  ---
2
2
  name: bk-start
3
- description: BlueKiwi 워크플로 실행 시작 스킬. 서버에 등록된 워크플로를 선택하고 번째 단계를 즉시 실행합니다. This skill should be used when the user says "/bk-start", "워크플로 시작", "BlueKiwi 시작", or wants to begin a registered instruction workflow.
3
+ description: BlueKiwi workflow execution skill. Selects a registered workflow and starts the first step immediately. This skill should be used when the user says "/bk-start", "start workflow", "run BlueKiwi", or wants to begin a registered instruction workflow.
4
4
  user_invocable: true
5
5
  ---
6
6
 
7
7
  # BlueKiwi Workflow Start
8
8
 
9
- 서버에 등록된 워크플로를 선택하고, 태스크를 생성한 뒤, 번째 단계를 즉시 실행하는 스킬.
9
+ Select a registered workflow, create a task, and immediately execute the first step.
10
10
 
11
- ## 인자 처리
11
+ ## Argument Handling
12
12
 
13
- - `/bk-start` → 워크플로 목록 조회 `AskUserQuestion`으로 선택 요청.
14
- - `/bk-start 보안 리뷰`주제 매칭된 워크플로를 Recommended로 제안.
13
+ - `/bk-start` → Fetch workflow list, ask user to select via AskUserQuestion.
14
+ - `/bk-start security review`Propose the best-matching workflow as Recommended.
15
15
 
16
- ## 핵심 원칙
16
+ ## Core Principles
17
17
 
18
- - **instruction은 에이전트의 내부 동작 지침이다. 사용자에게 그대로 노출하지 않는다.**
19
- - "노드", "node_type", "chain_nodes" 시스템 용어를 사용자에게 보여주지 않는다.
20
- - 사용자에게는 "단계" 또는 "스텝"으로만 안내한다.
21
- - output 사용자가 UI에서 읽는 기록이다. **"~했습니다"체로 통일**한다. "~함", "~함." 어투를 쓰지 않는다.
18
+ - **Instructions are internal agent directives. Never expose raw instruction text to the user.**
19
+ - Never use system terms like "node", "node_type", "chain_nodes" with the user.
20
+ - Refer to steps as "step" only.
21
+ - All `output` written to the server must be in past-tense declarative form ("I analyzed...", "I generated...").
22
22
 
23
- ## AskUserQuestion 파라미터 규칙
23
+ ## AskUserQuestion Parameter Rules
24
24
 
25
- - `options`는 반드시 2~4개.
26
- - `preview`는 단순 문자열. 줄바꿈은 `\n`.
27
- - `header`는 12 이내.
28
- - `multiSelect`는 `false`.
25
+ - `options` must have 24 entries.
26
+ - `preview` is a plain string. Use `\n` for line breaks.
27
+ - `header` must be 12 characters or fewer.
28
+ - `multiSelect` must be `false`.
29
29
 
30
- ## 세션 복원 (미완료 태스크 이어가기)
30
+ ## Session Restore (Resume In-Progress Task)
31
31
 
32
- 시작 전에 `curl -s http://localhost:3000/api/tasks`로 running 상태의 태스크가 있는지 확인한다.
32
+ Before starting, check for running tasks using `advance(task_id, peek=true)` if a task ID is known, or prompt the user.
33
33
 
34
- 미완료 태스크가 있으면 AskUserQuestion으로 물어본다:
34
+ If an in-progress task is found, ask via AskUserQuestion:
35
35
 
36
- - header: "이어가기"
37
- - "진행 중인 태스크 #{id} ({워크플로명}, Step {N}/{total}) 있습니다. 이어서 진행하시겠습니까?"
38
- - 옵션: "이어서 진행 (Recommended)" / " 워크플로 시작"
36
+ - header: "Resume?"
37
+ - "Task #{id} ({workflow name}, Step {N}/{total}) is in progress. Resume or start a new workflow?"
38
+ - options: "Resume (Recommended)" / "Start new workflow"
39
39
 
40
- 이어서 진행을 선택하면 → `advance(task_id, peek=true)` 호출 `task_context`를 읽고, `/bk-next` 스킬 로직으로 전환한다.
40
+ If resumingcall `advance(task_id, peek=true)`, read `task_context`, then switch to `/bk-next` flow.
41
41
 
42
- ## execute_step 호출 시 필수 파라미터
42
+ ## execute_step Required Parameters
43
43
 
44
44
  <HARD-RULE>
45
- execute_step 호출 반드시 아래 파라미터를 채운다:
46
- - `context_snapshot`: JSON 문자열. 단계에서 내린 결정사항, 주요 발견, 다음 단계 힌트.
47
- - `agent_id`: 사용 중인 모델명 (예: "claude-opus-4")
48
- - `user_name`: 사용자 이름 ( 없으면 생략 가능)
45
+ Always populate these parameters when calling execute_step:
46
+ - `context_snapshot`: JSON string. Store decisions made, key findings, and hints for the next step.
47
+ - `agent_id`: Model name in use (e.g., "claude-opus-4-6")
48
+ - `user_name`: User name (omit if unknown)
49
49
 
50
- 파일을 생성하거나 수정한 경우, `artifacts` 배열에 기록한다:
50
+ If files were created or modified, record them in the `artifacts` array:
51
51
 
52
- - 파일 생성: `{artifact_type: "file", title: "설계 문서", file_path: "docs/specs/design.md"}`
53
- - 커밋한 경우: `{artifact_type: "git_commit", title: "구현", git_ref: "커밋해시"}`
52
+ - File created: `{artifact_type: "file", title: "Design Doc", file_path: "docs/specs/design.md"}`
53
+ - Git commit: `{artifact_type: "git_commit", title: "Implementation", git_ref: "<hash>"}`
54
54
  </HARD-RULE>
55
55
 
56
- ## 세션 메타 수집
56
+ ## Session Metadata Collection
57
57
 
58
58
  <HARD-RULE>
59
- `start_workflow` 호출 전에 반드시 세션 메타 정보를 수집하여 `session_meta` 파라미터로 전달한다.
60
- Bash 도구로 아래 명령을 실행하여 정보를 수집한다:
59
+ Before calling `start_workflow`, collect session metadata and pass it as `session_meta`.
60
+ Run the following via Bash:
61
61
 
62
62
  ```bash
63
63
  echo "PROJECT_DIR: $(pwd)"
@@ -67,7 +67,7 @@ echo "USER: $(whoami 2>/dev/null || echo 'unknown')"
67
67
  echo "OS: $(uname -s 2>/dev/null || echo 'unknown') $(uname -m 2>/dev/null)"
68
68
  ```
69
69
 
70
- 수집한 정보를 JSON으로 구성한다:
70
+ Build a JSON object:
71
71
 
72
72
  ```json
73
73
  {
@@ -82,61 +82,64 @@ echo "OS: $(uname -s 2>/dev/null || echo 'unknown') $(uname -m 2>/dev/null)"
82
82
  }
83
83
  ```
84
84
 
85
- - `agent`: 항상 "claude-code" (Claude Code 환경에서 실행 시)
86
- - `model_id`: 현재 사용 중인 모델 ID (system prompt에서 확인 가능)
87
- - `started_at`: 현재 UTC 시각
85
+ - `agent`: always "claude-code" when running in Claude Code
86
+ - `model_id`: current model ID (check system prompt)
87
+ - `started_at`: current UTC time
88
88
  </HARD-RULE>
89
89
 
90
- ## Credential 사용 (API 서비스 노드)
90
+ ## Credential Handling (API Service Nodes)
91
91
 
92
- advance 반환에 `credentials` 필드가 있으면 해당 노드는 외부 API 연동이 필요한 노드이다.
92
+ If the `advance` response includes a `credentials` field, the node requires external API integration.
93
93
 
94
94
  <HARD-RULE>
95
- credentials.secrets 키-값을 사용하여 API 호출을 수행한다.
96
- 예: credentials.secrets.ACCESS_TOKEN → curl -H "Authorization: Bearer $TOKEN" 형태로 사용
97
- execute_step의 output에 시크릿 원본(토큰, 키 값) 절대 포함하지 않는다.
98
- 결과(URL, 상태코드, 응답 요약)만 기록한다.
95
+ Use key-value pairs from `credentials.secrets` to make API calls.
96
+ Example: `credentials.secrets.ACCESS_TOKEN``curl -H "Authorization: Bearer $TOKEN"`
97
+ Never include raw secret values (tokens, keys) in `execute_step` output.
98
+ Record only results (URL, status code, response summary).
99
99
  </HARD-RULE>
100
- ## 실행 절차
101
100
 
102
- ### 1. 워크플로 목록 조회 + 선택
101
+ ## Execution Steps
103
102
 
104
- `list_workflows`로 워크플로 목록을 가져온다.
103
+ ### 1. Fetch and Select Workflow
105
104
 
106
- **워크플로가 1개일 때** (#10): AskUserQuestion 대신 간단히 확인만 요청한다:
105
+ Call `list_workflows` to retrieve the list.
107
106
 
108
- - "기능 브레인스토밍 워크플로를 시작합니다. 괜찮으신가요?" (AskUserQuestion으로 "시작/취소" 2개 옵션)
107
+ **Single workflow**: Skip the selection UI, just confirm:
109
108
 
110
- **워크플로가 2개 이상일 때**: AskUserQuestion으로 선택 UI를 표시한다.
109
+ - "Start the '{title}' workflow?" (AskUserQuestion: "Start" / "Cancel")
111
110
 
112
- ### 2. 태스크 생성
111
+ **Multiple workflows**: Show selection via AskUserQuestion.
113
112
 
114
- `start_workflow`을 호출한다. 인자가 있으면 `context`로 전달한다.
113
+ ### 2. Create Task
115
114
 
116
- ### 3. 번째 단계 즉시 실행 + auto_advance 루프
115
+ Call `start_workflow`. Pass any argument as `context`.
117
116
 
118
- 반환된 번째 단계의 instruction을 **내부 지침으로 읽고 즉시 실행**한다.
117
+ ### 3. Execute First Step + auto_advance Loop
119
118
 
120
- 실행 `execute_step`으로 결과를 저장하고, `advance`로 다음 단계를 확인한다.
119
+ Read the first step's instruction as an **internal directive and execute immediately**.
121
120
 
122
- **로드맵 표시** (#20): 시작 전체 단계 흐름을 간략히 보여준다:
121
+ After execution, save with `execute_step`, then check the response for `next_action` before calling `advance`.
122
+
123
+ **Show roadmap at start** (#20):
123
124
 
124
125
  ```
125
- 기능 브레인스토밍 시작 (11단계)
126
+ Starting: {workflow title} ({n} steps)
126
127
  ━━━━━━━━━━━━━━━━━━━━━━━━━
127
- **1**→2→3→4→5→6→7→8→9→10→11
128
+ **1** → 2 3 4 5 6 7
128
129
  ━━━━━━━━━━━━━━━━━━━━━━━━━
129
130
  ```
130
131
 
131
- **auto_advance 루프**: 다음 단계의 `auto_advance`가 `true`이면 멈추지 않고 계속 실행한다.
132
+ **auto_advance loop**: If the next step has `auto_advance: true`, continue executing without pausing.
132
133
 
133
134
  <HARD-RULE>
134
- auto_advance=true 단계를 실행한 후에는 반드시 다음 단계로 자동 진행한다.
135
- 중간 결과를 간략히 표시한다: "✅ [제목] 완료다음 단계 진행 중..."
136
- auto_advance=false인 단계를 만날 때까지 루프를 반복한다.
135
+ After executing an auto_advance=true step, always proceed to the next step automatically.
136
+ Show a brief inline update: "✅ [{title}] donecontinuing to next step..."
137
+ Repeat the loop until reaching an auto_advance=false step.
137
138
  </HARD-RULE>
138
139
 
139
- ### 4. 멈출 때의 안내
140
+ ### 4. When Pausing
140
141
 
141
- - action 완료 (auto_advance=false): "다음 단계로 넘어가려면 `/bk-next`를 입력하세요."
142
- - gate 질문 표시 후: 사용자 응답을 기다린다. `/bk-next`를 안내하지 않는다.
142
+ - **HITL** (execute_step returned `next_action: "wait_for_human_approval"`):
143
+ Call `request_approval`, show "⏸ Waiting for approval ��� use /bk-approve when ready.", stop.
144
+ - After completing an action step (auto_advance=false, no HITL): "Type `/bk-next` to proceed."
145
+ - After showing a gate question: Wait for user response. Do not show `/bk-next` hint.
@@ -1,34 +1,34 @@
1
1
  ---
2
2
  name: bk-status
3
- description: BlueKiwi 태스크 상태 조회 스킬. 활성 태스크와 완료된 태스크의 진행 상황을 확인합니다. This skill should be used when the user says "/bk-status", "태스크 상태", "진행 상황", or wants to check BlueKiwi task status.
3
+ description: BlueKiwi task status skill. Checks the progress of active and completed tasks. This skill should be used when the user says "/bk-status", "task status", "check progress", or wants to view BlueKiwi task status.
4
4
  user_invocable: true
5
5
  ---
6
6
 
7
7
  # BlueKiwi Task Status
8
8
 
9
- 활성 태스크와 완료된 태스크의 진행 상황을 조회하는 스킬.
9
+ View the progress of active and completed tasks.
10
10
 
11
- ## 실행 절차
11
+ ## Execution Steps
12
12
 
13
- ### 1. 태스크 조회
13
+ ### 1. Fetch Tasks
14
14
 
15
- `curl -s http://localhost:3000/api/tasks`로 태스크 목록을 조회한다.
15
+ Call `advance` with `peek: true` on any known active task, or check the server for running tasks.
16
16
 
17
- ### 2. 결과 표시
17
+ ### 2. Display Results
18
18
 
19
19
  ```
20
- BlueKiwi 태스크 현황:
20
+ BlueKiwi Task Status
21
21
  ━━━━━━━━━━━━━━━━━━━━━━━━━
22
- #1 [완료] 기능 브레인스토밍 8/8 steps 2026-04-07
23
- #2 [실행중] PR 보안 리뷰 2/4 steps 2026-04-07 ← 활성
22
+ #1 [completed] Feature Brainstorm 8/8 steps 2026-04-07
23
+ #2 [running] PR Security Review 2/4 steps 2026-04-07 ← active
24
24
  ━━━━━━━━━━━━━━━━━━━━━━━━━
25
25
  ```
26
26
 
27
- ### 3. 상세 조회
27
+ ### 3. Detailed View
28
28
 
29
- 인자로 태스크 번호가 주어지면 (`/bk-status 2`) 해당 태스크의 스텝별 로그를 표시한다.
29
+ If a task number is given as an argument (`/bk-status 2`), show the step-by-step log for that task.
30
30
 
31
- ## 참고
31
+ ## Notes
32
32
 
33
- - UI: http://localhost:3000/tasks
34
- - 실시간 모니터링: WebSocket Relay (`npm run ws`) 실행 필요
33
+ - Web UI: http://localhost:3000/tasks
34
+ - Real-time monitoring: Requires WebSocket Relay (`npm run ws`)