Skip to content

chore(speckit): upgrade Copilot integration to 1.1.3 and switch to PowerShell scripts - #14

Open
tyrsson wants to merge 4 commits into
1.0.xfrom
chore/speckit-1.1.3-ps
Open

tyrsson wants to merge 4 commits into
1.0.xfrom
chore/speckit-1.1.3-ps

Conversation

@tyrsson

@tyrsson tyrsson commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Agents in this repository run in a VS Code terminal on the Windows host. The integration was scaffolded with script: "sh", so every /speckit-* invocation resolved bash to C:\Windows\system32\bash.exe, the WSL launcher. The SDD scripts ran against /mnt/c/... under WSL's git, identity and interpreter rather than the host's. The integration itself was also pinned to 1.0.1.

Commit 1: upgrade to 1.1.3 and switch to PowerShell scripts

  • Copilot integration upgraded from 1.0.1 to 1.1.3.
  • Script type changed from sh to ps. The nine skills that invoke a script now reference .specify/scripts/powershell/, and the six upstream PowerShell scripts are added.

Two consequences worth calling out.

The ten skills are regenerated from upstream templates, so the ASCII normalization from chore/ascii-prose is reverted in generated files. Per the agreed scope, the never-em-dash rule applies to authored files; generated files stay byte-identical to upstream so specify integration upgrade stays clean and the modified-managed-files warning does not come back.

.specify/.gitignore is a managed file and was overwritten by the upgrade, dropping the local presets/ ignore and its rationale. Both moved to the repo root .gitignore, which specify does not manage, so the decision survives future upgrades.

Commit 2: install the agent-context, github, bug and assess extensions

Available when a task calls for them; installing obliges the repository to use none of them.

Extension Effect
agent-context Hooks refresh the marker-delimited section of .github/copilot-instructions.md after specify and after plan
github Creates GitHub issues from a feature's task list. Core speckit-taskstoissues is deprecated and this supersedes it
bug Per-bug triage reports under .specify/bugs/<slug>/
assess Idea assessment under .specify/assessments/<slug>/, before specify

.specify/extensions.yml registers the two agent-context hooks. The other three expose commands only.

Root .gitignore also gains /.specify/extensions/.cache/, __pycache__/ and *.pyc, which are machine-local.

Verification

  • specify integration status: OK, zero modified managed files (was 11)
  • PowerShell port exercised end to end under Windows PowerShell 5.1 in a throwaway project scaffolded with --script ps: create-new-feature.ps1 created the branch, the feature directory, spec.md and feature.json; setup-plan.ps1 copied the plan template; check-prerequisites.ps1 returned the feature directory. All exit 0.
  • No pwsh required. The scripts use only ConvertFrom-Json and ConvertTo-Json -Compress, so PowerShell 5.1 is sufficient.
  • Extension install leaves no untracked artifacts behind after the ignore additions.

.specify/scripts/bash/ is now unreferenced because the skills point at powershell/. Left in place rather than deleted so the manifest record stays honest.

…werShell scripts

Upgrades the Spec Kit Copilot integration from 1.0.1 to 1.1.3 and moves the
script type from sh to ps. Agents run on the Windows host, so sh invocations
crossed into WSL through C:\Windows\system32\bash.exe, running the repository's
git identity and interpreter under WSL instead of the host.

Regenerates the ten speckit skills from upstream templates, which reverts the
ASCII normalization from chore/ascii-prose in generated files. The never-em-dash
rule is now scoped to authored files; generated files stay pristine so upgrades
stay clean.

.specify/.gitignore is managed by specify and is overwritten on upgrade, which
dropped the local presets/ ignore and its rationale. Both move to the repo root
.gitignore, which specify does not manage.

Verified: specify integration status reports OK with zero modified managed
files, and the PowerShell port was exercised end to end under Windows
PowerShell 5.1 (create-new-feature, setup-plan and check-prerequisites all
exit 0 with the expected artifacts).

.specify/scripts/bash/ is now unreferenced because the skills point at
powershell/. Left in place rather than deleted so the manifest stays honest.

Signed-off-by: Joey Smith <jsmith@webinertia.net>
@codecov

codecov Bot commented Oct 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

…ensions

Adds four first-party Spec Kit extensions so the workflow tooling is available
when a task calls for it. Installing does not commit the repository to using
any of them.

- agent-context: manages the marker-delimited section of
  .github/copilot-instructions.md and refreshes it after specify and plan
- github: creates GitHub issues from a feature's task list. Core
  speckit-taskstoissues is marked deprecated and remains in place beside it
- bug: per-bug triage reports under .specify/bugs/<slug>/
- assess: idea assessment under .specify/assessments/<slug>/, before specify

Hooks land in .specify/extensions.yml, which registers agent-context to run
after specify and after plan. The other three expose commands and register no
hooks.

Root .gitignore gains two machine-local entries. `.specify/extensions/.cache/`
holds the catalog cache, and `__pycache__/` plus `*.pyc` cover the compiled
bytecode the extension install leaves behind. Both are per-machine; the
extensions themselves are tracked.

Signed-off-by: Joey Smith <jsmith@webinertia.net>
@tyrsson
tyrsson force-pushed the chore/speckit-1.1.3-ps branch from 13dc0b1 to c22fc8d Compare October 10, 2026 17:41
Signed-off-by: Joey Smith <jsmith@webinertia.net>
Signed-off-by: Joey Smith <jsmith@webinertia.net>
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