agent/skills/tools/write/SKILL.md
Create a new file with the given content. Use when creating new files from scratch, generating code files, writing configuration, or producing output files.
npx skillsauth add knoopx/pi writeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a new file with the given content. Creates parent directories automatically.
REQUIRED: path (absolute), content (full file content)
Write is for creating new files only. If the file already exists, Write will be refused by the tool and return an error telling you to use Edit instead. Do not retry Write on the same path — it will be refused again.
WHEN TO USE Write:
WHEN TO USE Edit INSTEAD:
path + edits: [{oldText, newText}] and patches in place.If you need to completely replace an existing file's content, Edit can still do that: pass the entire current content as oldText and the full new content as newText. Read the file first if you don't already have its current content.
EXAMPLE:
{"name": "Write", "input": {"path": "/tmp/example/new_module.py", "content": "def hello():\n return 'hi'\n"}}
NOTE: Always use the EXACT file path given in the task, never a placeholder.
oldText/newText insteadtools
Inform the user what is happening — skip passive lookups
development
Renders markdown to self-contained HTML with a custom dark stylesheet and opens in browser. Use when previewing markdown documents, generating styled HTML from README or report files.
testing
Programmatic hunk selection for Jujutsu — split, commit, or squash specific hunks without interactive prompts. Use when making partial commits or selective squashes.
content-media
Manage version control with Jujutsu (jj) — no staging area, immediate changes, smart rebasing. Use when navigating history, squashing, or pushing to Git remotes.