raylib
About
This skill helps developers leverage raylib's existing API to avoid reinventing solutions for graphics, input, or audio. It directs you to consult the official cheatsheet to find built-in functions before writing custom code. Use it to quickly check for available utilities in modules like shapes, textures, and audio.
Documentation
raylib Development
Check raylib's built-in functions before writing custom implementations.
Cheatsheet First
Reference: https://www.raylib.com/cheatsheet/cheatsheet.html
Before implementing any rendering, input, or audio feature:
- Identify the module (shapes, textures, text, models, shaders, audio)
- Scan that module's functions in the cheatsheet
- Only write custom code if no raylib function exists
Use WebFetch to retrieve and search the cheatsheet when uncertain.
Module Categories
| Module | Covers | Common Functions |
|---|---|---|
| rcore | Window, input, timing | GetFrameTime, IsKeyPressed, GetMousePosition |
| rshapes | 2D primitives | DrawLineEx, DrawRectangleRounded, DrawCircleSector |
| rtextures | Images, textures | DrawTexturePro, LoadRenderTexture, BeginTextureMode |
| rtext | Font rendering | DrawTextEx, MeasureTextEx |
| rmodels | 3D geometry | DrawMesh, LoadModel |
| raudio | Sound, music | LoadSound, PlaySound, SetSoundVolume |
| rlgl | Low-level OpenGL | Use only when raylib lacks the feature |
Before You Implement
Check these functions first for common tasks:
| Task | Check First |
|---|---|
| Thick lines | DrawLineEx(start, end, thickness, color) |
| Rounded rectangles | DrawRectangleRounded, DrawRectangleRoundedLines |
| Rotated/scaled sprites | DrawTexturePro(texture, source, dest, origin, rotation, tint) |
| Bezier curves | DrawLineBezier, DrawLineBezierQuad, DrawLineBezierCubic |
| Render to texture | LoadRenderTexture, BeginTextureMode, EndTextureMode |
| Screen capture | TakeScreenshot, LoadImageFromScreen |
| Shader uniforms | GetShaderLocation, SetShaderValue |
| Delta time | GetFrameTime() returns seconds since last frame |
Naming Conventions
raylib uses consistent verb prefixes:
Load*/Unload*— Resource lifecycleBegin*/End*— Scoped state (drawing, shader, texture mode)Draw*— Immediate renderingGet*/Set*— Property accessIs*— Boolean queries (IsKeyPressed,IsWindowResized)Check*— Collision detection
rlgl: Last Resort
rlgl exposes raw OpenGL. Use only when:
- raylib provides no built-in function
- Performance requires batched custom geometry
- Custom vertex attributes needed
For simple shapes, rshapes functions outperform hand-rolled rlgl.
Verification
When implementing graphics features, verify:
- Searched cheatsheet for existing function
- Checked
rshapesbeforerlgl - Used
DrawTextureProfor any sprite transforms - Paired all
Begin*/End*calls
Quick Install
/plugin add https://github.com/EvanLavender13/audio-jones/tree/main/raylibCopy and paste this command in Claude Code to install this skill
GitHub 仓库
Related Skills
evaluating-llms-harness
TestingThis Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.
langchain
MetaLangChain is a framework for building LLM applications using agents, chains, and RAG pipelines. It supports multiple LLM providers, offers 500+ integrations, and includes features like tool calling and memory management. Use it for rapid prototyping and deploying production systems like chatbots, autonomous agents, and question-answering services.
huggingface-accelerate
DevelopmentHuggingFace Accelerate provides the simplest API for adding distributed training to PyTorch scripts with just 4 lines of code. It offers a unified interface for multiple distributed training frameworks like DeepSpeed, FSDP, and DDP while handling automatic device placement and mixed precision. This makes it ideal for developers who want to quickly scale their PyTorch training across multiple GPUs or nodes without complex configuration.
nestjs
MetaThis skill provides NestJS development standards and architectural patterns for building domain-centric applications. It covers modular design, dependency injection, decorator patterns, and key framework features like controllers, services, middleware, and interceptors. Use it when developing NestJS applications, implementing APIs, configuring microservices, or integrating with databases.
