fivem-basics
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.
How do I install this agent skill?
npx skills add https://github.com/germanfndez/fiveai-skills --skill fivem-basicsIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides comprehensive guidelines and best practices for developing FiveM resources using Lua. It emphasizes proper client-server separation, secure event handling, and performance optimization. It includes explicit security advice to prevent common exploits in the FiveM ecosystem, such as server-side validation of all client-triggered events. No malicious patterns, data exfiltration, or obfuscation were detected.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerwarn
9/9 files flagged
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
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'andgame 'gta5'(or'rdr3'/'common'); every client-served file goes infiles. - Register networked events with
RegisterNetEvent; local-only events useAddEventHandleralone, neverRegisterNetEvent. - Server handlers read the sender from
source; broadcast withTriggerClientEvent(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_scriptsunless guarded by environment. - Use
PlayerPedId()notGetPlayerPed(-1); use#(a - b)notGetDistanceBetweenCoords. - Prefer
local; prefer variableWait()over fixedWait(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
- Lay out
client/,server/,shared/and the manifest; read rules/structure.md and rules/fxmanifest.md. - Decide the side for each piece of logic (natives on client, data and validation on server).
- Wire communication from Decision Gates; name events
resource:side:action. - Validate every server handler argument; add distance and state checks.
- 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/
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/germanfndez/fiveai-skills/fivem-basics">View fivem-basics on skillZs</a>