Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Every repo-managed skill must include its own `evals/evals.json` file at `skills
- Run evals from a temp workspace such as `$env:TEMP/<skill-name>-workspace/`, never from inside this repository
- When creating or modifying a repo-managed skill, run the full per-skill test from that temp workspace before the work is considered complete. Full test means both `with_skill` and `without_skill` comparison executions, grading both runs, aggregating `benchmark.json`, and opening the review viewer. A reasoning-only smoke test does not count as full test.
- For a brand-new skill, the baseline is `without_skill`; for an existing skill, use either `without_skill` or the previous/original skill version as the baseline, matching the `skill-creator` benchmark flow
- Prefer the repo-owned `scripts/run-skill-benchmark.ps1` runner for local measured benchmarks. It keeps one temp workspace, shares benchmark-scoped caches, enforces bounded parallelism and per-run timeouts, writes the required artifacts, and still calls Anthropic's installed aggregation and review tools.
- Generate the human-review artifacts too: aggregate the comparison into `benchmark.json` and launch `eval-viewer/generate_review.py` from the installed Anthropic `skill-creator` copy (typically under `~/.agents/skills/skill-creator/` or `~/.claude/skills/skill-creator/`) so the user can inspect `Outputs` and `Benchmark` before sign-off
- Deterministic scaffold/template skills must keep local deterministic validators as well; evals supplement validators, they do not replace them

Expand Down
20 changes: 15 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.9.0] - 2026-08-09
## [0.9.0] - 2026-08-10

This is a minor release introducing the `dotnet-test` skill for lifecycle-aware xUnit test migration and refactoring across ordinary unit tests, ASP.NET Core functional tests, and console/worker service tests. The release includes comprehensive test-role classification, managed-fixture patterns preserving composition-root control, xUnit v3 modernization guidance, deterministic package-version resolution, and integration-test bootstrapper hosts. Enhanced release-entity classification in `git-keep-a-changelog` and `git-nuget-release-notes` now distinguishes new-capability introductions from pre-existing refinements, preventing mis-categorized changelog entries when unreleased features are refined before first release. Repository validation tooling is strengthened with skill-content validation and resolver script enforcement.
This is a minor release introducing the `dotnet-test` skill for lifecycle-aware xUnit test migration and the `dotnet-remote-testing` skill for deterministic remote testing in Docker containers, alongside foundational skill-benchmarking infrastructure with caching and workspace management. The release includes comprehensive test-role classification and managed-fixture patterns for `dotnet-test`, offline-safe release discovery for remote testing, deterministic caching and structured tracing in the `dotnet-test` resolver, and cross-platform execution support. Enhanced release-entity classification in `git-keep-a-changelog` and `git-nuget-release-notes` now distinguishes new-capability introductions from pre-existing refinements, preventing mis-categorized changelog entries when unreleased features are refined before first release. Repository validation tooling is strengthened with skill-content validation and resolver script enforcement.

### Added

Expand All @@ -19,7 +19,16 @@ This is a minor release introducing the `dotnet-test` skill for lifecycle-aware
- `dotnet-test` package-compatibility resolver script `resolve-test-package-versions.ps1` validating combined package restore across selected NuGet candidates for multiple target frameworks, preventing incompatible package combinations in managed-fixture test projects,
- Test coverage for `dotnet-test` package-compatibility resolver via `test-resolve-test-package-versions.ps1` validating resolver behavior, compatibility detection, and framework coverage,
- `resolve-release-entity.ps1` script for `git-keep-a-changelog` enabling deterministic classification of base-to-HEAD change outcomes (`Added`, `Removed`, `Changed`, or `Unchanged`) at release boundaries, supporting per-entity classification separate from intermediate commit verbs,
- Test coverage for `git-keep-a-changelog` release-entity classification via `test-resolve-release-entity.ps1` validating classification outcomes and boundary handling.
- Test coverage for `git-keep-a-changelog` release-entity classification via `test-resolve-release-entity.ps1` validating classification outcomes and boundary handling,
- `dotnet-remote-testing` skill enabling deterministic remote testing of .NET projects in Docker containers using Microsoft's official SDK images, with support for `testenvironments.json` configuration or zero-config discovery from official release metadata,
- Docker-based remote test orchestration infrastructure including container setup, NuGet cache management, test execution, and result parsing transparently behind a reusable runner script,
- Offline-safe release metadata caching for remote testing: successful release metadata is cached outside the repository for offline reuse, and the form exposes the exact runner-computed target as a recommended option,
- Cross-platform dotnet execution support in the benchmark runner including a POSIX shell script shim alongside Windows batch files for non-Windows platforms,
- `run-skill-benchmark.ps1` as the preferred local entry point for skill benchmarking, managing a single persistent temp workspace, sharing benchmark-scoped caches, staging fixtures once, enforcing bounded parallelism and per-run timeouts, and prewarming expensive resolver work,
- Comprehensive `dotnet-remote-testing` skill documentation with step-by-step workflow guidance covering container selection, test environment configuration, offline discovery, and result parsing,
- Structured test-environment configuration via `testenvironments.json` support with configuration templates and validation for multiple target frameworks,
- `dotnet-remote-testing` eval scenarios covering zero-config discovery, configured environments, offline cache behavior, and unsupported-environment handling,
- Reference documentation for `dotnet-remote-testing` including Docker execution details, release discovery mechanics, and `testenvironments.json` schema and examples.

### Changed

Expand All @@ -29,8 +38,9 @@ This is a minor release introducing the `dotnet-test` skill for lifecycle-aware
- Improved `git-keep-a-changelog` bad-output-characteristics section with explicit warnings about placing pre-release refinements under `Changed` or `Fixed` instead of preserving them under the initial `Added` outcome,
- Enhanced `git-nuget-release-notes` SKILL.md with improved release-entity classification guidance aligned with `git-keep-a-changelog` enhancements, including per-package classification and cumulative-package-set reduction patterns,
- Updated repository validation to enforce `resolve-release-entity.ps1` presence in git-keep-a-changelog and validate adoption of entity-classification patterns in release-notes skills,
- README.md skill inventory and descriptions updated to reflect `dotnet-test` capability, enhanced release-entity classification in `git-keep-a-changelog` and `git-nuget-release-notes`, and improved validation tooling,
- Enhanced `scripts/validate-skill-templates.ps1` with deterministic skill-content validation, release-entity classifier enforcement, git-keep-a-changelog trigger validation, and resolver-script presence checks.
- README.md skill inventory and descriptions updated to reflect `dotnet-test` and `dotnet-remote-testing` capabilities, enhanced release-entity classification in `git-keep-a-changelog` and `git-nuget-release-notes`, and improved validation tooling,
- Enhanced `scripts/validate-skill-templates.ps1` with deterministic skill-content validation, release-entity classifier enforcement, git-keep-a-changelog trigger validation, and resolver-script presence checks,
- Enhanced README.md documentation of the benchmark runner as the preferred local workflow, explaining structured result parsing and failure classification.

## [0.8.2] - 2026-08-07

Expand Down
10 changes: 9 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,14 @@ When creating or modifying a repo-managed skill, the eval workflow must include
- Aggregate the results into `benchmark.json`
- Launch `eval-viewer/generate_review.py` from that installed `skill-creator` copy so a human can review both `Outputs` and `Benchmark`

The preferred local entry point is the repo-owned runner:

```powershell
pwsh -NoProfile -File .\scripts\run-skill-benchmark.ps1 -SkillPath .\skills\<skill-name> -CompareWithLegacy
```

That runner keeps one temp workspace, stages shared fixtures once, shares a benchmark-scoped cache, prewarms expensive resolver work where available, enforces bounded parallelism plus per-run timeouts, and still delegates aggregation and static review generation to the installed Anthropic `skill-creator` copy.

This repo treats that paired `with_skill` / `without_skill` comparison as part of the required devex for skill work. The benchmark artifacts live in the temp workspace; do not commit them to this repository unless the change explicitly calls for checked-in examples.

For scaffold/template skills, keep deterministic validators alongside evals. In this repo, `evals/evals.json` is mandatory, and validators like `scripts/validate-skill-templates.ps1` are additional protection.
Expand All @@ -120,7 +128,7 @@ Use the repo validation harness before submitting scaffold or template changes:
pwsh -NoProfile -File ./scripts/validate-skill-templates.ps1
```

Run the validator locally first for the fastest feedback loop. GitHub Actions also runs the same script on pull requests, but CI is the backstop, not the primary authoring loop.
Run the validator locally first for the fastest feedback loop. GitHub Actions also runs the same script on pull requests, but CI is the backstop, not the primary authoring loop.

To compare a change against the initial imported version, run the same harness against a git ref:

Expand Down
Loading
Loading