Livewire Development
coollabsio/coolify
A skill your agent uses for any task or question involving Livewire.
Work with DiscordPHP's infrastructure utilities — CacheWrapper, CacheConfig, BigInt, Multipart, Endpoint::bind URL templates, Collection base class, and domain Exceptions.
$ npx skills add discord-php/DiscordPHP --skill helpers-and-infra-keeper -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install discord-php/DiscordPHP helpers-and-infra-keeper --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/discord-php/DiscordPHP.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/helpers-and-infra-keeper .claude/skills/helpers-and-infra-keeper && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "helpers-and-infra-keeper" agent skill from https://github.com/discord-php/DiscordPHP/tree/master/.agents/skills/helpers-and-infra-keeper into .claude/skills/helpers-and-infra-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helpers-and-infra-keeper", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/discord-php/DiscordPHP/tree/master/.agents/skills/helpers-and-infra-keeperType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add discord-php/DiscordPHP --skill helpers-and-infra-keeper -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install discord-php/DiscordPHP helpers-and-infra-keeper --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/discord-php/DiscordPHP.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/helpers-and-infra-keeper .agents/skills/helpers-and-infra-keeper && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "helpers-and-infra-keeper" agent skill from https://github.com/discord-php/DiscordPHP/tree/master/.agents/skills/helpers-and-infra-keeper into .agents/skills/helpers-and-infra-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helpers-and-infra-keeper", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add discord-php/DiscordPHP --skill helpers-and-infra-keeper -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install discord-php/DiscordPHP helpers-and-infra-keeper --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/discord-php/DiscordPHP.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/helpers-and-infra-keeper .cursor/skills/helpers-and-infra-keeper && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "helpers-and-infra-keeper" agent skill from https://github.com/discord-php/DiscordPHP/tree/master/.agents/skills/helpers-and-infra-keeper into .cursor/skills/helpers-and-infra-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helpers-and-infra-keeper", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/discord-php/DiscordPHP.git --path .agents/skills/helpers-and-infra-keeper--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add discord-php/DiscordPHP --skill helpers-and-infra-keeper -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install discord-php/DiscordPHP helpers-and-infra-keeper --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/discord-php/DiscordPHP.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/helpers-and-infra-keeper .gemini/skills/helpers-and-infra-keeper && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "helpers-and-infra-keeper" agent skill from https://github.com/discord-php/DiscordPHP/tree/master/.agents/skills/helpers-and-infra-keeper into .gemini/skills/helpers-and-infra-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helpers-and-infra-keeper", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install discord-php/DiscordPHP helpers-and-infra-keeperInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add discord-php/DiscordPHP --skill helpers-and-infra-keeper -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/discord-php/DiscordPHP.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/helpers-and-infra-keeper .github/skills/helpers-and-infra-keeper && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "helpers-and-infra-keeper" agent skill from https://github.com/discord-php/DiscordPHP/tree/master/.agents/skills/helpers-and-infra-keeper into .github/skills/helpers-and-infra-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helpers-and-infra-keeper", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add discord-php/DiscordPHP --skill helpers-and-infra-keeper -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install discord-php/DiscordPHP helpers-and-infra-keeper --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/discord-php/DiscordPHP.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/helpers-and-infra-keeper .opencode/skills/helpers-and-infra-keeper && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "helpers-and-infra-keeper" agent skill from https://github.com/discord-php/DiscordPHP/tree/master/.agents/skills/helpers-and-infra-keeper into .opencode/skills/helpers-and-infra-keeper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helpers-and-infra-keeper", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
helpers-and-infra-keeperWork with DiscordPHP's infrastructure utilities — CacheWrapper, CacheConfig, BigInt, Multipart, Endpoint::bind URL templates, Collection base class, and domain Exceptions.
Helpers And Infra Keeper is an agent skill from discord-php/DiscordPHP. Work with DiscordPHP's infrastructure utilities — CacheWrapper, CacheConfig, BigInt, Multipart, Endpoint::bind URL templates, Collection base class, and domain Exceptions. Use when changing cache behavior, REST endpoint routing, file uploads, big-integer ID math, or adding/modifying exceptions.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering REST APIs and File uploads and storage. It works with Discord, PHP and React. The repository describes itself as: An API to interact with the popular messaging app Discord. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 580c66a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
composerFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Helpers And Infra Keeper loads about 2.2k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 913 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from discord-php/DiscordPHP at commit 580c66a, republished under its MIT licence (© discord-php). 913 words, ~2,166 tokens.
.claude/skills/helpers-and-infra-keeper/SKILL.md (or your agent's skills folder).Use this skill when work touches src/Discord/Helpers/*, src/Discord/Exceptions/*, Endpoint::bind() patterns, or the external Collection / discord-php/http packages.
These are cross-cutting infrastructure utilities. They have no domain logic, but nearly every other layer depends on them.
src/Discord/Helpers/CacheWrapper.php — PSR-16 + React cache bridgesrc/Discord/Helpers/CacheConfig.php — cache options (compression, sweep, TTL)src/Discord/Helpers/LegacyCacheWrapper.php — fallback for older cache implementationssrc/Discord/Helpers/BigInt.php — 32-bit PHP GMP polyfill for snowflake IDs and permission bitfieldssrc/Discord/Helpers/Multipart.php — multipart/form-data builder for file uploadssrc/Discord/Repository/AbstractRepository.php — how repositories consume CacheWrapper and $endpointssrc/Discord/Discord.php — options['cache'] wiring to CacheWrapper/CacheConfig| Class | Role |
|---|---|
CacheConfig | Value object holding cache options passed in Discord::__construct() options['cache'] |
CacheWrapper | Main wrapper: bridges React's async cache (PSR-16 + react/cache) to repository storage. Handles compression if configured. |
LegacyCacheWrapper | Default when no external cache is configured. Wraps an in-memory store. Used by default. |
Rule: repositories do not interact with cache stores directly. They always go through CacheWrapper. Do not bypass it.
If a feature needs configurable cache behavior (TTL, compression, sweep interval), add it as a property on CacheConfig. Do not scatter cache tuning across individual repositories.
When a REST write succeeds, the cache write must happen in the same promise chain — not after a refetch. This is enforced by convention, not framework. Break the chain and you get stale cache.
All REST endpoints are defined as Endpoint constants in the external discord-php/http package:
use Discord\Http\Endpoint;
protected $endpoints = [
'get' => Endpoint::CHANNEL,
'update' => Endpoint::CHANNEL,
'delete' => Endpoint::CHANNEL,
];Routes with parameters use :param placeholders. Binding happens via Endpoint::bind($endpoint, $params) where $params is a key-value map matching the placeholders.
Rule: never build URL strings by hand. Always use Endpoint::bind() or assign a named Endpoint constant. Raw string concatenation bypasses rate-limit bucket identification.
Browse vendor/discord-php/http/src/Endpoint.php for available constants. If a Discord API endpoint is missing, add it to the external package — do not define it inline in DiscordPHP source.
composer openapi (scripts/openapi-check.php) compares the library with the live preview of Discord's OpenAPI description. It lists the operations DiscordPHP never sends a request for, and routes with no Endpoint constant. It also lists what Discord has changed since the commit recorded in scripts/openapi-baseline.json: endpoints added or removed, parameters and responses, schema properties and enum values. It reads the library's source to see which request each constant is sent with. It recognises a repository's $endpoints table (all/get send GET, create POST, update PATCH, delete DELETE, and other keys whatever method sends $this->endpoints['key']), a direct call like ->post(Endpoint::bind(Endpoint::X, …)), or a variable assigned the endpoint and sent later in the same method. Keep new request code in one of those shapes, or the check will report the operation as unsent.
After implementing an operation, or deciding not to, run composer openapi:update and commit the baseline. Record the reason for every gap that remains in its unimplemented map. A daily workflow (.github/workflows/openapi.yml) runs the same check and opens an issue labelled openapi when it finds something new.
All repositories extend Collection from discord-php-helpers/collection. Key behaviors inherited:
$discrim — defaults to 'id')$class)get($key), has($key), first(), find(callable), filter(callable)AbstractRepository adds REST/cache behavior on top. Do not re-implement collection operations in repositories — use the inherited helpers.
BigInt provides GMP-based arithmetic for environments where PHP is compiled as 32-bit, where Discord snowflake IDs and 64-bit permission bitfields overflow native integers.
Usage pattern:
use Discord\Helpers\BigInt;
$perms = BigInt::bitAnd($memberPerms, $requiredPerm);Rule: use BigInt for any permission flag arithmetic or snowflake comparison that could run on 32-bit PHP. Do not assume PHP_INT_SIZE === 8.
Multipart builds multipart/form-data request bodies for file attachment uploads. It is used by MessageBuilder and similar builders when attachments are present.
It has no cache or domain logic — treat it as a serialization helper.
src/Discord/Exceptions/ contains domain-specific exceptions. Do not use generic \RuntimeException or \InvalidArgumentException when a typed exception already exists:
| Exception | When to throw |
|---|---|
IntentException | Invalid or missing gateway intents at startup |
PartRequestFailedException | A part fetch or REST operation failed |
InvalidOverwriteException | A permission overwrite is malformed |
AttachmentSizeException | Attachment exceeds size limit |
FileNotFoundException | File path not found for upload |
BufferTimedOutException | Audio buffer read timed out |
LibSodiumNotFoundException | ext-sodium not available (voice) |
OpusNotFoundException | Opus codec binary not available |
FFmpegNotFoundException | FFmpeg binary not found |
DCANotFoundException | DCA tool not found |
When adding a new typed exception: extend \Exception or the nearest domain parent, keep the name *Exception, and put it in src/Discord/Exceptions/.
| Touching | Also inspect |
|---|---|
CacheWrapper or CacheConfig | Discord.php options['cache'] wiring, AbstractRepository cache usage, LegacyCacheWrapper fallback |
Endpoint constants | $endpoints arrays in all affected repositories, rate-limit bucket behavior |
BigInt | Permission parts (Permission, RolePermission, ChannelPermission), snowflake comparison sites |
Multipart | MessageBuilder attachment handling, HTTP client request formation |
| An exception class | Callers that catch the specific type, docs/guide if it's user-facing |
Endpoint::bind()CacheWrapperCollection already providesPHP_INT_SIZE === 8 as a safe assumption for permission arithmetic — use BigInt\RuntimeException when a typed domain exception already existsHelpers/ or Exceptions/Helpers/ — those belong in Voice/* or the external voice packagesrc/Discord/Helpers/CacheWrapper.php — main cache bridgesrc/Discord/Helpers/CacheConfig.php — cache options value objectsrc/Discord/Helpers/LegacyCacheWrapper.php — default in-memory cachesrc/Discord/Helpers/BigInt.php — 32-bit PHP GMP polyfillsrc/Discord/Helpers/Multipart.php — file upload form buildersrc/Discord/Repository/AbstractRepository.php — how CacheWrapper and Endpoint are consumedsrc/Discord/Exceptions/IntentException.php — representative typed exceptionsrc/Discord/Exceptions/PartRequestFailedException.php — REST failure exceptionvendor/discord-php/http/src/Endpoint.php — all REST endpoint constants© discord-php, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/helpers-and-infra-keeper of discord-php/DiscordPHP.
Open the folder on GitHubat commit 580c66a
Helpers And Infra Keeper next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Helpers And Infra Keeper this skilldiscord-php/DiscordPHP | 1.1k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Livewire Developmentcoollabsio/coolify | 63k | — | ~964 | Automated safety check: Pass | MIT | |
| Laravel SpecialistJeffallan/claude-skills | 12k | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Livewire Developmentyungifez/skuul | 409 | 1 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Databuddydatabuddy-analytics/Databuddy | 1.2k | — | ~2.1k | Automated safety check: Pass | AGPL-3.0 | |
| Edgestore Setupedgestorejs/edgestore | 454 | — | ~1.8k | Automated safety check: Pass | MIT |
coollabsio/coolify
A skill your agent uses for any task or question involving Livewire.
Jeffallan/claude-skills
Builds Laravel 10+ applications with Eloquent models, Sanctum authentication, Horizon queues, API resources and Livewire components, tested with Pest or PHPUnit.
yungifez/skuul
A skill your agent uses for any task or question involving Livewire.
databuddy-analytics/Databuddy
Integrate Databuddy analytics using the SDK, REST API, or MCP.
edgestorejs/edgestore
A skill your agent uses when adding, extending, or troubleshooting EdgeStore file uploads, upload UI, or bucket access policies in a TypeScript/React application.
novuhq/novu
Build a new channel Connect button (e.g. An agent skill from novuhq/novu.
discord-php/DiscordPHP
Maintain test and documentation alignment — PHPUnit tests, async testing patterns, PHPDoc contracts, guide pages, and documentation workflow.
discord-php/DiscordPHP
Audit checklist for DiscordPHP bots and API libraries — stop the bot token leaking to third-party APIs or logs, keep secrets out of customids and exception messages, use constant-time comparison and…
discord-php/DiscordPHP
Scaffold and maintain a DiscordPHP-based bot or an API-library-on-DiscordPHP (the DiscordPHP-MTG / DiscordPHP-NHA / DiscordPHP-Sabacc pattern) — client subclass, third-party HTTP layer, Parts…
discord-php/DiscordPHP
Build DiscordPHP slash commands and message components — global command trees with subcommands, user- AND guild-installable commands usable in DMs / group DMs / guild channels, Components V2…
discord-php/DiscordPHP
Maintain Part domain models — fillable attributes, mutators, typed nested data, save/fetch behavior, permission checks, PHPDoc, and repository bindings.
discord-php/DiscordPHP
Maintain Discord.php runtime bootstrapping, startup options, event loop, gateway connection, reconnection, member chunking, cache configuration, and process lifecycle.
Categories
Work with DiscordPHP's infrastructure utilities — CacheWrapper, CacheConfig, BigInt, Multipart, Endpoint::bind URL templates, Collection base class, and domain Exceptions. Helpers And Infra Keeper is an agent skill from discord-php/DiscordPHP. Work with DiscordPHP's infrastructure utilities — CacheWrapper, CacheConfig, BigInt, Multipart, Endpoint::bind URL templates, Collection base class, and domain Exceptions.
Helpers And Infra Keeper fits situations like: changing cache behavior; REST endpoint routing; big-integer ID math; adding/modifying exceptions.
Run `npx skills add discord-php/DiscordPHP --skill helpers-and-infra-keeper -a claude-code`. Or copy the skill folder (.agents/skills/helpers-and-infra-keeper in discord-php/DiscordPHP) into .claude/skills/helpers-and-infra-keeper in your project. Claude Code loads it when a task matches its description.
Run `npx skills add discord-php/DiscordPHP --skill helpers-and-infra-keeper -a codex`. Or copy the skill folder (.agents/skills/helpers-and-infra-keeper in discord-php/DiscordPHP) into .agents/skills/helpers-and-infra-keeper in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add discord-php/DiscordPHP --skill helpers-and-infra-keeper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/helpers-and-infra-keeper, .gemini/skills/helpers-and-infra-keeper, .github/skills/helpers-and-infra-keeper and .opencode/skills/helpers-and-infra-keeper in your project.
Going by SKILL.md and its folder, Helpers And Infra Keeper needs the command-line tools its instructions call (composer).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Helpers And Infra Keeper is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Helpers And Infra Keeper: Livewire Development (coollabsio/coolify, 63k stars), Laravel Specialist (Jeffallan/claude-skills, 12k stars), Livewire Development (yungifez/skuul, 409 stars) and Databuddy (databuddy-analytics/Databuddy, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
discord-php (a GitHub organization) maintains it in discord-php/DiscordPHP, which has 1,081 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 6, 2026.
Source: discord-php/DiscordPHP on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.