CopilotAtelier
6.1.0-preview0005
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
See the version list below for details.
Installation Options
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
Export-CopilotAtelierContributorProfile Get-CopilotAtelierClientAdapter Get-CopilotAtelierContributorProfile Get-CopilotAtelierFootprint Get-CopilotAtelierProfile Get-CopilotAtelierSkillHealth Get-CopilotAtelierVersion Import-CopilotAtelierContributorProfile Install-CopilotAtelier Remove-CopilotAtelierContributorProfile Set-CopilotAtelierContributorProfile Test-CopilotAtelier Uninstall-CopilotAtelier Update-CopilotAtelier
Dependencies
This module has no dependencies.
Release Notes
## [6.1.0-preview0005] - 2026-10-12
### Added
- Add the read-only [`Wait-DetachedResult.ps1`](skills/long-running-job-monitor/scripts/Wait-DetachedResult.ps1) for short detached Pester/build runs: bounded 500 ms checks, a measured result line and log tail, job exit `0`/`1` or timeout `124`, with async-only guidance in the monitor Skill and both execution Instructions.
- Add contributor calibration: every agent pitches answers and questions at your familiarity with each knowledge area (`new`, `familiar`, or `expert`; `familiar` until you say otherwise), and in `new` and `familiar` areas illustrates an abstract finding with a concrete example; every calculated or reconstructed result names its sources and method. Every technical question offers a recommended answer and a `not sure, you pick` option; a delegated answer becomes an assumption flagged for expert review, counts only when you write it yourself, and never authorizes an irreversible, destructive, or security-relevant action; a question that authorizes such an action comes without the option. A level changes wording and depth, never warnings, tests, or reviews, and is never written to a repository. See [How Much Explanation You Want](README.md#how-much-explanation-you-want).
- Add [`docs/SECURITY-REVIEW.md`](docs/SECURITY-REVIEW.md), the independent security review of contributor calibration with every finding, its severity, and its resolution.
- Add the `/simpler` and `/deeper` Prompts, which re-explain the last answer one familiarity level simpler or deeper and keep that level for its knowledge area for the rest of the session.
- Add the `contributor-profile` Skill and the commands `Get-`, `Set-`, `Export-`, `Import-`, and `Remove-CopilotAtelierContributorProfile`, which keep your familiarity levels in a private Contributor profile outside every repository, so a saved level shapes later sessions without being restated. The profile lives in the `contributor` folder of the Canonical target, which syncs through OneDrive, or under LocalApplicationData on a machine without one; Export and Import carry it across and merge entry by entry. Every write takes a lock, replaces the file atomically, previews with `-WhatIf`, and refuses any path inside a git working tree, also one reached through a junction or symbolic link; `Get-CopilotAtelierContributorProfile -WorkspacePath .` shows where the profile lives and what a workspace receives, with aliases masked. A write changes only an entry you chose: the one `-Contributor` names, the one whose alias matches your git address, or a new one, the first in the profile or, beside others, your own with `-NewContributor`. It never falls back to the only or the default entry, so on a shared account one person's level cannot land in another person's entry. Knowledge area names may start with a dot followed by a letter or a digit, such as `.NET`. `contributor-profile` is mandatory in every installation profile. See [contributor-profile](skills/contributor-profile/SKILL.md).
- Add saved familiarity levels to every session of a workspace that declares Knowledge areas under `## Knowledge areas` in `.memory-bank/projectbrief.md`: the SessionStart hook adds one data-only sentence with your levels for those areas in VS Code, the Copilot SDK host, and Copilot CLI, and a new PostToolUse hook, `Add-FamiliarityContext.ps1`, re-sends them on the first successful tool call after a compaction. Where the host runs no PreCompact hook, as for a manual or a background compaction in VS Code, it re-sends them on the first tool call after a turn ends, or 5 minutes after the last re-send; these re-sends stop once a session has received 12,000 characters of levels, about 3,000 tokens. That hook runs only on machines where a profile entry is on and rates an area, through `~/.copilot/hooks/contributor-profile.json`, and adds about one more hook launch to each successful tool call there, measured at 0.8 to 2 s depending on the machine and the host; the one call per turn that re-sends takes about 0.4 to 0.8 s longer, and in a workspace that declares areas, session start takes about 0.2 to 0.6 s longer. A registration written from an earlier release's template is replaced with the current one at the next profile write. On a synced Canonical target, a registration record that OneDrive delivers before its file is reported as pending by `Get-CopilotAtelierContributorProfile` and left alone until both arrive; `Remove-CopilotAtelierContributorProfile -RegistrationOnly` clears one that never settles, and `Get-CopilotAtelierContributorProfile` lists possible conflict copies of the registration in the hooks folder. `/simpler` and `/deeper` offer to save a changed level, the `memory-bank` projectbrief template gains the optional section, and the PRE-FLIGHT line names the profile state as counts only. A saved level steers the model without binding it: a saved `expert` level does not reliably make replies terse, and after a compaction a plugin-only installation, which has no hook registration, and a reply that makes no tool call do not receive the levels again.
### Changed
- Make `Uninstall-CopilotAtelier` remove the contributor profile registration before any file and stop, naming the file, when it cannot: a `~/.copilot/hooks/contributor-profile.json` it did not create or that changed since, a registration record that OneDrive delivered before its file, or a profile lock another writer holds. Removing the hook scripts first would leave a registration that warns on every tool call, so Uninstall also holds the profile lock until the scripts are gone, and no profile write can register the hook in the meantime. A registration written from an earlier release's template is still removed. The profile itself stays as personal content.
- Document where each host records hook evidence, the observed host versions, transcript limits, compaction differences, and safe read-only inspection. See [Reading hook evidence](com.github.copilot/hooks/README.md#reading-hook-evidence).
- Document that tool-hook `additionalContext` reaches the model inside the tool result in VS Code Local, the Copilot SDK agent host, and Copilot CLI, with version-scoped observations; it is data only, never an instruction or authorization. See [tool-output injection](skills/agent-security-review/SKILL.md#prompt-injection-via-tool-output-the-most-missed-check).
- Let `grill-me`, `software-architect`, and `gilb-requirements-engineering` accept `not sure, you pick`: the recommended answer, or for a numeric target a level derived from `Past`, `Record`, or a verified benchmark, is recorded as an assumption flagged for expert review instead of blocking the interview.
- Document in `agent-evals` that the Copilot backend's content filter blocks some harmless eval prompts, why an embedded chat transcript makes it worse, and how to keep a comparison fair: situation as system context, `FinishReason` logged per call, retries, and arms compared only on cases complete in both. See [harness prerequisites](skills/agent-evals/SKILL.md#harness-prerequisites).
- Document in `agent-evals` that compared arms must run at the same time, because backend behavior drifts within hours, and that an LLM judge's disagreement can expose a mislabelled reply, which justifies a label correction only for an objective error. See [micro-tests](skills/agent-evals/SKILL.md#micro-test-the-wording-first).
### Fixed
- Fix Pester assertion guidance that called `-BeTrue` / `-BeFalse` boolean checks: explain truthiness, use `Should -Be $true` / `$false` for expected values, and require `Should -BeOfType ([bool])` when coercion must not pass a non-boolean. See [the assertion pitfall](skills/pester-patterns/SKILL.md#assertion-pitfall-truthiness).
- Fix detached Pester templates that reported a test file which failed to load, or a run returning nothing, as passed: reject `Result -ne 'Passed'` and report the failed test, block, and container counts. See [Pester guidance](com.github.copilot/rules/pester.instructions.md).
- Deliver the SessionStart context to Copilot SDK (agent host) and Copilot CLI sessions. `Add-SessionContext` wrote it only under `hookSpecificOutput`, which those hosts ignore; it now also writes the top-level `additionalContext` they read.
- Keep the session clock when a Copilot SDK chat resumes. The runtime reruns the `SessionStart` hook with `source: resume` when it reloads a chat, and `Add-SessionContext` restarted the clock there, so the closing elapsed line and the turn count started over and the injected start time moved; it now keeps a readable clock of the same session.
- Keep the `long-running-job-monitor` heartbeat state readable while it is rewritten. `Start-JobHeartbeat.ps1` wrote the state file in place, so `-Stop`, `-TouchStatus`, or a wake read at the same moment could find it empty or cut off and fail; it now renames a complete file over it, also on Windows PowerShell 5.1.
- Stop the wording of a commit message from choosing the release version. `GitVersion.yml` raised it on words such as "major", "breaking", or "add" anywhere in a message, which is how review text made 6.0.0 a major release; now only the Conventional Commit type in the subject line (`feat:`, `fix:`, `perf:`, `!`), a line that starts with `BREAKING CHANGE:`, or a literal `+semver:` override raises it above the branch's default increment.
- Send an authorized push to the user's own terminal. The `PreToolUse` block message, `AGENTS.md`, and the hooks README told the agent to set `COPILOT_ATELIER_ALLOW_REMOTE=1` for the command, but each host starts the hook with its own environment, so a variable set in an agent terminal never reaches the guard. They now also warn never to persist the variable, for example with `setx`: every host started afterwards would run without the guard.
- Show the `PreToolUse` guard's reason to the model in Copilot SDK chats on Windows. That host ran the cross-platform `command` launcher inside an outer PowerShell that report
FileList
- CopilotAtelier.nuspec
- skills\debugging-and-error-recovery\SKILL.md
- skills\changed-file-validation\scripts\Invoke-ChangedFileValidationWorker.ps1
- skills\memory-bank\scripts\New-MemoryBankRoleMigrationPlan.ps1
- CopilotAtelier.psd1
- skills\debugging-and-error-recovery\notes-evals.md
- skills\changed-file-validation\scripts\Clear-ChangedFileBatch.ps1
- skills\memory-bank\scripts\Invoke-MemoryBankRouteSelectionEval.ps1
- CopilotAtelier.psm1
- skills\gilb-requirements-engineering\SKILL.md
- skills\changed-file-validation\scripts\ChangedFileValidationCommon.ps1
- skills\memory-bank\scripts\Test-MemoryBankRouting.ps1
- keybindings\keybindings.json
- skills\create-outlook-draft\SKILL.md
- skills\changed-file-validation\scripts\Get-ChangedFileBatch.ps1
- skills\memory-bank\scripts\Initialize-MemoryBank.ps1
- com.github.copilot\agents\spec-completion-reviewer.agent.md
- skills\dsc-troubleshooting\SKILL.md
- skills\changed-file-validation\scripts\Invoke-ChangedFileValidation.ps1
- skills\memory-bank\scripts\Test-MemoryBankHealth.ps1
- com.github.copilot\agents\security-reviewer.agent.md
- skills\long-running-job-monitor\SKILL.md
- skills\changed-file-validation\evals\validation-cases.json
- skills\memory-bank\scripts\Invoke-MemoryBankRoleMigration.ps1
- com.github.copilot\agents\legal-researcher.agent.md
- skills\long-running-job-monitor\notes-evals.md
- skills\winrm-troubleshooting\references\advanced-diagnostics.md
- skills\memory-bank\evals\routing-cases.json
- com.github.copilot\agents\career-coach.agent.md
- skills\grammar-check\SKILL.md
- skills\winrm-troubleshooting\references\post-restart-readiness.md
- skills\elster-form-capture\references\feldkarte-est.md
- com.github.copilot\agents\troubleshooter.agent.md
- skills\contributor-profile\SKILL.md
- skills\gilb-requirements-engineering\references\planguage-keywords.md
- skills\sampler-build-debug\evals\evals.json
- com.github.copilot\agents\tax-researcher.agent.md
- skills\send-outlook-email\SKILL.md
- skills\gilb-requirements-engineering\references\impact-estimation.md
- skills\sampler-build-debug\references\wiki-commit-timeout.md
- com.github.copilot\agents\spec-completion-controller.agent.md
- skills\copilot-usage-stats\SKILL.md
- skills\gilb-requirements-engineering\references\evo-planning.md
- skills\automatedlab-proxmox\references\windows-sysprep.md
- com.github.copilot\agents\training-writer.agent.md
- skills\brand-logo-system\SKILL.md
- skills\gilb-requirements-engineering\references\spec-quality-control.md
- skills\automatedlab-proxmox\references\evidence-and-readiness.md
- com.github.copilot\agents\software-architect.agent.md
- skills\automatedlab-deployment\SKILL.md
- skills\long-running-job-monitor\scripts\Wait-DetachedResult.ps1
- skills\automatedlab-proxmox\references\module-development.md
- com.github.copilot\agents\spec-work-implementer.agent.md
- skills\mcp-builder\SKILL.md
- skills\long-running-job-monitor\scripts\Start-JobMonitor.ps1
- skills\evidence-package-assembly\scripts\merge-and-verify.py
- com.github.copilot\agents\research-analyst.agent.md
- skills\pandoc-docx-export\SKILL.md
- skills\long-running-job-monitor\scripts\Start-DetachedPowerShell.ps1
- skills\evidence-package-assembly\scripts\Build-EvidencePackage.ps1
- com.github.copilot\agents\qc-inspector.agent.md
- skills\windows-gui-screenshot-capture\SKILL.md
- skills\long-running-job-monitor\scripts\Start-JobHeartbeat.ps1
- skills\datum-configuration\references\projectdagger-patterns.md
- com.github.copilot\agents\README.md
- skills\windows-gui-screenshot-capture\notes-evals.md
- skills\long-running-job-monitor\references\out-of-band-verification.md
- skills\datum-configuration\references\dscworkshop-reference.md
- com.github.copilot\agents\devops-training-writer.agent.md
- skills\test-driven-development\SKILL.md
- skills\long-running-job-monitor\references\heartbeat-protocol.md
- skills\datum-configuration\references\datum-yml-reference.md
- com.github.copilot\agents\technical-writer.agent.md
- skills\test-driven-development\notes-evals.md
- skills\contributor-profile\assets\contributor-profile.hooks.json
- skills\datum-configuration\references\common-tasks.md
- com.github.copilot\agents\software-engineer.agent.md
- skills\agent-security-review\SKILL.md
- skills\contributor-profile\scripts\ContributorProfileCommon.ps1
- skills\reviewed-learning-inbox\scripts\Add-LearningCandidate.ps1
- com.github.copilot\agents\software-engineer-contoso.agent.md
- skills\doc-coauthoring\SKILL.md
- skills\contributor-profile\scripts\ContributorProfileReader.ps1
- skills\reviewed-learning-inbox\scripts\Remove-LearningCandidate.ps1
- com.github.copilot\hooks\hooks.json
- skills\german-tax-research\SKILL.md
- skills\contributor-profile\scripts\ContributorProfile.ps1
- skills\reviewed-learning-inbox\scripts\Set-LearningCandidateStatus.ps1
- com.github.copilot\hooks\README.md
- skills\mecm-dsc-deployment\SKILL.md
- skills\brand-logo-system\scripts\Export-BrandLogoSet.ps1
- skills\reviewed-learning-inbox\scripts\New-LearningPromotionProposal.ps1
- com.github.copilot\rules\pester.instructions.md
- skills\agent-evals\SKILL.md
- skills\automatedlab-deployment\references\troubleshooting.md
- skills\reviewed-learning-inbox\scripts\Invoke-LearningPromotion.ps1
- com.github.copilot\rules\versioning.instructions.md
- skills\memory-bank\SKILL.md
- skills\automatedlab-deployment\references\lab-management.md
- skills\reviewed-learning-inbox\scripts\Get-LearningCandidate.ps1
- com.github.copilot\rules\markdown.instructions.md
- skills\memory-bank\notes-evals.md
- skills\automatedlab-deployment\references\networking.md
- skills\reviewed-learning-inbox\scripts\LearningInboxCommon.ps1
- com.github.copilot\rules\postflight.instructions.md
- skills\code-review-and-quality\SKILL.md
- skills\automatedlab-deployment\references\roles-and-services.md
- skills\reviewed-learning-inbox\evals\candidate-cases.json
- com.github.copilot\rules\changelog.instructions.md
- skills\code-review-and-quality\notes-evals.md
- skills\automatedlab-deployment\references\vm-operations.md
- skills\pester-patterns\scripts\Find-PesterV4Pattern.ps1
- com.github.copilot\rules\contributor-calibration.instructions.md
- skills\elster-form-capture\SKILL.md
- skills\automatedlab-deployment\references\post-deployment-operations.md
- skills\pester-patterns\references\mocking-external-dependencies.md
- com.github.copilot\rules\copilot-authoring.instructions.md
- skills\outlook-calendar-export\SKILL.md
- skills\automatedlab-deployment\references\cmdlet-reference.md
- skills\pester-patterns\references\testing-powershell-constructs.md
- com.github.copilot\rules\json.instructions.md
- skills\microsoft-todo-tasks\SKILL.md
- skills\windows-gui-screenshot-capture\scripts\WindowCapture.ps1
- skills\pester-patterns\references\migrating-pester-v4-to-v5.md
- com.github.copilot\rules\sampler.instructions.md
- skills\grill-me\SKILL.md
- skills\windows-gui-screenshot-capture\scripts\DialogCapture.ps1
- skills\authenticated-web-extraction\bootstrap\package.json
- com.github.copilot\rules\git.instructions.md
- skills\sampler-build-debug\SKILL.md
- skills\windows-gui-screenshot-capture\references\external-win32-executables.md
- skills\skill-creator\references\scripts-and-evaluation.md
- com.github.copilot\rules\yaml.instructions.md
- skills\sampler-build-debug\notes-evals.md
- skills\windows-gui-screenshot-capture\references\engine-recipes.md
- skills\skill-creator\references\authoring-patterns.md
- com.github.copilot\rules\azurepipelines.instructions.md
- skills\automatedlab-proxmox\SKILL.md
- skills\german-tax-research\scripts\Get-SteuerFrist.ps1
- skills\marp-slide-overflow\references\overflow-detector.md
- com.github.copilot\rules\preflight.instructions.md
- skills\automatedlab-proxmox\notes-evals.md
- skills\german-tax-research\references\kennzahlen.md
- skills\marp-slide-overflow\references\mermaid-prerender.md
- com.github.copilot\rules\powershell.instructions.md
- skills\evidence-package-assembly\SKILL.md
- skills\german-tax-research\references\fristen-und-verfahren.md
- skills\marp-slide-overflow\references\speaker-note-guard.md
- com.github.copilot\rules\powershell-execution-safety.instructions.md
- skills\datum-configuration\SKILL.md
- skills\german-tax-research\references\belegaufforderung-antwort.md
- skills\marp-slide-overflow\references\png-verification.md
- com.github.copilot\rules\ubiquitous-language.instructions.md
- skills\reviewed-learning-inbox\SKILL.md
- skills\german-tax-research\references\vermietung-und-afa.md
- skills\sampler-framework\references\testing-patterns.md
- com.github.copilot\rules\csharp.instructions.md
- skills\sampler-migration\SKILL.md
- skills\german-tax-research\references\vorlagen.md
- skills\sampler-framework\references\troubleshooting.md
- com.github.copilot\commands\export-emails.prompt.md
- skills\devils-advocate-review\SKILL.md
- skills\german-tax-research\references\werbungskosten-und-abzuege.md
- skills\sampler-framework\references\module-manifest.md
- com.github.copilot\commands\pr-description.prompt.md
- skills\pester-patterns\SKILL.md
- skills\agent-evals\assets\trigger-queries.brand-logo-system.json
- skills\sampler-framework\references\multi-module.md
- com.github.copilot\commands\deeper.prompt.md
- skills\pester-patterns\notes-evals.md
- skills\agent-evals\assets\trigger-queries.sample.json
- skills\sampler-framework\references\build-yaml.md
- com.github.copilot\commands\brand-logo.prompt.md
- skills\authenticated-web-extraction\SKILL.md
- skills\agent-evals\assets\trigger-queries.skill-creator.json
- skills\sampler-framework\references\commands-reference.md
- com.github.copilot\commands\module-scaffold.prompt.md
- skills\subagent-dispatch\SKILL.md
- skills\agent-evals\assets\trigger-queries.reviewed-learning-inbox.json
- skills\sampler-framework\references\custom-build-tasks.md
- com.github.copilot\commands\simpler.prompt.md
- skills\skill-creator\SKILL.md
- skills\agent-evals\assets\trigger-queries.changed-file-validation.json
- skills\sampler-framework\references\dsc-datum.md
- com.github.copilot\commands\complete-specifications.prompt.md
- skills\german-legal-research\SKILL.md
- skills\agent-evals\assets\trigger-queries.test-driven-development.json
- skills\sampler-framework\references\dependency-management.md
- com.github.copilot\commands\peer-review.prompt.md
- skills\social-signal-sweep\SKILL.md
- skills\agent-evals\assets\trigger-queries.contributor-profile.json
- skills\sampler-framework\references\bootstrap.md
- com.github.copilot\commands\audit-case-file.prompt.md
- skills\pdf-to-markdown\SKILL.md
- skills\agent-evals\assets\evals.sample.json
- skills\sampler-framework\references\ci-cd-pipelines.md
- com.github.copilot\commands\lab-deploy.prompt.md
- skills\marp-slide-overflow\SKILL.md
- skills\agent-evals\assets\trigger-queries.sampler-framework.json
- skills\sampler-framework\references\project-structure.md
- com.github.copilot\commands\deadline-action-handoff.prompt.md
- skills\sampler-framework\SKILL.md
- skills\agent-evals\assets\evals.output.sample.json
- skills\sampler-framework\references\gitversion.md
- com.github.copilot\commands\usage.prompt.md
- skills\pswritehtml-reporting\SKILL.md
- skills\agent-evals\assets\trigger-queries.elster-form-capture.json
- skills\sampler-framework\references\vscode-integration.md
- com.github.copilot\commands\session-handoff.prompt.md
- skills\whisper-pyannote-transcription\diarize.py
- skills\agent-evals\assets\trigger-queries.copilot-usage-stats.json
- skills\sampler-framework\references\dependency-resolution.md
- com.github.copilot\commands\code-review.prompt.md
- skills\whisper-pyannote-transcription\transcribe-segment.py
- skills\agent-evals\assets\trigger-queries.long-running-job-monitor.json
- skills\sampler-framework\references\community-files.md
- com.github.copilot\commands\refactor.prompt.md
- skills\whisper-pyannote-transcription\SKILL.md
- skills\agent-evals\assets\trigger-queries.sampler-migration.json
- skills\sampler-build-debug\evals\files\wiki-incident.md
- com.github.copilot\commands\sync-project-emails.prompt.md
- skills\whisper-pyannote-transcription\transcribe.py
- skills\agent-evals\assets\trigger-queries.pester-patterns.json
- skills\sampler-build-debug\evals\fixtures\wiki-commit-timeout.md
- skills\changed-file-validation\SKILL.md
- com.github.copilot\hooks\scripts\Block-RemoteMutation.ps1
- skills\agent-evals\assets\trigger-queries.sampler-build-debug.json
- skills\sampler-build-debug\evals\grading\wiki-commit-timeout.md
- skills\outlook-email-export\SKILL.md
- com.github.copilot\hooks\scripts\Write-CompactionCheckpoint.ps1
- skills\agent-evals\scripts\Get-EvalText.ps1
- skills\sampler-build-debug\evals\grading\wiki-incident.md
- skills\citation-integrity\SKILL.md
- com.github.copilot\hooks\scripts\Add-FamiliarityContext.ps1
- skills\agent-evals\scripts\run-evals.ps1
- skills\authenticated-web-extraction\bootstrap\tasks\check-logins.mjs
- skills\winrm-troubleshooting\SKILL.md
- com.github.copilot\hooks\scripts\Get-SessionElapsed.ps1
- skills\agent-evals\scripts\run-trigger-evals.ps1
- skills\authenticated-web-extraction\bootstrap\tasks\dump-cookies.mjs
- skills\winrm-troubleshooting\notes-evals.md
- com.github.copilot\hooks\scripts\Add-SessionContext.ps1
- skills\agent-evals\references\eval-artifacts.md
- skills\authenticated-web-extraction\bootstrap\scripts\open.mjs
- skills\xlsx-to-markdown\SKILL.md
- com.github.copilot\hooks\scripts\Write-SessionClose.ps1
- skills\memory-bank\assets\role-record-migration-map.json
- skills\authenticated-web-extraction\bootstrap\scripts\extract.mjs
- skills\docx-to-markdown\SKILL.md
- skills\changed-file-validation\scripts\Add-ChangedFile.ps1