Releases: LiqunChen0606/skillforge
Release list
v0.8.0 — generate + watch + doctor
Three wow features
aif generate — skill from plain English
pip install anthropic # optional dependency
aif generate "code review skill for React PRs" -o code-review.mdCalls the Anthropic API, produces a deploy-ready SKILL.md that passes all quality checks. Post-processes with aif fix, validates with aif check, retries on failure. One command → A+ skill.
aif watch — live terminal grade
aif watch my-skill.mdPersistent terminal display that updates instantly on every file save. Color-coded grade (green/yellow/red), progress bar, lint/security counts, running timer. Makes skill authoring feel like a game.
aif doctor — repo health report
aif doctor .Scans your entire repo for skills, grades each A+..F, prints a sorted report with actionable fix suggestions. One command → full picture.
Full command list (v0.8.0)
| Command | What |
|---|---|
aif check FILE |
lint + security scan |
aif score FILE |
letter grade + badge |
aif fix FILE |
autofix lint issues |
aif scan FILE |
security only |
aif lint FILE |
lint only |
aif generate "..." |
LLM-generate a skill |
aif watch FILE |
live grade display |
aif doctor DIR |
repo-wide report |
aif mcp-server |
MCP for Claude Desktop |
Install
pip install aif-skillforge # cross-platform wheels106 tests passing across all Python modules.
v0.7.0 — Autofix + MCP server + Leaderboard
Three new features
1. aif fix — autofix SKILL.md
aif fix my-skill.md --write # fix and overwrite
aif fix my-skill.md --check # dry-run, exit 1 if changes needed (CI)
aif fix my-skill.md --diff # show unified diffMechanically fixes 5 lint rules: NameFormat (kebab-case), missing frontmatter, oversized descriptions, missing required sections, empty blocks. Takes a broken skill from parse-error to A+ in one command.
2. aif mcp-server — MCP for Claude Desktop / Cursor
{
"mcpServers": {
"skillforge": {
"command": "aif",
"args": ["mcp-server"]
}
}
}4 tools: check_skill, score_skill, scan_skill, fix_skill. Any MCP client can invoke SkillForge natively.
3. Weekly skills leaderboard
leaderboard/LEADERBOARD.md — GitHub Action scans for public SKILL.md files, grades with aif score, publishes ranked top-25 weekly.
Install
pip install aif-skillforge # cross-platform wheels
aif fix SKILL.md --write
aif score SKILL.mdWheels
Linux x86_64/aarch64, macOS x86_64/arm64, Windows x64, source distribution.
v0.6.4 — Correct cross-platform wheels
Fixes the Linux wheel tag + Windows build
v0.6.2 and v0.6.3 had wheel-tagging issues that prevented installation on Linux x86_64 and Windows. v0.6.4 ships correctly-tagged wheels for all 5 platforms:
cp39-abi3manylinux_2_17 x86_64 (fixed in this release)cp39-abi3manylinux_2_17 aarch64cp39-abi3macOS 10.12+ x86_64cp39-abi3macOS 11.0+ arm64cp39-abi3Windows x64
All wheels are stable-ABI (abi3-py39): one wheel per platform works on Python 3.9+, forward-compatible with 3.14+.
Install
pip install aif-skillforgeGitHub Action
- uses: LiqunChen0606/skillforge@v0.6.4Pre-commit
- repo: https://github.com/LiqunChen0606/skillforge
rev: v0.6.4
hooks:
- id: aif-checkWhat's in v0.6.x
aif check— 10 lint + 6 OWASP AST10 security checksaif score— letter grade A+..F + Shields.io badge + SVGaif scan— security-only outputaif lint— lint-only output- Pre-commit hooks:
aif-check,aif-lint,aif-scan,aif-score - Claude Code plugin with
/lint-skill,/scan-skill,/score-skill,/sign-skill,/verify-skill
v0.6.2 — Cross-platform wheels
Prebuilt wheels for Linux, macOS, Windows
v0.6.2 ships wheels for every common CI platform, so pip install aif-skillforge just works without a Rust toolchain:
- Linux x86_64 (manylinux2014)
- Linux aarch64 (manylinux2014)
- macOS x86_64 (10.12+)
- macOS arm64 (11.0+)
- Windows x64
- Source distribution (builds on any platform with Rust)
What changed
- Switched to PyO3 abi3-py39: one wheel works on Python 3.9+, forward-compatible with future versions
- New
publish-wheels.ymlGitHub Actions workflow builds + uploads wheels on tag push - Dropped Rust fallback from the SkillForge GitHub Action (no longer needed)
Same feature set as v0.6.0 / v0.6.1
aif check SKILL.md— 10 lint + 6 security checksaif score SKILL.md— letter grade A+..F + Shields.io badge + SVGaif scan SKILL.md— OWASP AST10 security scan- Pre-commit hook, GitHub Action, Claude Code plugin
Install
pip install aif-skillforge # now works everywhere
aif check SKILL.mdGitHub Action
- uses: LiqunChen0606/skillforge@v0.6.2Pre-commit
- repo: https://github.com/LiqunChen0606/skillforge
rev: v0.6.2
hooks:
- id: aif-checkv0.6.0 — aif score (shareable badges)
New: grade your skill with a shareable badge
pip install aif-skillforge
aif score my-skill.mdOutput:
SkillForge Score: my-skill.md
============================================================
Score: 100/100 (A+)
Lint: 0 errors, 0 warnings
Security: 0 critical, 0 high, 0 medium, 0 low
Add a badge to your README
aif score my-skill.md --format shields -o badge.json
git add badge.json && git commit -m "add skillforge badge"Then in your README:
Or use a self-contained SVG with no external dependency:
aif score my-skill.md --format svg -o badge.svgGrade thresholds
| Grade | Range | Meaning |
|---|---|---|
| A+ | 97-100 | All checks clean |
| A / A- | 90-96 | One minor issue |
| B+ / B / B- | 80-89 | Several minor issues |
| C+ / C / C- | 70-79 | Multiple issues, review |
| D | 60-69 | Significant problems |
| F | <60 | Critical security finding or parse failure |
Scoring: 100 points start, lint errors -7, lint warnings -3, security Critical -15, High -8, Medium -3, Low -1.
CI gate
aif score skill.md --min-grade B # exits 1 if below BAlso adds a pre-commit hook:
- id: aif-score
args: [--min-grade, B]And a /score-skill Claude Code plugin command.
Links
v0.5.0 — Quality layer for SKILL.md
What's new in v0.5.0
SkillForge is now a pip-installable SKILL.md quality tool — no Rust build required for the common case.
Install
pip install aif-skillforge
aif check SKILL.mdUse it in three places
Pre-commit hook:
repos:
- repo: https://github.com/LiqunChen0606/skillforge
rev: v0.5.0
hooks:
- id: aif-checkGitHub Action:
- uses: LiqunChen0606/skillforge@v0.5.0
with:
path: ./skillsClaude Code plugin:
/plugin install LiqunChen0606/skillforge
/lint-skill my-skill.md
What it checks
- 10 structural lint checks: frontmatter, required sections, empty blocks, name format, hash verification, claim-evidence linkage, broken references, undefined terms
- 6 security checks (OWASP AST10 aligned): prompt injection, hidden Unicode, dangerous tools, external fetches, privilege escalation, data exfiltration
Breaking changes
- Legacy
@endAIF syntax (v1) is no longer accepted. Useaif migrate-syntax <path>to convert existing.aiffiles.
Python API (16 functions)
parse, compile, render, lint, scan, infer, import_markdown, import_html, import_skill_md, export_skill_md, clean_html, hash_skill, generate_keypair, sign_skill, verify_skill, migrate_syntax
Links
- PyPI: https://pypi.org/project/aif-skillforge/0.5.0/
- Tutorial: tutorial/skillforge_tutorial.ipynb
- Document roundtrips: tutorial/skillforge_roundtrips.ipynb
v0.1.0 — SkillForge: Typed Semantic Documents for LLMs
SkillForge v0.1.0
Semantic document compiler and AI skill toolkit. Typed blocks improve LLM constraint resistance by +18pp vs raw Markdown.
Highlights
- 13 Rust crates — parser, 12+ output formats, skill toolkit, eval pipeline, migration engine, LSP server
- Python bindings —
pip install skillforgevia PyO3 (7 functions) - Ed25519 skill signing — cryptographic tamper detection
- +18pp constraint resistance — typed tags help LLMs resist pressure to skip steps
- 7 benchmark suites — including adversarial constraint resistance testing
- 590+ tests across all crates
Install
```bash
cargo install --path crates/aif-cli
```
Key Results
| Metric | Value |
|---|---|
| Constraint resistance (LML vs MD) | 0.86 vs 0.68 (+18pp) |
| Hard scenarios | 0.76 vs 0.65 (+11pp) |
| Token efficiency vs Markdown | 22% fewer tokens, full semantic types |
| Case study (superpowers skills) | 25% fewer tokens, 52 typed blocks |