Skip to content

Install review skills and update checksums - #27

Open
vartaxe wants to merge 17 commits into
mainfrom
copilot/review-and-skills-2026-10-17
Open

vartaxe wants to merge 17 commits into
mainfrom
copilot/review-and-skills-2026-10-17

Conversation

@vartaxe

@vartaxe vartaxe commented Oct 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Install github-actions-hardening, pester-should-migration, docs-sync-audit, github-release, and batch-files.
  • Regenerate CHECKSUMS.txt for all maintained skill assets.
  • Fix documentation-audit false positives for skill-relative scripts, code spans/fences, PowerShell environment reads, and URL-encoded paths.

Validation

  • Windows PowerShell 5.1 / Pester 6.2.0: 236 passed, 0 failed.
  • 119 checksum entries verified; focused docs-drift test passed.
  • git diff --check passed.

vartaxe and others added 2 commits October 17, 2026 11:45
Add the selected review and workflow skills, checksum all maintained assets, and include the shared documentation-audit checker fix.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Execution-blocking batch errors, unsafe cleanup and interpolation, and incomplete release preparation remain unresolved.

13 open issues
What changed in this PR

Adds five skills for repository maintenance and review without changing the production PowerShell script.

Changes:

  • Adds review guidance, references, and batch templates.
  • Adds a documentation-drift checker with focused regression coverage.
  • Updates checksums for the new skill assets.
File Description
CHECKSUMS.txt Adds skill asset hashes.
.github/​skills/​pester-should-migration/​SKILL.md Adds assertion migration guidance.
.github/​skills/​pester-should-migration/​references/​assertion-map.md Maps assertion conversions.
.github/​skills/​github-release/​SKILL.md Defines release preparation workflow.
.github/​skills/​github-release/​references/​semver-rules.md Documents versioning decisions.
.github/​skills/​github-release/​references/​commit-classification.md Classifies release changes.
.github/​skills/​github-actions-hardening/​SKILL.md Adds workflow security guidance.
.github/​skills/​github-actions-hardening/​references/​triggers-and-privilege.md Explains workflow trust boundaries.
.github/​skills/​github-actions-hardening/​references/​supply-chain.md Covers action and artifact security.
.github/​skills/​github-actions-hardening/​references/​report-format.md Defines security report format.
.github/​skills/​github-actions-hardening/​references/​permissions-and-tokens.md Covers token permissions.
.github/​skills/​github-actions-hardening/​references/​injection.md Documents injection prevention.
.github/​skills/​docs-sync-audit/​tests/​test_docs_drift.py Adds false-positive regression coverage.
.github/​skills/​docs-sync-audit/​SKILL.md Defines documentation audits.
.github/​skills/​docs-sync-audit/​scripts/​docs_drift.py Implements documentation checks.
.github/​skills/​batch-files/​SKILL.md Adds batch scripting guidance.
.github/​skills/​batch-files/​references/​windows-subsystem-on-linux.md Links WSL resources.
.github/​skills/​batch-files/​references/​tools-and-resources.md Catalogs Windows tools.
.github/​skills/​batch-files/​references/​msys2.md Documents MSYS2 resources.
.github/​skills/​batch-files/​references/​cygwin.md Documents Cygwin integration.
.github/​skills/​batch-files/​references/​batch-files-and-functions.md Collects batch scripting techniques.
.github/​skills/​batch-files/​assets/​task.txt Adds scheduled-task template.
.github/​skills/​batch-files/​assets/​library.txt Adds reusable function template.
.github/​skills/​batch-files/​assets/​executable.txt Adds command-line tool template.

Review effort: Balanced

Comment thread .github/skills/batch-files/SKILL.md Resolved
Comment thread .github/skills/github-release/SKILL.md Resolved
vartaxe and others added 2 commits November 1, 2026 01:38
Correct batch templates, docs auditing, Actions examples, and release guidance; refresh source checksums.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The recovery recipe leaves an unauthenticated SYSTEM shell accessible from the sign-in screen, creating a critical persistent local privilege-escalation risk.

1 open issue
11 previously missed issues

In code that hasn't changed since last review

Medium severity Preserve operation failures through cleanup

