Skip to content

Split Copilot repo conventions from agent-operational guidance #565

@raandree

Description

@raandree

Problem description
.github/copilot-instructions.md (added in PR #560) mixes two distinct audiences:

  1. Repo-contribution conventions (changelog discipline, cross-platform PS 5.1 / PS 7+, -ErrorAction 'Ignore' preference, public/private/template coupling, build/test entry points).
  2. Agent-operational guidance ("never pipe ./build.ps1 through Select-Object -Last N", "tee output to a log file", "parse NUnit XML / HQRM CliXml for failures").

The second category is agent-specific, already partially duplicated in .github/skills/validate-changes/SKILL.md, and is not relevant to contributing to Sampler.

Additional minor issues observed in the same set of files:

  • Examples use Windows path separators (output\validate-test.log) while the document mandates cross-platform code.
  • .github/instructions/test-writing.instructions.md hard-codes $script:moduleName = 'Sampler' in a blueprint flagged as "must use exactly". This reads as a generic Pester-authoring guide but bakes in a Sampler-specific module name, which will mislead contributors copying it into downstream repos that use Sampler's build framework.

Verbose logs
N/A

How to reproduce
Read .github/copilot-instructions.md, .github/instructions/test-writing.instructions.md, and .github/skills/validate-changes/SKILL.md.

Expected behavior

  • Agent-operational content lives only in .github/skills/validate-changes/SKILL.md.
  • .github/copilot-instructions.md focuses on repo-contribution conventions.
  • Examples use cross-platform path separators.
  • The Pester blueprint either parameterizes the module name or explicitly states it is Sampler-specific.

Current behavior
Content is duplicated; Windows paths in examples; hard-coded module name in a blueprint marketed as a general template.

Suggested solution

  • Move the "Running build/test commands without hanging the agent shell" and "Diagnosing test failures from XML output" sections into skills/validate-changes/SKILL.md and remove them from copilot-instructions.md.
  • Normalize example paths to output/validate-test.log.
  • Update test-writing.instructions.md to use <ProjectName> placeholder wording, or add an explicit "this blueprint is Sampler-specific" note.

Operating system the target node is running
N/A

PowerShell version and build the target node is running
N/A

Module version used
Sampler Unreleased / post-#560.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions