roblox-brain
AGENTS.md150 starsChanged 51 days agoMITView on GitHub
roblox-brain is a skills-only repository for AI coding agents working with Roblox Studio. 29 curated skills in four libraries (core, gameplay, design, tools), covering Luau, Roblox engine APIs, architecture, game design, security, monetization, localization, and workflow. Distributed via npx skills add TabooHarmony/roblox-brain; install a single library with npx skills add TabooHarmony/roblox-brain/skills/core (or another library path). No plugin code. No build system. No npm package. Just SKILL.md files. Each skill follows progressive disclosure. Compatible hosts discover skill names and descriptions, then…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,700 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository29 other files it gives its agents.
- roblox-architectureSkill
- roblox-collaboration-modeSkill
- roblox-dataSkill
- roblox-luau-coreSkill
- roblox-luau-patternsSkill
- roblox-luau-typesSkill
- roblox-networkingSkill
- roblox-performanceSkill
- roblox-securitySkill
- roblox-server-dataSkill
- roblox-analyticsSkill
- roblox-game-designSkill
- roblox-growth-designSkill
- roblox-monetizationSkill
- roblox-player-psychologySkill
- roblox-animation-vfxSkill
- roblox-audioSkill
- roblox-buildingSkill
- roblox-cameraSkill
- roblox-guiSkill
- roblox-inputSkill
- roblox-lightingSkill
- roblox-localizationSkill
- roblox-npc-aiSkill
- roblox-physicsSkill
- roblox-cloudSkill
- roblox-publish-checklistSkill
- roblox-studio-mcpSkill
- roblox-toolingSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
24 rules. About 0 are common, 7 are distinctive, and 17 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
17
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 7
No plugin code. No build system.
- Very specific: line 31
Every SKILL.md must have:
- Very specific: line 62
Create skills/<core|gameplay|design|tools>/roblox-<name>/SKILL.md following the structure above
- Very specific: line 63
Create that skill's references/full.md with complete reference (under 50,000 chars)
- Distinctive: line 64
Add a row to README.md in the appropriate skills table and update the skill count badge
- Very specific: line 65
Run python3 scripts/validate_skills.py: must pass
- Very specific: line 66
If the skill makes API claims, add focused entries to scripts/api_drift_registry.yaml
- Very specific: line 70
Run python3 scripts/validate_skills.py before committing.
- Distinctive: line 94
All skill content must trace to a real source: official Roblox creator-docs, repositories with a compatible license or explicit reuse …
- Very specific: line 97
Use sources: [original] for synthesis/opinion/design heuristics
- Distinctive: line 98
When reusing material from external repos, preserve attribution and license terms alongside the material.
- Very specific: line 99
Use raw.githubusercontent.com URLs (not github.com/blob/) for source links
- Very specific: line 110
Keep SKILL.md lean; if it hits 2,500+ chars, move detail to references/full.md
- Very specific: line 112
No orphaned reference files.
- Distinctive: line 131
Don't add plugin code, build systems, or npm packaging (this is skills-only)
- Distinctive: line 132
Don't write skills from training data without verifying against current Roblox docs
- Distinctive: line 133
Don't break cross-references when renaming or splitting skills
- Very specific: line 134
Don't commit without running python3 scripts/validate_skills.py
- Very specific: line 135
Don't leave sources: []: use [original] for synthesis
- Very specific: line 136
Don't use `
lua; use`luau - Very specific: line 137
Don't add ## Overview sections.
- Very specific: line 138
Don't create standalone reference files.
- Distinctive: line 139
Don't exceed 50,000 chars in reference files
- Very specific: line 140
Don't use github.com/blob/ URLs.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md: Guide for AI Agents and Contributors
What This Repo Is
roblox-brain is a skills-only repository for AI coding agents working with Roblox Studio. 29 curated skills in four libraries (core, gameplay, design, tools), covering Luau, Roblox engine APIs, architecture, game design, security, monetization, localization, and workflow. Distributed via npx skills add TabooHarmony/roblox-brain; install a single library with npx skills add TabooHarmony/roblox-brain/skills/core (or another library path).
No plugin code. No build system. No npm package. Just SKILL.md files.
Architecture: Progressive Disclosure
Each skill follows progressive disclosure. Compatible hosts discover skill names and descriptions, then load the selected entry point and references as needed.
- Skill metadata: the host discovers names and descriptions from each
SKILL.md - SKILL.md (~600 tokens, max 3,000 chars): quick reference, enough for most tasks
- references/full.md (max 50,000 chars): detailed guidance and examples for full skills
Thin routing skills declare kind: router and may omit references/full.md when
their entire job is selecting the right domain skills.
The README is the human-facing catalogue. Skill hosts discover the individual SKILL.md files directly.
skills/gameplay/roblox-gui/
├── SKILL.md ← Quick Reference (under 3,000 chars)
└── references/
└── full.md ← Full Reference (under 50,000 chars)Skill File Structure
Every SKILL.md must have:
---
name: roblox-<name>
description: >
One-line description, under 150 chars.
when_to_use: "Optional trigger phrases: the words users type when they need this skill (fix, change, review, audit, symptoms), under 300 chars."
last_reviewed: YYYY-MM-DD
sources:
- https://create.roblox.com/docs/... # or [original] for synthesis
---
# Skill Title
## When to Load
1-3 sentences on when an agent should load this skill. Include cross-refs to related skills in backticks.
## Quick Reference
Dense table or list format. The most useful info inline. Code examples in ```luau blocks.
> Full code examples and API tables: [references/full.md](references/full.md)Required sections: ## When to Load, ## Quick Reference
Banned sections: ## Overview, ## 1. Overview, ## Full Reference (use references/full.md)
Adding a New Skill
- Create
skills/<core|gameplay|design|tools>/roblox-<name>/SKILL.mdfollowing the structure above - Create that skill's
references/full.mdwith complete reference (under 50,000 chars) - Add a row to
README.mdin the appropriate skills table and update the skill count badge - Run
python3 scripts/validate_skills.py: must pass - If the skill makes API claims, add focused entries to
scripts/api_drift_registry.yaml
Validation
Run python3 scripts/validate_skills.py before committing. Checks:
- SKILL.md under 3,000 chars (the
when_to_useline is not counted) when_to_use, when present, is a non-empty string under 300 chars- references/full.md under 50,000 chars
- Description under 150 chars
- Required frontmatter: name, description, last_reviewed, sources
- sources field is not empty (use
[original]for synthesis) ## When to Loadsection present## Quick Referencesection present- No
## Overviewor## 1. Overviewin SKILL.md - No
## Full Referencein SKILL.md - No
lua code blocks (useluau) - references/full.md exists unless
kind: router - Cross-references (
`roblox-X`in backticks) point to existing skills
Additional CI checks:
python3 scripts/verify_api_drift.py: API claims against live Roblox creator-docspython3 scripts/verify_source_urls.py: source URLs are reachablepython3 scripts/verify_version_pins.py: tool version pins (non-blocking)
CI runs on all branches (.github/workflows/ci.yml).
Sourcing Rules
- All skill content must trace to a real source: official Roblox creator-docs, repositories with a compatible license or explicit reuse permission, or original work
- Training-data-only content is unacceptable. Verify API references against current docs
- Track sources in the
sources:frontmatter field - Use
sources: [original]for synthesis/opinion/design heuristics - When reusing material from external repos, preserve attribution and license terms alongside the material; never copy without permission
- Use
raw.githubusercontent.comURLs (notgithub.com/blob/) for source links - Mark temporal claims with event dates:
<!-- temporal: 2026-06 -->
Conventions
- Descriptions must trigger on changing, fixing, debugging, reviewing and auditing, not only on building. Hosts match the user's words against
description+when_to_use, and bug reports rarely say "implement". Put the main use case first, and put the symptoms users describe ("overlaps on mobile", "data not saving") inwhen_to_use. - Luau code blocks use
luau (notlua) - API names in backticks:
UserInputService,RemoteEvent - Cross-skill references in backticks:
`roblox-networking`,`roblox-data` - Last reviewed date: update when you verify content against current docs
- Keep SKILL.md lean; if it hits 2,500+ chars, move detail to references/full.md
- Mark illustrative reference code as illustrative and require project-specific verification
- No orphaned reference files; all content goes in
references/full.md
Key Files
| File | Purpose |
skills/{core,gameplay,design,tools}/*/SKILL.md | Quick reference for each skill |
skills/{core,gameplay,design,tools}/*/references/full.md | Full reference for each non-router skill |
scripts/validate_skills.py | Validation script for skill structure |
scripts/verify_api_drift.py | API drift checker against live creator-docs |
scripts/verify_source_urls.py | Source URL reachability checker |
scripts/verify_version_pins.py | Tool version pin monitor (non-blocking) |
scripts/mirror_creator_docs.py | Refresh the local docs cache for API checks |
scripts/api_drift_registry.yaml | Registry of API claims to verify |
requirements.txt | Python dependencies (pyyaml) |
.github/workflows/ci.yml | CI: validation + drift + source URLs + install test |
What NOT to Do
- Don't add plugin code, build systems, or npm packaging (this is skills-only)
- Don't write skills from training data without verifying against current Roblox docs
- Don't break cross-references when renaming or splitting skills
- Don't commit without running
python3 scripts/validate_skills.py - Don't leave
sources: []: use[original]for synthesis - Don't use
lua; useluau - Don't add
## Overviewsections; use## When to Load→## Quick Referencedirectly - Don't create standalone reference files; all content goes in
references/full.md - Don't exceed 50,000 chars in reference files
- Don't use
github.com/blob/URLs; useraw.githubusercontent.com
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.

