Repository navigation
pstack: support fx as a harness #1013
Copy link
Copy link
Open
Description
I'd like to use pstack in fx (https://fx.sh), a terminal coding agent from Vercel. fx reads standard SKILL.md folders, so most of pstack loads already. A few gaps stop poteto-mode from working as written.
What I tested
pstack 0.15.34 (519d36a), fx 0.0.15, macOS. I ran fx ask from inside harness/pstack/claude-code, so fx found the tree's skills/ folder as workspace skills. Nothing was installed globally.
- Works: all 58 skills show up in fx's skill catalog and load in full, including poteto-mode, how, and setup-pstack.
- fx ignores disable-model-invocation. 57 of 58 skills set it, so fx can pick any of them on its own.
- 23 skills start with "In Claude Code, read the Claude Code adapter". An fx agent can take that as not applying to it. fx's skill tool also refuses ../../docs/harness/claude-code.md as a skill resource (InvalidSkillResourcePath) because the path points outside the skill folder.
- The Cursor names have no fx mapping: Task, subagent_type (poteto-agent, comment-sicko, generalPurpose), readonly, AskQuestion, todo lists, and pstack-models.mdc.
How the Cursor names map to fx
- Task: fx's subagent tool, either a one-off run or a named persistent agent. It takes a model and effort per child. There is no subagent_type, and fx subagents cannot spawn their own subagents.
- poteto-agent and comment-sicko: fx has no agent files. The equivalent is a subagent whose brief says to read the agent's markdown first.
- readonly: true: fx has no documented read-only flag, so the brief says "do not edit files".
- AskQuestion: ask_user_question.
- Todo lists: fx has no todo tool, so the list lives in the reply.
- Rules: AGENTS.md. Skills: ~/.fx/skills or .fx/skills.
- Cursor-only features (Bugbot, Automations, cloud agents, /loop, custom modes): skip with a one-line note, as the Claude Code adapter does.
Question
Which shape would you accept?
- An fx adapter (pstack/docs/harness/fx.md) plus README steps that point fx at the existing claude-code tree, like the Codex findings in pstack: support Codex installation and native agents #734.
- A generated harness/pstack/fx tree, built on the multi-harness generator in feat(pstack): install pstack in Google Antigravity from a generated tree #953.
- A harness-neutral adapter line in place of "In Claude Code, read...", so one tree can serve several harnesses.
I can open the PR for whichever you prefer.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
deanrie commentedon Oct 29, 2026
Hey @DarlingtonDeveloper, your counts match
mainexactly (57 of 58 skills carrydisable-model-invocation: true, 23 open with the Claude Code adapter line), so the gaps are real. One fact that orders your three shapes:scripts/generate-pstack-harness-trees.mjsonmainis single-tree (const TREE = "claude-code",const ADAPTER = "docs/harness/claude-code.md"); the multi-harness version only exists inside @aryamantepal's #953 (Antigravity tree, 100 files, still open). So shape 2 depends on #953 landing first, shape 1 works now against the tree that is already checked in, and shape 3 is the only one that removes the "In Claude Code, read ..." sentence that fx trips over rather than adding a parallel copy of it. The model-family half of the question (fx has nosubagent_type, so the adversarial seats collapse the same way they do in Claude Code) is the subject of #809; worth deciding both together.