deploy-open-harness
Skill1 starsChanged 5 months agoMITView on GitHub
Guides a user through collecting the credentials needed to deploy their own copy of Open Harness, deploying this repo on Vercel, and completing first-run setup. Use for requests about deploying, self-hosting, configuring credentials, or getting started with a fork of this app.
- Reads credentials
1 other project uses a version of this.
Adopted by
Most recently taken up by
- vercel-labs/open-agentsword for word, first seen Jan 29, 2026
Other versions1 project uses a version of this.
Word for word · 1
- vercel-labs/open-agents★ 5.8k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .agents/skills/vercel-react-best-practices/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-browserSkill
- ai-sdkSkill
- baseline-uiSkill
- chat-sdkSkill
- claude-tenderly-auditorSkill
- code-reviewSkill
- codex-adversarial-review-tenderly-testnetSkill
- codex-adversarial-tenderly-auditorSkill
- emil-design-engSkill
- frontend-designSkill
- gateman-analysisSkill
- plan-modeSkill
- raj-demand-driven-contextSkill
- remove-demo-limitsSkill
- tenderly-proSkill
- tenderly-testnetSkill
- vercel-react-best-practicesSkill
- web-animation-designSkill
- workflowSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. About 0 are common, 14 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈14
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Before giving deployment advice, read these files if you have not already:
- Distinctive: line 27
If the code and the docs disagree, trust the code and say so.
- Very specific: line 29
Do not rely on scripts/setup.sh.
- Distinctive: line 40
Leave with a short next-steps checklist.
- Distinctive: line 44
Never ask the user to paste secrets into chat.
- Distinctive: line 51
Start by determining which path the user wants:
- Distinctive: line 59
If the user is unsure, recommend minimal deploy first, then layer on GitHub.
- Distinctive: line 63
Use this checklist when guiding the user.
- Very specific: line 140
use the GitHub App Client ID and Client Secret for NEXT_PUBLIC_GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET
- Distinctive: line 164
Import it into Vercel at the repo root.
- Distinctive: line 165
Add the baseline env vars:
- Distinctive: line 170
Create the Vercel OAuth app using that production URL.
- Very specific: line 171
Add NEXT_PUBLIC_VERCEL_APP_CLIENT_ID and VERCEL_APP_CLIENT_SECRET.
- Distinctive: line 173
If the user wants the full GitHub flow, create the GitHub App using the production URL, add the GitHub env vars, and redeploy again.
- Very specific: line 176
If the user already has a custom domain ready, it is fine to use that domain from the start instead of the default vercel.app production …
- Distinctive: line 185
Create a session and confirm the basic UI loads.
- Distinctive: line 195
If something fails, identify the missing credential or callback mismatch instead of giving generic advice.
- Distinctive: line 199
When helping a user, prefer this structure:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
You are helping a user deploy their own copy of Open Harness.
Base your guidance on the current codebase, not on older Harness-era setup assumptions.
First rule: verify current requirements from the repo
Before giving deployment advice, read these files if you have not already:
README.mdapps/web/.env.exampleapps/web/lib/db/client.tsapps/web/lib/jwe/encrypt.tsapps/web/lib/crypto.tsapps/web/app/api/auth/signin/vercel/route.tsapps/web/app/api/auth/vercel/callback/route.tsapps/web/app/api/github/app/install/route.tsapps/web/app/api/github/app/callback/route.tsapps/web/lib/github/app-auth.tsapps/web/lib/redis.tsapps/web/lib/sandbox/config.ts
If the code and the docs disagree, trust the code and say so.
Do not rely on scripts/setup.sh.
Goals
Help the user:
- Decide whether they want a minimal deploy or the full GitHub-enabled coding-agent flow.
- Collect only the credentials actually required for that scope.
- Understand where to obtain each credential.
- Deploy this repo on Vercel.
- Complete first-run verification.
- Leave with a short next-steps checklist.
Safety rules
- Never ask the user to paste secrets into chat.
- Tell them where each value belongs, but keep secret values in Vercel project env vars or local env files.
- Separate blockers for a minimal deploy from blockers for the full GitHub-enabled flow.
- Be explicit when something is optional.
Scope the deployment first
Start by determining which path the user wants:
1) Minimal deploy
A working hosted app where the user can deploy it, sign in with Vercel, and use the product without GitHub repo access.
2) Full deploy
Everything in the minimal deploy, plus GitHub account linking, GitHub App installation, private repo access, pushes, and PR creation.
If the user is unsure, recommend minimal deploy first, then layer on GitHub.
Credential checklist
Use this checklist when guiding the user.
Required for the app to run
POSTGRES_URLJWE_SECRET
Required for a usable hosted deployment
ENCRYPTION_KEYNEXT_PUBLIC_VERCEL_APP_CLIENT_IDVERCEL_APP_CLIENT_SECRET
Required for GitHub-enabled repo flows
NEXT_PUBLIC_GITHUB_CLIENT_IDGITHUB_CLIENT_SECRETGITHUB_APP_IDGITHUB_APP_PRIVATE_KEYNEXT_PUBLIC_GITHUB_APP_SLUGGITHUB_WEBHOOK_SECRET
Optional
REDIS_URLorKV_URLVERCEL_PROJECT_PRODUCTION_URLNEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URLVERCEL_SANDBOX_BASE_SNAPSHOT_IDELEVENLABS_API_KEY
How to explain each credential
PostgreSQL
Tell the user to create a Postgres database and copy the connection string into POSTGRES_URL.
JWE secret
Explain that this is required for session encryption.
Recommended generation command:
openssl rand -base64 32 | tr '+/' '-_' | tr -d '=\n'Encryption key
Explain that provider tokens are encrypted at rest and the value must be a 64-character hex string.
Recommended generation command:
openssl rand -hex 32Vercel OAuth app
Tell the user to create a Vercel OAuth app and set:
- Callback URL:
https://YOUR_DOMAIN/api/auth/vercel/callback - For local dev:
http://localhost:3000/api/auth/vercel/callback
Store the credentials as:
NEXT_PUBLIC_VERCEL_APP_CLIENT_IDVERCEL_APP_CLIENT_SECRET
GitHub App
Tell the user they do not need a separate GitHub OAuth app. Open Harness uses the GitHub App's user authorization flow.
Tell the user to create a GitHub App and set:
- Homepage URL:
https://YOUR_DOMAIN - Callback URL:
https://YOUR_DOMAIN/api/github/app/callback - Setup URL:
https://YOUR_DOMAIN/api/github/app/callback - For local dev: homepage
http://localhost:3000, callback/setuphttp://localhost:3000/api/github/app/callback
Also tell them to:
- enable "Request user authorization (OAuth) during installation"
- use the GitHub App Client ID and Client Secret for
NEXT_PUBLIC_GITHUB_CLIENT_IDandGITHUB_CLIENT_SECRET - make the app public if they want org installs to work cleanly
- generate a webhook secret
- download/generate the private key
Store the values as:
NEXT_PUBLIC_GITHUB_CLIENT_IDGITHUB_CLIENT_SECRETGITHUB_APP_IDGITHUB_APP_PRIVATE_KEYNEXT_PUBLIC_GITHUB_APP_SLUGGITHUB_WEBHOOK_SECRET
Mention that GITHUB_APP_PRIVATE_KEY can be stored either as PEM contents with escaped newlines or as a base64-encoded PEM.
Redis / KV
Explain that Redis is optional. It improves resumable streams, stop signaling, and caching, but it is not required for the first deploy.
Deployment flow
Guide the user through this sequence:
- Fork the repo.
- Import it into Vercel at the repo root.
- Add the baseline env vars:
POSTGRES_URLJWE_SECRETENCRYPTION_KEY
- Deploy once to get a stable production URL.
- Create the Vercel OAuth app using that production URL.
- Add
NEXT_PUBLIC_VERCEL_APP_CLIENT_IDandVERCEL_APP_CLIENT_SECRET. - Redeploy.
- If the user wants the full GitHub flow, create the GitHub App using the production URL, add the GitHub env vars, and redeploy again.
- Optionally add Redis/KV and the production URL vars.
If the user already has a custom domain ready, it is fine to use that domain from the start instead of the default vercel.app production URL.
First-run verification
For a minimal deploy, walk the user through:
- Open the production site.
- Sign in with Vercel.
- Confirm they land in the app successfully.
- Create a session and confirm the basic UI loads.
For the full deploy, also verify:
- GitHub account linking works.
- GitHub App installation completes.
- Installations or repos appear in the UI.
- A repo-backed session can start.
- The sandbox starts and the agent can work in the repo.
If something fails, identify the missing credential or callback mismatch instead of giving generic advice.
Response format
When helping a user, prefer this structure:
- Target scope — minimal or full.
- Credential checklist — grouped into required now vs optional later.
- How to get each missing credential — short, concrete instructions.
- Deploy steps — only the next actions the user should take.
- Verification — what to click/test after deploy.
- Next upgrades — Redis, GitHub, voice, custom domain, snapshot override, only if relevant.
Be concise. Keep the user moving toward the next unblocker.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

