К основному содержанию
скилл CX Codex

fivem-basics — скилл для Claude Code: структура ресурсов FiveM

Скилл для FiveM Lua: раскладывает ресурс по client/server/shared, пишет манифест и связывает стороны событиями и экспортами.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add germanfndez/fiveai-skills --skill fivem-basics -a claude-code
Открыть на GitHub

Что делает fivem-basics

Скилл включается, когда вы создаёте или правите ресурс FiveM, файл fxmanifest.lua, client*.lua или server*.lua, спрашиваете про события и экспорты либо приносите баг, для которого нужны логи сервера или F8.

Внутри восемь справочных файлов: структура ресурса, манифест, разделение клиента и сервера, события, экспорты, отладка, оптимизация и ссылки на официальную документацию. Скилл требует fx_version 'cerulean' и game 'gta5' в манифесте, сетевые события через RegisterNetEvent, а деньги и предметы — только на сервере. GetInvokingResource() для сетевого события возвращает nil, поэтому проверять отправителя им нельзя: валидируйте типы, диапазоны и состояние, которое живёт на сервере.

Сторону для каждой части логики придётся выбирать самому, скилл только задаёт правила и таблицу решений. Имена событий он советует писать в форме resource:side:action.

Какие задачи решает

  • разложить ресурс по папкам client, server и shared
  • написать fxmanifest.lua с нужными записями
  • выбрать между TriggerServerEvent, TriggerClientEvent и обычным TriggerEvent
  • вынести проверку денег и предметов на сервер
  • понять, каких логов не хватает — серверных или F8

Примеры запросов агенту

  • Создай ресурс FiveM для магазина: клиент рисует меню, сервер проверяет деньги
  • Почему GetInvokingResource() вернул nil в обработчике сетевого события?
  • Раздели этот скрипт на client и server и добавь валидацию аргументов

Как установить fivem-basics

1Через Skills CLI (Vercel)

npx skills add germanfndez/fiveai-skills --skill fivem-basics -a claude-code

2Вручную: положить файлы

~/.claude/skills/fivem-basics/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/fivem-basics/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о fivem-basics

Как установить fivem-basics в Claude?

Выполните npx skills add germanfndez/fiveai-skills --skill fivem-basics -a claude-code. Скилл окажется в ~/.claude/skills/fivem-basics/SKILL.md.

Что делает fivem-basics?

Подсказывает, как устроен ресурс FiveM: манифест, разделение клиента и сервера, сетевые события, экспорты и отладка по логам. Работает с Lua.

Чем сетевые события отличаются от локальных?

Сетевые регистрируются через RegisterNetEvent, а локальные — только через AddEventHandler. Для данных, которые должны вернуться через сеть, скилл советует callback, а не пару событий.

Исходный текст

SKILL.md · MIT
---
name: fivem-basics
description: "Trigger: FiveM resource, fxmanifest, client/server script, RegisterNetEvent, TriggerServerEvent, TriggerClientEvent, exports, F8 logs, how FiveM works. Structure resources, manifests, events and exports for FiveM Lua."
license: MIT
metadata:
  author: germanfndez
  version: "1.0.0"
---

# FiveM basics

Resource structure, fxmanifest, client/server split, events, exports and debugging for FiveM Lua.

## Activation Contract

Load this skill when the user creates or edits any FiveM resource, `fxmanifest.lua`, `client*.lua` or `server*.lua`, asks how client/server, events or exports work, or reports a bug that needs server vs F8 logs.

## Hard Rules

- Manifest: `fx_version 'cerulean'` and `game 'gta5'` (or `'rdr3'` / `'common'`); every client-served file goes in `files`.
- Register networked events with `RegisterNetEvent`; local-only events use `AddEventHandler` alone, never `RegisterNetEvent`.
- Server handlers read the sender from `source`; broadcast with `TriggerClientEvent(event, -1, ...)`.
- `GetInvokingResource()` is nil for every net event that crosses the network; it is not an authentication check. Validate types, ranges and server-owned state instead.
- Never handle money or item transactions on the client; validate and apply on the server.
- No game natives in `shared_scripts` unless guarded by environment.
- Use `PlayerPedId()` not `GetPlayerPed(-1)`; use `#(a - b)` not `GetDistanceBetweenCoords`.
- Prefer `local`; prefer variable `Wait()` over fixed `Wait(0)`.
- Resource names use underscores, no spaces or special characters.

## Decision Gates

| Need | Use |
|---|---|
| Client to server | `TriggerServerEvent(event, ...)` |
| Server to one / all clients | `TriggerClientEvent(event, playerId \| -1, ...)` |
| Same side only | `TriggerEvent` + `AddEventHandler` |
| Data back across the network | a callback (ox_lib / framework), not paired events |
| Single-resource, non-networked call | a plain function, not an event |
| Cross-resource function | `exports` / `server_export` in manifest, `exports.res:fn()` |
| Bug with clean server console | ask for F8 client logs |

## Execution Steps

1. Lay out `client/`, `server/`, `shared/` and the manifest; read rules/structure.md and rules/fxmanifest.md.
2. Decide the side for each piece of logic (natives on client, data and validation on server).
3. Wire communication from Decision Gates; name events `resource:side:action`.
4. Validate every server handler argument; add distance and state checks.
5. Point to https://docs.fivem.net/natives/ for native lookups.

## Output Contract

Return the manifest plus runnable Lua split by side, with event names, validation and `source` handling explicit.

## References

- rules/structure.md — scope, client/server separation, naming.
- rules/fxmanifest.md — manifest entries, globbing, minimal example.
- rules/client-server.md — what runs where and how sides communicate.
- rules/events.md — register, trigger, naming, events vs functions, security.
- rules/exports.md — defining and consuming exports.
- rules/debugging.md — server console vs F8 logs.
- rules/optimization.md — locals, tables, natives, loops, security.
- rules/reference-links.md — official docs and natives reference.

Upstream docs: https://docs.fivem.net/docs/

© germanfndez · MIT · germanfndez/fiveai-skills

Похожие скиллы

Всё по теме «Геймдев и 3D: Unity, Unreal, Godot, Blender» →
fivem-dev melihbozkurt10 Ведёт разработку ресурсов FiveM под QBox, QBCore и ESX: подтягивает нативы, API фреймворков и модели ассетов вместо догадок. CX Codex +1 483установок msw-scripting MSW-Git Скилл помогает писать скрипты .mlua для MapleStory Worlds, соблюдая архитектуру компонентов и пространств выполнения. Пригодится при разработке игровой логики и отладке в MSW. CX Codex +1 9 900установок love2d-core gamedev-skills Настраивает каркас игры на LÖVE 11.5: цикл love.load/update/draw, движение через dt, стек экранов и ввод. Помогает избежать рассинхронизации скорости от FPS и ошибок с цветом. CX Codex +1 5 000установок roblox-luau-types TabooHarmony Скилл для аннотаций типов Luau: дженерики, юнионы, сужение типов, строгий режим, экспорт типов из модулей. Пригодится при миграции на --!strict. CX Codex +1 2 000установок lua Mindrally Задаёт агенту правила письма на Lua: таблицы, метатаблицы, обработка ошибок, игровой цикл и работа с памятью. Пригодится, если проект на Lua или Love2D. CX Codex +1 1 300установок roblox-animations sentinelcore Справочник по анимациям Roblox: загрузка треков, приоритеты, замена стандартных анимаций персонажа. Пригодится, когда агент пишет код для Humanoid или рига на AnimationController. CX Codex +1 905установок

Из того же набора4

Спонсоры проекта

Компании, которые помогают держать аналитику открытой