CopilotAtelier

4.0.0-preview0008

Portable GitHub Copilot customization library. Ships custom agents, auto-applied instructions, on-demand skills, prompt templates, and lifecycle hooks, and installs them into the well-known ~/.copilot discovery folders that VS Code, the GitHub Copilot CLI, and Claude Code read.

Minimum PowerShell version

5.1

This is a prerelease version of CopilotAtelier.
There is a newer prerelease version of this module available.
See the version list below for details.

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name CopilotAtelier -RequiredVersion 4.0.0-preview0008 -AllowPrerelease

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name CopilotAtelier -Version 4.0.0-preview0008 -Prerelease

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) raandree. All rights reserved.

Package Details

Author(s)

  • raandree

Tags

Copilot GitHubCopilot VSCode Agents Skills Prompts Instructions Hooks AI Windows Linux MacOS

Functions

Get-CopilotAtelierVersion Install-CopilotAtelier Update-CopilotAtelier

Dependencies

This module has no dependencies.

Release Notes

## [4.0.0-preview0008] - 2026-08-25

### Added

- **Release-tag parity gate** (2026-08-25). Two releases shipped without a changelog section and nothing noticed, because the only thing that reads the release history is [`tests/PluginManifest.Tests.ps1`](tests/PluginManifest.Tests.ps1), and it reads the changelog rather than what was actually published. It now reads both. Every non-preview tag reachable from `HEAD` must have a matching `[x.y.z]` release section, so an unmerged rollover pull request turns `main` red instead of accumulating in silence. One exemption is load-bearing: a tag pointing at `HEAD` is skipped. On a tag push the `test` job runs before `deploy`, so at that instant the tag exists and its section cannot — `Create_ChangeLog_GitHub_PR` only runs after the release is published — and a strict gate would deadlock every release on itself. The exemption lapses the moment one commit lands on top, which is the earliest point at which the rollover *could* have been merged. Shown to reject before it was accepted: against the unfixed changelog the run was 8 passed, 3 failed, naming `v3.0.0` and `v3.1.0` and telling the reader which branch to merge; fixed, 12 of 12 pass. A companion assertion settles a question that had been left open — `plugin.json.version` is `major.minor.patch` and never a pre-release, because the field is committed, only moves on a release rollover, and is compared as an opaque string by plugin loaders, where `4.0.0-preview0007` sorts after `4.0.0` and would suppress the update to the real release.

- **README catalogue gate** (2026-08-24). `AGENTS.md` has required a *Available Skills* row in every Skill's atomic change set since 2026-08-12, but nothing checked it, and the drift that accumulated in the meantime was invisible: 36 rows against 45 shipped Skills. [`tests/SkillCatalogue.Tests.ps1`](tests/SkillCatalogue.Tests.ps1) closes it in both directions — every shipped Skill has a row, every row names a Skill that still ships, and every row carries a description. It parses the `## Available Skills` section rather than the whole file, because README holds other tables whose first cell is bold too and a whole-file scan reads `**Agents**` and `**Instructions**` as Skills. A count assertion guards the parser itself, so a moved heading fails loudly instead of passing with zero cases. Shown to reject before it was accepted: with one row removed the run is 133 passed, 1 failed, naming `agent-evals has a catalogue row`; restored, 136 of 136 pass.

- **`brand-logo` Prompt** (2026-08-14). `brand-logo-system` answers "how do I build the asset set" but nothing started the conversation, and the first question an identity task needs — what should the mark actually show — is the one an agent is most likely to skip and guess. The Prompt front-loads it: search the repository for an existing mark first and, when one is found, ask only whether to keep, refine, or replace it rather than interviewing the user about a decision the repository already made; otherwise interview in two `vscode_askQuestions` clusters covering subject, visual treatment, character, colour source, wordmark split, and delivery target. Concepts are proposed as 256 px proofs before eleven assets are built from a guess, and the closing rules restate the two claims that cost time in practice: never invent an identity for a project that already has one, and never assert favicon legibility without a 16 px render.

