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: CONTRIBUTING.md
+37-3Lines changed: 37 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,40 @@
1
-
# Authoring AMD Skills
1
+
# Contributing to AMD Skills
2
2
3
-
A short guide for writing skills that agents pick up reliably and execute well. For repository structure and contribution paths, see the [README](README.md). For the full Anthropic reference, see [Skill authoring best practices](https://docs.anthropic.com/en/docs/agents-and-tools/agent-skills/best-practices).
3
+
This guide covers everything you need to ship a skill: how to choose a contribution path, what to validate locally, and the writing conventions every AMD skill should follow.
4
+
5
+
For repository structure and the broader catalog model, see the [README](README.md). For the upstream reference, see Anthropic's [Skill authoring best practices](https://docs.anthropic.com/en/docs/agents-and-tools/agent-skills/best-practices).
6
+
7
+
We welcome contributions from AMD engineers and selected partners.
8
+
9
+
## Contribution paths
10
+
11
+
There are two contribution paths, matching how the catalog is organized.
12
+
13
+
### Path A: Skills authored in this repository
14
+
15
+
Best for cross-cutting skills that do not have a natural product home.
16
+
17
+
1. Copy an existing skill folder under `skills/` as a starting point and rename it.
18
+
2. Update the `SKILL.md` frontmatter so the `name` and `description` clearly explain *what* the skill does and *when* an agent should reach for it.
19
+
3. Add the supporting scripts, templates, and reference docs your instructions point to. Keep skills focused: one well-scoped task per skill is better than one mega-skill.
20
+
4. Register the skill in `.claude-plugin/marketplace.json` with a human-readable description (the marketplace description is for humans browsing the catalog; the `SKILL.md` description is what the agent uses for routing).
21
+
5. Regenerate the Cursor manifest so it tracks the new skill:
./scripts/check.sh # validates every SKILL.md and that manifests are in sync
28
+
```
29
+
7. Open a pull request. The `validate` GitHub Actions workflow runs `./scripts/check.sh` and must pass before merge. See [Validating locally](#validating-locally) for the full set of enforced rules.
30
+
31
+
### Path B: Skills authored in a product repository
32
+
33
+
Best for skills that should ship and version with a product (HIP, MIGraphX, Ryzen AI, Lemonade, etc.).
34
+
35
+
1. Add the skill folder to your product repository; a common location is `.agents/skills/<skill-name>/`.
36
+
2. Open a pull request here that adds an entry to `catalog/` pointing at the skill's location and pinning a tag.
37
+
3. CI will validate the linked skill against the same rules as in-repo skills, and the central plugin manifests will surface it through one install.
4
38
5
39
## Is this task a good fit for a skill?
6
40
@@ -168,4 +202,4 @@ The validator checks every skill under `skills/` for:
168
202
It also checks the plugin manifests:
169
203
170
204
- every skill under `skills/` has a matching entry in `.claude-plugin/marketplace.json` (and vice versa), with `source` set to `./skills/<name>` and a non-empty human-readable `description`
171
-
-`.cursor-plugin/plugin.json` is up to date with `.claude-plugin/plugin.json` and the discovered skills (regenerate with `./scripts/publish.sh`) (push longer reference material into sibling files)
205
+
-`.cursor-plugin/plugin.json` is up to date with `.claude-plugin/plugin.json` and the discovered skills (regenerate with `./scripts/publish.sh`)
@@ -126,8 +126,10 @@ This repo also acts as an **incubator**: a skill can start its life under `skill
126
126
127
127
### What this means if you contribute
128
128
129
-
-**In-repo skills** (Path A below) are best for cross-cutting workflows that do not have a natural product home.
130
-
-**Product-repo skills** (Path B below) are best for skills that should live and version with a specific product. You add the skill folder to your product repo and open a small PR here that registers it in `catalog/` with a pinned tag. CI validates the linked skill against the same rules as in-repo skills, and the central plugin manifests surface it through the same one install.
129
+
-**In-repo skills** (Path A) are best for cross-cutting workflows that do not have a natural product home.
130
+
-**Product-repo skills** (Path B) are best for skills that should live and version with a specific product. You add the skill folder to your product repo and open a small PR here that registers it in `catalog/` with a pinned tag. CI validates the linked skill against the same rules as in-repo skills, and the central plugin manifests surface it through the same one install.
131
+
132
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the step-by-step contribution flow for each path.
131
133
132
134
### Repository layout
133
135
@@ -181,42 +183,12 @@ The agent loads the matching `SKILL.md` and any helper scripts, then carries out
181
183
182
184
## Contributing a skill
183
185
184
-
We welcome contributions from AMD engineers, and selected partners. There are two contribution paths, matching how the catalog is organized.
185
-
186
-
### Path A: Skills authored in this repository
187
-
188
-
Best for cross-cutting skills that do not have a natural product home.
189
-
190
-
1. Copy an existing skill folder under `skills/` as a starting point and rename it.
191
-
2. Update the `SKILL.md` frontmatter so the `name` and `description` clearly explain *what* the skill does and *when* an agent should reach for it.
192
-
3. Add the supporting scripts, templates, and reference docs your instructions point to. Keep skills focused: one well-scoped task per skill is better than one mega-skill.
193
-
4. Register the skill in `.claude-plugin/marketplace.json` with a human-readable description (the marketplace description is for humans browsing the catalog; the `SKILL.md` description is what the agent uses for routing).
194
-
5. Regenerate the Cursor manifest so it tracks the new skill:
./scripts/check.sh # validates every SKILL.md and that manifests are in sync
201
-
```
202
-
7. Open a pull request. The `validate` GitHub Actions workflow runs `./scripts/check.sh` and must pass before merge. See [AUTHORING.md](AUTHORING.md#validating-locally) for the full set of enforced rules.
203
-
204
-
### Path B: Skills authored in a product repository
205
-
206
-
Best for skills that should ship and version with a product (HIP, MIGraphX, Ryzen AI, vLLM-AMD, etc.).
207
-
208
-
1. Add the skill folder to your product repository; a common location is `.agents/skills/<skill-name>/`.
209
-
2. Open a pull request here that adds an entry to `catalog/` pointing at the skill's location and pinning a tag.
210
-
3. CI will validate the linked skill against the same rules as in-repo skills, and the central plugin manifests will surface it through one install.
211
-
212
-
### Writing tips
186
+
We welcome contributions from AMD engineers and selected partners. There are two paths, matching how the catalog is organized:
213
187
214
-
See [AUTHORING.md](AUTHORING.md) for the full authoring guide, including when a task is a good fit for a skill, how to write a description that routes correctly, and the conventions every AMD skill should follow. The essentials:
188
+
-**Path A — In-repo skills.** Authored directly under `skills/` in this repository. Best for cross-cutting workflows that do not have a natural product home.
189
+
-**Path B — Product-repo skills.** Authored in a product repository and registered here through `catalog/` with a pinned tag. Best for skills that should ship and version with a specific product (HIP, ROCm, Ryzen AI, Lemonade, etc.).
215
190
216
-
- Optimize the `description` for *agent routing*, not marketing copy. Describe the user's goal, not how the skill works internally.
217
-
- Be explicit about prerequisites: ROCm version, kernel, GPU architecture, container image.
218
-
- Prefer scripts and runnable commands over prose where possible.
219
-
- Call out known pitfalls: driver mismatches, unsupported architectures, and environment variables that silently change behavior.
191
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for step-by-step instructions, the full authoring guide, and the rules CI enforces on every pull request.
0 commit comments