Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
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 10/6/2026
ai-agentsrustgosqlgitapibackendperformance

Works with

api

Security Analysis

A100/100

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

Scanned 10/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 automatically 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
Files
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`.

Attribution

datar-gauravdatar-gaurav
View sourceSee grades on GitHubMore from datar-gaurav β†’
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents β†’