From core-skills
Guides users through creating AdaL skills by clarifying the type (personal, project, or plugin) and scaffolding the appropriate structure.
How this skill is triggered — by the user, by Claude, or both
Slash command
/core-skills:create-skillThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill when the user asks to create a skill, make a skill, add a new skill, or similar requests.
Use this skill when the user asks to create a skill, make a skill, add a new skill, or similar requests.
Trigger when user mentions:
Always ask the user which type of skill they want to create:
| Type | Location | Visibility | Use Case |
|---|---|---|---|
| Personal | ~/.adal/skills/<name>/ | Only you | Custom workflows, personal preferences |
| Project | .adal/skills/<name>/ | Team (via git) | Team conventions, project-specific patterns |
| Plugin | GitHub repo | Public | Community-shareable, reusable across projects |
Example prompt:
What type of skill would you like to create?
- Personal skill (
~/.adal/skills/) - Just for you, not shared- Project skill (
.adal/skills/) - Shared with your team via git- Plugin skill (GitHub repo) - Public, shareable with the community
Which type? (1/2/3)
Ask for:
my-workflow, team-conventions)~/.adal/skills/)mkdir -p ~/.adal/skills/<skill-name>
Create SKILL.md with required YAML frontmatter:
---
name: <skill-name>
description: <Brief description>
author: <your-name or org>
version: 1.0.0
---
# <Skill Title>
## When to Use
<Describe trigger scenarios>
## Instructions
<Step-by-step guidance for the agent>
⚠️ REQUIRED: The
---YAML frontmatter block is mandatory. Skills without it will fail to load. At minimum, includenameanddescription.
.adal/skills/)mkdir -p .adal/skills/<skill-name>
Same SKILL.md format. Remember to commit to git for team sharing.
Create a GitHub repository with this structure:
<repo>/
├── .claude-plugin/
│ └── marketplace.json # Required location for Claude Code compatibility
├── skills/
│ └── <skill-name>/
│ └── SKILL.md
└── README.md
marketplace.json (MUST be in .claude-plugin/ directory):
{
"name": "my-marketplace-name",
"owner": {
"name": "Your Name or Org",
"email": "[email protected]"
},
"metadata": {
"description": "My collection of skills",
"version": "1.0.0"
},
"plugins": [
{
"name": "my-plugin",
"description": "Plugin description",
"source": "./",
"skills": ["./skills/skill-name"]
}
]
}
Critical fields:
owner: Object with name and email (required by Claude Code)metadata: Wrapper for description and versionplugins[].source: Path to skills root (use "./" for repo root)plugins[].skills: Two formats supported:
["./skills/xlsx", "./skills/docx"] - list specific skill directories"skills" or "./" - recursively scan for SKILL.md filesInstallation commands:
# Add marketplace
/plugin marketplace add <owner>/<repo>
# Direct install (marketplace-name from marketplace.json "name" field)
/plugin install <plugin-name>@<marketplace-name>
IMPORTANT: Keep marketplace.json in sync!
Every time you add a new skill to the plugin, update the skills array in marketplace.json:
"skills": ["./skills/create-skill", "./skills/new-skill-name"]
Without this, the skill won't be discoverable via /skills command after plugin installation.
After creating:
/skills to verify the skill appearsIf the user wants multi-file skills, guide them on:
User: "Create a skill for our API conventions"
Agent: "What type of skill would you like?
User: "Project"
Agent: "I'll create .adal/skills/api-conventions/. What conventions should it include?"
npx claudepluginhub sylphai-inc/skills --plugin core-skillsCreates new Claude Code skills from scratch following best practices for structure, naming, frontmatter, progressive disclosure, reference organization, and tool scoping. Use for building skills or converting slash commands.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.