Skip to content

Commit 8bd01ae

Browse files
feat: add plugin skill authoring guidance
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent 99fd20c commit 8bd01ae

5 files changed

Lines changed: 133 additions & 0 deletions

File tree

.github/plugin/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ The
3434
[`psmodule-module-development-orchestration`](./psmodule/skills/psmodule-module-development-orchestration/SKILL.md)
3535
skill coordinates substantial module work across parent and child sessions
3636
using the repository's trunk-based development and bootstrap guidance.
37+
The
38+
[`psmodule-skill-authoring`](./psmodule/skills/psmodule-skill-authoring/SKILL.md)
39+
skill keeps plugin skills thin and points shared authoring guidance to the
40+
documentation site.
3741
Verify the installation with:
3842

3943
```console
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
name: psmodule-skill-authoring
3+
description: Author and maintain thin PSModule plugin skills that keep shared process in documentation and agent-specific behavior in SKILL.md.
4+
---
5+
6+
# Author PSModule plugin skills
7+
8+
Use this skill when creating or updating a skill in the PSModule plugin. First
9+
read the shared
10+
[writing plugin skills guide](../../../../../docs/content/guides/writing-plugin-skills.md);
11+
it is the source of common authoring, structure, validation, and maintenance
12+
guidance.
13+
14+
## Agent-specific contract
15+
16+
- Inspect the existing plugin, skill conventions, README, and manifest before
17+
editing.
18+
- Keep common user and repository guidance in the linked documentation. Put
19+
only the skill's trigger, agent operating sequence, handoff/report contract,
20+
and stop conditions in `SKILL.md`.
21+
- Preserve the plugin's scope and make adjacent work a separate change.
22+
- Open a draft PR early, use small commits, include the required Copilot
23+
co-author trailer, and report the PR URL, files, validation, decisions, and
24+
blockers to the owning session.
25+
- Stop and report instead of guessing when the skill boundary, source-of-truth
26+
document, plugin ownership, or validation requirement is unclear.
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
title: Writing plugin skills
3+
description: Design, author, validate, and maintain thin PSModule plugin skills that point to shared documentation.
4+
---
5+
6+
# Writing plugin skills
7+
8+
Use this guide when creating or changing a skill in the PSModule plugin. A
9+
skill is an operational entry point for an agent; shared process and policy
10+
belongs in the documentation structure so people and agents can use the same
11+
source of truth.
12+
13+
## Keep skills thin
14+
15+
Put common explanations, repository policy, standards, and user-facing
16+
procedures in the appropriate `docs/content/` page. Keep `SKILL.md` focused on
17+
the agent-specific information needed to apply that guidance:
18+
19+
- when the skill should be used and when it should not;
20+
- the agent's operating sequence and required handoffs;
21+
- explicit stop conditions and escalation boundaries;
22+
- the repository-specific validation and report-back contract.
23+
24+
The skill should link to the shared guide near its beginning. Do not copy
25+
organization-wide MSX rules, module standards, or long tutorials into the
26+
skill. Link to the canonical source instead.
27+
28+
## Skill structure
29+
30+
Create one directory per skill:
31+
32+
```text
33+
.github/plugin/<plugin-name>/skills/<skill-name>/
34+
└── SKILL.md
35+
```
36+
37+
Use lowercase, descriptive, hyphen-separated identifiers. Start `SKILL.md`
38+
with front matter containing the matching `name` and a concise `description`.
39+
The description should make the skill discoverable without embedding the full
40+
procedure.
41+
42+
After the front matter, include:
43+
44+
1. a short purpose statement and the link to the shared documentation;
45+
2. agent-specific operating instructions;
46+
3. explicit stop conditions;
47+
4. references to related repository and canonical MSX guidance.
48+
49+
Prefer short imperative instructions, checklists, and handoff fields over
50+
background material. Do not include stale vendor-specific model recommendations
51+
or obsolete tool instructions. If a procedure changes for both users and
52+
agents, update the documentation guide first and reduce the skill to a pointer
53+
plus the remaining agent contract.
54+
55+
## Plugin integration
56+
57+
Inspect the existing plugin before editing. Preserve its `plugin.json`
58+
metadata and directory conventions. Add the new skill to the plugin README's
59+
discoverability list with a repository-relative link. Do not add a second
60+
manifest or duplicate marketplace registration for an individual skill.
61+
62+
Keep the skill's scope explicit. If it coordinates child sessions or other
63+
agents, define the parent owner, child boundary, expected handoff, validation,
64+
report-back, and stop conditions. Do not silently broaden a skill into
65+
unrelated repository work.
66+
67+
## Contribution and validation
68+
69+
Work on a dedicated branch, open a draft pull request early, and use small
70+
commits. Include the required co-author trailer in every commit:
71+
72+
```text
73+
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
74+
```
75+
76+
Run the smallest existing checks that cover the changed surfaces:
77+
78+
- `git diff --check`;
79+
- repository Markdown and natural-language lint when available;
80+
- plugin and marketplace metadata parsing;
81+
- `zensical build --clean` when documentation or navigation changes.
82+
83+
Review every relative link from the skill and guide, the final plugin README
84+
entry, and the diff for duplicated policy, stale instructions, accidental
85+
generated files, or unrelated changes. Report the draft PR URL, files changed,
86+
validation outcomes, policy decisions, and blockers to the owning session.
87+
88+
## Maintenance rule
89+
90+
When shared process changes, update the documentation page and its navigation,
91+
then make each dependent skill point to the revised source. When only an
92+
agent-specific trigger, handoff, stop condition, or tool boundary changes,
93+
update the skill without duplicating the common documentation.
94+
95+
## References
96+
97+
- [PSModule process plugin](https://github.com/PSModule/Process-PSModule/tree/main/.github/plugin)
98+
- [MSX Agentic Development](https://msx.no/docs/Ways-of-Working/Agentic-Development/)
99+
- [MSX Documentation Model](https://msxorg.github.io/docs/Ways-of-Working/Documentation-Model/)
100+
- [MSX Markdown standard](https://msxorg.github.io/docs/Coding-Standards/Markdown/)
101+
- [MSX Natural Language standard](https://msxorg.github.io/docs/Coding-Standards/Natural-Language/)

docs/content/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ Task-oriented deep dives into the pipeline's functionality.
4444
| [Skipping framework tests](guides/skipping-framework-tests.md) | Skip individual framework tests on a per-file basis. |
4545
| [Versioning and releases](guides/versioning-and-releases.md) | Label-driven versioning, prereleases, and what a release produces. |
4646
| [Validating before review](guides/validating-before-review.md) | The PSModule validation pass before a draft pull request is marked ready. |
47+
| [Writing plugin skills](guides/writing-plugin-skills.md) | Author and maintain thin plugin skills that point to shared documentation. |
4748

4849
## Reference
4950

docs/zensical.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ nav = [
3333
{"Skipping framework tests" = "guides/skipping-framework-tests.md"},
3434
{"Versioning and releases" = "guides/versioning-and-releases.md"},
3535
{"Validating before review" = "guides/validating-before-review.md"},
36+
{"Writing plugin skills" = "guides/writing-plugin-skills.md"},
3637
]},
3738
{"Reference" = [
3839
{"Module development foundations" = "reference/module-development-foundations.md"},

0 commit comments

Comments
 (0)