Skip to content
cccskills
FreePublished on GitHub

curate-tests

Phase 2: Generate and discover tests, validate against real library. Only invoke when explicitly requested by the user or by the yoink orchestrator.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md2.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Curate Tests

Do not invoke this skill unless explicitly requested. It is called by /yoink:yoink or run standalone by the user.

Prerequisite: /yoink:setup must have been run first (reference dir and real library must exist).

Parse your prompt to identify:

  • Package name: from the Package: line or --package argument
  • Target function/feature: from the Task: line or prompt body

Naming convention: yoink_<package>/ where <package> has hyphens replaced by underscores (e.g., package litellm -> yoink_litellm/).


1. Discover relevant tests

  • If --skip-test-discoverer is present then skip to step 2.

Use the yoink:test-discoverer agent to search for relevant tests from the original library's test suite.

Pass input as JSON:

{
  "package_name": "<PACKAGE>",
  "target_function": "<TARGET_FUNCTION>"
}

Discovered tests are reference material only. They exist so the test-generator can study real-world patterns and assertions. They are never executed during validation or any later step -- only generated tests are run.

2. Generate focused tests

Use the yoink:test-generator agent to write original pytest tests for the target function.

Pass input as JSON:

{
  "package_name": "<PACKAGE>",
  "target_function": "<TARGET_FUNCTION>"
}

3. Validate generated tests against the real library

Run only the generated tests using the script below against the installed real library. Do NOT run discovered tests -- they are reference only and may depend on API keys, network access, or fixtures that are not available.

uv run ${CLAUDE_PLUGIN_ROOT}/scripts/run_tests.py --project-dir . 2>&1
  • If all tests pass then proceed to the next step.
  • If any tests fail or error then investigate and fix the generated tests. Do NOT proceed to the next step until all generated tests pass against the real library.

4. Rewrite imports

After validation passes, rewrite imports in generated tests so they target yoink_<package>/:

uv run ${CLAUDE_PLUGIN_ROOT}/scripts/rewrite_imports.py --package <PACKAGE> --target-dir yoink_<PACKAGE>/tests/generated

5. Sanity check

Run the test suite against the empty yoink_<package>/ to confirm tests fail:

uv run ${CLAUDE_PLUGIN_ROOT}/scripts/run_tests.py --project-dir . --summary-only

Score should be ~0.0 (tests should fail against empty yoink_<package>/).

  • If score > 0 then something is wrong, investigate before proceeding.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Phase 3: Dependency decomposition. Only invoke when explicitly requested by the user or by the yoink orchestrator.

The English summary is being prepared. Showing the original description.

theogbrand/yoink38Updated Apr 5, 2026

This skill should be used when the user asks about "plugin settings", "store plugin configuration", "user-configurable plugin", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings", or wants to make plugin behavior configurable. Documents the .claude/plugin-name.local.md pattern for storing plugin-specific configuration with YAML frontmatter and markdown content.

The English summary is being prepared. Showing the original description.

theogbrand/yoink38Updated Apr 5, 2026

This skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.

The English summary is being prepared. Showing the original description.

theogbrand/yoink38Updated Apr 5, 2026

setup

Free

Scaffold project: clone repo, install real library. Only invoke when explicitly requested by the user or by the yoink orchestrator.

The English summary is being prepared. Showing the original description.

theogbrand/yoink38Updated Apr 5, 2026

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

The English summary is being prepared. Showing the original description.

theogbrand/yoink38Updated Apr 5, 2026

yoink

Free

Curate tests then decompose dependencies

The English summary is being prepared. Showing the original description.

theogbrand/yoink38Updated Apr 5, 2026

See all skills by theogbrand

Report a problem with this skill