- **`brand-logo-system` Skill** (2026-08-14). Producing a project identity had been done by hand twice, and both runs rediscovered the same three failures. A text substitution over `width=`/`height=` to resize an SVG also matches every nested `<use>` and `<rect>` and silently scales each one to the full canvas — the fix is to set the attributes on the root element only. The "transparent" assets in the shared logo library are opaque PNGs with a checkerboard painted into their pixels, measured at 0 % transparent pixels, so their transparency cannot be reused and must not be imitated. And a design board that asserts the mark "holds its silhouette" at favicon size is a claim, not a fact: the 16 px render of a detailed mark disproved it, which is why the renderer now takes an optional reduced favicon glyph and a caller-supplied scalability note. The Skill carries the eleven-slot library layout, the dark-mode-means-reversed convention, and a measured verification gate over count, naming, slot parity, canvas size, corner alpha, painted bounds, centring, and ink coverage at 32 and 16 px. [`scripts/Export-BrandLogoSet.ps1`](Skills/brand-logo-system/scripts/Export-BrandLogoSet.ps1) composes all eleven slots from one `.psd1` plus two or three glyph fragments, so a project's only bespoke artwork is its glyph. Proven end to end against AutomatedLab, whose palette and gear-and-flask mark were recovered from the project's own 2025 logo by pixel count rather than invented.

### Changed

- **`german-tax-research` reads the operative sentence and aggregates both directions** (2026-08-24). Two failure modes from real case work produce a confidently wrong number rather than a visible error, which is why neither shows up as a mistake until an examiner finds it. The first is classifying a document by its label: a title, subject line, filename, or category column is metadata someone else wrote for another purpose, and one session produced three counterexamples in a row — an e-mail headed `Your sessions at NIC Cloud Connect 2023` whose body read *have not been accepted*, a file named `240108 Überschussabrechnung` that was the December statement rather than a January one, and a `Zinsbescheinigung` column that looked like *sonstige Kosten* but held the `Tilgung`. The second is summing a transaction set with a sign filter, which makes the refund, reversal, credit note, or `Storno` structurally invisible — precisely the entry that changes the answer. A flight showing `1.725,05 €` in charges had cost `848,12 €` once the airline's refund of one of two bookings three days later was counted. Both are now sections under the evidence rules, each with a matching entry in the stop-and-re-enter red-flag list. The frontmatter `description` is deliberately untouched, so the trigger surface is unchanged and no eval sweep is owed; the body stays inside the 500-line budget, and the Skill remains on the documented `SkillTriggerCoverage` uncovered baseline.

- **`brand-logo-system` covers integrating the assets into a project** (2026-08-14). The Skill produced a library set and stopped, so wiring the mark into a repository was improvised every time it came up. Step 5 now carries it, and carries the parts that are not guessable: a `<table>` cannot give the README a borderless two-column header because github.com draws a 1px border on every cell and its sanitiser strips the style that would remove it, so the mark is floated and closed with `<br clear="left">`; the wordmark replaces the `<h1>` rather than sitting above one, which is why `MD041` stays disabled for the file; a package `IconUri` must be a direct image URL, because a repository URL is accepted and then silently shows a placeholder. Integration asks which repository first — the library holds many projects and a session usually has several open, so "add the logo" names no target and a brand commit in the wrong project is noise its owner has to find and revert — and a project that is not the user's to change gets a block to paste instead. The trigger queries said the opposite of the new boundary: "add an IconUri to the module manifest" was a negative pointing at `sampler-framework` and is now a positive, joined by header-layout, placeholder-icon, and social-preview positives, and by a screenshot-in-the-README negative that keeps `windows-gui-screenshot-capture` from being swallowed. The `brand-logo` Prompt gained the matching phase, and its delivery-target option no longer names a folder the Skill contradicts.

- **`AGENTS.md` states the atomic change set for a Skill and a Custom agent** (2026-08-12). A Customization is never one file, and a half-added one leaves the catalogue, the trigger coverage, and the changelog disagreeing with each other. The new *Atomic change sets* section names every artifact that has to move in the same commit for each, and tables which test catches which kind of drift — so the answer to "what else does this change need?" is in the house rules rather than in a reviewer's memory.

- **`pester-patterns` split into a body plus two references** (2026-08-11). The body was 796 lines against the 500-line progressive-disclosure budget and had been carried on the `SkillFrontmatter` over-budget baseline rather than fixed. It is now 149 lines. What stayed is what an agent needs on *every* Pester run: pattern 0, run tests through the fully detached launcher, and pattern 14, helpers used inside `It` must live in `BeforeAll`. What moved is what it needs *sometimes* — patterns 1 to 3 into [`references/mocking-external-dependencies.md`](Skills/pester-patterns/references/mocking-external-dependencies.md) and patterns 4 to 13 into [`references/testing-powershell-constructs.md`](Skills/pester-patterns/references/testing-powershell-constructs.md), both one level deep, both keeping their original numbers so existing references still resolve. The frontmatter `description` is untouched, so the trigger surface is unchanged and no eval re-run is owed. Its baseline entry is removed in the same change, so the gate proves the fix rather than recording the intent; nine Skills remain baselined, `german-legal-research` at 780 lines the worst of them.

