From 2b751445742d060173da8b9b0d98a573d1cdd234 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sat, 15 Aug 2026 17:40:26 +0200 Subject: [PATCH 01/11] feat: publish PSModule process plugin Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/plugin/marketplace.json | 6 + plugins/psmodule-process/plugin.json | 21 + .../skills/pester-migration/SKILL.md | 464 ++++++++++++++++++ 3 files changed, 491 insertions(+) create mode 100644 plugins/psmodule-process/plugin.json create mode 100644 plugins/psmodule-process/skills/pester-migration/SKILL.md diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json index 56edf56..d73257e 100644 --- a/.github/plugin/marketplace.json +++ b/.github/plugin/marketplace.json @@ -13,6 +13,12 @@ "description": "Routes coding, documentation, and work lifecycle tasks to current MSX standards.", "version": "0.1.0", "source": "plugins/msx-standards" + }, + { + "name": "psmodule-process", + "description": "PSModule process guidance and reusable skills for PowerShell module repositories.", + "version": "1.0.0", + "source": "plugins/psmodule-process" } ] } diff --git a/plugins/psmodule-process/plugin.json b/plugins/psmodule-process/plugin.json new file mode 100644 index 0000000..9be5e8c --- /dev/null +++ b/plugins/psmodule-process/plugin.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", + "name": "psmodule-process", + "description": "PSModule process guidance and reusable skills for PowerShell module repositories.", + "version": "1.0.0", + "author": { + "name": "PSModule", + "url": "https://github.com/PSModule" + }, + "homepage": "https://psmodule.io/docs/", + "repository": "https://github.com/PSModule/Process-PSModule", + "license": "MIT", + "keywords": [ + "powershell", + "psmodule", + "pester", + "testing", + "github-actions" + ], + "skills": "skills/" +} diff --git a/plugins/psmodule-process/skills/pester-migration/SKILL.md b/plugins/psmodule-process/skills/pester-migration/SKILL.md new file mode 100644 index 0000000..7b659c9 --- /dev/null +++ b/plugins/psmodule-process/skills/pester-migration/SKILL.md @@ -0,0 +1,464 @@ +--- +name: pester-migration +description: Migrate every Pester test set in a PSModule repository to Pester 6.1.0, preserving test intent while checking runtime, discovery, setup, mocks, data-driven tests, coverage, CI, and reporting. Use when upgrading a PSModule repository from Pester 5 or earlier, or when validating a repository-wide Pester migration. +--- + +# Migrate PSModule tests to Pester 6.1.0 + +Use this skill to migrate a PSModule repository one test set at a time. Do not +change consumer repositories while developing or validating this skill. + +The primary source is the official +[Pester v5-to-v6 migration guide](https://pester.dev/docs/migrations/v5-to-v6). +The two [Awesome Copilot skills](https://github.com/github/awesome-copilot/tree/main/skills) +are secondary practical guidance only. If this skill and the official guide +differ, follow the official guide and record the decision. + +## Compatibility boundary + +The target is **Pester 6.1.0** on **Windows PowerShell 5.1** or **PowerShell +7.4 or later**. Upgrade one major version at a time when the source is older: +v3 to v4, v4 to v5, then v5 to v6. Do not combine unrelated test refactoring +with compatibility fixes. + +Required compatibility work: + +- Install and run Pester 6.1.0 on every supported runtime and CI image. +- Make every test file self-contained under v6's per-file discovery-and-run + model. Put discovery-only data loading in `BeforeDiscovery`. +- Review hidden files and directories, including dot-prefixed paths and + Windows Hidden items. Exclude intentional non-tests with `Run.ExcludePath`. +- Fix empty or `$null` `-ForEach` and `-TestCases`; use + `-AllowNullOrEmptyForEach` only when empty data is intentional. +- Combine duplicate `BeforeAll`, `BeforeEach`, `AfterAll`, or `AfterEach` + blocks in the same scope. +- Replace removed `Assert-MockCalled` and `Assert-VerifiableMock`. +- Add a default mock when a parameter-filtered mock must handle other calls. +- Review `<...>` name templates because their contents are now expressions. +- Replace `Set-ItResult -Pending` with `-Inconclusive`, `-Skipped`, or + `It -Skip`. +- Review coverage tracer and output format settings. +- Replace removed v4-style `Invoke-Pester` parameters with + `New-PesterConfiguration`. +- Rename a real `None` tag; in v6 it is reserved for untagged tests. + +Optional v6 adoption after compatibility is green: + +- Convert classic `Should -Be` assertions to `Should-Be` commands + incrementally. Classic syntax remains supported. +- Enable `Run.Shuffle` only after proving order independence. +- Enable experimental `Run.Parallel` only after proving file isolation and + parallel-safe resources. +- Enable `Debug.ShowStartMarkers` for diagnostic runs. + +Never present optional adoption as required migration work. + +## Step 1: Inventory the repository and test sets + +Before editing, record the repository, branch, supported PowerShell versions, +CI workflow files, Pester installation source, and every test entry point. +Search the whole repository, not just `tests/`; framework tests, action tests, +source tests, generated test fixtures, and nested suites can use different +configuration. + +```powershell +Get-ChildItem -Force +Get-ChildItem -Force -Recurse -File -Include *.Tests.ps1,*.Configuration.ps1,*.Container.ps1 +Get-ChildItem -Force -Recurse -File -Include *.yml,*.yaml,*.ps1,*.psd1,*.psm1 | + Select-String -Pattern 'Pester|Invoke-Pester|Should|BeforeDiscovery|BeforeAll|Mock' +``` + +For each test set, add an inventory row to the migration report: + +| Field | Record | +| --- | --- | +| Test set | Relative path and purpose | +| Entry point | Workflow, action, script, or local command | +| Discovery paths | Explicit paths, recursive paths, containers, configurations | +| Pester source | Required module version, install step, lock or floating policy | +| Runtime matrix | Windows PowerShell 5.1 and/or PowerShell 7.4+ | +| Setup | Root `BeforeAll.ps1`, `Pester.BeforeContainer.ps1`, file setup | +| Data | `-ForEach`, `-TestCases`, external files, generated cases | +| Mocks | Filtered mocks, mock assertions, shared state | +| Coverage/results | Paths, formats, thresholds, uploaded artifacts | +| Baseline | Run command, result counts, known failures | + +Use the inventory to find test sets that are not reachable from the default +workflow. A green workflow is not evidence that every test set was migrated. + +## Test-state and data contract + +Treat the test runner's prepared state as a contract, not an implementation +detail. A module-local Pester test must assume that the target, built module is +already loaded by the framework. It must not silently call `Import-Module`, +`Install-Module`, `Install-PSModule`, or dot-source the target module as a +fallback when the framework did not prepare it. A hidden import can make local +tests pass while the real workflow is misconfigured and can change the module +version or process state being tested. + +This does not prohibit a test whose explicit subject is module import, +manifest validity, or module removal. Such a framework or contract test should +say so in its name and use a deliberate, isolated import as the behavior under +test. It must not become setup for unrelated tests. + +Every additional fixture is also part of the test-state contract. A test set +must explicitly load its own JSON, CSV, XML, PSD1, script, or generated data, +or document which setup phase provides it. In particular, a PSD1 dataset is +not automatically loaded because it is in the repository: + +```powershell +BeforeDiscovery { + $cases = Import-PowerShellDataFile -Path (Join-Path $PSScriptRoot 'Data\Cases.psd1') +} +``` + +Record fixture ownership and availability in the inventory: + +| Fixture or state | Owner | Loaded in | Required environment | +| --- | --- | --- | --- | +| Target module | Process-PSModule or explicit contract test | Framework pre-run | Built module path and version | +| PSD1/JSON/CSV data | Test set or documented setup | `BeforeDiscovery`, `BeforeAll`, or setup job | Relative path and encoding | +| Secrets/variables | Calling workflow | `Expose-TestData` and environment | `TestData` JSON contract | +| Shared service | `tests/BeforeAll.ps1` | Before module-local matrix | Deterministic run-scoped name | +| Cleanup state | `tests/AfterAll.ps1` | Always-run teardown | Same `TestData` and run identity | + +Fail loudly when required data or state is absent. Do not use a broad +`try/catch`, an empty default, or an implicit import to turn a missing fixture +into a passing or skipped test. + +## Process-PSModule test-adjacent surfaces + +For every consumer repository, trace and record these surfaces before editing: + +| Surface | Framework contract to verify | Migration check | +| --- | --- | --- | +| `PSModule/Invoke-Pester` | Installs/runs Pester and emits per-suite JSON results and coverage artifacts | Pin/verify Pester 6.1.0, map all inputs to v6 configuration, preserve suite names | +| `Test-PSModule` action | Selects `tests/Module` or `tests/SourceCode`, resolves `outputs/module` or `src`, and passes paths to `Invoke-Pester` | Confirm path selection, exclusions, module state, and test extension | +| Module-local workflow | Downloads the built module, exposes `TestData`, imports the module, then runs module tests | Tests consume the prepared module; no hidden fallback import | +| Source-code workflow | Runs source tests against the checked-out `src` path | Record how source functions/classes are loaded and which fixtures are explicit | +| `BeforeAll-ModuleLocal` | Runs exact root `tests/BeforeAll.ps1` once before module-local jobs | Put shared services/data here only when every matrix job needs them | +| `AfterAll-ModuleLocal` | Runs exact root `tests/AfterAll.ps1` with `always()` | Make cleanup safe after setup/test failure | +| `Expose-TestData` | Converts caller `TestData` JSON into environment variables | Inventory every required variable; do not confuse it with repository fixtures | +| `Get-PesterTestResults` | Downloads `*-TestResults`, expects every configured suite, and fails missing/unexecuted/failed/inconclusive results | Preserve `TestSuiteName`, matrix names, and result counts | +| `Get-PesterCodeCoverage` | Aggregates `*-CodeCoverage` JSON and writes missed-path reports and summaries | Verify JaCoCo/Cobertura format, target, paths, and v6 tracer behavior | +| `Invoke-ScriptAnalyzer` integration | Publishes `PSModuleLint-*` results alongside test results | Treat lint suites as required result artifacts, not Pester test files | +| Repository linter | Checks repository/workflow/Markdown files independently of Pester | Include skill and documentation paths in the repository lint inventory | + +The current Process-PSModule flow specifically downloads the built module and +imports it before module-local tests, while `Test-PSModule` resolves source or +module paths for framework suites. The framework's own importability and +manifest tests may import/remove the module because import is their subject; +ordinary consumer tests must not copy that pattern as setup. + +Record the `PSModule/Invoke-Pester` action revision separately from the Pester +module version. The current Process-PSModule workflows reference that action at +`v5.1.0`; its revision and its Pester installation policy must both be checked +when adopting Pester 6.1.0. Updating one does not prove that the other changed. + +Use this per-repository checklist: + +- [ ] All `*.Tests.ps1`, `*.Configuration.ps1`, and `*.Container.ps1` files, + including action and hidden paths, are listed. +- [ ] Each test set is mapped to `Module`, `SourceCode`, action, or external + invocation and its `Run.Path`/`Run.ExcludePath` is recorded. +- [ ] The built target module is loaded by the framework before module-local + tests; tests do not silently load it themselves. +- [ ] Source-code test loading is explicit and documented separately from the + module-local contract. +- [ ] Every PSD1, JSON, CSV, XML, script, generated fixture, secret, variable, + and service dependency has an owner and loading phase. +- [ ] `BeforeAll.ps1`, `AfterAll.ps1`, and `Pester.BeforeContainer.ps1` paths + and scope are recorded. +- [ ] `Invoke-Pester` action inputs, Pester version, suite names, result paths, + coverage paths, filters, and output formats are recorded. +- [ ] `Get-PesterTestResults` expected artifact names include source, framework, + module, and linter suites. +- [ ] Coverage aggregation and its missed-path report are validated. +- [ ] Local, CI, and linter runs use the same intended fixture and module state. + +## Step 2: Check versions, runtime, and CI + +Run the baseline on the current version before changing files. Save the command, +Pester version, runtime, OS, result counts, and known failures. + +```powershell +Get-Module Pester -ListAvailable | Sort-Object Version -Descending | + Select-Object Name, Version, Path +(Get-Module Pester).Version +$PSVersionTable | Select-Object PSVersion, PSEdition, OS +Invoke-Pester -Path ./tests -Output Detailed +``` + +Pin the target during migration so local and CI results are comparable: + +```powershell +Install-Module Pester -RequiredVersion 6.1.0 -Force +Import-Module Pester -RequiredVersion 6.1.0 -Force +``` + +On Windows PowerShell 5.1, use `-SkipPublisherCheck` only when required to +install a newer Pester beside the inbox Pester 3. Do not hide an installation +failure. Verify the imported module is 6.1.0, not merely that a 6.x package is +available. + +Update each CI installation and invocation. Prefer an explicit requirement in +test files when that is the repository convention: + +```powershell +#Requires -Modules @{ ModuleName = 'Pester'; ModuleVersion = '6.1.0'; MaximumVersion = '6.1.0' } +``` + +If the repository intentionally floats patch releases within the major, record +that policy and use `ModuleVersion = '6.0.0'; MaximumVersion = '6.*'` instead. +The migration acceptance run must still use 6.1.0. + +## Step 3: Migrate discovery, setup, and isolation + +Pester 6 discovers and runs one file before moving to the next. A file cannot +depend on top-level state created while another file was discovered. Import +modules and define file-local discovery data in the file that uses them: + +```powershell +BeforeDiscovery { + $cases = Get-Content -Raw -Path (Join-Path $PSScriptRoot 'cases.json') | + ConvertFrom-Json +} + +BeforeAll { + # Consume the module loaded by the framework. + $command = Get-Command -Name Get-MyThing -ErrorAction Stop +} + +Describe 'My command' { + It 'handles ' -ForEach $cases { + Get-MyThing -Name $Name | Should -Be 'ok' + } +} +``` + +Use `$PSScriptRoot` for fixture paths. Do not rely on +`$MyInvocation.MyCommand.Path`, the current directory, another test file's +variables, or discovery order. If the command check fails, fix the workflow's +module preparation rather than adding an import to this test. +Repository-wide bootstrap that every worker needs belongs in +`Pester.BeforeContainer.ps1` at the repository root. Keep it deterministic and +idempotent. + +Check the complete recursive path set. Pester 6 includes hidden files and +directories by default, while `.git`, `.svn`, and `.hg` remain excluded. A +newly discovered hidden test is an intended compatibility change: fix it or +exclude it explicitly, rather than assuming it should remain invisible. + +For every test set, run one file directly and then the complete set. This +isolates discovery failures from cross-file assumptions: + +```powershell +Invoke-Pester -Path ./tests/Example.Tests.ps1 -Output Detailed +Invoke-Pester -Path ./tests -Output Detailed +``` + +## Step 4: Fix v6 breaking changes + +### Data-driven tests + +Pester 6 throws for `$null` or an empty `-ForEach`/`-TestCases`. Prefer fixing +the data-loading path. If empty data is a valid result, state that intent: + +```powershell +Describe 'Optional cases' -ForEach $cases -AllowNullOrEmptyForEach { + It 'runs when a case exists' {} +} +``` + +Use the local opt-in before the run-wide +`$config.Run.FailOnNullOrEmptyForEach = $false`; the latter can hide a broken +data source. + +### Setup and teardown blocks + +Each block can contain only one `BeforeAll`, `BeforeEach`, `AfterAll`, and +`AfterEach` at its scope. Combine duplicate blocks and preserve their required +ordering explicitly. Do not move discovery-time test generation into +`BeforeAll`; use `BeforeDiscovery` for that. + +### Mocks + +Replace removed assertions: + +```powershell +# Old +Assert-MockCalled Get-Thing -Times 1 -Exactly +Assert-VerifiableMock + +# v6 +Should -Invoke Get-Thing -Times 1 -Exactly +Should -InvokeVerifiable +``` + +In v6, a call that matches no `-ParameterFilter` no longer falls through to +the real command. Add an unfiltered default mock when other calls are valid: + +```powershell +Mock Get-Thing { 'default' } +Mock Get-Thing -ParameterFilter { $Name -eq 'a' } -MockWith { 'a' } +``` + +Keep mocks and their assertions in the scope where the code under test invokes +them. A migration must not accidentally allow a real external call. + +### Pending tests + +`Set-ItResult -Pending` is removed. Use the result that expresses the intent: + +```powershell +It 'is not implemented yet' { + Set-ItResult -Inconclusive -Because 'not implemented yet' +} +``` + +Use `-Skip` when the test must not run, and `-Inconclusive` when the result +should be reported for follow-up. + +### Name templates + +In v6, every `<...>` token in a `Describe`, `Context`, or `It` name is +evaluated as a PowerShell expression in the test scope. Review arithmetic, +method calls, and expressions that were literal in v5. Escape a leading `<` +when literal text is intended: + +```powershell +It 'adds up to `<($a + $b)`>' -ForEach @{ a = 1; b = 2 } {} +``` + +Keep names stable and useful for CI result reporting. + +### Tags + +`None` is reserved, case-insensitively, to select tests with no inherited or +local tags. Rename a tag that relied on the old literal meaning and update +filters and reports. + +### Coverage + +Pester 6 uses the Profiler tracer by default and `CodeCoverage.UseBreakpoints` +defaults to `$false`. Keep the new default unless compatibility with historical +coverage numbers requires: + +```powershell +$config.CodeCoverage.UseBreakpoints = $true +``` + +`CoverageGutters` is removed. Use `JaCoCo` or `Cobertura`; coverage paths are +already relative to `Run.RepoRoot`. + +## Step 5: Standardize Invoke-Pester configuration + +Legacy v4 parameters such as `-Script`, `-OutputFile`, `-OutputFormat`, +`-EnableExit`, and direct coverage switches are removed. Use one configuration +object for scripted and CI runs: + +```powershell +$config = New-PesterConfiguration +$config.Run.Path = @('./tests') +$config.Run.Exit = $true +$config.Output.Verbosity = 'Detailed' + +$config.TestResult.Enabled = $true +$config.TestResult.OutputPath = './artifacts/pester-results.xml' +$config.TestResult.OutputFormat = 'NUnitXml' + +$config.CodeCoverage.Enabled = $true +$config.CodeCoverage.Path = @('./src') +$config.CodeCoverage.OutputFormat = 'JaCoCo' + +Invoke-Pester -Configuration $config +``` + +Set `Run.ExcludePath` for intentional exclusions, and keep paths relative to +the repository root where CI and local runs share the same layout. Do not +disable failures globally to make a migration green. + +## Step 6: Optional v6 features + +Only after the serial suite matches the baseline may a repository evaluate: + +```powershell +$config.Run.Shuffle = $true +$config.Run.Parallel = $true +``` + +`Run.Shuffle` detects order dependence. Fix order dependence rather than +permanently suppressing it. `Run.Parallel` is experimental and runs files in +separate runspaces. Prove that setup, mocks, environment variables, ports, +temporary paths, external resources, and cleanup are isolated. Use +`Pester.BeforeContainer.ps1` for shared bootstrap and `#pester:no-parallel` +only for a documented exception. Compare serial and parallel result counts and +artifacts. + +The optional `Should-*` commands are a separate modernization. Classic +`Should -Be` remains valid in v6: + +```powershell +$value | Should -Be 1 # compatible and may remain +$value | Should-Be 1 # optional v6 style +``` + +If converting, review behavior rather than applying a blind rename: + +- `Should -Not -Be` becomes `Should-NotBe`. +- Truthy/falsy expectations may need `Should-BeTruthy` or `Should-BeFalsy`; + strict boolean assertions are different. +- `Should -BeNullOrEmpty` has different intents: null, empty string, empty + collection, or falsy. +- Collection comparisons use collection assertions and may need `-Actual` + because pipeline input is unwrapped. +- `Should -Exist` and file-content assertions can remain classic. + +Adopt this style incrementally and report intentionally unchanged assertions. + +## Step 7: Validate and report + +Run the migrated test set in this order: + +1. Every discovered file directly, including hidden paths and files selected + by configuration or container scripts. +2. Each test set serially with Pester 6.1.0. +3. Each supported PowerShell runtime and CI operating system. +4. Coverage and test-result generation with the same configuration CI uses. +5. Optional shuffle and parallel runs, only if the repository opted in. + +For every run, record the command, runtime, Pester version, path, passed, +failed, skipped, inconclusive, not-run, coverage summary, and artifact paths. +Compare against the baseline and investigate changed counts. A report should +include: + +```text +Repository: +Target: Pester 6.1.0 +Test set: +Runtime / OS: +Baseline: +Serial result: +Coverage / result artifacts: +Required compatibility fixes: +Optional v6 features enabled: +Known limitations or deferred work: +``` + +Review the diff for test-intent changes, accidental real calls, path assumptions, +and generated artifacts before committing. Make small commits by file or +concern so a failed migration is easy to bisect. + +## References + +- [Pester v5-to-v6 migration](https://pester.dev/docs/migrations/v5-to-v6) +- [Pester installation and compatibility](https://pester.dev/docs/introduction/installation) +- [Pester configuration](https://pester.dev/docs/usage/configuration) +- [Pester data-driven tests](https://pester.dev/docs/usage/data-driven-tests) +- [Pester mocking](https://pester.dev/docs/usage/mocking) +- [Pester parallel execution](https://pester.dev/docs/usage/parallel) +- [Pester code coverage](https://pester.dev/docs/usage/code-coverage) +- [Pester test results](https://pester.dev/docs/usage/test-results) +- [Pester Should assertions](https://pester.dev/docs/assertions/should-command) +- [Awesome Copilot pester-migration](https://github.com/github/awesome-copilot/tree/main/skills/pester-migration) +- [Awesome Copilot pester-should-migration](https://github.com/github/awesome-copilot/tree/main/skills/pester-should-migration) From 1cf5db38f9d6adf4a350058cb76184274f58221c Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sat, 15 Aug 2026 18:00:41 +0200 Subject: [PATCH 02/11] Keep initiative plugin in owning marketplace Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/plugin/marketplace.json | 6 - plugins/psmodule-process/plugin.json | 21 - .../skills/pester-migration/SKILL.md | 464 ------------------ 3 files changed, 491 deletions(-) delete mode 100644 plugins/psmodule-process/plugin.json delete mode 100644 plugins/psmodule-process/skills/pester-migration/SKILL.md diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json index d73257e..56edf56 100644 --- a/.github/plugin/marketplace.json +++ b/.github/plugin/marketplace.json @@ -13,12 +13,6 @@ "description": "Routes coding, documentation, and work lifecycle tasks to current MSX standards.", "version": "0.1.0", "source": "plugins/msx-standards" - }, - { - "name": "psmodule-process", - "description": "PSModule process guidance and reusable skills for PowerShell module repositories.", - "version": "1.0.0", - "source": "plugins/psmodule-process" } ] } diff --git a/plugins/psmodule-process/plugin.json b/plugins/psmodule-process/plugin.json deleted file mode 100644 index 9be5e8c..0000000 --- a/plugins/psmodule-process/plugin.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", - "name": "psmodule-process", - "description": "PSModule process guidance and reusable skills for PowerShell module repositories.", - "version": "1.0.0", - "author": { - "name": "PSModule", - "url": "https://github.com/PSModule" - }, - "homepage": "https://psmodule.io/docs/", - "repository": "https://github.com/PSModule/Process-PSModule", - "license": "MIT", - "keywords": [ - "powershell", - "psmodule", - "pester", - "testing", - "github-actions" - ], - "skills": "skills/" -} diff --git a/plugins/psmodule-process/skills/pester-migration/SKILL.md b/plugins/psmodule-process/skills/pester-migration/SKILL.md deleted file mode 100644 index 7b659c9..0000000 --- a/plugins/psmodule-process/skills/pester-migration/SKILL.md +++ /dev/null @@ -1,464 +0,0 @@ ---- -name: pester-migration -description: Migrate every Pester test set in a PSModule repository to Pester 6.1.0, preserving test intent while checking runtime, discovery, setup, mocks, data-driven tests, coverage, CI, and reporting. Use when upgrading a PSModule repository from Pester 5 or earlier, or when validating a repository-wide Pester migration. ---- - -# Migrate PSModule tests to Pester 6.1.0 - -Use this skill to migrate a PSModule repository one test set at a time. Do not -change consumer repositories while developing or validating this skill. - -The primary source is the official -[Pester v5-to-v6 migration guide](https://pester.dev/docs/migrations/v5-to-v6). -The two [Awesome Copilot skills](https://github.com/github/awesome-copilot/tree/main/skills) -are secondary practical guidance only. If this skill and the official guide -differ, follow the official guide and record the decision. - -## Compatibility boundary - -The target is **Pester 6.1.0** on **Windows PowerShell 5.1** or **PowerShell -7.4 or later**. Upgrade one major version at a time when the source is older: -v3 to v4, v4 to v5, then v5 to v6. Do not combine unrelated test refactoring -with compatibility fixes. - -Required compatibility work: - -- Install and run Pester 6.1.0 on every supported runtime and CI image. -- Make every test file self-contained under v6's per-file discovery-and-run - model. Put discovery-only data loading in `BeforeDiscovery`. -- Review hidden files and directories, including dot-prefixed paths and - Windows Hidden items. Exclude intentional non-tests with `Run.ExcludePath`. -- Fix empty or `$null` `-ForEach` and `-TestCases`; use - `-AllowNullOrEmptyForEach` only when empty data is intentional. -- Combine duplicate `BeforeAll`, `BeforeEach`, `AfterAll`, or `AfterEach` - blocks in the same scope. -- Replace removed `Assert-MockCalled` and `Assert-VerifiableMock`. -- Add a default mock when a parameter-filtered mock must handle other calls. -- Review `<...>` name templates because their contents are now expressions. -- Replace `Set-ItResult -Pending` with `-Inconclusive`, `-Skipped`, or - `It -Skip`. -- Review coverage tracer and output format settings. -- Replace removed v4-style `Invoke-Pester` parameters with - `New-PesterConfiguration`. -- Rename a real `None` tag; in v6 it is reserved for untagged tests. - -Optional v6 adoption after compatibility is green: - -- Convert classic `Should -Be` assertions to `Should-Be` commands - incrementally. Classic syntax remains supported. -- Enable `Run.Shuffle` only after proving order independence. -- Enable experimental `Run.Parallel` only after proving file isolation and - parallel-safe resources. -- Enable `Debug.ShowStartMarkers` for diagnostic runs. - -Never present optional adoption as required migration work. - -## Step 1: Inventory the repository and test sets - -Before editing, record the repository, branch, supported PowerShell versions, -CI workflow files, Pester installation source, and every test entry point. -Search the whole repository, not just `tests/`; framework tests, action tests, -source tests, generated test fixtures, and nested suites can use different -configuration. - -```powershell -Get-ChildItem -Force -Get-ChildItem -Force -Recurse -File -Include *.Tests.ps1,*.Configuration.ps1,*.Container.ps1 -Get-ChildItem -Force -Recurse -File -Include *.yml,*.yaml,*.ps1,*.psd1,*.psm1 | - Select-String -Pattern 'Pester|Invoke-Pester|Should|BeforeDiscovery|BeforeAll|Mock' -``` - -For each test set, add an inventory row to the migration report: - -| Field | Record | -| --- | --- | -| Test set | Relative path and purpose | -| Entry point | Workflow, action, script, or local command | -| Discovery paths | Explicit paths, recursive paths, containers, configurations | -| Pester source | Required module version, install step, lock or floating policy | -| Runtime matrix | Windows PowerShell 5.1 and/or PowerShell 7.4+ | -| Setup | Root `BeforeAll.ps1`, `Pester.BeforeContainer.ps1`, file setup | -| Data | `-ForEach`, `-TestCases`, external files, generated cases | -| Mocks | Filtered mocks, mock assertions, shared state | -| Coverage/results | Paths, formats, thresholds, uploaded artifacts | -| Baseline | Run command, result counts, known failures | - -Use the inventory to find test sets that are not reachable from the default -workflow. A green workflow is not evidence that every test set was migrated. - -## Test-state and data contract - -Treat the test runner's prepared state as a contract, not an implementation -detail. A module-local Pester test must assume that the target, built module is -already loaded by the framework. It must not silently call `Import-Module`, -`Install-Module`, `Install-PSModule`, or dot-source the target module as a -fallback when the framework did not prepare it. A hidden import can make local -tests pass while the real workflow is misconfigured and can change the module -version or process state being tested. - -This does not prohibit a test whose explicit subject is module import, -manifest validity, or module removal. Such a framework or contract test should -say so in its name and use a deliberate, isolated import as the behavior under -test. It must not become setup for unrelated tests. - -Every additional fixture is also part of the test-state contract. A test set -must explicitly load its own JSON, CSV, XML, PSD1, script, or generated data, -or document which setup phase provides it. In particular, a PSD1 dataset is -not automatically loaded because it is in the repository: - -```powershell -BeforeDiscovery { - $cases = Import-PowerShellDataFile -Path (Join-Path $PSScriptRoot 'Data\Cases.psd1') -} -``` - -Record fixture ownership and availability in the inventory: - -| Fixture or state | Owner | Loaded in | Required environment | -| --- | --- | --- | --- | -| Target module | Process-PSModule or explicit contract test | Framework pre-run | Built module path and version | -| PSD1/JSON/CSV data | Test set or documented setup | `BeforeDiscovery`, `BeforeAll`, or setup job | Relative path and encoding | -| Secrets/variables | Calling workflow | `Expose-TestData` and environment | `TestData` JSON contract | -| Shared service | `tests/BeforeAll.ps1` | Before module-local matrix | Deterministic run-scoped name | -| Cleanup state | `tests/AfterAll.ps1` | Always-run teardown | Same `TestData` and run identity | - -Fail loudly when required data or state is absent. Do not use a broad -`try/catch`, an empty default, or an implicit import to turn a missing fixture -into a passing or skipped test. - -## Process-PSModule test-adjacent surfaces - -For every consumer repository, trace and record these surfaces before editing: - -| Surface | Framework contract to verify | Migration check | -| --- | --- | --- | -| `PSModule/Invoke-Pester` | Installs/runs Pester and emits per-suite JSON results and coverage artifacts | Pin/verify Pester 6.1.0, map all inputs to v6 configuration, preserve suite names | -| `Test-PSModule` action | Selects `tests/Module` or `tests/SourceCode`, resolves `outputs/module` or `src`, and passes paths to `Invoke-Pester` | Confirm path selection, exclusions, module state, and test extension | -| Module-local workflow | Downloads the built module, exposes `TestData`, imports the module, then runs module tests | Tests consume the prepared module; no hidden fallback import | -| Source-code workflow | Runs source tests against the checked-out `src` path | Record how source functions/classes are loaded and which fixtures are explicit | -| `BeforeAll-ModuleLocal` | Runs exact root `tests/BeforeAll.ps1` once before module-local jobs | Put shared services/data here only when every matrix job needs them | -| `AfterAll-ModuleLocal` | Runs exact root `tests/AfterAll.ps1` with `always()` | Make cleanup safe after setup/test failure | -| `Expose-TestData` | Converts caller `TestData` JSON into environment variables | Inventory every required variable; do not confuse it with repository fixtures | -| `Get-PesterTestResults` | Downloads `*-TestResults`, expects every configured suite, and fails missing/unexecuted/failed/inconclusive results | Preserve `TestSuiteName`, matrix names, and result counts | -| `Get-PesterCodeCoverage` | Aggregates `*-CodeCoverage` JSON and writes missed-path reports and summaries | Verify JaCoCo/Cobertura format, target, paths, and v6 tracer behavior | -| `Invoke-ScriptAnalyzer` integration | Publishes `PSModuleLint-*` results alongside test results | Treat lint suites as required result artifacts, not Pester test files | -| Repository linter | Checks repository/workflow/Markdown files independently of Pester | Include skill and documentation paths in the repository lint inventory | - -The current Process-PSModule flow specifically downloads the built module and -imports it before module-local tests, while `Test-PSModule` resolves source or -module paths for framework suites. The framework's own importability and -manifest tests may import/remove the module because import is their subject; -ordinary consumer tests must not copy that pattern as setup. - -Record the `PSModule/Invoke-Pester` action revision separately from the Pester -module version. The current Process-PSModule workflows reference that action at -`v5.1.0`; its revision and its Pester installation policy must both be checked -when adopting Pester 6.1.0. Updating one does not prove that the other changed. - -Use this per-repository checklist: - -- [ ] All `*.Tests.ps1`, `*.Configuration.ps1`, and `*.Container.ps1` files, - including action and hidden paths, are listed. -- [ ] Each test set is mapped to `Module`, `SourceCode`, action, or external - invocation and its `Run.Path`/`Run.ExcludePath` is recorded. -- [ ] The built target module is loaded by the framework before module-local - tests; tests do not silently load it themselves. -- [ ] Source-code test loading is explicit and documented separately from the - module-local contract. -- [ ] Every PSD1, JSON, CSV, XML, script, generated fixture, secret, variable, - and service dependency has an owner and loading phase. -- [ ] `BeforeAll.ps1`, `AfterAll.ps1`, and `Pester.BeforeContainer.ps1` paths - and scope are recorded. -- [ ] `Invoke-Pester` action inputs, Pester version, suite names, result paths, - coverage paths, filters, and output formats are recorded. -- [ ] `Get-PesterTestResults` expected artifact names include source, framework, - module, and linter suites. -- [ ] Coverage aggregation and its missed-path report are validated. -- [ ] Local, CI, and linter runs use the same intended fixture and module state. - -## Step 2: Check versions, runtime, and CI - -Run the baseline on the current version before changing files. Save the command, -Pester version, runtime, OS, result counts, and known failures. - -```powershell -Get-Module Pester -ListAvailable | Sort-Object Version -Descending | - Select-Object Name, Version, Path -(Get-Module Pester).Version -$PSVersionTable | Select-Object PSVersion, PSEdition, OS -Invoke-Pester -Path ./tests -Output Detailed -``` - -Pin the target during migration so local and CI results are comparable: - -```powershell -Install-Module Pester -RequiredVersion 6.1.0 -Force -Import-Module Pester -RequiredVersion 6.1.0 -Force -``` - -On Windows PowerShell 5.1, use `-SkipPublisherCheck` only when required to -install a newer Pester beside the inbox Pester 3. Do not hide an installation -failure. Verify the imported module is 6.1.0, not merely that a 6.x package is -available. - -Update each CI installation and invocation. Prefer an explicit requirement in -test files when that is the repository convention: - -```powershell -#Requires -Modules @{ ModuleName = 'Pester'; ModuleVersion = '6.1.0'; MaximumVersion = '6.1.0' } -``` - -If the repository intentionally floats patch releases within the major, record -that policy and use `ModuleVersion = '6.0.0'; MaximumVersion = '6.*'` instead. -The migration acceptance run must still use 6.1.0. - -## Step 3: Migrate discovery, setup, and isolation - -Pester 6 discovers and runs one file before moving to the next. A file cannot -depend on top-level state created while another file was discovered. Import -modules and define file-local discovery data in the file that uses them: - -```powershell -BeforeDiscovery { - $cases = Get-Content -Raw -Path (Join-Path $PSScriptRoot 'cases.json') | - ConvertFrom-Json -} - -BeforeAll { - # Consume the module loaded by the framework. - $command = Get-Command -Name Get-MyThing -ErrorAction Stop -} - -Describe 'My command' { - It 'handles ' -ForEach $cases { - Get-MyThing -Name $Name | Should -Be 'ok' - } -} -``` - -Use `$PSScriptRoot` for fixture paths. Do not rely on -`$MyInvocation.MyCommand.Path`, the current directory, another test file's -variables, or discovery order. If the command check fails, fix the workflow's -module preparation rather than adding an import to this test. -Repository-wide bootstrap that every worker needs belongs in -`Pester.BeforeContainer.ps1` at the repository root. Keep it deterministic and -idempotent. - -Check the complete recursive path set. Pester 6 includes hidden files and -directories by default, while `.git`, `.svn`, and `.hg` remain excluded. A -newly discovered hidden test is an intended compatibility change: fix it or -exclude it explicitly, rather than assuming it should remain invisible. - -For every test set, run one file directly and then the complete set. This -isolates discovery failures from cross-file assumptions: - -```powershell -Invoke-Pester -Path ./tests/Example.Tests.ps1 -Output Detailed -Invoke-Pester -Path ./tests -Output Detailed -``` - -## Step 4: Fix v6 breaking changes - -### Data-driven tests - -Pester 6 throws for `$null` or an empty `-ForEach`/`-TestCases`. Prefer fixing -the data-loading path. If empty data is a valid result, state that intent: - -```powershell -Describe 'Optional cases' -ForEach $cases -AllowNullOrEmptyForEach { - It 'runs when a case exists' {} -} -``` - -Use the local opt-in before the run-wide -`$config.Run.FailOnNullOrEmptyForEach = $false`; the latter can hide a broken -data source. - -### Setup and teardown blocks - -Each block can contain only one `BeforeAll`, `BeforeEach`, `AfterAll`, and -`AfterEach` at its scope. Combine duplicate blocks and preserve their required -ordering explicitly. Do not move discovery-time test generation into -`BeforeAll`; use `BeforeDiscovery` for that. - -### Mocks - -Replace removed assertions: - -```powershell -# Old -Assert-MockCalled Get-Thing -Times 1 -Exactly -Assert-VerifiableMock - -# v6 -Should -Invoke Get-Thing -Times 1 -Exactly -Should -InvokeVerifiable -``` - -In v6, a call that matches no `-ParameterFilter` no longer falls through to -the real command. Add an unfiltered default mock when other calls are valid: - -```powershell -Mock Get-Thing { 'default' } -Mock Get-Thing -ParameterFilter { $Name -eq 'a' } -MockWith { 'a' } -``` - -Keep mocks and their assertions in the scope where the code under test invokes -them. A migration must not accidentally allow a real external call. - -### Pending tests - -`Set-ItResult -Pending` is removed. Use the result that expresses the intent: - -```powershell -It 'is not implemented yet' { - Set-ItResult -Inconclusive -Because 'not implemented yet' -} -``` - -Use `-Skip` when the test must not run, and `-Inconclusive` when the result -should be reported for follow-up. - -### Name templates - -In v6, every `<...>` token in a `Describe`, `Context`, or `It` name is -evaluated as a PowerShell expression in the test scope. Review arithmetic, -method calls, and expressions that were literal in v5. Escape a leading `<` -when literal text is intended: - -```powershell -It 'adds up to `<($a + $b)`>' -ForEach @{ a = 1; b = 2 } {} -``` - -Keep names stable and useful for CI result reporting. - -### Tags - -`None` is reserved, case-insensitively, to select tests with no inherited or -local tags. Rename a tag that relied on the old literal meaning and update -filters and reports. - -### Coverage - -Pester 6 uses the Profiler tracer by default and `CodeCoverage.UseBreakpoints` -defaults to `$false`. Keep the new default unless compatibility with historical -coverage numbers requires: - -```powershell -$config.CodeCoverage.UseBreakpoints = $true -``` - -`CoverageGutters` is removed. Use `JaCoCo` or `Cobertura`; coverage paths are -already relative to `Run.RepoRoot`. - -## Step 5: Standardize Invoke-Pester configuration - -Legacy v4 parameters such as `-Script`, `-OutputFile`, `-OutputFormat`, -`-EnableExit`, and direct coverage switches are removed. Use one configuration -object for scripted and CI runs: - -```powershell -$config = New-PesterConfiguration -$config.Run.Path = @('./tests') -$config.Run.Exit = $true -$config.Output.Verbosity = 'Detailed' - -$config.TestResult.Enabled = $true -$config.TestResult.OutputPath = './artifacts/pester-results.xml' -$config.TestResult.OutputFormat = 'NUnitXml' - -$config.CodeCoverage.Enabled = $true -$config.CodeCoverage.Path = @('./src') -$config.CodeCoverage.OutputFormat = 'JaCoCo' - -Invoke-Pester -Configuration $config -``` - -Set `Run.ExcludePath` for intentional exclusions, and keep paths relative to -the repository root where CI and local runs share the same layout. Do not -disable failures globally to make a migration green. - -## Step 6: Optional v6 features - -Only after the serial suite matches the baseline may a repository evaluate: - -```powershell -$config.Run.Shuffle = $true -$config.Run.Parallel = $true -``` - -`Run.Shuffle` detects order dependence. Fix order dependence rather than -permanently suppressing it. `Run.Parallel` is experimental and runs files in -separate runspaces. Prove that setup, mocks, environment variables, ports, -temporary paths, external resources, and cleanup are isolated. Use -`Pester.BeforeContainer.ps1` for shared bootstrap and `#pester:no-parallel` -only for a documented exception. Compare serial and parallel result counts and -artifacts. - -The optional `Should-*` commands are a separate modernization. Classic -`Should -Be` remains valid in v6: - -```powershell -$value | Should -Be 1 # compatible and may remain -$value | Should-Be 1 # optional v6 style -``` - -If converting, review behavior rather than applying a blind rename: - -- `Should -Not -Be` becomes `Should-NotBe`. -- Truthy/falsy expectations may need `Should-BeTruthy` or `Should-BeFalsy`; - strict boolean assertions are different. -- `Should -BeNullOrEmpty` has different intents: null, empty string, empty - collection, or falsy. -- Collection comparisons use collection assertions and may need `-Actual` - because pipeline input is unwrapped. -- `Should -Exist` and file-content assertions can remain classic. - -Adopt this style incrementally and report intentionally unchanged assertions. - -## Step 7: Validate and report - -Run the migrated test set in this order: - -1. Every discovered file directly, including hidden paths and files selected - by configuration or container scripts. -2. Each test set serially with Pester 6.1.0. -3. Each supported PowerShell runtime and CI operating system. -4. Coverage and test-result generation with the same configuration CI uses. -5. Optional shuffle and parallel runs, only if the repository opted in. - -For every run, record the command, runtime, Pester version, path, passed, -failed, skipped, inconclusive, not-run, coverage summary, and artifact paths. -Compare against the baseline and investigate changed counts. A report should -include: - -```text -Repository: -Target: Pester 6.1.0 -Test set: -Runtime / OS: -Baseline: -Serial result: -Coverage / result artifacts: -Required compatibility fixes: -Optional v6 features enabled: -Known limitations or deferred work: -``` - -Review the diff for test-intent changes, accidental real calls, path assumptions, -and generated artifacts before committing. Make small commits by file or -concern so a failed migration is easy to bisect. - -## References - -- [Pester v5-to-v6 migration](https://pester.dev/docs/migrations/v5-to-v6) -- [Pester installation and compatibility](https://pester.dev/docs/introduction/installation) -- [Pester configuration](https://pester.dev/docs/usage/configuration) -- [Pester data-driven tests](https://pester.dev/docs/usage/data-driven-tests) -- [Pester mocking](https://pester.dev/docs/usage/mocking) -- [Pester parallel execution](https://pester.dev/docs/usage/parallel) -- [Pester code coverage](https://pester.dev/docs/usage/code-coverage) -- [Pester test results](https://pester.dev/docs/usage/test-results) -- [Pester Should assertions](https://pester.dev/docs/assertions/should-command) -- [Awesome Copilot pester-migration](https://github.com/github/awesome-copilot/tree/main/skills/pester-migration) -- [Awesome Copilot pester-should-migration](https://github.com/github/awesome-copilot/tree/main/skills/pester-should-migration) From 5b6f40aa2968b39bce4e1cfa6f257b94e7177be0 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sat, 15 Aug 2026 18:02:40 +0200 Subject: [PATCH 03/11] Document plugin marketplace ownership Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/plugin/README.md | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/plugin/README.md diff --git a/.github/plugin/README.md b/.github/plugin/README.md new file mode 100644 index 0000000..c065cdf --- /dev/null +++ b/.github/plugin/README.md @@ -0,0 +1,42 @@ +# Agent plugin marketplaces + +This repository publishes the shared `msxorg` marketplace for plugins that +route Copilot to MSXOrg-wide standards. Initiative repositories publish their +own marketplaces for plugins that describe initiative-specific processes, +workflows, or tools. Keep an initiative plugin in its owning repository rather +than copying it into this marketplace. + +## Layout + +The marketplace manifest is `.github/plugin/marketplace.json`. Each entry +points to a plugin directory under the repository root: + +```text +.github/plugin/marketplace.json +plugins/ + msx-standards/ + plugin.json + skills/ + / + SKILL.md +``` + +The `source` value in the marketplace entry must resolve to the plugin +directory. Every plugin directory must contain `plugin.json`; its `skills` +directory contains the skills advertised by the manifest. + +## Versions + +Keep the plugin version in `plugin.json` synchronized with the version of its +entry in `marketplace.json`. Increment both together when the plugin changes. +The marketplace metadata version describes the marketplace itself and is +managed independently. + +## Ownership + +Use this shared marketplace for guidance that applies across MSX +organizations, repositories, and initiatives, such as `msx-standards`. Use an +initiative-owned marketplace for guidance that depends on one initiative's +process or implementation. Consumers should install both marketplaces when +they need shared standards and initiative-specific guidance; neither replaces +the other. From 6f4263dbe3feccd604a04868cd57d4121709b38a Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sat, 15 Aug 2026 18:04:39 +0200 Subject: [PATCH 04/11] Correct plugin marketplace layout docs Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/plugin/README.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/plugin/README.md b/.github/plugin/README.md index c065cdf..ead392c 100644 --- a/.github/plugin/README.md +++ b/.github/plugin/README.md @@ -9,21 +9,19 @@ than copying it into this marketplace. ## Layout The marketplace manifest is `.github/plugin/marketplace.json`. Each entry -points to a plugin directory under the repository root: +points to a plugin directory alongside the manifest: ```text .github/plugin/marketplace.json -plugins/ - msx-standards/ - plugin.json - skills/ - / - SKILL.md +.github/plugin//plugin.json +.github/plugin//skills/ + /SKILL.md ``` -The `source` value in the marketplace entry must resolve to the plugin -directory. Every plugin directory must contain `plugin.json`; its `skills` -directory contains the skills advertised by the manifest. +The `source` value in a marketplace entry is `` and must resolve +to the corresponding directory under `.github/plugin/`. Every plugin directory +must contain `plugin.json`; its `skills` directory contains the skills +advertised by the manifest. ## Versions From 3dcc7164d9a67ae97f96ce73b2e746aa6c7ab086 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sat, 15 Aug 2026 18:05:24 +0200 Subject: [PATCH 05/11] Clarify plugin source paths Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/plugin/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/plugin/README.md b/.github/plugin/README.md index ead392c..34a6f1f 100644 --- a/.github/plugin/README.md +++ b/.github/plugin/README.md @@ -18,10 +18,10 @@ points to a plugin directory alongside the manifest: /SKILL.md ``` -The `source` value in a marketplace entry is `` and must resolve -to the corresponding directory under `.github/plugin/`. Every plugin directory -must contain `plugin.json`; its `skills` directory contains the skills -advertised by the manifest. +The `source` value is repository-root-relative: use +`.github/plugin/` in the marketplace entry. It must resolve to the +corresponding directory. Every plugin directory must contain `plugin.json`; its +`skills` directory contains the skills advertised by the manifest. ## Versions From 769a6e42bcd49e831b34881b7abc51a0f71121e0 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sat, 15 Aug 2026 18:07:43 +0200 Subject: [PATCH 06/11] Canonicalize shared MSX plugin identity Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/plugin/README.md | 2 +- .github/plugin/marketplace.json | 4 ++-- .../plugin/msx}/plugin.json | 2 +- .../plugin/msx}/skills/msx-coding/SKILL.md | 0 .../msx}/skills/msx-documentation/SKILL.md | 0 .../msx}/skills/msx-ways-of-working/SKILL.md | 0 README.md | 2 +- .../plugin-distribution.md | 23 +++++++++---------- 8 files changed, 16 insertions(+), 17 deletions(-) rename {plugins/msx-standards => .github/plugin/msx}/plugin.json (94%) rename {plugins/msx-standards => .github/plugin/msx}/skills/msx-coding/SKILL.md (100%) rename {plugins/msx-standards => .github/plugin/msx}/skills/msx-documentation/SKILL.md (100%) rename {plugins/msx-standards => .github/plugin/msx}/skills/msx-ways-of-working/SKILL.md (100%) diff --git a/.github/plugin/README.md b/.github/plugin/README.md index 34a6f1f..375d0b6 100644 --- a/.github/plugin/README.md +++ b/.github/plugin/README.md @@ -33,7 +33,7 @@ managed independently. ## Ownership Use this shared marketplace for guidance that applies across MSX -organizations, repositories, and initiatives, such as `msx-standards`. Use an +organizations, repositories, and initiatives, such as `msx`. Use an initiative-owned marketplace for guidance that depends on one initiative's process or implementation. Consumers should install both marketplaces when they need shared standards and initiative-specific guidance; neither replaces diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json index 56edf56..a3bd69c 100644 --- a/.github/plugin/marketplace.json +++ b/.github/plugin/marketplace.json @@ -9,10 +9,10 @@ }, "plugins": [ { - "name": "msx-standards", + "name": "msx", "description": "Routes coding, documentation, and work lifecycle tasks to current MSX standards.", "version": "0.1.0", - "source": "plugins/msx-standards" + "source": ".github/plugin/msx" } ] } diff --git a/plugins/msx-standards/plugin.json b/.github/plugin/msx/plugin.json similarity index 94% rename from plugins/msx-standards/plugin.json rename to .github/plugin/msx/plugin.json index 2575385..f6f3fa7 100644 --- a/plugins/msx-standards/plugin.json +++ b/.github/plugin/msx/plugin.json @@ -1,6 +1,6 @@ { "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", - "name": "msx-standards", + "name": "msx", "version": "0.1.0", "description": "Routes coding, documentation, and work lifecycle tasks to current MSX standards.", "author": { diff --git a/plugins/msx-standards/skills/msx-coding/SKILL.md b/.github/plugin/msx/skills/msx-coding/SKILL.md similarity index 100% rename from plugins/msx-standards/skills/msx-coding/SKILL.md rename to .github/plugin/msx/skills/msx-coding/SKILL.md diff --git a/plugins/msx-standards/skills/msx-documentation/SKILL.md b/.github/plugin/msx/skills/msx-documentation/SKILL.md similarity index 100% rename from plugins/msx-standards/skills/msx-documentation/SKILL.md rename to .github/plugin/msx/skills/msx-documentation/SKILL.md diff --git a/plugins/msx-standards/skills/msx-ways-of-working/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working/SKILL.md similarity index 100% rename from plugins/msx-standards/skills/msx-ways-of-working/SKILL.md rename to .github/plugin/msx/skills/msx-ways-of-working/SKILL.md diff --git a/README.md b/README.md index 70749a7..6dbebb8 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ That structure is what lets a reader and an agent find the same page by the same workflows/Docs.yml # lint, validate links, build, and publish to GitHub Pages scripts/ # documentation tooling (index generation, link validation) linters/ # shared linter configuration -plugins/ # portable Agent Plugins that point into the documentation +.github/plugin/ # portable Agent Plugins that point into the documentation src/ zensical.toml # site configuration docs/ # the documentation content diff --git a/src/docs/Capabilities/agentic-development/plugin-distribution.md b/src/docs/Capabilities/agentic-development/plugin-distribution.md index 5e8cdf8..9885ca5 100644 --- a/src/docs/Capabilities/agentic-development/plugin-distribution.md +++ b/src/docs/Capabilities/agentic-development/plugin-distribution.md @@ -106,16 +106,15 @@ The repository implementation follows this model: ```text .github/plugin/marketplace.json -plugins/ - msx-standards/ - plugin.json - skills/ - msx-coding/ - SKILL.md - msx-documentation/ - SKILL.md - msx-ways-of-working/ - SKILL.md +.github/plugin/msx/ + plugin.json + skills/ + msx-coding/ + SKILL.md + msx-documentation/ + SKILL.md + msx-ways-of-working/ + SKILL.md ``` The package and marketplace carry discovery metadata and mechanics. Coding requirements @@ -128,7 +127,7 @@ An individual registers the marketplace and installs its standards plugin with C ```shell copilot plugin marketplace add MSXOrg/docs -copilot plugin install msx-standards@msxorg +copilot plugin install msx@msxorg ``` Skills configured for Copilot CLI are also available in the @@ -142,7 +141,7 @@ governance repository: ```json { "enabledPlugins": { - "msx-coding@msxorg": true + "msx@msxorg": true }, "extraKnownMarketplaces": { "msxorg": { From 92dddb19a291e1e9d964197eb1af778b6b877f25 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sat, 15 Aug 2026 18:09:11 +0200 Subject: [PATCH 07/11] Document plugin marketplace design Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../design-plugin-marketplaces.md | 89 +++++++++++++++++++ .../Capabilities/agentic-development/index.md | 1 + src/zensical.toml | 1 + 3 files changed, 91 insertions(+) create mode 100644 src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md diff --git a/src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md b/src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md new file mode 100644 index 0000000..62214f5 --- /dev/null +++ b/src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md @@ -0,0 +1,89 @@ +--- +title: Plugin Marketplaces +description: How shared and initiative-owned Agent Plugin marketplaces are named, laid out, versioned, and updated. +--- + +# Agent Plugin Marketplaces — Design + +Agent Plugins provide a portable entry point to canonical MSX documentation +and initiative guidance. A marketplace is the catalog for one ownership +boundary. The marketplace owner controls its plugin identities, source paths, +versions, and release changes. + +## Ownership boundaries + +MSXOrg publishes the shared `msxorg` marketplace in `MSXOrg/docs`. It contains +the `msx` plugin for guidance that applies across MSX organizations, +repositories, and initiatives, including the `msx-coding`, +`msx-documentation`, and `msx-ways-of-working` skills. + +An initiative publishes its own marketplace in its owning repository. For +example, PSModule publishes a `psmodule` plugin for PowerShell-module +processes and skills. Initiative guidance belongs there rather than being +copied into the shared MSXOrg marketplace. Consumers install both marketplaces +when they need shared standards and initiative-specific guidance. + +This boundary keeps shared standards stable and prevents an initiative release +from changing the organization-wide plugin catalog. + +## Canonical identity and layout + +Plugin IDs are lowercase and short. `msx` is the shared MSXOrg plugin ID; +`psmodule` is the canonical PSModule initiative plugin ID. Skill names remain +owned by their plugin and use a matching prefix: `msx-*` for shared MSX +skills and `psmodule-*` for PSModule skills. + +Each marketplace uses the flatter plugin layout below: + +```text +/ + .github/ + plugin/ + marketplace.json + / + plugin.json + skills/ + / + SKILL.md +``` + +The `source` in `marketplace.json` is repository-root-relative. For the shared +plugin it is `.github/plugin/msx`; an initiative plugin uses the corresponding +path, such as `.github/plugin/psmodule`. A source must resolve to the plugin +directory named by the marketplace entry, and the plugin manifest's `name` +must match that entry. + +## Versioning and update flow + +Each marketplace entry and its plugin manifest carry the same plugin version. +A plugin change increments both values together. The marketplace metadata +version describes the catalog and is managed independently from the versions +of the plugins it lists. + +The update flow is: + +1. The marketplace owner changes the plugin manifest, skills, or catalog entry + in the owning repository. +2. The owner synchronizes the plugin entry and manifest version when the + plugin changes. +3. Validation confirms that JSON parses, every source resolves, names and + versions agree, and every skill follows the Agent Skills format. +4. The owner publishes the marketplace change through its normal pull request + and release process. + +An initiative plugin is updated in its initiative repository. The shared `msx` +plugin is updated in `MSXOrg/docs`. Neither repository republishes the other +repository's plugin. + +## Shared and initiative guidance + +Use the shared `msx` plugin for organization-wide standards and ways of +working. Use an initiative plugin for process, workflow, or tool guidance that +only applies within that initiative. A skill may route to canonical +documentation and add runtime mechanics, but it must not create a second +definition of a shared workflow. + +When guidance moves from initiative-specific to organization-wide, update the +canonical documentation and ownership decision first. Then publish it through +the appropriate marketplace rather than keeping duplicate skills under both +plugin IDs. diff --git a/src/docs/Capabilities/agentic-development/index.md b/src/docs/Capabilities/agentic-development/index.md index a314d49..e2c1bb9 100644 --- a/src/docs/Capabilities/agentic-development/index.md +++ b/src/docs/Capabilities/agentic-development/index.md @@ -19,6 +19,7 @@ A repository adopts the framework by carrying a short router and the client rout | [MCP Servers](mcp-servers.md) | How one logical set of tool servers is defined once and declared by every runtime in its own format, so a documented procedure does not depend on which client runs it. | | [Runtime Integration](runtime-integration.md) | How a runtime is wired into the framework — the entry file it reads, the lifecycle point its refresh attaches to, the permissions it needs, and what a new runtime must supply to be supported. | | [Plugin Distribution](plugin-distribution.md) | How recurring workflows are packaged as named intents that point to canonical documentation, and why a packaged shortcut never carries a copy of the procedure. | +| [Plugin Marketplaces](design-plugin-marketplaces.md) | How shared and initiative-owned Agent Plugin marketplaces are named, laid out, versioned, and updated. | | [Agent Interaction](agent-interaction.md) | How humans and agents coordinate through issues, labels, and pull requests, and why intent and implementation are kept in separate artifacts. | | [Advisory Agents](advisory-agents.md) | The pattern for automation that analyses work and publishes its conclusion as advice, without deciding, relabelling, or committing. | | [Conformance](conformance.md) | What a repository must provide to be conformant with the agentic development framework, what it may add, and the duplication checks that keep the router thin. | diff --git a/src/zensical.toml b/src/zensical.toml index 087c278..8bc2814 100644 --- a/src/zensical.toml +++ b/src/zensical.toml @@ -175,6 +175,7 @@ nav = [ {"MCP Servers" = "Capabilities/agentic-development/mcp-servers.md"}, {"Runtime Integration" = "Capabilities/agentic-development/runtime-integration.md"}, {"Plugin Distribution" = "Capabilities/agentic-development/plugin-distribution.md"}, + {"Plugin Marketplaces" = "Capabilities/agentic-development/design-plugin-marketplaces.md"}, {"Agent Interaction" = "Capabilities/agentic-development/agent-interaction.md"}, {"Advisory Agents" = "Capabilities/agentic-development/advisory-agents.md"}, {"Conformance" = "Capabilities/agentic-development/conformance.md"}, From c554ac3502cf434f75481e8dbccdbf55421d84ee Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sat, 15 Aug 2026 18:16:42 +0200 Subject: [PATCH 08/11] Split MSX plugin skills by documentation scope Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/plugin/README.md | 9 +++++++ .../skills/msx-coding-github-actions/SKILL.md | 8 ++++++ .../msx/skills/msx-coding-powershell/SKILL.md | 8 ++++++ .../msx/skills/msx-coding-terraform/SKILL.md | 8 ++++++ .../msx/skills/msx-coding-typescript/SKILL.md | 8 ++++++ .../msx/skills/msx-coding-yaml/SKILL.md | 8 ++++++ .github/plugin/msx/skills/msx-coding/SKILL.md | 11 -------- .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../skills/msx-documentation-design/SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../skills/msx-documentation-guide/SKILL.md | 8 ++++++ .../msx-documentation-implementation/SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../msx-documentation-reference/SKILL.md | 8 ++++++ .../msx-documentation-research/SKILL.md | 8 ++++++ .../msx-documentation-specification/SKILL.md | 8 ++++++ .../msx-documentation-standard/SKILL.md | 8 ++++++ .../msx/skills/msx-documentation/SKILL.md | 12 --------- .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../msx-ways-of-working-goal-setting/SKILL.md | 8 ++++++ .../msx-ways-of-working-issues/SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../msx-ways-of-working-pr-format/SKILL.md | 8 ++++++ .../msx-ways-of-working-principles/SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../SKILL.md | 8 ++++++ .../msx-ways-of-working-workflow/SKILL.md | 8 ++++++ .../msx/skills/msx-ways-of-working/SKILL.md | 12 --------- .../design-plugin-marketplaces.md | 10 ++++++- .../plugin-distribution.md | 26 ++++++------------- 54 files changed, 410 insertions(+), 54 deletions(-) create mode 100644 .github/plugin/msx/skills/msx-coding-github-actions/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-coding-powershell/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-coding-terraform/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-coding-typescript/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-coding-yaml/SKILL.md delete mode 100644 .github/plugin/msx/skills/msx-coding/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-documentation-decision-record/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-documentation-decisions-register/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-documentation-design/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-documentation-feature-addendum/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-documentation-guide/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-documentation-implementation/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-documentation-orchestration-playbook/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-documentation-reference/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-documentation-research/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-documentation-specification/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-documentation-standard/SKILL.md delete mode 100644 .github/plugin/msx/skills/msx-documentation/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-agentic-development/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-automation-labels/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-branching-and-merging/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-code-ownership/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-commit-conventions/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-comparative-review-orchestration/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-continuous-delivery-and-release/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-continuous-practices/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-contribution-workflow/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-definition-of-ready-and-done/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-devops-reference/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-documentation-model/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-engineering-taste/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-evolutionary-development/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-fleet-orchestration/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-git-worktrees/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-goal-setting/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-issues/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-observability/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-organization-standard/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-pr-format/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-principles/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-readme-driven-context/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-repository-segmentation/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-repository-standard/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-repository-type-property/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-review-etiquette/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-session-interactions/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-spec-driven-development-templates/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-spec-driven-development/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-workflow-stages/SKILL.md create mode 100644 .github/plugin/msx/skills/msx-ways-of-working-workflow/SKILL.md delete mode 100644 .github/plugin/msx/skills/msx-ways-of-working/SKILL.md diff --git a/.github/plugin/README.md b/.github/plugin/README.md index 375d0b6..1ae963e 100644 --- a/.github/plugin/README.md +++ b/.github/plugin/README.md @@ -23,6 +23,15 @@ The `source` value is repository-root-relative: use corresponding directory. Every plugin directory must contain `plugin.json`; its `skills` directory contains the skills advertised by the manifest. +## Skill granularity + +Each skill is a single pointer to one canonical document. The shared `msx` +plugin uses `msx-coding-*` skills for each coding language or tool, +`msx-documentation-*` skills for each documentation artifact type, and +`msx-ways-of-working-*` skills for each direct child of the Ways of Working +index. Skill bodies do not copy the documentation; they identify the one page +to read. + ## Versions Keep the plugin version in `plugin.json` synchronized with the version of its diff --git a/.github/plugin/msx/skills/msx-coding-github-actions/SKILL.md b/.github/plugin/msx/skills/msx-coding-github-actions/SKILL.md new file mode 100644 index 0000000..ec3a48d --- /dev/null +++ b/.github/plugin/msx/skills/msx-coding-github-actions/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-coding-github-actions +description: Apply the MSX GitHub Actions coding standard when writing or reviewing workflows. +--- + +# Apply the MSX GitHub Actions coding standard + +Read and follow the [GitHub Actions coding standard](https://msxorg.github.io/docs/Coding-Standards/GitHub-Actions/). diff --git a/.github/plugin/msx/skills/msx-coding-powershell/SKILL.md b/.github/plugin/msx/skills/msx-coding-powershell/SKILL.md new file mode 100644 index 0000000..6cf64e6 --- /dev/null +++ b/.github/plugin/msx/skills/msx-coding-powershell/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-coding-powershell +description: Apply the MSX PowerShell coding standard when writing or reviewing PowerShell. +--- + +# Apply the MSX PowerShell coding standard + +Read and follow the [PowerShell coding standard](https://msxorg.github.io/docs/Coding-Standards/PowerShell/). diff --git a/.github/plugin/msx/skills/msx-coding-terraform/SKILL.md b/.github/plugin/msx/skills/msx-coding-terraform/SKILL.md new file mode 100644 index 0000000..0804345 --- /dev/null +++ b/.github/plugin/msx/skills/msx-coding-terraform/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-coding-terraform +description: Apply the MSX Terraform coding standard when writing or reviewing Terraform. +--- + +# Apply the MSX Terraform coding standard + +Read and follow the [Terraform coding standard](https://msxorg.github.io/docs/Coding-Standards/Terraform/). diff --git a/.github/plugin/msx/skills/msx-coding-typescript/SKILL.md b/.github/plugin/msx/skills/msx-coding-typescript/SKILL.md new file mode 100644 index 0000000..a8077fc --- /dev/null +++ b/.github/plugin/msx/skills/msx-coding-typescript/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-coding-typescript +description: Apply the MSX TypeScript coding standard when writing or reviewing TypeScript. +--- + +# Apply the MSX TypeScript coding standard + +Read and follow the [TypeScript coding standard](https://msxorg.github.io/docs/Coding-Standards/TypeScript/). diff --git a/.github/plugin/msx/skills/msx-coding-yaml/SKILL.md b/.github/plugin/msx/skills/msx-coding-yaml/SKILL.md new file mode 100644 index 0000000..3aad080 --- /dev/null +++ b/.github/plugin/msx/skills/msx-coding-yaml/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-coding-yaml +description: Apply the MSX YAML coding standard when writing or reviewing YAML. +--- + +# Apply the MSX YAML coding standard + +Read and follow the [YAML coding standard](https://msxorg.github.io/docs/Coding-Standards/YAML/). diff --git a/.github/plugin/msx/skills/msx-coding/SKILL.md b/.github/plugin/msx/skills/msx-coding/SKILL.md deleted file mode 100644 index b06cfc9..0000000 --- a/.github/plugin/msx/skills/msx-coding/SKILL.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: msx-coding -description: Routes coding work in any language to the current MSX coding standards. Use when creating, modifying, reviewing, or testing code in an MSX-managed project. ---- - -# Apply MSX coding standards - -Read and follow the [MSX Coding Standards](https://msxorg.github.io/docs/Coding-Standards/). -Start at that index and follow its descriptions inward to every baseline, language, tool, -and construct page applicable to the task. The linked documentation is the source of truth; -do not restate or infer its rules here. diff --git a/.github/plugin/msx/skills/msx-documentation-decision-record/SKILL.md b/.github/plugin/msx/skills/msx-documentation-decision-record/SKILL.md new file mode 100644 index 0000000..432517a --- /dev/null +++ b/.github/plugin/msx/skills/msx-documentation-decision-record/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-documentation-decision-record +description: Record an MSX one-way-door decision using the canonical documentation template. +--- + +# Record an MSX decision + +Read and follow the [decision record template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#decision-record). diff --git a/.github/plugin/msx/skills/msx-documentation-decisions-register/SKILL.md b/.github/plugin/msx/skills/msx-documentation-decisions-register/SKILL.md new file mode 100644 index 0000000..3980f02 --- /dev/null +++ b/.github/plugin/msx/skills/msx-documentation-decisions-register/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-documentation-decisions-register +description: Maintain an MSX decisions register using the canonical documentation template. +--- + +# Maintain an MSX decisions register + +Read and follow the [decisions register template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#decisions-register). diff --git a/.github/plugin/msx/skills/msx-documentation-design/SKILL.md b/.github/plugin/msx/skills/msx-documentation-design/SKILL.md new file mode 100644 index 0000000..c9ff8e2 --- /dev/null +++ b/.github/plugin/msx/skills/msx-documentation-design/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-documentation-design +description: Write an MSX capability design using the canonical documentation template. +--- + +# Write an MSX design + +Read and follow the [design template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#design). diff --git a/.github/plugin/msx/skills/msx-documentation-feature-addendum/SKILL.md b/.github/plugin/msx/skills/msx-documentation-feature-addendum/SKILL.md new file mode 100644 index 0000000..f873adf --- /dev/null +++ b/.github/plugin/msx/skills/msx-documentation-feature-addendum/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-documentation-feature-addendum +description: Write an MSX feature addendum using the canonical documentation template. +--- + +# Write an MSX feature addendum + +Read and follow the [feature addendum template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#feature-addendum). diff --git a/.github/plugin/msx/skills/msx-documentation-guide/SKILL.md b/.github/plugin/msx/skills/msx-documentation-guide/SKILL.md new file mode 100644 index 0000000..0de9d31 --- /dev/null +++ b/.github/plugin/msx/skills/msx-documentation-guide/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-documentation-guide +description: Write an MSX task guide using the canonical documentation template. +--- + +# Write an MSX guide + +Read and follow the [guide template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#guide). diff --git a/.github/plugin/msx/skills/msx-documentation-implementation/SKILL.md b/.github/plugin/msx/skills/msx-documentation-implementation/SKILL.md new file mode 100644 index 0000000..a229ff5 --- /dev/null +++ b/.github/plugin/msx/skills/msx-documentation-implementation/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-documentation-implementation +description: Write an MSX implementation document using the canonical documentation template. +--- + +# Write an MSX implementation document + +Read and follow the [implementation document template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#implementation-doc). diff --git a/.github/plugin/msx/skills/msx-documentation-orchestration-playbook/SKILL.md b/.github/plugin/msx/skills/msx-documentation-orchestration-playbook/SKILL.md new file mode 100644 index 0000000..f0f9958 --- /dev/null +++ b/.github/plugin/msx/skills/msx-documentation-orchestration-playbook/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-documentation-orchestration-playbook +description: Write an MSX orchestration playbook using the canonical documentation template. +--- + +# Write an MSX orchestration playbook + +Read and follow the [orchestration playbook template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#orchestration-playbook). diff --git a/.github/plugin/msx/skills/msx-documentation-reference/SKILL.md b/.github/plugin/msx/skills/msx-documentation-reference/SKILL.md new file mode 100644 index 0000000..c8e07a2 --- /dev/null +++ b/.github/plugin/msx/skills/msx-documentation-reference/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-documentation-reference +description: Write an MSX reference document using the canonical documentation template. +--- + +# Write an MSX reference + +Read and follow the [reference template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#reference). diff --git a/.github/plugin/msx/skills/msx-documentation-research/SKILL.md b/.github/plugin/msx/skills/msx-documentation-research/SKILL.md new file mode 100644 index 0000000..dc51735 --- /dev/null +++ b/.github/plugin/msx/skills/msx-documentation-research/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-documentation-research +description: Write MSX research findings using the canonical documentation template. +--- + +# Write MSX research + +Read and follow the [research template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#research). diff --git a/.github/plugin/msx/skills/msx-documentation-specification/SKILL.md b/.github/plugin/msx/skills/msx-documentation-specification/SKILL.md new file mode 100644 index 0000000..a36f625 --- /dev/null +++ b/.github/plugin/msx/skills/msx-documentation-specification/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-documentation-specification +description: Write an MSX capability specification using the canonical documentation template. +--- + +# Write an MSX specification + +Read and follow the [specification template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#specification). diff --git a/.github/plugin/msx/skills/msx-documentation-standard/SKILL.md b/.github/plugin/msx/skills/msx-documentation-standard/SKILL.md new file mode 100644 index 0000000..efe8dd6 --- /dev/null +++ b/.github/plugin/msx/skills/msx-documentation-standard/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-documentation-standard +description: Write an MSX standard using the canonical documentation template. +--- + +# Write an MSX standard + +Read and follow the [standard template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#standard). diff --git a/.github/plugin/msx/skills/msx-documentation/SKILL.md b/.github/plugin/msx/skills/msx-documentation/SKILL.md deleted file mode 100644 index ca62601..0000000 --- a/.github/plugin/msx/skills/msx-documentation/SKILL.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: msx-documentation -description: Routes documentation work to the current MSX documentation standards. Use when creating, organizing, restructuring, reviewing, or updating documentation in an MSX-managed project. ---- - -# Apply MSX documentation standards - -Read and follow the [MSX Documentation Model](https://msxorg.github.io/docs/Ways-of-Working/Documentation-Model/). -Follow its links to the applicable artifact template and the -[Natural Language](https://msxorg.github.io/docs/Coding-Standards/Natural-Language/) and -[Markdown](https://msxorg.github.io/docs/Coding-Standards/Markdown/) standards. The linked -documentation is the source of truth; do not restate or infer its rules here. diff --git a/.github/plugin/msx/skills/msx-ways-of-working-agentic-development/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-agentic-development/SKILL.md new file mode 100644 index 0000000..b121dbd --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-agentic-development/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-agentic-development +description: Apply the MSX agentic development way of working. +--- + +# Follow MSX agentic development + +Read and follow [MSX Agentic Development](https://msxorg.github.io/docs/Ways-of-Working/Agentic-Development/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-automation-labels/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-automation-labels/SKILL.md new file mode 100644 index 0000000..cab5206 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-automation-labels/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-automation-labels +description: Apply MSX ownership and namespacing rules for automation labels. +--- + +# Follow MSX automation label rules + +Read and follow [MSX Automation Labels](https://msxorg.github.io/docs/Ways-of-Working/Automation-Labels/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-branching-and-merging/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-branching-and-merging/SKILL.md new file mode 100644 index 0000000..7c7e183 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-branching-and-merging/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-branching-and-merging +description: Create branches and integrate MSX changes through pull requests. +--- + +# Follow MSX branching and merging + +Read and follow [MSX Branching and Merging](https://msxorg.github.io/docs/Ways-of-Working/Branching-and-Merging/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-code-ownership/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-code-ownership/SKILL.md new file mode 100644 index 0000000..6511478 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-code-ownership/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-code-ownership +description: Apply the MSX permission, ownership, and enforcement model. +--- + +# Follow MSX code ownership + +Read and follow [MSX Code Ownership](https://msxorg.github.io/docs/Ways-of-Working/Code-Ownership/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-commit-conventions/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-commit-conventions/SKILL.md new file mode 100644 index 0000000..d1479f4 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-commit-conventions/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-commit-conventions +description: Write MSX commit messages using the canonical conventions. +--- + +# Follow MSX commit conventions + +Read and follow [MSX Commit Conventions](https://msxorg.github.io/docs/Ways-of-Working/Commit-Conventions/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-comparative-review-orchestration/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-comparative-review-orchestration/SKILL.md new file mode 100644 index 0000000..36daafd --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-comparative-review-orchestration/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-comparative-review-orchestration +description: Review an MSX target against reference sources using the comparative review playbook. +--- + +# Follow MSX comparative review orchestration + +Read and follow [MSX Comparative Review Orchestration](https://msxorg.github.io/docs/Ways-of-Working/Comparative-Review-Orchestration/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-continuous-delivery-and-release/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-continuous-delivery-and-release/SKILL.md new file mode 100644 index 0000000..0cc0c0b --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-continuous-delivery-and-release/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-continuous-delivery-and-release +description: Distinguish MSX integration, delivery, deployment, and release practices. +--- + +# Follow MSX continuous delivery and release + +Read and follow [MSX Continuous Delivery and Release](https://msxorg.github.io/docs/Ways-of-Working/Continuous-Delivery-And-Release/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-continuous-practices/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-continuous-practices/SKILL.md new file mode 100644 index 0000000..5fe215f --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-continuous-practices/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-continuous-practices +description: Apply the MSX Continuous X, Continuous AI, and DevOps Dojo practices. +--- + +# Follow MSX continuous practices + +Read and follow [MSX Continuous Practices](https://msxorg.github.io/docs/Ways-of-Working/Continuous-Practices/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-contribution-workflow/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-contribution-workflow/SKILL.md new file mode 100644 index 0000000..35315ca --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-contribution-workflow/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-contribution-workflow +description: Move an MSX change from branch to review-ready pull request. +--- + +# Follow the MSX contribution workflow + +Read and follow the [MSX Contribution Workflow](https://msxorg.github.io/docs/Ways-of-Working/Contribution-Workflow/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-definition-of-ready-and-done/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-definition-of-ready-and-done/SKILL.md new file mode 100644 index 0000000..baec6a8 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-definition-of-ready-and-done/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-definition-of-ready-and-done +description: Apply the MSX readiness and completion gates. +--- + +# Follow the MSX Definition of Ready and Done + +Read and follow [MSX Definition of Ready and Done](https://msxorg.github.io/docs/Ways-of-Working/Definition-of-Ready-and-Done/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-devops-reference/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-devops-reference/SKILL.md new file mode 100644 index 0000000..18b8580 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-devops-reference/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-devops-reference +description: Consult the MSX DevOps and SRE reference for ways of working. +--- + +# Consult the MSX DevOps reference + +Read and follow [MSX DevOps Reference](https://msxorg.github.io/docs/Ways-of-Working/DevOps-Reference/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-documentation-model/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-documentation-model/SKILL.md new file mode 100644 index 0000000..577074f --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-documentation-model/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-documentation-model +description: Organize MSX documentation with the canonical documentation model. +--- + +# Follow the MSX documentation model + +Read and follow the [MSX Documentation Model](https://msxorg.github.io/docs/Ways-of-Working/Documentation-Model/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-engineering-taste/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-engineering-taste/SKILL.md new file mode 100644 index 0000000..821be36 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-engineering-taste/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-engineering-taste +description: Apply MSX engineering judgment when standards do not settle a choice. +--- + +# Apply MSX engineering taste + +Read and follow [MSX Engineering Taste](https://msxorg.github.io/docs/Ways-of-Working/Engineering-Taste/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-evolutionary-development/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-evolutionary-development/SKILL.md new file mode 100644 index 0000000..c976a68 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-evolutionary-development/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-evolutionary-development +description: Grow MSX software through small bets, feedback, and selection. +--- + +# Follow MSX evolutionary development + +Read and follow [MSX Evolutionary Development](https://msxorg.github.io/docs/Ways-of-Working/Evolutionary-Development/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-fleet-orchestration/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-fleet-orchestration/SKILL.md new file mode 100644 index 0000000..6dd7818 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-fleet-orchestration/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-fleet-orchestration +description: Roll one MSX change out across many repositories. +--- + +# Follow MSX fleet orchestration + +Read and follow [MSX Fleet Orchestration](https://msxorg.github.io/docs/Ways-of-Working/Fleet-Orchestration/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-git-worktrees/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-git-worktrees/SKILL.md new file mode 100644 index 0000000..71ec090 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-git-worktrees/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-git-worktrees +description: Create and use MSX Git worktrees for isolated changes. +--- + +# Follow MSX Git worktrees + +Read and follow [MSX Git Worktrees](https://msxorg.github.io/docs/Ways-of-Working/Git-Worktrees/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-goal-setting/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-goal-setting/SKILL.md new file mode 100644 index 0000000..57b666c --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-goal-setting/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-goal-setting +description: Set MSX missions, objectives, and initiatives above repository epics. +--- + +# Follow the MSX goal-setting framework + +Read and follow [MSX Goal-Setting Framework](https://msxorg.github.io/docs/Ways-of-Working/Goal-Setting/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-issues/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-issues/SKILL.md new file mode 100644 index 0000000..a82d375 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-issues/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-issues +description: Format and organize issues across the MSX ecosystem. +--- + +# Follow MSX issue practices + +Read and follow [MSX Issues](https://msxorg.github.io/docs/Ways-of-Working/Issues/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-observability/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-observability/SKILL.md new file mode 100644 index 0000000..8b95b7c --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-observability/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-observability +description: Apply MSX observability and failure registration practices. +--- + +# Follow MSX observability + +Read and follow [MSX Observability](https://msxorg.github.io/docs/Ways-of-Working/Observability/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-organization-standard/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-organization-standard/SKILL.md new file mode 100644 index 0000000..0ccdea1 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-organization-standard/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-organization-standard +description: Apply the MSX organization standard. +--- + +# Follow the MSX organization standard + +Read and follow [MSX Organization Standard](https://msxorg.github.io/docs/Ways-of-Working/Organization-Standard/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-pr-format/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-pr-format/SKILL.md new file mode 100644 index 0000000..8d92bf1 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-pr-format/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-pr-format +description: Format MSX pull request titles, descriptions, change types, and labels. +--- + +# Follow the MSX pull request format + +Read and follow [MSX PR Format](https://msxorg.github.io/docs/Ways-of-Working/PR-Format/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-principles/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-principles/SKILL.md new file mode 100644 index 0000000..77f9921 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-principles/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-principles +description: Apply the MSX principles behind decisions and product mindset. +--- + +# Follow MSX principles + +Read and follow [MSX Principles](https://msxorg.github.io/docs/Ways-of-Working/Principles/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-readme-driven-context/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-readme-driven-context/SKILL.md new file mode 100644 index 0000000..2123c2d --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-readme-driven-context/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-readme-driven-context +description: Use the README as the MSX repository context front door and source of truth. +--- + +# Follow MSX README-driven context + +Read and follow [MSX README-Driven Context](https://msxorg.github.io/docs/Ways-of-Working/Readme-Driven-Context/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-repository-segmentation/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-repository-segmentation/SKILL.md new file mode 100644 index 0000000..91c4e9e --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-repository-segmentation/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-repository-segmentation +description: Decide what belongs in an MSX repository and when to split or combine. +--- + +# Follow MSX repository segmentation + +Read and follow [MSX Repository Segmentation](https://msxorg.github.io/docs/Ways-of-Working/Repository-Segmentation/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-repository-standard/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-repository-standard/SKILL.md new file mode 100644 index 0000000..982d50a --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-repository-standard/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-repository-standard +description: Apply the MSX repository standard. +--- + +# Follow the MSX repository standard + +Read and follow [MSX Repository Standard](https://msxorg.github.io/docs/Ways-of-Working/Repository-Standard/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-repository-type-property/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-repository-type-property/SKILL.md new file mode 100644 index 0000000..d0b4479 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-repository-type-property/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-repository-type-property +description: Classify an MSX repository with its Type property. +--- + +# Apply the MSX repository type property + +Read and follow [MSX Repository Type Property](https://msxorg.github.io/docs/Ways-of-Working/Repository-Type-Property/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-review-etiquette/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-review-etiquette/SKILL.md new file mode 100644 index 0000000..91fa5e4 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-review-etiquette/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-review-etiquette +description: Review MSX changes with the expected tone, scope, severity, and disagreement rules. +--- + +# Follow MSX review etiquette + +Read and follow [MSX Review Etiquette](https://msxorg.github.io/docs/Ways-of-Working/Review-Etiquette/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-session-interactions/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-session-interactions/SKILL.md new file mode 100644 index 0000000..e432a52 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-session-interactions/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-session-interactions +description: Interpret MSX phrases that steer a working session. +--- + +# Follow MSX session interactions + +Read and follow [MSX Session Interactions](https://msxorg.github.io/docs/Ways-of-Working/Session-Interactions/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development-templates/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development-templates/SKILL.md new file mode 100644 index 0000000..a14a4a2 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development-templates/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-spec-driven-development-templates +description: Select the canonical MSX template for a spec-driven artifact. +--- + +# Use MSX spec-driven development templates + +Read and follow [MSX Spec-Driven Development Templates](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development/SKILL.md new file mode 100644 index 0000000..5b74763 --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-spec-driven-development +description: Develop MSX capabilities from specification through design and delivery. +--- + +# Follow MSX spec-driven development + +Read and follow [MSX Spec-Driven Development](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-workflow-stages/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-workflow-stages/SKILL.md new file mode 100644 index 0000000..f90850d --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-workflow-stages/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-workflow-stages +description: Select and follow an MSX workflow stage procedure. +--- + +# Follow an MSX workflow stage + +Read and follow the [MSX Workflow Stages](https://msxorg.github.io/docs/Ways-of-Working/Workflow-Stages/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-workflow/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-workflow/SKILL.md new file mode 100644 index 0000000..247f85a --- /dev/null +++ b/.github/plugin/msx/skills/msx-ways-of-working-workflow/SKILL.md @@ -0,0 +1,8 @@ +--- +name: msx-ways-of-working-workflow +description: Follow the canonical MSX workflow from idea to delivery. +--- + +# Follow the MSX workflow + +Read and follow the [MSX Workflow](https://msxorg.github.io/docs/Ways-of-Working/Workflow/). diff --git a/.github/plugin/msx/skills/msx-ways-of-working/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working/SKILL.md deleted file mode 100644 index 7cd5046..0000000 --- a/.github/plugin/msx/skills/msx-ways-of-working/SKILL.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: msx-ways-of-working -description: Routes work through current MSX process and collaboration standards. Use when capturing or structuring work, planning and decomposing issues, selecting a ready item, implementing, branching, creating a pull request, reviewing, or merging one delivery item. ---- - -# Follow MSX ways of working - -Read and follow the [MSX Ways of Working](https://msxorg.github.io/docs/Ways-of-Working/). -Use that index to select every applicable standard. For work moving from an idea to delivery, -start with the [MSX Workflow](https://msxorg.github.io/docs/Ways-of-Working/Workflow/), -determine the current stage, and follow its stage procedure. The linked documentation is the -source of truth; do not restate or infer its rules here. diff --git a/src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md b/src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md index 62214f5..a25b90a 100644 --- a/src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md +++ b/src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md @@ -15,7 +15,7 @@ versions, and release changes. MSXOrg publishes the shared `msxorg` marketplace in `MSXOrg/docs`. It contains the `msx` plugin for guidance that applies across MSX organizations, repositories, and initiatives, including the `msx-coding`, -`msx-documentation`, and `msx-ways-of-working` skills. +`msx-documentation`, and `msx-ways-of-working` skill families. An initiative publishes its own marketplace in its owning repository. For example, PSModule publishes a `psmodule` plugin for PowerShell-module @@ -53,6 +53,14 @@ path, such as `.github/plugin/psmodule`. A source must resolve to the plugin directory named by the marketplace entry, and the plugin manifest's `name` must match that entry. +## Skill granularity + +Every skill is one pointer to one canonical document. The shared `msx` plugin +uses `msx-coding-*` for each coding language or tool, +`msx-documentation-*` for each documentation artifact type, and +`msx-ways-of-working-*` for each direct child of the Ways of Working index. +The skill body contains the route, not a duplicate of the documentation. + ## Versioning and update flow Each marketplace entry and its plugin manifest carry the same plugin version. diff --git a/src/docs/Capabilities/agentic-development/plugin-distribution.md b/src/docs/Capabilities/agentic-development/plugin-distribution.md index 9885ca5..2185456 100644 --- a/src/docs/Capabilities/agentic-development/plugin-distribution.md +++ b/src/docs/Capabilities/agentic-development/plugin-distribution.md @@ -86,21 +86,11 @@ the body stays a short route and runtime procedure. ## Skill granularity follows the documentation -A skill SHOULD map to the nearest canonical index that can route the whole intent. It SHOULD -NOT be split per language, framework, or document merely because those pages exist. - -The coding standards already have the right progressive shape: - -1. `Coding-Standards/index.md` separates the shared baseline from language and tool pages. -2. The language entry adds its own rules. -3. A large standard, such as PowerShell, carries another index that routes to the applicable - construct. - -One coding skill can therefore inspect the artifact, enter the coding standards index, and -follow its descriptions to every applicable page. Separate language skills would duplicate -the dispatch boundary and make cross-language changes depend on several skills activating -correctly. Split a skill only when an intent needs distinct runtime mechanics, scripts, -assets, permissions, or tools — not when it only needs a different documentation branch. +Each skill is a single pointer to one canonical document. The shared `msx` plugin has a +`msx-coding-*` skill for each coding language or tool, an `msx-documentation-*` skill for +each documentation artifact type, and an `msx-ways-of-working-*` skill for each direct child +of the Ways of Working index. A skill body routes to its document; it does not duplicate the +document's rules. The repository implementation follows this model: @@ -109,11 +99,11 @@ The repository implementation follows this model: .github/plugin/msx/ plugin.json skills/ - msx-coding/ + msx-coding-powershell/ SKILL.md - msx-documentation/ + msx-documentation-design/ SKILL.md - msx-ways-of-working/ + msx-ways-of-working-workflow/ SKILL.md ``` From 4d3dd5d6767b6b4ede5b23f243820df4c129e77a Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sat, 15 Aug 2026 18:19:37 +0200 Subject: [PATCH 09/11] Align plugin skill granularity guidance Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/plugin/README.md | 2 +- .../agentic-development/design-plugin-marketplaces.md | 2 +- .../Capabilities/agentic-development/plugin-distribution.md | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/plugin/README.md b/.github/plugin/README.md index 1ae963e..bb7499d 100644 --- a/.github/plugin/README.md +++ b/.github/plugin/README.md @@ -28,7 +28,7 @@ corresponding directory. Every plugin directory must contain `plugin.json`; its Each skill is a single pointer to one canonical document. The shared `msx` plugin uses `msx-coding-*` skills for each coding language or tool, `msx-documentation-*` skills for each documentation artifact type, and -`msx-ways-of-working-*` skills for each direct child of the Ways of Working +`msx-ways-of-working-*` skills for each child listed by the Ways of Working index. Skill bodies do not copy the documentation; they identify the one page to read. diff --git a/src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md b/src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md index a25b90a..67e856b 100644 --- a/src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md +++ b/src/docs/Capabilities/agentic-development/design-plugin-marketplaces.md @@ -58,7 +58,7 @@ must match that entry. Every skill is one pointer to one canonical document. The shared `msx` plugin uses `msx-coding-*` for each coding language or tool, `msx-documentation-*` for each documentation artifact type, and -`msx-ways-of-working-*` for each direct child of the Ways of Working index. +`msx-ways-of-working-*` for each child listed by the Ways of Working index. The skill body contains the route, not a duplicate of the documentation. ## Versioning and update flow diff --git a/src/docs/Capabilities/agentic-development/plugin-distribution.md b/src/docs/Capabilities/agentic-development/plugin-distribution.md index 2185456..364f7dc 100644 --- a/src/docs/Capabilities/agentic-development/plugin-distribution.md +++ b/src/docs/Capabilities/agentic-development/plugin-distribution.md @@ -88,8 +88,8 @@ the body stays a short route and runtime procedure. Each skill is a single pointer to one canonical document. The shared `msx` plugin has a `msx-coding-*` skill for each coding language or tool, an `msx-documentation-*` skill for -each documentation artifact type, and an `msx-ways-of-working-*` skill for each direct child -of the Ways of Working index. A skill body routes to its document; it does not duplicate the +each documentation artifact type, and an `msx-ways-of-working-*` skill for each child listed +by the Ways of Working index. A skill body routes to its document; it does not duplicate the document's rules. The repository implementation follows this model: From 9d365f801c4bd894df14b71d384766225aaace92 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sat, 15 Aug 2026 18:20:27 +0200 Subject: [PATCH 10/11] Centralize plugin marketplace design Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../plugin-distribution.md | 29 +++---------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/src/docs/Capabilities/agentic-development/plugin-distribution.md b/src/docs/Capabilities/agentic-development/plugin-distribution.md index 364f7dc..32d5a58 100644 --- a/src/docs/Capabilities/agentic-development/plugin-distribution.md +++ b/src/docs/Capabilities/agentic-development/plugin-distribution.md @@ -84,32 +84,11 @@ load `SKILL.md` when the request matches, and read referenced resources only whe active skill needs them. A description therefore names both the capability and its trigger; the body stays a short route and runtime procedure. -## Skill granularity follows the documentation - -Each skill is a single pointer to one canonical document. The shared `msx` plugin has a -`msx-coding-*` skill for each coding language or tool, an `msx-documentation-*` skill for -each documentation artifact type, and an `msx-ways-of-working-*` skill for each child listed -by the Ways of Working index. A skill body routes to its document; it does not duplicate the -document's rules. - -The repository implementation follows this model: - -```text -.github/plugin/marketplace.json -.github/plugin/msx/ - plugin.json - skills/ - msx-coding-powershell/ - SKILL.md - msx-documentation-design/ - SKILL.md - msx-ways-of-working-workflow/ - SKILL.md -``` +## Marketplace structure and skill boundaries -The package and marketplace carry discovery metadata and mechanics. Coding requirements -remain under `src/docs/Coding-Standards/`; documentation and process requirements remain -under `src/docs/Ways-of-Working/`. +The [Plugin Marketplaces design](design-plugin-marketplaces.md) is the single source of truth +for marketplace ownership, repository layout, plugin identities, and skill granularity. This +page covers how named intents are distributed; it does not repeat those structural rules. ## GitHub Copilot distribution From 6c03cab506f33e6fe699be6658317719f4eb96b0 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sat, 15 Aug 2026 18:22:19 +0200 Subject: [PATCH 11/11] Link MSX skills to GitHub docs Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/plugin/msx/skills/msx-coding-github-actions/SKILL.md | 2 +- .github/plugin/msx/skills/msx-coding-powershell/SKILL.md | 2 +- .github/plugin/msx/skills/msx-coding-terraform/SKILL.md | 2 +- .github/plugin/msx/skills/msx-coding-typescript/SKILL.md | 2 +- .github/plugin/msx/skills/msx-coding-yaml/SKILL.md | 2 +- .../msx/skills/msx-documentation-decision-record/SKILL.md | 2 +- .../msx/skills/msx-documentation-decisions-register/SKILL.md | 2 +- .github/plugin/msx/skills/msx-documentation-design/SKILL.md | 2 +- .../msx/skills/msx-documentation-feature-addendum/SKILL.md | 2 +- .github/plugin/msx/skills/msx-documentation-guide/SKILL.md | 2 +- .../plugin/msx/skills/msx-documentation-implementation/SKILL.md | 2 +- .../skills/msx-documentation-orchestration-playbook/SKILL.md | 2 +- .github/plugin/msx/skills/msx-documentation-reference/SKILL.md | 2 +- .github/plugin/msx/skills/msx-documentation-research/SKILL.md | 2 +- .../plugin/msx/skills/msx-documentation-specification/SKILL.md | 2 +- .github/plugin/msx/skills/msx-documentation-standard/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-agentic-development/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-automation-labels/SKILL.md | 2 +- .../skills/msx-ways-of-working-branching-and-merging/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-code-ownership/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-commit-conventions/SKILL.md | 2 +- .../SKILL.md | 2 +- .../SKILL.md | 2 +- .../skills/msx-ways-of-working-continuous-practices/SKILL.md | 2 +- .../skills/msx-ways-of-working-contribution-workflow/SKILL.md | 2 +- .../msx-ways-of-working-definition-of-ready-and-done/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-devops-reference/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-documentation-model/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-engineering-taste/SKILL.md | 2 +- .../msx-ways-of-working-evolutionary-development/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-fleet-orchestration/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-git-worktrees/SKILL.md | 2 +- .../plugin/msx/skills/msx-ways-of-working-goal-setting/SKILL.md | 2 +- .github/plugin/msx/skills/msx-ways-of-working-issues/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-observability/SKILL.md | 2 +- .../skills/msx-ways-of-working-organization-standard/SKILL.md | 2 +- .../plugin/msx/skills/msx-ways-of-working-pr-format/SKILL.md | 2 +- .../plugin/msx/skills/msx-ways-of-working-principles/SKILL.md | 2 +- .../skills/msx-ways-of-working-readme-driven-context/SKILL.md | 2 +- .../skills/msx-ways-of-working-repository-segmentation/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-repository-standard/SKILL.md | 2 +- .../msx-ways-of-working-repository-type-property/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-review-etiquette/SKILL.md | 2 +- .../skills/msx-ways-of-working-session-interactions/SKILL.md | 2 +- .../SKILL.md | 2 +- .../skills/msx-ways-of-working-spec-driven-development/SKILL.md | 2 +- .../msx/skills/msx-ways-of-working-workflow-stages/SKILL.md | 2 +- .github/plugin/msx/skills/msx-ways-of-working-workflow/SKILL.md | 2 +- 48 files changed, 48 insertions(+), 48 deletions(-) diff --git a/.github/plugin/msx/skills/msx-coding-github-actions/SKILL.md b/.github/plugin/msx/skills/msx-coding-github-actions/SKILL.md index ec3a48d..9a81464 100644 --- a/.github/plugin/msx/skills/msx-coding-github-actions/SKILL.md +++ b/.github/plugin/msx/skills/msx-coding-github-actions/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX GitHub Actions coding standard when writing or review # Apply the MSX GitHub Actions coding standard -Read and follow the [GitHub Actions coding standard](https://msxorg.github.io/docs/Coding-Standards/GitHub-Actions/). +Read and follow the [GitHub Actions coding standard](https://github.com/MSXOrg/docs/blob/main/src/docs/Coding-Standards/GitHub-Actions.md). diff --git a/.github/plugin/msx/skills/msx-coding-powershell/SKILL.md b/.github/plugin/msx/skills/msx-coding-powershell/SKILL.md index 6cf64e6..5e93988 100644 --- a/.github/plugin/msx/skills/msx-coding-powershell/SKILL.md +++ b/.github/plugin/msx/skills/msx-coding-powershell/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX PowerShell coding standard when writing or reviewing # Apply the MSX PowerShell coding standard -Read and follow the [PowerShell coding standard](https://msxorg.github.io/docs/Coding-Standards/PowerShell/). +Read and follow the [PowerShell coding standard](https://github.com/MSXOrg/docs/blob/main/src/docs/Coding-Standards/PowerShell/index.md). diff --git a/.github/plugin/msx/skills/msx-coding-terraform/SKILL.md b/.github/plugin/msx/skills/msx-coding-terraform/SKILL.md index 0804345..38da6eb 100644 --- a/.github/plugin/msx/skills/msx-coding-terraform/SKILL.md +++ b/.github/plugin/msx/skills/msx-coding-terraform/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX Terraform coding standard when writing or reviewing T # Apply the MSX Terraform coding standard -Read and follow the [Terraform coding standard](https://msxorg.github.io/docs/Coding-Standards/Terraform/). +Read and follow the [Terraform coding standard](https://github.com/MSXOrg/docs/blob/main/src/docs/Coding-Standards/Terraform.md). diff --git a/.github/plugin/msx/skills/msx-coding-typescript/SKILL.md b/.github/plugin/msx/skills/msx-coding-typescript/SKILL.md index a8077fc..a51817d 100644 --- a/.github/plugin/msx/skills/msx-coding-typescript/SKILL.md +++ b/.github/plugin/msx/skills/msx-coding-typescript/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX TypeScript coding standard when writing or reviewing # Apply the MSX TypeScript coding standard -Read and follow the [TypeScript coding standard](https://msxorg.github.io/docs/Coding-Standards/TypeScript/). +Read and follow the [TypeScript coding standard](https://github.com/MSXOrg/docs/blob/main/src/docs/Coding-Standards/TypeScript.md). diff --git a/.github/plugin/msx/skills/msx-coding-yaml/SKILL.md b/.github/plugin/msx/skills/msx-coding-yaml/SKILL.md index 3aad080..8ef5757 100644 --- a/.github/plugin/msx/skills/msx-coding-yaml/SKILL.md +++ b/.github/plugin/msx/skills/msx-coding-yaml/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX YAML coding standard when writing or reviewing YAML. # Apply the MSX YAML coding standard -Read and follow the [YAML coding standard](https://msxorg.github.io/docs/Coding-Standards/YAML/). +Read and follow the [YAML coding standard](https://github.com/MSXOrg/docs/blob/main/src/docs/Coding-Standards/YAML.md). diff --git a/.github/plugin/msx/skills/msx-documentation-decision-record/SKILL.md b/.github/plugin/msx/skills/msx-documentation-decision-record/SKILL.md index 432517a..e4bb122 100644 --- a/.github/plugin/msx/skills/msx-documentation-decision-record/SKILL.md +++ b/.github/plugin/msx/skills/msx-documentation-decision-record/SKILL.md @@ -5,4 +5,4 @@ description: Record an MSX one-way-door decision using the canonical documentati # Record an MSX decision -Read and follow the [decision record template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#decision-record). +Read and follow the [decision record template](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#decision-record). diff --git a/.github/plugin/msx/skills/msx-documentation-decisions-register/SKILL.md b/.github/plugin/msx/skills/msx-documentation-decisions-register/SKILL.md index 3980f02..fc854ec 100644 --- a/.github/plugin/msx/skills/msx-documentation-decisions-register/SKILL.md +++ b/.github/plugin/msx/skills/msx-documentation-decisions-register/SKILL.md @@ -5,4 +5,4 @@ description: Maintain an MSX decisions register using the canonical documentatio # Maintain an MSX decisions register -Read and follow the [decisions register template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#decisions-register). +Read and follow the [decisions register template](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#decisions-register). diff --git a/.github/plugin/msx/skills/msx-documentation-design/SKILL.md b/.github/plugin/msx/skills/msx-documentation-design/SKILL.md index c9ff8e2..be694b4 100644 --- a/.github/plugin/msx/skills/msx-documentation-design/SKILL.md +++ b/.github/plugin/msx/skills/msx-documentation-design/SKILL.md @@ -5,4 +5,4 @@ description: Write an MSX capability design using the canonical documentation te # Write an MSX design -Read and follow the [design template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#design). +Read and follow the [design template](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#design). diff --git a/.github/plugin/msx/skills/msx-documentation-feature-addendum/SKILL.md b/.github/plugin/msx/skills/msx-documentation-feature-addendum/SKILL.md index f873adf..85c7ae4 100644 --- a/.github/plugin/msx/skills/msx-documentation-feature-addendum/SKILL.md +++ b/.github/plugin/msx/skills/msx-documentation-feature-addendum/SKILL.md @@ -5,4 +5,4 @@ description: Write an MSX feature addendum using the canonical documentation tem # Write an MSX feature addendum -Read and follow the [feature addendum template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#feature-addendum). +Read and follow the [feature addendum template](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#feature-addendum). diff --git a/.github/plugin/msx/skills/msx-documentation-guide/SKILL.md b/.github/plugin/msx/skills/msx-documentation-guide/SKILL.md index 0de9d31..bb07d0d 100644 --- a/.github/plugin/msx/skills/msx-documentation-guide/SKILL.md +++ b/.github/plugin/msx/skills/msx-documentation-guide/SKILL.md @@ -5,4 +5,4 @@ description: Write an MSX task guide using the canonical documentation template. # Write an MSX guide -Read and follow the [guide template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#guide). +Read and follow the [guide template](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#guide). diff --git a/.github/plugin/msx/skills/msx-documentation-implementation/SKILL.md b/.github/plugin/msx/skills/msx-documentation-implementation/SKILL.md index a229ff5..184b2e0 100644 --- a/.github/plugin/msx/skills/msx-documentation-implementation/SKILL.md +++ b/.github/plugin/msx/skills/msx-documentation-implementation/SKILL.md @@ -5,4 +5,4 @@ description: Write an MSX implementation document using the canonical documentat # Write an MSX implementation document -Read and follow the [implementation document template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#implementation-doc). +Read and follow the [implementation document template](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#implementation-doc). diff --git a/.github/plugin/msx/skills/msx-documentation-orchestration-playbook/SKILL.md b/.github/plugin/msx/skills/msx-documentation-orchestration-playbook/SKILL.md index f0f9958..a17c627 100644 --- a/.github/plugin/msx/skills/msx-documentation-orchestration-playbook/SKILL.md +++ b/.github/plugin/msx/skills/msx-documentation-orchestration-playbook/SKILL.md @@ -5,4 +5,4 @@ description: Write an MSX orchestration playbook using the canonical documentati # Write an MSX orchestration playbook -Read and follow the [orchestration playbook template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#orchestration-playbook). +Read and follow the [orchestration playbook template](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#orchestration-playbook). diff --git a/.github/plugin/msx/skills/msx-documentation-reference/SKILL.md b/.github/plugin/msx/skills/msx-documentation-reference/SKILL.md index c8e07a2..75a67cf 100644 --- a/.github/plugin/msx/skills/msx-documentation-reference/SKILL.md +++ b/.github/plugin/msx/skills/msx-documentation-reference/SKILL.md @@ -5,4 +5,4 @@ description: Write an MSX reference document using the canonical documentation t # Write an MSX reference -Read and follow the [reference template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#reference). +Read and follow the [reference template](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#reference). diff --git a/.github/plugin/msx/skills/msx-documentation-research/SKILL.md b/.github/plugin/msx/skills/msx-documentation-research/SKILL.md index dc51735..05d27c5 100644 --- a/.github/plugin/msx/skills/msx-documentation-research/SKILL.md +++ b/.github/plugin/msx/skills/msx-documentation-research/SKILL.md @@ -5,4 +5,4 @@ description: Write MSX research findings using the canonical documentation templ # Write MSX research -Read and follow the [research template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#research). +Read and follow the [research template](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#research). diff --git a/.github/plugin/msx/skills/msx-documentation-specification/SKILL.md b/.github/plugin/msx/skills/msx-documentation-specification/SKILL.md index a36f625..3cc6d52 100644 --- a/.github/plugin/msx/skills/msx-documentation-specification/SKILL.md +++ b/.github/plugin/msx/skills/msx-documentation-specification/SKILL.md @@ -5,4 +5,4 @@ description: Write an MSX capability specification using the canonical documenta # Write an MSX specification -Read and follow the [specification template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#specification). +Read and follow the [specification template](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#specification). diff --git a/.github/plugin/msx/skills/msx-documentation-standard/SKILL.md b/.github/plugin/msx/skills/msx-documentation-standard/SKILL.md index efe8dd6..5b900c0 100644 --- a/.github/plugin/msx/skills/msx-documentation-standard/SKILL.md +++ b/.github/plugin/msx/skills/msx-documentation-standard/SKILL.md @@ -5,4 +5,4 @@ description: Write an MSX standard using the canonical documentation template. # Write an MSX standard -Read and follow the [standard template](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/#standard). +Read and follow the [standard template](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#standard). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-agentic-development/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-agentic-development/SKILL.md index b121dbd..2682252 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-agentic-development/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-agentic-development/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX agentic development way of working. # Follow MSX agentic development -Read and follow [MSX Agentic Development](https://msxorg.github.io/docs/Ways-of-Working/Agentic-Development/). +Read and follow [MSX Agentic Development](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Agentic-Development.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-automation-labels/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-automation-labels/SKILL.md index cab5206..dc79cdf 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-automation-labels/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-automation-labels/SKILL.md @@ -5,4 +5,4 @@ description: Apply MSX ownership and namespacing rules for automation labels. # Follow MSX automation label rules -Read and follow [MSX Automation Labels](https://msxorg.github.io/docs/Ways-of-Working/Automation-Labels/). +Read and follow [MSX Automation Labels](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Automation-Labels.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-branching-and-merging/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-branching-and-merging/SKILL.md index 7c7e183..48a3178 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-branching-and-merging/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-branching-and-merging/SKILL.md @@ -5,4 +5,4 @@ description: Create branches and integrate MSX changes through pull requests. # Follow MSX branching and merging -Read and follow [MSX Branching and Merging](https://msxorg.github.io/docs/Ways-of-Working/Branching-and-Merging/). +Read and follow [MSX Branching and Merging](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Branching-and-Merging.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-code-ownership/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-code-ownership/SKILL.md index 6511478..bf9d326 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-code-ownership/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-code-ownership/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX permission, ownership, and enforcement model. # Follow MSX code ownership -Read and follow [MSX Code Ownership](https://msxorg.github.io/docs/Ways-of-Working/Code-Ownership/). +Read and follow [MSX Code Ownership](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Code-Ownership.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-commit-conventions/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-commit-conventions/SKILL.md index d1479f4..d8eeca0 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-commit-conventions/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-commit-conventions/SKILL.md @@ -5,4 +5,4 @@ description: Write MSX commit messages using the canonical conventions. # Follow MSX commit conventions -Read and follow [MSX Commit Conventions](https://msxorg.github.io/docs/Ways-of-Working/Commit-Conventions/). +Read and follow [MSX Commit Conventions](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Commit-Conventions.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-comparative-review-orchestration/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-comparative-review-orchestration/SKILL.md index 36daafd..70aa59e 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-comparative-review-orchestration/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-comparative-review-orchestration/SKILL.md @@ -5,4 +5,4 @@ description: Review an MSX target against reference sources using the comparativ # Follow MSX comparative review orchestration -Read and follow [MSX Comparative Review Orchestration](https://msxorg.github.io/docs/Ways-of-Working/Comparative-Review-Orchestration/). +Read and follow [MSX Comparative Review Orchestration](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Comparative-Review-Orchestration.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-continuous-delivery-and-release/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-continuous-delivery-and-release/SKILL.md index 0cc0c0b..0ed4f3e 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-continuous-delivery-and-release/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-continuous-delivery-and-release/SKILL.md @@ -5,4 +5,4 @@ description: Distinguish MSX integration, delivery, deployment, and release prac # Follow MSX continuous delivery and release -Read and follow [MSX Continuous Delivery and Release](https://msxorg.github.io/docs/Ways-of-Working/Continuous-Delivery-And-Release/). +Read and follow [MSX Continuous Delivery and Release](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Continuous-Delivery-And-Release.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-continuous-practices/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-continuous-practices/SKILL.md index 5fe215f..a2bc487 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-continuous-practices/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-continuous-practices/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX Continuous X, Continuous AI, and DevOps Dojo practice # Follow MSX continuous practices -Read and follow [MSX Continuous Practices](https://msxorg.github.io/docs/Ways-of-Working/Continuous-Practices/). +Read and follow [MSX Continuous Practices](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Continuous-Practices.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-contribution-workflow/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-contribution-workflow/SKILL.md index 35315ca..d8c283b 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-contribution-workflow/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-contribution-workflow/SKILL.md @@ -5,4 +5,4 @@ description: Move an MSX change from branch to review-ready pull request. # Follow the MSX contribution workflow -Read and follow the [MSX Contribution Workflow](https://msxorg.github.io/docs/Ways-of-Working/Contribution-Workflow/). +Read and follow the [MSX Contribution Workflow](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Contribution-Workflow.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-definition-of-ready-and-done/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-definition-of-ready-and-done/SKILL.md index baec6a8..63adebf 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-definition-of-ready-and-done/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-definition-of-ready-and-done/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX readiness and completion gates. # Follow the MSX Definition of Ready and Done -Read and follow [MSX Definition of Ready and Done](https://msxorg.github.io/docs/Ways-of-Working/Definition-of-Ready-and-Done/). +Read and follow [MSX Definition of Ready and Done](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Definition-of-Ready-and-Done.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-devops-reference/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-devops-reference/SKILL.md index 18b8580..88e2797 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-devops-reference/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-devops-reference/SKILL.md @@ -5,4 +5,4 @@ description: Consult the MSX DevOps and SRE reference for ways of working. # Consult the MSX DevOps reference -Read and follow [MSX DevOps Reference](https://msxorg.github.io/docs/Ways-of-Working/DevOps-Reference/). +Read and follow [MSX DevOps Reference](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/DevOps-Reference.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-documentation-model/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-documentation-model/SKILL.md index 577074f..7454949 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-documentation-model/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-documentation-model/SKILL.md @@ -5,4 +5,4 @@ description: Organize MSX documentation with the canonical documentation model. # Follow the MSX documentation model -Read and follow the [MSX Documentation Model](https://msxorg.github.io/docs/Ways-of-Working/Documentation-Model/). +Read and follow the [MSX Documentation Model](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Documentation-Model.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-engineering-taste/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-engineering-taste/SKILL.md index 821be36..2596195 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-engineering-taste/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-engineering-taste/SKILL.md @@ -5,4 +5,4 @@ description: Apply MSX engineering judgment when standards do not settle a choic # Apply MSX engineering taste -Read and follow [MSX Engineering Taste](https://msxorg.github.io/docs/Ways-of-Working/Engineering-Taste/). +Read and follow [MSX Engineering Taste](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Engineering-Taste.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-evolutionary-development/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-evolutionary-development/SKILL.md index c976a68..6c73f12 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-evolutionary-development/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-evolutionary-development/SKILL.md @@ -5,4 +5,4 @@ description: Grow MSX software through small bets, feedback, and selection. # Follow MSX evolutionary development -Read and follow [MSX Evolutionary Development](https://msxorg.github.io/docs/Ways-of-Working/Evolutionary-Development/). +Read and follow [MSX Evolutionary Development](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Evolutionary-Development.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-fleet-orchestration/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-fleet-orchestration/SKILL.md index 6dd7818..9c6a1cf 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-fleet-orchestration/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-fleet-orchestration/SKILL.md @@ -5,4 +5,4 @@ description: Roll one MSX change out across many repositories. # Follow MSX fleet orchestration -Read and follow [MSX Fleet Orchestration](https://msxorg.github.io/docs/Ways-of-Working/Fleet-Orchestration/). +Read and follow [MSX Fleet Orchestration](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Fleet-Orchestration.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-git-worktrees/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-git-worktrees/SKILL.md index 71ec090..e44a7ab 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-git-worktrees/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-git-worktrees/SKILL.md @@ -5,4 +5,4 @@ description: Create and use MSX Git worktrees for isolated changes. # Follow MSX Git worktrees -Read and follow [MSX Git Worktrees](https://msxorg.github.io/docs/Ways-of-Working/Git-Worktrees/). +Read and follow [MSX Git Worktrees](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Git-Worktrees.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-goal-setting/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-goal-setting/SKILL.md index 57b666c..6bec87b 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-goal-setting/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-goal-setting/SKILL.md @@ -5,4 +5,4 @@ description: Set MSX missions, objectives, and initiatives above repository epic # Follow the MSX goal-setting framework -Read and follow [MSX Goal-Setting Framework](https://msxorg.github.io/docs/Ways-of-Working/Goal-Setting/). +Read and follow [MSX Goal-Setting Framework](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Goal-Setting.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-issues/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-issues/SKILL.md index a82d375..3de964c 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-issues/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-issues/SKILL.md @@ -5,4 +5,4 @@ description: Format and organize issues across the MSX ecosystem. # Follow MSX issue practices -Read and follow [MSX Issues](https://msxorg.github.io/docs/Ways-of-Working/Issues/). +Read and follow [MSX Issues](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Issues/index.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-observability/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-observability/SKILL.md index 8b95b7c..5117d5c 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-observability/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-observability/SKILL.md @@ -5,4 +5,4 @@ description: Apply MSX observability and failure registration practices. # Follow MSX observability -Read and follow [MSX Observability](https://msxorg.github.io/docs/Ways-of-Working/Observability/). +Read and follow [MSX Observability](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Observability.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-organization-standard/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-organization-standard/SKILL.md index 0ccdea1..8981825 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-organization-standard/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-organization-standard/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX organization standard. # Follow the MSX organization standard -Read and follow [MSX Organization Standard](https://msxorg.github.io/docs/Ways-of-Working/Organization-Standard/). +Read and follow [MSX Organization Standard](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Organization-Standard.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-pr-format/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-pr-format/SKILL.md index 8d92bf1..e55809b 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-pr-format/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-pr-format/SKILL.md @@ -5,4 +5,4 @@ description: Format MSX pull request titles, descriptions, change types, and lab # Follow the MSX pull request format -Read and follow [MSX PR Format](https://msxorg.github.io/docs/Ways-of-Working/PR-Format/). +Read and follow [MSX PR Format](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/PR-Format.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-principles/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-principles/SKILL.md index 77f9921..4bd55e3 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-principles/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-principles/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX principles behind decisions and product mindset. # Follow MSX principles -Read and follow [MSX Principles](https://msxorg.github.io/docs/Ways-of-Working/Principles/). +Read and follow [MSX Principles](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Principles/index.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-readme-driven-context/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-readme-driven-context/SKILL.md index 2123c2d..f1ff727 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-readme-driven-context/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-readme-driven-context/SKILL.md @@ -5,4 +5,4 @@ description: Use the README as the MSX repository context front door and source # Follow MSX README-driven context -Read and follow [MSX README-Driven Context](https://msxorg.github.io/docs/Ways-of-Working/Readme-Driven-Context/). +Read and follow [MSX README-Driven Context](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Readme-Driven-Context.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-repository-segmentation/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-repository-segmentation/SKILL.md index 91c4e9e..3d0bf96 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-repository-segmentation/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-repository-segmentation/SKILL.md @@ -5,4 +5,4 @@ description: Decide what belongs in an MSX repository and when to split or combi # Follow MSX repository segmentation -Read and follow [MSX Repository Segmentation](https://msxorg.github.io/docs/Ways-of-Working/Repository-Segmentation/). +Read and follow [MSX Repository Segmentation](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Repository-Segmentation.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-repository-standard/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-repository-standard/SKILL.md index 982d50a..a410559 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-repository-standard/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-repository-standard/SKILL.md @@ -5,4 +5,4 @@ description: Apply the MSX repository standard. # Follow the MSX repository standard -Read and follow [MSX Repository Standard](https://msxorg.github.io/docs/Ways-of-Working/Repository-Standard/). +Read and follow [MSX Repository Standard](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Repository-Standard.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-repository-type-property/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-repository-type-property/SKILL.md index d0b4479..c2ad979 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-repository-type-property/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-repository-type-property/SKILL.md @@ -5,4 +5,4 @@ description: Classify an MSX repository with its Type property. # Apply the MSX repository type property -Read and follow [MSX Repository Type Property](https://msxorg.github.io/docs/Ways-of-Working/Repository-Type-Property/). +Read and follow [MSX Repository Type Property](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Repository-Type-Property.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-review-etiquette/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-review-etiquette/SKILL.md index 91fa5e4..f898dbf 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-review-etiquette/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-review-etiquette/SKILL.md @@ -5,4 +5,4 @@ description: Review MSX changes with the expected tone, scope, severity, and dis # Follow MSX review etiquette -Read and follow [MSX Review Etiquette](https://msxorg.github.io/docs/Ways-of-Working/Review-Etiquette/). +Read and follow [MSX Review Etiquette](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Review-Etiquette.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-session-interactions/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-session-interactions/SKILL.md index e432a52..0b9d80b 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-session-interactions/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-session-interactions/SKILL.md @@ -5,4 +5,4 @@ description: Interpret MSX phrases that steer a working session. # Follow MSX session interactions -Read and follow [MSX Session Interactions](https://msxorg.github.io/docs/Ways-of-Working/Session-Interactions/). +Read and follow [MSX Session Interactions](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Session-Interactions.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development-templates/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development-templates/SKILL.md index a14a4a2..6af3375 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development-templates/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development-templates/SKILL.md @@ -5,4 +5,4 @@ description: Select the canonical MSX template for a spec-driven artifact. # Use MSX spec-driven development templates -Read and follow [MSX Spec-Driven Development Templates](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development-Templates/). +Read and follow [MSX Spec-Driven Development Templates](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development/SKILL.md index 5b74763..5d7bf10 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-spec-driven-development/SKILL.md @@ -5,4 +5,4 @@ description: Develop MSX capabilities from specification through design and deli # Follow MSX spec-driven development -Read and follow [MSX Spec-Driven Development](https://msxorg.github.io/docs/Ways-of-Working/Spec-Driven-Development/). +Read and follow [MSX Spec-Driven Development](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-workflow-stages/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-workflow-stages/SKILL.md index f90850d..8143341 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-workflow-stages/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-workflow-stages/SKILL.md @@ -5,4 +5,4 @@ description: Select and follow an MSX workflow stage procedure. # Follow an MSX workflow stage -Read and follow the [MSX Workflow Stages](https://msxorg.github.io/docs/Ways-of-Working/Workflow-Stages/). +Read and follow the [MSX Workflow Stages](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Workflow-Stages/index.md). diff --git a/.github/plugin/msx/skills/msx-ways-of-working-workflow/SKILL.md b/.github/plugin/msx/skills/msx-ways-of-working-workflow/SKILL.md index 247f85a..0b6b70e 100644 --- a/.github/plugin/msx/skills/msx-ways-of-working-workflow/SKILL.md +++ b/.github/plugin/msx/skills/msx-ways-of-working-workflow/SKILL.md @@ -5,4 +5,4 @@ description: Follow the canonical MSX workflow from idea to delivery. # Follow the MSX workflow -Read and follow the [MSX Workflow](https://msxorg.github.io/docs/Ways-of-Working/Workflow/). +Read and follow the [MSX Workflow](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Workflow.md).