new-system
Scaffold a secure client/server gameplay system as one vertical slice: types, rules module, remotes, server system, client controller, spec.
Skill by JashanMaan28
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jashanmaan28-new-system
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/new-system
What's inside
- Skill name
new-system- Description
- Scaffold a secure client/server gameplay system as one vertical slice: types, rules module, remotes, server system, client controller, spec. Use when adding a feature like a shop, inventory, ability, quest or daily reward.
- License
- MIT
- Instructions
- 39 lines in SKILL.md · view on GitHub
Files (4)
- ATTRIBUTION.md
- LICENSE
- SKILL.md
- templates.md · references/
SKILL.md (first lines)
# New gameplay system (vertical slice)
Generate the system named in `$ARGUMENTS` (PascalCase, e.g. `DailyBonus`). A system is never one file: generate all pieces together so nothing is left unvalidated, untyped or untested.
## Before generating
1. **Read the project.** `default.project.json` (where `src/shared`, `src/server`, `src/client`, `tests` map), the server/client entry points, any existing `src/shared/Types.luau`, remotes, networking wrapper, signal library, data layer (ProfileStore, a `PlayerData` module), rate limiter and QA commands. **Match existing conventions**; use what's there instead of creating parallel versions (`roblox-architecture`, `roblox-kit` "reuse before adding").
2. **Pin down the rules.** If costs, cooldowns, limits or rewards are ambiguous, ask the one or two questions that change the code. Default everything else into the rules module's `Config` table, where it's easy to tune.
3. **Decide persistence.** If state must survive rejoin, it goes through the project's data layer (`roblox-data`). If there is none, keep state in memory and flag it as not persisted rather than writing raw DataStore calls inline.
## The pieces
Code for each piece, ready to copy with `__Name__` replaced: [references/templates.md](references/templates.md).
| # | File (kit layout) | Role |
|---|---|---|
| 1 | `src/shared/Types.luau` | Shared payload/snapshot types. Create the file if missing; otherwise add to it |
| 2 | `src/shared/__Name__Logic.luau` | Pure rules + `Config`: no services, no clock reads, no `math.random` (time and RNG are parameters). Returns a new state or `nil, reason` |
| 3 | `src/shared/Remotes/__Name__Request.model.json`, `__Name__Sync.model.json` | RemoteEvents as Rojo files, visible in Explorer. Use the project's own remote convention if it has one |
| 4 | `src/server/RateLimit.luau` | Per-player token bucket, only if the project has no limiter |
| 5 | `src/server/Systems/__Name__.luau` | Owns all state in `{ [Player]: State }`, cleaned on `PlayerRemoving`. Handler ladder: **rate limit → type → range → permission/plausibility → mutate → replicate**. Public API (`add`, `reset`, `getState`) that gameplay, QA and other systems share. `init()` wires, `start()` runs |
| 6 | `src/client/Controllers/__Name__Controller.luau` | Renders server snapshots, sends requests, computes nothing authoritative. Optimistic UI only if it reconciles with the next snapshot |
| 7 | `tests/__Name__Logic.spec.luau` | TestRunner spec for the rules: happy path, every rejection reason, boundaries (0, negative, fractional, NaN, ±inf, max+1), immutability |
| 8 | `src/server/init.server.luau`, `src/client/init.client.luau` | Require the new modules (init all, then start all). Edit the existing bootstrap if there is one |
| 9 | QA commands (`roblox-testing`) | Server-gated entries calling the public API: grant, reset, trigger edge cases |
Security non-negotiables (`roblox-security`, `roblox-networking`): the server computes every outcome from its own data; every remote argument is validated (type, NaN/inf, integer, range, length, ownership) before use; handlers drop bad input silently; late joiners get a full snapshot on join; no RemoteFunction the server invokes on a client.
## After generating
1. Run `check` (`node "${CLAUDE_PLUGIN_ROOT}/scripts/rbx-check.mjs"`) and fix everything it reports.
2. Run the tests (`roblox-testing`): Studio `execute_luau` (Server, during a playtest) with the TestRunner, or `cloud_run_tests`. Report the counts.
3. If Studio is connected, playtest the happy path and one rejection (`studio-mcp`); otherwise say the playtest is still owed.
4. Summarise in 2–3 bullets: what the server validates, what an exploiter could try, and why it fails.
5. Flag any deliberate scope cuts (e.g. "not persisted yet", "no receipt idempotency: needed before selling this for Robux", "single-player only, not multi-client tested").
Deliver complete new files and targeted edits to existing ones (Types, entry points, QA list). Don't rewrite unrelated code.From JashanMaan28/roblox-agent-kit, MIT.
More from JashanMaan28/roblox-agent-kit
- 0.570score
build-game
JashanMaan28
Build a complete Roblox game from a one-line pitch or an existing design/ spec: game-spec interview, Rojo scaffold, then every feature implemented…
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-get-started
JashanMaan28
Connect Roblox Studio to Claude Code: install Studio if needed, enable Studio as MCP server, confirm with list_roblox_studios.
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-growth-design
JashanMaan28
Roblox growth: Creator Dashboard stats, Home recommendations, retention fixes, experiments, LiveOps, thumbnails and icons, events, invites.
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-gui
JashanMaan28
Roblox UI: ScreenGui/SurfaceGui/BillboardGui, layouts and constraints, safe insets, mobile-first responsive design, gamepad selection, RichText.
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-input
JashanMaan28
Roblox input: Input Action System, ContextActionService, UserInputService, touch/gamepad/keyboard, PreferredInput hints.
SkillAFreshness: AClaude Code +9 - 0.570score
ecs-design
JashanMaan28
ECS design with jecs (Luau or roblox-ts): component granularity, tags vs data, relationships, system scope and ordering, query caching, archetype costs.
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-analytics
JashanMaan28
Roblox AnalyticsService instrumentation: custom, economy, funnel, onboarding and progression events, dashboard limits, economy health.
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-animation-vfx
JashanMaan28
Roblox animation and VFX: Animator tracks, priorities, markers, particles, beams, trails, Highlight, tweens, camera shake, effect cleanup.
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-architecture
JashanMaan28
Roblox project architecture: feature ownership, code layout by runtime, module contracts, dependency direction, bootstrap order, client-server authority.
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-audio
JashanMaan28
Roblox audio: Sound/SoundGroup and the modular audio API (AudioPlayer, emitters, listeners, wires, voice), spatial sound, music and SFX mixing.
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-building
JashanMaan28
Roblox world building: parts, CSG, props and maps at player scale, meshes, terrain, MaterialVariants, Creator Store vetting, Studio MCP generation.
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-camera
JashanMaan28
Roblox camera: default camera settings, Scriptable cameras, CFrame math, screen raycasts, first/third person, occlusion, cutscenes, screen shake.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 19, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/JashanMaan28/roblox-agent-kit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from JashanMaan28
- 0.570score
roblox-architecture
JashanMaan28
Roblox project architecture: feature ownership, code layout by runtime, module contracts, dependency direction, bootstrap order, client-server authority.
SkillAFreshness: AClaude Code +9 - 0.570score
ecs-design
JashanMaan28
ECS design with jecs (Luau or roblox-ts): component granularity, tags vs data, relationships, system scope and ordering, query caching, archetype costs.
SkillAFreshness: AClaude Code +9 - 0.570score
build-game
JashanMaan28
Build a complete Roblox game from a one-line pitch or an existing design/ spec: game-spec interview, Rojo scaffold, then every feature implemented…
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-analytics
JashanMaan28
Roblox AnalyticsService instrumentation: custom, economy, funnel, onboarding and progression events, dashboard limits, economy health.
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-animation-vfx
JashanMaan28
Roblox animation and VFX: Animator tracks, priorities, markers, particles, beams, trails, Highlight, tweens, camera shake, effect cleanup.
SkillAFreshness: AClaude Code +9 - 0.570score
roblox-audio
JashanMaan28
Roblox audio: Sound/SoundGroup and the modular audio API (AudioPlayer, emitters, listeners, wires, voice), spatial sound, music and SFX mixing.
SkillAFreshness: AClaude Code +9
Cite this page
new-system skill. Agent Mart. https://agentmart.dev/skills/jashanmaan28-new-system (last updated 2026-10-24)