morph-apply

Fast file editing via Morph Apply API (10,500 tokens/sec, 98% accuracy)

422 stars

Best use case

morph-apply is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Fast file editing via Morph Apply API (10,500 tokens/sec, 98% accuracy)

Teams using morph-apply should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/morph-apply/SKILL.md --create-dirs "https://raw.githubusercontent.com/vibeeval/vibecosystem/main/skills/morph-apply/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/morph-apply/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How morph-apply Compares

Feature / Agentmorph-applyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Fast file editing via Morph Apply API (10,500 tokens/sec, 98% accuracy)

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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:

```python
# ... 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
```bash
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
```bash
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
```bash
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

| Parameter | Description |
|-----------|-------------|
| `--file` | File path to edit (required) |
| `--instruction` | Human description of the change (required) |
| `--code_edit` | Code snippet with markers showing where to place edit (required) |

## vs Claude's Edit Tool

| Tool | Best For |
|------|----------|
| **morph-apply** | Fast edits, don't need to read file first, large files, batch edits |
| **Claude Edit** | Small 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

Related Skills

morph-search

422
from vibeeval/vibecosystem

Fast codebase search via WarpGrep (20x faster than grep)

workflow-router

422
from vibeeval/vibecosystem

Goal-based workflow orchestration - routes tasks to specialist agents based on user goals

wiring

422
from vibeeval/vibecosystem

Wiring Verification

websocket-patterns

422
from vibeeval/vibecosystem

Connection management, room patterns, reconnection strategies, message buffering, and binary protocol design.

visual-verdict

422
from vibeeval/vibecosystem

Screenshot comparison QA for frontend development. Takes a screenshot of the current implementation, scores it across multiple visual dimensions, and returns a structured PASS/REVISE/FAIL verdict with concrete fixes. Use when implementing UI from a design reference or verifying visual correctness.

verification-loop

422
from vibeeval/vibecosystem

Comprehensive verification system covering build, types, lint, tests, security, and diff review before a PR.

vector-db-patterns

422
from vibeeval/vibecosystem

Embedding strategies, ANN algorithms, hybrid search, RAG chunking strategies, and reranking for semantic search and retrieval.

variant-analysis

422
from vibeeval/vibecosystem

Find similar vulnerabilities across a codebase after discovering one instance. Uses pattern matching, AST search, Semgrep/CodeQL queries, and manual tracing to propagate findings. Adapted from Trail of Bits. Use after finding a bug to check if the same pattern exists elsewhere.

validate-agent

422
from vibeeval/vibecosystem

Validation agent that validates plan tech choices against current best practices

tracing-patterns

422
from vibeeval/vibecosystem

OpenTelemetry setup, span context propagation, sampling strategies, Jaeger queries

tour

422
from vibeeval/vibecosystem

Friendly onboarding tour of Claude Code capabilities for users asking what it can do.

tldr-stats

422
from vibeeval/vibecosystem

Show full session token usage, costs, TLDR savings, and hook activity