
skillstash-management
by galligan
SKILL.md
name: skillstash-management description: How to create, validate, and manage skills in this skillstash instance
Skillstash Management
This skill tells you how to work with this repository. Use it whenever you need to create, modify, or manage skills.
When to Use This Skill
- Creating a new skill
- Modifying an existing skill
- Understanding the repo structure
- Running validation
- Pushing skills for review
Repository Structure
skillstash/
├── skills/ # All skills live here
│ └── my-skill/
│ ├── SKILL.md # Required - skill definition
│ ├── references/ # Optional - docs, specs
│ ├── scripts/ # Optional - executable helpers
│ └── assets/ # Optional - templates, configs
├── .skillstash/
│ └── config.yml # Skillstash configuration
├── docs/ # Skillstash documentation
├── scripts/ # Skillstash automation
└── .agents/ # Agent instructions
Creating a Skill
1. Create the Directory
mkdir -p skills/my-skill-name
Use kebab-case for directory names.
2. Create SKILL.md
Every skill requires a SKILL.md with YAML frontmatter:
---
name: my-skill-name
description: Brief one-line description of what this skill does
---
# My Skill Name
## When to Use This Skill
Describe trigger conditions.
## What This Skill Does
Step-by-step instructions.
## Examples
Concrete usage examples.
3. Required Frontmatter
| Field | Description |
|---|---|
name | Must match directory name exactly (kebab-case) |
description | One-line summary for discovery |
4. Optional Frontmatter
| Field | Description |
|---|---|
version | Semver (e.g., 1.0.0) |
author | GitHub username |
tags | Array for categorization |
status | experimental, stable, deprecated |
Validation Rules
Skills must pass these checks:
| Rule | Requirement |
|---|---|
| SKILL.md exists | Required file in skill directory |
| Valid frontmatter | YAML must parse, required fields present |
| Name matches | name field must equal directory name |
| Kebab-case | Directory name: lowercase, hyphens only |
| Max 500 lines | Keep skills focused and maintainable |
Running Validation Locally
bun run validate
Local-First Workflow
Zero latency: Skills work immediately after saving.
- Create
skills/my-skill/SKILL.md - Save the file
- The skill is now discoverable and usable
- Iterate: edit, save, test, repeat
No git push required for local use.
Branch Naming Convention
Skill branches must follow this pattern:
| Pattern | Use case |
|---|---|
skill/add-<slug> | Creating a new skill |
skill/update-<slug> | Modifying an existing skill |
skill/remove-<slug> | Deleting a skill |
The merge-readiness check enforces this. PRs with wrong branch names will fail.
Pushing for Permanence
When the skill works locally:
# Create branch with correct naming
git checkout -b skill/add-my-skill
# Commit and push with Graphite
gt create -am "feat: add my-skill for [purpose]"
gt submit --no-interactive
Merge Readiness
PRs touching skills/** run the merge-readiness check which validates:
| Check | Blocking |
|---|---|
Branch naming (skill/*) | Yes |
| Required labels exist | No (warning) |
| Auto-merge enabled | No (warning) |
| Merge settings correct | No (warning) |
Once checks pass, enable auto-merge on the PR. It merges automatically when validation completes.
Optional Supporting Files
references/
External documentation, API specs, research notes.
skills/my-skill/references/
└── api-docs.md
scripts/
Executable helpers for the skill.
skills/my-skill/scripts/
└── setup.sh
assets/
Templates, images, configuration files.
skills/my-skill/assets/
└── config-template.json
.research/
Temporary research notes. Removed before merge.
Issue-Driven Workflow
For tracked work, use beads:
# Create issue
bd create --title="Create [skill-name] skill" --type=feature
# Claim work
bd update <id> --status=in_progress
# Implement skill (local-first)
# Close when done
bd close <id>
bd sync
Best Practices
- Start simple - Minimal viable skill, iterate to add features
- Keep focused - One skill solves one problem well
- Document clearly - Future you (or agents) will thank you
- Test locally - Verify before pushing
- Under 500 lines - If longer, consider splitting
Common Issues
Skill Not Discovered
- Verify
SKILL.mdexists with frontmatter - Check
namefield matches directory name - Ensure directory is under
skills/
Validation Fails
- Run
bun run validatelocally - Check frontmatter YAML syntax
- Verify name is kebab-case
- Check line count (max 500)
Name Mismatch
# Directory: skills/my-skill/
# Frontmatter must match:
---
name: my-skill # Correct
name: mySkill # Wrong - will fail validation
---
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です