morph-apply — скилл для Claude Code: правка файлов
Скилл отправляет правки файлов через Morph Apply API, не требуя сначала читать весь файл. Пригодится для крупных файлов и нескольких связанных изменений за один проход.
npx skills add parcadei/Continuous-Claude-v3 --skill morph-apply -a claude-codeЧто делает morph-apply
В запросе задаются путь через --file, описание изменения через --instruction и фрагмент кода с маркерами ... existing code ... через --code_edit. Маркеры помогают API определить место вставки. Примеры в скилле показывают добавление обработки ошибок, логирования и проверки TypeScript-кода.
Для работы нужен сервер morph в mcp_config.json и ключ MORPH_API_KEY. Запуск примеров использует uv run python -m runtime.harness scripts/mcp/morph_apply.py. Для точной замены старого фрагмента в уже прочитанном файле в описании рекомендуют Claude Edit, а не этот скилл.
Какие задачи решает
- внести правку в большой файл, не читая его целиком
- добавить несколько связанных изменений за один запрос
- вставить обработку ошибок в функцию
- добавить отладочное логирование
- добавить проверки пользователя в TypeScript
Примеры запросов агенту
- Добавь обработку ошибок в
src/auth.pyдля функции входа. - Добавь отладочное логирование при обработке запроса в
src/api.py. - Добавь проверку пользователя в
src/types.ts.
Как установить morph-apply
1Через Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill morph-apply -a claude-code2Вручную: положить файлы
~/.claude/skills/morph-apply/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/morph-apply/
1Через Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill morph-apply -a codex2Вручную: положить файлы
.agents/skills/morph-apply/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill morph-apply -a cursor2Вручную: положить файлы
.cursor/skills/morph-apply/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install parcadei/Continuous-Claude-v3 morph-apply2Вручную: положить файлы
.github/skills/morph-apply/SKILL.md1Через Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill morph-apply -a gemini-cli2Командой платформы
gemini skills install https://github.com/parcadei/Continuous-Claude-v3 --path .claude/skills/morph-applyВручную: положить файлы
.devin/skills/morph-apply/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill morph-apply -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о morph-apply
Как установить morph-apply в Claude Code?
Выполните npx skills add parcadei/Continuous-Claude-v3 --skill morph-apply -a claude-code. Файл скилла: ~/.claude/skills/morph-apply/SKILL.md.
Что делает morph-apply?
Он применяет описанные изменения к файлу через Morph Apply API, используя кодовый фрагмент с маркерами места вставки.
Что нужно настроить для работы morph-apply?
Нужен сервер morph в mcp_config.json и переменная MORPH_API_KEY.
Исходный текст
SKILL.md · MIT
---
name: morph-apply
description: Fast file editing via Morph Apply API (10,500 tokens/sec, 98% accuracy)
allowed-tools: [Bash, Read]
---
# 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
© parcadei · MIT · parcadei/Continuous-Claude-v3