diff --git a/README.md b/README.md
index 68fe6c17..e8fcda0a 100644
--- a/README.md
+++ b/README.md
@@ -115,6 +115,8 @@ Create a `.env` file with your LLM API key:
LLM_API_KEY=your_llm_api_key
```
+Subscription-based providers that authenticate via OAuth device flow (e.g. `chatgpt/*`, `github_copilot/*`) need no API key; OpenKB skips the missing-key warning for them.
+
# 🧩 How OpenKB Works
### Architecture
@@ -187,35 +189,33 @@ A "generator" reads from the compiled wiki and produces something usable: an ans
| openkb skill new <skill-name> "<intent>" | Distill a redistributable agent skill from your wiki (see [Skill Factory](#skill-factory) below) | [skills](examples/skills/) |
| openkb deck new <name> "<intent>" | Generate a single-file HTML slide deck (`--skill` picks a theme, `--critique` runs a quality pass) | [slides](examples/slides/) |
-### 💬 Query & Chat — *ask the wiki*
+### (i) 💬 Query & Chat — *ask the wiki*
`openkb query "..."` answers a single question with a grounded, cited answer from your wiki. `openkb chat` is interactive, an ongoing multi-turn session over the same wiki (`--resume`, `--list`, `--delete` to manage sessions). → Walked through with real saved output in **[`examples/commands/`](examples/commands/)** (query) and **[`examples/chat/`](examples/chat/)** (chat).
-Inside `openkb chat`, type `/` for slash commands (Tab to complete):
+Inside a chat, type `/` to access slash commands (Tab to complete).
-Slash commands:
+More slash commands:
-| Command | Does |
-|---|---|
-| `/help` | List available commands |
-| `/status` | Show knowledge base status |
-| `/list` | List all documents |
-| `/add ` | Add a document or directory without leaving the chat |
-| `/save [name]` | Export the transcript to `wiki/explorations/` |
-| `/skill new ""` | Compile a skill from this chat |
-| `/deck new ""` | Generate a slide deck (`--skill` picks a theme, `--critique` runs a quality pass) |
-| `/critique ` | Run a quality critique pass on a generated deck |
-| `/lint` | Run knowledge base lint |
-| `/clear` | Start a fresh session (the current one stays on disk) |
-| `/exit` | Exit (`/quit` or Ctrl-D also work) |
+- `/help`: list available commands
+- `/status`: show knowledge base status
+- `/list`: list all documents
+- `/add `: add a document or directory without leaving the chat
+- `/skill new ""`: compile a skill from this chat (see below)
+- `/deck new ""`: generate an HTML slide deck from the wiki
+- `/critique `: run the HTML critic over an existing deck
+- `/save [name]`: export the transcript to `wiki/explorations/`
+- `/clear`: start a fresh session (the current one stays on disk)
+- `/lint`: run knowledge base lint
+- `/exit`: exit (Ctrl-D also works)
-### 🛠Skill Factory — *drop in a book; out comes a digital expert.*
+### (ii) 🛠Skill Factory — *drop in a book; out comes a digital expert.*
`openkb skill new` distills a portable [agent skill](https://docs.claude.com/en/docs/build-with-claude/skills) from your wiki that Claude Code, Codex, and Gemini can install and load natively. Drop in a book's worth of papers; out comes a specialist other agents can call on. → A real generated skill, plus install / share / `eval` / rollback, is walked through in **[`examples/skills/`](examples/skills/)**.
@@ -235,7 +235,7 @@ Inside `openkb chat`, type `/` for slash commands (Tab to complete):
### Settings
-`openkb init` writes `.openkb/config.yaml`:
+OpenKB settings are initialized by `openkb init` and stored in `.openkb/config.yaml`:
```yaml
model: gpt-5.4 # LLM model (any LiteLLM-supported provider)