Agent Development logo

Agent Development

Organization
sundial-org
agent-development

Design and build custom Claude Code agents with effective descriptions, tool access patterns, and self-documenting prompts. Covers Task tool delegation, model selection, memory limits, and declarative instruction design. Use when: creating custom agents, designing agent descriptions for auto-delegation, troubleshooting agent memory issues, or building agent pipelines.

Overview

Publishersundial-org
Repositoryawesome-openclaw-skills
Skill nameagent-development
Stars
664
Forks
97
Bundled files
5
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 5 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by sundial-org on GitHub. Read the source before you install it.

Installation

Install the Agent Development AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/sundial-org/awesome-openclaw-skills/tree/main/skills/agent-development
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/sundial-org/awesome-openclaw-skills.git /tmp/awesome-openclaw-skills
mkdir -p .claude/skills
cp -r /tmp/awesome-openclaw-skills/skills/agent-development .claude/skills/agent-development
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Agent Development in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Agent Development on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Agent Development is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Agent Development for Claude Code

Build effective custom agents for Claude Code with proper delegation, tool access, and prompt design.

Agent Description Pattern

The description field determines whether Claude will automatically delegate tasks.

Strong Trigger Pattern

yaml
---
name: agent-name
description: |
  [Role] specialist. MUST BE USED when [specific triggers].
  Use PROACTIVELY for [task category].
  Keywords: [trigger words]
tools: Read, Write, Edit, Glob, Grep, Bash
model: sonnet
---

Weak vs Strong Descriptions

