Skip to content

refactor(update-copilot-skills)!: drop skills-lock, use gh skill update --all#207

Merged
botantler[bot] merged 1 commit intomainfrom
devantler/lean-into-gh-skill-frontmatter
Apr 19, 2026
Merged

refactor(update-copilot-skills)!: drop skills-lock, use gh skill update --all#207
botantler[bot] merged 1 commit intomainfrom
devantler/lean-into-gh-skill-frontmatter

Conversation

@devantler
Copy link
Copy Markdown
Contributor

Wrap devantler-tech/actions/update-copilot-skills@v2 which delegates to gh skill update --all. Installed SKILL.md files' own metadata.github-* frontmatter is the source of truth — no skills-lock.json required.

Type of change

  • 🧹 Refactor
  • ⛓️‍💥 Breaking change
  • 📚 Documentation update

What changed

  • Drop the skills-lock, agent, and scope inputs.
  • Drop the separate setup-copilot-skills re-install step — gh skill update edits installed SKILL.md files in place.
  • Add dir (default .) and unpin inputs; bump the pinned action SHA to the companion devantler-tech/actions#95 head.
  • Only open a PR when the action reports changed=true; embed the updated-skills output in the PR body.
  • Refresh the README section to match.

Breaking change

The skills-lock, agent, and scope inputs are removed. Consumers should delete their skills-lock.json, install each skill via gh skill install (or devantler-tech/actions/setup-copilot-skills@v2), commit the resulting SKILL.md files, and pass dir: pointing at the directory those files live under. Companion migration PRs: devantler-tech/skills#16, devantler-tech/actions#95, and follow-up PRs in devantler-tech/ksail + devantler-tech/platform.

…te --all

The reusable workflow now wraps `devantler-tech/actions/update-copilot-skills@v2`
which delegates to `gh skill update --all`. The installed SKILL.md files'
own `metadata.github-*` frontmatter carries the upstream pointers, so:

- Drop the `skills-lock`, `agent`, and `scope` inputs.
- Drop the separate `setup-copilot-skills` re-install step — `gh skill update`
  edits installed SKILL.md files in place.
- Add `dir` (default `.`) and `unpin` inputs; bump the pinned action SHA.
- Only open a PR when the action reports `changed=true`; embed the
  `updated-skills` output in the PR body.
- Refresh the README section to match (new usage snippet + inputs table).

BREAKING CHANGE: The `skills-lock`, `agent`, and `scope` inputs are
removed. Consumers should delete their skills-lock.json, install each
skill via `gh skill install` (or `devantler-tech/actions/setup-copilot-skills@v2`),
commit the resulting SKILL.md files, and pass `dir:` pointing at the
directory those files live under.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 19, 2026 16:04
@botantler botantler Bot enabled auto-merge (squash) April 19, 2026 16:04
@botantler botantler Bot merged commit 5a33468 into main Apr 19, 2026
23 checks passed
@botantler botantler Bot deleted the devantler/lean-into-gh-skill-frontmatter branch April 19, 2026 16:05
@botantler
Copy link
Copy Markdown
Contributor

botantler Bot commented Apr 19, 2026

🎉 This PR is included in version 3.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@botantler botantler Bot added the released an issue that has been solved in a release label Apr 19, 2026
devantler added a commit to devantler-tech/ksail that referenced this pull request Apr 19, 2026
Re-install each agent skill from its original upstream repo via
`gh skill install`, so every installed SKILL.md now carries
`metadata.github-*` frontmatter pointing at the true origin instead
of `devantler-tech/skills`. `gh skill update --all` reads that
metadata directly, making the sidecar `skills-lock.json` redundant.

- Delete `skills-lock.json` + remove its mega-linter exclusions.
- Reinstall 15 skills from upstream via `gh skill install <owner/repo> <path>
  --agent github-copilot --scope project --dir .agents/skills`.
- Bump `update-skills.yaml` to pin the refreshed reusable workflow and
  swap `skills-lock` for the new `dir` input.

BREAKING CHANGE: `skills-lock.json` is removed. Tooling that reads it
must now discover skills under `.agents/skills/` instead.

Refs: devantler-tech/skills#16, devantler-tech/actions#95,
devantler-tech/reusable-workflows#207

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors the update-copilot-skills reusable workflow to rely on gh skill update --all (via devantler-tech/actions/update-copilot-skills@v2) so the committed SKILL.md files’ metadata.github-* frontmatter becomes the source of truth (no skills-lock.json).

Changes:

  • Remove skills-lock, agent, and scope inputs; introduce dir and unpin inputs.
  • Drop the separate “install skills” step and only create a PR when changed=true, including updated-skills in the PR body.
  • Update README documentation to match the new workflow contract and usage.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
README.md Updates workflow docs/usage to align with the new “installed SKILL.md is source of truth” approach.
.github/workflows/update-copilot-skills.yaml Switches the workflow to updating installed skills in-place and conditionally opening a PR based on action output.
Comments suppressed due to low confidence (1)

