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
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,30 +12,30 @@ description: Scaffolds a new skill profile in this repo and fills in the require
12
12
13
13
## Don't Use When
14
14
- The user wants to check an existing skill against the spec → use `skill-validator`.
15
-
- The user wants to bump a version or publish → use `skill-release`.
16
15
- The user is editing prose in an existing, already-structured skill.
17
16
18
17
## Workflow
19
-
1.Pick a kebab-case`<skill-name>` and create `skills/<skill-name>/`.
20
-
2.Copy `templates/SKILL.md` and `templates/package.json` into that folder.
21
-
3.Fill the frontmatter (`name`, `description`) and write the H1 title line.
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-name>` (matching the manifest `name`) and `version` to `0.1.0` in `package.json`.
18
+
1.Before scaffolding, confirm no upstream catalogue already covers this use case. Search [The Agent Skills Directory](https://www.skills.sh/), the [Microsoft Agent Skills catalog](https://microsoft.github.io/skills/#agents), [`anthropics/skills`](https://github.com/anthropics/skills), and [`github/awesome-copilot`](https://github.com/github/awesome-copilot). If an upstream skill covers it, point the user there instead of scaffolding a duplicate; only proceed when the skill is genuinely BC Gov–specific (encodes BC Gov policies, internal services, regulatory requirements, or org-specific workflows).
19
+
2.Pick a kebab-case `<skill-name>` and create `skills/<skill-name>/`.
20
+
3.Copy `templates/SKILL.md` into that folder.
21
+
4.Fill the frontmatter (`name`, `description`) and write the H1 title line.
22
+
5.Complete all seven sections: Use When, Don't Use When, Workflow, Rules, Examples, Edge Cases, References.
24
23
6. Run `uv run python scripts/validate_skill.py skills/<skill-name>/SKILL.md` and fix any errors.
25
24
26
25
## Rules
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` 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.)
26
+
- Always run the upstream-catalogue check in Workflow step 1 before scaffolding. (Why: this repo is for BC Gov–specific skills; duplicating an upstream skill fragments the ecosystem, doubles the maintenance burden, and makes it ambiguous which one consumers should install. Reviewers will ask for the result of this check in the PR description.)
29
27
- 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
28
- 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.)
31
29
32
30
## Examples
33
31
- "I want to add a skill for looking up land parcels" → scaffold `skills/parcel-lookup/`, fill the template, validate.
34
-
- "How do I start a new skill profile?" → copy the templates into a new skill dir and walk through the seven sections.
32
+
- "How do I start a new skill profile?" → copy the template into a new skill dir and walk through the seven sections.
35
33
36
34
## Edge Cases
37
35
- If a `skills/<skill-name>/` folder already exists → confirm whether to edit it (route to the author flow on the existing files) rather than overwriting.
38
36
- If the user hasn't named the skill → propose a kebab-case name from the described purpose before scaffolding.
39
37
40
38
## References
39
+
For the upstream-catalogue check in step 1, search [The Agent Skills Directory](https://www.skills.sh/), [Microsoft Agent Skills](https://microsoft.github.io/skills/#agents), [`anthropics/skills`](https://github.com/anthropics/skills), and [`github/awesome-copilot`](https://github.com/github/awesome-copilot); the "Before adding a new skill" section of [CONTRIBUTING.md](../../../CONTRIBUTING.md) explains the policy in full.
40
+
41
41
See [spec/SKILL_SPEC.md](../../../spec/SKILL_SPEC.md) for the authoritative manifest spec and [templates/SKILL.md](../../../templates/SKILL.md) for the starting point.
Copy file name to clipboardExpand all lines: .github/skills/skill-validator/SKILL.md
+2-4Lines changed: 2 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,19 +12,17 @@ description: Validates skill profiles against the spec and explains how to fix f
12
12
13
13
## Don't Use When
14
14
- The user wants to create a new skill from scratch → use `skill-author`.
15
-
- The user wants to bump a version or publish → use `skill-release`.
16
15
- The failure is a Python/tooling error unrelated to a skill's contents.
17
16
18
17
## Workflow
19
18
1. For one skill, run `uv run python scripts/validate_skill.py skills/<name>/SKILL.md`.
20
19
2. For everything, run `uv run python scripts/validate_skill.py --all`.
21
20
3. To mirror CI on a branch, run `uv run python scripts/validate_skill.py --base origin/main`.
22
21
4. Read each `- <message>` line under a failing file and map it to the offending section or field.
23
-
5. Edit the `SKILL.md`or `package.json`to fix it, then re-run until the file shows `✓`.
22
+
5. Edit the `SKILL.md` to fix it, then re-run until the file shows `✓`.
24
23
25
24
## Rules
26
25
- Always re-run the validator after each fix rather than batching guesses. (Why: one fix can reveal or mask another, and the validator is fast.)
27
-
- Always check both the `SKILL.md` and the sibling `package.json` on a failure. (Why: the validator reports manifest and package errors together for the same skill.)
28
26
- Never edit `scripts/validate_skill.py` to make a skill pass. (Why: the spec is the contract; loosening the validator weakens every skill in the catalogue.)
29
27
30
28
## Examples
@@ -34,7 +32,7 @@ description: Validates skill profiles against the spec and explains how to fix f
34
32
35
33
## Edge Cases
36
34
- If `--base` finds no changed skills → report that nothing changed; there is nothing to validate.
37
-
- If the error is `missing package.json` → create one from `templates/package.json` beside the manifest before re-running.
35
+
- If the error names a missing or empty section → add the section heading (verbatim) with at least one bullet of content and re-run.
38
36
39
37
## References
40
38
See [spec/SKILL_SPEC.md](../../../spec/SKILL_SPEC.md) for what each check enforces and [CONTRIBUTING.md](../../../CONTRIBUTING.md) for the PR-check summary.
0 commit comments