Skip to content

Commit f90a43d

Browse files
Cut v0.3.0: stamp CHANGELOG, bump version refs
Move the [Unreleased] block to v0.3.0 dated 2026-05-07, with a focused "Breaking changes" section calling out the --from-template directory requirement (#84). Cross-link the four PRs that landed since v0.2.1 (#81, #84, #86, #87) and add a Changed entry covering the docs-site refresh that ships in this branch. Bump the corresponding version refs in AGENTS.md (current release + milestone snapshot now covers M0–M7), INSTALL.md (SKERN_VERSION pin example), docs/guide/installation.md (matching pin example), and docs/guide/index.md (current-release callout). Docs build verified. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent f5d7b26 commit f90a43d

5 files changed

Lines changed: 46 additions & 24 deletions

File tree

AGENTS.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Skern is a minimal, agent-first CLI tool for managing Agent Skills across agentic development platforms (Claude Code, Codex CLI, OpenCode, Cursor, Gemini CLI, GitHub Copilot, Windsurf, Continue, and more). It follows the Agent Skills open standard (agentskills.io) and uses `SKILL.md` files with YAML frontmatter as the canonical format.
66

7-
The project is written in **Go 1.25+** and the current release is **v0.2.0**.
7+
The project is written in **Go 1.25+** and the current release is **v0.3.0**.
88

99
## Repository Layout
1010

@@ -267,7 +267,10 @@ The full list is generated from `internal/platform/spec.go` — append a row the
267267

268268
## Current Status
269269

270-
Milestones M0–M6 are complete (v0.2.0). M6 shipped dynamic skill loading per #52 — batch install/uninstall, capacity reporting in install/uninstall output, `--enforce-budget` opt-in, `--with-platforms` flag on `skill list`, removal of `--platform all`. The v0.1.x → v0.2.0 transition introduced a **breaking change** to the JSON shape of install/uninstall results (`skills[]` + top-level `platform`/`capacity` instead of `platforms[]`).
270+
Milestones M0–M7 are complete (v0.3.0).
271+
272+
- **M6** (v0.2.0) — dynamic skill loading per #52: batch install/uninstall, capacity reporting in install/uninstall output, `--enforce-budget` opt-in, `--with-platforms` flag on `skill list`, removal of `--platform all`. The v0.1.x → v0.2.0 transition introduced a breaking change to the JSON shape of install/uninstall results (`skills[]` + top-level `platform`/`capacity` instead of `platforms[]`).
273+
- **M7** (v0.3.0) — declarative platform registry: per-platform Go files collapsed into a single `Spec` table (`internal/platform/spec.go`) plus a generic `Adapter`. Five new adapters (`cursor`, `gemini-cli`, `github-copilot`, `windsurf`, `continue`) shipped alongside the rewrite. Also in v0.3.0: `skern init --instructions` writes the skern usage snippet into agent instruction files, `--from-template` requires a skill directory (small breaking change), and Windows joins the CI matrix.
271274

272275
### Future Roadmap
273276

CHANGELOG.md

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [v0.3.0] — 2026-05-07
11+
12+
Platform registry rewrite, five new adapters, agent-instruction snippet
13+
writer, and a focused breaking change to `--from-template`.
14+
15+
### Breaking changes
16+
17+
- **`skill create --from-template <path>` now requires a skill directory.**
18+
A skill is a folder, so `--from-template` accepts only a directory containing
19+
a `SKILL.md`. Passing a bare file (a `SKILL.md` or a body-only markdown file)
20+
is rejected with a clear error pointing at the parent directory. The
21+
previous behavior of treating a non-frontmatter markdown file as a raw body
22+
is removed — wrap such bodies in a directory with a `SKILL.md` instead. ([#84])
23+
1024
### Added
1125

1226
- **`skern init` can now write a skern usage snippet into agent instruction
@@ -19,19 +33,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1933
`--target <path>` overrides auto-discovery for explicit files, and
2034
`--print-instructions` emits the snippet to stdout without writing files.
2135
The `InitResult` JSON envelope grows an `instructions` field reporting
22-
what was written.
36+
what was written. ([#87])
2337
- **Five new platform adapters: `cursor`, `gemini-cli`, `github-copilot`,
2438
`windsurf`, `continue`.** All five accept the same `--platform` flag, route
2539
installs to the platform's expected skill directory, and participate in
2640
`skern platform list`/`status` matrices. Path conventions follow
2741
[vercel-labs/skills](https://github.com/vercel-labs/skills#supported-agents).
28-
([#80])
42+
([#81])
2943
- **Declarative platform registry.** Adapters are now defined as one row in
3044
`internal/platform/spec.go` — a `Spec` carrying name, user dir, project dir,
3145
and home-relative detection paths. A single generic `Adapter` struct
3246
implements the `Platform` interface from any spec row, replacing the
3347
per-platform Go files (`claude.go`, `codex.go`, `opencode.go`). Adding a
34-
platform is a one-line PR. ([#80])
48+
platform is a one-line PR. ([#81])
49+
- **Windows added to the CI matrix** — every PR now runs the test suite on
50+
Windows in addition to macOS and Linux. ([#86])
51+
- **`--from-template` preserves template frontmatter and copies sibling
52+
assets.** The template's `description`, `tags`, `metadata.author`, and
53+
`metadata.version` are preserved on the new skill (#82) and every sibling
54+
file or subdirectory (`references/`, `templates/`, `VENDORED.md`, …) is
55+
copied alongside the new `SKILL.md` (#83). The CLI `<name>` argument always
56+
wins over the template's name; other flags override template values when
57+
explicitly set, otherwise template values are preserved.
3558

3659
### Changed
3760

@@ -43,20 +66,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4366
- **CLI flag help and error messages enumerate the registered platforms
4467
dynamically** — adding a platform updates `--platform` help and the
4568
"unknown platform" error text without touching the CLI.
46-
- **`skill create --from-template <path>` now requires a skill directory.**
47-
A skill is a folder, so `--from-template` accepts only a directory containing
48-
a `SKILL.md`. Passing a bare file (a `SKILL.md` or a body-only markdown file)
49-
is rejected with a clear error that points at the parent directory. The
50-
template's frontmatter (`description`, `tags`, `metadata.author`,
51-
`metadata.version`) is preserved on the new skill (#82) and every sibling
52-
file or subdirectory (e.g., `references/`, `templates/`, `VENDORED.md`) is
53-
copied alongside the new `SKILL.md` (#83). The CLI `<name>` argument always
54-
wins over the template's `name`; other flags override template values when
55-
explicitly set, otherwise template values are preserved. **Breaking:** the
56-
previous behavior of treating a non-frontmatter markdown file as a raw body
57-
is removed — wrap such bodies in a directory with a `SKILL.md` instead.
58-
59-
[#80]: https://github.com/devrimcavusoglu/skern/issues/80
69+
- **Documentation site comprehensively refreshed** — eight platform pages,
70+
reference covers `skill import` / `skill version` / `skill diff`, validation
71+
page split into errors/warnings/hints, installation page covers all three
72+
OSes, agent-setup leads with `init --instructions`.
73+
74+
[v0.3.0]: https://github.com/devrimcavusoglu/skern/compare/v0.2.1...v0.3.0
75+
[#81]: https://github.com/devrimcavusoglu/skern/pull/81
76+
[#84]: https://github.com/devrimcavusoglu/skern/pull/84
77+
[#86]: https://github.com/devrimcavusoglu/skern/pull/86
78+
[#87]: https://github.com/devrimcavusoglu/skern/pull/87
6079

6180
## [v0.2.1] — 2026-05-03
6281

INSTALL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ Override with the `SKERN_INSTALL_DIR` environment variable.
4646
## Pin a specific version
4747

4848
```sh
49-
SKERN_VERSION=v0.2.1 curl -fsSL https://raw.githubusercontent.com/devrimcavusoglu/skern/main/scripts/install.sh | bash
49+
SKERN_VERSION=v0.3.0 curl -fsSL https://raw.githubusercontent.com/devrimcavusoglu/skern/main/scripts/install.sh | bash
5050
```
5151

5252
```powershell
53-
$env:SKERN_VERSION = 'v0.2.1'; irm https://raw.githubusercontent.com/devrimcavusoglu/skern/main/scripts/install.ps1 | iex
53+
$env:SKERN_VERSION = 'v0.3.0'; irm https://raw.githubusercontent.com/devrimcavusoglu/skern/main/scripts/install.ps1 | iex
5454
```
5555

5656
## Build from source

docs/guide/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Skills should not live inside models. They should live in code. Versioned. Compo
3333

3434
## What's Shipped
3535

36-
The current release is **v0.2.1**. Major capabilities already in place:
36+
The current release is **v0.3.0**. Major capabilities already in place:
3737

3838
- Eight platform adapters (Claude Code, Codex CLI, OpenCode, Cursor, Gemini CLI, GitHub Copilot, Windsurf, Continue)
3939
- Cross-platform binaries for macOS, Linux, and Windows

docs/guide/installation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.c
2929
Set `SKERN_VERSION` before running the installer:
3030

3131
```sh
32-
SKERN_VERSION=v0.2.1 curl -fsSL https://raw.githubusercontent.com/devrimcavusoglu/skern/main/scripts/install.sh | bash
32+
SKERN_VERSION=v0.3.0 curl -fsSL https://raw.githubusercontent.com/devrimcavusoglu/skern/main/scripts/install.sh | bash
3333
```
3434

3535
```powershell
36-
$env:SKERN_VERSION = 'v0.2.1'; irm https://raw.githubusercontent.com/devrimcavusoglu/skern/main/scripts/install.ps1 | iex
36+
$env:SKERN_VERSION = 'v0.3.0'; irm https://raw.githubusercontent.com/devrimcavusoglu/skern/main/scripts/install.ps1 | iex
3737
```
3838

3939
## Custom Install Directory

0 commit comments

Comments
 (0)