open-forge
Self-host any open-source app on the user's own infrastructure (cloud VM, VPS, Raspberry Pi, localhost, k8s, PaaS). Walks the user through provisioning, DNS, TLS, SMTP, and hardening in phased + resumable workflows. 2216+ verified recipes plus live-derived fallback for the long tail. Agent-mode rules apply (no chat-paste credentials, no group-channel deploys).
npx skills add zhangqi444/open-forge --skill hermes --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Automates self-hosting of open-source apps on user-owned infrastructure. Walks users through provisioning, DNS, TLS, outbound and inbound email setup, and hardening in phased, resumable workflows. Uses state files to resume across sessions and supports multiple known projects (e.g., Ghost, OpenClaw, Hermes-Agent, Ollama, Open WebUI, Stable Diffusion WebUI, ComfyUI, Dify, LibreChat, AnythingLLM, Aider, vLLM, Langfuse) and various infra adapters.
How it works
Claude handles the orchestration and executes bash blocks found in recipe steps when present. It announces each action briefly before running the corresponding command, then executes via local CLI tools (aws, ssh, jq, curl) without paste-forced credentials. It asks for decisions only when necessary (e.g., AWS profile name, domain, SMTP key) and prompts one question at a time when possible. It installs dependencies if missing only after asking for approval, and stores progress in a state file at ~/.open-forge/deployments/<name>.yaml to enable resumable sessions. The system loads project recipes from references/projects/ and adapts to the chosen infra adapter via references/infra and references/runtimes as defined in the skill. It supports a wide set of software options and corresponding infrastructure adapters, with a structured three-question selection flow before provisioning. Preflight steps are loaded from references/modules/preflight.md and tailored to the chosen tuple.
When to use it
Use when a user wants to self-host an open-source app on infrastructure they own (cloud VM, VPS, Raspberry Pi, localhost, k8s, or PaaS) and needs guided provisioning, DNS, TLS, SMTP, and hardening in phased, resumable steps. Suitable for scenarios like deploying Ghost on AWS Lightsail or OpenClaw via various upstream paths, and when the user requires a stateful flow that can be resumed later.
What it can touch
The skill interacts with the user’s infrastructure via CLI tools (aws, ssh, jq, curl) and orchestrates bash blocks contained in recipes. It references tools and commands like AskUserQuestion, WebFetch, and GitHub API integrations as capabilities, but it does not paste credentials directly into chats. It requires user-provided inputs (AWS profile name, domain, SMTP API key) and uses state files at ~/.open-forge/deployments/<name>.yaml to track progress. It supports runtimes, infra adapters, and project recipes as described in the references folders.
Caveats
Agent-mode rules apply (no chat-paste credentials, group-channel deploys). The content is platform-agnostic but designed for Claude Code; exact tool-call syntax may vary across platforms. The skill relies on external project recipes and infra adapters; outcomes depend on user-provided infrastructure compatibility and network access. MIT license applies to the repository.
# open-forge — self-host any open-source app > **Agent-mode rules in effect.** Pattern 5 (direct credential paste) is disabled. Group-channel deploy conversations are refused. See § *Asking for credentials → Agent-mode rules* below. --- name: open-forge description: Automate self-hosting of open-source apps on cloud infrastructure the user owns. Use when the user asks to "self-host", "deploy to my own cloud", "install X on AWS / Lightsail / EC2 / Azure / Hetzner / DigitalOcean / GCP / Oracle Cloud / Hostinger / Raspberry Pi / Kubernetes / Fly.io / Render / Railway / Northflank / exe.dev", "set up my own Ghost blog / Mastodon / WordPress / Nextcloud", wants to deploy the self-hosted personal AI agent **OpenClaw** (openclaw.ai — NOT the Captain Claw platformer game) or **Hermes-Agent** (Nous Research's self-improving AI agent at github.com/NousResearch/hermes-agent), wants to run **Ollama** (local-LLM inference server at ollama.com — pairs with every AI agent / chat UI as an OpenAI-compatible provider), wants to run **Open WebUI** (feature-rich self-hosted ChatGPT-like UI at github.com/open-webui/open-webui — pairs natively with Ollama and any OpenAI-compatible backend; adds RAG, web
- Overview
- Operating principle
- What's supported
- Selection — ask three questions
- Goal-shaped requests → curated bundles
- Tier 1 vs Tier 2 routing
- Tier 1 — verified recipe exists
- Tier 2 — no recipe; derive from upstream live
- Out-of-scope software
- Phased workflow
- State file
- Execution mode
- Inputs
- Asking for credentials
Use $RESEND_KEY in subsequent commands; never echo it back to the user
Verify the var exists in Claude's shell
test -n "$RESEND_API_KEY" || { echo "RESEND_API_KEY not set; export it before continuing"; exit 1; }
Use it
curl ... -H "Authorization: Bearer $RESEND_API_KEY" ...
Check if gh is authenticated for the right account
gh auth status
If yes, submit
gh issue create \What does the open-forge skill do?
Self-host any open-source app on the user's own infrastructure (cloud VM, VPS, Raspberry Pi, localhost, k8s, PaaS). Walks the user through provisioning, DNS, TLS, SMTP, and hardening in phased + resumable workflows. 2216+ verified recipes plus live-derived fallback for the long tail. Agent-mode rules apply (no chat-paste credentials, no group-channel deploys).
How do I install it?
Run `npx skills add zhangqi444/open-forge --skill hermes --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From zhangqi444/open-forge, a repository with 89 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.