viepilot 2.12.0 → 2.22.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/CHANGELOG.md +203 -0
- package/README.md +11 -9
- package/docs/dev/agents.md +131 -0
- package/docs/skills-reference.md +12 -0
- package/docs/user/features/adapters.md +51 -0
- package/docs/user/features/interactive-prompts.md +83 -0
- package/lib/adapters/antigravity.cjs +2 -1
- package/lib/adapters/claude-code.cjs +2 -1
- package/lib/adapters/codex.cjs +2 -1
- package/lib/adapters/copilot.cjs +44 -0
- package/lib/adapters/cursor.cjs +2 -1
- package/lib/adapters/index.cjs +1 -0
- package/lib/viepilot-install.cjs +9 -0
- package/package.json +1 -1
- package/skills/vp-audit/SKILL.md +15 -0
- package/skills/vp-auto/SKILL.md +12 -0
- package/skills/vp-brainstorm/SKILL.md +34 -0
- package/skills/vp-crystallize/SKILL.md +51 -1
- package/skills/vp-debug/SKILL.md +12 -0
- package/skills/vp-docs/SKILL.md +28 -6
- package/skills/vp-evolve/SKILL.md +32 -0
- package/skills/vp-info/SKILL.md +12 -0
- package/skills/vp-pause/SKILL.md +12 -0
- package/skills/vp-proposal/SKILL.md +12 -0
- package/skills/vp-request/SKILL.md +36 -0
- package/skills/vp-resume/SKILL.md +12 -0
- package/skills/vp-rollback/SKILL.md +12 -0
- package/skills/vp-status/SKILL.md +12 -0
- package/skills/vp-task/SKILL.md +12 -0
- package/skills/vp-ui-components/SKILL.md +12 -0
- package/skills/vp-update/SKILL.md +12 -0
- package/templates/proposal/docx/project-detail.docx +0 -0
- package/templates/proposal/pptx/general.pptx +0 -0
- package/templates/proposal/pptx/product-pitch.pptx +0 -0
- package/templates/proposal/pptx/tech-architecture.pptx +0 -0
- package/workflows/audit.md +72 -37
- package/workflows/autonomous.md +138 -9
- package/workflows/brainstorm.md +61 -0
- package/workflows/crystallize.md +219 -8
- package/workflows/documentation.md +26 -11
- package/workflows/evolve.md +76 -7
- package/workflows/request.md +99 -7
- package/workflows/rollback.md +39 -7
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const os = require('os');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const fs = require('fs');
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
id: 'copilot',
|
|
8
|
+
name: 'GitHub Copilot',
|
|
9
|
+
// Paths (home-relative; resolved at install time)
|
|
10
|
+
skillsDir: (home) => path.join(home, '.config', 'gh-copilot', 'skills'),
|
|
11
|
+
viepilotDir: (home) => path.join(home, '.config', 'gh-copilot', 'viepilot'),
|
|
12
|
+
// {envToolDir} in SKILL.md files resolves to this value at install time (ENH-035)
|
|
13
|
+
executionContextBase: '.config/gh-copilot/viepilot',
|
|
14
|
+
// Copilot Chat uses /skill-name (same as Claude Code / Cursor)
|
|
15
|
+
postInstallHint: 'Open Copilot Chat in VS Code and type /vp-status to get started',
|
|
16
|
+
hooks: {
|
|
17
|
+
configFile: null, // Copilot uses .agent.md convention, not programmatic hooks
|
|
18
|
+
schema: 'copilot',
|
|
19
|
+
supportedEvents: []
|
|
20
|
+
},
|
|
21
|
+
installSubdirs: [
|
|
22
|
+
'workflows',
|
|
23
|
+
path.join('templates', 'project'),
|
|
24
|
+
path.join('templates', 'phase'),
|
|
25
|
+
path.join('templates', 'architect'),
|
|
26
|
+
'bin',
|
|
27
|
+
'lib',
|
|
28
|
+
'ui-components',
|
|
29
|
+
'agents'
|
|
30
|
+
],
|
|
31
|
+
isAvailable: (home) => {
|
|
32
|
+
const h = home || os.homedir();
|
|
33
|
+
// Primary: gh-copilot config dir exists
|
|
34
|
+
if (fs.existsSync(path.join(h, '.config', 'gh-copilot'))) return true;
|
|
35
|
+
// Secondary: gh CLI installed at common paths (user likely has Copilot access)
|
|
36
|
+
const ghPaths = [
|
|
37
|
+
'/usr/local/bin/gh',
|
|
38
|
+
'/opt/homebrew/bin/gh',
|
|
39
|
+
'/usr/bin/gh',
|
|
40
|
+
path.join(h, '.local', 'bin', 'gh'),
|
|
41
|
+
];
|
|
42
|
+
return ghPaths.some((p) => fs.existsSync(p));
|
|
43
|
+
},
|
|
44
|
+
};
|
package/lib/adapters/cursor.cjs
CHANGED
package/lib/adapters/index.cjs
CHANGED
package/lib/viepilot-install.cjs
CHANGED
|
@@ -191,6 +191,15 @@ function buildInstallPlan(packageRoot, envSource = process.env, opts = {}) {
|
|
|
191
191
|
steps.push(ent.isDirectory() ? { kind: 'copy_dir', from: src, to: dest } : { kind: 'copy_file', from: src, to: dest });
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
|
+
// ENH-057: copy agents/ directory (agents layer added in v2.20.0)
|
|
195
|
+
const agentsRoot = path.join(root, 'agents');
|
|
196
|
+
if (fs.existsSync(agentsRoot)) {
|
|
197
|
+
for (const ent of listDirEntries(root, 'agents')) {
|
|
198
|
+
const src = path.join(root, 'agents', ent.name);
|
|
199
|
+
const dest = path.join(vpDir, 'agents', ent.name);
|
|
200
|
+
steps.push(ent.isDirectory() ? { kind: 'copy_dir', from: src, to: dest } : { kind: 'copy_file', from: src, to: dest });
|
|
201
|
+
}
|
|
202
|
+
}
|
|
194
203
|
// BUG-007: copy package.json so resolveViepilotPackageRoot() finds the root
|
|
195
204
|
steps.push({ kind: 'copy_file', from: path.join(root, 'package.json'), to: path.join(vpDir, 'package.json') });
|
|
196
205
|
|
package/package.json
CHANGED
package/skills/vp-audit/SKILL.md
CHANGED
|
@@ -4,6 +4,18 @@ description: "Audit state, docs drift, and stack best-practice compliance — wo
|
|
|
4
4
|
version: 0.3.2
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-AUDIT v0.3.2 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-audit`, `/vp-audit`, "audit", "kiểm tra", "check docs"
|
|
@@ -74,6 +86,9 @@ When auditing a project bootstrapped via `vp-crystallize --brownfield`:
|
|
|
74
86
|
- `ARCHITECTURE.md` counts vs actual `skills/`, `workflows/`, CLI
|
|
75
87
|
- `README.md` viepilot-specific badges (version, skills-N, workflows-N)
|
|
76
88
|
- `docs/skills-reference.md` sections vs `skills/` directory
|
|
89
|
+
- **Silent by default (ENH-049):** Tier 4 output is suppressed when all checks pass (✅)
|
|
90
|
+
or when the check is skipped (non-framework repo). Output only appears when issues (⚠️)
|
|
91
|
+
are found. Non-framework repos: Tier 4 skipped silently with no message.
|
|
77
92
|
|
|
78
93
|
**Output:**
|
|
79
94
|
- Report by 4 tiers, each tier with its own status
|
package/skills/vp-auto/SKILL.md
CHANGED
|
@@ -4,6 +4,18 @@ description: "Autonomous execution loop with control points and recovery"
|
|
|
4
4
|
version: 0.2.2
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-AUTO v0.2.2 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-auto`, `/vp-auto`, "auto", "vibe", "chạy tự động"
|
|
@@ -4,6 +4,18 @@ description: "Brainstorm session to collect ideas and decisions for the project"
|
|
|
4
4
|
version: 1.1.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-BRAINSTORM v1.1.0 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-brainstorm`, `/vp-brainstorm`, hoặc yêu cầu "brainstorm"
|
|
@@ -107,3 +119,25 @@ Key steps:
|
|
|
107
119
|
- [ ] **FEAT-009**: intake completed, binding already present, **or** waiver with reason before Completed; session records **`## Project meta intake (FEAT-009)`**
|
|
108
120
|
- [ ] Next steps suggested
|
|
109
121
|
</success_criteria>
|
|
122
|
+
|
|
123
|
+
## Adapter Compatibility
|
|
124
|
+
|
|
125
|
+
### AskUserQuestion Tool (ENH-048)
|
|
126
|
+
This skill uses adapter-aware interactive prompts. Behavior depends on your adapter:
|
|
127
|
+
|
|
128
|
+
| Adapter | Interactive Prompts | Notes |
|
|
129
|
+
|---------|---------------------|-------|
|
|
130
|
+
| Claude Code (terminal) | ✅ `AskUserQuestion` tool — **REQUIRED** | Must call AUQ; plain-text only if tool errors or is unavailable |
|
|
131
|
+
| Claude Code (VS Code ext) | ⚠️ Partial | Terminal yes; VS Code UI pending [anthropics/claude-code#12609](https://github.com/anthropics/claude-code/issues/12609) |
|
|
132
|
+
| Cursor (Plan Mode) | ⚠️ Partial | `AskQuestion` in Plan Mode only — not in Agent/Skills Mode |
|
|
133
|
+
| Cursor (Agent/Skills) | ❌ Text fallback | AskQuestion not available in Agent Mode |
|
|
134
|
+
| Codex CLI | ❌ Text fallback | Native tool N/A; community MCP available |
|
|
135
|
+
| Antigravity (native agent) | ❌ Text fallback | Artifact model, no raw tool calls |
|
|
136
|
+
| GitHub Copilot | ✅ `/skill-name` in Chat | Via `.agent.md` custom agent; AUQ not available — text fallback |
|
|
137
|
+
|
|
138
|
+
When `AskUserQuestion` is not available, the skill automatically falls back to
|
|
139
|
+
plain-text numbered list prompts — no configuration required.
|
|
140
|
+
|
|
141
|
+
**Prompts using AskUserQuestion in this skill:**
|
|
142
|
+
- Session intent (continue / review / new — Step 2)
|
|
143
|
+
- Landing page layout selection (Step 4 — Layout A/B/C/D)
|
|
@@ -4,6 +4,18 @@ description: "Convert brainstorm sessions into executable artifacts"
|
|
|
4
4
|
version: 0.8.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-CRYSTALLIZE v0.8.0 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-crystallize`, `/vp-crystallize`, hoặc "crystallize", "setup project"
|
|
@@ -100,8 +112,21 @@ Scanner runs 12 signal categories across the existing codebase:
|
|
|
100
112
|
11. **Git history** — commit convention, version pattern, contributors, repo URL
|
|
101
113
|
12. **Language survey** — file extension glob → language distribution
|
|
102
114
|
|
|
115
|
+
**Multi-repo / monorepo support (ENH-047):**
|
|
116
|
+
|
|
117
|
+
- **Git submodule detection** — reads `.gitmodules`; scans each initialized submodule path (Signal Cat 1+2+4); records uninitialized paths as `primary_language: MISSING`. Never runs `git submodule update` — read-only.
|
|
118
|
+
- **Polyrepo hints** — detects docker-compose `../` build contexts, `file:../` deps, CI cross-repo clones, README external links, Makefile `cd ../` targets; outputs `polyrepo_hints[]`; prompts user to supply `related_repos[]` (optional).
|
|
119
|
+
- **Per-module gap detection** — every `modules[]` entry carries `gap_tier` (DETECTED/ASSUMED/MISSING), `must_detect_status{}` (evidence per field: value + source + tier), and `open_questions[]`. A module with `gap_tier: MISSING` blocks artifact generation with a targeted per-field prompt.
|
|
120
|
+
|
|
121
|
+
**Scan Report contains:**
|
|
122
|
+
- Root `gap_tier` (= worst tier across all modules: MISSING > ASSUMED > DETECTED)
|
|
123
|
+
- `modules[]` — one entry per workspace/submodule/root with `gap_tier`, `must_detect_status{}`, `open_questions[]`
|
|
124
|
+
- `polyrepo_hints[]` — polyrepo signals (omitted when empty, no empty arrays)
|
|
125
|
+
- `related_repos[]` — user-supplied sibling repos (omitted when empty)
|
|
126
|
+
- Root `open_questions[]` — includes rollup from all modules
|
|
127
|
+
|
|
103
128
|
Produces **Scan Report** (YAML) with DETECTED / ASSUMED / MISSING classification.
|
|
104
|
-
MUST-DETECT gaps (project_name, primary_language, ≥1 framework, current_version) block artifact generation until user fills interactively.
|
|
129
|
+
MUST-DETECT gaps (root: project_name, primary_language, ≥1 framework, current_version; per-module: primary_language, framework, module_purpose, entry_point) block artifact generation until user fills interactively.
|
|
105
130
|
Generates `docs/brainstorm/session-brownfield-import.md` stub for `vp-audit` compatibility.
|
|
106
131
|
Safety: never reads `.env`; skips `node_modules/`, `.git/`, `target/`, `build/`, `dist/`.
|
|
107
132
|
</objective>
|
|
@@ -250,3 +275,28 @@ Ask user for (confirm proposals from profile if present):
|
|
|
250
275
|
- [ ] **ENH-022:** Every generated Mermaid diagram has a `.viepilot/architecture/<canonical-name>.mermaid` file in sync with `ARCHITECTURE.md` (no extra files created for N/A)
|
|
251
276
|
- [ ] **FEAT-009:** When profile is bound — ARCHITECTURE + PROJECT-CONTEXT record the profile source; if not — state none / not configured explicitly
|
|
252
277
|
</success_criteria>
|
|
278
|
+
|
|
279
|
+
## Adapter Compatibility
|
|
280
|
+
|
|
281
|
+
### AskUserQuestion Tool (ENH-048)
|
|
282
|
+
This skill uses adapter-aware interactive prompts. Behavior depends on your adapter:
|
|
283
|
+
|
|
284
|
+
| Adapter | Interactive Prompts | Notes |
|
|
285
|
+
|---------|---------------------|-------|
|
|
286
|
+
| Claude Code (terminal) | ✅ `AskUserQuestion` tool — **REQUIRED** | Must call AUQ; plain-text only if tool errors or is unavailable |
|
|
287
|
+
| Claude Code (VS Code ext) | ⚠️ Partial | Terminal yes; VS Code UI pending [anthropics/claude-code#12609](https://github.com/anthropics/claude-code/issues/12609) |
|
|
288
|
+
| Cursor (Plan Mode) | ⚠️ Partial | `AskQuestion` in Plan Mode only — not in Agent/Skills Mode |
|
|
289
|
+
| Cursor (Agent/Skills) | ❌ Text fallback | AskQuestion not available in Agent Mode |
|
|
290
|
+
| Codex CLI | ❌ Text fallback | Native tool N/A; community MCP available |
|
|
291
|
+
| Antigravity (native agent) | ❌ Text fallback | Artifact model, no raw tool calls |
|
|
292
|
+
| GitHub Copilot | ✅ `/skill-name` in Chat | Via `.agent.md` custom agent; AUQ not available — text fallback |
|
|
293
|
+
|
|
294
|
+
When `AskUserQuestion` is not available, the skill automatically falls back to
|
|
295
|
+
plain-text numbered list prompts — no configuration required.
|
|
296
|
+
|
|
297
|
+
**Prompts using AskUserQuestion in this skill:**
|
|
298
|
+
- License selection (Step 0 metadata)
|
|
299
|
+
- Brownfield overwrite confirmation (Step 0-B)
|
|
300
|
+
- Polyrepo related-repos prompt (Step 0-B)
|
|
301
|
+
- UI direction gate choice (Step 1A)
|
|
302
|
+
- Architect mode suggestion (Step 1D)
|
package/skills/vp-debug/SKILL.md
CHANGED
|
@@ -4,6 +4,18 @@ description: "Systematic debugging with persistent state tracking across session
|
|
|
4
4
|
version: 0.2.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-DEBUG v0.2.0 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-debug`, `/vp-debug`, "debug", "gỡ lỗi"
|
package/skills/vp-docs/SKILL.md
CHANGED
|
@@ -4,6 +4,18 @@ description: "Generate comprehensive documentation for the project"
|
|
|
4
4
|
version: 0.2.1
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-DOCS v0.2.1 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-docs`, `/vp-docs`, "docs", "documentation", "tài liệu"
|
|
@@ -80,19 +92,29 @@ Optional flags:
|
|
|
80
92
|
|
|
81
93
|
### Step 0: Resolve Project Context (ALWAYS first)
|
|
82
94
|
```bash
|
|
83
|
-
#
|
|
95
|
+
# Forge-agnostic remote URL parser — supports GitHub, GitLab, Bitbucket, Azure DevOps, Gitea, self-hosted
|
|
84
96
|
REMOTE_URL=$(git remote get-url origin 2>/dev/null || echo "")
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
97
|
+
if echo "$REMOTE_URL" | grep -q 'dev\.azure\.com'; then
|
|
98
|
+
GIT_HOST="dev.azure.com"
|
|
99
|
+
GIT_OWNER=$(echo "$REMOTE_URL" | sed 's|.*dev\.azure\.com/||; s|/.*||')
|
|
100
|
+
GIT_REPO=$(echo "$REMOTE_URL" | sed 's|.*/_git/||; s|\.git$||; s|/$||')
|
|
101
|
+
elif echo "$REMOTE_URL" | grep -q '^git@'; then
|
|
102
|
+
GIT_HOST=$(echo "$REMOTE_URL" | sed 's|^git@||; s|:.*||')
|
|
103
|
+
GIT_OWNER=$(echo "$REMOTE_URL" | sed 's|^git@[^:]*:||; s|/.*||')
|
|
104
|
+
GIT_REPO=$(echo "$REMOTE_URL" | sed 's|^git@[^:]*:[^/]*/||; s|\.git$||')
|
|
105
|
+
else
|
|
106
|
+
GIT_HOST=$(echo "$REMOTE_URL" | sed 's|^https\?://||; s|/.*||')
|
|
107
|
+
GIT_OWNER=$(echo "$REMOTE_URL" | sed 's|^https\?://[^/]*/||; s|/.*||')
|
|
108
|
+
GIT_REPO=$(echo "$REMOTE_URL" | sed 's|^https\?://[^/]*/[^/]*/||; s|\.git$||; s|/$||')
|
|
109
|
+
fi
|
|
88
110
|
# Fallback: use searchable placeholder, not 'your-org'
|
|
89
|
-
[ -z "$
|
|
111
|
+
[ -z "$GIT_OWNER" ] && GIT_HOST="{GIT_HOST}" && GIT_OWNER="{GIT_OWNER}" && GIT_REPO="{GIT_REPO}"
|
|
90
112
|
|
|
91
113
|
ACTUAL_SKILLS=$(ls skills/*/SKILL.md 2>/dev/null | wc -l | tr -d ' ')
|
|
92
114
|
ACTUAL_WORKFLOWS=$(ls workflows/*.md 2>/dev/null | wc -l | tr -d ' ')
|
|
93
115
|
```
|
|
94
116
|
|
|
95
|
-
> Use `$
|
|
117
|
+
> Use `$GIT_HOST`, `$GIT_OWNER`, `$GIT_REPO` in all generated files.
|
|
96
118
|
> Use `$ACTUAL_SKILLS` and `$ACTUAL_WORKFLOWS` for counts.
|
|
97
119
|
> **Never write** `your-org`, `YOUR_USERNAME`, `YOUR_ORG` into generated files.
|
|
98
120
|
|
|
@@ -4,6 +4,18 @@ description: "Upgrade, add features, or start a new milestone"
|
|
|
4
4
|
version: 0.3.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-EVOLVE v0.3.0 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-evolve`, `/vp-evolve`, "evolve", "thêm feature", "milestone mới", "upgrade"
|
|
@@ -180,6 +192,26 @@ Next action: /vp-auto --from {new_phase}
|
|
|
180
192
|
```
|
|
181
193
|
</process>
|
|
182
194
|
|
|
195
|
+
## Adapter Compatibility
|
|
196
|
+
|
|
197
|
+
### AskUserQuestion Tool (ENH-048 + ENH-055)
|
|
198
|
+
|
|
199
|
+
| Adapter | Interactive Prompts | Notes |
|
|
200
|
+
|---------|---------------------|-------|
|
|
201
|
+
| Claude Code (terminal) | ✅ `AskUserQuestion` tool — **REQUIRED** | Must call AUQ; plain-text only if tool errors or is unavailable |
|
|
202
|
+
| Cursor (Agent/Skills) | ❌ Text fallback | AskQuestion not available in Agent Mode |
|
|
203
|
+
| Codex CLI | ❌ Text fallback | Native tool N/A |
|
|
204
|
+
| Antigravity (native agent) | ❌ Text fallback | Artifact model, no raw tool calls |
|
|
205
|
+
| GitHub Copilot | ✅ `/skill-name` in Chat | Via `.agent.md` custom agent; AUQ not available — text fallback |
|
|
206
|
+
|
|
207
|
+
**Claude Code (terminal):** Always call `AskUserQuestion` first. Only fall back to the plain-text menu if the tool returns an error or is unavailable.
|
|
208
|
+
|
|
209
|
+
**Prompts using AskUserQuestion in this skill:**
|
|
210
|
+
- Evolve mode selection (Step 2 — Add Feature / New Milestone / Refactor)
|
|
211
|
+
- Complexity selection (Step 3A — S/M/L/XL)
|
|
212
|
+
- Brainstorm routing decision (Step 3A — Yes / No)
|
|
213
|
+
- Workflow continuation (Step 5 — Execute /vp-auto / Create request / Done)
|
|
214
|
+
|
|
183
215
|
<success_criteria>
|
|
184
216
|
- [ ] User intent correctly identified
|
|
185
217
|
- [ ] Architecture compatibility checked
|
package/skills/vp-info/SKILL.md
CHANGED
|
@@ -4,6 +4,18 @@ description: "Display ViePilot version, npm latest, skills/workflows list via vp
|
|
|
4
4
|
version: 0.1.1
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-INFO v0.1.1 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-info`, `/vp-info`, "viepilot version", "phiên bản viepilot", "skills list bundle"
|
package/skills/vp-pause/SKILL.md
CHANGED
|
@@ -4,6 +4,18 @@ description: "Pause work with context preservation to resume later"
|
|
|
4
4
|
version: 0.1.1
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-PAUSE v0.1.1 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-pause`, `/vp-pause`, "pause", "dừng", "tạm nghỉ"
|
|
@@ -4,6 +4,18 @@ description: "Generate professional proposal packages (.pptx + .docx + .md) from
|
|
|
4
4
|
version: 0.1.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-PROPOSAL v0.1.0 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-proposal`, `/vp-proposal`, "proposal", "pitch deck", "presentation", "tài liệu đề xuất"
|
|
@@ -4,6 +4,18 @@ description: "Create new request: feature, bug fix, enhancement, or brainstorm c
|
|
|
4
4
|
version: 0.2.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-REQUEST v0.2.0 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-request`, `/vp-request`, "request", "yêu cầu", "bug", "lỗi", "feature mới", "nâng cấp"
|
|
@@ -265,3 +277,27 @@ Update `.viepilot/TRACKER.md`:
|
|
|
265
277
|
- [ ] TRACKER.md updated
|
|
266
278
|
- [ ] Appropriate routing suggested
|
|
267
279
|
</success_criteria>
|
|
280
|
+
|
|
281
|
+
## Adapter Compatibility
|
|
282
|
+
|
|
283
|
+
### AskUserQuestion Tool (ENH-048)
|
|
284
|
+
This skill uses adapter-aware interactive prompts. Behavior depends on your adapter:
|
|
285
|
+
|
|
286
|
+
| Adapter | Interactive Prompts | Notes |
|
|
287
|
+
|---------|---------------------|-------|
|
|
288
|
+
| Claude Code (terminal) | ✅ `AskUserQuestion` tool — **REQUIRED** | Must call AUQ; plain-text only if tool errors or is unavailable |
|
|
289
|
+
| Claude Code (VS Code ext) | ⚠️ Partial | Terminal yes; VS Code UI pending [anthropics/claude-code#12609](https://github.com/anthropics/claude-code/issues/12609) |
|
|
290
|
+
| Cursor (Plan Mode) | ⚠️ Partial | `AskQuestion` in Plan Mode only — not in Agent/Skills Mode |
|
|
291
|
+
| Cursor (Agent/Skills) | ❌ Text fallback | AskQuestion not available in Agent Mode |
|
|
292
|
+
| Codex CLI | ❌ Text fallback | Native tool N/A; community MCP available |
|
|
293
|
+
| Antigravity (native agent) | ❌ Text fallback | Artifact model, no raw tool calls |
|
|
294
|
+
| GitHub Copilot | ✅ `/skill-name` in Chat | Via `.agent.md` custom agent; AUQ not available — text fallback |
|
|
295
|
+
|
|
296
|
+
When `AskUserQuestion` is not available, the skill automatically falls back to
|
|
297
|
+
plain-text numbered list prompts — no configuration required.
|
|
298
|
+
|
|
299
|
+
**Prompts using AskUserQuestion in this skill:**
|
|
300
|
+
- Request type detection (Bug / Feature / Enhancement / Tech Debt — Step 2)
|
|
301
|
+
- Bug severity selection (Critical / High / Medium / Low — Step 4A)
|
|
302
|
+
- Feature priority selection (Must-have / Should-have / Nice-to-have — Step 4B)
|
|
303
|
+
- Workflow continuation (Step 6 — Plan /vp-evolve / Create another / Done)
|
|
@@ -4,6 +4,18 @@ description: "Resume work from previous session with full context restoration"
|
|
|
4
4
|
version: 0.1.1
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-RESUME v0.1.1 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-resume`, `/vp-resume`, "resume", "tiếp tục", "where was i"
|
|
@@ -4,6 +4,18 @@ description: "Rollback to any checkpoint safely with state preservation"
|
|
|
4
4
|
version: 0.1.1
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-ROLLBACK v0.1.1 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-rollback`, `/vp-rollback`, "rollback", "quay lại"
|
|
@@ -4,6 +4,18 @@ description: "Display progress dashboard and actionable insights"
|
|
|
4
4
|
version: 0.1.1
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-STATUS v0.1.1 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-status`, `/vp-status`, "status", "tiến độ", "đang ở đâu"
|
package/skills/vp-task/SKILL.md
CHANGED
|
@@ -4,6 +4,18 @@ description: "Manual control over individual tasks"
|
|
|
4
4
|
version: 0.2.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-TASK v0.2.0 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-task`, `/vp-task`
|
|
@@ -4,6 +4,18 @@ description: "Manage workflow for collecting and reusing UI components"
|
|
|
4
4
|
version: 0.1.1
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-UI-COMPONENTS v0.1.1 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-ui-components`, `/vp-ui-components`, "ui components", "component library", "21st.dev component"
|
|
@@ -4,6 +4,18 @@ description: "Upgrade viepilot package via npm (dry-run, --yes, --global) via vp
|
|
|
4
4
|
version: 0.1.1
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
<greeting>
|
|
8
|
+
## Invocation Banner
|
|
9
|
+
|
|
10
|
+
Output this banner as the **first** thing on every invocation — before questions, work, or any other output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14
|
+
VIEPILOT ► VP-UPDATE v0.1.1 (fw 2.19.0)
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
```
|
|
17
|
+
</greeting>
|
|
18
|
+
|
|
7
19
|
<cursor_skill_adapter>
|
|
8
20
|
## A. Skill Invocation
|
|
9
21
|
- Skill được gọi khi user mention `vp-update`, `/vp-update`, "upgrade viepilot", "cập nhật viepilot npm"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|