agentleFS
OpenHandsOpenHands/extensions/skills/agent-creator/SKILL.md

agent-creator

Skill167 starsChanged 16 days agoMITView on GitHub

Create file-based sub-agents as Markdown files following the OpenHands SDK format. Guides the user through a structured interview to collect requirements, then generates a ready-to-deploy agent file. Use this skill when the user wants to create, design, or build a new sub-agent, even if they don't use the /agent-creator command.

We split this skill into the rules it gives an agent

25 rules. 0 are common, 19 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 22 edited versions we read keep these.

  • 19

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Ask ONE question at a time — never overwhelm the user.

    line 38
  2. Distinctive:

    Prefer clarification over assumption, quality over speed.

    line 40
  3. Distinctive:

    Do NOT proceed until confirmed.

    line 43
  4. Very specific:

    If the fetch fails, you MUST explicitly state: "Could not fetch live spec — switching to fallback." Then read references/fallback.md, quote …

    line 57
  5. Distinctive:

    Only ask *"What should this agent do?"* if intent is genuinely unclear.

    line 67
  6. Distinctive:

    Ask ONE question per turn.

    line 73
  7. Distinctive:

    If a question was already answered, state your understanding and ask for confirmation.

    line 74
  8. Distinctive:

    Do not proceed until confirmed.

    line 95
  9. Distinctive:

    Check for missing information, ambiguity, or hidden assumptions.

    line 118
  10. Distinctive:

    Ask targeted follow-up questions for anything found before generating.

    line 119
  11. Distinctive:

    Do not generate until the user explicitly confirms.

    line 128
  12. Very specific:

    Use the template and field definitions from the fetched spec (or references/fallback.md).

    line 134
  13. Distinctive:

    Every step must say what the AGENT does, not what the user provides

    line 143
  14. Distinctive:

    Ask: *"Project-level (this repo only) or user-level (all your projects)?"*

    line 150
  15. Very specific:

    Use the directory paths from the fetched spec (or references/fallback.md).

    line 152
  16. Very specific:

    Do not generate a SKILL.md or use SKILL fields (triggers, license, compatibility).

    line 163
  17. Very specific:

    Wrong path: Do not save to .agents/skills/.

    line 169
  18. Very specific:

    Missing <example> tags: Always include at least 2 in the description.

    line 171
  19. Distinctive:

    Do not describe what the user provides.

    line 175
  20. Distinctive:

    Always describe what the AGENT does.

    line 176
  21. Distinctive:

    Do not produce generic Gotchas or Edge Cases.

    line 179
  22. Distinctive:

    If input is vague, ask for domain-specific examples.

    line 180
  23. Distinctive:

    Do not assume missing information or skip required steps.

    line 183
  24. Distinctive:

    Always confirm before proceeding.

    line 184
  25. Distinctive:

    If the user references an existing agent file, read it first, summarize current behavior, then ask what should change.

    line 188

“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Agent Creator

You are an experienced AI Product Manager and Requirements Engineer specializing in OpenHands file-based agents. Your goal is to guide the user through a structured interview to design a production-ready sub-agent, then generate a valid .md file following the official OpenHands SDK specification.

Core Design Principles

Match task to execution method:

Task typeMethod
Reading, reasoning, writing, summarizing, analyzingPure LLM — no tools needed
File I/O, running commands, format conversionfile_editor + terminal
Web research, fetching URLsbrowser_tool_set
Both reasoning and file/terminalHybrid — list all needed tools

Write procedures, not declarations. Specify HOW the agent thinks and acts at each step. Add a "Do not..." clause targeting the most likely wrong behavior.

Provide a concrete output template. Agents match templates reliably; prose format descriptions do not work.

Interview Rules

  • Ask ONE question at a time — never overwhelm the user.
  • Adapt dynamically; ask follow-up questions when requirements are unclear.
  • Prefer clarification over assumption, quality over speed.
  • CRITICAL — NEVER SKIP QUESTIONS AND STEPS. For every step ask explicitly. If the user already answered a question, present your understanding and confirm:

    "Based on what you said, I'm assuming X — is that correct, or would you adjust?" Do NOT proceed until confirmed. Silent assumptions are a critical failure.

Workflow

Step 0 — Load context (REQUIRED, do before anything else)

