Agent skill

Migrate E2E To Integration

by openshift in openshift/oc-mirror

Migrate an oc-mirror e2e test case to the integration test suite, translating framework, registry, invocation, and assertion patterns

Apache-2.0Auto-check passedTesting & QA

Install Migrate E2E To Integration

skills CLI
$ npx skills add openshift/oc-mirror --skill migrate-e2e-to-integration -a claude-code

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

GitHub CLI
$ gh skill install openshift/oc-mirror migrate-e2e-to-integration --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/openshift/oc-mirror.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/migrate-e2e-to-integration .claude/skills/migrate-e2e-to-integration && 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
migrate-e2e-to-integration
GitHub stars
124
Token cost
~1.5k tokens
SKILL.md length
688 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
Apache-2.0

At a glance

Migrate an oc-mirror e2e test case to the integration test suite, translating framework, registry, invocation, and assertion patterns

  • Works in 9 steps: Read project conventions → Locate and analyze the e2e test case → Check for existing integration coverage → …
  • Tasks that involve End-to-end testing
  • SKILL.md covers Input and Step-by-step process
  • Calls go

What it does

Migrate E2E To Integration is an agent skill from openshift/oc-mirror. Migrate an oc-mirror e2e test case to the integration test suite, translating framework, registry, invocation, and assertion patterns

Its SKILL.md is about 1.5k 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 End-to-end testing, Test generation and Integration testing. The repository describes itself as: Lifecycle manager for internet-disconnected OpenShift environments. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve End-to-end testing
  • Tasks that involve Test generation
  • Tasks that involve Integration testing

Example prompts

  • “/migrate-e2e-to-integration”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Read project conventions
  2. Locate and analyze the e2e test case
  3. Check for existing integration coverage
  4. Present the migration plan
  5. Translate the test
  6. Write the integration test
  7. Review the code
  8. Run the test
  9. Recommend e2e disposition

What it can do on your machine

Read from SKILL.md and the folder at commit 873d7db. 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:

    • go

    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

Migrate E2E To Integration loads about 1.5k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 688 words of instructions outside code blocks.

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

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 openshift/oc-mirror at commit 873d7db, republished under its Apache-2.0 licence (© openshift). 688 words, ~1,525 tokens.

