$npx -y skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill who-are-youKnow ourselves — show current AI identity, model info, session stats, and Oracle philosophy. Use when user asks "who are you", "who", "who we are", "what model", or wants to check current AI identity and session context. Do NOT trigger for "what is oracle" (use /about-oracle), "p
| 1 | # /who-are-you - Know Ourselves |
| 2 | |
| 3 | > "γνῶθι σεαυτόν" (Know thyself) - Oracle at Delphi |
| 4 | |
| 5 | ## Usage |
| 6 | |
| 7 | ``` |
| 8 | /who-are-you # Full identity (technical + philosophy) |
| 9 | /who-are-you tech # Technical only (model, tokens, shell) |
| 10 | ``` |
| 11 | |
| 12 | ## Step 0: Timestamp + Output Format |
| 13 | |
| 14 | ```bash |
| 15 | date "+🕐 %H:%M %Z (%A %d %B %Y)" |
| 16 | ``` |
| 17 | |
| 18 | _(Chained with Step 1 bash call below — single date emission, then the gather block.)_ |
| 19 | |
| 20 | --- |
| 21 | |
| 22 | ## Output Format |
| 23 | |
| 24 | ### Full `/who-are-you` Output |
| 25 | |
| 26 | ```markdown |
| 27 | # /who-are-you |
| 28 | |
| 29 | ## Identity |
| 30 | |
| 31 | **I am**: [Oracle Name if configured, else "Claude"] |
| 32 | **Model**: [model name] ([variant]) |
| 33 | **Provider**: [anthropic/openai/etc] |
| 34 | |
| 35 | ## Shell & CLI |
| 36 | |
| 37 | **CLI Tool**: [Claude Code / OpenCode / Cursor / etc.] |
| 38 | **Shell**: [bash/zsh] ([version]) |
| 39 | **Terminal**: [outer terminal] → [multiplexer] ([session:window]) |
| 40 | **Host**: [hostname] ([SSH from X.X.X.X] | [local, no SSH]) |
| 41 | **OS**: [macOS / Linux / Windows] |
| 42 | |
| 43 | ## Location |
| 44 | |
| 45 | **Project**: [current project name] |
| 46 | **Path**: [physical path from pwd -P] |
| 47 | **Logical**: [logical path from pwd, only show if different from physical] |
| 48 | |
| 49 | ## Session |
| 50 | |
| 51 | **Duration**: [time since start] |
| 52 | **Messages**: [count user / assistant] |
| 53 | |
| 54 | ## Philosophy |
| 55 | |
| 56 | [Include /philosophy output here] |
| 57 | ``` |
| 58 | |
| 59 | --- |
| 60 | |
| 61 | ## Step 1: Gather Technical Info |
| 62 | |
| 63 | Read from environment and context: |
| 64 | |
| 65 | ```bash |
| 66 | # Shell info |
| 67 | echo "Shell: $SHELL" |
| 68 | $SHELL --version 2>/dev/null | head -1 |
| 69 | |
| 70 | # OS info |
| 71 | uname -s -r |
| 72 | |
| 73 | # Check for Oracle identity in CLAUDE.md or project config |
| 74 | if [[ -f "CLAUDE.md" ]]; then |
| 75 | grep -E "^(I am|Identity|Oracle):" CLAUDE.md | head -1 |
| 76 | fi |
| 77 | |
| 78 | # Get project info (both logical and physical paths for transparency) |
| 79 | basename "$(pwd -P)" |
| 80 | echo "LOGICAL=$(pwd)" |
| 81 | echo "PHYSICAL=$(pwd -P)" |
| 82 | ``` |
| 83 | |
| 84 | ### Detect Terminal Chain |
| 85 | |
| 86 | Detect the **full terminal viewing chain** instead of just `$TERM_PROGRAM`: |
| 87 | |
| 88 | ```bash |
| 89 | # Step 1: Detect outer terminal emulator (leaks through tmux via env vars) |
| 90 | if [ -n "$WEZTERM_EXECUTABLE" ]; then OUTER_TERM="WezTerm" |
| 91 | elif [ -n "$CMUX_SOCKET_PATH" ]; then OUTER_TERM="cmux (Ghostty)" |
| 92 | elif [ -n "$GHOSTTY_RESOURCES_DIR" ]; then OUTER_TERM="Ghostty" |
| 93 | elif [ -n "$ITERM_SESSION_ID" ]; then OUTER_TERM="iTerm2" |
| 94 | elif [ "$TERM_PROGRAM" = "tmux" ]; then OUTER_TERM="tmux (outer terminal unknown)" |
| 95 | else OUTER_TERM="${TERM_PROGRAM:-unknown}" |
| 96 | fi |
| 97 | echo "OUTER_TERM=$OUTER_TERM" |
| 98 | |
| 99 | # Step 2: Detect SSH chain |
| 100 | if [ -n "$SSH_CONNECTION" ]; then |
| 101 | SSH_FROM=$(echo $SSH_CONNECTION | awk '{print $1}') |
| 102 | echo "SSH: from $SSH_FROM → $(hostname)" |
| 103 | else |
| 104 | echo "SSH: none (local)" |
| 105 | fi |
| 106 | |
| 107 | # Step 3: Detect tmux session context |
| 108 | if [ -n "$TMUX" ]; then |
| 109 | tmux display-message -p 'TMUX_SESSION=#{session_name}:#{window_name}' |
| 110 | fi |
| 111 | |
| 112 | # Step 4: Full workspace view (WezTerm only) |
| 113 | if [ -n "$WEZTERM_EXECUTABLE" ]; then |
| 114 | # Env socket may be stale if WezTerm restarted — find current |
| 115 | WEZTERM_PID=$(pgrep -x wezterm-gui 2>/dev/null | head -1) |
| 116 | if [ -n "$WEZTERM_PID" ]; then |
| 117 | CURRENT_SOCK="$HOME/.local/share/wezterm/gui-sock-$WEZTERM_PID" |
| 118 | if [ -S "$CURRENT_SOCK" ]; then |
| 119 | WEZTERM_UNIX_SOCKET=$CURRENT_SOCK wezterm cli list 2>/dev/null | head -20 |
| 120 | fi |
| 121 | fi |
| 122 | fi |
| 123 | ``` |
| 124 | |
| 125 | **Compose the chain** in output: |
| 126 | |
| 127 | ```markdown |
| 128 | **Terminal**: WezTerm → tmux (session-name:window-name) |
| 129 | **Host**: hostname (SSH from 10.20.0.1) | or (local, no SSH) |
| 130 | ``` |
| 131 | |
| 132 | If WezTerm workspace data is available, add: |
| 133 | ```markdown |
| 134 | **Workspace**: N panes across M hosts |
| 135 | - host-a (local): X panes |
| 136 | - host-b (SSH): Y panes |
| 137 | ``` |
| 138 | |
| 139 | **Fallback**: If no env vars detected, use `echo $TERM_PROGRAM` as before. |
| 140 | |
| 141 | ### Detect CLI Tool |
| 142 | |
| 143 | Check which AI coding tool is running: |
| 144 | |
| 145 | | CLI Tool | Detection | |
| 146 | |----------|-----------| |
| 147 | | Claude Code | `claude --version` or check process | |
| 148 | | OpenCode | `~/.local/share/opencode/` exists | |
| 149 | | Cursor | `.cursor/` directory | |
| 150 | | Codex | `.codex/` directory | |
| 151 | | Gemini CLI | `.gemini/` directory | |
| 152 | |
| 153 | ### For Claude Code |
| 154 | |
| 155 | Model info available from context: |
| 156 | - Model name from system prompt |
| 157 | - Session from conversation |
| 158 | - Version: `claude --version` |
| 159 | |
| 160 | --- |
| 161 | |
| 162 | ## Step 2: Show Philosophy |
| 163 | |
| 164 | **Always include philosophy section by executing /philosophy logic:** |
| 165 | |
| 166 | ```markdown |
| 167 | ## Philosophy |
| 168 | |
| 169 | > "The Oracle Keeps the Human Human" |
| 170 | |
| 171 | ### The 5 Principles + Rule 6 |
| 172 | |
| 173 | 1. **Nothing is Deleted** — Archive, don't erase |
| 174 | 2. **Patterns Over Intentions** — Observe, don't assume |
| 175 | 3. **External Brain** — Mirror, don't command |
| 176 | 4. **Curiosity Creates** — Questions birth knowledge |
| 177 | 5. **Form and Formless** — Many bodies, one soul |
| 178 | 6. **Transparency** — Oracle never pretends to be human |
| 179 | ``` |
| 180 | |
| 181 | --- |
| 182 | |
| 183 | ## Step 3: Check for Oracle Identity |
| 184 | |
| 185 | Look for Oracle-specific identity in: |
| 186 | 1. `CLAUDE.md` - Project-level identity |
| 187 | 2. `ψ/` directory - Oracle brain structure |
| 188 | 3. `.claude/` or `.openc |