Skip to content
CLI Tools
Skill

/oil

Use when working with Oil shell (OSH/YSH) internals — programmable completion, Readline, quoting/expansion, execution model, startup files, COMP_ARGV, compadjust, compexport, OILS_COMP_UI, headless mode, simple word evaluation, strict options, or parser-as-library architecture.

BOOST
From plugin
carapace
1.5k16 skills
Install
$ npx -y skills add carapace-sh/carapace --skill oil --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/oil

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when working with Oil shell (OSH/YSH) internals — programmable completion, Readline, quoting/expansion, execution model, startup files, COMP_ARGV, compadjust, compexport, OILS_COMP_UI, headless mode, simple word evaluation, strict options, or parser-as-library architecture.

SKILL.md

oil.SKILL.md
name: oil
description: >
  Use when working with Oil shell (OSH/YSH) internals — programmable completion, Readline,
  quoting/expansion, execution model, startup files, COMP_ARGV, compadjust, compexport,
  OILS_COMP_UI, headless mode, simple word evaluation, strict options, or parser-as-library
  architecture. Triggers on: "oil", "osh", "ysh", "oils", "oil shell", "OSH", "YSH",
  "oil completion", "COMP_ARGV", "compadjust", "compexport", "OILS_COMP_UI",
  "simple word eval", "strict:all", "ysh:all", "lastpipe", "headless mode", "FANOS",
  "NiceDisplay", "parser as library".
user-invocable: true

Oil Shell In-Depth Reference

Comprehensive reference for Oil shell (OSH/YSH) internals, with emphasis on the completion system and how external tools hook into it.

Sub-Resources

Load the reference that matches your task. When in doubt, load multiple references.

| Keywords | Reference | |----------|----------| | complete, compgen, compopt, compadjust, compexport, COMPREPLY, COMP_ARGV, COMP_WORDS, COMP_CWORD, COMP_LINE, COMP_POINT, COMP_WORDBREAKS, compspec, completion function, exit status 124, bash-completion, quoting responsibility, argv entries, parser as library, OILS_COMP_UI, NiceDisplay, MinimalDisplay, headless mode, FANOS, glob pattern specs, shell language completion | [references/completion.md](references/completion.md) | | Readline, .inputrc, key binding, editing mode, emacs, vi, completion display, NiceDisplay, MinimalDisplay, horizontal-scroll-mode, prompt, PS1, PS2, InteractiveLineReader, history expansion, alias handling, parser re-invocation, ANSI escape codes, description display | [references/line-editing.md](references/line-editing.md) | | quoting, single quotes, double quotes, ANSI-C quoting, YSH strings, r'...', word splitting, IFS, simple word evaluation, parameter expansion, type model, tilde expansion, command substitution, arithmetic expansion, globbing, extended globs, brace expansion, dashglob, nullglob, strict_tilde, process substitution | [references/quoting-expansion.md](references/quoting-expansion.md) | | execution, pipeline, lastpipe, subshell, fork, exec, process group, job control, signal, trap, DEBUG trap, ERR trap, EXIT trap, RETURN trap, PIPESTATUS, pipefail, errexit, strict:all, xtrace, xtrace_rich, SHX variables, interpreter state, dynamic scope, noforklast | [references/execution.md](references/execution.md) | | startup, oshrc, yshrc, oshrc.d, yshrc.d, configuration, OILS_HIJACK_SHEBANG, OILS_COMP_UI, OSH_DEBUG_DIR, shell options, shopt, strict:all, ysh:upgrade, ysh:all, --norc, --rcfile, --rcdir, --headless, --eval, --debug-file, PS1 inheritance | [references/startup-config.md](references/startup-config.md) |

Quick Guide

  • **How do I write a completion function?** → [references/completion.md](references/completion.md)
  • **How does Readline handle completion display?** → [references/line-editing.md](references/line-editing.md)
  • **What is COMP_ARGV and how does it differ from COMP_WORDS?** → [references/completion.md](references/completion.md)
  • **How does quoting affect completions?** → [references/completion.md](references/completion.md) and [references/quoting-expansion.md](references/quoting-expansion.md)
  • **What is the compadjust builtin?** → [references/completion.md](references/completion.md)
  • **What is the compexport builtin?** → [references/completion.md](references/completion.md)
  • **How does OILS_COMP_UI affect the completion display?** → [references/completion.md](references/completion.md) and [references/line-editing.md](references/line-editing.md)
  • **How does Oil handle quoting differently from bash?** → [references/quoting-expansion.md](references/quoting-expansion.md)
  • **What is simple word evaluation in YSH?** → [references/quoting-expansion.md](references/quoting-expansion.md)
  • **How do pipelines differ from bash (lastpipe)?** → [references/execution.md](references/execution.md)
  • **What are the strict:all and ysh:all option groups?** → [references/startup-config.md](references/startup-config.md)
  • **Which startup files does Oil read?** → [references/startup-config.md](references/startup-config.md)
  • **How does headless mode work?** → [references/completion.md](references/completion.md)
  • **How does the parser-as-library architecture work?** → [references/line-editing.md](references/line-editing.md)
  • **How do I debug completion functions?** → [references/completion.md](references/completion.md)
  • **How does xtrace_rich work?** → [references/execution.md](references/execution.md)

Cross-Project References

For carapace-specific Oil integration (snippet, patch phase, value formatting, nospace indicator), see the **carapace-dev** skill → `references/shell-oil.md`.

Read more
Ships withcarapace

Command argument completion generator for [cobra]. Supported shells: Bash Cmd (experimental) Elvish Fish Ion (experimental) Nushell Oil Powershell Tcsh (experimental) Xonsh Zsh

Get the whole plugin
Stats
1,456
Stars
39
Forks
Active
Maintenance
Go
Language
Apache-2.0
License
7d ago
Last commit
6y ago
Created
2h ago
Added

Repo: carapace-sh/carapace

Other skills on carapace.