Skip to content

restore cursor-team-kit skill names and the devin worktree path - #31

Merged
caelaxie merged 1 commit into
mainfrom
cursor/restore-team-kit-wording-3c0c
Oct 26, 2026
Merged

caelaxie merged 1 commit into
mainfrom
cursor/restore-team-kit-wording-3c0c

Conversation

@caelaxie

Copy link
Copy Markdown
Contributor

restore the upstream cursor-team-kit skill names in the poteto-mode playbooks, and point the worktree example at where devin stores worktrees.

Closes #29
Closes #30

hunks

  • skills/poteto-mode/SKILL.md before-commit trigger: restored verbatim from upstream e73df47.
  • skills/poteto-mode/SKILL.md shipping UI / IDE / CLI trigger: restored verbatim from upstream e73df47.
  • skills/poteto-mode/playbooks/opening-a-pr.md PR line: restored verbatim from upstream e73df47 (/deslop from cursor-team-kit). /pstack:no-comments kept on the skill this plugin ships.
  • skills/poteto-mode/playbooks/opening-a-pr.md subagent line: restored verbatim from upstream e73df47 (/deslop). /pstack:no-comments kept.
  • skills/poteto-mode/playbooks/autopilot-full.md slop-strip: restored verbatim from upstream e73df47. /pstack:no-comments kept. devin --cloud -p kept where upstream said a Cursor cloud agent.
  • skills/poteto-mode/playbooks/autopilot-full.md swarm-verify control skill: restored verbatim from upstream e73df47.
  • skills/poteto-mode/playbooks/multi-phase-plan.md control skill: restored verbatim from upstream e73df47.
  • skills/poteto-mode/playbooks/multi-phase-plan.md deslop checklist: restored verbatim from upstream e73df47 (/deslop). /pstack:no-comments kept.
  • skills/poteto-mode/playbooks/multi-phase-plan.md live-lane line: drive-through clause restored verbatim from upstream e73df47. devin --cloud -p kept.
  • skills/poteto-mode/playbooks/orchestrate.md worker / verifier: control phrase restored verbatim from upstream e73df47. devin --cloud -p and the cloud-worker note kept.
  • skills/poteto-mode/playbooks/shipping.md control skill: restored verbatim from upstream e73df47. devin --cloud -p kept.
  • skills/poteto-mode/playbooks/worktree-cleanup.md step 1: the example path is the devin worktree path ~/.windsurf/worktrees/<repo>/x.
Open in Web Open in Cursor 

Put the upstream deslop, control-ui, and control-cli wording back in the
poteto-mode playbooks, and point the worktree example at ~/.windsurf/worktrees.

Co-authored-by: Kaitian Xie <caelaxie@users.noreply.github.com>

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

