tessl install tessl/npm-external-editor@3.1.0Edit a string with the users preferred text editor using $VISUAL or $ENVIRONMENT
Agent Success
Agent success rate when using this tile
79%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.05x
Baseline
Agent success rate without this tile
75%
{
"context": "Evaluates how the solution uses the external-editor package to launch a user's editor and read back saved content, including empty files. Confirms exit codes are surfaced without treating non-zero exits as failures.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Uses launcher",
"description": "Invokes external-editor APIs (e.g., ExternalEditor.run()/runAsync or edit/editAsync) to open the user's configured editor instead of manually spawning a process.",
"max_score": 20
},
{
"name": "Initial text",
"description": "Prefills the temp file by passing the provided initial text into the external-editor call (constructor text argument or edit(text, options)).",
"max_score": 15
},
{
"name": "Empty save",
"description": "Relies on external-editor's readback (chardet/iconv) so an empty saved file returns an empty string without fallback content or thrown errors.",
"max_score": 20
},
{
"name": "Exit status",
"description": "Reads the editor's exit code from external-editor (e.g., ExternalEditor.lastExitStatus or resolved status) and returns it alongside the text, including non-zero values.",
"max_score": 25
},
{
"name": "Non-zero handled",
"description": "Preserves the edited text and resolves normally even when lastExitStatus is non-zero, avoiding thrown errors from that exit code.",
"max_score": 10
},
{
"name": "Cleanup",
"description": "Calls ExternalEditor.cleanup() (or equivalent) to remove the temporary file regardless of exit status.",
"max_score": 10
}
]
}