Claude Code Agent Development
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
A skill your agent uses when dispatching subagents, composing prompts for teammates, structuring handoff reports, or managing context boundaries between agents.
$ npx skills add NoobyGains/godmode --skill agent-messaging -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install NoobyGains/godmode agent-messaging --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/NoobyGains/godmode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/agent-messaging .claude/skills/agent-messaging && 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 "agent-messaging" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/agent-messaging into .claude/skills/agent-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-messaging", 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/NoobyGains/godmode/tree/master/skills/agent-messagingType 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 NoobyGains/godmode --skill agent-messaging -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install NoobyGains/godmode agent-messaging --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NoobyGains/godmode.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/agent-messaging .agents/skills/agent-messaging && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "agent-messaging" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/agent-messaging into .agents/skills/agent-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-messaging", 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 NoobyGains/godmode --skill agent-messaging -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install NoobyGains/godmode agent-messaging --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NoobyGains/godmode.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/agent-messaging .cursor/skills/agent-messaging && 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 "agent-messaging" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/agent-messaging into .cursor/skills/agent-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-messaging", 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/NoobyGains/godmode.git --path skills/agent-messaging--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 NoobyGains/godmode --skill agent-messaging -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install NoobyGains/godmode agent-messaging --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NoobyGains/godmode.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/agent-messaging .gemini/skills/agent-messaging && 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 "agent-messaging" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/agent-messaging into .gemini/skills/agent-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-messaging", 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 NoobyGains/godmode agent-messagingInstalls 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 NoobyGains/godmode --skill agent-messaging -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/NoobyGains/godmode.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/agent-messaging .github/skills/agent-messaging && 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 "agent-messaging" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/agent-messaging into .github/skills/agent-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-messaging", 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 NoobyGains/godmode --skill agent-messaging -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install NoobyGains/godmode agent-messaging --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NoobyGains/godmode.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/agent-messaging .opencode/skills/agent-messaging && 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 "agent-messaging" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/agent-messaging into .opencode/skills/agent-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-messaging", 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.
agent-messagingA skill your agent uses when dispatching subagents, composing prompts for teammates, structuring handoff reports, or managing context boundaries between agents.
Agent Messaging is an agent skill from NoobyGains/godmode. Use when dispatching subagents, composing prompts for teammates, structuring handoff reports, or managing context boundaries between agents. Covers both subagent prompts and team-level messaging.
Its SKILL.md is about 3k 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 Agent Workflows, covering Subagents. The repository describes itself as: The AI development framework that thinks before it builds. 36 composable skills for Claude Code, Cursor, Codex, and OpenCode. The licence is MIT.
Read from SKILL.md and the folder at commit 441103a. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are dot).
From 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.
Agent Messaging loads about 3k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 693 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 NoobyGains/godmode at commit 441103a, republished under its MIT licence (© NoobyGains). 693 words, ~2,961 tokens.
.claude/skills/agent-messaging/SKILL.md (or your agent's skills folder).Defective inter-agent communication is the root cause of most multi-agent breakdowns: bloated context drowns focus, imprecise prompts yield incorrect results, and sloppy handoffs lose critical data.
Core principle: Supply agents with exactly the context they require — nothing more, nothing less. Structure every message for the recipient, not the sender.
NO AGENT DISPATCH WITHOUT A STRUCTURED BRIEFIf you have not organized the context, the agent will burn tokens deciphering your intent.
Apply to:
Complements:
BEFORE dispatching any agent or sending any message:
1. RECIPIENT: Who receives this? (subagent, teammate, team lead)
2. OBJECTIVE: What must they DO? (implement, investigate, review, report)
3. CONTEXT: What must they KNOW? (only what is relevant to their task)
4. DELIVERABLE: What must they RETURN? (format, content, detail level)
5. CONSTRAINTS: What must they NOT do? (scope limits, file restrictions)
Skip any step = unfocused agent, wasted tokensSubagents get distracted by irrelevant context. More context is not better context.
digraph context_decision {
"Task follows existing pattern?" [shape=diamond];
"Task depends on other tasks?" [shape=diamond];
"Lean context" [shape=box style=filled fillcolor=lightgreen];
"Full context" [shape=box];
"Task follows existing pattern?" -> "Lean context" [label="yes - supply pattern ref"];
"Task follows existing pattern?" -> "Task depends on other tasks?" [label="no"];
"Task depends on other tasks?" -> "Full context" [label="yes"];
"Task depends on other tasks?" -> "Lean context" [label="no - standalone"];
}Lean context (default for independent tasks):
You are implementing: [1-2 sentence description]
File to modify: [exact path]
Pattern to follow: [reference to existing function/test]
What to implement: [specific requirement]
Verification: [exact command to run]Full context (for dependent or complex tasks):
You are implementing Task N: [task name]
## Task Description
[FULL TEXT of task - paste it, do not make the subagent read a file]
## Context
[Where this fits, what preceded it, architectural decisions]Never make a subagent read a plan file. Paste the relevant content directly. Reading files wastes tokens and attention on irrelevant sections.
Every subagent brief should contain these sections:
| Section | Purpose | Required |
|---|---|---|
| Role | What the agent is doing | Yes |
| Task | Specific work to perform | Yes |
| Context | Only what is needed to understand the task | Yes |
| Files | Exact paths to work with | Yes |
| Constraints | What NOT to do, scope boundaries | Yes |
| Verification | How to confirm success | Yes |
| Deliverable format | What to report back | Yes |
| Questions | Permission to ask before starting | Recommended |
Ineffective — too vague, no structure:
Fix the tests in the auth module. They're failing.Ineffective — too much context:
[Paste entire 500-line plan file]
Your task is Task 7, which is about auth tests.Effective — structured and focused:
You are resolving 3 failing tests in src/auth/session.test.ts.
Failures:
1. "should reject expired sessions" - expects 401, gets 200
2. "should renew valid sessions" - timeout after 5s
3. "should handle concurrent sessions" - race condition
Context: Session management was refactored in commit def456.
The validateSession() function now returns a Promise instead of sync.
Files:
- Fix: src/auth/session.test.ts
- Reference: src/auth/session-manager.ts (the refactored code)
- Do NOT modify: src/auth/session.ts (production code is correct)
Verification: npm test -- --testPathPattern=session.test
Report: Root cause per test, what you changed, test results.Use SendMessage with type "message" for direct coordination.
Structure messages as:
[WHAT] - One line summary of the point
[DETAIL] - Supporting information (if needed)
[ACTION] - What you need from the recipient (if anything)Effective:
SendMessage -> backend teammate:
"The profile API needs a PUT /profile/preferences endpoint.
Frontend needs to update preferences without replacing the full profile.
Can you add this to the contract before implementing?"Ineffective:
SendMessage -> backend teammate:
"Hey, I was working on the frontend and I noticed we need
some changes. The profile page has this preferences feature where
users can update without replacing everything and I think we need
a new endpoint for that. What do you think? Also I noticed..."digraph message_type {
"Who needs this information?" [shape=diamond];
"Entire team?" [shape=diamond];
"broadcast (expensive)" [shape=box];
"SendMessage to specific teammate" [shape=box style=filled fillcolor=lightgreen];
"Who needs this information?" -> "Entire team?";
"Entire team?" -> "broadcast (expensive)" [label="yes - convention change, critical blocker"];
"Entire team?" -> "SendMessage to specific teammate" [label="no - most cases"];
}Broadcast only when:
Direct message for everything else (status reports, questions, findings, coordination).
When completing a task, report:
COMPLETED: [task name]
RESULT: [one-line summary]
FILES CHANGED: [list]
FINDINGS: [anything the lead or other teammates should know]
CONCERNS: [anything that might affect other tasks]## What Was Built
[Summary - what changed and why]
## Files Changed
[Exact paths, one per line]
## Test Results
[Pass/fail counts, any notable results]
## Self-Review Notes
[Issues found and resolved during self-review]
[Remaining concerns]
## Verification Command
[Exact command to run]## Issues Identified
[List each issue with file:line reference]
## Priority
- Blocking: [must resolve before approval]
- Important: [should resolve]
- Suggestion: [consider for improvement]
## Scope Boundaries
[Do not refactor while fixing — stay focused]## Hypothesis Under Test
[What was being investigated]
## Evidence
- Supporting: [evidence favoring the hypothesis]
- Contradicting: [evidence against the hypothesis]
## Confidence
[High/Medium/Low with reasoning]
## Recommendation
[Next steps based on findings]
## Cross-Cutting Discoveries
[Anything that affects other investigations]| Agent Type | Target Context | Rationale |
|---|---|---|
| Implementer | Task + pattern + files | Focus on building |
| Reviewer | Spec + diff + checklist | Focus on verifying |
| Investigator | Hypothesis + evidence locations | Focus on discovering |
| Teammate message | Action needed + minimal context | Respect their context window |
When an agent encounters an unresolvable problem:
digraph escalation {
"Agent hits obstacle" [shape=box];
"Can resolve independently?" [shape=diamond];
"Resolve it" [shape=box];
"Affects only own task?" [shape=diamond];
"Report to lead at task completion" [shape=box];
"Message lead immediately" [shape=box];
"Affects other teammates?" [shape=diamond];
"Message affected teammates" [shape=box];
"Agent hits obstacle" -> "Can resolve independently?";
"Can resolve independently?" -> "Resolve it" [label="yes"];
"Can resolve independently?" -> "Affects only own task?" [label="no"];
"Affects only own task?" -> "Report to lead at task completion" [label="yes"];
"Affects only own task?" -> "Affects other teammates?" [label="no - blocks others"];
"Affects other teammates?" -> "Message affected teammates" [label="yes"];
"Affects other teammates?" -> "Message lead immediately" [label="no - requires lead decision"];
}Escalation message format:
BLOCKED: [what is blocked]
CAUSE: [why it is blocked]
ATTEMPTED: [what was tried]
NEED: [what would unblock - decision, information, or fix]| Rationalization | Truth |
|---|---|
| "More context is always helpful" | More context = more distraction. Lean context produces better results for independent tasks. |
| "They can figure out what's relevant" | Agents waste tokens parsing irrelevant content. Curate context for them. |
| "Just read the plan file" | Plan files contain all tasks. The agent gets distracted by other tasks. Paste only the relevant portion. |
| "I'll explain informally, no structure needed" | Unstructured prompts produce unstructured results. Use the template. |
| "Short messages seem curt" | Concise messages respect the recipient's context window. |
| "I'll report everything I found" | Report what is actionable. Filter noise before sending. |
Prohibited:
Mandatory:
Consumed by:
Complements:
© NoobyGains, 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 skills/agent-messaging of NoobyGains/godmode.
Open the folder on GitHubat commit 441103a
Agent Messaging 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 |
|---|---|---|---|---|---|---|
| Agent Messaging this skillNoobyGains/godmode | 107 | — | ~3k | Automated safety check: Pass | MIT | |
| Claude Code Agent Developmentanthropics/claude-plugins-official | 38k | 8 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Subagent Driven DevelopmentAsvarox/allkaraoke | 261 | 38 repos | ~1.2k | Automated safety check: Pass | None | |
| Dispatching Parallel Agentsultralisp/ultralisp | 258 | 41 repos | ~1.5k | Automated safety check: Pass | None | |
| Paseo Advisor Second Opiniongetpaseo/paseo | 20k | 1 repos | ~756 | Automated safety check: Pass | Custom licence | |
| Task Observerrebelytics/one-skill-to-rule-them-all | 3.2k | 1 repos | ~12k | Automated safety check: Pass | CC-BY-4.0 |
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
Asvarox/allkaraoke
A skill your agent uses when executing implementation plans with independent tasks in the current session
ultralisp/ultralisp
A skill your agent uses when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
getpaseo/paseo
Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.
rebelytics/one-skill-to-rule-them-all
Monitors task execution for skill improvement opportunities.
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
NoobyGains/godmode
A skill your agent uses when starting any conversation - establishes how to locate and invoke skills, mandating Skill tool usage before ANY response including clarifying questions
NoobyGains/godmode
A skill your agent uses when building ANY feature within an existing project - search the current codebase for existing patterns, conventions, similar implementations, and established approaches…
NoobyGains/godmode
A skill your agent uses when about to declare work done, fixed, or passing, before committing or opening PRs - demands executing verification commands and reading their output before making any…
NoobyGains/godmode
A skill your agent uses when implementing any substantial feature, multi-file modification, or architectural change - produces a plain-language walkthrough of every alteration so the developer can…
NoobyGains/godmode
A skill your agent uses when executing implementation plans with independent tasks in the current session
NoobyGains/godmode
A skill your agent uses when making technology, hosting, or infrastructure decisions — recommends services, databases, and deployment strategies based on project requirements and what the user…
Categories
A skill your agent uses when dispatching subagents, composing prompts for teammates, structuring handoff reports, or managing context boundaries between agents. Agent Messaging is an agent skill from NoobyGains/godmode. Use when dispatching subagents, composing prompts for teammates, structuring handoff reports, or managing context boundaries between agents.
Agent Messaging fits situations like: dispatching subagents; composing prompts for teammates; structuring handoff reports; managing context boundaries between agents.
Run `npx skills add NoobyGains/godmode --skill agent-messaging -a claude-code`. Or copy the skill folder (skills/agent-messaging in NoobyGains/godmode) into .claude/skills/agent-messaging in your project. Claude Code loads it when a task matches its description.
Run `npx skills add NoobyGains/godmode --skill agent-messaging -a codex`. Or copy the skill folder (skills/agent-messaging in NoobyGains/godmode) into .agents/skills/agent-messaging 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 NoobyGains/godmode --skill agent-messaging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agent-messaging, .gemini/skills/agent-messaging, .github/skills/agent-messaging and .opencode/skills/agent-messaging in your project.
SKILL.md names no scripts, command-line tools or credentials: Agent Messaging is instructions for the agent only.
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.
Agent Messaging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k 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 Agent Messaging: Claude Code Agent Development (anthropics/claude-plugins-official, 38k stars), Subagent Driven Development (Asvarox/allkaraoke, 261 stars), Dispatching Parallel Agents (ultralisp/ultralisp, 258 stars) and Paseo Advisor Second Opinion (getpaseo/paseo, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
NoobyGains (a GitHub user) maintains it in NoobyGains/godmode, which has 107 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on March 9, 2026.
Source: NoobyGains/godmode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.