Agent skill

Raven Test Cleanup

by marinasundstrom in marinasundstrom/raven

Coverage-improvement workflow for Raven tests through cleanup.

MITAuto-check passedTesting & QA

Install Raven Test Cleanup

skills CLI
$ npx skills add marinasundstrom/raven --skill raven-test-cleanup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install marinasundstrom/raven raven-test-cleanup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/marinasundstrom/raven.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/raven-test-cleanup .claude/skills/raven-test-cleanup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
raven-test-cleanup
GitHub stars
108
Token cost
~2.2k tokens
SKILL.md length
1,108 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Coverage-improvement workflow for Raven tests through cleanup.

  • Works in 5 steps: Establish the test baseline once before… → Inspect the requested test files or… → Check the intended behavior in… → …
  • Increasing meaningful test coverage by reviewing
  • SKILL.md covers Start, Related Skills, Cleanup Decisions and Assertion Style, plus 5 more sections
  • Calls dotnet

What it does

Raven Test Cleanup is an agent skill from marinasundstrom/raven. Coverage-improvement workflow for Raven tests through cleanup. Use when increasing meaningful test coverage by reviewing, rewriting, repurposing, adding, deleting, or reorganizing stale tests after syntax or semantic behavior changed; when separating runtime/reflection-heavy coverage; or when proposing maintainability improvements by feature area and related behavior.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Test coverage and Content repurposing. The repository describes itself as: Raven is a pragmatic, typed, general-purpose programming language for .NET. The licence is MIT.

When your agent uses it

  • Increasing meaningful test coverage by reviewing
  • Reorganizing stale tests after syntax
  • Semantic behavior changed
  • Separating runtime/reflection-heavy coverage

Example prompts

  • “/raven-test-cleanup”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Establish the test baseline once before code changes with scripts/test-baseline.sh.
  2. Inspect the requested test files or feature area and identify the behavior each test is trying to protect and any documented behavior that…
  3. Check the intended behavior in docs/lang/spec/ first. Use docs/lang/proposals/ and old investigations only as historical context.
  4. If the spec, implementation, and tests disagree, do not assume the test is correct. Reduce the repro, compare against the spec, and either…
  5. After edits, run the focused tests and iterate until they pass. Broaden validation when the cleanup touches shared helpers, compiler…

What it can do on your machine

Read from SKILL.md and the folder at commit 562a449. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • dotnet

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Raven Test Cleanup loads about 2.2k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 1,108 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~97
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from marinasundstrom/raven at commit 562a449, republished under its MIT licence (© marinasundstrom). 1,108 words, ~2,166 tokens.