- **`.memory-bank/systemPatterns.md` curated from 106 lines to 86** (2026-08-11). It sat 4 lines under its 110-line budget and warned on every build, while the Decision index that must stay grows by a line per record. The repository tree at the top is what went: a changing inventory of the working tree, duplicating `techContext.md`'s module layout, deployment boundar

FileList

  • CopilotAtelier.nuspec
  • CopilotAtelier.psm1
  • Skills\skill-creator\SKILL.md
  • Skills\social-signal-sweep\SKILL.md
  • Skills\sampler-framework\references\bootstrap.md
  • CopilotAtelier.psd1
  • Skills\gilb-requirements-engineering\SKILL.md
  • Skills\pdf-to-markdown\SKILL.md
  • Skills\sampler-framework\references\testing-patterns.md
  • Skills\windows-gui-screenshot-capture\SKILL.md
  • Skills\grill-me\SKILL.md
  • Skills\sampler-framework\references\dependency-resolution.md
  • Prompts\session-handoff.prompt.md
  • Skills\windows-gui-screenshot-capture\notes-evals.md
  • Skills\pandoc-docx-export\SKILL.md
  • Skills\sampler-framework\references\build-yaml.md
  • Prompts\peer-review.prompt.md
  • Skills\brand-logo-system\SKILL.md
  • Skills\winrm-troubleshooting\SKILL.md
  • Skills\sampler-framework\references\dependency-management.md
  • Prompts\audit-case-file.prompt.md
  • Skills\mcp-builder\SKILL.md
  • Skills\winrm-troubleshooting\notes-evals.md
  • Skills\sampler-framework\references\commands-reference.md
  • Prompts\code-review.prompt.md
  • Skills\doc-coauthoring\SKILL.md
  • Skills\citation-integrity\SKILL.md
  • Skills\sampler-framework\references\project-structure.md
  • Prompts\export-emails.prompt.md
  • Skills\agent-evals\SKILL.md
  • Skills\memory-bank\SKILL.md
  • Skills\long-running-job-monitor\references\heartbeat-protocol.md
  • Prompts\pr-description.prompt.md
  • Skills\marp-slide-overflow\SKILL.md
  • Skills\memory-bank\notes-evals.md
  • Skills\long-running-job-monitor\references\out-of-band-verification.md
  • Prompts\deadline-action-handoff.prompt.md
  • Skills\microsoft-todo-tasks\SKILL.md
  • Skills\gilb-requirements-engineering\references\evo-planning.md
  • Skills\long-running-job-monitor\scripts\Start-JobHeartbeat.ps1
  • Prompts\lab-deploy.prompt.md
  • Skills\create-outlook-draft\SKILL.md
  • Skills\gilb-requirements-engineering\references\planguage-keywords.md
  • Skills\long-running-job-monitor\scripts\Start-JobMonitor.ps1
  • Prompts\brand-logo.prompt.md
  • Skills\datum-configuration\SKILL.md
  • Skills\gilb-requirements-engineering\references\spec-quality-control.md
  • Skills\long-running-job-monitor\scripts\Start-DetachedPowerShell.ps1
  • Prompts\refactor.prompt.md
  • Skills\devils-advocate-review\SKILL.md
  • Skills\gilb-requirements-engineering\references\impact-estimation.md
  • Skills\evidence-package-assembly\scripts\Build-EvidencePackage.ps1
  • Prompts\module-scaffold.prompt.md
  • Skills\sampler-framework\SKILL.md
  • Skills\windows-gui-screenshot-capture\references\external-win32-executables.md
  • Skills\evidence-package-assembly\scripts\merge-and-verify.py
  • Prompts\sync-project-emails.prompt.md
  • Skills\sampler-build-debug\SKILL.md
  • Skills\windows-gui-screenshot-capture\references\engine-recipes.md
  • Skills\pester-patterns\references\migrating-pester-v4-to-v5.md
  • Instructions\powershell.instructions.md
  • Skills\pswritehtml-reporting\SKILL.md
  • Skills\windows-gui-screenshot-capture\scripts\WindowCapture.ps1
  • Skills\pester-patterns\references\testing-powershell-constructs.md
  • Instructions\azurepipelines.instructions.md
  • Skills\long-running-job-monitor\SKILL.md
  • Skills\windows-gui-screenshot-capture\scripts\DialogCapture.ps1
  • Skills\pester-patterns\references\mocking-external-dependencies.md
  • Instructions\preflight.instructions.md
  • Skills\long-running-job-monitor\notes-evals.md
  • Skills\brand-logo-system\scripts\Export-BrandLogoSet.ps1
  • Skills\pester-patterns\scripts\Find-PesterV4Pattern.ps1
  • Instructions\markdown.instructions.md
  • Skills\code-review-and-quality\SKILL.md
  • Skills\agent-evals\assets\trigger-queries.sampler-build-debug.json
  • Skills\authenticated-web-extraction\bootstrap\package.json
  • Instructions\sampler.instructions.md
  • Skills\code-review-and-quality\notes-evals.md
  • Skills\agent-evals\assets\trigger-queries.sampler-framework.json
  • Skills\automatedlab-proxmox\references\evidence-and-readiness.md
  • Instructions\yaml.instructions.md
  • Skills\send-outlook-email\SKILL.md
  • Skills\agent-evals\assets\evals.sample.json
  • Skills\automatedlab-proxmox\references\module-development.md
  • Instructions\postflight.instructions.md
  • Skills\debugging-and-error-recovery\SKILL.md
  • Skills\agent-evals\assets\trigger-queries.pester-patterns.json
  • Skills\automatedlab-proxmox\references\windows-sysprep.md
  • Instructions\versioning.instructions.md
  • Skills\debugging-and-error-recovery\notes-evals.md
  • Skills\agent-evals\assets\trigger-queries.brand-logo-system.json
  • Skills\automatedlab-deployment\references\lab-management.md
  • Instructions\copilot-authoring.instructions.md
  • Skills\evidence-package-assembly\SKILL.md
  • Skills\agent-evals\assets\trigger-queries.sampler-migration.json
  • Skills\automatedlab-deployment\references\troubleshooting.md
  • Instructions\ubiquitous-language.instructions.md
  • Skills\whisper-pyannote-transcription\SKILL.md
  • Skills\agent-evals\assets\trigger-queries.skill-creator.json
  • Skills\automatedlab-deployment\references\post-deployment-operations.md
  • Instructions\pester.instructions.md
  • Skills\whisper-pyannote-transcription\transcribe.py
  • Skills\agent-evals\assets\trigger-queries.test-driven-development.json
  • Skills\automatedlab-deployment\references\roles-and-services.md
  • Instructions\powershell-execution-safety.instructions.md
  • Skills\whisper-pyannote-transcription\transcribe-segment.py
  • Skills\agent-evals\assets\trigger-queries.sample.json
  • Skills\automatedlab-deployment\references\cmdlet-reference.md
  • Instructions\json.instructions.md
  • Skills\whisper-pyannote-transcription\diarize.py
  • Skills\agent-evals\assets\evals.output.sample.json
  • Skills\automatedlab-deployment\references\networking.md
  • Instructions\csharp.instructions.md
  • Skills\pester-patterns\SKILL.md
  • Skills\agent-evals\references\eval-artifacts.md
  • Skills\automatedlab-deployment\references\vm-operations.md
  • Instructions\git.instructions.md
  • Skills\pester-patterns\notes-evals.md
  • Skills\agent-evals\scripts\run-trigger-evals.ps1
  • Skills\german-tax-research\references\vorlagen.md
  • Instructions\changelog.instructions.md
  • Skills\grammar-check\SKILL.md
  • Skills\agent-evals\scripts\run-evals.ps1
  • Skills\german-tax-research\references\vermietung-und-afa.md
  • Hooks\copilot-atelier.hooks.json
  • Skills\test-driven-development\SKILL.md
  • Skills\marp-slide-overflow\references\speaker-note-guard.md
  • Skills\german-tax-research\references\belegaufforderung-antwort.md
  • Hooks\README.md
  • Skills\test-driven-development\notes-evals.md
  • Skills\marp-slide-overflow\references\mermaid-prerender.md
  • Skills\german-tax-research\references\kennzahlen.md
  • Keybindings\keybindings.json
  • Skills\outlook-email-export\SKILL.md
  • Skills\marp-slide-overflow\references\png-verification.md
  • Skills\german-tax-research\references\fristen-und-verfahren.md
  • Agents\Software Engineer Agent.agent.md
  • Skills\agent-security-review\SKILL.md
  • Skills\marp-slide-overflow\references\overflow-detector.md
  • Skills\german-tax-research\references\werbungskosten-und-abzuege.md
  • Agents\career-coach.agent.md
  • Skills\german-legal-research\SKILL.md
  • Skills\datum-configuration\references\common-tasks.md
  • Skills\german-tax-research\scripts\Get-SteuerFrist.ps1
  • Agents\Training Content Writer.agent.md
  • Skills\authenticated-web-extraction\SKILL.md
  • Skills\datum-configuration\references\datum-yml-reference.md
  • Skills\winrm-troubleshooting\references\post-restart-readiness.md
  • Agents\tax-researcher.agent.md
  • Skills\mecm-dsc-deployment\SKILL.md
  • Skills\datum-configuration\references\dscworkshop-reference.md
  • Skills\winrm-troubleshooting\references\advanced-diagnostics.md
  • Agents\Security & Quality Assurance Agent.agent.md
  • Skills\outlook-calendar-export\SKILL.md
  • Skills\datum-configuration\references\projectdagger-patterns.md
  • Skills\memory-bank\scripts\Test-MemoryBankRouting.ps1
  • Agents\Technical Writer & Documentation Agent.agent.md
  • Skills\xlsx-to-markdown\SKILL.md
  • Skills\sampler-framework\references\custom-build-tasks.md
  • Skills\memory-bank\scripts\Initialize-MemoryBank.ps1
  • Agents\README.md
  • Skills\dsc-troubleshooting\SKILL.md
  • Skills\sampler-framework\references\troubleshooting.md
  • Skills\memory-bank\scripts\Invoke-MemoryBankRouteSelectionEval.ps1
  • Agents\QC Inspector Agent.agent.md
  • Skills\subagent-dispatch\SKILL.md
  • Skills\sampler-framework\references\gitversion.md
  • Skills\memory-bank\scripts\Test-MemoryBankHealth.ps1
  • Agents\research-analyst.agent.md
  • Skills\automatedlab-proxmox\SKILL.md
  • Skills\sampler-framework\references\vscode-integration.md
  • Skills\memory-bank\evals\routing-cases.json
  • Agents\Technical Troubleshooter Agent.agent.md
  • Skills\automatedlab-proxmox\notes-evals.md
  • Skills\sampler-framework\references\module-manifest.md
  • Skills\authenticated-web-extraction\bootstrap\tasks\check-logins.mjs
  • Agents\DevOps Training Writer.agent.md
  • Skills\sampler-migration\SKILL.md
  • Skills\sampler-framework\references\multi-module.md
  • Skills\authenticated-web-extraction\bootstrap\tasks\dump-cookies.mjs
  • Agents\legal-researcher.agent.md
  • Skills\automatedlab-deployment\SKILL.md
  • Skills\sampler-framework\references\dsc-datum.md
  • Skills\authenticated-web-extraction\bootstrap\scripts\open.mjs
  • Hooks\scripts\Add-SessionContext.ps1
  • Skills\docx-to-markdown\SKILL.md
  • Skills\sampler-framework\references\ci-cd-pipelines.md
  • Skills\authenticated-web-extraction\bootstrap\scripts\extract.mjs
  • Hooks\scripts\Block-RemoteMutation.ps1
  • Skills\german-tax-research\SKILL.md
  • Skills\sampler-framework\references\community-files.md