.github/​skills/​batch-files/​assets/​executable.txt:89

Missing input or a nonexistent input file only prints an error, so the generated tool can return success without doing any work. Cleanup can also overwrite the operation's failure status. Set nonzero results on validation failures, capture the operation's result before cleanup, and return that saved result explicitly.

Medium severity Return failure for unknown functions

.github/​skills/​batch-files/​assets/​library.txt:71

An unknown function only prints an error and enters cleanup; no nonzero exit status is set. With a successful caller status, this returns success, so a caller using if errorlevel or || cannot detect a misspelled function name. Run cleanup and explicitly return a failure code on this branch.

Medium severity Trim leading spaces without skipping semicolons

.github/​skills/​batch-files/​assets/​library.txt:84

FOR /F treats ; as its default comment marker. An input such as ;text is skipped by this loop, so the trailing-space loop runs but the leading spaces remain. Trim leading spaces directly rather than using a parser that can discard the entire input.

Medium severity Pad strings to the requested width

.github/​skills/​batch-files/​assets/​library.txt:175

Padding is limited to the 50 literal spaces here. For example, padRight Hello 100 produces only 55 characters rather than the requested width because the following substring operation cannot extend the string. Append enough spaces for the requested width before slicing.

Medium severity Return the task status after cleanup

.github/​skills/​batch-files/​assets/​task.txt:89

The task result is not saved before finishing logs and cleanup, so a failure can be replaced by a later command's status and Task Scheduler can report success. The missing-target branch also returns without setting a failure code. Return nonzero for missing targets, capture the task status immediately after this call, and explicitly return it after cleanup.

Medium severity Avoid requiring WMIC for log timestamps

.github/​skills/​batch-files/​assets/​task.txt:138

Every log call depends on WMIC, which is unavailable by default on current Windows 11 installations (also noted in references/batch-files-and-functions.md). On those systems the command fails and _dtMyTask is never populated, leaving logs without a usable timestamp. Use the built-in PowerShell date command, or provide an explicitly checked fallback, rather than requiring WMIC for logging.

Medium severity Recognize fence type and delimiter length

.github/​skills/​docs-sync-audit/​scripts/​docs_drift.py:181

This toggles on any backtick fence and never recognizes tilde fences. Consequently, commands documented inside a valid ~~~sh block are not checked, and a three-backtick example inside a four-backtick block incorrectly ends command scanning. Use the fence character and opening delimiter length, as the link-scanning helper already does, instead of toggling a boolean.

Medium severity Require whitespace after closing fence markers

.github/​skills/​docs-sync-audit/​scripts/​docs_drift.py:192