Download SKILL.mdSave it as .claude/skills/raven-test-cleanup/SKILL.md (or your agent's skills folder).
name
raven-test-cleanup
description
Coverage-improvement workflow for Raven tests through cleanup. Use when increasing meaningful test coverage by reviewing, rewriting, repurposing, adding, deleting, or reorganizing stale tests after syntax or semantic behavior changed; when separating runtime/reflection-heavy coverage; or when proposing maintainability improvements by feature area and related behavior.

Raven Test Cleanup

Use this skill when the task is primarily about increasing meaningful coverage in the Raven test suite. Cleanup is the mechanism: make tests match current language and compiler behavior, add focused coverage where behavior is missing, remove or replace stale coverage, run the relevant tests, and leave the affected test set passing.

Start

For large cleanup or coverage-improvement efforts, use a planned task sequence: define the current behavior slice, keep one step active, verify it before moving on, and re-evaluate the next slice after each result. Tell the user what the next step is after each verified slice. Prefer narrow coverage at the owning compiler/API layer before broad suite rewrites or sample-level validation.

  1. Establish the test baseline once before code changes with scripts/test-baseline.sh.
  2. Inspect the requested test files or feature area and identify the behavior each test is trying to protect and any documented behavior that lacks focused coverage.
  3. Check the intended behavior in docs/lang/spec/ first. Use docs/lang/proposals/ and old investigations only as historical context.
  4. If the spec, implementation, and tests disagree, do not assume the test is correct. Reduce the repro, compare against the spec, and either fix the compiler, update the test, or flag the inconsistency.
  5. After edits, run the focused tests and iterate until they pass. Broaden validation when the cleanup touches shared helpers, compiler behavior, runtime/emit paths, or cross-feature expectations.

Use WarningLevel=0 for ad hoc test runs.

Use test/Raven.CodeAnalysis.Tests/README.md as the test-suite ledger and impact map. It should help feature work, bug fixes, and cleanup passes quickly identify which area suites may be affected before broad baseline/runtime gates are run. When you change suite organization, isolate or exclude runtime/reflection-heavy tests, add skips, or discover incomplete behavior that is not fixed in the same pass, update that README with the tier, affected area, command, and follow-up expectation.

When the tests touch a specialized area, also apply the relevant Raven skill:

  • raven-feature-workflow for syntax, semantics, lowering, operations, codegen, language feature behavior, docs, or changelog updates
  • raven-debug-compiler for parser, binder, semantic model, lowering, emit, or runtime investigation
  • raven-test-triage for broad test failures, stabilization, baselines, and regression locking
  • raven-lsp-debug for hover, completion, diagnostics, semantic tokens, inlays, document symbols, request scheduling, or other language-server/editor behavior

Use the cleanup skill to increase useful coverage by deciding whether tests are stale, missing, duplicated, misplaced, or poorly asserted. Use the related skill for the domain-specific workflow and validation expectations.

Cleanup Decisions

Classify each stale or suspicious test before editing it:

  • Keep when it still describes current documented behavior and fails because the compiler regressed.
  • Rewrite when the behavior is still relevant but syntax, diagnostics, APIs, or assertion style changed.
  • Repurpose when the old scenario is obsolete but the setup covers a nearby feature gap.
  • Add when cleanup reveals current documented behavior with no focused coverage, especially after deleting stale tests or replacing broad legacy coverage.
  • Delete when it only encodes removed behavior, duplicate coverage, implementation scaffolding, or an assertion that is no longer meaningful.
  • Move when it belongs in a clearer feature area, shared behavior area, or isolated runtime/reflection suite.

Prefer fixing clearly wrong compiler behavior over preserving stale expectations in tests.

When adding coverage, keep it focused on the missing behavior and place it with the feature area or compiler API surface that owns the behavior. Do not compensate for vague stale tests by adding large overlapping suites.

Assertion Style

Prefer stable, feature-level assertions:

  • parser shape and recovery for syntax behavior
  • diagnostics for rejected programs
  • symbol, type, metadata, and operation shape for semantic behavior
  • observable runtime behavior for execution
  • public semantic API behavior for language-service-facing scenarios

Avoid stable tests that assert emitted opcodes, exact lowered instruction sequences, incidental diagnostic ordering, or private implementation details. If instruction-level checks are temporarily useful during development, keep them under test/Raven.CodeAnalysis.Tests/CodeGen/Development.

Show full SKILL.md (475 more words)Show less

Organization

Reorganize tests around the behavior a maintainer would look for:

  • feature areas for syntax and semantics, such as functions, properties, patterns, imports, aliases, unions, expressions, statements, type compatibility, and control flow
  • cross-cutting compiler APIs, such as semantic model, operations, diagnostics analyzers, incremental compilation, workspaces, and language-server presentation
  • runtime/reflection-heavy coverage in isolated locations or isolated scripts

When moving tests, preserve useful names and update namespaces to match the destination structure. Consolidate repeated setup only when it reduces real duplication without hiding the scenario under test.

Keep test/Raven.CodeAnalysis.Tests/README.md aligned with the organization: document which command owns each tier, which feature suite to run for each area, what neighboring behavior a feature or bug fix may impact, and which known gaps are intentionally outside the default baseline.

Runtime And Reflection

Keep runtime, emit, execution, and reflection-heavy tests separate from normal cleanup and baseline work.

  • Run normal baseline cleanup with scripts/test-baseline.sh.
  • Run heavy suites with scripts/test-runtime-isolated.sh when the change affects emit, runtime execution, metadata loading, or reflection.
  • Do not turn runtime behavior into fragile opcode or lowered-shape assertions.

Maintainability Review

When a cleanup uncovers broader structure issues, propose concrete follow-up changes:

  • feature folders that better match docs/lang/spec/
  • documentation updates for current behavior that should live in docs/ but is missing, stale, or only implied by tests
  • shared helpers for repeated compilation, diagnostics, or symbol assertions
  • renamed tests that describe current behavior rather than implementation history
  • removal of duplicate legacy coverage after equivalent behavior-focused tests exist
  • focused new coverage for documented behaviors that were previously only implied by stale or deleted tests
  • a split between fast compiler tests and runtime/reflection-heavy tests
  • updates to test/Raven.CodeAnalysis.Tests/README.md so later cleanup work starts from the current tiering, skip, and gap inventory

Keep the proposal close to the touched area unless the user asked for a full test-suite redesign.

Autonomy

Try to resolve stale tests independently by reducing examples, reading the spec, and checking nearby tests. Stop and ask for input only when the intended language behavior is genuinely unclear, the spec is contradictory, or deleting/rewriting coverage would erase a product decision rather than stale scaffolding.

Validation

  1. Run the smallest targeted test set that proves the edited tests now express the intended behavior.
  2. Fix failures in that target set unless they are clearly unrelated to the cleanup and documented as pre-existing baseline noise.
  3. Run the relevant baseline or isolated suite for the affected area and leave it passing relative to the established baseline.
  4. Use scripts/test-runtime-isolated.sh for runtime, emit, execution, metadata loading, or reflection-heavy coverage.
  5. Format touched C# files with dotnet format whitespace ... --include ... --no-restore. Use dotnet format style or dotnet format analyzers only when intentionally applying those fixes; analyzer/style formatters can rewrite code beyond whitespace.
  6. Summarize which tests were kept, rewritten, repurposed, added, deleted, or moved, which commands were run, and call out any spec questions left unresolved.

© marinasundstrom, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/raven-test-cleanup of marinasundstrom/raven.

Open the folder on GitHubat commit 562a449

Compare with similar skills

Raven Test Cleanup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Raven Test Cleanup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Raven Test Cleanup this skillmarinasundstrom/raven108—~2.2kAutomated safety check: PassMIT
Requirementsrizsotto/Bear6.5k—~2kAutomated safety check: PassGPL-3.0
Crap Analysisardalis/RiverBooks1352 repos~3.4kAutomated safety check: PassNone
Bmad Testarch Automatechenjackle45/SayIt1152 repos~867Automated safety check: PassMIT
Code Coverages3s-project/s3s311—~789Automated safety check: PassApache-2.0
Project Statusbactopia/bactopia522—~787Automated safety check: PassMIT

Similar skills

  • Requirements

    rizsotto/Bear

    Write, modify, or review a requirement file under docs/requirements -- pick the single owning file, keep the text contract-only, name IDs so they need no explanation, and verify cross-references and…

    6.5k GitHub stars~2k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Crap Analysis

    ardalis/RiverBooks

    Analyze code coverage and CRAP (Change Risk Anti-Patterns) scores to identify high-risk code.

    135 GitHub starsUsed in 2 repos~3.4k tokens
    Testing & QAAuto-check passed
  • Bmad Testarch Automate

    chenjackle45/SayIt

    Expand test automation coverage for codebase. An agent skill from chenjackle45/SayIt.

    115 GitHub starsUsed in 2 repos~867 tokens
    Testing & QAAuto-check passed
  • Code Coverage

    s3s-project/s3s

    Measure and grow the line coverage of the s3s crate. An agent skill from s3s-project/s3s.

    311 GitHub stars~789 tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Project Status

    bactopia/bactopia

    Show a live snapshot of the Bactopia project state — component counts, GroovyDoc coverage, nf-test coverage, and structural issues.

    522 GitHub stars~787 tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Check Coverage

    ldayton/Dippy

    Ensure comprehensive test coverage for a CLI handler. An agent skill from ldayton/Dippy.

    243 GitHub stars~403 tokensUpdated 4 mo ago
    Testing & QAAuto-check passed

More from marinasundstrom/raven

  • Raven Debug Compiler

    marinasundstrom/raven

    Debug workflow for Raven compiler analysis and emission issues using rvn frontend tooling and the rvnc compiler driver.

    108 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Raven Lsp Debug

    marinasundstrom/raven

    Troubleshooting workflow for Raven language service and editor failures.

    108 GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Raven Test Triage

    marinasundstrom/raven

    Testing and stabilization workflow for the Raven compiler test suite.

    108 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Raven Feature Workflow

    marinasundstrom/raven

    End-to-end workflow for Raven language and compiler feature work.

    108 GitHub stars~2.5k tokensUpdated today
    Auto-check passed

Categories

Questions about Raven Test Cleanup

What does Raven Test Cleanup do?

Coverage-improvement workflow for Raven tests through cleanup. Raven Test Cleanup is an agent skill from marinasundstrom/raven. Coverage-improvement workflow for Raven tests through cleanup.

When should I use Raven Test Cleanup?

Raven Test Cleanup fits situations like: increasing meaningful test coverage by reviewing; reorganizing stale tests after syntax; semantic behavior changed; separating runtime/reflection-heavy coverage.

How do I install Raven Test Cleanup in Claude Code?

Run `npx skills add marinasundstrom/raven --skill raven-test-cleanup -a claude-code`. Or copy the skill folder (.agents/skills/raven-test-cleanup in marinasundstrom/raven) into .claude/skills/raven-test-cleanup in your project. Claude Code loads it when a task matches its description.

How do I install Raven Test Cleanup in Codex?

Run `npx skills add marinasundstrom/raven --skill raven-test-cleanup -a codex`. Or copy the skill folder (.agents/skills/raven-test-cleanup in marinasundstrom/raven) into .agents/skills/raven-test-cleanup in your project. Codex loads it when a task matches its description.

Can I use Raven Test Cleanup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add marinasundstrom/raven --skill raven-test-cleanup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/raven-test-cleanup, .gemini/skills/raven-test-cleanup, .github/skills/raven-test-cleanup and .opencode/skills/raven-test-cleanup in your project.

What does Raven Test Cleanup need to run?

Going by SKILL.md and its folder, Raven Test Cleanup needs the command-line tools its instructions call (dotnet).

Does Raven Test Cleanup access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Raven Test Cleanup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Raven Test Cleanup use?

Raven Test Cleanup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Raven Test Cleanup use?

About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Raven Test Cleanup?

Skills that share tags, products or a category with Raven Test Cleanup: Requirements (rizsotto/Bear, 6.5k stars), Crap Analysis (ardalis/RiverBooks, 135 stars), Bmad Testarch Automate (chenjackle45/SayIt, 115 stars) and Code Coverage (s3s-project/s3s, 311 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Raven Test Cleanup?

marinasundstrom (a GitHub user) maintains it in marinasundstrom/raven, which has 108 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 10, 2026.

Source: marinasundstrom/raven on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.