Audit recently merged microsoft/vscode pull requests for documentation impact, stage deduplicated issue proposals, and create confirmed issues in microsoft/vscode-docs. ALWAYS use this skill when asked to run or configure a daily docs audit, identify documentation work from merged VS Code PRs, review pending docs issue proposals, or create docs issues for product updates.
75
94%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Audit recently merged pull requests in microsoft/vscode and stage an issue proposal for each documentation update that is clearly required. Create an issue in microsoft/vscode-docs only after the user confirms that exact proposal.
The audit and staging phase is an unattended daily workflow. During that phase, do not ask questions, edit documentation, or create any GitHub issue. Use the gh CLI for all GitHub operations.
Issue creation is a separate, interactive phase. A request to run an audit is not approval to create its proposals. Never call gh issue create unless the user confirms the individual proposal in the current conversation.
Apply the research and user-facing feature checks from the doc-writer skill, but do not run its interactive approval or implementation phases. Use the source-verification techniques from the pr-review skill. For AI-related changes that affect docs/copilot/ or docs/agents/, also apply the factuality and terminology guidance from the docs-product-alignment skill.
The frontmatter-description and content-redirect skills are implementation-time skills and are not needed for this audit.
Pending proposals persist across runs in untracked Git metadata. Use the state helper for every state operation; do not read or edit its JSON file directly:
node .github\skills\daily-docs-audit\manage-state.js listThe helper resolves storage with git rev-parse --git-path daily-docs-audit/pending.json. If it reports malformed or unsupported state, report the error and stop. Do not overwrite, reset, or discard unreadable state.
At the beginning of an audit:
manage-state.js remove <proposal-id> and report the existing item.Do not remove a proposal merely because its source PR is outside the current audit window.
Use the lookback window or ISO 8601 start time provided by the user. If none is provided, inspect PRs merged during the last 30 hours. Record the exact UTC start and end times in the final report.
The default includes a six-hour overlap between daily runs. Deduplication is therefore required.
List every PR merged into the default branch of microsoft/vscode during the audit window. Paginate until all matching PRs are retrieved. Capture at least:
Do not decide from the PR title alone. Inspect enough of the implementation and linked context to understand the user-visible behavior.
A PR normally requires a docs follow-up when it introduces or changes a user-facing or extension-author-facing:
Normally exclude:
For each plausible candidate:
microsoft/vscode-docs content for the affected concept and identify specific files or sections that are missing or stale. Consider docs/, api/, and remote/; do not propose edits to generated enterprise/policies.md.microsoft/vscode-docs issues and all open and merged PRs for the source PR URL, source PR number, feature name, setting or command ID, and likely documentation files.Prepare one issue proposal per coherent documentation task, grouping multiple source PRs when they implement the same user-facing feature.
Before staging a proposal, search issue bodies for each source marker and source PR URL:
<!-- vscode-docs-update:vscode-pr-<PR_NUMBER> -->
Also compare the task with every pending proposal. Reuse the same pending proposal ID when refreshing the same coherent documentation task in a later run.
Do not stage a proposal if any open or closed issue contains a matching marker, or if an existing issue, docs PR, or pending proposal already covers the same task. Report or refresh the existing item instead.
Prepare the exact issue title, labels, and body that would be submitted to microsoft/vscode-docs. Use a concise title in this format:
Document <user-facing feature or behavior>
Use doc-bug when the product change makes existing docs inaccurate. Use doc-enhancement when documentation is missing, and add triage-needed. Use only labels that already exist.
Use this body:
<!-- vscode-docs-update:vscode-pr-<PR_NUMBER> -->
## Product change
* Source: <links to all relevant microsoft/vscode PRs>
* Merged: <UTC merge date or date range>
<Concise, user-focused summary of what changed and who is affected.>
## Why the docs need an update
<Describe the verified gap or the existing content that became inaccurate.>
## Suggested documentation
* `<repository-relative file or documentation area>`: <specific content to add or change>
## Details to verify
* <Defaults, identifiers, availability, platform constraints, feature flags, or other facts the writer must preserve>
## Acceptance criteria
* <Observable documentation outcome>
* <Any related pages that must remain consistent>Include one source marker per grouped PR. Omit the Details to verify section when there are no meaningful caveats. Do not include implementation instructions, test-plan steps, unsupported claims, or release-note prose.
Store the proposal by passing a JSON object to the state helper's standard input:
{
"id": "<stable-kebab-case-task-id>",
"title": "Document <user-facing feature or behavior>",
"labels": ["doc-enhancement", "triage-needed"],
"sourcePrs": [123456],
"body": "<complete issue body, including every source marker>"
}$proposalJson | node .github\skills\daily-docs-audit\manage-state.js upsertBefore choosing an ID, compare the task with the pending list. Reuse an existing ID for the same task; otherwise choose a stable, descriptive, kebab-case ID. The helper preserves the original creation time when an existing proposal is refreshed.
If staging fails, report the error and continue evaluating the remaining candidates. Do not fall back to creating the issue or writing the state file directly.
Enter this interactive phase only when the user explicitly asks to review or create pending proposals. Do not treat an unattended or scheduled audit, a prior conversation, or a general preference to create docs issues as confirmation.
If the user chooses Create issue:
gh issue create with the exact confirmed title, labels, and body.gh issue create returns the created issue URL.If the user chooses Reject proposal, remove it with the state helper. Do not store a suppression record; a future audit may propose the task again. If removal fails, report the error and leave the proposal pending.
After an audit, return a concise report containing:
After an interactive review, report proposals created, rejected, deduplicated against existing work, still pending, or retained after failures. Include created issue links and source PRs.
If no new or pending proposals need action, state that clearly.
193d3e4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.