deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Portable agent skills for building, publishing, and remixing games on
Paean Apps Square (*.clide.app / 8x.gg) — usable from Zero CLI,
Claude Code, and Codex (or any agent that can read a SKILL.md and run a Node script).
| Skill | What it does |
|---|---|
| paean-skills-update | Pull or sync this 8x-skills repo and reinstall/refresh the Paean skill files for Zero CLI, Claude Code, or Codex projects. |
| paean-zero-setup | Install Zero CLI and sign in to Paean so publish/remix scripts can read local credentials from Zero or a Paean token file. |
| paean-sdk | Add Paean platform capabilities — cross-device cloud save and a shared global leaderboard — to a static app/game via the Paean Web SDK. Ships a verified, framework-agnostic integration module + a mock host bridge for offline testing. Handles the cross-host edge cases (per-scope grants, return-shape differences, late bridge injection, offline queue) and degrades cleanly to localStorage in a plain browser. |
| paean-publish | Publish a static frontend (top-level index.html) to a Paean workspace, deploy it to a *.clide.app URL, and list it in Paean Apps Square. Picks a meaningful title, ensures .clideignore / clide.json / LICENSE are complete, scans for secrets, and forwards remix lineage. |
| paean-remix | Download the source of one or more published games by hash and scaffold a new game that remixes them, recording a multi-parent remix graph (e.g. h1 gameplay + h2 art + h3 theme) so upstream creators can be credited. |
The publish/remix skills ship as self-contained Node scripts — no npm install, no external
dependencies beyond the Node runtime and a system zip/unzip. The paean-sdk skill ships
browser reference files (no server, no build) you copy into your app.
8x-skills/
├── zero/
│ ├── paean-skills-update/ SKILL.md
│ ├── paean-zero-setup/ SKILL.md
│ ├── paean-sdk/ SKILL.md + reference/{paean-platform,mock-bridge}.js + test-example.mjs
│ ├── paean-publish/ SKILL.md + scripts/publish.mjs
│ └── paean-remix/ SKILL.md + scripts/remix.mjs
├── claude-code/
│ ├── paean-skills-update/ SKILL.md
│ ├── paean-zero-setup/ SKILL.md
│ ├── paean-sdk/ SKILL.md + reference/{paean-platform,mock-bridge}.js + test-example.mjs
│ ├── paean-publish/ SKILL.md + scripts/publish.mjs
│ └── paean-remix/ SKILL.md + scripts/remix.mjs
└── codex/
├── paean-skills-update/ SKILL.md
├── paean-zero-setup/ SKILL.md
├── paean-sdk/ SKILL.md + reference/{paean-platform,mock-bridge}.js + test-example.mjs
├── paean-publish/ SKILL.md + scripts/publish.mjs
└── paean-remix/ SKILL.md + scripts/remix.mjs
All three variants ship the same scripts and reference files; only the SKILL.md
packaging differs. The zero/ and claude-code/ variants use YAML frontmatter
(name: + description:) for auto-loading — Zero CLI discovers skills from
.zero/skills/ / ~/.zero/skills/, Claude Code from .claude/skills/ /
~/.claude/skills/. Codex has no skill loader and references the files explicitly.
fetch).zip on PATH for publishing; unzip on PATH for remixing (both ship with macOS and most
Linux distributions).Install Zero CLI and log in to Paean (recommended):
npm install -g @paean-ai/zero-cli
zero provider clear
zero login
zero auth status --json
The publish/remix scripts read the Paean credentials saved by Zero in ~/.zero/credentials.json.
If browser login is not possible, set your Paean JWT via the environment, or a credentials file:
export PAEAN_AUTH_TOKEN="<your-paean-jwt>"
# or: ~/.paean/credentials.json → {"token":"<your-paean-jwt>"}
The scripts also read ~/.zero/credentials.json if present. Never paste the token into the
chat — keep it in the environment or the credentials file. Optional: PAEAN_API_BASE
overrides the API endpoint (default https://api.paean.ai). ZERO_API_BASE /
ZERO_CLI_BASE_URL are only honored when they point at a *.paean.ai host — in particular
ZERO_CLI_BASE_URL is often set to the LLM gateway (an Anthropic-compatible provider URL),
which is not a Paean API address and is ignored.
Zero discovers skills from a skills/ directory — project .zero/skills/ or global
~/.zero/skills/. Copy each Zero skill directory in:
mkdir -p ~/.zero/skills
cp -r 8x-skills/zero/paean-publish ~/.zero/skills/
cp -r 8x-skills/zero/paean-remix ~/.zero/skills/
cp -r 8x-skills/zero/paean-zero-setup ~/.zero/skills/
cp -r 8x-skills/zero/paean-sdk ~/.zero/skills/
cp -r 8x-skills/zero/paean-skills-update ~/.zero/skills/
Zero auto-offers a skill when a request matches its description; you can also invoke it
explicitly ("use the paean-publish skill").
Copy a skill directory into your skills folder (project .claude/skills/ or global
~/.claude/skills/):
cp -r 8x-skills/claude-code/paean-publish ~/.claude/skills/
cp -r 8x-skills/claude-code/paean-remix ~/.claude/skills/
cp -r 8x-skills/claude-code/paean-zero-setup ~/.claude/skills/
cp -r 8x-skills/claude-code/paean-skills-update ~/.claude/skills/
Claude Code auto-discovers the SKILL.md and offers the skill when relevant. You can also
invoke it explicitly ("use the paean-publish skill").
Codex has no frontmatter skill loader, so reference the skill explicitly. Either keep this
repo in your project and add a pointer to your AGENTS.md:
## Skills
- To update Paean skills, follow `8x-skills/codex/paean-skills-update/SKILL.md`.
- To install Zero CLI or log in to Paean for publishing, follow `8x-skills/codex/paean-zero-setup/SKILL.md`.
- To publish to Paean Apps Square, follow `8x-skills/codex/paean-publish/SKILL.md`.
- To remix Paean Apps Square games, follow `8x-skills/codex/paean-remix/SKILL.md`.
…or point Codex at the file directly in your prompt.
From the project you want to publish:
# Preview, then publish under a good name
node <skill-dir>/scripts/publish.mjs --dry-run
node <skill-dir>/scripts/publish.mjs --yes --title "Neon Drift Racer" --category racing
To remix existing games into a new one:
# Download h1's gameplay, h2's art, h3's theme; then build the new game and publish it
node <skill-dir>/scripts/remix.mjs --yes h1=gameplay h2=art h3=theme --dir my-remix
Run any script with --help for full usage. See each skill's SKILL.md for the complete
workflow the agent should follow.
clide.json)paean-remix writes a clide.json manifest that records lineage in two compatible shapes at
once:
{
"schemaVersion": 1,
"title": "Neon Drift Racer",
"category": "racing",
"tags": ["neon", "racing"],
"license": "MIT",
"remix": {
"parent": "h1", // tree form: primary upstream
"parents": [ // graph form: the remix DAG
{ "hashKey": "h1", "role": "gameplay", "weight": 1 },
{ "hashKey": "h2", "role": "art", "weight": 1 },
{ "hashKey": "h3", "role": "theme", "weight": 1 }
]
}
}
remix.parent keeps tree-only consumers (and the backend remixOfHashKey primary-parent
field) working, while remix.parents[] is the adjacency list of the multi-parent remix DAG —
each direct upstream with the aspect it contributed and a suggested revenue weight.
paean-publish forwards the direct parent hashKeys as remixOfHashKeys, so zero-api records
SquareRemixEdge rows for the full graph.
--yes) and warn
before listing.index.html and
carry a project LICENSE; remixes should also record direct parents in clide.json.favicon.svg and an 800x400 banner.jpg. The publish script
warns when either is missing or the banner size is wrong, but does not block publishing..remix-sources/) and the clide.json manifest are
excluded from the published site by default.MIT — see LICENSE.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。