CopilotAtelier

4.0.0-preview0009

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-preview0009 -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-preview0009 -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-preview0009] - 2026-08-25

### Added

- **`PreCompact` checkpoint** (2026-08-25). The Memory Bank had a deterministic entry gate and no exit gate. `SessionStart` probes for the index, but the only durable write point is Post-flight, which runs "before ending the reply" — so a turn compacted mid-run never reaches it and everything the run learned goes with the conversation. The failure is quiet in the worst way: the summary that replaces the transcript still reports that Pre-flight ran, so the agent believes it holds `activeContext.md` when it does not, and nothing re-applies the routes. Every comparable system treats this as the primary threat — Anthropic injects *ASSUME INTERRUPTION: Your context window might be reset at any moment* into the memory tool's system prompt, Cline tells the user to update the memory bank before the window fills, Claude Code re-reads the project `CLAUDE.md` from disk after `/compact` — while this repository covered it in one Prompt's bespoke section, one manually invoked `/session-handoff`, and the `subagent-dispatch` ledger. All model judgement, none general, and the handoff has to be requested *before* saturation, which is exactly what a mid-turn agent will not do. [`Hooks/scripts/Write-CompactionCheckpoint.ps1`](Hooks/scripts/Write-CompactionCheckpoint.ps1) now writes `.memory-bank/session/compaction-<UTC>Z.md` before the truncation, carrying the trigger, transcript path, branch, commit, and changed paths, plus a resume protocol. What the hook cannot do is stated rather than papered over: `PreCompact` supports the common output format only — no `additionalContext` — so nothing it emits reaches the post-compaction context. The model-facing half is a *Compaction recovery* section in [`Instructions/preflight.instructions.md`](Instructions/preflight.instructions.md), which survives by construction because Instructions are re-sent with every request. Payload values are flattened and stripped before they enter a file an agent reads back, every failure path exits `0` so a hook fault cannot block compaction, and a workspace without a Memory Bank gets no directory — creating one stays reserved for the `memory-bank` Skill.

- **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

- **`copilot-authoring.instructions.md` re-verified against the current platform documentation** (2026-08-25). The file is the schema every Customization in this repository is authored from, and it had drifted far enough that one of its rules was contradicted by the repository's own shipped files: prompts were documented as requiring `agent: agent | ask`, while eight of twelve `Prompts/*.prompt.md` name a Custom agent and [`peer-review.prompt.md`](Prompts/peer-review.prompt.md) declares no `agent` at all. The platform treats the key as optional and accepts `ask`, `agent`, `plan`, or a Custom agent name, so the rule was wrong rather than merely strict. The Instruction schema gained the field that changed how Instructions activate — VS Code now also matches an Instruction by semantic similarity between its `description` and the current task, so a file whose real trigger is a task rather than a path needs one, and only three of fifteen shipped Instructions had one. The agent schema gained `target`, `mcp-servers`, `handoffs.model`, the `agent`-tool prerequisite for declaring `agents`, and the `chat.useCustomAgentHooks` gate on agent-scoped hooks. The hook contract gained the half it never had: exit codes were documented but the stdout JSON was not, so `continue` / `stopReason` / `systemMessage`, `hookSpecificOutput`, most-restrictive-wins, and the `stop_hook_active` guard that keeps a blocking `Stop` hook from billing turns indefinitely are now stated — as is the constraint that shaped Decision 0021, that only four of the eight events can inject `additionalContext`. Two portability traps are named because this repository ships to Claude Code and the Copilot CLI as well: a Claude-format `matcher` is parsed and then ignored, and tool input keys are camelCase in VS Code where Claude uses snake_case. Where the repository is deliberately stricter than the platform the schema now says so, rather than presenting a house rule as a platform requirement.