A closing Markdown fence cannot have non-whitespace text after its marker, but this condition accepts a line such as ```not-a-closing-fence. That exposes link-shaped text inside the code block to the link checker and can hide real links after the actual closing fence. Require the remainder of the closing-fence line to be whitespace.

Medium severity Track inline code spans across lines

.github/​skills/​docs-sync-audit/​scripts/​docs_drift.py:201

Markdown code spans can span multiple lines, but this masks inline code one line at a time. A span containing [Not a link](missing.md) on its second line therefore produces a false broken-link finding. Track matching backtick delimiters across lines while preserving line numbers.

Medium severity Exclude protocol-relative URLs and URI schemes

.github/​skills/​docs-sync-audit/​scripts/​docs_drift.py:377

This external-link filter misses protocol-relative URLs such as //cdn.example.com/file.css and URI schemes such as ftp:. They fall through to the filesystem check and are reported as high-severity broken relative links even though they are external. Skip protocol-relative URLs and any valid URI scheme before resolving local paths.

Medium severity Exclude prerelease tags from stable version filters

.github/​skills/​github-release/​SKILL.md:88

The tag filters accept prereleases such as v2.0.0-rc.1, but Step 4 assumes three integer version components and provides no suffix handling. Anchor both filters at the end with $ to select complete stable tags, or explicitly handle prerelease version arithmetic. The same issue occurs in the PowerShell filter at line 99.

13 resolved since last review

Review effort: Balanced

vartaxe and others added 2 commits November 1, 2026 03:01
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Unresolved correctness issues make the docs audit check scripts and Make targets against incorrect directories, while the batch library can corrupt arguments containing exclamation marks.

No open issues 🎉

3 previously missed issues

In code that hasn't changed since last review

Medium severity Preserve exclamation marks when copying arguments with delayed expansion

.github/​skills/​batch-files/​assets/​library.txt:193

Delayed expansion is enabled here, so expanding _argOneMyLib with percent syntax inserts its contents before the delayed-expansion pass. For example, call myLib padRight "Hello!" 10 loses the literal exclamation mark; paired exclamation marks can also expand an unintended environment variable. Copy the argument using delayed expansion so its contents are not scanned again.

Medium severity Resolve Make targets per directory and invocation working directory

.github/​skills/​docs-sync-audit/​scripts/​docs_drift.py:173

Merging targets across all Makefiles hides broken commands: a root README's make build passes this check when only subproject/Makefile defines build. Keep targets keyed by directory and resolve each invocation's working directory, including cd and make -C, before checking it.

Medium severity Resolve script paths relative to the command's working directory

.github/​skills/​docs-sync-audit/​scripts/​docs_drift.py:453

Script-file checks ignore the fenced block's working directory: cd tools followed by python check.py reports an existing tools/check.py as missing, while a root check.py can hide a missing file under tools. Resolve each script invocation against its current directory, including commands on the same line as cd. Use repo/doc/skill fallbacks only when no explicit working directory is established.

1 resolved since last review

Review effort: Balanced

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The new test file is missing from CHECKSUMS.txt, causing final validation to fail until the manifest is regenerated with the documented ordinal ordering.

1 open issue

Review effort: Balanced

Comment thread CHECKSUMS.txt Resolved
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Human assessment is needed to evaluate multiple unpublished findings affecting documentation command-check accuracy and batch failure reporting.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Unresolved critical defects can miss invalid Makefile targets and workspace scripts, falsely flag links, and select the wrong release baseline.

5 open issues

Review effort: Balanced

Comment thread .github/skills/github-release/SKILL.md Resolved
vartaxe and others added 2 commits November 1, 2026 06:41
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@cmendesvdl
cmendesvdl requested a balanced review from Copilot November 1, 2026 05:53
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread .github/skills/github-release/SKILL.md Resolved
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Unresolved defects cause false missing-target reports for valid shell commands, allow inherited batch variables to bypass argument handling, and produce incomplete help output containing code fragments.

4 open issues
3 resolved since last review

Review effort: Balanced

Comment thread .github/skills/batch-files/SKILL.md Resolved

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Unresolved defects produce false missing-script reports for continued commands and nested workspaces, while caret escaping corrupts batch-library arguments and return values.

3 open issues
4 resolved since last review

Review effort: Balanced

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The scanner incorrectly inserts whitespace when joining shell continuation lines, causing paths split within a token to be reported as missing; preserve existing whitespace and add a regression test.

1 open issue
3 resolved since last review

Review effort: Balanced

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Multiple correctness concerns in environment-read detection, Markdown parsing, and workspace selection can produce false audit findings and require human assessment.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The docs-drift scanner misinterprets escaped trailing spaces and misses keyword-based getenv calls, producing incorrect script-path checks and false unused-environment reports.

3 open issues

Review effort: Balanced

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Human assessment is needed because shell-escape handling can produce false missing-script findings and suppress subsequent script-file checks.

No open issues 🎉

3 resolved since last review

Review effort: Balanced

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Unresolved issues generate invalid release comparison links and cause the docs audit to misreport conditional-path commands and miss broken links in nested lists.

3 open issues

Review effort: Balanced

Comment on lines +671 to +675
separator_length = (
2 if command.startswith(("&&", "||"), index) else
1 if char == ";" else 0)
if separator_length:
segments.append(command[start:index])
Comment on lines +1050 to +1051
elif content.startswith((" ", "\t")):
fenced_lines[i] = True
Comment on lines +365 to +368
- Also update the diff link at the bottom of the file:
```markdown
[X.Y.Z]: https://github.com/OWNER/REPO/compare/vPREV...vNEXT
```

This branch has not been deployed

No deployments
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.

3 participants