원클릭으로
advanced-file-editor
Herramienta profesional de edición de archivos con múltiples estrategias, operaciones por lote y rollback automático.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Herramienta profesional de edición de archivos con múltiples estrategias, operaciones por lote y rollback automático.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Permite al agente consultar algo al usuario mostrando un panel interactivo con opciones seleccionables y una opción libre para respuesta personalizada
Invoca agentes especializados para realizar tareas complejas como desarrollo de código e investigación profunda
Invoca N agentes especializados en paralelo con visualización en pestañas
Conjunto avanzado de herramientas para operaciones CRUD y edición sofisticada de archivos.
Actualización simple de archivos.
Ejecuta comandos en la terminal del sistema y devuelve su salida
| name | advanced-file-editor |
| description | Herramienta profesional de edición de archivos con múltiples estrategias, operaciones por lote y rollback automático. |
| category | file_operations |
Herramienta profesional de edición de archivos con múltiples estrategias, operaciones por lote y rollback automático.
transaction_id. Se puede revertir con action: "rollback", transaction_id: "...".matched_span y applied_diff para que el LLM verifique el cambio.{
"path": "/ruta/al/archivo.txt",
"action": "replace_block",
"target_content": "texto a buscar",
"replacement_content": "nuevo texto",
"confirm": true
}
{
"path": "/ruta/al/archivo.txt",
"operations": [
{
"action": "insert_line",
"line_number": 5,
"content": "nueva línea"
},
{
"action": "replace_block",
"target_content": "viejo texto",
"replacement_content": "nuevo texto"
}
],
"confirm": true
}
Nota importante: En operaciones por lote, el parámetro path se hereda del contexto principal. No es necesario especificarlo en cada operación individual.
| Acción | Descripción | Parámetros Requeridos |
|---|---|---|
insert_line | Inserta contenido en una línea específica | line_number, content |
replace_block | Reemplaza un bloque de texto. Match EXACTO por defecto. | target_content, replacement_content |
replace_lines | Reemplaza un rango de líneas (1-based) | line_number, replacement_content |
insert_after_match | Inserta después de una coincidencia exacta | target_content, content |
insert_before_match | Inserta antes de una coincidencia exacta | target_content, content |
replace_regex | Reemplaza usando expresión regular | regex_pattern, replacement_content |
delete_lines | Elimina un rango de líneas | line_number, end_line (opcional) |
prepend_content | Añade contenido al inicio | content |
append_content | Añade contenido al final | content |
full_replacement | Reemplaza todo el contenido | content |
rollback | Revierte una transacción previa | transaction_id |
fuzzy (bool, default false): permite coincidencia flexible en replace_block / insert_*_match. Recomendado: dejar en false salvo necesidad real.require_unique (bool, default true): si true, falla con lista de líneas cuando el target aparece más de una vez.context_hint (string, opcional): substring único que debe estar dentro de ±20 líneas del match correcto. Permite desambiguar entre múltiples matches.Cuando se proporciona operations: [...], las operaciones se aplican de forma atómica:
failed_at: N y el mensaje de la operación que falló.Antes (comportamiento anterior): cada operación escribía a disco; un batch de 5 ops donde la 3ª fallaba dejaba 2 cambios persistidos. Esto ya no ocurre.
Cada conjunto de operaciones se envuelve en una transacción con ID único:
El sistema usa un matcher flexible que:
{
"path": "mi_archivo.py",
"action": "insert_after_match",
"target_content": "def main():",
"content": "\n # Nuevo código aquí"
}
{
"path": "config.json",
"operations": [
{"action": "replace_block", "target_content": "\"version\": \"1.0\"", "replacement_content": "\"version\": \"2.0\""},
{"action": "append_content", "content": "\n\"new_key\": \"value\""}
]
}
{
"path": "nuevo_archivo.txt",
"action": "full_replacement",
"content": "Contenido inicial del archivo"
}