.github/workflows/update-copilot-skills.yaml:75

  • The step-security/create-pull-request step is configured with labels: ${{ inputs.pr-labels }}. Applying labels to a PR requires the issues: write permission on the token; with only contents: write and pull-requests: write this step can fail (or silently skip labeling). Add issues: write to the job permissions when labels are used (or omit labels / make them conditional).
      - name: 📦 Create pull request
        if: steps.update.outputs.changed == 'true'
        uses: step-security/create-pull-request@e604d57b37b404d8bb34d152fa905e45d003a895 # v8.1.0
        with:
          commit-message: ${{ inputs.commit-message }}
          title: ${{ inputs.pr-title }}

Comment thread README.md
| `pr-labels` | Input (string) | `dependencies,automation` | No | Comma-separated labels for the update PR |
| `commit-message` | Input (string) | `chore(deps): update copilot skills` | No | Commit message for the update PR |

> **Note:** The calling workflow must grant `contents: write` and `pull-requests: write` permissions.
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The README note says callers must grant contents: write and pull-requests: write, but this workflow also applies PR labels (pr-labels), which typically requires issues: write. Update the note (and/or the permissions example) to include issues: write so consumers don’t hit permission errors.

Suggested change
> **Note:** The calling workflow must grant `contents: write` and `pull-requests: write` permissions.
> **Note:** The calling workflow must grant `contents: write`, `pull-requests: write`, and `issues: write` permissions.

Copilot uses AI. Check for mistakes.
devantler added a commit to devantler-tech/platform that referenced this pull request Apr 19, 2026
Re-install each agent skill from its original upstream repo via
`gh skill install`, so every installed SKILL.md now carries
`metadata.github-*` frontmatter pointing at the true origin instead
of `devantler-tech/skills`. `gh skill update --all` reads that
metadata directly, making the sidecar `skills-lock.json` redundant.

- Delete `skills-lock.json`.
- Reinstall 11 of 12 skills from upstream via
  `gh skill install <owner/repo> <path> --agent github-copilot
   --scope project --dir .agents/skills`.
- `siderolabs/docs` is not re-installed: the upstream ships
  `public/skill.md` (lowercase) which `gh skill install` rejects
  (it only recognises `SKILL.md`). Tracking upstream for a fix —
  until then, manage that skill out-of-band or drop it.
- Bump `update-skills.yaml` to pin the refreshed reusable workflow and
  swap `skills-lock` for the new `dir` input.

BREAKING CHANGE: `skills-lock.json` is removed. The `siderolabs`
skill is temporarily unavailable pending an upstream rename to
`SKILL.md`.

Refs: devantler-tech/skills#16, devantler-tech/actions#95,
devantler-tech/reusable-workflows#207

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
github-merge-queue Bot pushed a commit to devantler-tech/platform that referenced this pull request Apr 19, 2026
)

* refactor(skills)!: reinstall from upstreams, drop skills-lock.json

Re-install each agent skill from its original upstream repo via
`gh skill install`, so every installed SKILL.md now carries
`metadata.github-*` frontmatter pointing at the true origin instead
of `devantler-tech/skills`. `gh skill update --all` reads that
metadata directly, making the sidecar `skills-lock.json` redundant.

- Delete `skills-lock.json`.
- Reinstall 11 of 12 skills from upstream via
  `gh skill install <owner/repo> <path> --agent github-copilot
   --scope project --dir .agents/skills`.
- `siderolabs/docs` is not re-installed: the upstream ships
  `public/skill.md` (lowercase) which `gh skill install` rejects
  (it only recognises `SKILL.md`). Tracking upstream for a fix —
  until then, manage that skill out-of-band or drop it.
- Bump `update-skills.yaml` to pin the refreshed reusable workflow and
  swap `skills-lock` for the new `dir` input.

BREAKING CHANGE: `skills-lock.json` is removed. The `siderolabs`
skill is temporarily unavailable pending an upstream rename to
`SKILL.md`.

Refs: devantler-tech/skills#16, devantler-tech/actions#95,
devantler-tech/reusable-workflows#207

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(update-skills): pin to merged reusable-workflows commit on main

The previous PR-head SHA was unreachable from the default branch after
reusable-workflows#207 squash-merged, triggering zizmor's
"commit with no history in referenced repository" alert. Repoint at
the merge commit on `main`.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
github-merge-queue Bot pushed a commit to devantler-tech/ksail that referenced this pull request Apr 19, 2026
)

* refactor(skills)!: reinstall from upstreams, drop skills-lock.json

Re-install each agent skill from its original upstream repo via
`gh skill install`, so every installed SKILL.md now carries
`metadata.github-*` frontmatter pointing at the true origin instead
of `devantler-tech/skills`. `gh skill update --all` reads that
metadata directly, making the sidecar `skills-lock.json` redundant.

