Skip to content

Commit cde82f8

Browse files
Merge pull request #30 from AndreJorgeLopes/chore/post-mr29-skill-mirror-sync
chore(skills): sync mirrors + scrub stale /compact and natural-language refs post-MR#29
2 parents 030f937 + 02a00d9 commit cde82f8

12 files changed

Lines changed: 35 additions & 26 deletions

File tree

CLAUDE.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,11 @@ brainstorming → spec-feature → writing-plans → lock-tests → executing-pl
9090
- `finish-feature` runs verification, creates the PR/MR, retains learnings.
9191

9292
Each phase ends by invoking `devflow:phase-handoff`, which writes a frozen-state file
93-
at `.devflow/state/<branch>/<phase>.md` and prompts the user to run `/compact`. The next
94-
phase reads only the frozen-state file as source of truth — the brainstorming context
95-
does not bleed into implementation.
93+
at `.devflow/state/<branch>/<phase>.md` (with worktree-relative artefact paths), gates
94+
on a one-click `AskUserQuestion`, then emits a copy-pasteable resume prompt (with
95+
ABSOLUTE artefact paths) for the user to paste after `/clear`. The next phase reads
96+
only the frozen-state file and the artefact paths the resume block hands it as source
97+
of truth — the brainstorming context does not bleed into implementation.
9698

9799
On feature branches, always complete work with `/devflow:finish-feature` before ending
98100
the session.

devflow-plugin/commands/finish-feature.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ You are finishing a feature. Run the full completion pipeline before handing off
1111
1. Detect ticket ID from `git branch --show-current` (regex `[A-Z]+-[0-9]+`); if none, use `none`.
1212
2. Call `mark_chapter` with `{title: "Finish — <TICKET>", summary: "Finishing the feature"}`.
1313
If `mark_chapter` is unavailable (e.g. running outside Claude Code), skip silently.
14-
3. Echo ANSI terminal-title escape:
14+
3. Set terminal window title (CLI Claude Code only — silent no-op in Claude Desktop):
1515
```bash
16-
printf '\e]2;%s — Finish\007' "<TICKET>"
16+
[ -t 1 ] && printf '\e]2;%s — Finish\007' "<TICKET>" || true
1717
```
18+
In Claude Desktop there is no controlling terminal — the visible phase signal comes from `mark_chapter` (step 2).
1819

1920
## Steps
2021

devflow-plugin/commands/lock-tests.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,11 @@ You are at the test-locking phase of devflow's new-feature pipeline. Your job is
2222

2323
If `mark_chapter` is unavailable (e.g. running outside Claude Code), skip silently.
2424

25-
3. **ANSI terminal-title escape:**
25+
3. **Set terminal window title (CLI Claude Code only — silent no-op in Claude Desktop):**
2626
```bash
27-
printf '\e]2;%s — Lock Tests\007' "<TICKET>"
27+
[ -t 1 ] && printf '\e]2;%s — Lock Tests\007' "<TICKET>" || true
2828
```
29+
In Claude Desktop there is no controlling terminal — the visible phase signal comes from `mark_chapter` (step 2).
2930

3031
4. **Read the frozen-state file** from the previous phase:
3132
`.devflow/state/${branch_slug}/plan.md`
@@ -47,7 +48,7 @@ You are at the test-locking phase of devflow's new-feature pipeline. Your job is
4748
- If user skips: invoke `devflow:phase-handoff --phase lock-tests --next-phase impl --no-handoff`. Then print:
4849

4950
```
50-
Trivial change — lock-tests gate skipped. Context is already small; you can proceed directly to the next phase without `/clear`. Trigger executing-plans by typing: `Use the superpowers:executing-plans skill to implement the plan task by task` (natural-language skill trigger superpowers exposes skills via the `Skill` tool, not as `/`-prefixed commands).
51+
Trivial change — lock-tests gate skipped. Context is already small; you can proceed directly to the next phase without `/clear`. Invoke `/executing-plans` (Claude Code auto-exposes the superpowers skill as a slash command; if the picker doesn't surface it on older installs, use the natural-language trigger `Use the superpowers:executing-plans skill to implement the plan task by task` instead).
5152
```
5253

