file-editor
Edit files locally using built-in tools instead of PowerShell string replacement. 5000% efficiency boost!
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.
| name | file-editor |
|---|---|
| description | Edit files locally using built-in tools instead of PowerShell string replacement. 5000% efficiency boost! |
File Editor Skill
Workflow
- Preview local files using built-in tools
- Download files from forked repo to
.ciallo/temp/ - Edit files using built-in file editor (fsWrite, strReplace, etc.)
- Upload & commit using PowerShell git commands
- 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!