Skip to content

Commit 3505ca4

Browse files
⚙️ [Maintenance]: Agents can coordinate substantial module work consistently (#533)
Agents and contributors can now coordinate substantial module work across focused sessions and author reusable PSModule plugin skills with consistent process guidance. ## New: Module development orchestration skill The `psmodule-module-development-orchestration` skill guides a parent session through decomposition, branch selection, child-session handoffs, review, integration, stop conditions, and report-back. It follows trunk-based development for existing modules and reserves integration branches for the documented bootstrap exception. ## New: Plugin skill authoring guidance The documentation now explains how to write focused plugin skills and the `psmodule-skill-authoring` skill points authors to that shared guidance. Common process rules remain linked to the canonical Process-PSModule and MSX ways of working instead of being duplicated across skills. --- <details> <summary>Technical details</summary> - Added `.github/plugin/psmodule/skills/psmodule-module-development-orchestration/SKILL.md`. - Added `.github/plugin/psmodule/skills/psmodule-skill-authoring/SKILL.md`. - Added `docs/content/guides/writing-plugin-skills.md`. - Updated `.github/plugin/README.md`, `docs/content/index.md`, and `docs/zensical.toml` for discoverability. - Corrected stale MSX documentation paths and verified the live destinations. - Kept orchestration and skill-authoring procedures focused on agent-specific behavior; organization-wide process rules remain linked to canonical MSX guidance. - Implementation plan progress: orchestration skill, skill-authoring guidance, plugin discoverability, documentation navigation, branch-policy decisions, canonical-link migration, and repository-native validation guidance are complete; no follow-up implementation work is included. - Standards and framework alignment: | Changed surface | Standards checked | Framework docs checked | Result | | --- | --- | --- | --- | | `.github/plugin/**` (Copilot plugin skills and README) | MSX agentic development and Markdown | Process-PSModule plugin conventions and orchestration guide | Aligned | | `docs/content/**`, `docs/zensical.toml` (documentation) | MSX Markdown and natural-language guidance | Process-PSModule documentation model and site navigation | Aligned | - Validation: `git diff --check`, metadata and navigation review, strict Zensical build, 26 unique MSX URL checks with all responses in the 2xx range, Analyze, Lint, Lint code base, Build, and CodeQL passed. Publish was skipped as expected for this draft. - Issue convergence sweep: this change implements the agent-operational and skill-authoring portions of the orchestration guidance; no additional open issues were fully satisfied by the diff. </details> <details> <summary>Relevant issues (or links)</summary> ### Related work - Depends on #455 - References #482 </details> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent 87d3902 commit 3505ca4

10 files changed

Lines changed: 213 additions & 7 deletions

File tree

.github/plugin/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ skill for upgrading Process-PSModule consumer repositories to framework v8.
3030
It also provides
3131
[`psmodule-zensical-migration`](./psmodule/skills/psmodule-zensical-migration/SKILL.md)
3232
for migrating legacy MkDocs sites to the Process-PSModule Zensical design.
33+
The
34+
[`psmodule-module-development-orchestration`](./psmodule/skills/psmodule-module-development-orchestration/SKILL.md)
35+
skill coordinates substantial module work across parent and child sessions
36+
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.
3341
Verify the installation with:
3442

3543
```console
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
name: psmodule-module-development-orchestration
3+
description: Coordinate substantial PSModule development across a parent session and narrowly scoped child sessions while preserving trunk-based delivery, reviewability, and release readiness.
4+
---
5+
6+
# Orchestrate substantial PSModule development
7+
8+
Use this skill when a module change needs multiple independent workstreams,
9+
explicit dependencies, or coordinated integration. First read the repository
10+
[module development orchestration guide](../../../../../docs/content/guides/module-development-orchestration.md).
11+
That guide is the source of common user and agent process. This skill adds only
12+
the session-specific operating contract below.
13+
14+
## Decide and decompose
15+
16+
Keep small, coherent changes in one session. Create a parent/orchestrator
17+
session when the work crosses capabilities or code, tests, documentation, or
18+
workflow surfaces; has dependencies; or needs parallel review.
19+
20+
The parent owns the outcome, boundaries, dependency order, shared decisions,
21+
integration, release readiness, and final report. Give each child one
22+
reviewable deliverable. Every handoff must include:
23+
24+
- the objective and acceptance evidence;
25+
- allowed files and explicit exclusions;
26+
- dependencies, base branch, and PR target;
27+
- repository-native validation;
28+
- the parent session or communication channel for report-back.
29+
30+
## Agent operating contract
31+
32+
For an existing module, use a short-lived topic branch from the default branch
33+
and target the default branch. Use the integration-branch exception only for a
34+
brand-new module's load-bearing first-release core, as described in the
35+
[module bootstrap guide](../../../../../docs/content/get-started/module-bootstrap.md).
36+
Use a stacked PR only for a genuine dependency.
37+
38+
Each child must:
39+
40+
1. Inspect local guidance, the module layout, and the assigned surface before
41+
editing.
42+
2. Stay within the handoff; make adjacent work a new child task.
43+
3. Open a draft PR early, push small commits, and include the required Copilot
44+
co-author trailer in each commit.
45+
4. Run the validation named in the handoff and record commands and outcomes.
46+
5. Report the draft PR URL and target, changed and excluded files, validation,
47+
decisions or risks, blockers, and follow-up work before requesting
48+
integration.
49+
50+
The parent reviews each child diff and acceptance criterion, integrates through
51+
the normal PR flow, and reruns affected checks after each dependent merge. Do
52+
not bypass review with a direct default-branch push or modify another session's
53+
PR or issue without explicit ownership.
54+
55+
Use the PSModule
56+
[validation before review](../../../../../docs/content/guides/validating-before-review.md)
57+
guidance and [versioning and releases](../../../../../docs/content/guides/versioning-and-releases.md)
58+
for the common validation and release-readiness gates. Keep the coordinated PR
59+
in draft when the integrated result is not ready.
60+
61+
## Stop conditions
62+
63+
Stop and report to the parent instead of guessing when scope, ownership,
64+
acceptance evidence, branch target, release intent, or a required dependency is
65+
ambiguous; when validation fails without a known owner; or when integration
66+
would modify unrelated work. Do not silently expand scope, merge unreviewed
67+
changes, or claim release readiness.
68+
69+
## References
70+
71+
- [Module development orchestration](../../../../../docs/content/guides/module-development-orchestration.md)
72+
- [PSModule repository standard](../../../../../docs/content/reference/repository-standard.md)
73+
- [Structuring your module](../../../../../docs/content/guides/structuring-your-module.md)
74+
- [MSX Agentic Development](https://msx.no/docs/Capabilities/agentic-development/)
75+
- [MSX Workflow](https://msx.no/docs/Ways-of-Working/Workflow/)
76+
- [MSX Branching and Merging](https://msx.no/docs/Ways-of-Working/Branching-and-Merging/)
77+
- [MSX PR format](https://msx.no/docs/Ways-of-Working/PR-Format/)
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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, and report the PR URL, files,
23+
validation, decisions, and blockers to the owning session.
24+
- Stop and report instead of guessing when the skill boundary, source-of-truth
25+
document, plugin ownership, or validation requirement is unclear.

.github/plugin/psmodule/skills/psmodule-v8-upgrade/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,4 +321,4 @@ workflow validation.
321321
- [Pester v6 quick start](https://pester.dev/docs/v6/quick-start)
322322
- [Pester `New-PesterConfiguration` command](https://pester.dev/docs/commands/New-PesterConfiguration)
323323
- [Pester `Invoke-Pester` command](https://pester.dev/docs/commands/Invoke-Pester)
324-
- [MSX PR format](https://msxorg.github.io/docs/Ways-of-Working/PR-Format/)
324+
- [MSX PR format](https://msx.no/docs/Ways-of-Working/PR-Format/)

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ works. For PSModule-specific build, layout, and process guidance:
2828

2929
For cross-cutting ways of working and standards:
3030

31-
- [Agentic Development](https://msx.no/docs/Ways-of-Working/Agentic-Development/)
31+
- [Agentic Development](https://msx.no/docs/Capabilities/agentic-development/)
3232
how agents and humans collaborate in this ecosystem.
3333
- [Ways of Working](https://msx.no/docs/Ways-of-Working/) — contribution
3434
workflow, branching, PRs, issues.

docs/content/guides/validating-before-review.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: PSModule-specific validation checks that extend the shared MSXOrg B
55

66
# Validating before review
77

8-
Use this page after scaffolding a module change or implementing a function and before you finish self-review or mark a draft pull request ready. It extends the shared MSXOrg [Workflow Build step](https://msx.no/docs/Ways-of-Working/Workflow/#build) and [Implement guidance](https://msx.no/docs/Agents/implement/) with the PSModule-specific validation checks that module repositories must pass.
8+
Use this page after scaffolding a module change or implementing a function and before you finish self-review or mark a draft pull request ready. It extends the shared MSXOrg [Workflow Build step](https://msx.no/docs/Ways-of-Working/Workflow/#build) and [Implement guidance](https://msx.no/docs/Ways-of-Working/Workflow-Stages/Implement/) with the PSModule-specific validation checks that module repositories must pass.
99

1010
Do not repeat the shared workflow here. Follow the shared branch → draft PR → implement → test → self-review loop first, then run this PSModule pass to confirm the change still fits the module's design, documentation, and PowerShell standards.
1111

@@ -79,15 +79,15 @@ Do not repeat the shared workflow here. Follow the shared branch → draft PR
7979
Check:
8080

8181
- naming, documentation, error handling, testing expectations, and security posture align with the relevant pages under [MSX Coding Standards](https://msx.no/docs/Coding-Standards/)
82-
- the change follows the shared "written once, referenced everywhere" rule by linking canonical guidance instead of copying it into local docs or code comments, as described in [Agentic Development](https://msx.no/docs/Ways-of-Working/Agentic-Development/)
82+
- the change follows the shared "written once, referenced everywhere" rule by linking canonical guidance instead of copying it into local docs or code comments, as described in [Agentic Development](https://msx.no/docs/Capabilities/agentic-development/)
8383
- the draft PR description, issue progress, and any follow-up issues reflect what actually shipped and what still belongs out of scope
8484

8585
This is the last author-side gate before a PSModule draft PR is ready for independent review.
8686

8787
## Where this connects
8888

8989
- [MSX Workflow Build step](https://msx.no/docs/Ways-of-Working/Workflow/#build)
90-
- [MSX Implement guidance](https://msx.no/docs/Agents/implement/)
90+
- [MSX Implement guidance](https://msx.no/docs/Ways-of-Working/Workflow-Stages/Implement/)
9191
- [PowerShell module standard](../reference/powershell-module-standard.md)
9292
- [Module types](../reference/module-types.md)
9393
- [Structuring your module](structuring-your-module.md)
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
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+
## Validation
68+
69+
Run the smallest existing checks that cover the changed surfaces:
70+
71+
- `git diff --check`;
72+
- repository Markdown and natural-language lint when available;
73+
- plugin and marketplace metadata parsing;
74+
- `zensical build --clean` when documentation or navigation changes.
75+
76+
Review every relative link from the skill and guide, the final plugin README
77+
entry, and the diff for duplicated policy, stale instructions, accidental
78+
generated files, or unrelated changes. Report the draft PR URL, files changed,
79+
validation outcomes, policy decisions, and blockers to the owning session.
80+
81+
## Maintenance rule
82+
83+
When shared process changes, update the documentation page and its navigation,
84+
then make each dependent skill point to the revised source. When only an
85+
agent-specific trigger, handoff, stop condition, or tool boundary changes,
86+
update the skill without duplicating the common documentation.
87+
88+
## References
89+
90+
- [PSModule process plugin](https://github.com/PSModule/Process-PSModule/tree/main/.github/plugin)
91+
- [MSX Agentic Development](https://msx.no/docs/Capabilities/agentic-development/)
92+
- [MSX Documentation Model](https://msx.no/docs/Ways-of-Working/Documentation-Model/)
93+
- [MSX Markdown standard](https://msx.no/docs/Coding-Standards/Markdown/)
94+
- [MSX Natural Language standard](https://msx.no/docs/Coding-Standards/Natural-Language/)

docs/content/index.md

Lines changed: 2 additions & 1 deletion
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
| [Module development orchestration](guides/module-development-orchestration.md) | Coordinate substantial work across an orchestrator session and narrowly scoped child sessions. |
4849

4950
## Reference
@@ -89,4 +90,4 @@ Cross-org standards and reusable solution documentation are now canonical in [MS
8990

9091
- [Coding Standards](https://msx.no/docs/Coding-Standards/)
9192
- [Capabilities](https://msx.no/docs/Capabilities/)
92-
- [Frameworks](https://msx.no/docs/Frameworks/)
93+
- [Frameworks](https://msx.no/docs/Capabilities/)

docs/content/reference/repository-standard.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ See [PSModule/Template-PSModule](https://github.com/PSModule/Template-PSModule)
175175

176176
`AGENTS.md` and `CLAUDE.md` are the required set. `AGENTS.md` is the entry point that AGENTS.md-aware runtimes read directly, so a repository is usable by an agent without a per-runtime copy of the same pointer.
177177

178-
Runtime-specific adapter files such as `.github/copilot-instructions.md` and `.github/instructions/*.instructions.md` are optional. MSX treats them as client adapters that *may* add runtime-specific loading or path rules, described in [Agentic Development](https://msx.no/docs/Ways-of-Working/Agentic-Development/) and its [capability specification](https://msx.no/docs/Capabilities/agentic-development/spec/). Add one when a runtime needs loading or path rules that `AGENTS.md` cannot express, and keep it pointing at `AGENTS.md` rather than restating it. `Template-PSModule` ships without one.
178+
Runtime-specific adapter files such as `.github/copilot-instructions.md` and `.github/instructions/*.instructions.md` are optional. MSX treats them as client adapters that *may* add runtime-specific loading or path rules, described in [Agentic Development](https://msx.no/docs/Capabilities/agentic-development/) and its [capability specification](https://msx.no/docs/Capabilities/agentic-development/spec/). Add one when a runtime needs loading or path rules that `AGENTS.md` cannot express, and keep it pointing at `AGENTS.md` rather than restating it. `Template-PSModule` ships without one.
179179

180180
These files are the agent equivalent of the README: pointers, not copies. Keep them short so the linked documentation stays the single source of truth. Like the other governance files, they live in the repository itself so it can stand on its own.
181181

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
{"Module development orchestration" = "guides/module-development-orchestration.md"},
3738
]},
3839
{"Reference" = [

0 commit comments

Comments
 (0)