Skip to content

kucukkanat/skills-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 ███████╗██╗  ██╗██╗██╗     ██╗     ███████╗
 ██╔════╝██║ ██╔╝██║██║     ██║     ██╔════╝
 ███████╗█████╔╝ ██║██║     ██║     ███████╗
 ╚════██║██╔═██╗ ██║██║     ██║     ╚════██║
 ███████║██║  ██╗██║███████╗███████╗███████║
 ╚══════╝╚═╝  ╚═╝╚═╝╚══════╝╚══════╝╚══════╝

        🎯 Skill Framework Bootstrap 🎯
        Build amazing Claude skills!

A powerful, batteries-included framework for building production-ready Claude skills with TypeScript and shell scripting.


🚀 Quick Start

# Prerequisites
bun --version  # Make sure Bun is installed
node --version # Node.js 18+

# Build
bun build.ts

# Test
bun test src/scripts/

# Install
./install.sh

# Development mode (symlink for testing)
npm run dev:link

✨ Features

  • Fast builds with Bun compiler
  • 📝 TypeScript support with single-file compilation
  • 🐚 Shell scripts for system integration
  • Built-in testing with Bun test runner
  • 📦 Auto-distribution via install script
  • 🔗 Symlink management for skill registration

📂 Directory Structure

skill-framework/
│
├── 📁 src/                      ← Edit these files
│   ├── 📁 scripts/
│   │   ├── example.ts           # TypeScript script (compiles to executable)
│   │   ├── example.test.ts      # Unit tests
│   │   └── helper.sh            # Shell script helper
│   └── 📄 SKILL.md              # Skill definition & docs
│
├── 📁 dist/                     ← Generated (don't edit)
│   ├── 📁 scripts/              # Built executables
│   └── 📄 SKILL.md              # Copied from src
│
├── 🔧 build.ts                  # Build configuration
├── 📥 install.sh                # Installation script
└── 📖 Readme.md                 # This file

💻 Development Workflow

1️⃣ Create Scripts

Create files in src/scripts/:

File Type Example Output
TypeScript my-skill.ts Compiled to ./dist/scripts/my-skill
Shell helper.sh Copied to ./dist/scripts/helper.sh
// src/scripts/my-skill.ts
#!/usr/bin/env bun
console.log("Hello from my skill! 🎉");

2️⃣ Write Tests

Create test files alongside your scripts:

# Test your scripts
bun test src/scripts/

# Single file
bun test src/scripts/example.test.ts

3️⃣ Update Skill Definition

Edit src/SKILL.md with:

  • Skill name & description
  • Usage examples
  • Available commands & options
  • Installation notes

🔨 Building

┌─────────────────────────────────────┐
│         bun build.ts                │
└─────────────────────────────────────┘
        ↓
    ✅ Copy src/SKILL.md → dist/SKILL.md
    ✅ Copy src/scripts/*.sh → dist/scripts/
    ✅ Compile src/scripts/*.ts → dist/scripts/*
        ↓
    📦 Ready to install!
bun build.ts

📥 Installation

Install your skill to the user's home directory:

┌──────────────────────────────────────┐
│          ./install.sh                │
└──────────────────────────────────────┘
        ↓
    ✅ Build the skill
    ✅ Copy to ~/.claude/skills/{name}
    ✅ Link ~/.agent/skills → ~/.claude/skills
        ↓
    🎉 Ready to use!
./install.sh

🧪 Running Locally

After building, test your scripts directly:

# Get help
./dist/scripts/example --help

# Run with options
./dist/scripts/example --name "World"

# Or use your shell scripts
./dist/scripts/helper.sh arg1 arg2

📋 Development Checklist

  • Edit files in src/
  • Write tests for your scripts
  • Run tests: bun test src/scripts/
  • Build: bun build.ts
  • Test locally: ./dist/scripts/your-script
  • Install: ./install.sh
  • Update src/SKILL.md with documentation
# Full development cycle
bun test src/scripts/ && bun build.ts && ./install.sh

🔗 Development Mode (Symlink)

For rapid development and testing, use the dev symlink instead of repeated installations:

# 1. Create development symlink (one-time setup)
npm run dev:link

# 2. Build your skill
bun build.ts

# 3. Run Claude Code in this directory
claude

# 4. Make changes, rebuild, and test instantly
bun build.ts  # Skills auto-update via symlink

Benefits:

  • ✅ Instant updates when you rebuild
  • ✅ No repeated installations needed
  • ✅ Easy to test in real Claude Code sessions
  • ✅ Warnings before overwriting existing skills

Note: The symlink is created at ~/.claude/skills/{skill-name} and points to your dist/ directory.


🎯 Creating Your Own Skill

  1. Name your skill - Update src/SKILL.md with your skill's name & description
  2. Write scripts - Create .ts and/or .sh files in src/scripts/
  3. Write tests - Create .test.ts files for your scripts
  4. Document - Update src/SKILL.md with examples & usage
  5. Build & Install - Run bun build.ts && ./install.sh

🔗 Key Links


🎨 Pro Tips

💡 Keep scripts modular - One responsibility per script 💡 Write tests first - Catch bugs early with TDD 💡 Document examples - Show users how to use your skill 💡 Use shell for system - TypeScript for logic, shell for integration 💡 Keep SKILL.md updated - It's your skill's best friend


╔════════════════════════════════════════╗
║  Ready to build something awesome? 🚀  ║
║  Start editing src/SKILL.md!           ║
╚════════════════════════════════════════╝

About

Easily create claude skills. A micro framework to manually create agent skills

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors