Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -133,9 +133,9 @@ jobs:
secrets:
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

test-update-copilot-skills:
name: "[Test] Update Copilot Skills - Dry Run"
uses: ./.github/workflows/update-copilot-skills.yaml
test-update-agent-skills:
name: "[Test] Update Agent Skills - Dry Run"
uses: ./.github/workflows/update-agent-skills.yaml
permissions:
contents: write
pull-requests: write
Expand All @@ -159,7 +159,7 @@ jobs:
test-publish-dotnet-library,
test-scan-for-todo-comments,
test-sync-cluster-policies,
test-update-copilot-skills,
test-update-agent-skills,
]
permissions: {}
if: ${{ always() }}
Expand All @@ -180,4 +180,4 @@ jobs:
${{ needs.test-publish-dotnet-library.result }}
${{ needs.test-scan-for-todo-comments.result }}
${{ needs.test-sync-cluster-policies.result }}
${{ needs.test-update-copilot-skills.result }}
${{ needs.test-update-agent-skills.result }}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: πŸ”„ Update Copilot Skills
name: πŸ”„ Update Agent Skills

on:
workflow_call:
Expand All @@ -22,12 +22,12 @@ on:
description: Branch the update PR is opened from
required: false
type: string
default: deps/copilot-skills-update
default: deps/agent-skills-update
pr-title:
description: Title of the update PR
required: false
type: string
default: "chore(deps): update copilot skills"
default: "chore(deps): update agent skills"
pr-labels:
description: Comma-separated labels applied to the update PR
required: false
Expand All @@ -37,7 +37,7 @@ on:
description: Commit message for the update PR
required: false
type: string
default: "chore(deps): update copilot skills"
default: "chore(deps): update agent skills"
dry-run:
description: "Skip update and PR creation (validate workflow interface only)"
required: false
Expand All @@ -63,8 +63,8 @@ on:
permissions: {}

jobs:
update-copilot-skills:
name: Update Copilot skills
update-agent-skills:
name: Update agent skills
if: ${{ !inputs.dry-run }}
runs-on: ubuntu-latest
permissions:
Expand Down Expand Up @@ -92,6 +92,9 @@ jobs:

- name: πŸ”„ Update installed skills
id: update
# TODO: repoint to devantler-tech/actions/update-agent-skills once the action
# rename (devantler-tech/actions#178) ships in a release. This pinned SHA still
# carries the action under its former name, so it keeps working until then.
uses: devantler-tech/actions/update-copilot-skills@59d3ffbe1a9437fcc39e2794fa2f221abe878310 # v3.3.0
with:
dir: ${{ inputs.dir }}
Expand All @@ -105,7 +108,7 @@ jobs:
commit-message: ${{ inputs.commit-message }}
title: ${{ inputs.pr-title }}
body: |
Automated update of Copilot skills to their latest versions.
Automated update of agent skills to their latest versions.

Updated files under `${{ inputs.dir }}`:

Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ This file is the single canonical instructions file for the repository. It is re
β”œβ”€β”€ scan-for-todo-comments.yaml # Reusable: scan TODOs and create GitHub issues
β”œβ”€β”€ scan-for-workflow-vulnerabilities.yaml # Reusable: Zizmor GitHub Actions security analysis
β”œβ”€β”€ sync-cluster-policies.yaml # Reusable: sync Kyverno policies from upstream
β”œβ”€β”€ update-copilot-skills.yaml # Reusable: keep installed agent skills up-to-date
β”œβ”€β”€ update-agent-skills.yaml # Reusable: keep installed agent skills up-to-date
└── validate-go-project.yaml # Reusable: Go lint, build, test, coverage
```

Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -309,12 +309,12 @@ jobs:

</details>

### πŸ”„ Update Copilot Skills
### πŸ”„ Update Agent Skills

<details>
<summary>Click to expand</summary>

[.github/workflows/update-copilot-skills.yaml](.github/workflows/update-copilot-skills.yaml) is a workflow used to keep installed Copilot / agent skills up-to-date via [`gh skill update --all`](https://github.blog/changelog/2026-04-16-manage-agent-skills-with-github-cli/), opening a PR with any changes. Each installed `SKILL.md`'s `metadata.github-*` frontmatter is the source of truth β€” no lockfile is required. Works with any mix of `gh skill`-compatible upstreams.
[.github/workflows/update-agent-skills.yaml](.github/workflows/update-agent-skills.yaml) is a workflow used to keep installed agent skills (Copilot, Claude Code, …) up-to-date via [`gh skill update --all`](https://github.blog/changelog/2026-04-16-manage-agent-skills-with-github-cli/), opening a PR with any changes. Each installed `SKILL.md`'s `metadata.github-*` frontmatter is the source of truth β€” no lockfile is required. Works with any mix of `gh skill`-compatible upstreams.

#### Usage

Expand All @@ -325,16 +325,16 @@ on:
workflow_dispatch:

jobs:
update-copilot-skills:
uses: devantler-tech/reusable-workflows/.github/workflows/update-copilot-skills.yaml@{ref} # ref
update-agent-skills:
uses: devantler-tech/reusable-workflows/.github/workflows/update-agent-skills.yaml@{ref} # ref
permissions:
contents: write
pull-requests: write
with:
dir: .agents/skills
```

The workflow assumes skills were previously installed with [`devantler-tech/actions/setup-copilot-skills`](https://github.com/devantler-tech/actions/tree/main/setup-copilot-skills) (or `gh skill install` directly) β€” the committed `SKILL.md` files carry the upstream pointers.
The workflow assumes skills were previously installed with [`devantler-tech/actions/setup-agent-skills`](https://github.com/devantler-tech/actions/tree/main/setup-agent-skills) (or `gh skill install` directly) β€” the committed `SKILL.md` files carry the upstream pointers.

#### Secrets and Inputs

Expand All @@ -343,10 +343,10 @@ The workflow assumes skills were previously installed with [`devantler-tech/acti
| `dir` | Input (string) | `.` | No | Directory to scan for installed skills (passed to `gh skill update --dir`) |
| `unpin` | Input (boolean) | `false` | No | When `true`, pass `--unpin` (clear pinned versions) |
| `gh-version` | Input (string) | `2.90.0` | No | Minimum required `gh` version (must support `gh skill`) |
| `pr-branch` | Input (string) | `deps/copilot-skills-update` | No | Branch the update PR is opened from |
| `pr-title` | Input (string) | `chore(deps): update copilot skills` | No | Title of the update PR |
| `pr-branch` | Input (string) | `deps/agent-skills-update` | No | Branch the update PR is opened from |
| `pr-title` | Input (string) | `chore(deps): update agent skills` | No | Title of the update PR |
| `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 |
| `commit-message` | Input (string) | `chore(deps): update agent skills` | No | Commit message for the update PR |
| `dry-run` | Input (boolean) | `false` | No | Skip update and PR creation (validate workflow interface only) |

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