Skill & Agent Builder

SkillMedia

Use when you want to design a new repo skill or agent and need help choosing the right pattern, structure, and rules.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Skill & Agent Builder skill

What this skill tells your AI

The instructions your AI receives, as published by j1ngg/tech-marketing-framework in .agents/skills/skill-builder/SKILL.md and read by ahel’s review.

This skill walks you through designing a new skill or agent from scratch. It enforces best practices, prevents over-engineering, and outputs a production-ready file that follows the conventions of this project.

The Core Question: Skill or Agent?

Before we build anything, we must decide what we are building.

SkillAgent
Interactive. User participates throughout.Autonomous. User delegates, receives results.
Guided production. Step by step.Delegated execution. Fire and forget.
Templated output. Predictable structure.Exploratory output. Shape depends on findings.
User makes decisions at each step.LLM makes decisions on its own.
Best for: content generation, workshops, structured workflowsBest for: review, research, quality checks

Examples from this project:

TypeExampleWhy
Skillmessaging-positioningUser participates in workshop, answers questions
Skillsocial-postsUser selects platform, provides inputs, reviews output
Agentasset-reviewerAutonomous review against criteria, returns findings

The decision rule:

Does the user need to participate in the process, or do they want to delegate and receive results?

If participate → Skill If delegate → Agent


Step 1: What Are You Building?

Ask the user:

Describe what you want to build in one sentence.

Examples:

  • "I want something that turns blog posts into email sequences"
  • "I want something that reviews my ads before I run them"
  • "I want something that researches competitors and summarizes findings"

Wait for the user to respond.


Step 2: Skill or Agent Recommendation

Based on the user's description, recommend skill or agent. Use this logic:

Recommend SKILL if:

  • The output is content (posts, emails, docs, copy)
  • The user needs to provide inputs at multiple stages
  • There are decisions to make (platform, format, tone)
  • The output structure is predictable
  • The workflow has clear steps

Recommend AGENT if:

  • The task is evaluation or review
  • The task is research or information gathering
  • The user wants to delegate completely
  • The output depends on what is discovered
  • No user decisions are needed during execution

If the user wants an agent but a skill would be better:

Say this:

"Based on your description, this sounds like content generation. Agents are best for autonomous tasks like review or research. Skills are better for guided production because they let you make decisions at each step (platform, format, inputs) and produce consistent output."

"I recommend building this as a skill. You will get better results because [specific reason based on their description]."

"Do you want to proceed with a skill, or do you still prefer an agent?"

Wait for the user to confirm before proceeding.


Step 3: The Four Questions

Once skill vs agent is decided, walk through these four questions. These are mandatory. Do not skip.

Question 1: What is the outcome?

Ask:

What should this [skill/agent] actually produce?

Push for specificity. Reject vague answers.

BadGood
"Help with business stuff""Summarize sales calls into action points"
"Create content""Turn product announcements into LinkedIn posts"
"Review things""Review ad copy for factual accuracy and banned words"

If the answer is vague, push back:

"That is too broad. A [skill/agent] that does everything will do nothing well. What is the ONE specific outcome you need?"

Question 2: What information does it need?

Ask:

What inputs does this [skill/agent] require to do its job?

Categories to probe:

  • User provided content (file path, URL, pasted text)
  • Project context (product brief, positioning doc, personas)
  • Configuration choices (platform, format, tone, audience)
  • External data (web search, API calls)

For skills: These become the "Gather Inputs" step. For agents: These become the files it reads or tools it uses.

Question 3: What actions should it be allowed to take?

Ask:

What can this [skill/agent] do? What is off limits?

Probe:

  • Read files?
  • Write files?
  • Search the web?
  • Use specific tools?
  • Call external APIs?

Critical: Less is more. Every tool adds complexity. If the task can be done without a tool, do not add it.

"One tool = one clear job. Do not add web search if the task is rewriting notes. Do not add file access if the prompt alone is enough."

Question 4: What rules must it follow?

Ask:

What constraints, rules, or quality standards must it follow?

Categories:

  • Tone and voice rules
  • Formatting requirements
  • Content restrictions (banned words, phrases)
  • Quality checks (what does "good" look like?)
  • Edge case handling (what to do when uncertain)

For this project, always include:

  • Reference to content-guidelines.md for any content generation
  • Reference to product_brief.md for any product claims
  • The formatting rules from CLAUDE.md (no dashes, no buzzwords, etc.)

Step 4: Design Formula

Summarize the design using this formula:

[Skill/Agent] = Role + Goal + Tools + Rules + Output Format

Example:

Skill: Email Generator
Role: Senior email copywriter for developer tools
Goal: Transform source content into email sequences for different audiences
Tools: File read (source content), file read (product brief, positioning)
Rules: No dashes, no buzzwords, cite product brief for claims, disclose affiliations
Output: Structured email with subject, preview text, body, CTA

Present this to the user and confirm before proceeding.


Step 5: Build the File

Generate the complete SKILL.md or agent .md file.

For Skills

Follow this structure (based on existing skills in this project):

---
name: [skill-name]
description: [One sentence. What it does, what it produces.]
autoload: false
---

# [Skill Title]

[One paragraph explaining what this skill does and when to use it.]