5354
Then exit.
@@ -154,7 +155,7 @@ Use `AskUserQuestion` with:
154155

155156
## Phase 2 — GREEN (delegated)
156157

157-
After approval, invoke `devflow:phase-handoff --phase lock-tests --next-phase impl`. The handoff skill writes the frozen-state file, gates on a one-click `AskUserQuestion`, then emits a copy-pasteable resume prompt for the user to paste after `/clear`. After `/clear` + paste, the new session reads the frozen-state file and invokes `superpowers:executing-plans` via natural-language skill trigger (no `/superpowers:*` slash command exists), which drives per-task red/green against the tests already locked in this phase.
158+
After approval, invoke `devflow:phase-handoff --phase lock-tests --next-phase impl`. The handoff skill writes the frozen-state file, gates on a one-click `AskUserQuestion`, then emits a copy-pasteable resume prompt for the user to paste after `/clear`. After `/clear` + paste, the new session invokes `/executing-plans` (the superpowers skill auto-exposed as a slash command by Claude Code's plugin runtime) which drives per-task red/green against the tests already locked in this phase.
158159

159160
## Phase 3 — REFACTOR (delegated)
160161

devflow-plugin/commands/new-feature.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ You have been launched inside a feature worktree. Your job is to orient yourself
1111
1. Detect ticket ID from `git branch --show-current` (regex `[A-Z]+-[0-9]+`); if none, use `none`.
1212
2. Call `mark_chapter` with `{title: "Brainstorm — <TICKET>", summary: "Starting a new feature"}`.
1313
If `mark_chapter` is unavailable (e.g. running outside Claude Code), skip silently.
14-
3. Echo ANSI terminal-title escape:
14+
3. Set terminal window title (CLI Claude Code only — silent no-op in Claude Desktop):
1515
```bash
16-
printf '\e]2;%s — Brainstorm\007' "<TICKET>"
16+
[ -t 1 ] && printf '\e]2;%s — Brainstorm\007' "<TICKET>" || true
1717
```
18+
In Claude Desktop there is no controlling terminal — the visible phase signal comes from `mark_chapter` (step 2).
1819

1920
## Steps
2021

devflow-plugin/commands/phase-handoff.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,14 @@ If `--no-handoff` is present, print "phase-handoff skipped" and exit.
7777

7878
If `mark_chapter` is unavailable (e.g. running outside Claude Code), skip silently.
7979

80-
6. **Echo ANSI terminal-title escape:**
80+
6. **Set terminal window title (CLI Claude Code only — silent no-op in Claude Desktop):**
8181

8282
```bash
83-
printf '\e]2;%s — %s\007' "<TICKET>" "<mapped-title>"
83+
[ -t 1 ] && printf '\e]2;%s — %s\007' "<TICKET>" "<mapped-title>" || true
8484
```
8585

86+
In Claude Desktop there is no controlling terminal (stdout is captured by the harness, `/dev/tty` is unavailable), so the escape would never reach a window manager. The visible phase signal comes from `mark_chapter` (step 5).
87+
8688
7. **Resolve the next-phase invocation text.** Map `<next-phase>` to what the user must paste after `/clear`:
8789

8890
| `<next-phase>` | Text to paste |

devflow-plugin/commands/spec-feature.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ You are speccing a new feature. This command enforces a structured planning proc
99
1. Detect ticket ID from `git branch --show-current` (regex `[A-Z]+-[0-9]+`); if none, use `none`.
1010
2. Call `mark_chapter` with `{title: "Spec — <TICKET>", summary: "Writing the spec document"}`.
1111
If `mark_chapter` is unavailable (e.g. running outside Claude Code), skip silently.
12-
3. Echo ANSI terminal-title escape:
12+
3. Set terminal window title (CLI Claude Code only — silent no-op in Claude Desktop):
1313
```bash
14-
printf '\e]2;%s — Spec\007' "<TICKET>"
14+
[ -t 1 ] && printf '\e]2;%s — Spec\007' "<TICKET>" || true
1515
```
16+
In Claude Desktop there is no controlling terminal — the visible phase signal comes from `mark_chapter` (step 2).
1617

1718
## Steps
1819

devflow-plugin/commands/writing-plans.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@ When the following events occur, apply these additions:
1010
1. Detect ticket ID from current branch name (regex `[A-Z]+-[0-9]+`); if none, use `none`.
1111
2. Call `mark_chapter` with `{title: "Plan — <TICKET>", summary: "Writing implementation plan"}`.
1212
If `mark_chapter` is unavailable (e.g. running outside Claude Code), skip silently.
13-
3. Echo ANSI terminal-title escape:
13+
3. Set terminal window title (CLI Claude Code only — silent no-op in Claude Desktop):
1414
```bash
15-
printf '\e]2;%s — Plan\007' "<TICKET>"
15+
[ -t 1 ] && printf '\e]2;%s — Plan\007' "<TICKET>" || true
1616
```
17+
In Claude Desktop there is no controlling terminal — the visible phase signal comes from `mark_chapter` (step 2).
1718

1819
## After: Plan saved to disk
1920

skills/lock-tests/SKILL.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,11 @@ You are at the test-locking phase of devflow's new-feature pipeline. Your job is
4949
- If user skips: invoke `devflow:phase-handoff --phase lock-tests --next-phase impl --no-handoff`. Then print:
5050

5151
```
52-
Trivial change — lock-tests gate skipped. Context is already small; you can proceed directly to `/superpowers:executing-plans` without `/compact`.
52+
Trivial change — lock-tests gate skipped. Context is already small; you can proceed directly to the next phase without `/clear`. Invoke `/executing-plans` (Claude Code auto-exposes the superpowers skill as a slash command; if the picker doesn't surface it on older installs, use the natural-language trigger `Use the superpowers:executing-plans skill to implement the plan task by task` instead).
5353
```
5454

5555
Then exit.
5656

57-
5857
7. **Check git status:**
5958
```bash
6059
git status --porcelain
@@ -157,7 +156,7 @@ Use `AskUserQuestion` with:
157156

158157
## Phase 2 — GREEN (delegated)
159158

160-
After approval, invoke `devflow:phase-handoff --phase lock-tests --next-phase impl`. The handoff skill writes the frozen-state file and prompts the user to `/compact`. After compact, the user re-invokes `superpowers:executing-plans` which drives per-task red/green where the tests already exist.
159+
After approval, invoke `devflow:phase-handoff --phase lock-tests --next-phase impl`. The handoff skill writes the frozen-state file, gates on a one-click `AskUserQuestion`, then emits a copy-pasteable resume prompt for the user to paste after `/clear`. After `/clear` + paste, the new session invokes `/executing-plans` (the superpowers skill auto-exposed as a slash command by Claude Code's plugin runtime) which drives per-task red/green against the tests already locked in this phase.
161160

162161
## Phase 3 — REFACTOR (delegated)
163162

skills/new-feature/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ You have been launched inside a feature worktree. Your job is to orient yourself
7272
```
7373
brainstorming → spec-feature → writing-plans → lock-tests → executing-plans → finish-feature
7474
```
75-
Each phase ends with `devflow:phase-handoff` (writes a frozen-state file, prompts you to run `/compact`). The next phase reads only the frozen-state file as source of truth.
75+
Each phase ends with `devflow:phase-handoff` (writes a frozen-state file, gates via one-click `AskUserQuestion`, then emits a copy-pasteable resume prompt for the user to paste after `/clear`). The next phase reads only the frozen-state file and the artefact paths it lists as source of truth.
7676

7777
## Important
7878

skills/registry.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
},
109109
{
110110
"name": "phase-handoff",
111-
"description": "Hand off between phases of the devflow new-feature pipeline — writes a frozen-state file, marks a chapter, and prompts user to /compact.",
111+
"description": "Hand off between phases of the devflow new-feature pipeline — writes a frozen-state file, marks a chapter, sets terminal title, gates on a one-click AskUserQuestion, then emits a copy-pasteable resume prompt for the user to paste after /clear.",
112112
"category": "workflow",
113113
"layer": 4
114114
},

0 commit comments

Comments
 (0)