skills
Skill27 starsChanged 2 months agoMITView on GitHub
Index of the knowledge layer - which of the five skill directories to load for a given request. Read this first when you don't already know which page you need.
58 other projects use a version of this.
Adopted by
Most recently taken up by
- liweijie0812/tdesign-skillstheir own version, first seen Nov 8, 2026
- shuji-bonji/ai-agent-architecturetheir own version, first seen Nov 8, 2026
- etr/groundworktheir own version, first seen Nov 8, 2026
- jackccrawford/Geniuztheir own version, first seen Nov 4, 2026
- claude-world/director-mode-litetheir own version, first seen Nov 1, 2026
- Jopie64/skills-agent-skilltheir own version, first seen Nov 1, 2026
Other versions58 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 58
- GoogleCloudPlatform/training-data-analyst★ 8.7ksame name
- flexprice/flexprice★ 6.9ksame name
- BerriAI/litellm-agent-platform★ 1.3ksame name
- LiteLLM-Labs/litellm-agent-control-plane★ 1.3ksame name
- ahmadawais/ramadan-cli★ 601same name
- caipe-io/ai-platform-engineering★ 438same name
- cnoe-io/ai-platform-engineering★ 438same name
- kagenti/kagenti★ 303same name
- GoBetterAuth/go-better-auth★ 277same name
- second-state/qwen3_asr_rs★ 253same name
48 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository15 other files it gives its agents.
- AGENTS.mdAGENTS.md
- craftSkill
- game-architectureSkill
- game-audioSkill
- game-axiomsSkill
- game-feelSkill
- game-mechanicsSkill
- game-narrativeSkill
- game-onboardingSkill
- game-playbooksSkill
- game-qualitySkill
- gameSkill
- objectSkill
- threeSkill
- worldSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 3 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 37 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 42
Never create a directory for symmetry.
- Distinctive: line 72
A directory with no index is a bug: If a directory isn't worth an index, it wasn't worth being a directory.
- Distinctive: line 77
After changing a skill, capture a world that exercises it before your change, keep those frames, then capture again after and put the two …
“Common” is measured: kept by at least 6 in 10 of the 37 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
skills/ — the knowledge layer
Five directories, one job each. Load the least you need; nothing here is mandatory reading.
That is the boundary with docs/: everything here is craft you may take or
leave, and the worst case for skipping a page is a weaker world. What you may
not skip lives in docs/ — contract.md is the interface harness/verify.mjs
enforces, and principles.md is the set of axioms every session starts by
re-reading. Those are spec and scar tissue, not technique, which is why they are
not pages in here.
| dir | job | when to load |
world/ | The master workflow. Six steps from a brief to a finished world — works for scenes, games and objects alike, and notes where the three diverge. | Every "make me a ..." request. Start here. |
craft/ | Cross-cutting technique. Form, light, colour, contrast, actors, motion, particles, performance. Applies to every type of world. | While building: pull the one page you need. |
game/ | Game-specific design. Feel, mechanics, onboarding, narrative, audio, genre playbooks, honesty gates. | Only when the thing is playable. |
object/ | Object-specific practice. Cutting a thing into parts, the part contract, and reviewing one part alone with harness/inspect.mjs. | Only when the work is one thing you could hold. |
three/ | Three.js API reference + engine engineering. Lookup, not design. | When you hit a "how do I do X in three.js" wall. |
Why this shape
A world can be a scene, a game, or an object (see worlds/README.md).
Skills are deliberately not mirrored one-per-type — that would force empty
symmetry. Scenes and objects need no design theory beyond world/ + craft/;
games do, because playability is a separate discipline. So:
- workflow (
world/) is universal → one dir - technique (
craft/) is universal → one dir - domain knowledge earns a dir only when a type genuinely needs a deep body
of it → today
game/(playability is its own discipline) andobject/(part-level practice became real onceruntime/studio.js+harness/inspect.mjsexisted and a first assembled object proved the loop — not one line was written before that) - scenes still earn nothing of their own:
world/+craft/is genuinely all they need - reference (
three/) is lookup, kept apart from design on purpose
Never create a directory for symmetry. Never split a doc that has no second reader.
Naming
One rule, no exceptions:
- Every directory has a
SKILL.md— its index. YAML frontmatter withname(= the directory's path in kebab, e.g.game-feel) anddescription(= when to load it), then a table routing problem → page. This is the only file you are expected to read before knowing what you want. - Every other file is a content page: kebab-case
.md, no frontmatter, no numeric prefixes. Reading order belongs in the index, not in filenames. - A page is named with a noun phrase, at most two words — the topic, not a
claim about it.
feedback-latency, notfeedback-within-100ms;timestep, notfixed-vs-variable-timestep;fantasy-test, notchoose-a-fantasy. The page argues its point in its own body; the filename only has to say what the page is about, so you can pick it out of an index. Sentences, imperatives andx-vs-ycomparisons are what produce five-word filenames. - One word when one word is unambiguous.
three/mirrors three.js's own vocabulary (materials,textures,shaders) so the mapping is obvious;hitstop,juicing,roguelikesare already whole concepts. Padding those to two words adds noise, not precision. Two is the ceiling, not the target. - No redundant prefix. The directory is already context: inside
playbooks/a file isroguelikes.md, notdesigning-roguelikes.md. - A page's H1 is
# Topic — one-line claim, and nothing else. NoTheorem:/Axiom #N:label: every page here argues something, so saying so carries no information, and a number in a title is a debt you pay every time you insert or drop a page. - No
README.mdanywhere underskills/. An index here is read by an agent deciding what to load, not by a human browsing a repo — the name should say so. - A directory with no index is a bug. If a directory isn't worth an index, it wasn't worth being a directory.
Rule for editing
After changing a skill, capture a world that exercises it before your change, keep those frames, then capture again after and put the two sets side by side. If the output is not visibly better, the change was bloat — revert it. Skills exist to unlock creativity, not to accumulate checklists.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

