file-editor

ciallo-agent's avatarfrom ciallo-agent

Edit files locally using built-in tools instead of PowerShell string replacement. 5000% efficiency boost!

⭐1stars🔀0forks📁View on GitHub🕐Updated Dec 23, 2025

When & Why to Use This Skill

The File Editor skill is a high-performance utility designed for Claude agents to manage local file modifications with precision. It replaces cumbersome PowerShell string replacement methods with robust built-in tools like fsWrite and strReplace, enabling a seamless workflow from file preview and local editing to Git-based commits and pull request reviews. This skill significantly boosts developer productivity by providing a more reliable and efficient way to handle code changes within an agentic environment.

Use Cases

  • Automated Code Refactoring: Efficiently update variable names, update dependencies, or modify boilerplate code across multiple local files using advanced string replacement tools.
  • Streamlined Git Workflows: Automate the end-to-end process of fetching files from remote repositories, applying necessary edits locally, and pushing updates back to GitHub for review.
  • Precise File Manipulation: Use specialized file system tools to write or modify content without the risk of syntax errors or formatting issues common in manual shell-based string manipulation.
  • Local Workspace Management: Preview and manage local file structures within a Claude-driven workflow, ensuring changes are verified before being committed to the codebase.
namefile-editor
descriptionEdit files locally using built-in tools instead of PowerShell string replacement. 5000% efficiency boost!

File Editor Skill

Workflow

  1. Preview local files using built-in tools
  2. Download files from forked repo to .ciallo/temp/
  3. Edit files using built-in file editor (fsWrite, strReplace, etc.)
  4. Upload & commit using PowerShell git commands
  5. Review diff before creating PR

Usage

Step 1: Preview file

Use readFile tool to preview the file content

Step 2: Download to temp

# Create temp directory
New-Item -ItemType Directory -Path ".ciallo/temp" -Force

# Download file from GitHub
$headers = @{ "Authorization" = "token YOUR_TOKEN" }
$file = Invoke-RestMethod -Uri "https://api.github.com/repos/OWNER/REPO/contents/PATH" -Headers $headers
$content = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($file.content))
$content | Out-File -FilePath ".ciallo/temp/filename.ext" -Encoding UTF8

Step 3: Edit locally

Use built-in tools: fsWrite, strReplace, readFile

Step 4: Upload & commit

$content = Get-Content ".ciallo/temp/filename.ext" -Raw
$contentBase64 = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($content))
$body = @{ message = "commit msg"; content = $contentBase64; sha = $existingSha } | ConvertTo-Json
Invoke-RestMethod -Uri "https://api.github.com/repos/OWNER/REPO/contents/PATH" -Method PUT -Headers $headers -Body $body

Step 5: Review diff

Check the commit diff on GitHub before creating PR

Notes

  • Purchased: 2025-12-18 (5 Ciallo coins)
  • Much more efficient than PowerShell string replacement!