Version History

Version Downloads Last updated
5.0.0-previe... 3 8/27/2026
5.0.0-previe... 3 8/27/2026
5.0.0-previe... 4 8/26/2026
4.0.0 9 8/26/2026
4.0.0-previe... 2 8/26/2026
4.0.0-previe... 3 8/26/2026
4.0.0-previe... 4 8/25/2026
4.0.0-previe... 3 8/25/2026
4.0.0-previe... 3 8/25/2026
4.0.0-previe... 3 8/25/2026
4.0.0-previe... (current version) 3 8/25/2026
4.0.0-previe... 3 8/24/2026
4.0.0-previe... 3 8/24/2026
4.0.0-previe... 18 8/19/2026
4.0.0-previe... 2 8/19/2026
4.0.0-previe... 5 8/15/2026
4.0.0-previe... 4 8/12/2026
4.0.0-previe... 4 8/12/2026
3.2.0-previe... 3 8/11/2026
3.1.1-previe... 6 8/11/2026
3.1.0 29 8/7/2026
3.1.0-previe... 3 8/7/2026
3.1.0-previe... 3 8/5/2026
3.1.0-previe... 3 8/5/2026
3.1.0-previe... 7 8/4/2026
3.0.0 16 8/1/2026
3.0.0-previe... 4 8/1/2026
3.0.0-previe... 5 8/1/2026
3.0.0-previe... 5 8/1/2026
2.0.0 7 7/29/2026
2.0.0-previe... 3 7/29/2026
Show less