con un clic
gum-help
GUM reference and usage guide
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
GUM reference and usage guide
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Create a new GUM module with rules and optional hooks
Edit an existing GUM module — update rules, hooks, or settings
Sync GUM modules in the current session after toggle, create, edit, or remove
Analyze agent context and optimize GUM modules for better compliance
Show active GUM modules and their rules in the current session
| name | gum-help |
| description | GUM reference and usage guide |
GUM (Globally Unified Modules) -- reusable AI agent behavior bundles that travel with you across projects and runtimes. This is the complete reference for GUM commands, skills, concepts, and workflows.
New to GUM? Here's the 60-second version:
npx get-gum@latest/gum-create in chat -- the agent walks you through it/gum-status to see your modules and their rulesModule -- a folder containing rules (for the LLM) and hooks (for the system). One concern per module.
Rules (rules.md) -- judgment-based instructions the agent follows. Compliance is ~70% because the LLM interprets them. Example: "Prefer composition over inheritance."
Hooks (hooks.json) -- mechanical actions the system executes automatically. Compliance is 100% because code enforces them. Example: "Run eslint after every file edit."
The golden rule: If a behavior is mechanical, make it a hook. If it requires judgment, make it a rule. Never leave guaranteed enforcement on the table.
| Command | Description |
|---|---|
npx get-gum@latest | Install GUM |
npx get-gum toggle | Enable/disable modules (interactive) |
npx get-gum toggle --local | Per-project team overrides (.gum.json) |
npx get-gum toggle --personal | Per-project personal overrides (.gum.local.json) |
npx get-gum list | Show all modules and their status |
npx get-gum remove | Remove a module entirely |
npx get-gum doctor | Health check -- find broken modules, stale hooks |
npx get-gum doctor --repair | Auto-fix issues found by doctor |
npx get-gum export <name> | Export module to shareable .gum.json |
npx get-gum import <file> | Import module from file or URL |
npx get-gum sync | Resync all hooks to runtime settings |
npx get-gum update | Update GUM to latest version |
npx get-gum uninstall | Remove GUM completely |
| Skill | What It Does | When to Use |
|---|---|---|
/gum-create | Create a new module from scratch | "I want to enforce X" |
/gum-edit | Modify an existing module | "Change the rules in my X module" |
/gum-sync | Reload modules in current session | After toggle/create/edit/remove |
/gum-optimize | Deep audit of all rules and modules | "My rules feel bloated" or "agent is ignoring things" |
/gum-status | Show active modules with expanded rules | "What's active right now?" |
/gum-help | This reference | "How does GUM work?" |
~/.gum/modules/my-module/
module.yaml # name, description, version, enabled flag
rules.md # judgment-based instructions for the agent
hooks.json # system hooks per runtime (optional)
module.yaml:
name: my-module
description: What this module does
version: 1.0.0
enabled: true
rules.md:
- Prefer functional components in React
- Always use custom error classes instead of throwing generic Error
hooks.json:
{
"claude": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
}
]
}
]
}
}
Override priority (later wins):
module.yaml (default) < .gum.json (team) < .gum.local.json (personal)
| File | Scope | Git? | Use Case |
|---|---|---|---|
.gum.json | Team | Commit it | "Nobody on this project uses module X" |
.gum.local.json | Personal | Gitignore it | "I want module Y even though team disabled it" |
/gum-create -- turn the repeated instruction into a module/gum-status -- verify the module is actually active/gum-optimize -- check for context bloat (>150 lines kills compliance)npx get-gum export my-module -- creates a shareable filenpx get-gum import <file-or-url>.gum.json for team-wide overrides in each project/gum-optimize -- it scans CLAUDE.md and suggests modulesnpx get-gum doctor -- checks for broken modules, stale hooks, missing filesnpx get-gum doctor --repair -- auto-fixes what it cannpx get-gum sync -- force resync all hooks/gum-optimize -- deeper analysis if doctor doesn't find it| Problem | Likely Cause | Fix |
|---|---|---|
| Module not appearing in status | Module not synced — run npx get-gum sync | npx get-gum doctor --repair |
| Hook not firing | hooks.json not synced to runtime | npx get-gum sync |
| Agent ignoring rules | Context over budget (>150 lines) | /gum-optimize to trim |
| Agent ignoring rules | Rule is too vague | Rewrite with specific, actionable language |
| Wrong module active | Override in .gum.json or .gum.local.json | /gum-status shows override source |
| Conflicting behavior | Two modules contradict each other | /gum-optimize detects conflicts |
| Module works locally but not for team | Not exported/shared | npx get-gum export + team imports |