verdict: changes requested (proof only). content passes.

  1. minimum changes: every hunk matches the upstream e73df47 text quoted in #29. /pstack:no-comments and devin --cloud -p kept as the issue asked, /deslop unprefixed. worktree example is exactly ~/.windsurf/worktrees/<repo>/x per #30. pass.
  2. layout and target: no new cursor files, paths, or shims. pass.
  3. parity: no drops, version untouched. pass.
  4. harness proof: missing. Validate plugin is green, but ci.yml says devin install/list can't run unauthenticated, so CI doesn't load the plugin. this touches skill text, so post devin plugins install + list on head 928cbd3 (the --local wrapper pinned to the full head sha is fine; symlink-only isn't).
  5. linkage: Closes #29, Closes #30. pass.
  6. not a draft. pass.

merge once the proof comment lands at this head.

Copy link
Copy Markdown
Contributor Author

harness proof

real devin cli on a local box (no cloud agent, no git clone). pr head 928cbd3d78c0fc070c363cdd5670d3355695ca9b, checked with git ls-remote refs/pull/31/head before install and again before cleanup. version stays 0.15.32 (the pr doesn't bump it).

  • cli: devin 3000.11.205 (6dea39440ae3). devin auth status → Logged in (via Devin).
  • everything was read-only. the live turn ran in a trusted scratch dir whose allowlist only permits reads (Write(**)/Edit(**) denied). i added no allowlist entries, and no ~/.config/devin/agents/ profiles exist before or after.
# requirement result
1 --local wrapper pinned to the full head sha, then devin plugins list shows pstack v0.15.32 (required) ✅ pass
2 install cache: all 200 files cmp-identical to raw @ head, 0 symlinks, file list = head tree (200 = 200) ✅ pass
3 changed text in the 7 files is installed: cursor-team-kit / /deslop / control-ui / control-cli, ~/.windsurf/worktrees/<repo>/x. /pstack:deslop appears nowhere, /pstack:no-comments still does ✅ pass
4 devin skills list: 58 /pstack: skills from the 0.15.32 cache ✅ pass
5 live describe-only /pstack:poteto-mode turn answers with the restored wording ✅ pass
6 cleanup: wrapper and pstack removed, thermos left alone, end state = before ✅ pass

1. install / list

$ devin plugins list          # before
Installed plugins

  • thermos v1.0.0

$ cat wrap-pr31/.devin-plugin/plugin.json
{ "name": "pstack-harness-pr31", "version": "0.0.0",
  "requiredPlugins": [ { "source": "github", "repo": "pstack-ports/devin-pstack",
                         "sha": "928cbd3d78c0fc070c363cdd5670d3355695ca9b" } ] }
$ devin plugins install --local -y /workspace/devin-harness/wrap-pr31
This install will add:
  • pstack-harness-pr31 v0.0.0
  • pstack v0.15.32 (required)
      /pstack:no-comments
      ...
      /pstack:poteto-mode
      ...
✓ Installed pstack-harness-pr31.
  auto-installed required plugins: pstack
$ devin plugins list
Installed plugins

  • thermos v1.0.0
  • pstack-harness-pr31 v0.0.0
  • pstack v0.15.32 (required)

2. install cache: cmp and symlinks

$ cd ~/.local/share/devin/cli/plugins/cache/github.com_pstack-ports_devin-pstack-816793bb/0.15.32
$ grep -n '"version"' .devin-plugin/plugin.json plugin.json
.devin-plugin/plugin.json:3:  "version": "0.15.32",
plugin.json:4:  "version": "0.15.32",
$ find . -type l | wc -l
0
$ curl -fsSL "https://api.github.com/repos/pstack-ports/devin-pstack/git/trees/928cbd3d78c0fc070c363cdd5670d3355695ca9b?recursive=1"   # blobs -> head.txt
truncated False
symlinks/submodules in tree: []
$ wc -l head.txt inst.txt
  200 head.txt
  200 inst.txt
$ comm -3 head.txt inst.txt
(empty)
$ while read f; do curl -fsSL https://raw.githubusercontent.com/pstack-ports/devin-pstack/928cbd3d78c0fc070c363cdd5670d3355695ca9b/$f -o raw/$f && cmp -s $f raw/$f ...; done < inst.txt
IDENTICAL=200 DIFF/ERR=0
$ # the 7 files the pr touches:
regular file 23997 IDENTICAL skills/poteto-mode/SKILL.md
regular file 5705 IDENTICAL skills/poteto-mode/playbooks/opening-a-pr.md
regular file 6635 IDENTICAL skills/poteto-mode/playbooks/autopilot-full.md
regular file 13245 IDENTICAL skills/poteto-mode/playbooks/multi-phase-plan.md
regular file 17385 IDENTICAL skills/poteto-mode/playbooks/orchestrate.md
regular file 4419 IDENTICAL skills/poteto-mode/playbooks/shipping.md
regular file 2950 IDENTICAL skills/poteto-mode/playbooks/worktree-cleanup.md

3. changed text excerpts (installed cache)

$ grep -n -o '.\{0,60\}\(deslop\|control-ui\|control-cli\|cursor-team-kit\|windsurf\).\{0,60\}' <the 7 files>
skills/poteto-mode/SKILL.md:26:- Before commit → the `deslop` skill from the `cursor-team-kit` plugin (`/deslop`).
skills/poteto-mode/SKILL.md:28:- Shipping UI / IDE / CLI → the matching control skill. `cursor-team-kit` publishes `control-cli` (CLIs and TUIs) and `control-ui` (
skills/poteto-mode/playbooks/opening-a-pr.md:9:**PRs.** Run `/deslop` from `cursor-team-kit` over the diff before commit and `/pstack:no-comments` befo
skills/poteto-mode/playbooks/opening-a-pr.md:34:A subagent that opens a PR runs `interrogate`, `/deslop`, and `/pstack:no-comments`, and posts the URL. It returns
skills/poteto-mode/playbooks/autopilot-full.md:10:the work. The code is ready only after the slop-strip (the `deslop` skill from the `cursor-team-kit` plugin (`/deslop`)) and t
skills/poteto-mode/playbooks/autopilot-full.md:14:ive on the real surface through its control skill (such as `control-ui` or `control-cli` from `cursor-team-kit`) or a named driver
skills/poteto-mode/playbooks/multi-phase-plan.md:15:.** Pick it by surface. Browser, Electron, and web UIs use `control-ui` from `cursor-team-kit`. CLIs and TUIs use `control-cli` fr
skills/poteto-mode/playbooks/multi-phase-plan.md:15:om `cursor-team-kit`. Native mobile uses whatever simulator-driving skill the r
skills/poteto-mode/playbooks/multi-phase-plan.md:59:- [ ] Run `/deslop` before each commit and `/pstack:no-comments` before review
skills/poteto-mode/playbooks/multi-phase-plan.md:71:oud -p` session) or worktree at the PR head. Drive through `control-ui` or `control-cli` from `cursor-team-kit`.
skills/poteto-mode/playbooks/orchestrate.md:17:<brief>"`) by default, unless the task needs this machine: `control-ui` or `control-cli` runtime verification (from `cursor-team-k
skills/poteto-mode/playbooks/shipping.md:5: way a user would with the matching control skill (such as `control-ui` or `control-cli` from `cursor-team-kit`), parent against h
skills/poteto-mode/playbooks/worktree-cleanup.md:3:and-typed `myrepo-worktrees/x` misses one that lives at `~/.windsurf/worktrees/<repo>/x` (principle-encode-lessons-in-structure)
$ grep -rn '/pstack:deslop' . | wc -l
0
$ grep -n -o '.\{0,30\}/pstack:no-comments.\{0,10\}' skills/poteto-mode/SKILL.md
27:→ the **no-comments** skill (`/pstack:no-comments`).
$ grep -rln '/pstack:no-comments' . | wc -l      # README, docs/guide, no-comments, poteto-help, poteto-mode + 3 playbooks
9
$ # old wording, summed over the 7 files:
"skill if one is installed": 0   "surface driver": 0   "browser-driving": 0   "CLI harness": 0
"CLI-driving harness": 0   ".devin/worktrees/myrepo/x": 0   "local control skill or MCP": 0

4. skills

$ devin skills list | grep -c /pstack:
58
$ devin skills list | grep -c /pstack:deslop
0
$ devin skills list | grep -E '/pstack:(poteto-mode|no-comments|setup-pstack|how|why|swarm) '
  /pstack:no-comments [user] (~/.local/share/devin/cli/plugins/cache/github.com_pstack-ports_devin-pstack-816793bb/0.15.32/skills/no-comments) - ...
  /pstack:poteto-mode [user] (~/.local/share/devin/cli/plugins/cache/github.com_pstack-ports_devin-pstack-816793bb/0.15.32/skills/poteto-mode) - ...
  ...                         # setup-pstack, how, why, swarm: same 0.15.32 cache path

5. live turn (read-only, describe-only)

$ cd /workspace/devin-harness/scratch && devin -p --export ../logs/pr31-live.export -- "/pstack:poteto-mode Describe-only check: do NOT run any commands, do NOT write, edit or create any files, do NOT spawn subagents. Answer from the poteto-mode skill and its playbooks as installed, in under 120 words: (1) which skill does poteto-mode run before commit, and from which plugin, with its slash command? (2) which control skill does it use when shipping a CLI change, and from which plugin? (3) in the worktree-cleanup playbook step 1, what example path does it give for a worktree that a hand-typed myrepo-worktrees/x path would miss? Quote the playbook text for (3)."
I'll look up the installed skill files to quote them accurately.**1.** The `deslop` skill, from the `cursor-team-kit` plugin, invoked as `/deslop`.

**2.** `control-cli`, also from `cursor-team-kit`.

**3.** `~/.windsurf/worktrees/<repo>/x`. The playbook says a hand-typed `myrepo-worktrees/x` "misses one that lives at `~/.windsurf/worktrees/<repo>/x`".

the export shows the poteto-mode skill body injected as the first user message, model swe-2-high, and two read-only tool calls: find_file_by_name **/poteto-mode/** under the plugins dir and read of the installed playbooks/worktree-cleanup.md. no writes, no subagents.

6. re-check and cleanup

$ git ls-remote https://github.com/pstack-ports/devin-pstack refs/pull/31/head
928cbd3d78c0fc070c363cdd5670d3355695ca9b	refs/pull/31/head
$ devin plugins remove pstack-harness-pr31 -y
✓ Removed pstack-harness-pr31.
  note: auto-installed required plugins were left in place: pstack
$ devin plugins remove pstack -y
✓ Removed pstack from your personal plugins.
$ devin plugins list
Installed plugins

  • thermos v1.0.0

end state matches the before list.

no code was changed, and no secrets appear in this comment.

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

harness proof verified at 928cbd3. the proof uses a devin plugins install --local wrapper whose requiredPlugins pins the full head sha, so devin fetched the repo itself. devin plugins list shows pstack v0.15.32 (required). the install cache has 200 regular files, all cmp-identical to raw at head, with 0 symlinks. the restored cursor-team-kit wording and the ~/.windsurf worktree path are in the installed files, and ls-remote confirmed the head before cleanup. validate plugin is green on this head, and the body closes #29 and #30. this pr passes. squash-merging.

@caelaxie
caelaxie merged commit 66a5d86 into main Oct 26, 2026
1 check passed
@caelaxie
caelaxie deleted the cursor/restore-team-kit-wording-3c0c branch October 26, 2026 03:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

audit: worktree example path is not where devin stores worktrees audit: restore cursor-team-kit skill names in the playbooks

2 participants