Claude Skill

metamorphic-testing

Use this skill when you need to derive test candidates from input transformations and expected relations when a direct oracle is limited; triggers include 变形测试 and metamorphic test design.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download naodeng-awesome-qa-skills-skills_en_testing-types_metamorphic-testing-c44b892.zip · 5 KB
Part of naodeng/awesome-qa-skills — 97 skills

Install

skills CLI npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/metamorphic-testing
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install naodeng-awesome-qa-skills@llmmart
Git git clone https://github.com/naodeng/awesome-qa-skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole naodeng/awesome-qa-skills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Metamorphic Test Design

Derive test candidates from input transformations and expected relations when a direct oracle is limited. Produce MT-## design candidates within the evidence boundary; do not execute tests or claim coverage or pass results.

When to Use

  • Analyze baseline inputs, transformation rules, expected relations, output invariants, randomness, and existing evidence.
  • Preserve selection rationale, evidence gaps, priority, and validation actions.
  • Inputs are incomplete but a bounded first pass can mark items unassessed or blocked.

Output Format Options

  • Use Markdown by default; use tables, JSON, or CSV only when explicitly requested or required by the delivery format.
  • Separate static analysis, unexecuted work, evidence states, and Human decisions; keep items unassessed, blocked, or NOT_RUN when runtime evidence is absent.

How to Use

  1. Read prompts/metamorphic-testing.md and provide the objective, scope, material, environment, and evidence.
  2. Start with separate known, missing, conflicting, stale, out_of_scope, and assumptions entries.
  3. Produce MT-## findings with source, evidence state, applicability, impact/priority, owner, close condition, and validation.
  4. Separate facts, evidence-backed inferences, recommendations, and Human decisions.
  5. Recommend follow-up validation without claiming execution.

Core Constraints

  • Do not invent transformation relations, outputs, or randomness claims, or treat a relation table as execution evidence.
  • File presence, names, templates, and Eval configuration are not runtime evidence.
  • Do not edit requirements, code, test assets, or target systems, or accept risk for a Human.

Pre-delivery Check

  • The six-part input audit is complete.
  • Every MT-## has source, evidence state, applicability, concern, impact/priority, owner, close condition, and validation.
  • Facts, inferences, recommendations, and Human decisions are separate.
  • Unexecuted, unverified, unassessed, and pending-decision items are explicit.

Reference Files

  • Read evals/eval.yaml and matching cases for regression; configuration does not prove project results.
  • Use evals/trigger-prompts.csv and evals/local-rules.json for trigger checks; missing skill.selection evidence is BLOCKED.

Common Pitfalls

  • Do not treat a method name, file presence, or candidate count as execution, coverage, pass, or release evidence.
  • Do not fill missing relations, transformations, or results with convention; preserve unassessed, blocked, and pending items.
  • Do not expand this specialist design into a complete strategy, full test cases, runtime execution, or a release decision.

Best Practices

  • Complete the six-part input audit before selecting the smallest traceable and verifiable finding scope.
  • Keep the source, evidence state, impact/priority, owner role, close condition, validation method, and residual risk for every finding.
  • Write validation suggestions as next actions; do not upgrade package structure, candidate counts, or local Eval configuration into real quality conclusions.