- Delete `skills-lock.json` + remove its mega-linter exclusions.
- Reinstall 15 skills from upstream via `gh skill install <owner/repo> <path>
  --agent github-copilot --scope project --dir .agents/skills`.
- Bump `update-skills.yaml` to pin the refreshed reusable workflow and
  swap `skills-lock` for the new `dir` input.

BREAKING CHANGE: `skills-lock.json` is removed. Tooling that reads it
must now discover skills under `.agents/skills/` instead.

Refs: devantler-tech/skills#16, devantler-tech/actions#95,
devantler-tech/reusable-workflows#207

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(update-skills): pin to merged reusable-workflows commit on main

The previous PR-head SHA was unreachable from the default branch after
reusable-workflows#207 squash-merged, triggering zizmor's
"commit with no history in referenced repository" alert. Repoint at
the merge commit on `main`.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
github-merge-queue Bot pushed a commit to devantler-tech/ksail that referenced this pull request Apr 19, 2026
)

* refactor(skills)!: reinstall from upstreams, drop skills-lock.json

Re-install each agent skill from its original upstream repo via
`gh skill install`, so every installed SKILL.md now carries
`metadata.github-*` frontmatter pointing at the true origin instead
of `devantler-tech/skills`. `gh skill update --all` reads that
metadata directly, making the sidecar `skills-lock.json` redundant.

- Delete `skills-lock.json` + remove its mega-linter exclusions.
- Reinstall 15 skills from upstream via `gh skill install <owner/repo> <path>
  --agent github-copilot --scope project --dir .agents/skills`.
- Bump `update-skills.yaml` to pin the refreshed reusable workflow and
  swap `skills-lock` for the new `dir` input.

BREAKING CHANGE: `skills-lock.json` is removed. Tooling that reads it
must now discover skills under `.agents/skills/` instead.

Refs: devantler-tech/skills#16, devantler-tech/actions#95,
devantler-tech/reusable-workflows#207

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(update-skills): pin to merged reusable-workflows commit on main

The previous PR-head SHA was unreachable from the default branch after
reusable-workflows#207 squash-merged, triggering zizmor's
"commit with no history in referenced repository" alert. Repoint at
the merge commit on `main`.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
github-merge-queue Bot pushed a commit to devantler-tech/ksail that referenced this pull request Apr 19, 2026
)

* refactor(skills)!: reinstall from upstreams, drop skills-lock.json

Re-install each agent skill from its original upstream repo via
`gh skill install`, so every installed SKILL.md now carries
`metadata.github-*` frontmatter pointing at the true origin instead
of `devantler-tech/skills`. `gh skill update --all` reads that
metadata directly, making the sidecar `skills-lock.json` redundant.

- Delete `skills-lock.json` + remove its mega-linter exclusions.
- Reinstall 15 skills from upstream via `gh skill install <owner/repo> <path>
  --agent github-copilot --scope project --dir .agents/skills`.
- Bump `update-skills.yaml` to pin the refreshed reusable workflow and
  swap `skills-lock` for the new `dir` input.

BREAKING CHANGE: `skills-lock.json` is removed. Tooling that reads it
must now discover skills under `.agents/skills/` instead.

Refs: devantler-tech/skills#16, devantler-tech/actions#95,
devantler-tech/reusable-workflows#207

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(update-skills): pin to merged reusable-workflows commit on main

The previous PR-head SHA was unreachable from the default branch after
reusable-workflows#207 squash-merged, triggering zizmor's
"commit with no history in referenced repository" alert. Repoint at
the merge commit on `main`.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
devantler added a commit to devantler-tech/ksail that referenced this pull request Apr 20, 2026
)

* refactor(skills)!: reinstall from upstreams, drop skills-lock.json

Re-install each agent skill from its original upstream repo via
`gh skill install`, so every installed SKILL.md now carries
`metadata.github-*` frontmatter pointing at the true origin instead
of `devantler-tech/skills`. `gh skill update --all` reads that
metadata directly, making the sidecar `skills-lock.json` redundant.

- Delete `skills-lock.json` + remove its mega-linter exclusions.
- Reinstall 15 skills from upstream via `gh skill install <owner/repo> <path>
  --agent github-copilot --scope project --dir .agents/skills`.
- Bump `update-skills.yaml` to pin the refreshed reusable workflow and
  swap `skills-lock` for the new `dir` input.

BREAKING CHANGE: `skills-lock.json` is removed. Tooling that reads it
must now discover skills under `.agents/skills/` instead.

Refs: devantler-tech/skills#16, devantler-tech/actions#95,
devantler-tech/reusable-workflows#207

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(update-skills): pin to merged reusable-workflows commit on main

The previous PR-head SHA was unreachable from the default branch after
reusable-workflows#207 squash-merged, triggering zizmor's
"commit with no history in referenced repository" alert. Repoint at
the merge commit on `main`.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

released an issue that has been solved in a release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants