con un clic
skills-maintenance
// Maintain @duyet/skills repository - add, update, validate skills, generate documentation, and manage releases. Use when making changes to this skills repository.
// Maintain @duyet/skills repository - add, update, validate skills, generate documentation, and manage releases. Use when making changes to this skills repository.
Maintain and update knowledge base about Duyet Le (@duyet) - profile, resume, blog posts, projects.
Generate or review high-density, interactive, self-contained HTML artifacts based on Thariq Shihipar's "Unreasonable Effectiveness of HTML" patterns. Use this skill when asked to "create HTML," "build a dashboard," "format a PR review," "make an interactive explainer," or when you need to "review and update" existing HTML using the "good-html" style.
Fine-tune LLMs with Unsloth using GRPO or SFT. Supports FP8, vision models, mobile deployment, Docker, packing, GGUF export, dataset preparation, synthetic data, MLX (Apple Silicon). Use when: train with GRPO, fine-tune, reward functions, SFT training, FP8 training, vision fine-tuning, phone deployment, docker training, packing, export to GGUF, prepare dataset, synthetic data, install unsloth, environment flags, MLX training.
MUST USE when reviewing ClickHouse schemas, queries, or configurations. Contains 28 rules that MUST be checked before providing recommendations. Always read relevant rule files and cite specific rules in responses.
Knowledge base about Duyet Le (@duyet) and duyetbot behavioral patterns. Owner profile, knowledge sources, and execution transparency.
Engineering discipline and systematic quality verification. Core principles, anti-patterns, decision rules, and gate procedures for code review and delivery.
| name | skills-maintenance |
| description | Maintain @duyet/skills repository - add, update, validate skills, generate documentation, and manage releases. Use when making changes to this skills repository. |
Guidelines for maintaining the @duyet/skills repository. This skill ensures consistency across all skills and proper repository management.
Use this skill when:
skills/
├── skill-name/
│ └── SKILL.md # Main skill file with frontmatter
├── skills-maintenance/
│ └── SKILL.md # This file
├── scripts/
│ ├── validate-skills.js # Validates skill structure
│ └── generate-readme.js # Regenerates README.md
├── CLAUDE.md # Repository documentation
├── AGENTS.md # Agent coordination patterns
├── README.md # Auto-generated from skills
├── package.json # NPM scripts and metadata
└── .gitignore # Standard ignores
# Create skill directory
mkdir -p ~/project/skills/new-skill-name
# Create SKILL.md with frontmatter
cat > ~/project/skills/new-skill-name/SKILL.md << 'EOF'
---
name: new-skill-name
description: Brief description of what this skill does. When to use it.
---
# Skill Name
Brief description of the skill's purpose.
## When to Use
Use this skill when:
- [Condition 1]
- [Condition 2]
## Instructions
[Detailed instructions for the agent]
EOF
cd ~/project/skills
bun run validate
Fix any validation errors before proceeding.
cd ~/project/skills
bun run generate:readme
This updates README.md with the new skill in the appropriate category.
cd ~/project/skills
git add -A
git commit -m "feat(skills): add new-skill-name
- Add new skill for [purpose]
- Includes [key features]
Co-Authored-By: duyetbot <duyetbot@users.noreply.github.com>"
git push
Make changes to the skill's SKILL.md file.
cd ~/project/skills
bun run validate
cd ~/project/skills
bun run generate:readme
cd ~/project/skills
git add -A
git commit -m "feat(skill-name): update [what changed]
- [Change 1]
- [Change 2]
Co-Authored-By: duyetbot <duyetbot@users.noreply.github.com>"
git push
cd ~/project/skills
rm -rf old-skill-name
bun run generate:readme
git add -A
git commit -m "fix(skills): remove old-skill-name
- Removed unused skill
- Reason: [why removed]
Co-Authored-By: duyetbot <duyetbot@users.noreply.github.com>"
git push
Follow semantic versioning (semver) in package.json:
| Change Type | Version Bump | Example |
|---|---|---|
| Bug fix, docs only | Patch | 1.0.0 → 1.0.1 |
| New skill, minor changes | Minor | 1.0.0 → 1.1.0 |
| Breaking change (structure, API) | Major | 1.0.0 → 2.0.0 |
# Edit package.json version
cd ~/project/skills
# [edit package.json version]
# Commit version bump
git add package.json
git commit -m "chore: bump version to X.Y.Z
Co-Authored-By: duyetbot <duyetbot@users.noreply.github.com>"
# Create and push tag
git tag v$(node -p "require('./package.json').version")
git push origin master --tags
Every SKILL.md file must:
Start with frontmatter (YAML between ---)
---
name: skill-name
description: Brief description
---
Name matches directory
skill-name/name: skill-nameDescription is present
Content after frontmatter
The validate-skills.js script checks:
SKILL.md fileSKILL.md starts with --- (frontmatter opening)name field exists in frontmattername matches directory namedescription field exists in frontmatter---# List all skills
bun run list
# Format all skill files with Prettier
bun run format
# Validate skill structure
bun run validate
# Regenerate README from skills
bun run generate:readme
Use semantic commits with skills scope (unless modifying a specific skill):
feat(skills): add new-skill
feat(skills): update scripts
fix(skills): fix validation bug
docs(skills): update README
chore: bump version
For specific skill changes:
feat(skill-name): add new feature
fix(skill-name): fix bug in instructions
docs(skill-name): improve documentation
Always include co-author:
Co-Authored-By: duyetbot <duyetbot@users.noreply.github.com>
git@github.com:duyet/skills.githttps://github.com/duyet/skillsmasterCLAUDE.md - Repository-level documentationAGENTS.md - Agent coordination patternsREADME.md - Generated skill catalogBefore committing changes:
bun run validate)bun run generate:readme)