diff --git a/harness/pstack/claude-code/docs/harness/claude-code.md b/harness/pstack/claude-code/docs/harness/claude-code.md index bf154e646..edd092b81 100644 --- a/harness/pstack/claude-code/docs/harness/claude-code.md +++ b/harness/pstack/claude-code/docs/harness/claude-code.md @@ -55,6 +55,17 @@ Claude Code loads every `.md` file in `~/.claude/rules/` into each new session, | `https://github.com/cursor/plugins/blob/main/pstack/` | `/` when that file exists. The plugin ships the skills, `docs/guide/`, and `README.md`. Read the local copy and never fetch it. Give the user the URL when they need a link. | | Transcripts in `~/.cursor/projects//agent-transcripts/` | `~/.claude/projects//.jsonl`. The slug is the workspace path with each `/` and `.` changed to `-`, so `/Users/you/proj` is `-Users-you-proj`. The newest `.jsonl` directly in that folder is the current session. Its `/subagents/` folder holds subagent transcripts. Read only this workspace's folder. | +## Skills from other plugins + +pstack calls four skills that it does not ship. `/no-comments` is not one of them. It ships with pstack, so read `skills/no-comments/SKILL.md` and spawn `pstack:comment-sicko` as it says. + +| Cursor | Claude Code | +| --- | --- | +| `/deslop` from `cursor-team-kit` | Run a `deslop` skill when the session lists one. This repository's Claude Code marketplace does not list `cursor-team-kit`, so a user installs the skill by copying `cursor-team-kit/skills/deslop/SKILL.md` into `~/.claude/skills/deslop/`. Without it, skip the step with the line from Cursor-only features. | +| `control-ui` from `cursor-team-kit` | Follow its harness loop with local tools. Use the repo's Playwright or browser harness, or a Chromium debug port. A browser MCP such as Claude in Chrome also drives a web UI. | +| `control-cli` from `cursor-team-kit` | Follow its harness loop with local tools. Run the CLI in `tmux`, send input with `tmux send-keys`, and read the screen with `tmux capture-pane -p`. | +| `create-skill`, built into Cursor | Use a skill-creator skill when the session lists one. Otherwise write `/SKILL.md` with `name` and `description` frontmatter under `.claude/skills/` or `~/.claude/skills/`. | + ## Cursor-only features Claude Code has no Cursor Automations, Bugbot, Cursor cloud agents, or built-in PR tool. When a step needs one, put one line in your reply, `Skipped in Claude Code: . .`, then go on to the next step. Do not stop, ask, or retry. When a later step needs what the skipped step made, such as a URL or a key, leave a placeholder and name it in the line. diff --git a/harness/pstack/claude-code/skills/poteto-mode/playbooks/multi-phase-plan.md b/harness/pstack/claude-code/skills/poteto-mode/playbooks/multi-phase-plan.md index 7101aa71d..d58fee66a 100644 --- a/harness/pstack/claude-code/skills/poteto-mode/playbooks/multi-phase-plan.md +++ b/harness/pstack/claude-code/skills/poteto-mode/playbooks/multi-phase-plan.md @@ -56,7 +56,7 @@ Tests alone are not sufficient verification. A PR is verified only when its unit - [ ] Resolve the forge once. Default to `gh`; if `command -v origin` succeeds and Origin can resolve the repository, use `origin pr` for every PR operation. Record any fallback to `gh`. Never require `gt`. - [ ] Open the PR ready, never draft, per **Opening a PR**. Use the run's built-in PR tool when it has one, else `origin pr create --status open --base ` or `gh pr create --base ` according to the resolved forge. A stack child targets its parent branch. - [ ] Run the repo's lint and typecheck once before the PR-facing push. Push with hooks on. -- [ ] Run `/deslop` before each commit and `/no-comments` before review. +- [ ] Run `/deslop` from `cursor-team-kit` before each commit. Run `/no-comments`, which ships with pstack, before review. - [ ] Triage every Bugbot and security-reviewer comment per `../references/bugbot-triage.md`. - [ ] Rebase onto current trunk before the code-ready report and babysit. Keep that merge base in fix rounds. Rebase again only at merge prep, on a `git merge-tree` conflict with trunk, on a CI failure that comes from a change on trunk, or when a known concurrent change to the same files lands. diff --git a/harness/pstack/claude-code/skills/poteto-mode/playbooks/opening-a-pr.md b/harness/pstack/claude-code/skills/poteto-mode/playbooks/opening-a-pr.md index 4a92c501f..f0f59ad36 100644 --- a/harness/pstack/claude-code/skills/poteto-mode/playbooks/opening-a-pr.md +++ b/harness/pstack/claude-code/skills/poteto-mode/playbooks/opening-a-pr.md @@ -6,7 +6,7 @@ Invoked at the end of every other playbook. **Commits.** Commit liberally. Rebase into small, ordered commits before opening PRs. Each commit is a future PR: landable, ordered to tell the story. Amend when the fix belongs in a just-made commit. New commit when separable. Commit bodies don't restate the subject. -**PRs.** Run `/deslop` from `cursor-team-kit` over the diff before commit and `/no-comments` before review. Write every PR title, description, and commit body with `/technical-writing` (every layer except Diátaxis, and apply the STE vocabulary rules: one word per action, keep articles, a plain verb over `-ing` where one works), then apply `/unslop`. +**PRs.** Run `/deslop` from `cursor-team-kit` over the diff before commit. Run `/no-comments`, which ships with pstack, before review. Write every PR title, description, and commit body with `/technical-writing` (every layer except Diátaxis, and apply the STE vocabulary rules: one word per action, keep articles, a plain verb over `-ing` where one works), then apply `/unslop`. **Titles.** Conventional Commits `type(scope): subject`, no trailing period. Type such as `feat`, `fix`, `docs`, `refactor`, `test`, `chore`, or `perf`. Scope is the area, such as `pstack` or `poteto-mode`. Subject is short, imperative, and names a real symbol when one carries the change, for example `fix(pstack): retarget opening-a-pr babysit trigger`. diff --git a/pstack/docs/harness/claude-code.md b/pstack/docs/harness/claude-code.md index bf154e646..edd092b81 100644 --- a/pstack/docs/harness/claude-code.md +++ b/pstack/docs/harness/claude-code.md @@ -55,6 +55,17 @@ Claude Code loads every `.md` file in `~/.claude/rules/` into each new session, | `https://github.com/cursor/plugins/blob/main/pstack/` | `/` when that file exists. The plugin ships the skills, `docs/guide/`, and `README.md`. Read the local copy and never fetch it. Give the user the URL when they need a link. | | Transcripts in `~/.cursor/projects//agent-transcripts/` | `~/.claude/projects//.jsonl`. The slug is the workspace path with each `/` and `.` changed to `-`, so `/Users/you/proj` is `-Users-you-proj`. The newest `.jsonl` directly in that folder is the current session. Its `/subagents/` folder holds subagent transcripts. Read only this workspace's folder. | +## Skills from other plugins + +pstack calls four skills that it does not ship. `/no-comments` is not one of them. It ships with pstack, so read `skills/no-comments/SKILL.md` and spawn `pstack:comment-sicko` as it says. + +| Cursor | Claude Code | +| --- | --- | +| `/deslop` from `cursor-team-kit` | Run a `deslop` skill when the session lists one. This repository's Claude Code marketplace does not list `cursor-team-kit`, so a user installs the skill by copying `cursor-team-kit/skills/deslop/SKILL.md` into `~/.claude/skills/deslop/`. Without it, skip the step with the line from Cursor-only features. | +| `control-ui` from `cursor-team-kit` | Follow its harness loop with local tools. Use the repo's Playwright or browser harness, or a Chromium debug port. A browser MCP such as Claude in Chrome also drives a web UI. | +| `control-cli` from `cursor-team-kit` | Follow its harness loop with local tools. Run the CLI in `tmux`, send input with `tmux send-keys`, and read the screen with `tmux capture-pane -p`. | +| `create-skill`, built into Cursor | Use a skill-creator skill when the session lists one. Otherwise write `/SKILL.md` with `name` and `description` frontmatter under `.claude/skills/` or `~/.claude/skills/`. | + ## Cursor-only features Claude Code has no Cursor Automations, Bugbot, Cursor cloud agents, or built-in PR tool. When a step needs one, put one line in your reply, `Skipped in Claude Code: . .`, then go on to the next step. Do not stop, ask, or retry. When a later step needs what the skipped step made, such as a URL or a key, leave a placeholder and name it in the line. diff --git a/pstack/skills/poteto-mode/playbooks/multi-phase-plan.md b/pstack/skills/poteto-mode/playbooks/multi-phase-plan.md index 7101aa71d..d58fee66a 100644 --- a/pstack/skills/poteto-mode/playbooks/multi-phase-plan.md +++ b/pstack/skills/poteto-mode/playbooks/multi-phase-plan.md @@ -56,7 +56,7 @@ Tests alone are not sufficient verification. A PR is verified only when its unit - [ ] Resolve the forge once. Default to `gh`; if `command -v origin` succeeds and Origin can resolve the repository, use `origin pr` for every PR operation. Record any fallback to `gh`. Never require `gt`. - [ ] Open the PR ready, never draft, per **Opening a PR**. Use the run's built-in PR tool when it has one, else `origin pr create --status open --base ` or `gh pr create --base ` according to the resolved forge. A stack child targets its parent branch. - [ ] Run the repo's lint and typecheck once before the PR-facing push. Push with hooks on. -- [ ] Run `/deslop` before each commit and `/no-comments` before review. +- [ ] Run `/deslop` from `cursor-team-kit` before each commit. Run `/no-comments`, which ships with pstack, before review. - [ ] Triage every Bugbot and security-reviewer comment per `../references/bugbot-triage.md`. - [ ] Rebase onto current trunk before the code-ready report and babysit. Keep that merge base in fix rounds. Rebase again only at merge prep, on a `git merge-tree` conflict with trunk, on a CI failure that comes from a change on trunk, or when a known concurrent change to the same files lands. diff --git a/pstack/skills/poteto-mode/playbooks/opening-a-pr.md b/pstack/skills/poteto-mode/playbooks/opening-a-pr.md index 4a92c501f..f0f59ad36 100644 --- a/pstack/skills/poteto-mode/playbooks/opening-a-pr.md +++ b/pstack/skills/poteto-mode/playbooks/opening-a-pr.md @@ -6,7 +6,7 @@ Invoked at the end of every other playbook. **Commits.** Commit liberally. Rebase into small, ordered commits before opening PRs. Each commit is a future PR: landable, ordered to tell the story. Amend when the fix belongs in a just-made commit. New commit when separable. Commit bodies don't restate the subject. -**PRs.** Run `/deslop` from `cursor-team-kit` over the diff before commit and `/no-comments` before review. Write every PR title, description, and commit body with `/technical-writing` (every layer except Diátaxis, and apply the STE vocabulary rules: one word per action, keep articles, a plain verb over `-ing` where one works), then apply `/unslop`. +**PRs.** Run `/deslop` from `cursor-team-kit` over the diff before commit. Run `/no-comments`, which ships with pstack, before review. Write every PR title, description, and commit body with `/technical-writing` (every layer except Diátaxis, and apply the STE vocabulary rules: one word per action, keep articles, a plain verb over `-ing` where one works), then apply `/unslop`. **Titles.** Conventional Commits `type(scope): subject`, no trailing period. Type such as `feat`, `fix`, `docs`, `refactor`, `test`, `chore`, or `perf`. Scope is the area, such as `pstack` or `poteto-mode`. Subject is short, imperative, and names a real symbol when one carries the change, for example `fix(pstack): retarget opening-a-pr babysit trigger`.