@kensio/skill-template 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +14 -0
- package/README.md +14 -0
- package/package.json +28 -0
- package/skills/skill-template/SKILL.md +71 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
|
|
3
|
+
"name": "skill-template",
|
|
4
|
+
"version": "1.3.0",
|
|
5
|
+
"description": "A copy-and-edit starting point for writing a new Claude Code skill, covering SKILL.md frontmatter, description wording, and progressive disclosure.",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "Kensio Software",
|
|
8
|
+
"email": "hugh@kensiosoftware.co.uk"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://kensio.ai",
|
|
11
|
+
"repository": "https://github.com/KensioSoftware/kensio.ai",
|
|
12
|
+
"license": "Apache-2.0",
|
|
13
|
+
"keywords": ["example", "template", "authoring"]
|
|
14
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# @kensio/skill-template
|
|
2
|
+
|
|
3
|
+
A copy-and-edit starting point for writing a new Claude Code skill: the folder layout, `SKILL.md`
|
|
4
|
+
frontmatter, how to word a description so the skill actually triggers, and how to release a version
|
|
5
|
+
bump.
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/plugin marketplace add KensioSoftware/kensio.ai
|
|
9
|
+
/plugin install skill-template@kensio
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Part of [kensio.ai](https://github.com/KensioSoftware/kensio.ai). Licensed under the Apache License
|
|
13
|
+
2.0 — see the [LICENSE](https://github.com/KensioSoftware/kensio.ai/blob/main/LICENSE) in the
|
|
14
|
+
repository root.
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@kensio/skill-template",
|
|
3
|
+
"version": "1.3.0",
|
|
4
|
+
"description": "A copy-and-edit starting point for writing a new Claude Code skill, covering SKILL.md frontmatter, description wording, and progressive disclosure.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"claude",
|
|
7
|
+
"claude-code",
|
|
8
|
+
"claude-code-plugin",
|
|
9
|
+
"kensio",
|
|
10
|
+
"skill"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://kensio.ai",
|
|
13
|
+
"license": "Apache-2.0",
|
|
14
|
+
"author": "Kensio Software <hugh@kensiosoftware.co.uk>",
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/KensioSoftware/kensio.ai.git",
|
|
18
|
+
"directory": "plugins/skill-template"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
".claude-plugin",
|
|
22
|
+
"skills",
|
|
23
|
+
"README.md"
|
|
24
|
+
],
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-template
|
|
3
|
+
description: Scaffold a new Claude Code skill in this repo — creates the plugin folder, package.json, plugin.json and SKILL.md, and registers it in the marketplace. Use when the user asks to "add a new skill", "create a skill", or "start a new plugin" in the kensio.ai repo.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill Template
|
|
7
|
+
|
|
8
|
+
A starting point for adding a new skill to this repo. Copy the structure below, replace the
|
|
9
|
+
placeholders, then run the validation scripts.
|
|
10
|
+
|
|
11
|
+
## Layout
|
|
12
|
+
|
|
13
|
+
Every skill lives in its own self-contained plugin folder:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
plugins/<skill-name>/
|
|
17
|
+
├── package.json # npm package: @kensio/<skill-name>
|
|
18
|
+
├── .claude-plugin/
|
|
19
|
+
│ └── plugin.json # name, version, description, author
|
|
20
|
+
└── skills/
|
|
21
|
+
└── <skill-name>/
|
|
22
|
+
└── SKILL.md
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**A plugin folder must be self-contained.** Never reference files outside it with `../` — plugins
|
|
26
|
+
are copied, zipped, and installed standalone, so those paths will not resolve.
|
|
27
|
+
|
|
28
|
+
## Steps
|
|
29
|
+
|
|
30
|
+
1. Create `plugins/<skill-name>/` following the layout above.
|
|
31
|
+
2. Copy `package.json` from an existing plugin; set `name` to `@kensio/<skill-name>` and the
|
|
32
|
+
`repository.directory` to `plugins/<skill-name>`.
|
|
33
|
+
3. Copy `.claude-plugin/plugin.json`; set `name` and `description`.
|
|
34
|
+
4. Set the `version` in both files to whatever the other plugins currently carry. Versions move in
|
|
35
|
+
lockstep across the whole repo, and the release workflow is what changes them — never pick a new
|
|
36
|
+
number by hand.
|
|
37
|
+
5. Write `skills/<skill-name>/SKILL.md` (see frontmatter below).
|
|
38
|
+
6. Add an entry to `.claude-plugin/marketplace.json` with a matching `name`, a `source` of
|
|
39
|
+
`"./plugins/<skill-name>"`, and a description.
|
|
40
|
+
7. Run `pnpm check`.
|
|
41
|
+
|
|
42
|
+
## SKILL.md frontmatter
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
---
|
|
46
|
+
name: <skill-name>
|
|
47
|
+
description: <what it does, then when to use it — include the words and phrases a user would actually type>
|
|
48
|
+
---
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
- `name` must be kebab-case and match the containing directory.
|
|
52
|
+
- `description` is the _only_ thing Claude sees when deciding whether to load the skill, so it
|
|
53
|
+
carries the whole triggering burden. State what the skill does, then when to use it, in third
|
|
54
|
+
person. Concrete trigger phrases beat abstract summaries.
|
|
55
|
+
- Optional frontmatter worth knowing: `allowed-tools` (restrict the tools the skill may use) and
|
|
56
|
+
`disable-model-invocation: true` (user-invocable only, via `/<skill-name>`).
|
|
57
|
+
|
|
58
|
+
## Writing the body
|
|
59
|
+
|
|
60
|
+
Keep `SKILL.md` short and imperative — it is instructions for Claude, not documentation for a human.
|
|
61
|
+
Push detail into sibling files (`reference.md`, `examples/`) and link to them, so the body stays
|
|
62
|
+
cheap to load and the details are read only when needed.
|
|
63
|
+
|
|
64
|
+
## Releasing
|
|
65
|
+
|
|
66
|
+
There is nothing to do. Merging to `main` releases, and the version comes from the pull request
|
|
67
|
+
title: `fix:` for a patch, `feat:` for a minor, `feat!:` or a `BREAKING CHANGE` footer for a major.
|
|
68
|
+
A `docs:` or `chore:` title releases nothing.
|
|
69
|
+
|
|
70
|
+
Every plugin is set to the new version together, so a released version means the same commit
|
|
71
|
+
wherever it was installed from.
|