mcpbeat

Metamorphic Property Extractor

arabelatso/metamorphic-property-extractor

Automatically identify metamorphic properties (symmetry, linearity, additivity, input invariances) from programs or functions. Use when generating metamorphic tests, discovering program properties, validating transformations, or creating test oracles without explicit specifications. Analyzes control flow, data flow, and sample executions to output structured properties for metamorphic test generation and verification.

330 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
141
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/ArabelaTso/Skills-4-SE --skill metamorphic-property-extractor

The instruction itself

12 sections, as written by the author

Metamorphic Property Extractor

Overview

Automatically identify metamorphic properties from programs to enable metamorphic testing without explicit test oracles.

Core Workflow

1. Extract Properties

python scripts/property_extractor.py --program function.py --output properties.json

2. Verify Properties

python scripts/verify_properties.py --program function.py --properties properties.json

Metamorphic Properties

Symmetry

f(x, y) == f(y, x)

Linearity

f(a*x) == a*f(x)

Additivity

f(x + y) == f(x) + f(y)

Idempotence

f(f(x)) == f(x)

Permutation Invariance

f(permute(x)) == f(x)

Resources

  • references/metamorphic_testing.md: Metamorphic testing guide
  • scripts/property_extractor.py: Property extraction tool

How to use it

Copy the folder

Take arabelatso/metamorphic-property-extractor from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.