You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/skills/skill-author/SKILL.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,12 +20,12 @@ description: Scaffolds a new skill profile in this repo and fills in the require
20
20
2. Copy `templates/SKILL.md` and `templates/package.json` into that folder.
21
21
3. Fill the frontmatter (`name`, `description`) and write the H1 title line.
22
22
4. Complete all seven sections: Use When, Don't Use When, Workflow, Rules, Examples, Edge Cases, References.
23
-
5. Set the package `name` to `@bcgov/skill-<skill-name>` and `version` to `0.1.0` in `package.json`.
23
+
5. Set the package `name` to `@bcgov/<skill-name>` (matching the manifest `name`) and `version` to `0.1.0` in `package.json`.
24
24
6. Run `uv run python scripts/validate_skill.py skills/<skill-name>/SKILL.md` and fix any errors.
25
25
26
26
## Rules
27
27
- Always set the new skill's starting `version` to `0.1.0` in `package.json`, never in the `SKILL.md` frontmatter. (Why: version lives only in package.json to avoid drift between two sources of truth.)
28
-
- Always keep the package `name`scoped as `@bcgov/skill-<skill-name>`matching the folder. (Why: the publish workflow derives the npm package identity from this and consumers install by it.)
28
+
- Always keep the package `name` as `@bcgov/<skill-name>`— same as the folder and the manifest `name`. (Why: consumers wire skills into their agent by folder name; matching keeps `node_modules/@bcgov/<name>/` usable as-is with no rename step.)
29
29
- Never invent a new section order or rename a section. (Why: the validator matches the seven section titles exactly and the PR check will fail.)
30
30
- Always keep `## Use When` as situational triggers (when to reach for this skill at all) and `## Workflow` as the numbered procedure (how to do the work). Never let a Use When bullet paraphrase a Workflow step — if a bullet starts with "Always ship…", "Set X to Y", or restates a procedural detail, it belongs in Workflow, not Use When. (Why: the two sections serve different reader intents — routing vs. execution — and duplicating content between them bloats the agent's context, makes routing fuzzier, and drifts out of sync on every edit.)
Copy file name to clipboardExpand all lines: .github/skills/skill-release/SKILL.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,20 +19,20 @@ description: Bumps a skill's version and ships it as an npm package when a contr
19
19
1. Decide the change size: patch (fix/wording), minor (compatible capability), major (breaking).
20
20
2. From the skill folder, run `npm version patch|minor|major` to bump `package.json`.
21
21
3. Validate with `uv run python scripts/validate_skill.py skills/<name>/SKILL.md`.
22
-
4. Open a PR; on merge to `main` the publish workflow reads `name` + `version` and runs `npm publish --tag latest`. The `--tag latest` keeps the `latest` dist-tag pointed at the version this run shipped, so consumers who `npm install @bcgov/skill-<name>` (no version) get the new release.
22
+
4. Open a PR; on merge to `main` the publish workflow reads `name` + `version` and runs `npm publish --tag latest`. The `--tag latest` keeps the `latest` dist-tag pointed at the version this run shipped, so consumers who `npm install @bcgov/<name>` (no version) get the new release.
23
23
5. Confirm the release: the workflow skips any version already published, so only a bumped version ships.
24
24
25
25
## Rules
26
26
- Always bump the `version` in `package.json` for any release. (Why: the publish workflow skips already-published versions, so an unbumped merge ships nothing.)
27
27
- Always choose the semver level by impact on consumers, not effort. (Why: a tiny but breaking change is still a major; consumers rely on semver ranges to upgrade safely.)
28
28
- Never hand-edit a version to one that was already published. (Why: npm registry versions are immutable and the publish will fail.)
29
-
- Never bypass the `--tag latest` behaviour for a normal forward release. (Why: the publish script ships every changed skill with `npm publish --tag latest`, which is what makes `npm install @bcgov/skill-<name>` resolve to the newest version. Backport publishes on an older line are the only case that wants a different dist-tag, and they belong in a follow-up `npm dist-tag` step rather than an edit to the publish script.)
29
+
- Never bypass the `--tag latest` behaviour for a normal forward release. (Why: the publish script ships every changed skill with `npm publish --tag latest`, which is what makes `npm install @bcgov/<name>` resolve to the newest version. Backport publishes on an older line are the only case that wants a different dist-tag, and they belong in a follow-up `npm dist-tag` step rather than an edit to the publish script.)
30
30
31
31
## Examples
32
32
- "I fixed a typo in the example skill, release it" → `npm version patch`, validate, open PR.
33
33
- "This skill now supports a new lookup, ship it" → `npm version minor`, validate, open PR.
34
34
- "Why didn't my merge publish anything?" → check whether `version` was bumped; an unchanged version is skipped by design.
35
-
- "How do consumers pick up my release without pinning a version?" → `npm install @bcgov/skill-<name>` resolves to the `latest` dist-tag, which the publish workflow updates on every release.
35
+
- "How do consumers pick up my release without pinning a version?" → `npm install @bcgov/<name>` resolves to the `latest` dist-tag, which the publish workflow updates on every release.
36
36
37
37
## Edge Cases
38
38
- If the user is unsure of the level → ask whether existing consumers would break; if yes it's major, if it only adds it's minor, otherwise patch.
<li>Install <code>uv</code> (third-party action, SHA-pinned per the policy below).</li>
53
53
<li><strong>Re-validate every skill</strong> with <code>uv run python scripts/validate_skill.py --all</code>, the final check before any package bytes leave the repo.</li>
54
54
<li>Set up Node with the registry pointed at <code>https://npm.pkg.github.com</code> and the <code>@bcgov</code> scope. (The exact Node version lives in the workflow file.)</li>
55
-
<li>Run <ahref="https://github.com/bcgov/agent-skills/blob/main/.github/scripts/publish-changed-skills.sh" target="_blank" rel="noopener"><code>.github/scripts/publish-changed-skills.sh</code></a>, which diffs <code>BEFORE_SHA</code> against <code>HEAD_SHA</code>, walks each changed skill, and runs <code>npm publish --tag latest</code> with <code>NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}</code>. The <code>--tag latest</code> keeps the <code>latest</code> dist-tag pointed at the just-shipped version, so <code>npm install @bcgov/skill-<name></code> (no version) always pulls the most recent release.</li>
55
+
<li>Run <ahref="https://github.com/bcgov/agent-skills/blob/main/.github/scripts/publish-changed-skills.sh" target="_blank" rel="noopener"><code>.github/scripts/publish-changed-skills.sh</code></a>, which diffs <code>BEFORE_SHA</code> against <code>HEAD_SHA</code>, walks each changed skill, and runs <code>npm publish --tag latest</code> with <code>NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}</code>. The <code>--tag latest</code> keeps the <code>latest</code> dist-tag pointed at the just-shipped version, so <code>npm install @bcgov/<name></code> (no version) always pulls the most recent release.</li>
<h3style="margin: 0; color: var(--bc-blue);">Browse published skills on GitHub Packages</h3>
24
24
<spanclass="badge badge-gold">live</span>
25
25
</div>
26
-
<p>The full catalogue of published <code>@bcgov/skill-*</code> packages is browsable on GitHub. Each package links back to its <code>SKILL.md</code> source in this repo.</p>
26
+
<p>The full catalogue of published <code>@bcgov/*</code> packages is browsable on GitHub. Each package links back to its <code>SKILL.md</code> source in this repo.</p>
27
27
<pstyle="margin-top: 1rem;">
28
28
<ahref="https://github.com/orgs/bcgov/packages?repo_name=agent-skills" target="_blank" rel="noopener"><strong>Open packages for <code>bcgov/agent-skills</code> →</strong></a>
0 commit comments