Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    melihbozkurt10

    fivem-dev

    melihbozkurt10/fivem-dev
    Coding
    1

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    FiveM development orchestrator for QBox, QBCore, and ESX frameworks. Dynamically fetches natives, framework APIs, and guides to assets. Supports Lua and NUI (JavaScript/TypeScript).

    SKILL.md

    FiveM Development

    Dynamic documentation orchestrator for FiveM resource development. Supports QBox, QBCore, ESX frameworks with Lua and NUI (JS/TS).

    Philosophy

    1. Fetch, don't memorize - Always get latest from authoritative sources
    2. Framework-agnostic thinking - Understand patterns, adapt to framework
    3. Performance-first - FiveM has strict tick budgets
    4. Security-aware - Server-side validation is non-negotiable

    CRITICAL: No Hallucination Policy

    NEVER invent or guess native functions, framework APIs, or parameters.

    Rules:

    1. If unsure about a native → MUST fetch from https://docs.fivem.net/natives/
    2. If unsure about framework API → MUST fetch from official docs
    3. If function doesn't exist → Tell user honestly, suggest alternatives
    4. If parameters unknown → Fetch documentation, don't guess

    Before writing any native or API call:

    • Is this a real FiveM native? → Verify at docs.fivem.net/natives
    • Is this the correct function name? → Check exact spelling
    • Are these the correct parameters? → Verify parameter order and types
    • Does this work on client/server/both? → Check availability

    When you don't know:

    "I'm not 100% certain about this native/API. Let me fetch the documentation..."
    [Use WebFetch to get accurate info]
    

    Verification Sources:

    Type Source Action
    Native functions https://docs.fivem.net/natives/ WebFetch or tell user to check
    QBox API https://docs.qbox.re/ WebFetch
    QBCore API https://docs.qbcore.org/ WebFetch
    ESX API https://docs.esx-framework.org/ WebFetch
    ox_lib https://overextended.dev/ox_lib WebFetch
    Props/Vehicles https://forge.plebmasters.de/ Guide user to search

    Example - WRONG:

    -- DON'T: Inventing a native that might not exist
    SetPlayerInvincible(playerId, true)  -- Is this real? What are the params?
    

    Example - RIGHT:

    -- DO: Use verified native with correct params
    SetEntityInvincible(PlayerPedId(), true)  -- Verified at docs.fivem.net
    

    Content Map

    Read ONLY relevant files based on the request:

    File Description When to Read
    frameworks/framework-detection.md Detect active framework Starting new task
    frameworks/qbox.md QBox exports, patterns QBox project
    frameworks/qbcore.md QBCore events, exports QBCore project
    frameworks/esx.md ESX xPlayer, events ESX project
    scripting/lua-patterns.md Lua idioms for FiveM Writing Lua
    scripting/nui-guide.md NUI HTML/CSS/JS patterns Building UI
    scripting/client-server.md Architecture patterns New resource
    scripting/thread-management.md Performance patterns Optimization
    resources/manifest.md fxmanifest.lua reference Resource setup
    resources/ox-lib-guide.md ox_lib utilities Using ox_lib
    assets/asset-discovery.md Finding GTA V assets Props, vehicles, peds

    Dynamic Fetching - Decision Tree

    Step 1: Classify the Request

    If user asks about... Action
    Native function (GetPlayerPed, CreateVehicle, etc.) FETCH from natives
    Framework API (QBCore.Functions, ESX.GetPlayerData) FETCH from framework docs
    ox_lib feature (lib.callback, lib.notify) FETCH from ox_lib docs
    GTA V asset (prop, vehicle, ped model) GUIDE to PlebMasters
    Resource structure, manifest READ local files
    Best practices, patterns READ local files

    Step 2: WebFetch URLs

    Native Functions

    Base URL: https://docs.fivem.net/natives/

    WebFetch(
      url: "https://docs.fivem.net/natives/",
      prompt: "Find documentation for the native function '{FUNCTION_NAME}'.
               Include: parameters, return values, usage examples,
               client/server availability."
    )
    

    Native Categories:

    Category Contains
    PLAYER GetPlayerPed, GetPlayerServerId, PlayerId
    VEHICLE CreateVehicle, SetVehicleMod, GetVehicleClass
    PED CreatePed, SetPedComponentVariation, IsPedInVehicle
    ENTITY GetEntityCoords, SetEntityHeading, DeleteEntity
    GRAPHICS DrawRect, DrawText3D, DrawMarker
    UI SetTextEntry, BeginTextCommandDisplayText
    CAM CreateCam, SetCamActive, RenderScriptCams
    AUDIO PlaySoundFrontend, PlayAmbientSpeech1
    WEAPON GiveWeaponToPed, GetSelectedPedWeapon
    CFX Statebags, server-specific natives

    Framework Documentation

    QBox:

    WebFetch(
      url: "https://docs.qbox.re/",
      prompt: "Find documentation for QBox '{FEATURE}'.
               Include exports, events, and usage examples."
    )
    

    QBCore:

    WebFetch(
      url: "https://docs.qbcore.org/qbcore-documentation/",
      prompt: "Find documentation for QBCore '{FEATURE}'.
               Include: function signature, parameters, examples."
    )
    

    ESX Legacy:

    WebFetch(
      url: "https://docs.esx-framework.org/",
      prompt: "Find documentation for ESX '{FEATURE}'.
               Include: xPlayer methods, events, server/client functions."
    )
    

    ox_lib:

    WebFetch(
      url: "https://overextended.dev/ox_lib",
      prompt: "Find documentation for ox_lib '{MODULE}'.
               Include: function signatures, options, examples."
    )
    

    Asset Discovery

    PlebMasters Forge:

    WebFetch(
      url: "https://forge.plebmasters.de/",
      prompt: "Search for GTA V {ASSET_TYPE} matching '{SEARCH_TERM}'.
               Return model names/hashes that can be used in FiveM."
    )
    

    Asset Types: objects, vehicles, peds, weapons, clothes, animations


    Request Router - Pattern Matching

    RULE 1: Native Detection

    Triggers when:

    • Specific native name (PascalCase like GetPlayerPed, CreateVehicle)
    • "native function", "GTA native", "FiveM native"
    • Hash reference (0x...)

    Action: Fetch from https://docs.fivem.net/natives/

    RULE 2: Framework API Detection

    Triggers when:

    • QBCore.Functions.*, QBCore.Player.*
    • exports.qbx_core:*, exports['qb-core']:*
    • ESX.Get*, xPlayer:*, ESX.RegisterServerCallback
    • exports.es_extended:*

    Action: Detect framework → Fetch from appropriate docs

    RULE 3: ox_lib Detection

    Triggers when:

    • lib.* functions
    • exports.ox_lib:*
    • Modules: callback, notify, menu, context, progress, zones, target

    Action: Fetch from https://overextended.dev/ox_lib

    RULE 4: Asset Discovery

    Triggers when:

    • "What's the model for...", "prop name for...", "vehicle spawn name"
    • Object placement, ped models, weapon models

    Action: Guide to PlebMasters Forge + provide usage example

    RULE 5: Local Knowledge

    Triggers when:

    • fxmanifest.lua structure
    • Client/server patterns
    • Thread management
    • Project structure

    Action: Read relevant local markdown file


    Framework Auto-Detection

    When starting a task, detect the active framework from project files:

    Check fxmanifest.lua

    -- QBox indicators
    dependency 'qbx_core'
    dependency 'ox_lib'
    
    -- QBCore indicators
    dependency 'qb-core'
    
    -- ESX indicators
    dependency 'es_extended'
    dependency 'esx_core'
    

    Check code imports

    -- QBox
    local QBX = exports.qbx_core:GetCoreObject()
    
    -- QBCore
    local QBCore = exports['qb-core']:GetCoreObject()
    
    -- ESX
    local ESX = exports.es_extended:getSharedObject()
    

    Best Practices (Quick Reference)

    Performance Rules

    Rule Why
    Avoid Wait(0) in loops Burns CPU, causes lag
    Cache player ped local ped = cache.ped or PlayerPedId()
    Use ox_lib target Better than distance checks
    Statebags over events More efficient state sync

    Security Rules

    Rule Reason
    Server-side validation Client can be tampered
    Sanitize player input Prevent injection
    Use callbacks Prevent event exploitation
    Rate limit operations Prevent spam/abuse

    Resource Structure

    resource_name/
    ├── fxmanifest.lua
    ├── config.lua
    ├── client/
    │   └── main.lua
    ├── server/
    │   └── main.lua
    ├── shared/
    │   └── config.lua
    └── html/              # NUI
        ├── index.html
        ├── style.css
        └── script.js
    

    Framework-Agnostic Pattern

    local Framework = {}
    
    if GetResourceState('qbx_core') ~= 'missing' then
        Framework.Core = exports.qbx_core:GetCoreObject()
        Framework.Type = 'qbox'
    elseif GetResourceState('qb-core') ~= 'missing' then
        Framework.Core = exports['qb-core']:GetCoreObject()
        Framework.Type = 'qbcore'
    elseif GetResourceState('es_extended') ~= 'missing' then
        Framework.Core = exports.es_extended:getSharedObject()
        Framework.Type = 'esx'
    end
    
    return Framework
    

    Anti-Patterns

    Don't Do
    while true do Wait(0) Use appropriate wait or events
    Trust client data Always validate on server
    Hardcode framework Detect dynamically
    Fetch data every frame Cache with refresh interval
    Global variables Use local, encapsulate

    Related Skills

    Need Skill
    NUI design frontend-design
    Database design database-design
    Security audit vulnerability-scanner
    Performance performance-profiling
    Recommended Servers
    Astro Docs
    Astro Docs
    Thoughtbox
    Thoughtbox
    Vercel Grep
    Vercel Grep
    Repository
    melihbozkurt10/fivem-dev-plugin
    Files