Skip to content

fix: close remaining d365fo-cli skill audit items (#10, #12) - #134

Merged
dynamics365ninja merged 1 commit into
mainfrom
fix/skill-followups-audit
Aug 5, 2026
Merged

fix: close remaining d365fo-cli skill audit items (#10, #12)#134
dynamics365ninja merged 1 commit into
mainfrom
fix/skill-followups-audit

Conversation

@dynamics365ninja

Copy link
Copy Markdown
Owner

Closes the last two open items from the PR #127 audit. Nothing from that review is left after this.

#10 — non-ASCII in Install-D365FoCopilotSkills.ps1

I filed this as cosmetic. It isn't: the em dashes sit in .PARAMETER and .EXAMPLE blocks, and the file has no BOM, so Windows PowerShell 5.1 reads it as ANSI and Get-Help renders them broken.

contains — or will contain — the .github/ directory

Em dashes and box-drawing characters are now ASCII. A BOM would have been the other fix, but not for these two scripts — emit-skills.ps1 carries a #!/usr/bin/env pwsh shebang that a BOM breaks, and it's worth more to keep both scripts encoded the same way than to keep the typography.

While in there: the migration notice suggested Remove-Item -Recurse on a file, and printed hints for paths that don't exist. Each hint now appears only when its target is actually present, with -Recurse only on the directory.

#12 — skill activation is a judgement call, not a glob

The skill replaced 19 .instructions.md files that applied deterministically through applyTo. A skill exposes only name + description, and the agent decides relevance for itself. That's exactly what makes it cheap — but it's a real behaviour change and it was nowhere in the docs.

docs/SETUP.md now covers it at the point users hit it: how to force activation (use the d365fo-cli skill, or naming a references/ file), where each IDE shows which skills were applied, and that skills/copilot/*.instructions.md is still emitted for anyone who wants deterministic scoping back.

That last point contradicted the installer, which flatly called the legacy files safe to delete — it now says the skill supersedes and doesn't conflict with them, and points at SETUP.md.

Verified on Windows PowerShell 5.1

  • Get-Help renders clean ASCII.
  • Installer deploys SKILL.md + 19 references, prunes a planted stale one, and the legacy notice only offers commands for paths that exist.
  • Emitters remain drift-free (git diff clean after emit-skills.py).

No code changes — scripts and docs only.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FfAAnxQDnPHRB1ne5H724n

Follow-up to PR #127. Both items were left open at merge time.

#10 Non-ASCII in Install-D365FoCopilotSkills.ps1
  The file has no BOM, so Windows PowerShell 5.1 reads it as ANSI. This is
  not just a comment-cosmetics issue: the em dashes sit in .PARAMETER and
  .EXAMPLE blocks, so `Get-Help` rendered them as mojibake -

      contains — or will contain — the .github/ directory

  All em dashes and box-drawing characters are now ASCII. Adding a BOM
  instead is not an option for these scripts: emit-skills.ps1 carries a
  #!/usr/bin/env pwsh shebang that a BOM would break, and keeping the two
  scripts encoded the same way is worth more than the typography.

  Also fixed the deletion hints in the migration notice: they suggested
  `Remove-Item -Recurse` for a file, and offered commands for paths that
  don't exist. Each hint is now printed only when its target is present,
  with -Recurse only on the directory.

#12 Skill activation is a judgement call, not a glob
  The skill replaces 19 .instructions.md files that applied deterministically
  via applyTo. A skill exposes only name + description and the agent decides
  relevance itself - that is what makes it cheap, but it is a real behaviour
  change and it was undocumented.

  docs/SETUP.md now explains this where users hit it, including how to force
  activation ("use the d365fo-cli skill", or naming a references/ file), where
  each IDE shows which skills were applied, and that skills/copilot/*.instructions.md
  is still emitted for anyone who wants the deterministic scoping back.

  The installer's legacy notice no longer flatly calls those files safe to
  delete, since that now contradicts documented advice - it says the skill
  supersedes and does not conflict with them, and points at SETUP.md.

Verified on Windows PowerShell 5.1: Get-Help renders clean ASCII, the
installer deploys SKILL.md + 19 references and prunes stale ones, and the
emitters remain drift-free.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FfAAnxQDnPHRB1ne5H724n
@dynamics365ninja
dynamics365ninja merged commit 3e982bc into main Aug 5, 2026
4 checks passed
@dynamics365ninja
dynamics365ninja deleted the fix/skill-followups-audit branch August 5, 2026 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant