subagent-authoring

Create subagents that delegate to skills for Claude Code and OpenCode.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "subagent-authoring" with this command: npx skills add aspiers/ai-config/aspiers-ai-config-subagent-authoring

Subagent Authoring

Create subagents that delegate to skills for Claude Code and OpenCode.

When to Use This Skill

Use this skill when:

  • Creating a new subagent definition

  • Refactoring an existing agent to delegate to a skill

  • Ensuring consistency between Claude Code and OpenCode agent implementations

The Delegation Pattern

Agents should be thin wrappers that delegate all implementation to skills:

Claude Code agent (.claude/agents/<name>.md ):


name: agent-name description: Brief description of what the agent does tools: Read, Grep, Glob, Skill(skill-name), ...

Use the &#x3C;skill-name> skill to accomplish this task.

OpenCode agent (.config/opencode/agents/<name>.md ):


description: Brief description of what the agent does mode: subagent tools: read: true grep: true glob: true skill: true permission: bash: ...

Use the &#x3C;skill-name> skill to accomplish this task.

Claude Code Agent Structure

Frontmatter Fields

Field Required Description

name

Yes Agent identifier (lowercase, no spaces)

description

Yes 1-2 sentence description of what the agent does

tools

Yes List of tools and skills the agent can use

model

No Specific model to use (e.g., sonnet )

tools Format

  • Read , Write , Edit , Grep , Glob , Bash

  • Core tools

  • Skill(skill-name)

  • Load a skill

  • Bash(command:*)

  • Allow bash command with any arguments (note the colon)

Bash permission syntax (Claude Code uses colons, not spaces):

Allow git commit with any arguments

Bash(git commit:*)

Allow all git commands

Bash(git:*)

Allow specific script

Bash(~/.agents/skills/my-skill/scripts/helper.py:*)

Example:

tools: Read, Grep, Glob, Bash(git status:), Bash(git commit:), Skill(code-linting)

Documentation: https://docs.anthropic.com/en/docs/claude-code/settings#tool-permissions

Naming Conventions

Subagent names should be agent nouns formed with the -er suffix (meaning "one who does X"):

  • ✅ git-committer , git-stager , code-linter , test-runner , task-implementer

  • ❌ git-commit , commit-helper , committing-agent

The -er suffix creates agent/instrument nouns:

  • committer = one who commits

  • stager = one who stages

  • implementer = one who implements

OpenCode Agent Structure

Frontmatter Fields

Field Required Description

description

Yes 1-2 sentence description

mode

Yes Agent mode (subagent , primary )

tools

Yes Map of tool names to boolean enablement

permission

Yes Map of tool categories to permission rules

tools Format

tools: read: true grep: true glob: true bash: true edit: false write: false skill: true

Common tool mappings

Claude Tool OpenCode Equivalent

Read

read: true

Write

write: true

Edit

edit: true

Grep

grep: true

Glob

glob: true

Bash

bash: true

Skill(x)

skill: true

Agent Body

The agent body should be 5-20 lines maximum and contain only:

Use the &#x3C;skill-name> skill to accomplish this task.

Do NOT include:

  • Full implementation steps

  • Duplicated content between Claude and OpenCode

  • More than ~20 lines of content

Examples

Minimal Agent (Claude)


name: code-linter description: Code linting specialist tools: Read, Grep, Glob, Bash, Skill(code-linting)

Use the code-linting skill to run linters.

Minimal Agent (OpenCode)


description: Code linting specialist mode: subagent tools: read: true grep: true glob: true bash: true skill: true

Use the code-linting skill to run linters.

Agent with Bash Permissions (OpenCode)

OpenCode uses spaces in permission patterns (unlike Claude Code which uses colons):


description: Run tests mode: subagent tools: bash: true read: true grep: true glob: true skill: true permission: bash: "*": "ask" "pytest *": "allow" "npm test": "allow" "git status": "allow" "git commit *": "allow"

Use the test-running skill to run tests.

Documentation: https://opencode.ai/docs/permissions

Primary Mode Agent (OpenCode)


description: Orchestrates development workflow mode: primary tools: read: true write: true edit: true bash: true grep: true glob: true todowrite: true todoread: true

Use the task-orchestration skill to orchestrate the development workflow.

Mode Selection

Mode Use When

subagent

Agent is invoked by another agent or command

primary

Agent is the main agent handling the conversation

Why This Pattern?

  • Single source of truth: Skills contain all implementation content

  • Easier maintenance: Changes to skills automatically propagate

  • Platform consistency: Agents are thin wrappers with platform-specific config

  • Token efficiency: Skills load progressively via progressive disclosure

  • No duplication: Implementation lives in one place

Anti-Pattern to Avoid

BAD - Agent with full implementation:


name: code-linter description: Code linting specialist tools: Read, Grep, Glob, Bash

You are a senior code reviewer responsible for ensuring that code changes pass all linters...

When to Use This Agent PROACTIVELY

Always use immediately after:

  • Creating new source code files
  • Modifying existing code...

What This Agent Does

  1. Discovers all appropriate linters...
  2. Runs formatting checks...
  3. Auto-fixes issues...
  4. Reports remaining issues...

Linting Process

Run linters according to repository guidelines. First look for linting commands in the following order: ...

GOOD - Agent that delegates:


name: code-linter description: Code linting specialist tools: Read, Grep, Glob, Bash, Skill(code-linting)

Use the code-linting skill to run linters.

Workflow

  • Create the skill first (or identify existing skill to use)

  • Create/refactor Claude agent with proper frontmatter and delegation

  • Create/refactor OpenCode agent with matching content and platform-specific config

  • Verify both agents delegate correctly

Related Skills

  • agent-command-authoring

  • For creating commands that delegate to skills

  • skill-authoring

  • For creating skills themselves

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

code-refactoring-dry

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-refactoring-small

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

iterative-development

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-linting

No summary provided by upstream source.

Repository SourceNeeds Review