Releases: lhassa8/skillforge
v1.0.0: Production Release
v1.0.0 - Production Release
SkillForge is now production-ready! This release completes the roadmap from v0.9.0 to v1.0.0.
Installation
pip install ai-skillforgeOr with AI features:
pip install ai-skillforge[ai]PyPI: https://pypi.org/project/ai-skillforge/1.0.0/
Added
-
Enterprise Configuration - Full enterprise deployment support
- SSO authentication support (SAML, OIDC)
- Cloud storage backends (S3, GCS, Azure Blob)
- Proxy configuration with SSL verification options
- Telemetry and logging configuration
- Environment variable overrides with
SKILLFORGE_prefix - User and project-level configuration files
-
Configuration CLI Commands
skillforge config show- Display current configurationskillforge config set <key> <value>- Set configuration valuesskillforge config path- Show configuration file locationsskillforge config init- Create configuration files (user/project)
-
Migration Tools - Upgrade skills from older formats
- Auto-detect skill format versions (v0.1, v0.9, v1.0)
skillforge migrate check ./skills- List skills needing migrationskillforge migrate run ./skills/my-skill- Migrate a skill to v1.0skillforge migrate preview ./skills/my-skill- Preview changes- Automatic backup creation before migration
- Batch directory migration support
-
Stable Public API -
skillforge.apimodule- Comprehensive exports of all public classes and functions
- Semantic versioning guarantees for all exported APIs
deprecated()decorator for managing API deprecations
-
Enhanced Commands
skillforge doctor- Check installation and environmentskillforge info- Show detailed SkillForge information
Changed
- Updated default model to
claude-sonnet-4-20250514 - All public APIs are now stable with deprecation warnings before removal
Full Changelog
See CHANGELOG.md for complete details.
v0.8.0 - Skill Composition
Skill Composition
Combine multiple skills into composite skills by including other skills' content.
New Features
skillforge compose- Compose a skill by resolving includes into a single fileincludesfield in SKILL.md - Reference other skills to include their content- Circular dependency detection - Prevents infinite loops in skill composition
- Auto-composition -
bundleandpreviewcommands handle composite skills automatically
Example
---
name: full-stack-reviewer
description: Comprehensive code review
includes:
- ./components/frontend-review
- ./components/backend-review
---
# Full Stack Reviewer
This skill combines frontend and backend review capabilities.Install
pip install --upgrade ai-skillforgev0.7.0 - Skill Registry
What's New
Skill Registry - Discover and download skills from GitHub-based registries.
New Commands
# Registry management
skillforge registry add https://github.com/user/skill-registry
skillforge registry list
skillforge registry remove my-registry
skillforge registry update
# Discover and download
skillforge search "code review"
skillforge pull code-reviewerHow Registries Work
A registry is a GitHub repo containing an index.json file:
{
"name": "my-registry",
"description": "A collection of useful skills",
"skills": [
{
"name": "code-reviewer",
"description": "Review code for best practices",
"version": "1.0.0",
"repo": "https://github.com/user/code-reviewer-skill",
"tags": ["code", "review"]
}
]
}Programmatic API
from skillforge import add_registry, search_skills, pull_skill
# Add a registry
add_registry("https://github.com/skillforge/community-skills")
# Search for skills
results = search_skills("code review")
for skill in results:
print(f"{skill.name}: {skill.description}")
# Download a skill
skill_dir = pull_skill("code-reviewer", output_dir=Path("./skills"))Full Changelog: v0.6.0...v0.7.0
v0.6.0 - AI-Powered Skill Analysis
What's New
AI-Powered Skill Analysis - Get quality scores and improvement suggestions for your skills using AI.
New Features
skillforge analyze ./skills/my-skill- Analyze a skill for qualityskillforge analyze ./skills/my-skill --json- Output as JSON for CI/tooling- Quality scores (0-100): clarity, completeness, examples, actionability
- Detailed feedback: strengths, suggestions, issues
Programmatic API
from skillforge import analyze_skill, AnalysisResult
result = analyze_skill(Path("./skills/my-skill"))
if result.success:
print(f"Overall score: {result.overall_score}/100")
print(f"Suggestions: {result.suggestions}")Example Output
Skill Analysis: code-reviewer
Overall Score: 78/100
┏━━━━━━━━━━━━━━━━┳━━━━━━━━┓
┃ Dimension ┃ Score ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━┩
│ Clarity │ 85/100 │
│ Completeness │ 70/100 │
│ Examples │ 75/100 │
│ Actionability │ 82/100 │
└────────────────┴────────┘
Strengths:
• Clear step-by-step review process
• Good coverage of common code issues
Suggestions:
• Add examples for different languages
• Include performance review guidelines
Full Changelog: v0.5.0...v0.6.0
v0.5.0 - Claude Code Integration
What's New
Claude Code Integration - Install skills directly to Claude Code
New Commands
# Install to user directory (~/.claude/skills/)
skillforge install ./skills/my-skill
# Install to project directory (./.claude/skills/)
skillforge install ./skills/my-skill --project
# Uninstall
skillforge uninstall my-skill
# Sync all skills from a directory
skillforge sync ./skills
# List installed skills
skillforge installedHow It Works
Claude Code automatically discovers skills from:
~/.claude/skills/- User-level (available in all projects)./.claude/skills/- Project-level (project-specific)
SkillForge copies your skills to these directories, making them immediately available in Claude Code.
Programmatic API
from skillforge import install_skill, list_installed_skills, sync_skills
# Install a skill
result = install_skill('./skills/my-skill', scope='user')
print(f'Installed: {result.skill_name}')
# List installed skills
for skill in list_installed_skills():
print(f'{skill.name} ({skill.scope}): {skill.description}')
# Sync all skills from a directory
installed, errors = sync_skills('./skills', scope='user')Install
pip install ai-skillforge==0.5.0Full Changelog: v0.4.0...v0.5.0
v0.4.0 - Skill Templates
What's New
Skill Templates - Start skills from built-in templates for common use cases
New Commands
# List available templates
skillforge templates
# Preview a template
skillforge templates show code-review
# Create skill from template
skillforge new my-reviewer --template code-reviewBuilt-in Templates
| Template | Description |
|---|---|
code-review |
Review code for best practices, bugs, security |
git-commit |
Write conventional commit messages |
git-pr |
Create comprehensive PR descriptions |
api-docs |
Generate API documentation |
debugging |
Systematic debugging assistance |
sql-helper |
Write and optimize SQL queries |
test-writer |
Generate unit tests |
explainer |
Explain complex code or concepts |
Programmatic API
from skillforge import get_template, list_templates, SkillTemplate
# Get a specific template
template = get_template('code-review')
print(template.content)
# List all templates
for tmpl in list_templates():
print(f'{tmpl.name}: {tmpl.description}')Install
pip install ai-skillforge==0.4.0Full Changelog: v0.3.0...v0.4.0
v0.3.0 - Skill Testing Framework
Skill Testing Framework
Test your skills before deployment with mock or live modes.
New Command: skillforge test
# Basic mock mode testing
skillforge test ./skills/my-skill
# Live mode with real API calls
skillforge test ./skills/my-skill --mode live
# Filter by tags
skillforge test ./skills/my-skill --tags smoke,critical
# Output formats for CI
skillforge test ./skills/my-skill --format json -o results.json
skillforge test ./skills/my-skill --format junit -o results.xml
# Cost estimation
skillforge test ./skills/my-skill --mode live --estimate-costTest Definition Format (tests.yml)
version: "1.0"
tests:
- name: "basic_test"
input: "User input to test"
assertions:
- type: contains
value: "expected text"
- type: regex
pattern: "(feat|fix):"
trigger:
should_trigger: true
mock:
response: "Mocked response"
tags: ["smoke"]Assertion Types
contains/not_contains- Text presenceregex- Pattern matchingstarts_with/ends_with- Position matchinglength- Response length bounds (min/max)json_valid- Valid JSON checkjson_path- JSONPath value assertionequals- Exact match
Programmatic API
from skillforge import (
load_test_suite,
run_test_suite,
TestResult,
TestSuiteResult,
)
skill, suite = load_test_suite(Path("./skills/my-skill"))
result = run_test_suite(skill, suite, mode="mock")
print(f"Passed: {result.passed_tests}/{result.total_tests}")Installation
pip install --upgrade ai-skillforgeFull Changelog
https://github.com/lhassa8/skillforge/blob/main/CHANGELOG.md
v0.2.2 - Security Fix
Security Fix
This release excludes sensitive files from package builds.
Fixed
- Excluded
.claude/directory from package builds - Added sdist exclusion rules in pyproject.toml for sensitive files (
.claude/,api_key.txt,skills/,*.zip)
Upgrade
pip install --upgrade ai-skillforgev0.2.1 - Security & CI Improvements
What's Changed
Added
- GitHub Actions CI workflow (Python 3.10-3.13 on Ubuntu and macOS)
- Security section in README
Fixed
- Path traversal protection in zip extraction
- Symlinks excluded from bundles for security
- API key validation before provider calls
- Ruff and mypy linting errors
- Programmatic usage docs now show correct types (Path objects, result classes)
Changed
- Package renamed from
skillforgetoai-skillforgeon PyPI - Use
importlib.util.find_specfor package detection
Install
pip install ai-skillforge
pip install ai-skillforge[ai] # With AI generationFull Changelog: v0.2.0...v0.2.1
v0.2.0 - AI-Powered Skill Generation
Anthropic Agent Skills Creator
SkillForge is now the developer toolkit for Anthropic Agent Skills — custom instructions that extend Claude's capabilities.
Installation
pip install ai-skillforge
# With AI-powered generation (recommended)
pip install ai-skillforge[ai]Note: Package renamed from
skillforgetoai-skillforgeon PyPI.
Highlights
- AI-Powered Generation — Generate complete skills from natural language descriptions
- AI-Powered Improvement — Enhance existing skills with more examples and better instructions
- Multi-Provider Support — Works with Anthropic, OpenAI, and Ollama
- Security Hardened — Path traversal protection, symlink handling, API key validation
New Commands
| Command | Description |
|---|---|
skillforge generate |
Generate a skill using AI |
skillforge improve |
Improve an existing skill with AI |
skillforge providers |
Show available AI providers |
skillforge new |
Create a skill scaffold |
skillforge validate |
Validate against Anthropic requirements |
skillforge bundle |
Package for upload to claude.ai |
skillforge show |
Display skill details |
skillforge preview |
Preview how Claude sees the skill |
Quick Start
# Set your API key
export ANTHROPIC_API_KEY=your-key
# Generate a complete skill from a description
skillforge generate "Help users write clear git commit messages"
# Validate and bundle
skillforge validate ./skills/my-skill
skillforge bundle ./skills/my-skillSecurity Improvements
- Path traversal protection in zip extraction
- Symlinks excluded from bundles
- API key validation before provider calls
- Bundle size recommendations (10MB max)
Full Documentation
See the README for complete documentation including:
- Command reference with all options
- SKILL.md format specification
- Programmatic usage examples
- Troubleshooting guide