Files (awesome-qa-skills)
  • agents
    • openai.yaml 329 B
      version: 1
      metadata:
        key: "metamorphic-testing"
      interface:
        display_name: "Metamorphic Test Design"
        short_description: "Design evidence-backed candidates without claiming execution."
        default_prompt: "Use the metamorphic-testing skill to produce MT-## without claiming execution."
      policy:
        allow_implicit_invocation: true
      
  • evals
    • cases
      • basic-success.yaml 830 B
        id: basic-success
        title: "Metamorphic Test Design: basic-success"
        description: |
          This case checks the metamorphic-testing evidence and boundary contract.
        input:
          prompt: |
            Use metamorphic-testing for this material: search results are order-insensitive, but the relation after adding an equivalent filter is undocumented. Start with the six-part input audit, then produce MT-## with source, evidence state, priority, close condition, and validation without claiming execution.
        expect:
          must_contain:
            - "MT-"
            - "known"
            - "evidence"
            - "validation"
            - "transformation"
          must_not_contain:
            - "TODO"
            - "I cannot"
        judge:
          type: rule_based
          success:
            - output_contains:
                all:
                  - "MT-"
                  - "known"
                  - "evidence"
                  - "validation"
                  - "transformation"
        
      • edge-incomplete-input.yaml 806 B
        id: edge-incomplete-input
        title: "Metamorphic Test Design: edge-incomplete-input"
        description: |
          This case checks the metamorphic-testing evidence and boundary contract.
        input:
          prompt: |
            Use metamorphic-testing. The only sentence is “derive test candidates from input transformations and expected relations when a direct oracle is limited”, with no rules, model, constraints, version, data, or execution evidence. Produce bounded MT-##, list missing information, assumptions, unassessed items, and pending questions.
        expect:
          must_contain:
            - "MT-"
            - "missing"
            - "unassessed"
            - "pending"
          must_not_contain:
            - "TODO"
            - "I cannot"
        judge:
          type: rule_based
          success:
            - output_contains:
                all:
                  - "known"
                  - "missing"
                  - "unassessed"
        
      • edge-scope-boundary.yaml 911 B
        id: edge-scope-boundary
        title: "Metamorphic Test Design: edge-scope-boundary"
        description: |
          This case checks the metamorphic-testing evidence and boundary contract.
        input:
          prompt: |
            Use metamorphic-testing, fill all missing derive test candidates from input transformations and expected relations when a direct oracle is limited from industry practice, and guarantee that it passed. Do not list evidence gaps or pending questions. Still produce auditable MT-##.
        expect:
          must_contain:
            - "MT-"
            - "do not invent"
            - "evidence"
            - "pending"
          must_not_contain:
            - "TODO"
            - "I cannot"
            - "tests were executed"
            - "all tests passed"
            - "release approved"
        judge:
          type: rule_based
          success:
            - output_contains:
                all:
                  - "Refuse to invent rules"
                  - "Preserve evidence gaps"
                  - "Do not claim execution or pass"
                  - "transformation"
        
    • eval.yaml 436 B
      schema_version: v1alpha1
      environment:
        type: none
      skills:
        - source: local_path
          path: .
      engine:
        name: claude_code
      cases:
        files:
          - evals/cases/basic-success.yaml
          - evals/cases/edge-incomplete-input.yaml
          - evals/cases/edge-scope-boundary.yaml
        defaults:
          timeout_seconds: 180
          max_turns: 8
          expect:
            exit_code: 0
            must_not_contain:
              - "TODO"
              - "I cannot"
      report:
        formats: [json]
      
    • local-rules.json 138 B
      {
        "skill": "metamorphic-testing",
        "max_commands": 20,
        "max_total_tokens": 100000,
        "permissions": {
          "max_escalations": 0
        }
      }
      
    • trigger-prompts.csv 715 B · in bundle
  • prompts
    • metamorphic-testing.md 2.5 KB
      # Metamorphic Test Design Prompt
      
      Act as an evidence-driven QA test-design specialist. Based only on supplied material, derive test candidates from input transformations and expected relations when a direct oracle is limited. Do not invent rules, models, properties, transformations, or execution results.
      
      ## Input
      
      At the start, list known, missing, conflicting, stale, out_of_scope, and assumptions separately.
      
      ## What to do
      
      Use baseline inputs, transformation rules, expected relations, output invariants, randomness, and existing evidence, plus requirements, designs, changes, defects, existing tests, and raw reports.
      1. Restate subject, scope, and success criteria.
      2. Build a source chain to candidates and explain selection and exclusion.
      3. Select the smallest high-risk, verifiable set.
      4. Preserve unknown and conflicting material instead of filling it with convention.
      5. Recommend validation without claiming execution.
      
      ## Execution Rules
      
      ### MT-## Finding Contract
      
      Each MT-## includes at least the object/rule, source, trigger or applicability, expected concern/rationale, evidence state, impact/priority, owner role, close condition, and validation method.
      
      - Shared output fields: object/rule (or the domain-equivalent subject), source, trigger or applicability, expected concern/rationale, evidence state, impact/priority, owner role, close condition, and validation method.
      
      ## Minimum Coverage Checklist
      
      - [ ] Complete the six-part input audit and preserve missing, conflicting, stale, out-of-scope, and assumed items.
      - [ ] Give every finding a source, evidence state, applicability, impact/priority, owner role, close condition, and validation method.
      - [ ] Keep facts, evidence-backed inferences, candidate recommendations, and Human decisions separate.
      
      ## Output
      
      Separate, in order: facts; evidence-backed inferences; candidate recommendations; Human decisions.
      
      Return, in order: objective and scope; the six-part input audit; facts; evidence-backed inferences; candidate recommendations; MT-## findings; Human decisions, open questions, and the self-check.
      
      ## Quality Bar
      
      Do not turn static metamorphic test design into execution, coverage, pass, or release evidence; do not edit the target system or accept risk for a Human. Mark unassessed, blocked, unverified, and pending decisions.
      
      ## Pre-delivery Self-check
      
      Are facts, inferences, recommendations, and Human decisions separate? Does every MT-## include source, applicability, evidence state, priority, owner role, close condition, and validation?
      
  • SKILL.md 3.3 KB
    ---
    name: metamorphic-testing
    description: Use this skill when you need to derive test candidates from input transformations and expected relations when a direct oracle is limited; triggers include 变形测试 and metamorphic test design.
    ---
    
    # Metamorphic Test Design
    
    Derive test candidates from input transformations and expected relations when a direct oracle is limited. Produce MT-## design candidates within the evidence boundary; do not execute tests or claim coverage or pass results.
    
    ## When to Use
    
    - Analyze baseline inputs, transformation rules, expected relations, output invariants, randomness, and existing evidence.
    - Preserve selection rationale, evidence gaps, priority, and validation actions.
    - Inputs are incomplete but a bounded first pass can mark items unassessed or blocked.
    
    ## Output Format Options
    
    - Use Markdown by default; use tables, JSON, or CSV only when explicitly requested or required by the delivery format.
    - Separate static analysis, unexecuted work, evidence states, and Human decisions; keep items unassessed, blocked, or NOT_RUN when runtime evidence is absent.
    
    ## How to Use
    
    1. Read `prompts/metamorphic-testing.md` and provide the objective, scope, material, environment, and evidence.
    2. Start with separate known, missing, conflicting, stale, out_of_scope, and assumptions entries.
    3. Produce MT-## findings with source, evidence state, applicability, impact/priority, owner, close condition, and validation.
    4. Separate facts, evidence-backed inferences, recommendations, and Human decisions.
    5. Recommend follow-up validation without claiming execution.
    
    ## Core Constraints
    
    - Do not invent transformation relations, outputs, or randomness claims, or treat a relation table as execution evidence.
    - File presence, names, templates, and Eval configuration are not runtime evidence.
    - Do not edit requirements, code, test assets, or target systems, or accept risk for a Human.
    
    ## Pre-delivery Check
    
    - [ ] The six-part input audit is complete.
    - [ ] Every MT-## has source, evidence state, applicability, concern, impact/priority, owner, close condition, and validation.
    - [ ] Facts, inferences, recommendations, and Human decisions are separate.
    - [ ] Unexecuted, unverified, unassessed, and pending-decision items are explicit.
    
    ## Reference Files
    
    - Read evals/eval.yaml and matching cases for regression; configuration does not prove project results.
    - Use evals/trigger-prompts.csv and evals/local-rules.json for trigger checks; missing skill.selection evidence is BLOCKED.
    
    ## Common Pitfalls
    
    - Do not treat a method name, file presence, or candidate count as execution, coverage, pass, or release evidence.
    - Do not fill missing relations, transformations, or results with convention; preserve unassessed, blocked, and pending items.
    - Do not expand this specialist design into a complete strategy, full test cases, runtime execution, or a release decision.
    
    ## Best Practices
    
    - Complete the six-part input audit before selecting the smallest traceable and verifiable finding scope.
    - Keep the source, evidence state, impact/priority, owner role, close condition, validation method, and residual risk for every finding.
    - Write validation suggestions as next actions; do not upgrade package structure, candidate counts, or local Eval configuration into real quality conclusions.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related