- **`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 — prec

FileList

  • CopilotAtelier.nuspec
  • CopilotAtelier.psm1
  • Hooks\scripts\Block-RemoteMutation.ps1
  • Skills\german-tax-research\SKILL.md
  • Skills\sampler-framework\references\community-files.md
  • CopilotAtelier.psd1
  • Skills\skill-creator\SKILL.md
  • Skills\social-signal-sweep\SKILL.md
  • Skills\sampler-framework\references\bootstrap.md
  • Skills\gilb-requirements-engineering\SKILL.md
  • Skills\pdf-to-markdown\SKILL.md
  • Skills\sampler-framework\references\testing-patterns.md
  • Prompts\session-handoff.prompt.md
  • Skills\windows-gui-screenshot-capture\SKILL.md
  • Skills\grill-me\SKILL.md
  • Skills\sampler-framework\references\dependency-resolution.md
  • Prompts\peer-review.prompt.md
  • Skills\windows-gui-screenshot-capture\notes-evals.md
  • Skills\pandoc-docx-export\SKILL.md
  • Skills\sampler-framework\references\build-yaml.md
  • Prompts\audit-case-file.prompt.md
  • Skills\brand-logo-system\SKILL.md
  • Skills\winrm-troubleshooting\SKILL.md
  • Skills\sampler-framework\references\dependency-management.md
  • Prompts\code-review.prompt.md
  • Skills\mcp-builder\SKILL.md
  • Skills\winrm-troubleshooting\notes-evals.md
  • Skills\sampler-framework\references\commands-reference.md
  • Prompts\export-emails.prompt.md
  • Skills\doc-coauthoring\SKILL.md
  • Skills\citation-integrity\SKILL.md
  • Skills\sampler-framework\references\project-structure.md
  • Prompts\pr-description.prompt.md
  • Skills\agent-evals\SKILL.md
  • Skills\memory-bank\SKILL.md
  • Skills\long-running-job-monitor\references\heartbeat-protocol.md
  • Prompts\deadline-action-handoff.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\lab-deploy.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\brand-logo.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\refactor.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\module-scaffold.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\sync-project-emails.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
  • Instructions\powershell.instructions.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\azurepipelines.instructions.md
  • Skills\pswritehtml-reporting\SKILL.md
  • Skills\windows-gui-screenshot-capture\scripts\WindowCapture.ps1
  • Skills\pester-patterns\references\testing-powershell-constructs.md
  • Instructions\preflight.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\markdown.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\sampler.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\yaml.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\postflight.instructions.md
  • Skills\send-outlook-email\SKILL.md
  • Skills\agent-evals\assets\evals.sample.json
  • Skills\automatedlab-proxmox\references\module-development.md
  • Instructions\versioning.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\copilot-authoring.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\ubiquitous-language.instructions.md
  • Skills\evidence-package-assembly\SKILL.md
  • Skills\agent-evals\assets\trigger-queries.sampler-migration.json
  • Skills\automatedlab-deployment\references\troubleshooting.md
  • Instructions\pester.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\powershell-execution-safety.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\json.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\csharp.instructions.md
  • Skills\whisper-pyannote-transcription\diarize.py
  • Skills\agent-evals\assets\evals.output.sample.json
  • Skills\automatedlab-deployment\references\networking.md
  • Instructions\git.instructions.md
  • Skills\pester-patterns\SKILL.md
  • Skills\agent-evals\references\eval-artifacts.md
  • Skills\automatedlab-deployment\references\vm-operations.md
  • Instructions\changelog.instructions.md
  • Skills\pester-patterns\notes-evals.md
  • Skills\agent-evals\scripts\run-trigger-evals.ps1
  • Skills\german-tax-research\references\vorlagen.md
  • Hooks\copilot-atelier.hooks.json
  • Skills\grammar-check\SKILL.md
  • Skills\agent-evals\scripts\run-evals.ps1
  • Skills\german-tax-research\references\vermietung-und-afa.md
  • Hooks\README.md
  • Skills\test-driven-development\SKILL.md
  • Skills\marp-slide-overflow\references\speaker-note-guard.md
  • Skills\german-tax-research\references\belegaufforderung-antwort.md
  • Keybindings\keybindings.json
  • Skills\test-driven-development\notes-evals.md
  • Skills\marp-slide-overflow\references\mermaid-prerender.md
  • Skills\german-tax-research\references\kennzahlen.md
  • Agents\Software Engineer Agent.agent.md
  • Skills\outlook-email-export\SKILL.md
  • Skills\marp-slide-overflow\references\png-verification.md
  • Skills\german-tax-research\references\fristen-und-verfahren.md
  • Agents\career-coach.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\Training Content Writer.agent.md
  • Skills\german-legal-research\SKILL.md
  • Skills\datum-configuration\references\common-tasks.md
  • Skills\german-tax-research\scripts\Get-SteuerFrist.ps1
  • Agents\tax-researcher.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\Security & Quality Assurance Agent.agent.md
  • Skills\mecm-dsc-deployment\SKILL.md
  • Skills\datum-configuration\references\dscworkshop-reference.md
  • Skills\winrm-troubleshooting\references\advanced-diagnostics.md
  • Agents\Technical Writer & Documentation Agent.agent.md
  • Skills\outlook-calendar-export\SKILL.md
  • Skills\datum-configuration\references\projectdagger-patterns.md
  • Skills\memory-bank\scripts\Test-MemoryBankRouting.ps1
  • Agents\README.md
  • Skills\xlsx-to-markdown\SKILL.md
  • Skills\sampler-framework\references\custom-build-tasks.md
  • Skills\memory-bank\scripts\Initialize-MemoryBank.ps1
  • Agents\QC Inspector Agent.agent.md
  • Skills\dsc-troubleshooting\SKILL.md
  • Skills\sampler-framework\references\troubleshooting.md
  • Skills\memory-bank\scripts\Invoke-MemoryBankRouteSelectionEval.ps1
  • Agents\research-analyst.agent.md
  • Skills\subagent-dispatch\SKILL.md
  • Skills\sampler-framework\references\gitversion.md
  • Skills\memory-bank\scripts\Test-MemoryBankHealth.ps1
  • Agents\Technical Troubleshooter Agent.agent.md
  • Skills\automatedlab-proxmox\SKILL.md
  • Skills\sampler-framework\references\vscode-integration.md
  • Skills\memory-bank\evals\routing-cases.json
  • Agents\DevOps Training Writer.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\legal-researcher.agent.md
  • Skills\sampler-migration\SKILL.md
  • Skills\sampler-framework\references\multi-module.md
  • Skills\authenticated-web-extraction\bootstrap\tasks\dump-cookies.mjs
  • Hooks\scripts\Write-CompactionCheckpoint.ps1
  • 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

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... (current version) 3 8/25/2026
4.0.0-previe... 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