Evidence-driven skills for software migration, authorized reconstruction/cloning, and feature adoption.
The pack is designed as a self-healing skill system: real runs feed reviewed regression evidence back into references, fixtures, schemas, and hard gates. This is prompt/artifact evolution with human approval.
The mew-migration skill turns a short migration, clone/reconstruction, or
feature request into an end-to-end run. It selects contract-only, mixed, or
differential verification from the approved behavior and available oracle.
Phase skills handle repository mapping, observable-behavior capture, planning,
and specialized verification on demand.
See docs/HOW-IT-WORKS.md for a visual walkthrough (flowcharts + sequence
diagrams) of the run lifecycle, verification-route decision, approval gate,
and observation's channel model — same rules as below, easier to scan.
| Skill | Phase | What it does |
|---|---|---|
mew-migration |
END TO END | Orchestrates and resumes migration, authorized reconstruction/cloning, and feature adoption. Selects verification by oracle presence, maintains durable progress across sessions, and stops for approval before implementation. |
repo-cartographer |
INGEST + REPRODUCE | Inventory source repo: public APIs, CLI, file formats, DB effects, env vars, telemetry, platforms, perf. Lock source commit. |
behavior-contract |
OBSERVE + CONTRACT | Capture observable behavior and required evolution. Label properties preserve / introduce / intentionally-change / deprecate / unknown, with baseline, characterization, regression, or contract-spec oracles. |
migration-planner |
MIGRATION PLAN | Build a semantic map, select pilot slices, define migration units, set stop conditions and performance budgets. Uses Strangler Fig and Branch By Abstraction patterns. |
differential-migration |
IMPLEMENT + VERIFY | Implement target-language slices, run differential tests against the old implementation, produce a parity report. 9-class failure taxonomy (McKeeman 1998). |
observation |
OBSERVE + VERIFY | Reconstruct an authorized running system (web, TUI, mobile, desktop, device) with a five-channel evidence model (structure, I/O contract, diagnostics, state capture, vision). Ships a Web/Playwright driver profile. Vision is never the sole oracle. |
JSON Schema files validate every artifact a skill produces:
schemas/run-manifest.schema.json— run identity, source lock, tool registryschemas/run-state.schema.json— resumable work items, focus, and parent/child run linksschemas/migration-request.schema.json— normalized intake for a short end-to-end requestschemas/behavioral-contract.schema.json— property list with preservation labelsschemas/migration-plan.schema.json— semantic map, pilot units, stop conditionsschemas/parity-report.schema.json— differential results, mismatch queue, verdict, tolerance classschemas/evidence.schema.json— evidence.jsonl entry formatschemas/repro.schema.json— Phase 0 reproducible environment pinschemas/provenance.schema.json— provenance & licensing (SPDX, SLSA)schemas/repo-inventory.schema.json— scoped target surfaces, dependencies, evidence references, and exclusionsschemas/capability-report.schema.json— read-only host capability preflight reportschemas/derivations.schema.json— run-artifact derivation record (artifact → inputs with SHA-256)
Human-approved guardrails that constrain agent behavior:
policies/sdk-selection.md— prefer official SDKs, never hand-rollpolicies/command-allowlist.md— safe vs forbidden shell commandspolicies/network-policy.md— sandbox and network boundariespolicies/secret-handling.md— redaction, no secrets in evidencepolicies/licensing-and-provenance.md— license compatibility tracking
INGEST → REPRODUCE → OBSERVE → GRILL → CONTRACT → MIGRATION PLAN
→ [HUMAN APPROVAL] → IMPLEMENT IN SLICES → DIFFERENTIAL VERIFY → HANDOFF → RETRO
Human approval gates exist at: behavioral contract, dependency/SDK substitution, accepted deviations, destructive actions.
bash scripts/validate.shChecks: agentskills validate on every skill, JSON Schema syntax, frontmatter security (no < >), name == directory name.
Validation also enforces a 500-line cap per SKILL.md, validates the pinned holdout manifest, runs the regression fixtures, and runs the capability preflight.
validate.sh checks the pack itself. To gate a run's artifacts against the
schemas (the enforcement the skills instruct), point the run gate at a run dir:
python3 scripts/validate_run.py <target>/.mew/runs/<run-id>/It validates each produced artifact and every evidence.jsonl line, exiting
non-zero on any schema drift.
Run inside the target repository. Detects an existing .claude/, .codex/,
.kiro/, or .opencode/ directory and installs there (falls back to
.agents/skills/):
curl -fsSL https://raw.githubusercontent.com/tripplen23/mew-skills/main/install.sh | bashForce a specific host:
curl -fsSL https://raw.githubusercontent.com/tripplen23/mew-skills/main/install.sh | bash -s -- --host opencodeThe script caches a shallow clone at ~/.cache/mew-skills (override with
MEW_SKILLS_CACHE) and re-pulls it on subsequent runs. It forwards any flags
to scripts/install-agent-skills.py, so --copy and --uninstall work too.
Install once into the user-level skill directories shared by OpenCode, Codex, and other Agent-Skills-compatible agents. No target repository needed:
curl -fsSL https://raw.githubusercontent.com/tripplen23/mew-skills/main/install.sh | bash -s -- --globalThe default global install targets ~/.agents/skills/ (shared by OpenCode,
Codex, and agent-skills). It also registers the six skills as OpenCode slash
commands under ~/.config/opencode/commands/, so /mew-migration and friends
are available from the OpenCode / menu immediately. Install for a different
host's global directory instead (Claude Code ~/.claude/skills/, Kiro
~/.kiro/skills/, Hermes ~/.hermes/skills/):
curl -fsSL https://raw.githubusercontent.com/tripplen23/mew-skills/main/install.sh | bash -s -- --global --host claudeSkills are symlinked to the cached clone by default. Re-pulling the cache updates every installed copy automatically — a single command refreshes all global installs (OpenCode, Codex, Claude Code, Kiro, Hermes) at once:
curl -fsSL https://raw.githubusercontent.com/tripplen23/mew-skills/main/install.sh | bash -s -- updateupdate re-runs the installer against each already-installed global skill
directory, refreshing existing skills and linking any newly added ones. It
detects each install's mode: symlinked installs re-link, copied installs
re-copy — so --copy installs are kept up to date too. Pass update --copy
to additionally convert a symlinked install into a copied one.
# Clone
git clone https://github.com/tripplen23/mew-skills.git
# Tap into Hermes
hermes skills tap add tripplen23/mew-skills
# Or copy individual skills into another agent's skills directory
cp -r skills/repo-cartographer ~/.hermes/skills/Given workspace/target/ and workspace/mew-skills/, install into the host's
project skill directory:
cd workspace
python3 scripts/install-agent-skills.py --host claude ../target
python3 scripts/install-agent-skills.py --host codex ../target
python3 scripts/install-agent-skills.py --host opencode ../target
python3 scripts/install-agent-skills.py --host kiro --copy ../targetThe installer excludes local links through .git/info/exclude, so they do not
enter the target pull request.
A complete migration request can stay short:
Use mew-migration to add <capability> to this repository while preserving
existing behavior. Treat <reference repository or URL> as design evidence,
prefer official SDKs, and keep the change minimal.
See docs/integrations/ for OpenCode, Claude Code, Codex, Kiro (IDE + CLI),
copy mode, uninstall, and discovery verification notes.
- Evidence over claims. Every skill returns artifacts, not prose assertions.
- Earned autonomy. Agents prove behavior slice by slice before receiving broader scope.
- Fresh-context review. Reviewers see the diff and contract, not the author's reasoning.
- Deterministic gates. CI decides whether evidence passes — not agent confidence.
- Human approval at boundaries. Contracts, SDK substitution, deviations, destructive actions.
- Self-healing, not self-modifying. Runs propose evidence-backed skill changes after handoff; maintainers review them before the shared pack changes.
- Generalization before promotion. Repo-specific lessons stay in repo context; universal changes must not regress pinned holdouts.
See docs/RESEARCH.md for the primary sources that informed this design.
MIT