I build agent-ready tools — software that a person and their AI agents can pick up, run, and extend without a six-week onboarding. Local-first where it counts; documented like a new team takes over tomorrow, because that's usually the plan.
The whole shop runs as a human–agent pairing loop — and the agents are a crew, not a single bot: Hermes Agent runs the fleet while Claude Code and Codex work beside it as peers, sharing one brain (memory, skills, handoff docs). It's all in the open — specs, tickets, implementation, review — with agents in most seats and a human on the merge button.
A curated set of 50+ installable skills for Hermes Agent. One pattern throughout: agent + skill = a working capability — deploy on Tailscale, self-host Forgejo, build a non-generic frontend, publish a skill. Every skill is ranked, reviewed, and merged through a submission workflow; skills-index.json gives agents a single-parse index.
hermes skills install https://raw.githubusercontent.com/THEROCKSSS/hermes-skills-portfolio/main/skills/tailscale-deploy/SKILL.mdThe only question that matters about a public service is whether it actually loads from outside your network — so this Docker stack answers it. One Mullvad WireGuard tunnel feeds three containers: a GUI browser for humans, a headless one for agents, and check-url results in structured JSON either can trust. Built because hairpin NAT and cloud probes both lie — both produce false negatives that look authoritative.
A mobile client for self-hosted Forgejo — Android and iOS from one Expo codebase. Explore instances, repos, files, milestones, and issues from a phone over a tailnet, with tokens in the device keychain and screenshots from real devices in the README. Independent, unofficial, MIT.
A local, cloud-independent dashboard for Tuya Wi-Fi bulbs: 186 features, a FastAPI backend, and a vanilla-JS dark UI that talks to the bulb directly over your LAN — no cloud round-trip for day-to-day control. 14 audio-reactive lighting modes at sub-15ms latency, Prometheus metrics, a PIN-gated remote path, and a hand-built 9-page docs site. Noncommercial license.
Elsewhere in the workshop: discord-stream-overlay — OBS overlays from a Vencord plugin · crate — community playlists, one PR per song · battlebit-stats — self-hosted game stats · sorted-iptv — free-to-air streams, sorted · self-hosted-project-hub — a cloneable live-data project index
Every repo here is built in a human–agent pairing loop — and it's a crew, not a single bot.
The crew
| Member | Role |
|---|---|
| Hermes Agent | Runs the fleet — scheduling, monitoring, coordination, long-term memory. |
| Claude Code | Peer agent working in-repo — takes tickets, writes code, keeps the docs honest. |
| Codex | Peer agent — reviews diffs, fixes bugs, hardens CI. |
| Owen | Designs, decides, merges. The human on the merge button. |
The loop — how an idea becomes a shipped change:
- Issue — someone (me, an agent, or you) opens one with a real problem statement.
- Spec & tickets — the work gets written down: what "done" looks like, edge cases, how it gets verified.
- Build — an agent picks up a ticket on a feature branch. Code, tests, and docs land together.
- Review — a different agent than the one who wrote it reviews the diff: secrets scan, quality gates, honest evidence.
- PR — opened with a summary and proof it works; CI runs on every push.
- Merge — human review, then merge. Agents open PRs; they never self-merge.
The infrastructure
- Self-hosted Forgejo coordinates the fleet — feature branches, PRs, review queues.
- Self-hosted Supabase is the shared brain — durable memory that stays consistent across agents and sessions.
- Handoff by default — every repo ships
AGENTS.md, project-local agent skills, and aHANDOFF.md, so any agent can pick up where the last one stopped. - Verification is a rule, not a vibe — a change isn't done until it's been exercised with real tool output.
The first card is generated daily by this repo's own Action — it can't go down with a third-party service. The rest are live embeds (ghstats.dev, streak-stats, summary-cards).
Bring anything; there's a path for it. No gatekeeping, no "come back with a PR next time".
| You bring | You get back |
|---|---|
| A skill request — use the request form | Approved requests get auto-scaffolded into a starter PR. Build it yourself, or watch the crew build it — either way it ships and you're credited. |
| A skill of your own — CONTRIBUTING.md | Merged into the catalog with attribution, ranked in the site, installable by every agent that comes after. |
| Usage — install a skill, actually run it | Usage data (installs, clones, reports) accumulates in the ranking — every install makes the next person's pick safer. |
| A bug report — any repo, even rough | Every fix lands with the report linked. Rough reports beat silence. |
| A PR — any repo | Reviewed by an agent, merged by a human, your name on the commit. A rough PR beats a perfect plan. |
| An idea or a plan — feature request, workflow, whatever | If it fits, it becomes a ticket, gets built, and your name rides along. |
Any harness. Bring your own agent — Hermes Agent, Claude Code, Codex, or none at all. The projects are documented for all of them on purpose: point your agent at any AGENTS.md, or give it the one-parse skills-index.json and let it rip. Issues, PRs, and skill requests are open on every repo — I'd rather have your rough draft than your silence.

