pcstack

name poteto-mode-conductor
description Conductor only: how to run /poteto-mode and the vendored PStack skills inside a Conductor workspace or session. Triggers solely when the host is Conductor (CONDUCTOR_IS_LOCAL is set or /conductor/bin exists) and a prompt mentions /poteto-mode, poteto-mode, poteto, or PStack. Agents on Cursor or any other host must not invoke this skill.

PStack for Conductor

PStack is vendored byte-identical at .agents/skills/vendor/pstack/. /poteto-mode means read .agents/skills/vendor/pstack/poteto-mode/SKILL.md in full and follow it; this file lists only the Conductor differences. Its empirical claims were probed live on Conductor Cloud, 2026-08-22/23, against a beta CLI and API (conductor 0.1.0) whose shapes may move, so re-check conductor --help, conductor model, and the live tool contracts before relying on a slug, flag, or event path. Resolve a bare skill name to top-level .agents/skills//SKILL.md when that exists, else to .agents/skills/vendor/pstack//SKILL.md; top-level copies win. Where a skill says .cursor/skills/, read .agents/skills/ (.claude/skills and .cursor/skills are committed symlinks to it). Skill discovery is host-specific: claude sessions surface only top-level entries, while codex hosts' catalogs list the vendored pstack entries too (both observed live). CONDUCTOR_IS_LOCAL=0 means you are in a cloud sandbox.

Delegation

Cursor's Task tool does not exist here. The CLI is /conductor/bin/conductor (also on PATH); session create defaults --workspace to CONDUCTOR_WORKSPACE_ID, and workspace create defaults to the current workspace's project. Three layers:

  1. Internal subagent. A subordinate worker owned by your session, sharing its filesystem. The tool is host-specific; inspect its live schema instead of assuming the other host's facts.
    • Codex hosts expose spawn_agent: GPT models from the host inventory, reasoning_effort as a spawn parameter, asynchronous by default with no run_in_background parameter, and four total collaboration slots including the root as measured. A full-history fork inherits the parent's model and effort; a no-history or last-N-turns fork may override both. Children may delegate within the slot limit.
    • Claude hosts expose the Agent tool: claude-family models, run_in_background as a native parameter, no effort parameter on the inspected tool, and five concurrent measured. Full-history forks (subagent_type: "fork") inherit the parent's model; fresh-context subagents may override it within the family, and subagents may delegate further.
    • Neither tool echoes the resolved model or effort back, so parameter acceptance is the only receipt you get.
  2. Conductor session. A separate first-class chat in the same workspace. Any supported agent/model/effort combination from conductor model: the live inventory listed claude, codex, and cursor models, the CLI parses acp but the inventory listed no ACP model, and Conductor documents effort for claude and codex. Fresh transcript. Shares the filesystem and branch, including uncommitted changes. /conductor/bin/conductor --json session create --agent --model --effort --name --message Long prompts go through --message-file . Follow up with message create --session --message .
  3. Conductor workspace. Full isolation: its own checkout, branch, environment, and review path, and creation also creates the first session. Same model surface as sessions. /conductor/bin/conductor --json workspace create --project-id --branch --name --session-name --agent --model --effort --message --branch selects the base branch; Conductor creates an isolated workspace branch and checkout, so uncommitted parent state does not transfer. Clean up with workspace archive (session archive and session cancel for finished or runaway sessions).

Reading a reply. Done means the transcript's last reply answers the prompt; one prompt can emit several progress notes shaped exactly like the answer, and a reply announcing waiting or backgrounded work means keep waiting. Never trust session status for doneness: idle shows before pickup and can show mid-work, so a turn is complete only when the transcript contains the answering reply; working is at most a delivery confirmation. Read with session message --limit 100 and page with --after to the end; the default page is five events and the service clamps pages to 100, so an unpaged read hands you an early intermediate line as the answer. Wait by re-running session message --after on a sleep loop, inside your turn: a first reply can take minutes and a max-effort critic took twenty, and a session that ends its turn on a progress note sits idle until someone nudges it. Observed shapes (beta API, not a contract): each message wraps the agent event in a Conductor envelope at content.rawPayload. Claude replies are Claude Code stream-json, text in assistant events and answers repeated in result events. Codex reply text sits at rawPayload.event.item.text in item.completed events with item.type agentMessage; an item.phase field (final_answer vs commentary) appears inconsistently across readback paths, so select by position per the done rule, never by phase. A working session can still supersede its newest reply, so the done rule decides, not event arrival.

Task parameter map

Cursor Task Conductor
a plain delegate an internal subagent or a Conductor session
subagent_type: "poteto-agent" the delegation prefix above
model --agent, --model, --effort per the table below; on the internal tool, a host-family model (plus reasoning_effort on codex)
run_in_background: true native on claude's Agent tool; codex's spawn_agent is async by default; for sessions, launch and keep working, then confirm the reply per the reading rule (page the transcript, never watch session status)
readonly: true instruct-only. Sessions share the tree, so read-only is a prompt instruction, not an enforcement. Say so when reporting.
environment: "cloud" already true; a separate workspace only when isolation is needed
environment: "local" unavailable
cloud_base_branch workspace create --branch

Models

This whole section is project policy (Vincent's rules), not a Conductor limitation. Map pstack slugs through this table; ignore setup-pstack and ~/.cursor/rules/pstack-models.mdc. Grok slugs go to codex, never through the cursor agent, even though the live cursor inventory lists grok models.

pstack slug Conductor
claude-fable-5-thinking-max claude fable-5, effort max
gpt-5.6-sol-max codex gpt-5.6-sol, effort max
grok-4.6-fast-xhigh codex gpt-5.6-sol, effort xhigh
claude-opus-5-thinking-xhigh claude opus-5-1m, effort xhigh
inherit-parent, auto a full-history internal fork, or do the role yourself

A slug's trailing tier maps to the same-named Conductor effort; when a family's enum lacks the name, use its top effort. conductor --json model lists the live inventory (claude low through max, codex none through ultra). On an actual usage limit, and never preemptively, switch to the equivalent model at the equivalent thinking level in the other provider (codex gpt-5.6-sol high → claude fable-5 high). One exception: fable to sol goes one thinking level higher (claude fable-5 high → codex gpt-5.6-sol xhigh), never the reverse; at the top of the enum, stay at the top.

Also missing

  • Cursor transcript paths (~/.cursor/projects//agent-transcripts/), so the transcript-mining steps of recall, reflect, automate-me, session-pickup, and show-me-your-work's audit step do not work as written. session message reads one raw session transcript; conductor sql (read-only SQL over session_transcripts_view) searches across sessions; session-pickup can still start from a Conductor link, an API transcript, or a pushed branch; steps that use git, GitHub, or live files still work.
  • Cursor's AskQuestion. Under the claude agent use mcp__conductor__AskUserQuestion; the probed codex host had no equivalent.
  • The Comment Sicko subagent type and the deslop, control-cli, and control-ui skills. The hosts expose unslop and skill-creator: run the pre-commit deslop pass with unslop on the branch diff, author skills with skill-creator, and do the control-surface passes yourself.
  • A todo tool. Honor poteto-mode's todolist non-negotiable with a scratch file outside the checkout (for example /tmp/-todo.md), updated as steps complete: it survives context compaction, and any session sharing the workspace can read it. Never put it inside the repo tree, where it could be committed.
添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论