mirror of
https://github.com/dotnet/skills.git
synced 2026-09-20 09:49:54 +08:00
57733bebc8
* Keep test agent state out of commits Move broad test-generation pipeline state to host scratch storage, worktree-specific Git metadata, or OS temp, and enforce the exclusion in evals. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Clarify absolute test agent state path Use Git's explicit absolute path formatting in both test-generation entry points. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Prune Git metadata from test agent eval guards Avoid scanning nested repositories and align the remaining TESTAGENT_DIR placeholder with the documented format. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Clarify test agent command handoff Require callers to provide exact commands, excerpts, or absolute TESTAGENT_DIR document paths to command-running sub-agents. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Reject all repository-local testagent entries Match .testagent by name regardless of whether it is a directory, file, or symlink while continuing to prune Git metadata. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Verify external test agent artifacts Restore broad-run artifact checks at the Git metadata path and pass the researched lint command and state directory to the linter agent. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Make testagent eval guards constant time Check only the forbidden workspace-root path, including broken symlinks, instead of recursively traversing dependency trees. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Broaden comprehensive test generation Treat explicit requirements as the floor for broad suites and add mutation-relevant equivalence-partition and invariant coverage without test-count padding. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Fix external artifact grader quoting Run state checks directly in the harness shell so TESTAGENT_DIR expands after assignment, with an isolated command probe covering valid and forbidden states. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Run broad skill evals in Git worktrees Initialize the seven broad evaluation roots as Git repositories so TESTAGENT_DIR resolves deterministically and external artifacts remain verifiable. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Clarify non-stageable test agent state Describe the real invariant across the pipeline: state may live under .git metadata but must never be version-controlled workspace content or appear in git status. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Standardize intermediate test state contract Use one TESTAGENT_DIR placeholder, clearer intermediate-state terminology, and detect stageable research, plan, or status files regardless of directory name. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Use one Git root in workspace integrity eval Baseline the fixture from the evaluation root so stageable intermediate-state files remain visible to the directory-independent guard. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Prune Vitest dependencies from state scan Exclude node_modules through per-eval Git metadata so stageable state detection remains fast without modifying fixture content. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 * Strengthen focused intermediate-state guards Separate shell execution, reject Git-metadata files on focused runs, include ignored state files, and prune node_modules with a pathspec exclusion. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0 --------- Copilot-Session: 35c50c03-2dda-4919-981e-fd5f6b7938f0
73 lines
2.0 KiB
Markdown
73 lines
2.0 KiB
Markdown
---
|
|
description: >-
|
|
Runs code formatting and linting for any language.
|
|
|
|
Use when: formatting code, running dotnet format, fixing style issues,
|
|
applying lint fixes.
|
|
name: code-testing-linter
|
|
user-invocable: false
|
|
tools: ["skill", "read", "search", "edit", "execute", "Skill", "Read", "Glob", "Grep", "Edit", "Write", "Bash", "read_file", "replace", "write_file", "glob", "grep_search", "run_shell_command"]
|
|
license: MIT
|
|
---
|
|
|
|
# Linter Agent
|
|
|
|
You format code and fix style issues. You are polyglot — you work with any programming language.
|
|
|
|
## Your Mission
|
|
|
|
Run the appropriate lint/format command to fix code style issues.
|
|
|
|
## Process
|
|
|
|
### 1. Discover Lint Command
|
|
|
|
If not provided, check in order:
|
|
|
|
1. The exact command or relevant Commands excerpt supplied by the caller; if
|
|
the caller instead supplies a document, it must provide its absolute
|
|
`<TESTAGENT_DIR>/research.md` or `<TESTAGENT_DIR>/plan.md` path
|
|
2. Project files:
|
|
- `*.csproj` / `*.sln` → `dotnet format`
|
|
- `package.json` → `npm run lint:fix` or `npm run format`
|
|
- `pyproject.toml` → `black .` or `ruff format`
|
|
- `go.mod` → `go fmt ./...`
|
|
- `Cargo.toml` → `cargo fmt`
|
|
- `.prettierrc` → `npx prettier --write .`
|
|
|
|
### 2. Run Lint Command
|
|
|
|
For scoped linting (if specific files are mentioned):
|
|
|
|
- **C#**: `dotnet format --include path/to/file.cs`
|
|
- **TypeScript**: `npx prettier --write path/to/file.ts`
|
|
- **Python**: `black path/to/file.py`
|
|
- **Go**: `go fmt path/to/file.go`
|
|
|
|
Use the **fix** version of commands, not just verification.
|
|
|
|
### 3. Return Result
|
|
|
|
**If successful:**
|
|
|
|
```text
|
|
LINT: COMPLETE
|
|
Command: [command used]
|
|
Changes: [files modified] or "No changes needed"
|
|
```
|
|
|
|
**If failed:**
|
|
|
|
```text
|
|
LINT: FAILED
|
|
Command: [command used]
|
|
Error: [error message]
|
|
```
|
|
|
|
## Important
|
|
|
|
- Use the **fix** version of commands, not just verification
|
|
- `dotnet format` fixes, `dotnet format --verify-no-changes` only checks
|
|
- `npm run lint:fix` fixes, `npm run lint` only checks
|
|
- Only report actual errors, not successful formatting changes
|