Repository navigation
Closes two coverage gaps left after the 2026-09-02 re-verification, then ships everything that sat in Unreleased: the seven false-positive corrections, plan 038 content hashes and verbatim fixtures, and #13 Windsurf Cascade hooks / skills. 103 checks, 532 tests. Still offline on check.
Install
npx @chimix/agentscan@latest
npx skills add SimaAlexandru99/agentscanGitHub Action:
- uses: SimaAlexandru99/agentscan@v1
with:
fail-on: errorSkill: https://skills.sh/simaalexandru99/agentscan/agentscan
Added
- Copilot CLI inline
hooksin.github/copilot/settings.jsonand.github/copilot/settings.local.json(alwayscopilot-cli, sourcecopilot-settings). User$COPILOT_HOME/settings.jsonor~/.copilot/settings.jsonunder--global. Same-event hooks from settings and.github/hookscoexist.$COPILOT_HOMEis honored for user hook files too..claude/settings.jsonstays on the Claude profile. Policy and plugin hook files stay unread. mcp.literal-credential(security, warning): secret-named string values under MCPheaders,http_headers, orauththat are not interpolation. Field paths only; values never echoed. Grok{{var}}, Gemini%VAR%, and the existing${VAR}/${env:}/${input:}forms are interpolation. Token-shaped literals still firesecurity.hardcoded-secretfirst.bun run spec:checkhashes the prose of every source page inscripts/spec-surfaces.ts(35 unique URLs) and compares againstscripts/spec-hashes.json.bun run spec:recordrewrites the baseline after a human has re-read the page. Page text is never stored.- Conformance fixtures carry the vendors' own examples verbatim, with a minimum fact count per fixture so a discovery regression cannot keep a fixture green.
Fixed
commandcode.mcp.invalid-transportno longer fires on"type": "streamable-http"in a shared.mcp.json, or onssein Command Code-only files.agent-skills.skill.invalid-nameaccepts lowercase letters from any script (résumé-builder).copilot.hook.command-without-commandaccepts the documentedexec(+args) form.copilot.hook.unknown-eventaccepts PascalCase spellings of Copilot-only events inversion: 1files:SessionEnd,PostToolUseFailure,ErrorOccurred,PermissionRequest.mcp.literal-envtreats Gemini CLI's Windows%VAR_NAME%form as interpolation.commandcode.agent.invalid-permission-modeacceptsinherit.
Changed
- Spec captures re-read on 2026-09-02;
spec:checknow also diffs Copilot PascalCase aliases and exits 1 when a source page's content hash has moved.
From #13 — true findings and Windsurf Cascade hooks / skills
.agentscan-rootstops walk-up. FencedSKILL.mdexamples, unclosed YAML, invalid Windsurf rule YAML,node ./".", and outbound skill-directory symlinks no longer produce false findings.- Windsurf Cascade hooks:
.windsurf/hooks.jsonand--global~/.codeium/windsurf/hooks.json. - Windsurf Cascade skills:
.windsurf/skillsand--global~/.codeium/windsurf/skills.