# Send File Writer to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "file-writer",
    "name": "File Writer",
    "source": "tencent",
    "type": "skill",
    "category": "内容创作",
    "sourceUrl": "https://clawhub.ai/YKaiXu/file-writer",
    "canonicalUrl": "https://clawhub.ai/YKaiXu/file-writer",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/file-writer",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=file-writer",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "file-writer",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-29T17:27:29.665Z",
      "expiresAt": "2026-05-06T17:27:29.665Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=file-writer",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=file-writer",
        "contentDisposition": "attachment; filename=\"file-writer-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "file-writer"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/file-writer"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/file-writer",
    "downloadUrl": "https://openagent3.xyz/downloads/file-writer",
    "agentUrl": "https://openagent3.xyz/skills/file-writer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/file-writer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/file-writer/agent.md"
  }
}
```
## Documentation

### File Writer

Safe file writing strategy for large files to avoid truncation issues.

### When to Use

Writing files larger than 5000 bytes
Updating existing files with significant changes
Modifying specific sections of large files
Previous write operations were truncated
Need to ensure file integrity

### Why Files Get Truncated

Large file writes can fail due to:

Tool limitations - write tool may have byte limits per operation
Network limits - Large file transfers may be truncated during transmission
System limits - OpenClaw may have size limits on single operations

### Safe Size Thresholds

OperationSafe SizeRisk Levelwrite new file< 2000 bytes✅ Safewrite new file2000-5000 bytes⚠️ Moderatewrite new file> 5000 bytes❌ High riskedit modification< 500 bytes✅ Safeedit modification500-1000 bytes⚠️ Moderateedit modification> 1000 bytes❌ High risk

### Step 1: Read Current State

Before making changes, read the current file state:

# Read the file to understand current structure
read /path/to/file.md

# For large files, read specific sections
read /path/to/file.md --offset 100 --limit 50

Purpose:

Understand file structure
Identify exact text to replace
\`- Determine modification points

### Step 2: Use Edit Tool for Precise Modifications

For small to medium changes, use edit tool:

Use \`edit\` tool with:
- \`oldText\`: Exact text to replace (must match exactly)
- \`newText\`: New text to replace with
- \`file_path\`: Path to the file

Best Practices:

Keep modifications under 500 bytes
Match oldText exactly (including whitespace)
Use unique text markers for large sections
Verify oldText exists before editing

### Step 3: Verify Results

After each modification, verify the result:

# Check file line count
wc -l /path/to/file.md

# Read modified section
read /path/to/file.md --offset <start> --limit <lines>

# Verify file ends correctly
read /path/to/file.md --offset -10

Success Criteria:

File size increased as expected
Modified section contains new content
File ends correctly (not truncated)
No syntax errors (for code files)

### Step 4: Repeat Until Complete

For large multi-section updates:

Modify one section at a time
Verify each modification
Proceed to next section
Repeat until all changes complete

### Strategy 1: Split Large Writes

If write tool fails for large content:

Split content into chunks:

1. Write first chunk (header + section 1)
2. Verify and append section 2
3. Verify and append section 3
4. Continue until complete

### Strategy 2: Use Unique Markers

For complex modifications, use unique markers:

In source file:
<!-- SECTION_START: configuration -->
[existing content]
<!-- SECTION_END: configuration -->

Edit operation:
oldText: "<!-- SECTION_START: configuration -->\\n[existing content]\\n<!-- SECTION_END: configuration -->"
newText: "<!-- SECTION_START: configuration -->\\n[new content]\\n<!-- SECTION_END: configuration -->"

### Strategy 3: Incremental Build

For creating new large files:

1. Create file with basic structure
2. Add sections one by one using edit
3. Verify after each addition
4. Final verification

### Strategy 4: Backup and Restore

For critical file modifications:

# Create backup before modification
cp /path/to/file.md /path/to/file.md.backup

# Attempt modification
# ... (write or edit operation)

# If modification fails, restore
cp /path/to/file.md.backup /path/to/file.md

### Edit Tool Fails

Symptom: "Could not find exact text in file"

Causes:

oldText doesn't match exactly
Whitespace differences (spaces vs tabs)
File already modified
Text doesn't exist in file

Solutions:

Re-read the file to get exact content
Use unique markers for large sections
Match whitespace exactly (copy from file read)
Use smaller oldText for more precise matching

### Write Tool Truncates

Symptom: File ends abruptly or is incomplete

Solutions:

Use edit tool instead of write
Split content into smaller chunks
Write incrementally (section by section)
Verify file size after each operation

### File Corruption

Symptom: File has syntax errors or invalid content

Solutions:

Restore from backup
Re-read and re-verify
Use incremental build strategy
Validate syntax after each modification

### Example 1: Adding Section to Large File

Step 1: Read file to find insertion point
read /path/to/large-file.md --offset 50 --limit 10

Step 2: Use edit to add new section
edit:
  file_path: /path/to/large-file.md
  oldText: "## Existing Section\\n\\nContent here"
  newText: "## Existing Section\\n\\nContent here\\n\\n## New Section\\n\\nNew content"

Step 3: Verify
read /path/to/large-file.md --offset 50 --limit 20

### Example 2: Creating Large New File

Step 1: Create basic structure
write:
  file_path: /path/to/new-file.md
  content: "# Title\\n\\n## Section 1\\n\\nContent 1"

Step 2: Add sections incrementally
edit:
  file_path: /path/to/new-file.md
  oldText: "Content 1"
  newText: "Content 1\\n\\n## Section 2\\n\\nContent 2"

Step 3: Verify
wc -l /path/to/new-file.md

### Example 3: Replacing Large Section

Step 1: Read file to find exact text
read /path/to/file.md

Step 2: Use unique markers
edit:
  file_path: /path/to/file.md
  oldText: "<!-- START: old-section -->\\n[old content]\\n<!-- END: old-section -->"
  newText: "<!-- START: old-section -->\\n[new content]\\n<!-- END: old-section -->"

Step 3: Verify
read /path/to/file.md | grep "new content"

### Best Practices

Always read before editing - Understand current state
Use edit for modifications - More precise than write
Keep changes small - Under 500 bytes per edit
Verify after each operation - Don't batch operations
Use unique markers - For complex modifications
Create backups - For critical files
Handle errors gracefully - Provide recovery strategies
Test incrementally - Verify each step

### Decision Tree

Need to write/update file?
├─ New file?
│  ├─ < 2000 bytes?
│  │  └─ Use write tool
│  └─ > 2000 bytes?
│     └─ Use incremental build strategy
└─ Existing file?
   ├─ Small change (< 500 bytes)?
   │  └─ Use edit tool
   ├─ Medium change (500-1000 bytes)?
   │  └─ Use edit with unique markers
   └─ Large change (> 1000 bytes)?
      └─ Use incremental edit strategy

### Quick Reference

TaskToolStrategyCreate small filewriteDirect writeCreate large filewrite + editIncremental buildSmall modificationeditDirect editMedium modificationeditEdit with markersLarge modificationeditIncremental editReplace sectioneditUnique markersAppend contenteditEdit end of file
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: YKaiXu
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-04-29T17:27:29.665Z
- Expires at: 2026-05-06T17:27:29.665Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/file-writer)
- [Send to Agent page](https://openagent3.xyz/skills/file-writer/agent)
- [JSON manifest](https://openagent3.xyz/skills/file-writer/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/file-writer/agent.md)
- [Download page](https://openagent3.xyz/downloads/file-writer)