Basic Cohub abilities. Most agents already have these mounted; listed here for reference.
Platform Published by the Neta team.
Official Made by the Neta team.
Verified Reviewed by the Neta team.
Community Shared by a Cohub user. Not reviewed — read SKILL.md before you use it.
identity-draw
Community@xixi/identity-draw
Community skill — not reviewed. It was shared by 西西 and has not been checked by Neta. Read SKILL.md below before letting an agent use it.
Use it in Cohub
Paste this into your agent's chat — it fetches the skill and follows it.
Use the skill: identity-draw. Run `npx -y @neta-art/neta-search-cli@latest skills use @xixi/identity-draw --via site` and follow what it prints. Read its complete output, redirecting it to a temporary file first if necessary, and resolve relative paths from the skill directory it prints.
Install from a terminal
npx -y @neta-art/neta-search-cli@latest skills use @xixi/identity-draw
Summary
Turn your world into a shareable talent draw quiz: roll a talent, answer four questions, and get your identity result.
Players draw a talent with a rarity from common to super rare. One style also gives a companion animal, another gives a golden-finger power.
Four short situation questions drawn from your world's places and events decide how well the player's talent fits.
The result shows a named character type, five stats on a radar chart, an ending and a verdict line with a percentage.
A hidden bonus ending can appear for unlucky runs, and achievements unlock for things like drawing the rarest talent or rerolling.
Works best with a world that has 4 to 6 distinct character types and some vivid locations; the result is a free web page you can share.
SKILL.md
# Identity Draw
Three beats: draw, answer, become. The draw gives a rarity-weighted talent (and, in the animal skin, a companion). Four situation questions add to a hidden score based on the player's stats and whether the talent fits. The result names an archetype, prints five stats on a radar, and can land on a hidden egg ending. One engine, two skins — the user picks `animal` or `cheat`; the rules do not change.
Read this file fully before generating anything or writing files. Resolve relative paths from this skill's directory.
## Language
Reply in the user's language, whatever language this file is in. This holds for every message of the run, above all the final handover; translate what the scripts print, don't paste it. All visible text — title, rarity labels, talent names, questions, options, endings, verdicts — follows the user's language; names the user supplied stay as written.
## When to use / when not
Use when the user wants a repeatable, shareable identity result built from their own world or premise: a talent draw, a "what kind of character are you" test, a companion-species quiz. This skill makes one web Work.
Not for a full visual novel (`create-avg`), a chat roleplay (`create-roleplay`), a personality quiz with no world grounding, or a paid gacha. For those, say what this skill makes and stop.
## Inputs
| Item | Required | Counts as given when |
|---|---|---|
| Premise / world | yes | The current world's material, or a premise the user states in one paragraph. "Make a quiz" alone does not count. |
| Skin | no — default `animal` | The user says "animal language / companion" or "golden finger / cheat". |
| Result archetypes | yes | 4–6 named results with a one-line meaning, or enough world material to write them. |
| Talent pool | yes | 8–16 talents across rarities, or a world-specific list the agent writes and labels as written. |
| Question set | yes | 6–10 situation options from which 4 are drawn, each tied to one of the five stats. |
Ask once, in one message, if the premise or the archetypes are missing, then stop. If both exist, build.
## The engine, in numbers
- **Rarity roll:** weights `N 50, R 30, SR 15, SSR 5` (the plan may change them; they must sum to any positive total). One talent is drawn; the `cheat` skin may draw two.
- **Stats:** five attributes, each an integer `10–96` at draw time. The plan names them; the default set is affinity / patience / field sense / healing / action.
- **Affinity grade:** average `>= 78 → S`, `>= 62 → A`, `>= 46 → B`, `>= 32 → C`, below `32 → D`. The grade is flavour, not the final result.
- **Question score:** `score += base + round((statValue - 50) / 14)`. If the chosen option names a talent the player holds, `+6`; if it names the egg talent, `+8` and set the egg flag.
- **Ending:** if the egg flag is set *and* the score is below 26, use the egg ending. Otherwise pick the ending with the highest `min` that the score reaches; if none, the lowest ending.
- **Result:** ending name, text, adaptation probability (a string such as `87%`), a verdict line, and any achievements whose condition matches (SSR drawn, N drawn, egg, reroll, decline).
- **Question order:** shuffle the pool and take `nodePickCount` (default 4). Never show the same option set twice in one run.
- **Reroll:** allowed, and it must set an achievement flag. It is free here; no payment, no login, no fake paywall.
## Steps
1. **Read the premise.** `neta world` / `neta atom list` and the relevant material, or the user's paragraph. Decide the five stats and the four to six archetypes. Write `$RUN/premise.md`.
2. **Write the content.** `$RUN/plan.json` per `references/plan-schema.md`. Talents need a rarity, a name and one line of effect. Questions need a place, a situation, 3–4 options, and one option that rewards a talent. Endings need a threshold and a rate.
3. **Validate and build.**
```bash
node scripts/build.mjs --plan $RUN/plan.json --out $RUN/site --lang <locale> --check
node /mods/neta/neta work init web works/webs/<slug> --title "<title>"
node scripts/build.mjs --plan $RUN/plan.json --out works/webs/<slug> --lang <locale>
```
4. **Play it three ways.** Serve it and test: a draw with each rarity at least once (temporarily set weights), all four questions advancing, a high-score ending, the egg ending, reroll, and the result on a 375 px screen. Write `$RUN/qa.md`.
5. **Publish and hand over.** See Deliver.
`$RUN` = `_runs/identity-draw/<timestamp>/`.
## Deliver
One browser web Work.
1. Publish: `node /mods/neta/neta work publish web works/webs/<slug> --title "<same title>"`.
2. Open the published entry, draw once and answer one question.
3. In the user's language, state the skin, the five stats and the number of endings, and name the hidden egg condition without spoiling the text.
4. **Hand over with a card — the run is not delivered until this step is done.** One `interaction-components` card on its own line, target `{ "type": "work", "workId": "<id>" }`, the id from the publish output (fallback: `cohubWorkId` in `works/webs/<slug>/meta.json`). Never a made-up id, a folder path, or a `world-file` link to `index.html`.
## Out of scope
- Do not change world settings, delete files that existed before the run, or edit memory, character cards, installed scripts or existing Works.
- Do not add a real payment, a login wall, a server, or a fake "VIP" flow. The source had a mock paywall; this skill deliberately removes it.
- Do not generate character art for every result; the result is typographic and statistical. One background is optional.
- Make only the requested Work; do not act on your own next-step suggestions.
## When to stop
- No premise or no archetypes: ask once, then stop.
- The user asks for a quiz that scores real personality traits or mental health: say this is a fictional identity draw, not an assessment, and stop.
- Asked for a gacha with real purchases: say this skill makes a free fictional draw and stop.
## Gotchas
- The rarity weights are relative, not percentages; if they do not sum to 100 the draw still works. Do not "fix" them to 100 by hand.
- The stat modifier uses `(value - 50) / 14`, not a percentage. A value of 96 adds 3, not 46; the base carries the score.
- The egg ending must require *both* the egg flag and a low score. Requiring only the flag makes it fire on every good run.
- A question's `fav` must reference a talent id that exists in the pool, or the bonus is silently dead. Validate this in the builder.
- Rerolling without resetting the egg flag leaves the previous run's egg armed.
- The radar canvas needs a device-pixel-ratio transform or it looks blurry on phones; resize the backing store, not the CSS size.