| name | oh-my-hermes-workflow |
| description | Install and configure Oh My Hermes workflow layer for building, shipping, and operating apps with Hermes Agent |
| triggers | ["install oh my hermes","set up hermes workflow layer","configure hermes cto loop","bootstrap hermes skills","set up autonomous deployment workflow","install hermes agent skills","configure hermes for production","set up hermes monitoring"] |
oh-my-hermes-workflow
Skill by ara.so — Hermes Skills collection.
Oh My Hermes is an opinionated workflow layer for building, shipping, and operating apps with Hermes Agent. It provides 23+ curated skills that enable Hermes to autonomously handle the complete software lifecycle — from requirements clarification to production deployment and monitoring.
What Oh My Hermes Does
- Full Project Lifecycle: Takes projects from idea to production with autonomous workflows
- Autonomous CTO Loop: Hourly issue triage, implementation, security review, and deployment approval flow
- Multi-Agent Orchestration: PM, Dev, QA, Security, and Ops agents working together via Kanban
- Persistent Memory: Hermes remembers project context, requirements, and decisions across sessions
- Integration Layer: Connects Hermes with Claude Code, Codex, Vercel, Supabase, GitHub, Sentry
Installation
Prerequisites
- Install Hermes Agent first: Follow Hermes quickstart
- Configure messaging: Set up Telegram, Slack, Discord, or WhatsApp gateway
- Verify Hermes is running: Test by messaging your Hermes bot
Install Oh My Hermes
curl -fsSL https://raw.githubusercontent.com/salomondiei08/oh-my-hermes/main/install.sh | bash
git clone https://github.com/salomondiei08/oh-my-hermes /tmp/oh-my-hermes
bash /tmp/oh-my-hermes/install.sh
Bootstrap a Project
cd /path/to/your/project
bash /tmp/oh-my-hermes/scripts/bootstrap.sh
bash /tmp/oh-my-hermes/scripts/verify.sh
Message-Based Setup (Recommended)
Once installed, message your Hermes bot:
set up the CTO loop
Hermes will guide you through:
- GitHub repository configuration
- Fine-grained token creation
- Production URL setup
- Webhook configuration
- Monitoring setup
Key Skills
Oh My Hermes provides 23+ skills loaded into ~/.hermes/skills/:
Onboarding & Planning
onboarding
"walk me through setting up oh my hermes"
Guides full setup in chat — no terminal required.
clarify-requirements
"start a new app"
"clarify requirements for this project"
Asks 7 structured questions, saves answers to Hermes memory.
product-brief
"generate the product brief"
Creates PRODUCT_BRIEF.md from requirements.
design-handoff
"convert my design to implementation spec"
Transforms design notes into technical specifications.
Implementation
choose-engine
"implement this feature"
Routes tasks to Hermes, Claude Code, or Codex based on complexity.
implement-with-claude-code
implement-with-codex
Deployment
deploy-to-vercel
"deploy to vercel"
"ship this to production"
Example workflow:
- Pre-deploy checks (secrets scan, build validation)
- Deploys to Vercel
- Captures preview/production URL
- Runs health checks
- Notifies via configured channel
connect-supabase
"connect supabase"
"set up database"
Handles:
- Database linking
- Migration pushing
- Environment variable configuration in Vercel
- Connection validation
Monitoring
setup-monitoring
"set up monitoring"
Configures:
- Sentry error tracking
- Uptime Kuma health checks
- Alert webhooks
health-check
"run health check"
Validates:
/api/health endpoint response
- Supabase connectivity
- Vercel deployment status
- Response times
GitHub Integration
manage-github-issues
"triage github issues"
"create issue for bug in login"
"close issue #42"
create-github-pr
auto-issue-triage
review-github-pr
security-review
"run security review on PR #12"
Checks:
- Secret scanning (no API keys, tokens)
- OWASP top 10 vulnerabilities
- CVE audit of dependencies
- Supply chain security (weekly)
Configuration
Environment Variables
Create .hermes/config.env:
GITHUB_OWNER=your-username
GITHUB_REPO=your-repo
GITHUB_TOKEN=${GITHUB_TOKEN}
VERCEL_TOKEN=${VERCEL_TOKEN}
VERCEL_PROJECT_ID=${VERCEL_PROJECT_ID}
VERCEL_ORG_ID=${VERCEL_ORG_ID}
SUPABASE_URL=${SUPABASE_URL}
SUPABASE_ANON_KEY=${SUPABASE_ANON_KEY}
SUPABASE_SERVICE_KEY=${SUPABASE_SERVICE_KEY}
SENTRY_DSN=${SENTRY_DSN}
UPTIME_KUMA_URL=${UPTIME_KUMA_URL}
UPTIME_KUMA_TOKEN=${UPTIME_KUMA_TOKEN}
SLACK_WEBHOOK_URL=${SLACK_WEBHOOK_URL}
TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN}
TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID}
PRODUCTION_URL=https://yourapp.com
Hermes Memory Configuration
Oh My Hermes stores project context in Hermes memory at:
~/.hermes/memory/
├── requirements.json # From clarify-requirements
├── product-brief.md # Generated brief
├── kanban-state.json # Current task status
└── deployment-log.json # Deployment history
Kanban Configuration
The autonomous loop uses a simple Kanban:
Backlog → In Progress → Review → Done
Stored in ~/.hermes/memory/kanban-state.json:
{
"backlog": [
{"id": "issue-42", "priority": 8, "title": "Fix login redirect"}
],
"in_progress": [
{"id": "issue-39", "assigned": "dev-agent", "started": "2026-05-16T10:00:00Z"}
],
"review": [
{"id": "pr-12", "reviewer": "security-agent", "checks": ["secret-scan", "owasp"]}
],
Real-World Workflows
Start a New App from Scratch
Message your Hermes bot:
Start a new app called TaskFlow — a Kanban board for small teams
Hermes will:
- Load
clarify-requirements skill
- Ask 7 questions about your app
- Generate
PRODUCT_BRIEF.md
- Run
choose-engine to decide implementation approach
- Implement the app
- Deploy to Vercel
- Set up monitoring
Implement a Feature
Message your Hermes bot:
Add Google OAuth login to the app
Hermes workflow:
- Creates GitHub issue
- Dev Agent implements
- Security Agent scans for secrets
- QA Agent validates build and preview
- Sends you approval message:
PR #15 — Add Google OAuth login
What changed: Users can now sign in with Google.
Added /api/auth/google endpoint and callback handler.
Build: passing | Preview: healthy (200ms) | No secrets found
Preview: https://taskflow-oauth.vercel.app
Reply YES to ship. Reply NO and tell me why.
- You reply
YES
- Merges, deploys, health-checks, confirms
Manual Deployment
cd /path/to/your/project
"deploy to vercel"
hermes run deploy-to-vercel
Security Audit
"run security review on main branch"
Health Check
"check if production is healthy"
Autonomous CTO Loop
Once configured, this runs every hour automatically:
┌─────────────────────────────────────────┐
│ GitHub Issue Opened (#42) │
└───────────┬─────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ PM Agent (auto-issue-triage) │
│ - Scores issue: priority 8/10 │
│ - Moves to Backlog │
└───────────┬─────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Dev Agent (implement) │
│ - Moves to In Progress │
│ - Writes code │
│ - Creates PR #12 │
└───────────┬─────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Security Agent (security-review) │
│ - Secret scan: PASS │
│ - OWASP check: PASS │
│ - CVE scan: PASS │
└───────────┬─────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ QA Agent (review-github-pr) │
│ - Build: passing │
│ - Health check: 180ms │
│ - Plain-English summary written │
│ - Moves to Review │
└───────────┬─────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Notification Sent (YOU on Telegram) │
│ "PR #12 ready. Reply YES to ship." │
└───────────┬─────────────────────────────┘
│
┌──────┴──────┐
│ │
▼ ▼
┌─────┐ ┌──────┐
│ YES │ │ NO │
└──┬──┘ └───┬──┘
│ │
│ ▼
│ ┌────────────────┐
│ │ Dev Agent │
│ │ iterates on │
│ │ your feedback │
│ └────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Ops Agent │
│ - Merges PR │
│ - Deploys to production │
│ - Runs health check │
│ - Confirms live URL │
│ - Moves to Done │
└─────────────────────────────────────────┘
Common Patterns
Goal-Oriented Sessions
Use /goal command to keep Hermes focused:
/goal Build a working MVP of TaskFlow with Google OAuth, deploy to Vercel, and set up monitoring — all within the next 2 hours
Hermes will:
- Break down the goal into sub-tasks
- Execute each step autonomously
- Check in with you at key decision points
- Persist progress across interruptions
Custom Skill Creation
Create project-specific skills:
"create a new skill for automated database backups"
Skill structure:
---
name: db-backup
description: Automated Supabase database backup to S3
triggers:
- "backup the database"
- "create db backup"
---
# db-backup
## What it does
Creates timestamped backup of Supabase database and uploads to S3.
## Prerequisites
- Supabase CLI installed
- AWS credentials configured
- S3 bucket created
## Steps
1. Export database: `supabase db dump -f backup.sql`
2. Compress: `gzip backup.sql`
3. Upload: `aws s3 cp backup.sql.gz s3://my-backups/$(date +%Y%m%d-%H%M%S).sql.gz`
4. Verify upload
5. Clean up local files
6. Notify completion
## Configuration
- S3_BUCKET=${S3_BUCKET}
- SUPABASE_PROJECT_REF=${SUPABASE_PROJECT_REF}
Scheduled Tasks
Configure cron jobs in ~/.hermes/cron.d/:
0 * * * * hermes run auto-issue-triage
0 9 * * * hermes run daily-report
0 2 * * 0 hermes run security-review --full-audit
*/15 * * * * hermes run health-check
Integration with Claude Code
When a task requires deep multi-file editing:
"refactor the authentication system to use sessions instead of JWT"
Troubleshooting
Hermes Not Loading Skills
ls -la ~/.hermes/skills/
bash /tmp/oh-my-hermes/install.sh
tail -f ~/.hermes/logs/hermes.log
GitHub Integration Failing
curl -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://api.github.com/repos/${GITHUB_OWNER}/${GITHUB_REPO}
"reconfigure github integration"
Deployment Issues
vercel whoami
hermes run verify-env
vercel logs ${VERCEL_PROJECT_ID}
curl https://your-production-url.vercel.app/api/health
Monitoring Not Working
echo ${SENTRY_DSN}
curl ${UPTIME_KUMA_URL}/api/status
"set up monitoring again"
Autonomous Loop Not Running
crontab -l | grep hermes
ps aux | grep hermes
systemctl restart hermes
hermes restart
cat ~/.hermes/memory/kanban-state.json
Advanced Configuration
Custom Agent Behavior
Modify agent behavior in ~/.hermes/config/agents.yaml:
agents:
pm:
issue_scoring:
user_impact_weight: 0.4
business_priority_weight: 0.3
technical_debt_weight: 0.3
auto_triage_frequency: "0 * * * *"
dev:
max_parallel_tasks: 2
preferred_engine: "claude-code"
security:
require_all_checks: true
fail_on_secrets: true
weekly_audit_day: "sunday"
qa:
health_check_timeout: 5000
required_response_time: 1000
ops:
auto_merge_on_approval: true
deployment_health_check_retries: 3
Notification Templates
Customize notification format in ~/.hermes/config/notifications.yaml:
templates:
pr_ready:
title: "PR #{pr_number} — {pr_title}"
body: |
What changed: {summary}
Build: {build_status} | Preview: {health_status} ({response_time}ms)
Security: {security_status}
Preview: {preview_url}
Reply YES to ship. Reply NO and tell me why.
deployment_success:
title: "✅ Deployed to production"
body: |
{project_name} v{version}
URL: {production_url}
Health: {health_status}
Deploy time: {deploy_time}s
Best Practices
- Start with onboarding: Message
"set up oh my hermes" — let the bot guide you
- Use /goal for focus: Keep long sessions on track with explicit goals
- Review security scans: Always check security-review output before merging
- Monitor health checks: Configure alerts for failed health checks
- Backup Hermes memory:
~/.hermes/memory/ contains valuable project context
- Version control skills: Commit custom skills to your repo in
.hermes/skills/
- Test in preview: Always validate preview URLs before approving production deploys
- Keep tokens secure: Never commit tokens — use
.env files and .gitignore
Integration Reference
Vercel
vercel deploy --prod
vercel ls ${PROJECT_NAME} --json | jq -r '.[0].url'
vercel env add SUPABASE_URL production
Supabase
supabase db push
supabase db connection-string
supabase db query "SELECT * FROM users LIMIT 1"
GitHub API
curl -X POST \
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
-H "Content-Type: application/json" \
https://api.github.com/repos/${GITHUB_OWNER}/${GITHUB_REPO}/issues \
-d '{"title": "Bug in login", "body": "Description", "labels": ["bug"]}'
curl -X POST \
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
-H "Content-Type: application/json" \
https://api.github.com/repos/${GITHUB_OWNER}/${GITHUB_REPO}/pulls \
-d '{"title": "Fix login", "head": "fix-login", "base": "main", "body": "Fixes #42"}'
Sentry
sentry-cli init
sentry-cli releases files ${VERSION} upload-sourcemaps ./dist
This skill enables AI coding agents to guide developers through installing, configuring, and using Oh My Hermes to build autonomous software development workflows with Hermes Agent.