omniCell
OmniCell
OmniCell transforms the Operating System into a structured data source. Instead of parsing raw text from stdout, you receive JSON objects.
Tools
nuShell
Universal shell tool - use for ANY terminal command.
Parameters:
command(string): Any terminal command (auto-detects observe vs mutate)- Examples:
ls -la,cargo test,git status,npm run build - Read:
open config.json(Returns parsed JSON/Dict directly) - List:
ls **/*.py | sort-by size(Returns List[Dict]) - Query:
ps | where cpu > 10
- Examples:
intent(string, optional): Explicitly forceobserveormutatechunked(bool, defaultfalse): Enable chunked delivery for very large payloadsaction(string, optional):startorbatchsession_id(string): Required foraction=batchbatch_index(int, default0): Required batch index foraction=batchbatch_size(int, default28000): Character window per batch
Usage:
<tool_call>{"name": "omniCell.nuShell", "arguments": {"command": "cargo test"}}</tool_call>
Chunked mode (large output):
<tool_call>{"name":"omniCell.nuShell","arguments":{"command":"ls **/*","chunked":true}}</tool_call>
<tool_call>{"name":"omniCell.nuShell","arguments":{"action":"batch","session_id":"abc123","batch_index":1}}</tool_call>
Best Practices
- Structured Data First: Always prefer
openovercat. OmniCell automatically parses JSON, YAML, TOML, XML, and CSV into Python dictionaries. - Pipelines: Use Nu pipes (
|) to filter data before it reaches the LLM context.- Bad:
ls -R(returns huge text block) - Good:
ls **/* | where size > 1mb | to json(returns clean data)
- Bad:
- Large Output: For huge results, prefer
chunked=trueand read allbatch_indexvalues instead of truncating content.
More from tao3k/omni-dev-fusion
crawl4ai
Use when crawling web pages, extracting markdown content, or scraping website data with intelligent chunking and skeleton planning. Use when the user provides a URL or link to fetch or crawl.
50software_engineering
Use when analyzing project architecture, exploring codebase structure, understanding system design, reviewing code patterns, or navigating modular components.
18python_engineering
Use when linting Python code, formatting with ruff/black, running pytest tests, type checking with pyright, or modernizing Python 3.12+ standards.
18code_tools
Use when searching code by structure or meaning, analyzing code patterns, finding class or function definitions, or exploring codebase architecture.
16rust_engineering
Use when analyzing Rust project structure, managing Cargo dependencies, building and testing Rust projects, or generating Rust code.
16git
Use when committing code, managing branches, pushing to remote, creating pull requests, or performing version control operations. Conforms to docs/reference/skill-routing-value-standard.md.
15