1. Shelley must be ready when inspiration strikes
As they say, the best camera is the one you have with you. It is the same with coding agents: when you have that spark of an idea, skip the ticket tracker, and drop it straight into the agent to flesh it out.
This implies that Shelley must be mobile friendly. I joke that I often “sow” on my phone and then “reap” on my laptop. I’ll be honest—reading commit messages and diffs is a drag on a small phone, but typing text messages back and forth? Phones are :chef’s-kiss:.
2. Multi-Modal in both input and output
LLM models don’t have a sense of taste or smell, but most models now support images and frontier transcription models are cheap and plentiful. Talking “at” Shelley using the screen recording and audio recording capabilities is extraordinarily effective for giving rapid-fire feedback on a product or website, or even rubber-duck style building out a complicated feature. Shelley’s “chat with Shelley” mode which interposes a conversational view is in the same vein. Shelley has a skill for doing audio transcription and matching audio timestamps with screencasts to dereference the “this” and “that” of a video recording.
For output, Shelley has a unique output_iframe tool that shows the user whatever web page is necessary to get the point across. I use it regularly for graphs (we love VegaLite) and diagrams (we love Excalidraw).
3. Dev tools must be open source and customizable
Shelley is your coding agent, so you can tweak it as your heart desires. Your domain and your workflow are unique to you; use Shelley as-is or customize it.
4. Transparent
We are all, collectively, learning how to use Large Language Models. Shelley aims to be transparent, so you can learn that agentic loops are pretty simple things (see The Unreasonable Effectiveness of an LLM Agent Loop with Tool Use). What you see in Shelley is what’s being sent to the model. When Shelley does a compaction, we tell you. When tool calls happen, we show you. Subagents? Go ahead and zoom into them.
5. Self-introspective
Shelley’s conversations are maintained in a SQLite database. As a result, Shelley knows how to review past conversations (if you want to find common patterns) and so on.