Get the FREE Ultimate OpenClaw Setup Guide →

morph-apply

npx machina-cli add skill parcadei/Continuous-Claude-v3/morph-apply --openclaw
Files (1)
SKILL.md
2.9 KB

Morph Fast Apply

Fast, AI-powered file editing using the Morph Apply API. Edit files without reading them first. Processes at 10,500 tokens/sec with 98% accuracy.

When to Use

  • Fast file edits without reading entire file first
  • Batch edits to a file (multiple changes in one operation)
  • When you know what to change but file is large
  • Large files where reading would consume too many tokens

Key Pattern: Code Markers

Use // ... existing code ... (or language-appropriate comments) to mark where edits go:

# ... existing code ...
try:
    result = process()
except Exception as e:
    log.error(e)
# ... existing code ...

The API intelligently places your edit in the right location.

Usage

Add error handling

uv run python -m runtime.harness scripts/mcp/morph_apply.py \
    --file "src/auth.py" \
    --instruction "Add error handling to login function" \
    --code_edit "# ... existing code ...
try:
    user = authenticate(credentials)
except AuthError as e:
    log.error(f'Auth failed: {e}')
    raise
# ... existing code ..."

Add logging

uv run python -m runtime.harness scripts/mcp/morph_apply.py \
    --file "src/api.py" \
    --instruction "Add debug logging" \
    --code_edit "# ... existing code ...
logger.debug(f'Processing request: {request.id}')
# ... existing code ..."

TypeScript example

uv run python -m runtime.harness scripts/mcp/morph_apply.py \
    --file "src/types.ts" \
    --instruction "Add user validation" \
    --code_edit "// ... existing code ...
if (!user) throw new Error('User not found');
if (!user.isActive) throw new Error('User inactive');
// ... existing code ..."

Parameters

ParameterDescription
--fileFile path to edit (required)
--instructionHuman description of the change (required)
--code_editCode snippet with markers showing where to place edit (required)

vs Claude's Edit Tool

ToolBest For
morph-applyFast edits, don't need to read file first, large files, batch edits
Claude EditSmall precise edits when file is already in context

Use morph-apply when:

  • File is not in context and reading it would be expensive
  • File is very large (>500 lines)
  • Making multiple related edits at once
  • You know the context of the change (function name, class, etc.)

Use Claude Edit when:

  • File is already in context from prior Read
  • Very precise edits requiring exact old/new string matching
  • Small files (<200 lines)

MCP Server Required

Requires morph server in mcp_config.json with MORPH_API_KEY.

Performance

  • Speed: 10,500 tokens/sec
  • Accuracy: 98% correct placement
  • Token savings: Don't need to read entire file first

Source

git clone https://github.com/parcadei/Continuous-Claude-v3/blob/main/.claude/skills/morph-apply/SKILL.mdView on GitHub

Overview

Morph Fast Apply enables AI-powered, rapid edits directly in large files without reading the entire file first. It processes edits at 10,500 tokens/sec with 98% accuracy, making bulk changes faster and more reliable.

How This Skill Works

You provide a target file, a human instruction, and a code_edit block marked with // ... existing code ... markers. The Morph Apply API uses those markers to anchor the edit and insert changes at the correct location, without requiring a full file read. This supports multi-edit batches and cross-language marking through language-appropriate comments.

When to Use It

  • Fast edits without reading the entire file first
  • Batch edits to a file (multiple changes in one operation)
  • You know what to change but the file is very large
  • Editing large files where reading would consume too many tokens
  • Need edits placed in the correct location automatically without manual search

Quick Start

  1. Step 1: Prepare your --file, --instruction, and a --code_edit block with // ... existing code ... markers
  2. Step 2: Run the morph-apply harness, e.g. uv run python -m runtime.harness scripts/mcp/morph_apply.py --file "<path>" --instruction "<description>" --code_edit "<markers>"
  3. Step 3: Review the diff, run tests, and commit the changes

Best Practices

  • Use code markers like // ... existing code ... or equivalent language comments to indicate insertion points
  • Write a precise, outcome-focused --instruction describing the exact change
  • Include enough surrounding code context in --code_edit around the markers
  • Group related edits into a single morph-apply run for large or batch changes
  • Configure the Morph server in mcp_config.json with MORPH_API_KEY to enable access

Example Use Cases

  • Python: Add error handling to login function in src/auth.py
  • Python: Add debug logging to API request handling in src/api.py
  • TypeScript: Add user validation checks in src/types.ts
  • Python: Wrap login flow with try/except for resilience in src/auth.py
  • TypeScript: Add input validation guards in src/main.ts

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers