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.
fourteen-day-job
Community@u252119f2fa58/fourteen-day-job
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: fourteen-day-job. Run `npx -y @neta-art/neta-search-cli@latest skills use @u252119f2fa58/fourteen-day-job --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 @u252119f2fa58/fourteen-day-job
Summary
Turn your world's workplace into a playable two-week holiday job game with orders, mentors and an ending that remembers what you made.
You play a temp for 14 days: two actions a day to craft or gather, while buying and delivering are free.
Nine craftable goods in three series, each with a basic, mid and advanced piece. Better recipes open as mentors warm up to you.
A courier brings orders, at most two open at once. A letter left three days goes stale and costs 6 coins, but the game never dead-ends.
The ending names what you actually delivered, not your gold. It works best with a named shop or studio plus two characters who could teach.
Comes as one web game you can play on desktop or phone, with a drawn map of the workplace and item and mentor pictures.
SKILL.md
# Fourteen-Day Job
A fourteen-day job is a small economic story: the player arrives as a temp, learns three tiers of a craft, takes orders from a courier, and leaves with a shelf of finished work and two people who remember their name. The page is a playable loop, not a dashboard. Every number below is tuned: two actions a day, three days before a letter goes stale, nine products, two affinity gates per craft line.
Read this file fully before writing files or generating assets. Resolve relative paths from this skill's directory.
## Language
Reply in the user's language, whatever language this file is in — every message, the final handover included. Translate what scripts print instead of pasting it. Everything the player sees — Work title, room labels, buttons, wishes, dialogue, ending — follows the user's language. Write one language into `src/data.js`; do not leave two.
## When to use / when not
Use when the user asks for a holiday job, a part-time job sim, a fourteen-day management game, a craft-shop loop with orders and affinity, or "a small game where my OC works somewhere for two weeks". Not for a branching visual novel or a stat-heavy RPG — say this skill builds a fourteen-day loop and stop.
## Inputs
| Item | Required | Counts as given when |
|---|---|---|
| Workplace | yes | The user names a shop, studio, guild, café or other place, or says "in this world" and a place material exists |
| Craft / product line | no — default: the workplace's own goods | The user names what is made; otherwise derive 3 series × 3 tiers from research |
| Cast | no — default: two mentors + one courier from the world | The user names who teaches, who delivers, who the player is |
| Tone | no — default warm and low-stakes | The user says cozy, melancholy, comic, etc. |
| Language | no — default the user's language | The user writes in a language |
If the workplace is missing, ask once for the place or the world material, then stop. If everything required is given, do not ask and do not wait: build through to delivery.
## The loop (do not re-tune without a reason)
| Rule | Value | Why |
|---|---|---|
| Holiday length | 14 days | Long enough to unlock advanced work, short enough to finish in one sitting |
| Actions per day | 2 | Making and gathering cost an action; buying and delivering do not |
| Open orders | max 2 | Keeps the tray readable and forces a choice |
| Order deadline | 3 days | A stale letter leaves and costs 6 coins; the loop never dead-ends |
| Start gold | 20 | Enough for two basic pieces after the first delivery |
| Decline fee | 6 coins | A real cost, not a punishment |
| Products | 9 (3 series × 3 tiers) | Each series has a basic, intermediate, advanced piece |
| Unlock | intermediate at affinity 3, advanced at 6 | Affinity is earned by delivering, not by grinding |
| Actions | making/gathering only | Buying and delivering stay free so the player can always close a loop |
| Ending | 3 tiers: 0 / 6 delivered / 9 delivered + 12 affinity | The ending names what was actually delivered, not a score |
Read `references/loop-spec.md` for the full state machine, order weighting and failure cases.
## Steps
1. **Research the workplace and the three series.** Read the place material and the cast cards. Write `works/webs/<slug>/notes/research.md`:
- 10–15 facts about the place: what is made, who buys it, what the room smells like, one rule the owner never breaks;
- three product series that the place would actually sell, each with basic / intermediate / advanced versions and a real material cost;
- two mentors with different crafts and a reason they would teach a temp;
- one courier whose job is to bring letters, not to be a mascot.
2. **Copy the template and write `src/data.js`.** This is the only content file.
```bash
node /mods/neta/neta work init web works/webs/<slug> --title "<title in the user's language>"
cp -r .agents/skills/fourteen-day-job/template/. works/webs/<slug>/
```
Fill `UI`, `CHARACTERS`, `MATERIALS`, `RECIPES`, `UNLOCK`, `MAP`, `LINES`, `ENDINGS`. Keep the numeric rules above. Set `UI.example: false`.
3. **Generate the map and the asset sheet.** Edit `assets/plan.json` with the researched prompts (the fixed 4×4 cell order is documented in `references/asset-prompts.md`), then:
```bash
node scripts/gen-assets.mjs works/webs/<slug>
bash scripts/cut_sheet.sh works/webs/<slug>/assets/sheet.png works/webs/<slug>/assets
```
The map is one wide image (4:3); the sheet is one image with 16 cells (9 products + 5 materials + 2 mentor portraits). The cut scripts need ImageMagick (`convert`); Node is already in the sandbox. If a generation is busy, the same command can be rerun; finished outputs are skipped. If the map or a portrait is missing, the page falls back to a plain background and a hidden portrait — it still plays, but do not ship that way.
4. **Check the build.**
```bash
node scripts/verify.mjs works/webs/<slug>
```
It writes `verify-report.json` in the Work folder. Fix every FAIL and rerun.
5. **Play one full run in the browser.** At 1440×900 and 390×844: read the first letter, make a basic piece, deliver it, buy a material, gather herbs, clock off, take the summary, advance a day, and deliberately let one letter go stale. Check: the day counter never exceeds 14, the action count never goes negative, a delivered piece leaves the shelf, affinity only rises on delivery, the ending appears on day 14, and there are no console errors.
6. **Publish and hand over.** See Deliver.
## Deliver
A **web Work**:
```bash
node /mods/neta/neta work publish web works/webs/<slug> --title "<title in the user's language>"
```
Then, as the last step — the run is not delivered until it is done:
7. **Hand over with a card.** 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 or a `world-file` link to `index.html`. Then one or two lines on what it is, in the user's language.
## Out of scope
- Do not change world settings or delete files that existed before the run.
- Do not modify memory, character cards, installed scripts, existing Works or roleplays.
- Make only the game Work; no extra endings, shop pages or spin-off assets.
- Do not add combat, levels or a branching narrative. The loop is the product.
- Do not use a real person's name, a real shop's logo or a real brand as the workplace.
## When to stop
- No workplace and no world material: ask once, then stop.
- The requested loop is not a job loop (e.g. a dating sim or a combat game): say this skill builds a fourteen-day job loop and stop.
- The world has no characters at all: build with two placeholder mentors only if the user explicitly allows it; otherwise say the cast is missing and stop.
## Gotchas
- **Two actions, not three.** Three turns the game into a grind and the 14 days stop feeling short. Keep buying and delivering free.
- **Order weighting:** basic 3, intermediate 2, advanced 1. Without weighting, day 1 can hand out an advanced order the player cannot make.
- **Affinity only on delivery.** If affinity also comes from talking, the player can unlock everything without playing the loop.
- **A stale letter must cost coins, not the run.** Never block the day because an order expired.
- **The ending is read from `state.stats.delivered` and total affinity**, not from gold. Gold is a means, not a score.
- **The asset sheet is row-major and fixed.** A swapped cell gives the wrong icon to the wrong recipe; the names live in `assets/sheet-map.txt`.
- **The map image is 4:3 and the rooms are percentage rectangles.** Regenerating the map without moving the hotspots leaves labels floating in the wrong room.