@brainervirus/workit-cursor 0.8.8 → 0.8.10
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/.cursor-plugin/plugin.json +1 -1
- package/README.md +3 -3
- package/assets/templates/execution-contract.md +20 -18
- package/assets/templates/plan-template.md +1 -1
- package/assets/templates/spec-template.md +2 -2
- package/assets/templates/superpowers-doc-contract.md +13 -10
- package/dist/cursor-session-start.js +10 -8
- package/dist/mcp-server.js +247 -91
- package/package.json +2 -2
- package/rules/ask-question-only.mdc +1 -1
- package/rules/cursor-todowrite.mdc +2 -2
- package/rules/no-worktrees.mdc +3 -3
- package/rules/sdd-docs-path.mdc +3 -3
- package/skills/wk-changelog/SKILL.md +5 -5
- package/skills/wk-commit/SKILL.md +3 -3
- package/skills/wk-docs-refresh/SKILL.md +3 -3
- package/skills/wk-handoff/SKILL.md +6 -6
- package/skills/wk-implement/SKILL.md +9 -9
- package/skills/wk-issue-update/SKILL.md +9 -9
- package/skills/wk-issue-update/references/youtrack-update-style.md +1 -1
- package/skills/wk-meetings/SKILL.md +4 -4
- package/skills/wk-pr/SKILL.md +7 -7
- package/skills/wk-release-notes/SKILL.md +3 -3
- package/skills/wk-status/SKILL.md +1 -1
- package/skills/wk-verify/SKILL.md +3 -3
- package/vendor/superpowers/skills/subagent-driven-development/SKILL.md +4 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brainervirus/workit-cursor",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.10",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Workit Cursor plugin: MCP server, hooks, rules, marketplace manifest (thin over @brainervirus/workit-core)",
|
|
6
6
|
"keywords": [
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"build": "bun scripts/build.ts"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@brainervirus/workit-core": "^0.8.
|
|
42
|
+
"@brainervirus/workit-core": "^0.8.10",
|
|
43
43
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
44
44
|
"zod": "^3.24.0"
|
|
45
45
|
},
|
|
@@ -37,7 +37,7 @@ One AskQuestion per turn when possible. Open-ended free text (no options) may st
|
|
|
37
37
|
|
|
38
38
|
After writing a plan, **do not emit** Superpowers' inline text beginning “Two execution options”.
|
|
39
39
|
|
|
40
|
-
After `
|
|
40
|
+
After `workit_docs_validate` succeeds on the saved spec/plan pair, call Cursor `AskQuestion` with exactly:
|
|
41
41
|
|
|
42
42
|
- Subagent-driven → **unsupported on Cursor** (the MCP rejects it as `unsupported_mode`; use OpenCode `wk-implement`)
|
|
43
43
|
- Inline → execute in this session
|
|
@@ -7,8 +7,8 @@ alwaysApply: true
|
|
|
7
7
|
|
|
8
8
|
When executing a plan / SDD handoff:
|
|
9
9
|
|
|
10
|
-
1. MCP `
|
|
10
|
+
1. MCP `workit_sdd_context` returns `todos` — call Cursor **TodoWrite** with that array (`merge: false`) before Task 1.
|
|
11
11
|
2. SDD under `docs/<slug>/sdd/` is persistence only — **not** a substitute for the Cursor task list UI.
|
|
12
|
-
3. Per task: `in_progress` before dispatch; `completed` after `
|
|
12
|
+
3. Per task: `in_progress` before dispatch; `completed` after `workit_sdd_append_progress`.
|
|
13
13
|
|
|
14
14
|
Never skip TodoWrite because the SDD ledger exists.
|
package/rules/no-worktrees.mdc
CHANGED
|
@@ -16,10 +16,10 @@ alwaysApply: true
|
|
|
16
16
|
|
|
17
17
|
## Required flow (before Task 1)
|
|
18
18
|
|
|
19
|
-
1. MCP `
|
|
19
|
+
1. MCP `workit_resolve_branch` with spec + plan paths
|
|
20
20
|
2. If `needs_checkout` and `dirty` → native **AskQuestion** asks whether to stash before checkout
|
|
21
|
-
3. MCP `
|
|
22
|
-
4. After all tasks, if manifest has `stash_ref` → AskQuestion → `
|
|
21
|
+
3. MCP `workit_branch_setup` with `target_branch` and `stash: yes|no`
|
|
22
|
+
4. After all tasks, if manifest has `stash_ref` → AskQuestion → `workit_branch_setup` action=`reapply_stash`
|
|
23
23
|
|
|
24
24
|
## Tools only
|
|
25
25
|
|
package/rules/sdd-docs-path.mdc
CHANGED
|
@@ -9,9 +9,9 @@ alwaysApply: true
|
|
|
9
9
|
|
|
10
10
|
## Required
|
|
11
11
|
|
|
12
|
-
1. MCP `
|
|
12
|
+
1. MCP `workit_sdd_context` with `plan_path` — **always**, including fresh projects
|
|
13
13
|
2. Use returned `sdd_dir` (`docs/<slug>/sdd/`) for all SDD artifacts
|
|
14
|
-
3. `
|
|
14
|
+
3. `workit_sdd_task_brief`, `workit_sdd_review_package`, `workit_sdd_append_progress` — never Superpowers `sdd-workspace` script
|
|
15
15
|
|
|
16
16
|
## Forbidden
|
|
17
17
|
|
|
@@ -19,4 +19,4 @@ alwaysApply: true
|
|
|
19
19
|
- `cat .superpowers/sdd/progress.md` — missing file there does NOT mean "start fresh"
|
|
20
20
|
- Superpowers `task-brief` / `review-package` scripts under `.agents/skills/`
|
|
21
21
|
|
|
22
|
-
Fresh project with no ledger → `
|
|
22
|
+
Fresh project with no ledger → `workit_sdd_context` creates nothing; `progress.md` appears only on the first confirmed `workit_sdd_append_progress`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wk-changelog
|
|
3
|
-
description: Update CHANGELOG.md via
|
|
3
|
+
description: Update CHANGELOG.md via workit_changelog_context + workit_changelog_apply. Use for /wk-changelog or "update the changelog".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Changelog — Keep a Changelog Update
|
|
@@ -9,14 +9,14 @@ Update `CHANGELOG.md` for the current repository.
|
|
|
9
9
|
|
|
10
10
|
## Step 1 — Gather facts (required)
|
|
11
11
|
|
|
12
|
-
Call MCP tool `
|
|
12
|
+
Call MCP tool `workit_changelog_context` with arguments from the user's message (range, version, paths, etc.).
|
|
13
13
|
|
|
14
|
-
**Repository calls:** For every repository-scoped `
|
|
14
|
+
**Repository calls:** For every repository-scoped `workit_*` call, pass the active Cursor workspace as `workspace_root`; never rely on the MCP process default.
|
|
15
15
|
|
|
16
16
|
Use the tool return value as ground truth. Do not read git, run npm, or infer repo state yourself.
|
|
17
17
|
If the tool errors, report the error and stop.
|
|
18
18
|
|
|
19
|
-
If `unreleased.needs_normalize` is true, call `
|
|
19
|
+
If `unreleased.needs_normalize` is true, call `workit_changelog_apply` with `normalize_only: true` before merging new bullets.
|
|
20
20
|
|
|
21
21
|
## Step 2 — Decide entries (do not edit the file yet)
|
|
22
22
|
|
|
@@ -31,7 +31,7 @@ Follow Keep a Changelog 1.1.0:
|
|
|
31
31
|
|
|
32
32
|
## Step 3 — Apply via tool (required)
|
|
33
33
|
|
|
34
|
-
Call MCP `
|
|
34
|
+
Call MCP `workit_changelog_apply` with the new bullets. Examples:
|
|
35
35
|
|
|
36
36
|
```json
|
|
37
37
|
{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wk-commit
|
|
3
|
-
description: Structured local commits via
|
|
3
|
+
description: Structured local commits via workit_git_context. Use for /wk-commit or "use commit skill" only — not casual "ship it".
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,9 +8,9 @@ disable-model-invocation: true
|
|
|
8
8
|
|
|
9
9
|
## Step 1 — Gather facts (required)
|
|
10
10
|
|
|
11
|
-
Call MCP tool `
|
|
11
|
+
Call MCP tool `workit_git_context` with arguments from the user's message (paths after `/wk-commit`, etc.).
|
|
12
12
|
|
|
13
|
-
**Repository calls:** For every repository-scoped `
|
|
13
|
+
**Repository calls:** For every repository-scoped `workit_*` call, pass the active Cursor workspace as `workspace_root`; never rely on the MCP process default.
|
|
14
14
|
|
|
15
15
|
Use the tool return value as ground truth. Do not read git, run npm, or infer repo state yourself.
|
|
16
16
|
If the tool errors, report the error and stop.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wk-docs-refresh
|
|
3
|
-
description: Refresh stale README and docs via
|
|
3
|
+
description: Refresh stale README and docs via workit_docs_context. Use for /wk-docs-refresh or "refresh readme/docs".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Docs Refresh — Documentation Refresh
|
|
@@ -9,9 +9,9 @@ Inspect current changes and refresh stale documentation.
|
|
|
9
9
|
|
|
10
10
|
## Step 1 — Gather facts (required)
|
|
11
11
|
|
|
12
|
-
Call MCP tool `
|
|
12
|
+
Call MCP tool `workit_docs_context` with arguments from the user's message (range, version, paths, etc.).
|
|
13
13
|
|
|
14
|
-
**Repository calls:** For every repository-scoped `
|
|
14
|
+
**Repository calls:** For every repository-scoped `workit_*` call, pass the active Cursor workspace as `workspace_root`; never rely on the MCP process default.
|
|
15
15
|
|
|
16
16
|
Use the tool return value as ground truth. Do not read git, run npm, or infer repo state yourself.
|
|
17
17
|
If the tool errors, report the error and stop.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wk-handoff
|
|
3
|
-
description: Emit copy-paste implementation prompt for a new chat via
|
|
3
|
+
description: Emit copy-paste implementation prompt for a new chat via workit_handoff_prompt. Explicit /wk-handoff only.
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -10,20 +10,20 @@ Emit a copy-paste prompt for a **new** implementation chat.
|
|
|
10
10
|
|
|
11
11
|
## Step 1 — Gather facts (required)
|
|
12
12
|
|
|
13
|
-
Call MCP tool `
|
|
13
|
+
Call MCP tool `workit_handoff_prompt` with the **full** user message as `message`.
|
|
14
14
|
|
|
15
|
-
**Repository calls:** For every repository-scoped `
|
|
15
|
+
**Repository calls:** For every repository-scoped `workit_*` call, pass the active Cursor workspace as `workspace_root`; never rely on the MCP process default.
|
|
16
16
|
|
|
17
17
|
**Thread context:** If this thread has a known spec/plan pair (from brainstorming, writing-plans, or open files), append both paths to `message` even when the user only typed `/wk-handoff`. Without explicit paths, the tool picks the **most recently touched** linked pair under `docs/<slug>/` (plan `**Spec:**` link + file mtimes) — not “only one file in the folder.”
|
|
18
18
|
|
|
19
19
|
Use the tool return value as ground truth. Do not read git, run npm, or infer repo state yourself.
|
|
20
20
|
If the tool errors, report the error and stop.
|
|
21
21
|
|
|
22
|
-
The pasted prompt includes instructions to call `
|
|
22
|
+
The pasted prompt includes instructions to call `workit_sdd_context`, **Cursor TodoWrite** (with returned `todos`), and `workit_plan_tasks` in Chat B before Task 1. SDD artifacts go to `docs/<slug>/sdd/` — never `.superpowers/sdd`. TodoWrite is required for the native Cursor task list UI (remaining/completed); the SDD ledger is persistence only. The fenced `prompt` does not contain `section_text`. **Branch** is resolved automatically in the prompt (from spec/plan or derived as `feature/*` / `bugfix/*`). **No worktrees** — Chat B uses `workit_resolve_branch` + `workit_branch_setup` in-place. Commits use workit **/wk-commit** skill — no separate commit-policy field.
|
|
23
23
|
|
|
24
|
-
`
|
|
24
|
+
`workit_handoff_prompt` also returns `tasks[]`, `branch`, `sdd_dir`, `completed_task_ids`, and `todos` for same-session MCP use — not copy-paste transport.
|
|
25
25
|
|
|
26
|
-
A destination run that executes the plan must still end with `
|
|
26
|
+
A destination run that executes the plan must still end with `workit_plan_complete` once the SDD ledger is complete and repository verification passes, and never finish the run while the plan is still `active`.
|
|
27
27
|
|
|
28
28
|
## Output (success)
|
|
29
29
|
|
|
@@ -10,9 +10,9 @@ Execute the plan **inline in this coordinator session**. subagent-driven executi
|
|
|
10
10
|
|
|
11
11
|
## Step 1 — Gather facts (required)
|
|
12
12
|
|
|
13
|
-
Call MCP tool `
|
|
13
|
+
Call MCP tool `workit_plan_tasks` with `plan_path` from the user's message and `spec_path` when known.
|
|
14
14
|
|
|
15
|
-
**Repository calls:** For every repository-scoped `
|
|
15
|
+
**Repository calls:** For every repository-scoped `workit_*` call, pass the active Cursor workspace as `workspace_root`; never rely on the MCP process default.
|
|
16
16
|
|
|
17
17
|
Use the returned `tasks[]` as ground truth. Cache each `section_text` for subagent prompts. Do not read the plan file for task text.
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ Use the returned `tasks[]` as ground truth. Cache each `section_text` for subage
|
|
|
20
20
|
|
|
21
21
|
Resolve plugin root: `WORKFLOW_TOOLKIT_ROOT` env or `~/.cursor/plugins/local/workit/`.
|
|
22
22
|
|
|
23
|
-
Load `templates/execution-contract.md`. Substitute `<SPEC_PATH>`, `<PLAN_PATH>`, `<BRANCH>`, `<SDD_DIR>`, `<TASK_LIST>` from MCP. OMIT the `## Handoff destination` section and its `<workflow-handoff-destination>` marker line — that section is only for sessions started from a `
|
|
23
|
+
Load `templates/execution-contract.md`. Substitute `<SPEC_PATH>`, `<PLAN_PATH>`, `<BRANCH>`, `<SDD_DIR>`, `<TASK_LIST>` from MCP. OMIT the `## Handoff destination` section and its `<workflow-handoff-destination>` marker line — that section is only for sessions started from a `workit_handoff_prompt` destination prompt. This inline executor is NOT a destination and must never present itself as one (five-choice source menu, Handoff still available). If template missing, stop with error.
|
|
24
24
|
|
|
25
25
|
## Step 3 — Follow contract
|
|
26
26
|
|
|
@@ -28,17 +28,17 @@ Announce: "Using implement + inline."
|
|
|
28
28
|
|
|
29
29
|
**Before Task 1 — validate + SDD + TodoWrite UI + branch (no worktrees):**
|
|
30
30
|
|
|
31
|
-
0. `
|
|
32
|
-
1. `
|
|
31
|
+
0. `workit_docs_validate` with spec + plan paths — hard-fail before any SDD mutation
|
|
32
|
+
1. `workit_sdd_context` with `plan_path` — cache `sdd_dir`, `completed_task_ids`, **`todos`**
|
|
33
33
|
2. **TodoWrite** with `todos` from step 1 (`merge: false`) — required for Cursor native task list UI (SDD is not a UI substitute)
|
|
34
|
-
3. `
|
|
34
|
+
3. `workit_resolve_branch` with spec + plan paths
|
|
35
35
|
4. If `needs_checkout` and `dirty` → native **AskQuestion** asks whether to stash before checkout
|
|
36
|
-
5. `
|
|
36
|
+
5. `workit_branch_setup` with `target_branch`, `stash`, `sdd_dir` from step 1
|
|
37
37
|
|
|
38
|
-
Follow the contract verbatim. Keep TodoWrite `in_progress`/`completed` in sync each task. At verify/commit phase use `
|
|
38
|
+
Follow the contract verbatim. Keep TodoWrite `in_progress`/`completed` in sync each task. At verify/commit phase use `workit_verify` and `workit_git_context` MCP tools.
|
|
39
39
|
|
|
40
40
|
Each task lands exactly one contiguous non-empty commit range (`base..head`): fix rounds append commits to that range and never rewrite/amend an active review range; each progress line records the task's real base..head shas.
|
|
41
41
|
|
|
42
42
|
Do not emit a handoff fence — this is in-session execution.
|
|
43
43
|
|
|
44
|
-
**Mandatory:** end the run by calling MCP `
|
|
44
|
+
**Mandatory:** end the run by calling MCP `workit_plan_complete` after the final task once the SDD ledger is complete (all task IDs appended) and `workit_verify` passes — a complete ledger and green verification are the tool's gates. Never finish the run while the plan is still `active`.
|
|
@@ -14,7 +14,7 @@ Post a Spanish comment and log time on a **task** issue (not the meeting issue).
|
|
|
14
14
|
|
|
15
15
|
**Audience:** @Alejandra.Flores — not a developer. Clarify technical terms in plain language when they appear.
|
|
16
16
|
|
|
17
|
-
**Repository calls:** For every repository-scoped `
|
|
17
|
+
**Repository calls:** For every repository-scoped `workit_*` call, pass the active Cursor workspace as `workspace_root`; never rely on the MCP process default.
|
|
18
18
|
|
|
19
19
|
## Step 0 — Toolkit ready
|
|
20
20
|
|
|
@@ -27,12 +27,12 @@ If unsure, call `workit_status`. Stop if `ready: false`.
|
|
|
27
27
|
1. If the user did **not** already paste a YouTrack URL or issue id (`NSR-40`) in the message that started this flow, ask:
|
|
28
28
|
> Paste the YouTrack issue URL or id for this update (e.g. `https://…/issue/NSR-40` or `NSR-40`).
|
|
29
29
|
2. Wait for their reply. Do **not** guess from spec/plan unless they explicitly say to use the plan's issue.
|
|
30
|
-
3. Call `
|
|
30
|
+
3. Call `workit_youtrack_parse_issue` with `issue_ref` = what they pasted.
|
|
31
31
|
4. On error, ask again with the parse error. On success, note `issueId`.
|
|
32
32
|
|
|
33
33
|
## Step 2 — Context (required)
|
|
34
34
|
|
|
35
|
-
Call `
|
|
35
|
+
Call `workit_youtrack_context` with `issue_id` from Step 1 (or `issue_url` / `issue_ref` directly). Stop on error.
|
|
36
36
|
|
|
37
37
|
Show the resolved issue once in chat: `Updating **{issueId}**` (+ `issueUrl` if returned).
|
|
38
38
|
|
|
@@ -46,7 +46,7 @@ Ask user to paste rough notes, half-written update, or bullets. Skip to Step 5.
|
|
|
46
46
|
|
|
47
47
|
### Mode `remind` — Help me remember
|
|
48
48
|
|
|
49
|
-
1. Optionally call `
|
|
49
|
+
1. Optionally call `workit_git_context` (and read spec/plan title) **only to remind the user in English chat** — short prose: what repo, branch, themes of commits, not a pasteable comment.
|
|
50
50
|
2. Ask conversational follow-ups: *¿Qué te costó más? ¿Qué queda para mañana? ¿Algo bloqueado?*
|
|
51
51
|
3. User replies in their words (Spanish messy notes OK).
|
|
52
52
|
4. Treat their reply as the draft → Step 5.
|
|
@@ -55,14 +55,14 @@ Ask user to paste rough notes, half-written update, or bullets. Skip to Step 5.
|
|
|
55
55
|
|
|
56
56
|
### Mode `auto` — Draft for me to edit
|
|
57
57
|
|
|
58
|
-
1. Use `
|
|
58
|
+
1. Use `workit_git_context` + conversation context to infer what they likely worked on.
|
|
59
59
|
2. Write a **first draft in Spanish** per **youtrack-update-style.md** (paragraphs, manager-friendly, no file paths).
|
|
60
60
|
3. Show draft in a fenced block. Ask user to correct, add, or replace — user may reply with a full rewrite.
|
|
61
61
|
4. Use their corrected version as input → Step 5.
|
|
62
62
|
|
|
63
63
|
## Step 4 — Duration
|
|
64
64
|
|
|
65
|
-
Ask time spent on this task issue. User text → `
|
|
65
|
+
Ask time spent on this task issue. User text → `workit_youtrack_parse_duration`. **Do not compute minutes yourself.**
|
|
66
66
|
|
|
67
67
|
## Step 5 — Polish (ChatGPT pass)
|
|
68
68
|
|
|
@@ -73,7 +73,7 @@ Polish the approved draft per **youtrack-update-style.md**:
|
|
|
73
73
|
- Keep `# Actualización` + greeting — if user already included them, do not duplicate `@Alejandra.Flores`
|
|
74
74
|
- `## Off-topic` only if user's material has a clear tangent section
|
|
75
75
|
|
|
76
|
-
Call `
|
|
76
|
+
Call `workit_youtrack_draft` with:
|
|
77
77
|
|
|
78
78
|
- `issueId` from Step 1
|
|
79
79
|
- `userNotes` = polished **body only** (no `# Actualización`, no greeting line)
|
|
@@ -88,9 +88,9 @@ Show returned `markdown` in a fenced block. User may edit in chat (apply edits a
|
|
|
88
88
|
|
|
89
89
|
Use native `AskQuestion`: title `Post to YouTrack`; prompt `Post this reviewed update to YouTrack and log the approved time?`; options `Post and log time` and `Cancel`. On confirm:
|
|
90
90
|
|
|
91
|
-
`
|
|
91
|
+
`workit_youtrack_post` with `confirmed: true`, `issueId`, `markdown`, `minutes`. **Do not pass `date`.**
|
|
92
92
|
|
|
93
|
-
If the result has `partial: true`, the comment already posted. Report the time-log failure and retry only with `
|
|
93
|
+
If the result has `partial: true`, the comment already posted. Report the time-log failure and retry only with `workit_youtrack_log_time` using the same `issueId` and `minutes`; never call `workit_youtrack_post` again.
|
|
94
94
|
|
|
95
95
|
## Rules
|
|
96
96
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# YouTrack update style (Cristhofer / es-CL)
|
|
2
2
|
|
|
3
|
-
Use when writing or polishing the comment body before `
|
|
3
|
+
Use when writing or polishing the comment body before `workit_youtrack_draft`. **Preserve the author's voice** — like the ChatGPT revision thread: grammar, flow, and light structure, not a changelog.
|
|
4
4
|
|
|
5
5
|
## Audience
|
|
6
6
|
|
|
@@ -16,7 +16,7 @@ If unsure, call `workit_status`. Stop if `ready: false`.
|
|
|
16
16
|
|
|
17
17
|
## Step 1 — Context (required)
|
|
18
18
|
|
|
19
|
-
Call MCP `
|
|
19
|
+
Call MCP `workit_youtrack_context` with `mode: "meetings"` (no `issue_id` yet). Stop on error.
|
|
20
20
|
|
|
21
21
|
## Step 2 — Pick meeting type (required)
|
|
22
22
|
|
|
@@ -30,7 +30,7 @@ Use native **AskQuestion** with `meetingOptions` from context:
|
|
|
30
30
|
|
|
31
31
|
## Step 3 — Duration
|
|
32
32
|
|
|
33
|
-
Ask how much meeting time today (English UI). User text → `
|
|
33
|
+
Ask how much meeting time today (English UI). User text → `workit_youtrack_parse_duration`. **Do not compute minutes yourself.**
|
|
34
34
|
|
|
35
35
|
## Step 4 — Preview + confirm
|
|
36
36
|
|
|
@@ -40,9 +40,9 @@ Use native **AskQuestion** to confirm logging the shown meeting time; on yes:
|
|
|
40
40
|
|
|
41
41
|
## Step 5 — Log time only
|
|
42
42
|
|
|
43
|
-
Call `
|
|
43
|
+
Call `workit_youtrack_log_time` with `issueId`, `minutes`, `text` (from `workItemText`). **Do not pass `date`** — tool uses epoch ms automatically.
|
|
44
44
|
|
|
45
|
-
**Never** call `
|
|
45
|
+
**Never** call `workit_youtrack_post` from this skill.
|
|
46
46
|
|
|
47
47
|
## Rules
|
|
48
48
|
|
package/skills/wk-pr/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wk-pr
|
|
3
|
-
description: Draft or create PR/MR via
|
|
3
|
+
description: Draft or create PR/MR via workit_pr_context + glab/gh. Squash on merge + delete source branch. Use /wk-pr.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# PR — Draft or Create
|
|
@@ -9,13 +9,13 @@ Draft a merge request / pull request body, or create it on GitLab (`glab`) / Git
|
|
|
9
9
|
|
|
10
10
|
**Setup:** `/wk-init` → pick provider → VCS scaffold → edit active token file.
|
|
11
11
|
|
|
12
|
-
**Active provider:** read `vcs_config.provider` from `
|
|
12
|
+
**Active provider:** read `vcs_config.provider` from `workit_pr_context` (or `provider` in `~/.config/workit/vcs.json`). That decides `glab` vs `gh`.
|
|
13
13
|
|
|
14
14
|
## Step 1 — Gather facts (required)
|
|
15
15
|
|
|
16
|
-
Call MCP `
|
|
16
|
+
Call MCP `workit_pr_context` with **no `range` argument** unless the user supplied an explicit git range string.
|
|
17
17
|
|
|
18
|
-
**Repository calls:** For every repository-scoped `
|
|
18
|
+
**Repository calls:** For every repository-scoped `workit_*` call, pass the active Cursor workspace as `workspace_root`; never rely on the MCP process default.
|
|
19
19
|
|
|
20
20
|
On `feature/*` or `bugfix/*`, the tool compares **only against `develop`** (never `main`).
|
|
21
21
|
|
|
@@ -62,9 +62,9 @@ Body:
|
|
|
62
62
|
|
|
63
63
|
Use native `AskQuestion`: title `Create MR/PR`; prompt `Create the reviewed MR/PR now?`; options `Create` and `Cancel`. On `Create`:
|
|
64
64
|
|
|
65
|
-
`
|
|
65
|
+
`workit_pr_create` with `confirmed: true`, `title`, `body`, optional `target_branch` (defaults from vcs.json).
|
|
66
66
|
|
|
67
|
-
**On failure:** show the tool `error` / `stderr` / `hint` and stop. **Never** fall back to running `glab` or `gh` in the shell — creation must go through `
|
|
67
|
+
**On failure:** show the tool `error` / `stderr` / `hint` and stop. **Never** fall back to running `glab` or `gh` in the shell — creation must go through `workit_pr_create` only.
|
|
68
68
|
|
|
69
69
|
Creation uses vcs.json flags (both default `true`):
|
|
70
70
|
|
|
@@ -86,5 +86,5 @@ GitHub: use **Squash and merge** + **Delete branch** in the UI (or `gh pr merge
|
|
|
86
86
|
|
|
87
87
|
- Do not edit product files in this skill (except user asks to fix PR template).
|
|
88
88
|
- Never paste VCS tokens in chat.
|
|
89
|
-
- **Never run `glab` or `gh` directly** — only `
|
|
89
|
+
- **Never run `glab` or `gh` directly** — only `workit_pr_create`.
|
|
90
90
|
- Do not claim validation passed unless evidence exists.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wk-release-notes
|
|
3
|
-
description: Draft release notes via
|
|
3
|
+
description: Draft release notes via workit_release_notes_context. Use for /wk-release-notes or "draft release notes".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Release Notes — User-Facing Release Notes
|
|
@@ -11,9 +11,9 @@ Draft release notes for a given release, version, tag, or commit range.
|
|
|
11
11
|
|
|
12
12
|
If the user did not provide an exact tag, version, or commit range, ask for it before calling the tool.
|
|
13
13
|
|
|
14
|
-
Call MCP tool `
|
|
14
|
+
Call MCP tool `workit_release_notes_context` with arguments from the user's message (range, version, paths, etc.).
|
|
15
15
|
|
|
16
|
-
**Repository calls:** For every repository-scoped `
|
|
16
|
+
**Repository calls:** For every repository-scoped `workit_*` call, pass the active Cursor workspace as `workspace_root`; never rely on the MCP process default.
|
|
17
17
|
|
|
18
18
|
Use the tool return value as ground truth. Do not read git, run npm, or infer repo state yourself.
|
|
19
19
|
If the tool errors, report the error and stop.
|
|
@@ -82,4 +82,4 @@ Use `items[youtrack_token].token_create_url` / `token_edit_path`, or top-level `
|
|
|
82
82
|
|
|
83
83
|
- Do not call YouTrack HTTP directly — `workit_status` includes verify.
|
|
84
84
|
- Do not ask user to paste token — point them to edit the token file if `placeholder: true`.
|
|
85
|
-
- Optional: `
|
|
85
|
+
- Optional: `workit_youtrack_verify_token` only if user asks to re-test API alone.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wk-verify
|
|
3
|
-
description: Run project validation via
|
|
3
|
+
description: Run project validation via workit_verify MCP tool. Use for /wk-verify or when user says "use verify skill".
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -10,9 +10,9 @@ Run the repository's validation checks and report exact results.
|
|
|
10
10
|
|
|
11
11
|
## Step 1 — Gather facts (required)
|
|
12
12
|
|
|
13
|
-
Call MCP tool `
|
|
13
|
+
Call MCP tool `workit_verify` with arguments from the user's message (range, version, paths, etc.).
|
|
14
14
|
|
|
15
|
-
**Repository calls:** For every repository-scoped `
|
|
15
|
+
**Repository calls:** For every repository-scoped `workit_*` call, pass the active Cursor workspace as `workspace_root`; never rely on the MCP process default.
|
|
16
16
|
|
|
17
17
|
Use the tool return value as ground truth. Do not read git, run npm, or infer repo state yourself.
|
|
18
18
|
If the tool errors, report the error and stop.
|
|
@@ -63,7 +63,7 @@ digraph process {
|
|
|
63
63
|
"Read plan, note context and global constraints, create todos" [shape=box];
|
|
64
64
|
"More tasks remain?" [shape=diamond];
|
|
65
65
|
"Dispatch final code reviewer subagent (../requesting-code-review/code-reviewer.md)" [shape=box];
|
|
66
|
-
"Run verification, then
|
|
66
|
+
"Run verification, then workit_plan_complete once the ledger is complete and verification passes" [shape=box];
|
|
67
67
|
"Use superpowers:finishing-a-development-branch" [shape=box style=filled fillcolor=lightgreen];
|
|
68
68
|
|
|
69
69
|
"Read plan, note context and global constraints, create todos" -> "Dispatch implementer subagent (./implementer-prompt.md)";
|
|
@@ -79,12 +79,12 @@ digraph process {
|
|
|
79
79
|
"Mark task complete in todo list and progress ledger" -> "More tasks remain?";
|
|
80
80
|
"More tasks remain?" -> "Dispatch implementer subagent (./implementer-prompt.md)" [label="yes"];
|
|
81
81
|
"More tasks remain?" -> "Dispatch final code reviewer subagent (../requesting-code-review/code-reviewer.md)" [label="no"];
|
|
82
|
-
"Dispatch final code reviewer subagent (../requesting-code-review/code-reviewer.md)" -> "Run verification, then
|
|
83
|
-
"Run verification, then
|
|
82
|
+
"Dispatch final code reviewer subagent (../requesting-code-review/code-reviewer.md)" -> "Run verification, then workit_plan_complete once the ledger is complete and verification passes";
|
|
83
|
+
"Run verification, then workit_plan_complete once the ledger is complete and verification passes" -> "Use superpowers:finishing-a-development-branch";
|
|
84
84
|
}
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
**Mandatory completion:** after the final whole-branch review, run repository verification. Once the SDD ledger is complete and verification passes, end the run by calling `
|
|
87
|
+
**Mandatory completion:** after the final whole-branch review, run repository verification. Once the SDD ledger is complete and verification passes, end the run by calling `workit_plan_complete` (or the CLI `workit flow complete`) — a complete ledger and green verification are the tool's gates. Never finish while the plan is still `active`.
|
|
88
88
|
|
|
89
89
|
## Pre-Flight Plan Review
|
|
90
90
|
|