file-editor
When to use
This skill applies automatically whenever:
- The agent creates or edits a file using
save-fileorstr-replace-editor - The agent wants to show the user a file they should review
Do NOT use when:
- Only reading files (no edits)
- Running commands or tests
- The
personal.open_edited_filessetting isfalse
Procedure: Open files in IDE
- Read settings — Check
personal.open_edited_filesandpersonal.idein.agent-settings.yml. - Skip if disabled — If
personal.open_edited_filesisfalse, do nothing. - Open files — Use the IDE CLI command to open each edited file.
- Verify — Confirm the command succeeded (exit code 0).
Settings file
Settings are stored in .agent-settings.yml (project root, git-ignored).
See .augment/templates/agent-settings.md for the full settings reference.
Relevant settings for this skill:
| Key | Values | Default | Description |
|---|---|---|---|
personal.ide |
code, cursor, windsurf, phpstorm, webstorm, idea, goland, rubymine, pycharm, rider, subl, vim, nvim, emacs, zed |
(empty) | CLI command to open files |
personal.open_edited_files |
true, false |
false |
Whether to auto-open edited files |
Behavior
1. Read settings
At the start of a conversation (or on first file edit), read .agent-settings.yml:
cat .agent-settings.yml 2>/dev/null
- If the file doesn't exist → do not open files. Suggest running
scripts/install(then/onboard). - If
personal.open_edited_files: false→ do nothing. - If
personal.open_edited_files: trueandpersonal.ideis set → open files after edits.
2. Open files after edits
After editing one or more files, open them using the ide setting.
Always jump to the first edited line. The syntax depends on the IDE:
JetBrains IDEs (personal.ide: phpstorm / webstorm / idea / pycharm / goland / rubymine / rider):
phpstorm --line {line} {file} # PHP
webstorm --line {line} {file} # JS / TS
idea --line {line} {file} # Java / Kotlin / general
pycharm --line {line} {file} # Python
goland --line {line} {file} # Go
VS Code-family (personal.ide: code / cursor / windsurf):
code --goto {file}:{line}
cursor --goto {file}:{line}
windsurf --goto {file}:{line}
Zed (personal.ide: zed):
zed {file}:{line}
Terminal editors (personal.ide: vim / nvim / emacs):
vim +{line} {file}
nvim +{line} {file}
emacs +{line} {file}
For multiple files, run one command per file:
# JetBrains (PhpStorm / WebStorm / GoLand / PyCharm)
phpstorm --line 42 src/Services/UserService.php
webstorm --line 15 src/services/user-service.ts
goland --line 27 internal/user/service.go
pycharm --line 88 app/services/user_service.py
# VS Code-family
code --goto src/services/user-service.ts:15
cursor --goto app/services/user_service.py:88
# Open file without jumping to a line
code src/services/user-service.ts
phpstorm src/Services/UserService.php
Rules
- Batch opens — collect all files from a single logical edit operation and open them as one batch (one IDE command per file).
- No duplicates — don't open the same file twice in one batch.
- Silent on failure — if the IDE command fails, log it but don't interrupt the workflow.
- Never open test output — don't open files just because they appeared in test results.
- Only edited files — only open files the agent actively created or modified, not files that were only read.
- Respect the setting — if
personal.open_edited_files: falseor.agent-settings.ymldoesn't exist, never open files.
IDE CLI commands
| IDE | Command | Install |
|---|---|---|
| VS Code | code {file} |
Shell Command: Install 'code' in PATH |
| Cursor | cursor {file} |
Settings → "Install 'cursor' shell command" |
| Windsurf | windsurf {file} |
Settings → "Install 'windsurf' shell command" |
| Zed | zed {file} |
Settings → "Install CLI" (creates zed in PATH) |
| PhpStorm | phpstorm {file} |
JetBrains Toolbox CLI or Tools → Create command-line launcher in PhpStorm |
| WebStorm | webstorm {file} |
JetBrains Toolbox CLI or Tools → Create command-line launcher in WebStorm |
| IntelliJ IDEA | idea {file} |
JetBrains Toolbox CLI or Tools → Create command-line launcher in IDEA |
| PyCharm | pycharm {file} |
JetBrains Toolbox CLI or Tools → Create command-line launcher in PyCharm |
| GoLand | goland {file} |
JetBrains Toolbox CLI or Tools → Create command-line launcher in GoLand |
| Vim / Neovim | vim {file} / nvim {file} |
Bundled with most distros |
Output format
- Files opened in the configured IDE (if enabled)
- No output if
personal.open_edited_filesis disabled
Auto-trigger keywords
- open file
- open in editor
- show in IDE
- file editor settings
- configure IDE
Gotcha
- Check
.agent-settings.ymlforpersonal.open_edited_filesbefore opening anything — the user may have disabled it. - Don't open files during batch operations (e.g., fixing 20 type-checker errors across PHPStan / tsc / mypy /
cargo check) — only open when specifically relevant. - JetBrains IDEs (PhpStorm, WebStorm, IDEA, PyCharm, GoLand, RubyMine, Rider) sometimes briefly lock a file on open — wait a moment before editing the same file.
Do NOT
- Do NOT open files without checking
.agent-settings.ymlfirst. - Do NOT prompt the user about IDE settings during normal work — suggest
/onboard(for first-run) or editing.agent-settings.ymldirectly. - Do NOT open files that were only read, not edited.
- Do NOT open more than 10 files at once — summarize instead.
Cloud Behavior
On cloud surfaces (Claude.ai Web, Skills API) this skill is fully inert —
there is no local IDE to open files in, no .agent-settings.yml to read, and
no shell handler available. The cloud agent simply finishes its edits and
reports back; file-opening is a local-agent concern.