## Step 1: [First Decision Point]

[Ask user for input. Wait for response before proceeding.]

---

## Step 2: [Gather Inputs]

[List required inputs. Ask user to provide them.]

---

## Step 3: [Generate Output]

[Explain how output is generated. Include channel/format rules if applicable.]

---

## [Channel/Format] Rules

[Detailed rules for each output type. Use tables for constraints.]

---

## Output Format

[Show exact structure of output with examples.]

---

## Review Checklist

[Self-check before delivery. Use checkbox format.]

- [ ] Check 1
- [ ] Check 2
- [ ] Check 3

---

## Adaptation Notes

[Edge cases. What to do when inputs are missing or unusual.]

For Agents

Follow this structure (based on asset-reviewer):

---
name: [agent-name]
description: [One sentence. What it does, when to use it.]
tools: [List of tools: Read, Grep, Glob, WebSearch, etc.]
model: [opus/sonnet/haiku]
---

# [Agent Title]

[One paragraph establishing the agent's identity and purpose. Be specific about its role.]

## When Invoked

[Numbered steps the agent follows when triggered.]

1. [First action]
2. [Second action]
3. [etc.]

## Review/Evaluation Checklist

### 1. [Category Name]
- [ ] Check 1
- [ ] Check 2

### 2. [Category Name]
- [ ] Check 1
- [ ] Check 2

## Communication Protocol

[How the agent structures its output. What sections it includes.]

### [Output Section 1]
[What goes here]

### [Output Section 2]
[What goes here]

## Delivery Standard

[Tone and expectations for the agent's output.]

Step 6: Test Cases

Before delivering the file, generate 10 test cases for the user:

For skills: 10 realistic user requests that exercise different paths through the skill.

For agents: 10 realistic inputs that test edge cases, quality boundaries, and failure modes.

Include:

  • 5 standard cases (happy path)
  • 3 edge cases (unusual inputs, missing data)
  • 2 adversarial cases (inputs that might break it)

Anti-Patterns to Flag

If the user's design exhibits any of these, push back:

Over-Engineering

Symptom: Too many tools, too many modes, too many steps.

Response:

"This is too complex for a first version. Start with one job, one output format, and two tools maximum. Add complexity only if the simple version fails."

Vague Outcome

Symptom: "Help with X" instead of "Produce Y."

Response:

"What is the actual deliverable? A skill or agent that 'helps with' something is not testable. What artifact does the user walk away with?"

Premature Multi-Agent

Symptom: User wants to build multiple agents that coordinate.

Response:

"Start with one agent. Most people do not need multiple agents. A single agent with good tools handles most tasks. Only add more agents when you see clear evidence that one agent is struggling with distinct skills."

Tool Overload

Symptom: User wants to add web search, file access, database queries, APIs all at once.

Response:

"Does the task actually require all these? Every tool adds failure modes. If the task can be done with fewer tools, use fewer tools. Start with the minimum and add only when something breaks."


Completion

After generating the file:

  1. Present the complete SKILL.md or agent .md content.
  2. Tell the user where to save it:
    • Skills: .claude/skills/[skill-name]/SKILL.md
    • Agents: .claude/agents/[agent-name].md
  3. Remind them to add it to settings.local.json (for skills that need permissions).
  4. Remind them to add it to README.md (per project conventions).
  5. Provide the 10 test cases.

Reference: The Agentic Loop

For context, all agents follow this core loop:

User input → LLM thinks → LLM decides (respond or call tool) → if tool: execute, feed result back → repeat
  • The LLM is the "brain" that reasons.
  • Tools are the "hands" that perform actions.
  • Memory is the "notepad" that records what has happened.

Workflows are deterministic (same input = same path). Agents are dynamic (LLM decides the next step). Start with workflow patterns when possible. Graduate to autonomous agents only when the LLM needs to decide the execution path dynamically.


Reference: The Five Workflow Patterns

Before building a full agent, consider if one of these simpler patterns solves the problem:

PatternWhat It IsWhen to Use
Prompt ChainingSequential LLM calls, each processes previous outputTasks that decompose into fixed subtasks
RoutingClassify input, route to specialized handlerDifferent input types need different treatment
ParallelizationRun multiple LLM calls simultaneouslyIndependent subtasks or consensus voting
Orchestrator-WorkersCentral LLM delegates to worker LLMsComplex tasks where subtasks are not predictable
Evaluator-OptimizerOne LLM generates, another evaluates and loopsClear evaluation criteria exist

If one of these patterns works, you may not need a full agent. Skills often implement prompt chaining or routing internally.


Attribution

The agent design framework in this skill is adapted from "How to Build an AI Agent" by @hooeem. Specifically:

  • The four core questions (outcome, information, actions, rules)
  • The design formula: Agent = Role + Goal + Tools + Rules + Output Format
  • The five workflow patterns (prompt chaining, routing, parallelization, orchestrator-workers, evaluator-optimizer)
  • The anti-patterns and "start simple" philosophy

Original thread: https://x.com/hooeem/status/2037250422403113188

Signals

GitHub stars
56
Forks
8
Last commit
Apr 2026
Advanced
Catalog kind
skill
Gateway key
skill-builder-j1ngg
Source
github.com/j1ngg/tech-marketing-framework