# Technology Stack

**Analysis Date:** 2026-03-28

## Languages

**Primary:**
- Bash (POSIX-compatible) - All runtime logic in `owl.sh`

**Secondary:**
- Markdown - Skill definition (`SKILL.md`), documentation (`docs/DEPLOY.md`, `docs/SKILL_SPEC-LIVE.md`, `CLAUDE.md`)

## Runtime

**Environment:**
- Bash shell (any version supporting `shopt`, arrays, and `$(())` arithmetic)
- Requires coreutils: `date`, `ls`, `cat`, `rm`, `mkdir`, `rmdir`, `sleep`, `grep`, `wc`, `kill`, `touch`, `printf`, `basename`

**Package Manager:**
- None. Zero external dependencies. No package manifest exists.
- Lockfile: Not applicable

## Frameworks

**Core:**
- Claude Code Skills system - The project is a "skill" loaded by Claude Code via `SKILL.md` frontmatter and the `$OWL` environment variable
- No application frameworks; pure shell script

**Testing:**
- Not detected. No test framework, no test files.

**Build/Dev:**
- No build step. `owl.sh` is interpreted directly by bash.
- Deployment is manual file copy (`cp SKILL.md owl.sh ~/.claude/skills/owl/`)

## Key Dependencies

**Critical:**
- GNU/POSIX coreutils - `owl.sh` line 3 states "No external dependencies. Requires only bash + coreutils"
- Claude Code runtime - The skill is invoked by Claude Code agents; `SKILL.md` provides the instruction set that Claude Code loads

**Infrastructure:**
- Filesystem at `$HOME/.claude/owlery/` - All message passing uses file-based IPC (directories, `.msg` files, `ready` sentinel files, `info.json` metadata)

## Configuration

**Environment:**
- `OWL` env var must be set in `~/.claude/settings.json` pointing to the script: `"OWL": "bash /path/to/.claude/skills/owl/owl.sh"`
- `HOME` env var used to resolve `$HOME/.claude/owlery/` as the message store

**Build:**
- No build configuration. The two deliverable files are `SKILL.md` and `owl.sh`.

## Platform Requirements

**Development:**
- Any system with bash and coreutils (Linux, macOS, Windows via Git Bash/WSL)
- Edit files in this repo, then copy to `~/.claude/skills/owl/` per `docs/DEPLOY.md`

**Production:**
- Claude Code must be installed and running
- Skill files installed at `~/.claude/skills/owl/`
- `$OWL` env var configured in `~/.claude/settings.json`
- Portable archive via `tar czf owl-skill.tar.gz SKILL.md owl.sh`

---

*Stack analysis: 2026-03-28*
