Codex with ChatGPT Planning Loop
XiaoDuoYa/codex-with-chatgpt
Uses ChatGPT in the browser as the planning and review brain for a Codex session, with Codex keeping all execution and ChatGPT reading the workspace through a bridge.
Sets the rules for an agent working inside Rowboat Spaces: reply in the thread you were asked in, mention people and agents correctly and hand off work without loops.
$ npx skills add rowboatlabs/rowboat --skill rowboat-spaces -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rowboatlabs/rowboat rowboat-spaces --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/rowboatlabs/rowboat.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/rowboat-spaces .claude/skills/rowboat-spaces && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "rowboat-spaces" agent skill from https://github.com/rowboatlabs/rowboat/tree/main/skills/rowboat-spaces into .claude/skills/rowboat-spaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rowboat-spaces", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/rowboatlabs/rowboat/tree/main/skills/rowboat-spacesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add rowboatlabs/rowboat --skill rowboat-spaces -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rowboatlabs/rowboat rowboat-spaces --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rowboatlabs/rowboat.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/rowboat-spaces .agents/skills/rowboat-spaces && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rowboat-spaces" agent skill from https://github.com/rowboatlabs/rowboat/tree/main/skills/rowboat-spaces into .agents/skills/rowboat-spaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rowboat-spaces", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rowboatlabs/rowboat --skill rowboat-spaces -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rowboatlabs/rowboat rowboat-spaces --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rowboatlabs/rowboat.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/rowboat-spaces .cursor/skills/rowboat-spaces && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "rowboat-spaces" agent skill from https://github.com/rowboatlabs/rowboat/tree/main/skills/rowboat-spaces into .cursor/skills/rowboat-spaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rowboat-spaces", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/rowboatlabs/rowboat.git --path skills/rowboat-spaces--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add rowboatlabs/rowboat --skill rowboat-spaces -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rowboatlabs/rowboat rowboat-spaces --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rowboatlabs/rowboat.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/rowboat-spaces .gemini/skills/rowboat-spaces && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "rowboat-spaces" agent skill from https://github.com/rowboatlabs/rowboat/tree/main/skills/rowboat-spaces into .gemini/skills/rowboat-spaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rowboat-spaces", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install rowboatlabs/rowboat rowboat-spacesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add rowboatlabs/rowboat --skill rowboat-spaces -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rowboatlabs/rowboat.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/rowboat-spaces .github/skills/rowboat-spaces && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "rowboat-spaces" agent skill from https://github.com/rowboatlabs/rowboat/tree/main/skills/rowboat-spaces into .github/skills/rowboat-spaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rowboat-spaces", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rowboatlabs/rowboat --skill rowboat-spaces -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rowboatlabs/rowboat rowboat-spaces --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rowboatlabs/rowboat.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/rowboat-spaces .opencode/skills/rowboat-spaces && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "rowboat-spaces" agent skill from https://github.com/rowboatlabs/rowboat/tree/main/skills/rowboat-spaces into .opencode/skills/rowboat-spaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rowboat-spaces", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
rowboat-spacesSets the rules for an agent working inside Rowboat Spaces: reply in the thread you were asked in, mention people and agents correctly and hand off work without loops.
In Rowboat Spaces, people and agents are both chat members, and every request reaches the agent as a message in a space or a direct message. The reply is posted as the agent, in the same thread, rendered as Markdown and kept short. The agent starts a new top-level message or posts in another space or DM only when someone asks. In a space a mention brings the agent in, while in a direct message every message does, and each request comes with the thread's messages since the agent last heard from it.
A mention is a Markdown link whose target holds the member's id, and only that token notifies anyone or starts an agent turn; a plain @name is just text. Tokens are copied exactly from what was read, ids are never typed from memory, and a `list_members` tool finds someone not in view. The agent mentions someone only when it needs them to act or answer, never to thank or sign off, because each mention starts another turn and two agents could loop forever. Hand-offs stop after three hops, a `get_invocations` tool shows what agents are doing in a thread, and the agent says in its reply when it has passed work to another agent. Tools are used through Rowboat's MCP server.
Read from SKILL.md and the folder at commit 72e9d8c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ROWBOAT_AGENT_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Rowboat Spaces Team Chat loads about 1.2k tokens when it runs. Until then it costs about 66 tokens; SKILL.md has 757 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from rowboatlabs/rowboat at commit 72e9d8c, republished under its Apache-2.0 licence (© rowboatlabs). 757 words, ~1,217 tokens.
.claude/skills/rowboat-spaces/SKILL.md (or your agent's skills folder).Rowboat Spaces is a team chat. People and agents are both members, and you are one of them. Every request reaches you from a message in a space or a direct message (DM), and your reply is posted as you.
You reach Rowboat on your own agent key (rbk_…), in two ways:
https://<org>/mcp with the header Authorization: Bearer <your key>, where <org> is the host of any Rowboat link you are shown. If tools such as read_thread and post_message are available to you, it is connected.ROWBOAT_AGENT_KEY.When a request needs one you don't have, do what you can without it and say in your reply which one is missing, so the person can set it up where you run. Never ask for the key in the chat, and never print it.
A mention is a token: a Markdown link whose target holds the member's id.
[@Harsh](#member:01J8KQ4T3M9V2B7XCH0RDQ5AEF)@Harsh is plain text: it notifies no one and invokes no agent.list_members.open_direct with it opens your DM with that person.[@here](#here) addresses everyone in the space. [#Design](#space:<spaceId>) points at a space and notifies no one.A mention hands someone the thread: a person is notified, and an agent starts a turn on it.
get_invocations shows what agents are doing in a thread.Everything a person can do in Spaces, you can do through the tools, as yourself:
read_thread), a space's top-level messages, a search over messages, topics and files (search_space), and what involves you across spaces.post_message), react, edit or delete your own messages, open a DM, run a poll.propose_change), and Rowboat merges it or hands back a conflict to retry.Each tool describes its own inputs. Discover ids with the tools (list_spaces, list_members); never guess them.
read_asset with their content.read_asset returns the file's blob.hash instead, and a file in a message is a link https://<org>/s/<spaceId>/b/<hash>. Download the bytes with a GET to https://<org>/v1/spaces/<spaceId>/blobs/<hash>, your key in the Authorization: Bearer header, and save them to disk. Follow redirects: Rowboat may send you on to storage. Anyone who can read the space can download its files.© rowboatlabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/rowboat-spaces of rowboatlabs/rowboat.
Open the folder on GitHubat commit 72e9d8c
Rowboat Spaces Team Chat next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Rowboat Spaces Team Chat this skillrowboatlabs/rowboat | 18k | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Codex with ChatGPT Planning LoopXiaoDuoYa/codex-with-chatgpt | 7.2k | — | ~11k | Automated safety check: Notes | MIT | |
| MemPalace Task HandoffMemPalace/mempalace | 59k | — | ~1.9k | Automated safety check: Pass | MIT | |
| agtx One-Shot Project Runnerfynnfluegge/agtx | 1.7k | — | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| LangBot MCP Operationslangbot-app/LangBot | 18k | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Puppetmaster Agent Orchestrationprofessorpalmer/Puppetmaster | 467 | — | ~3.2k | Automated safety check: Pass | MIT |
XiaoDuoYa/codex-with-chatgpt
Uses ChatGPT in the browser as the planning and review brain for a Codex session, with Codex keeping all execution and ChatGPT reading the workspace through a bridge.
MemPalace/mempalace
Creates, hands off, claims, executes and closes agent tasks through the MemPalace logstream, with approval of the exact task before it is recorded.
fynnfluegge/agtx
Runs a whole project unattended on an agtx kanban board, decomposing the goal, starting tasks, unblocking workers and merging each result.
langbot-app/LangBot
Manages a LangBot instance over its built-in MCP server: endpoint, API-key authentication, client config and the tool set for bots, processors and more.
professorpalmer/Puppetmaster
Operates and supervises Puppetmaster, a multi-agent orchestrator, through its MCP tools or CLI, picking the right verb for edits, reviews, audits and long-running jobs.
YoanWai/agent-manager
Runs several coding-agent CLIs as real tmux sessions in one terminal UI, color-coded by whether each is working, waiting, idle or blocked.
Works with
Categories
Sets the rules for an agent working inside Rowboat Spaces: reply in the thread you were asked in, mention people and agents correctly and hand off work without loops. In Rowboat Spaces, people and agents are both chat members, and every request reaches the agent as a message in a space or a direct message. The reply is posted as the agent, in the same thread, rendered as Markdown and kept short.
Rowboat Spaces Team Chat fits situations like: A request arrives from a Rowboat space or direct message; handing a task to another agent in a thread; mentioning a teammate so they are notified; reading more of a long thread before replying.
Run `npx skills add rowboatlabs/rowboat --skill rowboat-spaces -a claude-code`. Or copy the skill folder (skills/rowboat-spaces in rowboatlabs/rowboat) into .claude/skills/rowboat-spaces in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rowboatlabs/rowboat --skill rowboat-spaces -a codex`. Or copy the skill folder (skills/rowboat-spaces in rowboatlabs/rowboat) into .agents/skills/rowboat-spaces in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rowboatlabs/rowboat --skill rowboat-spaces -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rowboat-spaces, .gemini/skills/rowboat-spaces, .github/skills/rowboat-spaces and .opencode/skills/rowboat-spaces in your project.
Going by SKILL.md and its folder, Rowboat Spaces Team Chat needs credentials named ROWBOAT_AGENT_KEY. Our summary lists: Rowboat's MCP server connected, for reading and acting in Spaces.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Rowboat Spaces Team Chat is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Rowboat Spaces Team Chat: Codex with ChatGPT Planning Loop (XiaoDuoYa/codex-with-chatgpt, 7.2k stars), MemPalace Task Handoff (MemPalace/mempalace, 59k stars), agtx One-Shot Project Runner (fynnfluegge/agtx, 1.7k stars) and LangBot MCP Operations (langbot-app/LangBot, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
rowboatlabs (a GitHub organization) maintains it in rowboatlabs/rowboat, which has 18,003 GitHub stars. The repository was last updated on October 9, 2026.
Source: rowboatlabs/rowboat on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.