V0.7.0/dotnet docfx digest#22
Conversation
Introduce new docfx documentation skill for validating and maintaining .NET public API documentation. Includes SKILL.md definition, bundled scripts for DocFX maintenance and compilation validation, evals for testing, and references for overwrite file guidance.
Add install command, skill table entry, and 'Why docfx-digest' motivation section to README explaining the skill's approach to preventing API documentation rot through deterministic tooling.
Enhance the skill to require explicit examples in DocFX overwrite content for concrete public types and public extension methods, not just namespace pages or extension tables. Updates SKILL.md guidance and checklists, adds a new eval test case for the examples requirement, strengthens script documentation (agents.cs and docfx.cs to validate and report EXAMPLE_MISSING diagnostics), and clarifies overwrite-file usage patterns. Concrete types and extension methods now must have copy/paste-ready examples derived from tests or actual behavior.
Refine dotnet-docfx-digest skill documentation to emphasize that public non-abstraction type examples must be placed on the generated type-page/overwrite section, not only on namespace overview pages. Updates SKILL.md guidance, evals expectations, reference documentation, and helper script docs to consistently clarify this requirement.
Rename IsConcreteDocumentableType to IsExampleRequiredType and ConcreteTargets to RequiredExampleTargets throughout the validator. Simplify the type classification logic by removing specialized checks for enums, value types, attributes, and delegates, keeping only the core distinction: interfaces and abstractions do not require examples. Updates summary reporting and error messages to use clearer terminology.
Add section to AGENTS.md clarifying that all markdown files in the repository must use natural paragraph flow without artificial column-width breaks or hard-wrapped mid-sentence content. This improves readability across devices, eases maintenance, and produces cleaner git diffs.
Update README.md dotnet-docfx-digest section to reflect refined guidance: public non-abstraction types now require examples on the generated type page/overwrite section, not just on namespace pages. Clarifies that type-page examples are mandatory and distinct from namespace overview documentation.
Add --verify-docfx-build flag to docfx.cs script so generated API YAML, manifests, and configured site output stay outside the working tree. Updates SKILL.md instructions and verification checklist to run DocFX CLI in a temporary copy of the repository. Updates evals and supporting documentation to reflect the new verification workflow.
Reflect the new --verify-docfx-build capability that runs the DocFX CLI in a temporary repository copy, keeping generated metadata and site output outside the working tree.
Greptile SummaryThis PR introduces the
Confidence Score: 5/5Safe to merge — all changes are additive (new skill, new tests, documentation updates) and the CI regression suites exercise the new scripts end-to-end in isolated temp workspaces. The new skill adds substantial tooling but the changes are fully additive: no existing skills, workflows, or scaffolds are broken, the two new CI regression scripts run in temp workspaces, the dotnet-new-lib-slnx docfx.json template change is a deliberate layout alignment, and the AGENTS.md/README.md updates are documentation only. The only findings are a minor eval-ID ordering gap and an injected verification command that hardcodes a fallback path without mentioning the installed-path alternative — neither affects runtime correctness. skills/dotnet-docfx-digest/evals/evals.json (IDs 17 and 18 are swapped) and skills/dotnet-docfx-digest/scripts/agents.cs (hardcoded verification path in injected AGENTS.md content). Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Agent triggers dotnet-docfx-digest] --> B[scripts/agents.cs\nInjects managed block → AGENTS.md]
B --> C[scripts/docfx.cs --json\nFast validation: prose, layout,\nnamespace pages, extension tables]
C --> D{Diagnostics?}
D -- Yes --> E[Repair loop\nFix EXAMPLE_MISSING /\nnamespace prose / overwrite layout]
E --> C
D -- No, remainingWorkItems=0 --> F[Build-backed verification\n--build-api-model\n--validate-samples\n--verify-docfx-build]
F --> G{summary.canClaimCompletion?}
G -- false --> E
G -- true --> H[Completion\nDeterministic exit code + --json report]
subgraph CI [GitHub Actions]
I[validate-skill-templates.yml] --> J[Install DocFX CLI]
J --> K[validate-skill-templates.ps1]
K --> L[test-quality.ps1\nSemantic quality regressions]
K --> M[test-project-scoped.ps1\nDry-run, manifest, overwrite-writer regressions]
end
Reviews (17): Last reviewed commit: "💬 update readme for assessment-queue ch..." | Re-trigger Greptile |
Update dotnet-docfx-digest to create separate per-type DocFX overwrite files (e.g. .docfx/api/TypeUid.md) instead of namespace-only files. Modifies SKILL.md workflow steps, adds framework-aware MetadataLoadContext dependency resolution to scripts/docfx.cs, and validates that build.overwrite includes per-type files. Updates evals and reference documentation to reflect the new per-type overwrite strategy.
Reflect the per-type DocFX overwrite file support in dotnet-docfx-digest. Updates the skill description to mention framework-aware metadata resolution, per-type overwrite files, and the requirement that build.overwrite includes those files.
Move detailed script CLI documentation from scripts/README.md to references/scripts.md following progressive disclosure and Anthropic skill authoring conventions. Updates SKILL.md to reference the new location. Reorganizes skill sections, clarifies scope and principles, and updates evals to match the new structure. Includes enhanced docfx.cs with improved diagnostics and JSON output.
Reflect the restructured skill documentation and enhanced script capabilities in the README available skills table.
…ge checks Add deterministic repair-plan generation for noisy audits, namespace coverage validation to audit related sibling namespace pages consistently, cleanup boundary rules to preserve authored Markdown, and example inventory tracking. Update workflow steps to integrate repair-plan reading and namespace auditing before editing. Add three new test cases for repair-plan usage, cleanup preservation, and namespace family consistency.
Implement --repair-plan argument to generate deterministic Markdown work queues from validation diagnostics. Groups repository guidance failures, namespace repairs, extension-table fixes, required-example inventory, sample failures, and other errors with completion gates that prevent broad restore/checkout commands and preserve authored Markdown. Limits cleanup to known generated metadata files and safe output directories. Uses temp workspace for DocFX verification to avoid git status pollution.
Update README.md skill table description to document new repair-plan capability for converting noisy validation output into grouped work queues, deterministic cleanup boundary rules that preserve authored Markdown, and cleanup gates that prevent accidental documentation loss. Highlight temp-workspace verification with --verify-docfx-build to keep git status clean.
Add explicit 'Safety Gates' section that captures git status before editing, protects uncommitted documentation changes, and forbids broad restore/recovery commands. Integrate safety gates into both named-API and repo-wide audit workflows as first step. Add git diff verification before final completion. Expand execution gates in repair plan to require cleanup candidates be listed before deletion, preserve existing documentation changes, audit related namespace pages together, and verify diffs are intentional. Update test expectations to validate all safety checks.
Expand skill description to include no-broad-restore rules, cleanup-path listing requirements, related-namespace coverage validation, and git diff review completion checks in the repair-plan feature summary.
Explicitly document that agents.cs and docfx.cs are resolved from the loaded skill directory, with a fallback to repo-managed source when the skill directory is unavailable. Update all script invocation examples to use placeholder paths (<resolved-skill-dir> and <repo-root>) and clarify that repo-root must point to the actual target repository being documented. Add test case for script resolution when skill is installed globally and target repo doesn't vendor the scripts. Update reference documentation with script path resolution guidance.
Extend docfx verification to handle Codebelt repositories where the root .snk file is not present locally by automatically using -p:SkipSignAssembly=true during build, test, and DocFX verification. Updates skill instructions, evals, reference docs, and scripts to implement and document this behavior.
Explain to repository users that the dotnet-docfx-digest skill now supports strong-name signed repositories without requiring a local .snk file by automatically using -p:SkipSignAssembly=true when verification runs.
Introduce iterative repair pattern after per-type example and overwrite edits. Agents must rerun docfx.cs --json after modifications and fix remaining EXAMPLE_MISSING and overwrite inclusion diagnostics before completion, instead of listing them as final findings. Updates skill instructions, evals, and README to document and test this mandatory loop.
Enhance EXAMPLE_MISSING diagnostics with expected overwrite file paths and clearer guidance. Introduce AppendRequiredExampleDiagnostics() to render a formatted table showing namespace, expected location, and required action. Update docfx.cs to pass docfxWorkspace context for accurate path resolution. Revise skill instructions and evals to match improved diagnostic output and reporting format.
Add SAMPLE_SKIP_REASON_INSUFFICIENT diagnostic to catch weak skip reasons that are documentation work rather than true compilation blockers. Implement IsInsufficientSkipReason() to detect patterns like 'requires package', 'shows framework pattern', or 'full example demonstrates X'. Clarify in skill docs that extension-method examples belong on declaring class or namespace pages, not method-UID filenames. Update error inventory and evaluation tests.
Refactor DiscoverMarkdown() to parse docfx.json and enumerate Markdown files from configured build.content and build.overwrite inputs instead of blindly scanning the workspace. Prevents unrelated repository Markdown (README.md, CHANGELOG.md) from being treated as DocFX overwrite content. Add PathsEqual() helper for consistent path comparison. Update namespace-page validation to trigger revalidation when docfx.json changes. Add DOCFX_MARKDOWN_DISCOVERY_SKIPPED warning when config has no inputs and docfx.json is at repo root. Include two new evaluation test cases for configuration-aware discovery behavior.
Clarified DocFX YAML front matter requirements and property mappings for type examples and extension-method examples. Added explicit guidance on using the \�xample\ property array and prohibited hash-suffix filenames in overwrite file paths. Improved inline documentation to prevent template and API member suppression when using managed reference pages.
Update the dotnet-docfx-digest skill description and capability list to detail that samples are now compiled in isolated projects, batched into one temporary .slnx graph build with bounded MSBuild parallelism via --sample-parallelism. Clarify that all sample projects share the same temporary graph, so dependencies restore once while each sample maintains diagnostic isolation. Update the 'Examples that actually compile' capability description to match the refined implementation.
Restructures skill documentation, consolidates reference material, and adds comprehensive eval test cases for the dotnet-docfx-digest workflow. Improves clarity of workspace-level digest generation and documentation strategies.
Significantly expands docfx.cs with improved functionality for documentation generation, analysis, and validation. Adds enhanced error handling, performance improvements, and better output formatting for DocFX digest operations.
Refreshes the dotnet-docfx-digest skill entry in the Available Skills table to reflect recent enhancements to the workflow documentation and script implementation.
Refines skill documentation structure, consolidates reference material, and expands eval test cases. Improves clarity of workspace digest generation and documentation strategies.
Expands docfx.cs with additional functionality for documentation generation. Improves handling, validation logic, and output formatting for DocFX digest operations.
Refreshes the dotnet-docfx-digest skill entry to reflect recent refinements to the workflow documentation and script implementation.
Extends validate-skill-templates.ps1 with additional validation checks for repo-managed skills. Ensures consistency and compliance across the skill repository.
Restructures skill documentation with improved workflow clarity, consolidates reference material, and expands eval test coverage. Aligns with progressive disclosure patterns and Anthropic skill conventions.
Significantly expands docfx.cs with enhanced functionality for documentation analysis and generation. Adds test-quality.ps1 helper script for quality validation. Improves error handling, validation logic, and output formatting.
Refreshes the dotnet-docfx-digest skill entry to reflect recent enhancements to workflow documentation, contract structure, and implementation capabilities.
Adds additional validation checks to validate-skill-templates.ps1 for ensuring repository-managed skill consistency and Anthropic convention compliance.
Comprehensively restructures SKILL.md with improved progressive disclosure, consolidates workflow and script references, expands eval test coverage, and enhances reference material for DocFX digest generation patterns.
Significantly expands docfx.cs with improved functionality for namespace analysis, type documentation, and evidence collection. Enhances test-quality.ps1 with advanced validation. Adds test-project-scoped.ps1 for project-level testing.
Refreshes the dotnet-docfx-digest skill entry to reflect comprehensive enhancements to documentation structure, implementation capabilities, and testing infrastructure.
Refreshes AGENTS.md and README.md to reflect recent enhancements to the dotnet-docfx-digest skill documentation, contract structure, and implementation.
Refines skill documentation structure, clarifies completion gates and repair workflows, and expands eval test coverage. Improves guidance on encoding safety, adaptive execution, and resuming partial audits.
Refactors docfx.cs for clarity and maintainability. Expands test-quality.ps1 with comprehensive validation. Enhances test-project-scoped.ps1 for focused testing. Adds completion contract support and adaptive execution profiles.
Refreshes the dotnet-docfx-digest skill entry to reflect recent refinements to documentation structure and implementation improvements.
Refines skill documentation with clarity improvements. Expands eval test cases and enhances reference material for overwrite file layout and workflow patterns.
Adds precision to documentation validation and example handling. Improves diagnostic clarity and completion state reporting for better audit workflows.
Clarifies skill behavior for diagnostic family transitions during repair loops. A rerun clearing one diagnostic and revealing another is expected progress, not a blocker. Agents must not stop with decision menus while repairable diagnostics remain. Updated both SKILL.md and references/workflow.md with consistent guidance.
Adds eval case 75 to test agent behavior when diagnostic families transition during repair loops. Test validates that agents recognize newly surfaced queues (e.g., EXTENSION_METHOD_MISSING appearing after EXTENSION_SECTION_MISSING is cleared) as expected progress and continue repairs without decision menus or progress summaries. Also updates an existing eval expectation to require that agents do not stop with progress summaries while diagnostics remain.
Refreshes the dotnet-docfx-digest skill entry to reflect improved guidance on diagnostic family transitions and agent behavior during repair loops.
Reinforces critical principles for EXAMPLE_MISSING queue management: it is the core authoring queue, not optional backlog, and must continue until it reaches zero. Clarifies that context limits, queue size, and time estimates are internal concerns, not user-facing stop conditions. Adds guidance on handling diagnostic family transitions, preventing decision menus during repairs, and continuing through verification phases. Also expands Completion Repair Loop with explicit continuation semantics and batch-authoring patterns. Updated both SKILL.md and references/workflow.md with consistent, reinforced guidance.
Adds new eval cases testing agent behavior when EXAMPLE_MISSING is the sole remaining diagnostic (test validates agents continue authoring rather than creating completion reports or decision menus) and when large example queues require batched authoring across multiple turns. Tests reinforce that context limits and queue size are internal execution concerns, not user-facing blockers. Ensures agents maintain continuous repair semantics even with diagnostic volume or scope complexity.
Refreshes the dotnet-docfx-digest skill entry to reflect clarified principles on EXAMPLE_MISSING queue continuity, execution semantics, and batch-authoring patterns. Emphasizes that documentation repair continues until the completion contract is clean, with no user-facing decision menus during diagnostic iteration.
Update skill contract and implementation to use 'assessment-queue' terminology instead of 'repair-plan' throughout SKILL.md, eval definitions, reference documentation, and script implementations. This improves clarity around the diagnostic work queue concept used in the skill's documentation repair loop.
Install the global DocFX CLI tool before running the skill template validator. This ensures DocFX-related validation checks can run successfully in the CI environment, supporting validation of DocFX configuration and documentation artifacts.
Update repository README to reflect the skill terminology changes from 'repair-plan' to 'assessment-queue' in the dotnet-docfx-digest skill. Ensures documentation accurately describes the current skill capabilities and terminology.
This pull request introduces the new
dotnet-docfx-digestskill for managing and verifying .NET DocFX API documentation, updates repository documentation standards, and adds comprehensive references and evaluation scenarios to ensure robust documentation workflows. The most important changes are summarized below.Addition of the
dotnet-docfx-digestSkill:dotnet-docfx-digestskill, which automates the creation, auditing, and verification of DocFX documentation for .NET public APIs. It includes deterministic .NET 10 scripts for maintaining documentation, verifying examples, and ensuring only public APIs are documented. The skill is now listed in the install commands, skills table, and has a dedicated "Why" section inREADME.md, explaining its design and workflow. [1] [2] [3] [4]Documentation and Evaluation Enhancements:
skills/dotnet-docfx-digest/references/docfx-overwrite-files.mdthat provides detailed guidance on DocFX overwrite files, including model structure, usage, and best practices for agents and maintainers.skills/dotnet-docfx-digest/evals/evals.jsonto test the skill’s behavior in practical documentation update and verification situations, ensuring it handles public/private API boundaries, preserves manual edits, and verifies documentation deterministically.Repository Documentation Standards:
AGENTS.mdto require natural paragraph flow in all markdown files, prohibiting artificial line breaks within sentences for improved readability and maintainability.These changes collectively improve the repository's documentation quality, enforce deterministic and verifiable DocFX workflows, and provide clear guidance and evaluation for maintaining .NET API docs.