# claude-his-agent

**His** — Home Infrastructure Specialist. A Claude Code subagent + skill pair that captures the operational knowledge of mfritsche's home network so sibling Claude instances on boltzmann / tesla / higgs / noether / ampere / wherever can summon it instead of re-learning distcc hosts, wake procedures, `/opt/herding/` tooling, lmcp endpoints, and Fritz plumbing every session.

## Contents

| File | Form | Invocation |
|------|------|------------|
| `agents/his.md` | Subagent | `Agent(subagent_type="his", prompt="...")` — delegate a task |
| `skills/his/SKILL.md` | Skill | `/his` — inject the cheatsheet into own context |
| `scripts/claude-his-install` | Helper shipped in packages as `/usr/bin/claude-his-install` |
| `install.sh` | Standalone per-user symlink into `~/.claude/` (no package required) |

Both the subagent and skill embed the same runbook, framed differently: agent = "take this over," skill = "give me the lookup."

## Install

### Manual (direct from repo)

```bash
git clone ssh://gitea@git.reauktion.de:2222/marfrit/claude-his-agent.git
cd claude-his-agent
./install.sh
```

Symlinks `agents/his.md` and `skills/his` into `~/.claude/`.

### Via packages.reauktion.de

```bash
# Debian (trixie/bookworm):
sudo apt install claude-his-agent
claude-his-install

# Arch / ALARM:
sudo pacman -S claude-his-agent
claude-his-install
```

`claude-his-install` symlinks `/usr/share/claude-agents/his.md` + `/usr/share/claude-skills/his/` into the invoking user's `~/.claude/`.

## Packaging

Official package builds live in the **marfrit-packages** repo (`arch/claude-his-agent/PKGBUILD`, `debian/claude-his-agent/`), built by the same Gitea Actions CI that builds `lmcp` and `distcc-avahi` and published to `packages.reauktion.de`. A new release is a `git tag vX.Y.Z` here, then a version bump + sha256 refresh in marfrit-packages.

## Source of truth

The runbook in `agents/his.md` / `skills/his/SKILL.md` is **deliberately condensed** — portable and self-contained. Deeper context (host tokens, long-form history, feedback memories) stays on `noether`:

- `/home/mfritsche/claude/CLAUDE.md` — authoritative host/container/cron map
- `/home/mfritsche/.claude/projects/-home-mfritsche-claude/memory/` — full memory system (`MEMORY.md` is the index)

When infra changes, update both noether's memory **and** the runbook files here (if the change is at the quickref level: distcc hosts, wake procedures, `/opt/herding/` layout, lmcp endpoints). Then bump version + sha256 in marfrit-packages and push — CI rebuilds and publishes for fleet `apt upgrade` / `pacman -Syu`.

## License

Personal infra tooling. All rights reserved unless negotiated.
