一键导入
haircut-tracker
Track haircuts with before/after photos, barber details, style notes, and ratings. Logs to /opt/data/haircuts/.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Track haircuts with before/after photos, barber details, style notes, and ratings. Logs to /opt/data/haircuts/.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Peer-to-peer call to another Hermes agent over Fly's private network. Use to delegate work to a specialized agent (e.g., squad for coding) or to relay to the user via the gateway. Same skill installed on every agent.
Push a message into Rishi's Telegram chat from inside an API-server invocation. Use when a peer agent (squad, research, etc.) needs to surface a status update, PR-ready notification, or escalation to Rishi but the work was triggered via /v1/chat/completions (where responses don't otherwise land in Telegram). Fire-and-forget: this does not wait for Rishi's reply.
Orchestrate a coding task end-to-end on the Coding Squad: validate scope, plan, dispatch implementer + reviewer subagents, open a PR, handle review feedback, and escalate to the user via Telegram on failure. Enforces all guardrails (repo whitelist, Microsoft firewall, scope ceiling, no merge).
Search NYC apartment listings using NYBits (no-bot-detection). Works from headless servers where StreetEasy/Zillow/Apartments.com block with captchas. Supports filtering by neighborhood, bedrooms, price, fee status, and amenities. Use this skill whenever the user asks to find, search, or browse apartments in NYC.
Install and configure Chrome for headless browser automation on Fly.io. Fixes "Chrome not found" errors from agent-browser. Covers npm global install, Chrome download, AGENT_BROWSER_EXECUTABLE_PATH setup, and PATH configuration.
Generate project ideas via creative constraints.
| name | haircut-tracker |
| description | Track haircuts with before/after photos, barber details, style notes, and ratings. Logs to /opt/data/haircuts/. |
| version | 1.0.0 |
| author | Hermes Agent |
| metadata | {"hermes":{"tags":["photos","tracking","haircuts","personal","grooming"]}} |
Track haircuts with before/after photos, barber details, style notes, and ratings.
/opt/data/haircuts/
├── photos/ # All photos organized by date
│ ├── 20260511-01_before.jpg
│ └── 20260511-01_after.jpg
└── log.json # Structured haircut log (source of truth)
Format: YYYYMMDD-NN_[before|after].jpg
YYYYMMDD — date of haircutNN — sequence number (01, 02 if multiple haircuts same day)before or after — timing relative to haircutSchema version 1. Each entry:
{
"id": "YYYYMMDD-NN",
"date": "YYYY-MM-DD",
"created_at": "ISO timestamp",
"updated_at": "ISO timestamp",
"barber": "Name/Shop or null",
"style": "Description or null",
"tags": [],
"cost": null,
"notes": "Free text",
"photos": [
{"kind": "before", "path": "photos/YYYYMMDD-NN_before.jpg"},
{"kind": "after", "path": "photos/YYYYMMDD-NN_after.jpg"}
],
"rating": null
}
/opt/data/haircuts/photos/YYYYMMDD-NN_before.jpgvision_analyze to describe the current haircutlog.json with:
/opt/data/haircuts/photos/YYYYMMDD-NN_after.jpgvision_analyze to describe the new haircutlog.json entry with after photo, details, and ratingvision_analyze requires OpenRouter API key in credential pool (hermes auth reset openrouter if exhausted)vision_analyze is a gateway-side tool — use delegate_task with toolsets=["vision"] to call it from the agenthermes auth reset openrouter + restart gateway. See hermes-agent skill → references/flyio-secret-management.md..env or Fly secrets. The auxiliary.vision.api_key field must stay empty string ''.delegate_task with toolsets: ["vision"] to analyze photos