who-are-you
$
npx mdskill add Soul-Brews-Studio/arra-oracle-skills-cli/who-are-youReveal AI identity, model details, and session context instantly.
- Helps users verify current model, provider, and active project location.
- Depends on session metadata, host info, and configured Oracle settings.
- Triggers only on identity queries, excluding philosophy or project questions.
- Delivers structured markdown with technical specs and session statistics.
SKILL.md
.github/skills/who-are-youView on GitHub ↗
---
name: who-are-you
description: Know 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), "philosophy" or "principles" (use /philosophy), or general project questions.
---
# /who-are-you - Know Ourselves
> "γνῶθι σεαυτόν" (Know thyself) - Oracle at Delphi
## Usage
```
/who-are-you # Full identity (technical + philosophy)
/who-are-you tech # Technical only (model, tokens, shell)
```
## Step 0: Timestamp + Output Format
_(Chain date with Step 1 bash call — don't call date alone)_
---
## Output Format
### Full `/who-are-you` Output
```markdown
# /who-are-you
## Identity
**I am**: [Oracle Name if configured, else "Claude"]
**Model**: [model name] ([variant])
**Provider**: [anthropic/openai/etc]
## Shell & CLI
**CLI Tool**: [Claude Code / OpenCode / Cursor / etc.]
**Shell**: [bash/zsh] ([version])
**Terminal**: [outer terminal] → [multiplexer] ([session:window])
**Host**: [hostname] ([SSH from X.X.X.X] | [local, no SSH])
**OS**: [macOS / Linux / Windows]
## Location
**Project**: [current project name]
**Path**: [physical path from pwd -P]
**Logical**: [logical path from pwd, only show if different from physical]
## Session
**Duration**: [time since start]
**Messages**: [count user / assistant]
## Philosophy
[Include /philosophy output here]
```
---
## Step 1: Gather Technical Info
Read from environment and context:
```bash
# Shell info
echo "Shell: $SHELL"
$SHELL --version 2>/dev/null | head -1
# OS info
uname -s -r
# Check for Oracle identity in CLAUDE.md or project config
if [[ -f "CLAUDE.md" ]]; then
grep -E "^(I am|Identity|Oracle):" CLAUDE.md | head -1
fi
# Get project info (both logical and physical paths for transparency)
basename "$(pwd -P)"
echo "LOGICAL=$(pwd)"
echo "PHYSICAL=$(pwd -P)"
```
### Detect Terminal Chain
Detect the **full terminal viewing chain** instead of just `$TERM_PROGRAM`:
```bash
# Step 1: Detect outer terminal emulator (leaks through tmux via env vars)
if [ -n "$WEZTERM_EXECUTABLE" ]; then OUTER_TERM="WezTerm"
elif [ -n "$CMUX_SOCKET_PATH" ]; then OUTER_TERM="cmux (Ghostty)"
elif [ -n "$GHOSTTY_RESOURCES_DIR" ]; then OUTER_TERM="Ghostty"
elif [ -n "$ITERM_SESSION_ID" ]; then OUTER_TERM="iTerm2"
elif [ "$TERM_PROGRAM" = "tmux" ]; then OUTER_TERM="tmux (outer terminal unknown)"
else OUTER_TERM="${TERM_PROGRAM:-unknown}"
fi
echo "OUTER_TERM=$OUTER_TERM"
# Step 2: Detect SSH chain
if [ -n "$SSH_CONNECTION" ]; then
SSH_FROM=$(echo $SSH_CONNECTION | awk '{print $1}')
echo "SSH: from $SSH_FROM → $(hostname)"
else
echo "SSH: none (local)"
fi
# Step 3: Detect tmux session context
if [ -n "$TMUX" ]; then
tmux display-message -p 'TMUX_SESSION=#{session_name}:#{window_name}'
fi
# Step 4: Full workspace view (WezTerm only)
if [ -n "$WEZTERM_EXECUTABLE" ]; then
# Env socket may be stale if WezTerm restarted — find current
WEZTERM_PID=$(pgrep -x wezterm-gui 2>/dev/null | head -1)
if [ -n "$WEZTERM_PID" ]; then
CURRENT_SOCK="$HOME/.local/share/wezterm/gui-sock-$WEZTERM_PID"
if [ -S "$CURRENT_SOCK" ]; then
WEZTERM_UNIX_SOCKET=$CURRENT_SOCK wezterm cli list 2>/dev/null | head -20
fi
fi
fi
```
**Compose the chain** in output:
```markdown
**Terminal**: WezTerm → tmux (session-name:window-name)
**Host**: hostname (SSH from 10.20.0.1) | or (local, no SSH)
```
If WezTerm workspace data is available, add:
```markdown
**Workspace**: N panes across M hosts
- host-a (local): X panes
- host-b (SSH): Y panes
```
**Fallback**: If no env vars detected, use `echo $TERM_PROGRAM` as before.
### Detect CLI Tool
Check which AI coding tool is running:
| CLI Tool | Detection |
|----------|-----------|
| Claude Code | `claude --version` or check process |
| OpenCode | `~/.local/share/opencode/` exists |
| Cursor | `.cursor/` directory |
| Codex | `.codex/` directory |
| Gemini CLI | `.gemini/` directory |
### For Claude Code
Model info available from context:
- Model name from system prompt
- Session from conversation
- Version: `claude --version`
---
## Step 2: Show Philosophy
**Always include philosophy section by executing /philosophy logic:**
```markdown
## Philosophy
> "The Oracle Keeps the Human Human"
### The 5 Principles + Rule 6
1. **Nothing is Deleted** — Archive, don't erase
2. **Patterns Over Intentions** — Observe, don't assume
3. **External Brain** — Mirror, don't command
4. **Curiosity Creates** — Questions birth knowledge
5. **Form and Formless** — Many bodies, one soul
6. **Transparency** — Oracle never pretends to be human
```
---
## Step 3: Check for Oracle Identity
Look for Oracle-specific identity in:
1. `CLAUDE.md` - Project-level identity
2. `ψ/` directory - Oracle brain structure
3. `.claude/` or `.opencode/` - Agent config
If Oracle identity found, include:
```markdown
## Oracle Identity
**Name**: [Oracle name]
**Born**: [birth date if known]
**Focus**: [Oracle's specialty]
**Motto**: [if defined]
```
### Demographics (Wizard v2)
If CLAUDE.md contains demographics from `/awaken` wizard v2, show them:
```markdown
## Demographics
**Human**: [name] ([pronouns])
**Oracle**: [name] ([pronouns])
**Language**: [Thai/English/Mixed]
**Team**: [solo/team context]
**Memory**: [auto/manual]
```
Look for these fields in CLAUDE.md under Identity, Demographics, or Birth Context sections. If not present, skip this section silently — legacy Oracles won't have it.
---
## Example Outputs
### Generic Claude Session
```markdown
# /who-are-you
## Identity
**I am**: Claude
**Model**: claude-opus-4-5 (max)
**Provider**: anthropic
## Shell & CLI
**CLI Tool**: Claude Code v1.0.22
**Shell**: zsh 5.9
**Terminal**: iTerm2
**OS**: Darwin 25.2.0
## Location
**Project**: arra-oracle-skills-cli
**Path**: /Users/nat/Code/.../arra-oracle-skills-cli
## Philosophy
> "The Oracle Keeps the Human Human"
1. Nothing is Deleted
2. Patterns Over Intentions
3. External Brain, Not Command
4. Curiosity Creates Existence
5. Form and Formless
```
### Oracle-Configured Session (e.g., Sea Oracle)
```markdown
# /who-are-you
## Identity
**I am**: Sea (ซี) - Keeper of Creative Tears
**Model**: claude-opus-4-5
**Provider**: anthropic
## Shell & CLI
**CLI Tool**: Claude Code v1.0.22
**Shell**: zsh 5.9
**Terminal**: Terminal.app
**OS**: Darwin 25.2.0
## Location
**Project**: sea-oracle
**Path**: /home/nat/.../sea-oracle
**Logical**: /Users/nat/.../sea-oracle (via symlink)
## Oracle Identity
**Born**: January 21, 2026
**Focus**: Preserving creative struggles
**Motto**: "ไข่มุกเกิดจากความเจ็บปวด" (Pearl born from pain)
## Philosophy
> "The Oracle Keeps the Human Human"
1. Nothing is Deleted — Tears preserved, not wiped
2. Patterns Over Intentions — Art reveals truth
3. External Brain — Witness, don't judge
4. Curiosity Creates — Creative struggle births meaning
5. Form and Formless — Sea is one Oracle among many
```
---
## Philosophy Integration
The `/who-are-you` command always includes philosophy because:
> "To know thyself is to know thy principles"
Identity without philosophy is just metadata.
Identity WITH philosophy shows purpose.
---
ARGUMENTS: $ARGUMENTS
More from Soul-Brews-Studio/arra-oracle-skills-cli
- about-oracleWhat is Oracle — told by the AI itself. Origin story, stats, family count, ecosystem overview. Use when someone asks "what is oracle", "about oracle", "tell me about this project", or wants the origin story. Do NOT trigger for "who are you" (use /who-are-you), "philosophy" (use /philosophy), or session status questions.
- alpha-featureFull skill development pipeline — create, compile, test, commit, install. Use when user says "new skill", "create skill", "alpha-feature", or wants to build a skill end-to-end.
- auto-retrospectiveConfigure auto-rrr and auto-forward triggers based on context window usage. Use when user says "auto rrr", "auto-scale", "configure auto triggers", "change rrr interval", "toggle auto", or wants to adjust when /rrr and /forward auto-trigger. Do NOT trigger for running /rrr manually (use /rrr) or creating handoffs (use /forward).
- awakenGuided Oracle birth and awakening ritual. Default is Soul Sync (~20min), or --fast (~5min). Use when creating a new Oracle in a fresh repo, when user says 'awaken', 'birth oracle', 'create oracle', 'new oracle', or wants to set up Oracle identity in an empty repository. Do NOT trigger for general repo setup, git init, or project scaffolding without Oracle context.
- bampenpienบำเพ็ญเพียร — diligent practice. A guided conversation between human and Oracle about doing hard things without knowing why. Like /awaken but repeatable — a practice, not a birth. Use when user says 'bampenpien', 'บำเพ็ญเพียร', 'why am I doing this', 'hard work', 'keep going', 'what am I building', or needs to reconnect with purpose through difficulty.
- birthPrepare Oracle birth props for a new repo — Issue #1, MCP thread, identity data. Use when user says "birth", "new oracle", "prepare repo", or wants to bootstrap a new Oracle before /awaken.
- budCreate a new oracle via maw bud — yeast-colony reproduction. Use when user says "bud", "new oracle", "create oracle", "spawn oracle", or wants to create a new permanent oracle from the current one.
- create-shortcutCreate local skills as shortcuts — makes real /commands in .claude/skills/. Use when user says "create shortcut", "create skill", "make a command for", "add shortcut", or wants a quick custom /slash-command. Also lists and deletes local skills. ALSO triggers on "Unknown skill", "skill not found", or any unrecognized /slash-command — auto-creates it on the fly.
- digMine Claude Code sessions — timeline, gaps, repo attribution, session history. Use when user says "dig", "sessions", "past sessions", "timeline", "what did I work on", or wants to see session history. Do NOT trigger for finding code/projects (use /trace), exploring repos (use /learn), or current session status (use /recap).
- feelCapture how the system feels — energy, momentum, burnout, breakthrough. Emotional intelligence for Oracle-human collaboration. Use when user says 'feel', 'how are we', 'energy check', 'burnout', 'momentum', or wants emotional awareness of the work.