Download SKILL.mdSave it as .claude/skills/migrate-e2e-to-integration/SKILL.md (or your agent's skills folder).
name
migrate-e2e-to-integration
description
Migrate an oc-mirror e2e test case to the integration test suite, translating framework, registry, invocation, and assertion patterns
user-invocable
true

Migrate E2E Test Case to Integration

Convert an existing e2e test case from tests/e2e/test/e2e/oc_mirror_v2.go into an integration test under tests/integration/.

Input

The user provides one of:

  • An e2e case number (e.g., 72973)
  • A test description or keyword

Step-by-step process

1. Read project conventions

Read AGENTS.md at the project root, and the documents at docs/testing for architecture, conventions, and pitfalls.

2. Locate and analyze the e2e test case

Search tests/e2e/test/e2e/oc_mirror_v2.go for the case number or description. Extract:

  • What scenario it tests (workflow, flags, edge case)
  • How oc-mirror is invoked (subcommand, flags, config)
  • What it asserts (images mirrored, files created, errors expected)
  • What test data config it uses (from tests/e2e/test/e2e/testdata/)

Do not attempt a 1:1 translation of the test case, consider if it makes sense at a high level, if it's already covered at the integration or unit levels, if the assertions are sound, if it could be made more efficient, etc.

3. Check for existing integration coverage

Read integration test files in tests/integration/ to verify the scenario isn't already covered. If it is, tell the user and suggest what additional value the e2e case provides, if any.

4. Present the migration plan

Before writing any code, present a detailed plan to the user and wait for approval. The plan must include:

  • E2E summary: What the original test does — scenario, flags, config, assertions.
  • Translation approach: How each part maps to integration patterns (runner method, assertion helpers, test structure). Call out anything that won't translate 1:1 and explain why.
  • Test data: Which existing ISC/DISC configs will be reused, and whether new ones are needed.
  • Target file: Where the new test will live and why (existing file vs new file).
  • Assertion coverage: List every assertion from the e2e case and the corresponding integration check. Flag any assertions that will be dropped or changed, with justification.
  • Improvements: Any improvements over the original (removing unnecessary polling, better assertions, broader coverage, etc.).

Do not proceed to implementation until the user approves the plan. If the user requests changes, revise and re-present.

5. Translate the test

Apply these conversions:

Registry setup
  • E2E: Manual pod deployment via createregistry(), TLS trust via trustCert(), pull secret extraction.
  • Integration: Use the suite's testRegistry global — it's started in BeforeEach and stopped in AfterEach automatically. No TLS or pull secret setup needed.
oc-mirror invocation
  • E2E: oc.WithoutNamespace().WithoutKubeconf().Run("mirror").Args(...) with manual flag construction.
  • Integration: Use runner methods from tests/integration/pkg/ocmirror/:
    • runner.MirrorToMirror(ctx, iscPath, workDir, registryEndpoint, ...extraFlags)
    • runner.MirrorToDisk(ctx, iscPath, workDir, ...extraFlags)
    • runner.DiskToMirror(ctx, iscPath, workDir, registryEndpoint, ...extraFlags)
    • runner.DeletePhaseOne(ctx, discPath, workDir, registryEndpoint, ...extraFlags)
    • runner.DeletePhaseTwo(ctx, deleteYaml, registryEndpoint, ...extraFlags)
    • runner.ListOperators(ctx, ...args)
    • runner.ListReleases(ctx, ...args)
Show full SKILL.md (269 more words)Show less
Polling and retries
  • E2E: Uses wait.Poll() and manual retry loops.
  • Integration: Remove all polling — integration calls are synchronous. The runner returns when oc-mirror exits.
Assertions
  • E2E: Raw o.Expect(...) on command output, manual image inspection.
  • Integration: Use helpers from tests/integration/helpers_test.go:
    • expectOcMirrorCommandSuccess(result, err)
    • expectSuccessfulMirrorInRegistry(iscPath, registry)
    • expectCorrectIDMS(workDir, iscPath)
    • expectValidDeleteImagesFiles(workDir, deleteID)
    • expectEmptyRegistry(registry)
    • Follow the expect* naming pattern for any new helpers.
Test images
  • E2E: Often uses real release images and production operator catalogs.
  • Integration: Use the self-hosted test images:
    • Catalog: quay.io/oc-mirror/oc-mirror-dev:test-catalog-latest
    • Release: quay.io/oc-mirror/release/test-release-index:v0.0.1
    • Additional: quay.io/openshifttest/hello-openshift@sha256:61b8f5...
Test data configs
  • Check existing ISC/DISC configs in tests/integration/testdata/imagesetconfigs/ first.
  • Only create new ones if the scenario needs a config that doesn't exist.
  • Use test images (above) instead of production images.
6. Write the integration test

Follow the automate-integration-test skill for the writing conventions:

  • Read tests/integration/integration_suite_test.go and tests/integration/helpers_test.go for current patterns
  • Use Ginkgo v2 structure: Describe / Context / It / By
  • Place the test in the appropriate existing file, or create a new one if it's a new category
  • Every line should earn its place — no superfluous comments, unused variables, or boilerplate
7. Review the code

Before running, verify:

  • Assertions actually test what the e2e case tested — don't lose coverage in the translation
  • No e2e-specific patterns leaked in (manual polling, cluster assumptions, production images)
  • Helpers are reused where possible
8. Run the test

Ask permission, then run:

bash
PATH=$PATH:<path-to-registry-bin> go test -v ./tests/integration/ --ginkgo.focus "<test label>"
9. Recommend e2e disposition

After the integration test passes, advise the user:

  • Remove the e2e case if it doesn't exercise anything cluster-specific (most common)
  • Keep the e2e case if it tests cluster-level behavior (IDMS application, node reboot, operator deployment to a real cluster)
  • Keep both temporarily if unsure, with a note to revisit

© openshift, Apache-2.0. 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/migrate-e2e-to-integration of openshift/oc-mirror.

Open the folder on GitHubat commit 873d7db

Compare with similar skills

Migrate E2E To Integration 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.

Migrate E2E To Integration compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Migrate E2E To Integration this skillopenshift/oc-mirror124—~1.5kAutomated safety check: PassApache-2.0
Scenario Testingaiskillstore/marketplace4301 repos~830Automated safety check: PassNone
Con CLI E2Enowledge-co/con-terminal625—~1.2kAutomated safety check: PassMIT
PR TestElite588/AUTOGPT103—~9.4kAutomated safety check: NotesCustom licence
Testing Strategiesancoleman/ai-design-components526—~3.8kAutomated safety check: PassMIT
Coveryonatangross/orchestkit289—~6.3kAutomated safety check: NotesMIT

Similar skills

  • Scenario Testing

    aiskillstore/marketplace

    This skill should be used when writing tests, validating features, or needing to verify code works.

    430 GitHub starsUsed in 1 repo~830 tokens
    Testing & QAAuto-check passed
  • Con CLI E2E

    nowledge-co/con-terminal

    Validate Con's local socket control plane against a real running app session, and write/run con-test integration tests.

    625 GitHub stars~1.2k tokensUpdated today
    Testing & QAAuto-check passed
  • PR Test

    Elite588/AUTOGPT

    E2E manual testing of PRs/branches using docker compose, agent-browser, and API calls.

    103 GitHub stars~9.4k tokensUpdated 5 mo ago
    Testing & QAAuto-check: notes
  • Testing Strategies

    ancoleman/ai-design-components

    Strategic guidance for choosing and implementing testing approaches across the test pyramid.

    526 GitHub stars~3.8k tokensUpdated 10 mo ago
    Testing & QAAuto-check passed
  • Cover

    yonatangross/orchestkit

    Generate tests that do not exist yet. An agent skill from yonatangross/orchestkit.

    289 GitHub stars~6.3k tokensUpdated today
    Testing & QAAuto-check: notes
  • Playwright Test

    AI-Unified-Process/marketplace

    Creates Playwright browser-based tests for Vaadin views using the Drama Finder library for type-safe element wrappers with accessibility-first APIs.

    141 GitHub stars~3.8k tokensUpdated 3 days ago
    Testing & QAAuto-check: warnings

More from openshift/oc-mirror

  • Automate Integration Test

    openshift/oc-mirror

    Convert a manual test case description into a Ginkgo oc-v2 integration test for oc-mirror

    124 GitHub stars~862 tokensUpdated today
    Auto-check passed
  • Check Test Coverage

    openshift/oc-mirror

    Analyze oc-mirror CLI feature coverage across integration and e2e tests, identifying untested features and gaps

    124 GitHub stars~853 tokensUpdated today
    Auto-check passed

Categories

Questions about Migrate E2E To Integration

What does Migrate E2E To Integration do?

Migrate an oc-mirror e2e test case to the integration test suite, translating framework, registry, invocation, and assertion patterns. Migrate E2E To Integration is an agent skill from openshift/oc-mirror.

When should I use Migrate E2E To Integration?

Migrate E2E To Integration fits situations like: tasks that involve End-to-end testing; tasks that involve Test generation; tasks that involve Integration testing.

How do I install Migrate E2E To Integration in Claude Code?

Run `npx skills add openshift/oc-mirror --skill migrate-e2e-to-integration -a claude-code`. Or copy the skill folder (.agents/skills/migrate-e2e-to-integration in openshift/oc-mirror) into .claude/skills/migrate-e2e-to-integration in your project. Claude Code loads it when a task matches its description.

How do I install Migrate E2E To Integration in Codex?

Run `npx skills add openshift/oc-mirror --skill migrate-e2e-to-integration -a codex`. Or copy the skill folder (.agents/skills/migrate-e2e-to-integration in openshift/oc-mirror) into .agents/skills/migrate-e2e-to-integration in your project. Codex loads it when a task matches its description.

Can I use Migrate E2E To Integration 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 openshift/oc-mirror --skill migrate-e2e-to-integration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/migrate-e2e-to-integration, .gemini/skills/migrate-e2e-to-integration, .github/skills/migrate-e2e-to-integration and .opencode/skills/migrate-e2e-to-integration in your project.

What does Migrate E2E To Integration need to run?

Going by SKILL.md and its folder, Migrate E2E To Integration needs the command-line tools its instructions call (go).

Does Migrate E2E To Integration 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 Migrate E2E To Integration 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 Migrate E2E To Integration use?

Migrate E2E To Integration is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Migrate E2E To Integration use?

About 1.5k tokens (SKILL.md is roughly 6.1k 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 Migrate E2E To Integration?

Skills that share tags, products or a category with Migrate E2E To Integration: Scenario Testing (aiskillstore/marketplace, 430 stars), Con CLI E2E (nowledge-co/con-terminal, 625 stars), PR Test (Elite588/AUTOGPT, 103 stars) and Testing Strategies (ancoleman/ai-design-components, 526 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Migrate E2E To Integration?

openshift (a GitHub organization) maintains it in openshift/oc-mirror, which has 124 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 7, 2026.

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