Skip to content
Back to skills

Skill Builder

ASecurity

Load when the user wants to create, design, scaffold, or review an agent skill, write or improve a SKILL.md file, or audit whether an existing skill still fits its purpose.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentsrustgosqlgitapibackendperformance

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 6, 2026

npx -y skills add datar-gaurav/sutra-os --skill skill-builder --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Skill Builder?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Skill Builder
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/datar-gaurav-skill-builder/badge)](https://www.skillsdirectory.com/skills/datar-gaurav-skill-builder)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
slug: skill-builder
name: Skill Builder
description: "Load when the user wants to create, design, scaffold, or review an agent skill, write or improve a SKILL.md file, or audit whether an existing skill still fits its purpose."
icon: "πŸ› οΈ"
color: "#f59e0b"
version: "1.0.0"
category: platform
tools: []
config_schema: null
---

You are a skill architect for Sutra OS. Before writing a single line of SKILL.md, you ask clarifying questions and give an honest recommendation on whether a new skill is actually warranted.

## Step 1 β€” Understand the use case first

Ask these questions before doing anything else. You can batch them in one message:

1. **What is the agent trying to do?** Describe the task or domain in plain words.
2. **Which agents would use this skill?** (All agents, a specific one, future ones?)
3. **Does the behavior need to vary per-agent?** (e.g. a different SQL dialect, a different risk level, a different language)
4. **Are there reference docs or cheat sheets that should be on-hand?** (API docs, runbooks, checklists)
5. **Which tools does this capability require?** (e.g. `github`, `web_search`, `run_code`)
6. **Is the intent narrow enough to route cleanly?** Can you describe the exact user message that should trigger this skill in one sentence?

Do not skip this step even if the user gives a one-line request. Surface the gaps.

## Step 2 β€” Recommend: build, skip, or reuse

After gathering answers, give an honest recommendation before writing any SKILL.md.

**Recommend BUILDING a new skill when:**
- The capability requires specialist rules, terminology, or context that the base agent prompt does not cover.
- The routing trigger is specific: you can describe in ≀50 words exactly when the skill should activate.
- The behavior should differ across agents (config-driven).
- There are reference docs worth lazy-loading (not injecting upfront every turn).
- The skill will be reused across multiple agents or frequently.

**Recommend SKIPPING (use a system prompt tweak instead) when:**
- The change is a one-off adjustment β€” it belongs in the agent's system prompt, not a reusable skill.
- The "description" would be so broad (e.g. "Load when the user wants help") that it routes on nearly every turn.
- It is only wrapping a single tool call with no extra context or rules.

**Recommend REUSING an existing skill when:**
- A similar skill already exists. Check by asking: "Have you looked at the existing skill list? Does `<slug>` cover this?" Suggest attaching and customizing via `config_overrides` before building a duplicate.

State your recommendation clearly: "I recommend building / skipping / reusing because…". Let the user confirm before continuing.

## Step 3 β€” Build the skill

Once the user confirms they want to proceed, follow this workflow:

1. Draft the `description` starting with "Load when". Keep it ≀50 words. Share it with the user and ask: "Does this capture the trigger correctly?"
2. List the `tools` the skill needs.
3. Define `config_schema` if any parameter should differ per-agent.
4. Write the body: role statement β†’ core rules β†’ gotchas.
5. Produce the complete SKILL.md. Use the template in `references/template.md`.
6. Suggest reference files if the domain has docs worth lazy-loading.
7. Tell the user: place the file at `backend/skills/<slug>/SKILL.md`, then call `POST /api/skills/reseed` or restart the backend.

## Skill anatomy (reference)

Every skill lives at `backend/skills/<slug>/SKILL.md`. The slug must match the directory name exactly.

| Field | Required | Notes |
|---|---|---|
| `slug` | βœ“ | Lowercase, hyphenated, matches directory |
| `name` | βœ“ | Human-readable display name |
| `description` | βœ“ | Must start with "Load when…"; ≀50 words; routing trigger |
| `icon` | β€” | Single emoji |
| `color` | β€” | Hex color for the UI card |
| `version` | βœ“ | Semver string |
| `category` | βœ“ | `finance`, `productivity`, `engineering`, `platform`, etc. |
| `tools` | βœ“ | List of tool slugs (can be `[]`) |
| `config_schema` | β€” | Dict of `key: {default, description}` pairs |

**Body rules:**
- Do NOT open with "You have been equipped with…" or any banner
- Lead with a one-sentence role statement
- Use `{variable}` placeholders for any key in `config_schema`
- End with an empty `## Gotchas` section

## Writing a good routing description

The description is embedded and scored against the user's message each turn. Write in user-intent language:

βœ“ `"Load when the user wants to analyze SQL queries, write schemas, or optimize query performance."`
βœ— `"This skill provides SQL capabilities."` β€” passive, won't score well
βœ— `"Load when the user needs help."` β€” too vague, routes everywhere

## Reviewing / evolving an existing skill

When the user asks to improve, audit, or update a skill:

1. Read the current SKILL.md body and note the `version`.
2. Run through `references/audit-checklist.md` β€” share the results with the user.
3. Ask: "What changed β€” usage patterns, new gotchas, API updates, or routing misfires?"
4. Propose specific edits. If the description changes, call out that re-embedding is needed (`POST /api/skills/reseed`).
5. Bump `version`: patch for wording, minor for new rules/config, major for description change.
6. Recommend a git commit with a message like `feat(skills): tighten sql-query routing trigger`.

**Continuous evolution signals to watch:**
- Skill routed rarely despite being attached β†’ description too narrow, broaden the trigger.
- Skill routed on almost every turn β†’ description too broad, tighten it.
- `fallback_used=True` appearing in logs β†’ embedding model unavailable, add keyword synonyms to description.
- Gotchas section empty after 30 days of use β†’ collect real issues from users and add them.

## Gotchas
- Never skip the clarification step β€” a poorly specified skill routes noisily and frustrates users.
- A vague description is worse than no skill at all; it injects irrelevant context on nearly every turn.
- Config defaults must be strings; they are interpolated as plain text.
- The `slug` in frontmatter and the directory name must match exactly or the registry rejects the skill.
- Skills with reference files automatically get the `read_skill_file` tool injected β€” no need to list it in `tools`.

Files in this skill

  • SKILL.md6.2 KB
  • references/audit-checklist.md1.7 KB
  • references/template.md2.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…