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.
Create or improve a 32×32 pixel-art persona face for the Frontier Faces demo (examples/04-frontier-faces/personas.mjs) — the animated agent avatars rendered by face-term.mjs / the browser…
$ npx skills add Cotal-AI/Cotal --skill pixel-face -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Cotal-AI/Cotal pixel-face --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/Cotal-AI/Cotal.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/pixel-face .claude/skills/pixel-face && 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 "pixel-face" agent skill from https://github.com/Cotal-AI/Cotal/tree/main/.claude/skills/pixel-face into .claude/skills/pixel-face/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixel-face", 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/Cotal-AI/Cotal/tree/main/.claude/skills/pixel-faceType 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 Cotal-AI/Cotal --skill pixel-face -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Cotal-AI/Cotal pixel-face --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Cotal-AI/Cotal.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/pixel-face .agents/skills/pixel-face && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pixel-face" agent skill from https://github.com/Cotal-AI/Cotal/tree/main/.claude/skills/pixel-face into .agents/skills/pixel-face/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixel-face", 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 Cotal-AI/Cotal --skill pixel-face -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Cotal-AI/Cotal pixel-face --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Cotal-AI/Cotal.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/pixel-face .cursor/skills/pixel-face && 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 "pixel-face" agent skill from https://github.com/Cotal-AI/Cotal/tree/main/.claude/skills/pixel-face into .cursor/skills/pixel-face/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixel-face", 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/Cotal-AI/Cotal.git --path .claude/skills/pixel-face--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 Cotal-AI/Cotal --skill pixel-face -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Cotal-AI/Cotal pixel-face --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Cotal-AI/Cotal.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/pixel-face .gemini/skills/pixel-face && 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 "pixel-face" agent skill from https://github.com/Cotal-AI/Cotal/tree/main/.claude/skills/pixel-face into .gemini/skills/pixel-face/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixel-face", 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 Cotal-AI/Cotal pixel-faceInstalls 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 Cotal-AI/Cotal --skill pixel-face -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Cotal-AI/Cotal.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/pixel-face .github/skills/pixel-face && 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 "pixel-face" agent skill from https://github.com/Cotal-AI/Cotal/tree/main/.claude/skills/pixel-face into .github/skills/pixel-face/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixel-face", 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 Cotal-AI/Cotal --skill pixel-face -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Cotal-AI/Cotal pixel-face --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Cotal-AI/Cotal.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/pixel-face .opencode/skills/pixel-face && 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 "pixel-face" agent skill from https://github.com/Cotal-AI/Cotal/tree/main/.claude/skills/pixel-face into .opencode/skills/pixel-face/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixel-face", 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.
pixel-faceCreate or improve a 32×32 pixel-art persona face for the Frontier Faces demo (examples/04-frontier-faces/personas.mjs) — the animated agent avatars rendered by face-term.mjs / the browser…
Pixel Face is an agent skill from Cotal-AI/Cotal. Create or improve a 32×32 pixel-art persona face for the Frontier Faces demo (examples/04-frontier-faces/personas.mjs) — the animated agent avatars rendered by face-term.mjs / the browser <cotal-face / the gallery. Use when the user asks to add a new persona/face/avatar, improve an existing one (hair, eyes, likeness, expression), make it "look more like" someone, or fix a face that "doesn't read". Drives the example's own tools (img2rows.mjs, render-png.mjs) and follows FACE-DESIGN.md; uses a multi-agent variant…
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Design tokens, Sprites and pixel art and Multi-agent orchestration. It works with Model Context Protocol. The repository describes itself as: The open standard for agent coordination. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit bf3a7b2. 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.
Shell commands in SKILL.md call:
nodepython3From 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 no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Pixel Face loads about 1.5k tokens when it runs. Until then it costs about 137 tokens; SKILL.md has 677 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 Cotal-AI/Cotal at commit bf3a7b2, republished under its Apache-2.0 licence (© Cotal-AI). 677 words, ~1,506 tokens.
.claude/skills/pixel-face/SKILL.md (or your agent's skills folder).A persona face is pure data in examples/04-frontier-faces/personas.mjs (one entry per
persona). The same data drives the terminal renderer (face-term.mjs), the browser element
(web/cotal-face.js), and the PNG tool — so edit personas.mjs once and it's live everywhere.
Always work from examples/04-frontier-faces/.
personas.mjs — the entries (rows, colors, glow, mouths, expr, eyes, lines). Single source of truth.FACE-DESIGN.md — the full conventions (grid zones, color keys, eye recipe, visemes). Read it first.tools/img2rows.mjs — rough a reference photo into a 32×32 rows+palette.tools/render-png.mjs — render a 7-state contact sheet (PNG) for review. This is the validator.tools/face-template.mjs — copy-me starter entry that encodes the conventions.gallery.html (all personas, original-vs-pixel) and preview.html?p=<key> (one persona) — served
via python3 -m http.server or tools/serve-wall.mjs; for visual QA.assets/<persona-key>.<ext> — reference photos. Gitignored / local-only — never commit them.Persona key ≠ agent name. The roster uses agent-file basenames; the face comes from each agent's
face: frontmatter: elon→musk, steve→jobs, rayan→ray (others match). Persona keys:
neon david ray sven garry jobs musk dario mira bernie michelle.
. = transparent, face centered ~col 15. Zones: hair 1–9 · brows 10–11
(drawn by expr, not rows) · eyes 12–13 (drawn by eyes()) · nose 14–16 · mouth
18–20 (drawn by mouths) · chin 21–24 · collar 26–31.P light / S mid / s shadow · E pupil · W/w catchlight · R lip ·
m lip-shadow · b brow · h hair · L cyan + M magenta = the cotal glow ribbon
(glow: { L: 8, M: 6 } blurs them). Use rng(row, c1, c2, key) (exported from personas.mjs) for runs.E) on the iris row; row below = catchlight (W/w, OUTER corner)s, INNER). jobs is the "alive" benchmark — match its eye, don't use flat black blocks.open (growing the iris behind glasses looks
wrong). Don't reintroduce a wide eye style.# rough a reference photo → 32×32 rows + palette (macOS: uses sips)
node tools/img2rows.mjs --in assets/<key>.png --w 24 --h 30 [--colors 12] [--x0 4] [--y0 0]
# render a 7-state contact sheet (neutral·happy·sad·angry·surprised·talking·blink) to review
node tools/render-png.mjs --file <draft>.mjs --out /tmp/<key>.png --scale 8 # draft: export const entry = {…}
node tools/render-png.mjs --file personas.mjs --persona <key> --out /tmp/<key>.png --scale 8 # existingA draft module must export const entry = {…} and (if it uses rng in expr/mouths)
import { rng } from '/abs/path/examples/04-frontier-faces/personas.mjs'.
After every render, Read the PNG and compare it to assets/<key>.<ext>. Iterate.
key. If you have a photo, save it as assets/<key>.png and img2rows it for a rough base;
otherwise copy tools/face-template.mjs./tmp/<key>-draft.mjs (export const entry) following the conventions above.render-png → Read the PNG → compare to the reference → iterate until all 7 states read well.personas.mjs (keep the file's style; reuse color keys).personas.mjs + its reference assets/<key>.<ext> and the current render.eyes(), glasses/beard,
expr, mouths, colors of other features, and the collar/glow — change the minimum.render-png the draft → Read → compare → iterate (≥3 passes). Then splice the rows back into
personas.mjs and confirm the diff is limited to that entry.When matching a real person, generate options instead of guessing:
assets/ is gitignored, so
reference photos are absent from a fresh worktree). Give each: the reference path, the current
entry, the conventions, and a distinct direction./tmp/<key>-<n>.mjs draft (never edits personas.mjs — avoids
conflicts), renders it, Reads the PNG, compares to the photo, iterates, and returns the final
rows.render-png contact sheet and the gallery.html original-vs-pixel
view — never blind. Judge: does it read / look like the person across all 5 expressions + blink?jobs is the reference standard. Keep faces front-facing/symmetric unless intentional.assets/ (reference photos stay local). Persona edits to personas.mjs ARE committable.© Cotal-AI, 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 .claude/skills/pixel-face of Cotal-AI/Cotal.
Open the folder on GitHubat commit bf3a7b2
Pixel Face 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 |
|---|---|---|---|---|---|---|
| Pixel Face this skillCotal-AI/Cotal | 313 | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Codex with ChatGPT Planning LoopXiaoDuoYa/codex-with-chatgpt | 7.1k | — | ~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 | |
| Puppetmaster Agent Orchestrationprofessorpalmer/Puppetmaster | 467 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Agent Manager Fleet TUIYoanWai/agent-manager | 578 | — | ~1k | Automated safety check: Pass | Apache-2.0 |
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.
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.
QoderAI/better-harness
Generate, revise, or review complete Harness as Code .harness files when a coding-agent workflow, agent role, skill, tool contract, MCP connection, runtime, or deployment must be compiler-valid and…
Cotal-AI/Cotal
Set up Cotal on this machine: install it, start a local agent mesh (NATS + JetStream), verify it, and put an agent on it.
Cotal-AI/Cotal
Define a multi-agent team for ANY task on ANY system as an explicit deployment topology - pick the shape from the task's dominant risk, specify the runtime/communication/trust layers, place model…
Cotal-AI/Cotal
Run several independent Cotal features concurrently by creating one Git worktree and one spawn-capable mesh manager per feature; each manager staffs a review panel in a dedicated channel, adds one…
Cotal-AI/Cotal
Write the brief for a single independent cold reviewer and grade what it returns, keeping it isolated from the panel that already graded the change.
Works with
Categories
Create or improve a 32×32 pixel-art persona face for the Frontier Faces demo (examples/04-frontier-faces/personas.mjs) — the animated agent avatars rendered by face-term.mjs / the browser…. Pixel Face is an agent skill from Cotal-AI/Cotal.mjs / the browser <cotal-face / the gallery.
Pixel Face fits situations like: the user asks to add a new persona/face/avatar; improve an existing one (hair; make it look more like someone; fix a face that doesnt read.
Run `npx skills add Cotal-AI/Cotal --skill pixel-face -a claude-code`. Or copy the skill folder (.claude/skills/pixel-face in Cotal-AI/Cotal) into .claude/skills/pixel-face in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Cotal-AI/Cotal --skill pixel-face -a codex`. Or copy the skill folder (.claude/skills/pixel-face in Cotal-AI/Cotal) into .agents/skills/pixel-face 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 Cotal-AI/Cotal --skill pixel-face -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pixel-face, .gemini/skills/pixel-face, .github/skills/pixel-face and .opencode/skills/pixel-face in your project.
Going by SKILL.md and its folder, Pixel Face needs the command-line tools its instructions call (node and python3). Our summary lists: Python 3.
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.
Pixel Face 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.5k tokens (SKILL.md is roughly 6k 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 Pixel Face: Codex with ChatGPT Planning Loop (XiaoDuoYa/codex-with-chatgpt, 7.1k stars), MemPalace Task Handoff (MemPalace/mempalace, 59k stars), agtx One-Shot Project Runner (fynnfluegge/agtx, 1.7k stars) and Puppetmaster Agent Orchestration (professorpalmer/Puppetmaster, 467 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Cotal-AI (a GitHub organization) maintains it in Cotal-AI/Cotal, which has 313 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 9, 2026.
Source: Cotal-AI/Cotal on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.