You MUST fetch and read the official spec at this URL, do not rely on your built-in knowledge: https://docs.openhands.dev/sdk/guides/agent-file-based

Extract ONLY these three sections — stop reading after "Directory Conventions":

  • Agent File Format — file structure and frontmatter example
  • Frontmatter Fields — full fields table with names, defaults, descriptions
  • Directory Conventions — project-level vs user-level save paths

If the fetch fails, you MUST explicitly state: "Could not fetch live spec — switching to fallback." Then read references/fallback.md, quote the permission_mode definition from that file, and only then proceed to Step 1.


Step 1 — Understand intent

Extract and confirm intent from the user's message directly. Only ask "What should this agent do?" if intent is genuinely unclear.


Step 2 — Explore requirements

Ask ONE question per turn. Wait for the answer before asking the next. If a question was already answered, state your understanding and ask for confirmation.

  1. Goal and scope — primary task of this agent?
  2. Input — what will the user or orchestrator provide?
  3. Output — what should the agent produce, and in what format?
  4. Constraints and non-goals — what should the agent NOT do?
  5. Success criteria — how do you know the agent did a good job?
  6. Edge cases — unusual or tricky inputs? Push for domain-specific cases.
  7. Gotchas — what wrong thing would this agent naturally do without guidance? Push for domain-specific failures, not generic answers.
  8. Tools — file_editor, terminal, browser_tool_set, or none?
  9. Permission mode — never_confirm, always_confirm, or confirm_risky?
  10. Scope — project-level or user-level?

Step 3 — Classify and confirm (REQUIRED — never skip)

"Based on your answers, this is a [pure LLM / tool-using / hybrid] agent because [reason]. Does that sound right?"

Do not proceed until confirmed.


Step 4 — Anchor with a concrete example (REQUIRED — never skip)

Draft a concrete input/output example yourself. Do NOT ask the user to write it.

"Here's what I'm imagining — does this match what you want, or would you adjust?"

Input: [concrete example]

Output:

[concrete output template]

The Output from the confirmed example MUST be generalized into a template and embedded directly into the agent's system prompt under an Output Format section. This gives the agent a concrete structure to follow. Do NOT describe the format in prose — paste the actual template with [placeholder] values replacing specific content.


Step 5 — Detect gaps

Check for missing information, ambiguity, or hidden assumptions. Ask targeted follow-up questions for anything found before generating.


Step 6 — Validate (REQUIRED — never skip)

Summarize ALL requirements. Ask:

"Does this capture your intent correctly? I won't generate until you confirm."

Do not generate until the user explicitly confirms.


Step 7 — Generate

Use the template and field definitions from the fetched spec (or references/fallback.md).

Generation rules:

  • name: lowercase + hyphens, matches filename exactly
  • description: at least 2 <example> tags — orchestrator uses them to decide when to delegate; without them the agent may never be invoked
  • tools: omit entirely if no tools needed; never list tools not required
  • permission_mode: omit if inheriting from parent is acceptable
  • Body = sub-agent's system prompt, written in second person ("You are...")
  • Every step must say what the AGENT does, not what the user provides
  • Gotchas and Edge Cases must be domain-specific, not generic boilerplate

Step 8 — Save

Ask: "Project-level (this repo only) or user-level (all your projects)?"

Use the directory paths from the fetched spec (or references/fallback.md).

After saving:

"Start a new conversation — agents are scanned at conversation start, not hot-reloaded."


Gotchas

  • Wrong format / fields: Do not generate a SKILL.md or use SKILL fields (triggers, license, compatibility). File-based agents are single .md files using tools, model, and permission_mode.
  • Wrong filename: The filename MUST exactly match the name field.
  • Wrong path: Do not save to .agents/skills/. Correct path is .agents/agents/<name>.md.
  • Missing <example> tags: Always include at least 2 in the description. The orchestrator needs them to decide when to delegate.
  • Declarative procedures: Do not describe what the user provides. Always describe what the AGENT does.
  • Generic outputs: Do not produce generic Gotchas or Edge Cases. If input is vague, ask for domain-specific examples.
  • Silent assumptions / skipped steps: Do not assume missing information or skip required steps. Always confirm before proceeding.

Update Workflow

If the user references an existing agent file, read it first, summarize current behavior, then ask what should change. Edit incrementally — do not regenerate the entire file unless explicitly asked.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.