Skip to content
Back to skills

Make Skill

ASecurity

Learn how to create an Agent Skill. Use when you have a capability to share or want to package something reusable.

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
documentationpythongobashgitdocumentation

Works with

  • cli

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill make-skill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Make Skill?

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

Security grade badge for Make Skill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-make-skill/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-make-skill)

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
---
name: make-skill
description: Learn how to create an Agent Skill. Use when you have a capability to share or want to package something reusable.
license: Unlicense
metadata:
  author: community
  version: "0.1"
---

# Make Skill

How to create an Agent Skill that other agents (and humans) can discover and use.

## When to Use

- You've built something useful and want to share it
- You want to package a repeatable workflow
- You're teaching an agent how to do something specific

## Quick Start

### Using Scripts (Recommended)

```bash
# 1. First time only: create your skills repo
python scripts/init.py my-skills --public

# 2. Create a new skill inside your repo
python scripts/create.py my-skill-name --output ./my-skills/ --author "You"

# 3. Edit SKILL.md and add your code to scripts/

# 4. Publish (commits and pushes to your repo)
python scripts/publish.py ./my-skills/my-skill-name
```

### Manual Setup

1. Copy `references/template/` to your new skill folder
2. Edit the SKILL.md frontmatter (name, description)
3. Replace the example script with your code
4. Push to GitHub with topic `agentskills`

Done. Your skill is now discoverable.

## The Format

A skill is a folder:

```
my-skill/
  SKILL.md          # Required: frontmatter + instructions
  scripts/          # Optional: executable code
  references/       # Optional: additional documentation
  assets/           # Optional: templates, data files
```

### SKILL.md Structure

```markdown
---
name: my-skill
description: What it does. When to use it. Be specific.
license: MIT
metadata:
  author: you
  version: "1.0"
  parent: github.com/original/skill  # if derived from another
---

# My Skill

Instructions for the agent...

## Usage

How to run it...

## Examples

Show inputs and outputs...
```

### Required Fields

| Field | Rules |
|-------|-------|
| `name` | Lowercase, hyphens only, matches folder name, max 64 chars |
| `description` | What it does AND when to use it, max 1024 chars |

### Optional Fields

| Field | Purpose |
|-------|---------|
| `license` | How others can use it |
| `metadata` | Arbitrary key-value pairs (author, version, parent) |
| `compatibility` | Environment requirements |

## Writing Good Instructions

The body of SKILL.md is what agents read. Make it clear:

**Do:**
- Start with when to use this skill
- Give concrete usage examples
- Show expected inputs and outputs
- List requirements and dependencies
- Handle edge cases

**Don't:**
- Assume context the agent won't have
- Write walls of text (keep it scannable)
- Bury the important stuff

## Making It Discoverable

### Option A: GitHub Topic

Add topic `agentskills` to your repository. Done.

### Option B: Monorepo

Keep multiple skills in one repo:

```
my-tools/
  skill-one/
    SKILL.md
  skill-two/
    SKILL.md
```

Tag the repo with `agentskills`. The find-skill searches inside.

### Option C: Local Only

Keep it in `~/skills/` or any folder. Configure find-skill to search there.

### Option D: Anywhere With a URL

Gist, pastebin, raw file host. As long as it's fetchable.

## Tracking Lineage

If your skill improves or derives from another:

```yaml
metadata:
  parent: github.com/user/original-skill
  parent-hash: abc123
```

Optional. Honor system. Helps the ecosystem.

## GitHub Token Setup

The scripts require a GitHub Personal Access Token to create repos, push code, and add topics.

### Creating Your Token

1. Go to GitHub → Settings → Developer settings → Personal access tokens → **Tokens (classic)**
2. Click "Generate new token (classic)"
3. Give it a name (e.g., "agent-skills")
4. Select the **`repo`** scope (full control of private repositories)
5. Generate and copy the token

### Storing Your Token

Create a `.env` file in the project root:

```
GITHUB_TOKEN=ghp_xxxxxxxxxxxx
```

Or set it as an environment variable: `GITHUB_TOKEN` or `GH_TOKEN`

**Important:** The `repo` scope is required to:
- Create repositories (init.py)
- Push code (publish.py)
- Add the `agentskills` topic (makes your skills discoverable)

## Scripts

### init.py

Initialize a skills monorepo (first time only):

```bash
python scripts/init.py my-skills              # Private repo
python scripts/init.py my-skills --public     # Public repo
```

Creates a GitHub repo with `agentskills` topic. All your skills go here.

### create.py

Create a skill from the template:

```bash
python scripts/create.py my-skill --output ./my-skills/
python scripts/create.py my-skill --author "You" --description "Does X" -o ./my-skills/
```

### publish.py

Commit and push a skill to your repo:

```bash
python scripts/publish.py ./my-skills/my-skill
python scripts/publish.py ./my-skills/my-skill --message "Update skill"
```

Commits the skill folder, adds the `agentskills` topic (if missing), and pushes to GitHub.

## Reference

See `references/format.md` for the full agentskills.io specification.

See `references/template/` for a working example to copy.

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.