Weak (won't auto-delegate)Strong (auto-delegates)
"Analyzes screenshots for issues""Visual QA specialist. MUST BE USED when analyzing screenshots. Use PROACTIVELY for visual QA."
"Runs Playwright scripts""Playwright specialist. MUST BE USED when running Playwright scripts. Use PROACTIVELY for browser automation."

Key phrases:

  • "MUST BE USED when..."
  • "Use PROACTIVELY for..."
  • Include trigger keywords

Delegation Mechanisms

  1. Explicit: Task tool subagent_type: "agent-name" - always works
  2. Automatic: Claude matches task to agent description - requires strong phrasing

Session restart required after creating/modifying agents.

Tool Access Principle

If an agent doesn't need Bash, don't give it Bash.

Agent needs to...Give toolsDon't give
Create files onlyRead, Write, Edit, Glob, GrepBash
Run scripts/CLIsRead, Write, Edit, Glob, Grep, Bash—
Read/audit onlyRead, Glob, GrepWrite, Edit, Bash

Why? Models default to cat > file << 'EOF' heredocs instead of Write tool. Each bash command requires approval, causing dozens of prompts per agent run.

Allowlist Pattern

Instead of restricting Bash, allowlist safe commands in .claude/settings.json:

json
{
  "permissions": {
    "allow": [
      "Write", "Edit", "WebFetch(domain:*)",
      "Bash(cd *)", "Bash(cp *)", "Bash(mkdir *)", "Bash(ls *)",
      "Bash(cat *)", "Bash(head *)", "Bash(tail *)", "Bash(grep *)",
      "Bash(diff *)", "Bash(mv *)", "Bash(touch *)", "Bash(file *)"
    ]
  }
}

Model Selection (Quality First)

Don't downgrade quality to work around issues - fix root causes instead.

ModelUse For
OpusCreative work (page building, design, content) - quality matters
SonnetMost agents - content, code, research (default)
HaikuOnly script runners where quality doesn't matter

Memory Limits

Root Cause Fix (REQUIRED)

Add to ~/.bashrc or ~/.zshrc:

bash
export NODE_OPTIONS="--max-old-space-size=16384"

Increases Node.js heap from 4GB to 16GB.

Parallel Limits (Even With Fix)

Agent TypeMax ParallelNotes
Any agents2-3Context accumulates; batch then pause
Heavy creative (Opus)1-2Uses more memory

Recovery

  1. source ~/.bashrc or restart terminal
  2. NODE_OPTIONS="--max-old-space-size=16384" claude
  3. Check what files exist, continue from there

Sub-Agent vs Remote API

Always prefer Task sub-agents over remote API calls.

AspectRemote API CallTask Sub-Agent
Tool accessNoneFull (Read, Grep, Write, Bash)
File readingMust pass all content in promptCan read files iteratively
Cross-referencingSingle context windowCan reason across documents
Decision qualityGeneric suggestionsSpecific decisions with rationale
Output quality~100 lines typical600+ lines with specifics
typescript
// ❌ WRONG - Remote API call
const response = await fetch('https://api.anthropic.com/v1/messages', {...})

// ✅ CORRECT - Use Task tool
// Invoke Task with subagent_type: "general-purpose"

Declarative Over Imperative

Describe what to accomplish, not how to use tools.

Wrong (Imperative)

markdown
### Check for placeholders
```bash
grep -r "PLACEHOLDER:" build/*.html

### Right (Declarative)

```markdown
### Check for placeholders
Search all HTML files in build/ for:
- PLACEHOLDER: comments
- TODO or TBD markers
- Template brackets like [Client Name]

Any match = incomplete content.

What to Include

IncludeSkip
Task goal and contextExplicit bash/tool commands
Input file paths"Use X tool to..."
Output file paths and formatStep-by-step tool invocations
Success/failure criteriaShell pipeline syntax
Blocking checks (prerequisites)Micromanaged workflows
Quality checklists

Self-Documentation Principle

"Agents that won't have your context must be able to reproduce the behaviour independently."

Every improvement must be encoded into the agent's prompt, not left as implicit knowledge.

What to Encode

DiscoveryWhere to Capture
Bug fix patternAgent's "Corrections" or "Common Issues" section
Quality requirementAgent's "Quality Checklist" section
File path conventionAgent's "Output" section
Tool usage patternAgent's "Process" section
Blocking prerequisiteAgent's "Blocking Check" section

Test: Would a Fresh Agent Succeed?

Before completing any agent improvement:

  1. Read the agent prompt as if you have no context
  2. Ask: Could a new session follow this and produce the same quality?
  3. If no: Add missing instructions, patterns, or references

Anti-Patterns

Anti-PatternWhy It Fails
"As we discussed earlier..."No prior context exists
Relying on files read during devAgent may not read same files
Assuming knowledge from errorsAgent won't see your debugging
"Just like the home page"Agent hasn't built home page

Agent Prompt Structure

Effective agent prompts include:

markdown
## Your Role
[What the agent does]

## Blocking Check
[Prerequisites that must exist]

## Input
[What files to read]

## Process
[Step-by-step with encoded learnings]

## Output
[Exact file paths and formats]

## Quality Checklist
[Verification steps including learned gotchas]

## Common Issues
[Patterns discovered during development]

Pipeline Agents

When inserting a new agent into a numbered pipeline (e.g., HTML-01 → HTML-05 → HTML-11):

Must UpdateWhat
New agent"Workflow Position" diagram + "Next" field
Predecessor agentIts "Next" field to point to new agent

Common bug: New agent is "orphaned" because predecessor still points to old next agent.

Verification:

bash
grep -n "Next:.*→\|Then.*runs next" .claude/agents/*.md

The Sweet Spot

Best use case: Tasks that are repetitive but require judgment.

Example: Auditing 70 skills manually = tedious. But each audit needs intelligence (check docs, compare versions, decide what to fix). Perfect for parallel agents with clear instructions.

Not good for:

  • Simple tasks (just do them)
  • Highly creative tasks (need human direction)
  • Tasks requiring cross-file coordination (agents work independently)

Effective Prompt Template

For each [item]:
1. Read [source file]
2. Verify with [external check - npm view, API call, etc.]
3. Check [authoritative source]
4. Score/evaluate
5. FIX issues found ← Critical instruction

Key elements:

  • "FIX issues found" - Without this, agents only report. With it, they take action.
  • Exact file paths - Prevents ambiguity
  • Output format template - Ensures consistent, parseable reports
  • Batch size ~5 items - Enough work to be efficient, not so much that failures cascade

Workflow Pattern

1. ME: Launch 2-3 parallel agents with identical prompt, different item lists
2. AGENTS: Work in parallel (read → verify → check → edit → report)
3. AGENTS: Return structured reports (score, status, fixes applied, files modified)
4. ME: Review changes (git status, spot-check diffs)
5. ME: Commit in batches with meaningful changelog
6. ME: Push and update progress tracking

Why agents don't commit: Allows human review, batching, and clean commit history.

Signs a Task Fits This Pattern

Good fit:

  • Same steps repeated for many items
  • Each item requires judgment (not just transformation)
  • Items are independent (no cross-item dependencies)
  • Clear success criteria (score, pass/fail, etc.)
  • Authoritative source exists to verify against

Bad fit:

  • Items depend on each other's results
  • Requires creative/subjective decisions
  • Single complex task (use regular agent instead)
  • Needs human input mid-process

Quick Reference

Agent Frontmatter Template

yaml
---
name: my-agent
description: |
  [Role] specialist. MUST BE USED when [triggers].
  Use PROACTIVELY for [task category].
  Keywords: [trigger words]
tools: Read, Write, Edit, Glob, Grep, Bash
model: sonnet
---

Fix Bash Approval Spam

  1. Remove Bash from tools if not needed
  2. Put critical instructions FIRST (right after frontmatter)
  3. Use allowlists in .claude/settings.json

Memory Crash Recovery

bash
export NODE_OPTIONS="--max-old-space-size=16384"
source ~/.bashrc && claude

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Agent Development AI skill do?

Design and build custom Claude Code agents with effective descriptions, tool access patterns, and self-documenting prompts. Covers Task tool delegation, model selection, memory limits, and declarative instruction design. Use when: creating custom agents, designing agent descriptions for auto-delegation, troubleshooting agent memory issues, or building agent pipelines.

Why use Agent Development on TypingMind?

Because you install it once and use it with any model. Agent Development is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Agent Development in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/sundial-org/awesome-openclaw-skills/tree/main/skills/agent-development. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Agent Development?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Agent Development?

As many as you like. As long as a model supports skills, you can use Agent Development with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Agent Development AI skill free?

Yes. It is published on GitHub by sundial-org under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