From 2751268fce8fcc4558ebf8ae7897d957d460994a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 21 Oct 2026 02:16:50 +0000 Subject: [PATCH 1/2] Remove the Claude Code adapter from the grok port. Delete the adapter file and the install paragraphs that point at it. Co-authored-by: Kaitian Xie --- docs/guide/01-setup.md | 1 - docs/harness/claude-code.md | 67 ------------------------------------- skills/poteto-help/SKILL.md | 1 - 3 files changed, 69 deletions(-) delete mode 100644 docs/harness/claude-code.md diff --git a/docs/guide/01-setup.md b/docs/guide/01-setup.md index 7fb5b05..53d1491 100644 --- a/docs/guide/01-setup.md +++ b/docs/guide/01-setup.md @@ -17,7 +17,6 @@ Grok confirms the plugin is installed. You can also enable it for one repo with enabled = ["pstack"] ``` -In Claude Code, run `/plugin marketplace add cursor/plugins`, then `/plugin install pstack@cursor-plugins`. Claude Code prefixes plugin commands, so each command in this guide takes a `pstack:` prefix there, such as `/pstack:setup-pstack`, which writes its model rule to `~/.claude/rules/pstack-models.md`. The [Claude Code adapter](../harness/claude-code.md) covers the other differences. ## Pick your models diff --git a/docs/harness/claude-code.md b/docs/harness/claude-code.md deleted file mode 100644 index bf154e6..0000000 --- a/docs/harness/claude-code.md +++ /dev/null @@ -1,67 +0,0 @@ -# pstack in Claude Code - -pstack skills use Cursor names. In Claude Code, read this file once per session, then map each Cursor name in a skill with the tables below. `` means the folder that holds `skills/` and `docs/`. If a Cursor field has no row, drop it and say so. Never pass a field or value the tool schema rejects. - -## Tools - -| Cursor | Claude Code | -| --- | --- | -| `Task` | `Agent` | -| `AskQuestion` | `AskUserQuestion`. In `-p` mode it is absent, so ask in plain text. | -| Open a todolist | Use `TodoWrite` if the session offers it. Otherwise keep the list in your reply and update it at each phase. | -| Run another pstack skill (`/name` or "the **name** skill") | `Read` `/skills//SKILL.md` and follow it. The `Skill` tool refuses most pstack skills. When you tell the user to type it, write `/pstack:`. | -| `Grep`, `Glob` | `Bash` with `rg` when the session has no `Grep` or `Glob`. | - -## Subagent fields - -| Cursor | Claude Code | -| --- | --- | -| `subagent_type: generalPurpose` | `subagent_type: "general-purpose"` | -| `poteto-agent`, `comment-sicko` | `pstack:poteto-agent`, `pstack:comment-sicko` | -| `readonly: true` | `subagent_type: "Explore"`. It keeps `Bash`, so the brief also says "do not edit files", and you check `git status` afterward. | -| `readonly: false` | `general-purpose`. It keeps the session's MCP servers. | -| `environment: "cloud"` | `isolation: "worktree"`. Name the branch or commit the worker checks out. | -| `environment: "local"` | Omit. | -| `cloud_base_branch: ` | Tell the worker to check out `` first. | -| `run_in_background: true` | Omit. Subagents run in the background by default and notify you when they finish. | -| `resume` | Spawn a new agent and paste the earlier result into its brief. | -| `file_attachments` | List the paths in the brief. | - -## Models - -| Cursor | Claude Code | -| --- | --- | -| `claude---[-fast]`, such as `claude-opus-5-5-xhigh` | `model: "opus"` and `effort: "xhigh"`. `model` takes only `opus`, `sonnet`, `haiku`, `fable`. Drop `-fast`. | -| A `grok-*`, `gpt-*`, or other non-Claude slug | Omit `model` so the agent runs on the session model, and say so. | -| `auto` or `inherit-parent` | Omit `model`. | -| The `pstack-models.mdc` rule, `~/.cursor/rules/pstack-models.mdc` | `~/.claude/rules/pstack-models.md`. Claude Code loads it into every new session, so its role lines are already in context. If they are not, read the file. If the file or the role's line is missing, use the skill's default slug. | -| A role value ` `, such as `opus high` | `model: "opus"` and `effort: "high"`. | - -## setup-pstack - -Claude Code loads every `.md` file in `~/.claude/rules/` into each new session, so `setup-pstack` writes its rule there. Follow its steps with these changes: - -- Detect. The detected models are the `model` values that the `Agent` tool schema lists, each with an effort from its `effort` values. Write a real model as ` `, such as `opus xhigh`. The effort is the last token, so the budget step works as written. -- Defaults. Map each default slug with the rows above: `claude-opus-5-5-xhigh` is `opus xhigh`, and `grok-4.7-xhigh-fast` is `inherit-parent`. -- Write. Write `~/.claude/rules/pstack-models.md` with no frontmatter, then the comment lines, the `# budget` line, and one line per role from step 5. Overwrite the whole file. Never put the role lines in `CLAUDE.md` or `AGENTS.md`. - -## Paths - -| Cursor | Claude Code | -| --- | --- | -| `.cursor/skills/`, `~/.cursor/skills/` | `.claude/skills/`, `~/.claude/skills/` | -| `~/.cursor/plugins/`, `.cursor-plugin/plugin.json` | `~/.claude/plugins/`, `.claude-plugin/plugin.json` | -| `.cursor/rules/*.mdc`, always-applied rules | `CLAUDE.md`, or `AGENTS.md` when no `CLAUDE.md` exists. Claude Code never reads `.mdc` files. The model rule is the exception. See Models. | -| `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. | - -## 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. - -| Cursor | Claude Code | -| --- | --- | -| Cursor Automations: routines, `update_state` routine calls, `api2.cursor.sh/automations` webhooks, routine wakes, and `SendToUser` secret requests | Skip with the line. | -| Bugbot | Bugbot comments on a GitHub PR are ordinary review threads, so triage them with the forge command that the step gives. Skip a step that starts, waits for, or configures Bugbot when the PR has no Bugbot check or comment. | -| Cursor cloud agents | `environment: "cloud"` maps to a worktree, as in Subagent fields. Skip a step that needs the cloud agent itself, such as its dashboard status or its own machine. | -| A built-in PR tool | Use the forge command that the step gives, such as `gh pr create`. That is not a skip, so write no line. | diff --git a/skills/poteto-help/SKILL.md b/skills/poteto-help/SKILL.md index 87d349b..5240876 100644 --- a/skills/poteto-help/SKILL.md +++ b/skills/poteto-help/SKILL.md @@ -45,7 +45,6 @@ If cost is the worry, say where the tokens go and how to spend fewer. pstack spe This checkout is the Grok Build port. Workflow skills spawn with `spawn_subagent`. Only the parent chat can spawn. `/loop` is a Grok Build built-in. There is no custom mode to pin. Type `/poteto-mode` per task. -pstack is built for Cursor, and it also installs in Claude Code with `/plugin marketplace add cursor/plugins`, then `/plugin install pstack@cursor-plugins`. There, each command takes a `pstack:` prefix, such as `/pstack:poteto-mode`. The [Claude Code adapter](../../docs/harness/claude-code.md) maps the Cursor names, and a step that needs a Cursor-only feature, such as Bugbot or Automations, is skipped with a one-line note. ## Start a task with `/poteto-mode` From 3ef144e67e5d59b530466f72cd4fb884d5520b3f Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 21 Oct 2026 02:20:18 +0000 Subject: [PATCH 2/2] Remove the extra blank line left by each Claude Code deletion. Co-authored-by: Kaitian Xie --- docs/guide/01-setup.md | 1 - skills/poteto-help/SKILL.md | 1 - 2 files changed, 2 deletions(-) diff --git a/docs/guide/01-setup.md b/docs/guide/01-setup.md index 53d1491..6ab3c2a 100644 --- a/docs/guide/01-setup.md +++ b/docs/guide/01-setup.md @@ -17,7 +17,6 @@ Grok confirms the plugin is installed. You can also enable it for one repo with enabled = ["pstack"] ``` - ## Pick your models Run: diff --git a/skills/poteto-help/SKILL.md b/skills/poteto-help/SKILL.md index 5240876..2017a5d 100644 --- a/skills/poteto-help/SKILL.md +++ b/skills/poteto-help/SKILL.md @@ -45,7 +45,6 @@ If cost is the worry, say where the tokens go and how to spend fewer. pstack spe This checkout is the Grok Build port. Workflow skills spawn with `spawn_subagent`. Only the parent chat can spawn. `/loop` is a Grok Build built-in. There is no custom mode to pin. Type `/poteto-mode` per task. - ## Start a task with `/poteto-mode` `/poteto-mode` matches the task to a playbook, copies the playbook's steps into the todo list, and runs the other skills as the steps need them. A step it skips stays in the list as `skip: `. A good prompt states the goal and how to tell it's done. It doesn't list skills, because a hand-written sequence tends to drop or reorder steps the playbook would keep. Read [`references/prompting.md`](references/prompting.md) before you help word one. [Guide page 2](../../docs/guide/02-poteto-mode.md) has examples.