esx-framework
Trigger: ESX, es_extended, xPlayer, PlayerData, ESX.GetPlayerFromId, ESX.RegisterServerCallback, ESX jobs, economy, inventory. Build ESX Legacy resources with server/client functions, xPlayer methods, callbacks and events.
How do I install this agent skill?
npx skills add https://github.com/germanfndez/fiveai-skills --skill esx-frameworkIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides a comprehensive development guide for the FiveM ESX Legacy framework, emphasizing secure coding practices and performance optimization. No malicious patterns, obfuscation, or data exfiltration attempts were detected.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerwarn
8/8 files flagged
What does this agent skill do?
ESX Framework
Server/client API for ESX Legacy: xPlayer, PlayerData, callbacks, events, jobs and money.
Activation Contract
Load this skill when the user creates or edits an ESX resource, touches xPlayer or ESX.PlayerData, needs jobs, money, accounts, items or weapons through ESX, or asks about ESX callbacks, events or best practices.
Hard Rules
- Get the object with
ESX = exports['es_extended']:getSharedObject(). On the client, wait forESXandESX.IsPlayerLoaded()before readingESX.PlayerData. xPlayerexists on the SERVER only (ESX.GetPlayerFromId(source)).ESX.PlayerDataexists on the CLIENT only.- Always nil-check:
if not xPlayer then return endbefore calling any method. - Money, items, weapons, jobs and metadata are mutated on the server through
xPlayer.*methods, never from the client. - Pass a
reasontoaddMoney,removeMoney,addAccountMoney,removeAccountMoney. - Client callbacks (
ESX.TriggerClientCallback,ESX.AwaitClientCallback) must never decide anything sensitive: the client can fake the answer. - Use
ESX.SecureNetEventfor client events that only the server may trigger. - Prefer ox_lib for notifications, menus, dialogs and progress bars over ESX UI.
- Cache
PlayerPedId()and update onesx:playerPedChanged; neverWait(0)loops without need.
Decision Gates
| Need | Use |
|---|---|
| Client asks server for data | ESX.RegisterServerCallback + ESX.TriggerServerCallback |
| Server pushes an event to one player | xPlayer.triggerEvent(name, ...) |
| Server-only client event | ESX.SecureNetEvent(name, cb) on the client |
| Find player by source / identifier | ESX.GetPlayerFromId / ESX.GetPlayerFromIdentifier |
| Filter players by job etc. | ESX.GetExtendedPlayers(key, value) |
| Usable item | ESX.RegisterUsableItem(item, cb) |
| Admin command with group | ESX.RegisterCommand(name, group, cb, allowConsole, suggestion) |
Execution Steps
- Confirm
es_extendedstarts before the resource; acquireESXper side. - Decide the side: mutation and validation on server, display on client.
- Fetch
xPlayer, nil-check, then validate every client-supplied argument. - Pick the call from Decision Gates; read the matching rules file for signatures.
- Return data via callbacks, not paired events.
Output Contract
Return runnable Lua with the client/server split explicit, xPlayer nil-checked, and reasons on money operations. Use ox_lib for UI unless the user asks otherwise.
References
- rules/core-concepts.md — architecture, PlayerData, xPlayer, startup flow.
- rules/client-functions.md — client-side ESX functions and player state.
- rules/server-functions.md — player retrieval, callbacks, commands, jobs, items.
- rules/xplayer-methods.md — xPlayer money, accounts, inventory, weapons, meta.
- rules/events-callbacks.md — server/client callbacks, events, SecureNetEvent.
- rules/best-practices.md — naming, caching, loops, security, Lua 5.4.
- rules/reference-links.md — official ESX documentation links.
Upstream docs: https://docs.esx-framework.org
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/esx-framework">View esx-framework on skillZs</a>