Skip to content

docs: date the bundled skill with its release (FRK-025) - #110

Merged
any-victor merged 1 commit into
mainfrom
docs/025-skill-version
Oct 17, 2026
Merged

any-victor merged 1 commit into
mainfrom
docs/025-skill-version

Conversation

@any-victor

Copy link
Copy Markdown
Contributor

Why

The vendored copy of the skill is a released snapshot, so a reader needs to know which forkctl release its text describes. ctl-bundle-contract asks every bundled skill to carry version:, kept current by a verctl pin, as qctl and verctl already do.

What

  • .ctl/operator/SKILL.md.jinja imports ctl-core's version_line, and operator_docs passes version => CARGO_PKG_VERSION. The committed skills/forkctl/SKILL.md carries version: 0.0.38.
  • .ctl/ver.yaml gains a skill pattern, version: {version}, matched once, with a pin on skills/forkctl/SKILL.md, so each Version PR moves the line with the release and the render test stays byte-equal.
  • Cargo.toml drops package.homepage. It repeated package.repository, and nightly cargo reports it as redundant.
  • AGENTS.md records how the version line is produced.

No changeset: no shipped behaviour changes.

Proof

PR CI runs verify, including operator_docs, which byte-compares the render. Pushed with the verify pre-push job excluded; every other pre-push job passed.

Closes FRK-025

@kodus-hostinger

kodus-hostinger Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Review

Full · 1 open

@kody review after new commits. @kody full re-reads the whole PR.

Summary

This PR stamps the bundled operator skill (skills/forkctl/SKILL.md) with the forkctl release its text describes. The Version PR process keeps that stamp current from now on.

Changes

  • Skill frontmatter gains a version: field. The .ctl/operator/SKILL.md.jinja template imports ctl-core's version_line macro and renders {{ version_line(version) }} into the frontmatter. The committed render now carries version: 0.0.38.
  • The version comes from the crate. In src/operator_docs.rs, render_template passes version => env!("CARGO_PKG_VERSION") into the template context. As a result, the existing operator_docs byte-comparison test also checks that the skill's version matches the crate version.
  • Release pinning. .ctl/ver.yaml adds a skill pattern (version: {version}, matched exactly once) and a pin for skills/forkctl/SKILL.md under the forkctl package. This lets the Version PR bump the skill's version along with the other pinned files.
  • Docs and task tracking.
    • AGENTS.md now explains where the skill's version: comes from and how the skill pin in .ctl/ver.yaml moves it at release.
    • tasks.yaml adds queue item FRK-025. Its acceptance criteria are that the skill's version: equals the crate version and that the pin matches exactly once.
  • Unrelated cleanup. Cargo.toml drops the homepage field, which duplicated repository.

Impact

Readers and agents using the installed skill can see which forkctl release the instructions correspond to. Drift between the skill and the crate version is caught by operator_docs and fixed automatically during release bumps.

Files

File Status + −
.ctl/operator/SKILL.md.jinja modified +2 −0
.ctl/ver.yaml modified +6 −0
AGENTS.md modified +1 −1
Cargo.toml modified +0 −1
skills/forkctl/SKILL.md modified +1 −0
src/operator_docs.rs modified +1 −0
tasks.yaml modified +9 −0

Open

File Severity Finding
.ctl/operator/SKILL.md.jinja medium The new ctl-core template import may not exist in the pinned ctl-core 0.6.21.

History

When Pass Open
17 Oct 19:50 UTC Full 1
17 Oct 13:06 UTC Incremental 1

Inspect this review

Comment thread .ctl/operator/SKILL.md.jinja
The vendored copy of the skill is a released snapshot, so a reader
needs the forkctl release its text describes. The skill now renders
version: from the crate version through ctl-core's version_line, and a
skill pin in .ctl/ver.yaml moves it in each Version PR, as qctl and
verctl do. Cargo.toml drops package.homepage, which repeated
package.repository and which nightly cargo reports as redundant.

Closes FRK-025
@any-victor
any-victor force-pushed the docs/025-skill-version branch from 99434c1 to 26277c2 Compare October 17, 2026 19:49
@any-victor
any-victor merged commit 8d3716c into main Oct 17, 2026
3 checks passed
@any-victor
any-victor deleted the docs/025-skill-version branch October 17, 2026 19:58
any-victor added a commit that referenced this pull request Oct 17, 2026
…113)

#105, #107, and #110 closed FRK-023, FRK-024, and FRK-025. qctl's
`close-from-git` moves the three rows to the archive.

- `openspec archive bind-flags-to-environment` moves the change to
`openspec/changes/archive/2026-10-17-bind-flags-to-environment/`. Its
delta becomes the new `openspec/specs/cli-environment/spec.md`, whose
placeholder Purpose is replaced with a real one.
- The proposal's relative links gain one `../` for the deeper path, and
every target resolves.
- FRK-023's `plan` names the moved proposal. The pinned qctl refuses
plan edits on archived rows, so this one path is edited by hand, as in
earlier archives.

`mise run q check` and `openspec validate --all --strict` pass. No code
change, so no changeset.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant