Agent skill
skill-manager
Manages Claude Code skill definitions - create, validate, version, and list skills following the Agent Skills open standard.
Install this agent skill to your Project
npx add-skill https://github.com/oakensoul/aida-core-plugin/tree/main/skills/skill-manager
SKILL.md
Skill Manager
Focused management interface for Claude Code skill definitions. Skills are process definitions with execution capabilities that follow the Agent Skills open standard.
Activation
This skill activates when:
- User invokes
/aida skill create [description] - User invokes
/aida skill validate [name|--all] - User invokes
/aida skill version [name] [major|minor|patch] - User invokes
/aida skill list - Skill management operations are needed
Operations
Create
Create a new skill definition using the three-phase orchestration pattern.
Phase 1: Gather Context (Python)
Run the script to infer metadata and get questions:
python {base_directory}/scripts/manage.py --get-questions \
--context='{"operation": "create", "description": "user description", "location": "user"}'
Returns:
{
"inferred": {
"name": "inferred-name",
"version": "0.1.0",
"tags": ["custom"],
"base_path": "~/.claude/skills/inferred-name"
},
"questions": [],
"project_context": {
"languages": ["python"],
"frameworks": ["fastapi"]
}
}
Phase 2: Generate Content (Agent)
Spawn the claude-code-expert agent with complete context:
Operation: CREATE
Type: skill
Requirements:
- Name: {inferred.name}
- Description: {user_description}
- Location: {inferred.base_path}
- Project Context: {project_context}
Output Format:
Return a JSON object with this exact structure:
{
"validation": {
"passed": true|false,
"issues": [
{"severity": "error|warning", "message": "...", "suggestion": "..."}
]
},
"files": [
{"path": "skills/{name}/SKILL.md", "content": "..."},
{"path": "skills/{name}/scripts/{script}.py", "content": "..."},
{"path": "skills/{name}/references/{doc}.md", "content": "..."},
{"path": "skills/{name}/templates/{tmpl}.jinja2", "content": "..."}
],
"summary": {
"created": ["list of relative paths"],
"next_steps": ["actionable items for user"]
}
}
Phase 3: Write Files (Python)
Pass agent output to Python for file creation:
python {base_directory}/scripts/manage.py --execute \
--context='{"operation": "create", "agent_output": <agent_json>, "base_path": "~/.claude"}'
The script validates file structure, creates directories, writes files, and returns success or failure.
Validate
Validate skill frontmatter against the schema.
# Validate specific skill
python {base_directory}/scripts/manage.py --execute \
--context='{"operation": "validate", "name": "my-skill"}'
# Validate all skills
python {base_directory}/scripts/manage.py --execute \
--context='{"operation": "validate", "all": true, "location": "all"}'
Version
Bump a skill's semantic version.
python {base_directory}/scripts/manage.py --execute \
--context='{"operation": "version", "name": "my-skill", "bump": "patch"}'
List
List all discovered skills.
python {base_directory}/scripts/manage.py --execute \
--context='{"operation": "list", "location": "all"}'
Skill Directory Structure
Skills follow the Agent Skills open standard directory layout:
skills/
my-skill/
SKILL.md # Skill definition (frontmatter + instructions)
references/ # Workflow documentation
workflow.md
scripts/ # Executable scripts
manage.py
templates/ # Optional Jinja2 templates
template.jinja2
Path Resolution
Base Directory: Provided when skill loads via <command-message>
tags.
Script Execution:
{base_directory}/scripts/manage.py
Reference Files:
{base_directory}/references/create-workflow.md
{base_directory}/references/validate-workflow.md
{base_directory}/references/schemas.md
Location Options
| Location | Path | Use Case |
|---|---|---|
user |
~/.claude/ |
Personal skills |
project |
./.claude/ |
Project-specific skills |
plugin |
Custom path | Plugin development |
Example Workflow
Creating a Skill (Full Flow)
User: /aida skill create "auto-format code on save"
1. Parse: operation=create, description="auto-format code on save"
2. Phase 1 (Python):
python manage.py --get-questions --context='{...}'
Returns:
- inferred: name="auto-format", version="0.1.0"
- questions: [location question]
- project_context: {languages: ["python"]}
3. Ask user questions (if any):
"Where should we create this skill?"
4. Phase 2 (Agent):
Spawn claude-code-expert with context + output contract
Agent returns JSON with files array
5. Phase 3 (Python):
python manage.py --execute --context='{"operation": "create", "agent_output": {...}}'
- Validates structure
- Creates directories + scripts/, references/, templates/
- Writes SKILL.md and supporting files
6. Report to user:
"Created skill 'auto-format' with 4 files"
Resources
scripts/
- manage.py - Two-phase API entry point
- operations/extensions.py - Skill CRUD operations
- operations/utils.py - Shared utility re-exports
references/
- create-workflow.md - Skill creation workflow
- validate-workflow.md - Skill validation rules
- schemas.md - Skill frontmatter schema reference
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-manager
Manages Claude Code agent (subagent) definitions including create, validate, version, and list operations using a two-phase API.
plugin-manager
Unified plugin management combining extension CRUD operations (create, validate, version, list) with project scaffolding
hook-manager
Manages Claude Code hook configurations in settings.json files. Supports listing, adding, removing, and validating lifecycle hooks.
aida
This skill routes /aida commands to appropriate handlers - configuration, diagnostics, feedback, extension management (agent-manager, skill-manager, plugin-manager, hook-manager, claude-md-manager), and session persistence (memento).
project-context
Provides current project state, architecture overview, and structured metadata
project-documentation
Helps locate and navigate project documentation efficiently
Didn't find tool you were looking for?