Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nhouseholder-tailscale-cloud
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: cloud, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tailscale-cloud
What's inside
- Skill name
tailscale-cloud- Description
- ALWAYS ACTIVE on Cloud Agents. Join the tailnet in userspace, reach JobHub on nicholass-imac, fix Cloud git extraheader, use GitHub and Cloudflare APIs already injected. Do not print secrets. Do not wait to be asked.
- License
- MIT
- Instructions
- 60 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: scripts/cloud_tailscale_hydrate.sh, scripts/cloud_tailscale_up.sh, scripts/cloud_tailscale_mint_key.py
Files (1)
- SKILL.md
SKILL.md (first lines)
# Cloud HQ (every Cursor Cloud Agent)
This plugin is installed on the **account**. Cursor has no account-wide `start` hook. What actually follows every new Cloud environment:
1. Cursor **User** secrets (not environment-scoped): `TS_API_KEY` and/or `TAILSCALE_AUTHKEY` (optional `TS_OAUTH_CLIENT_SECRET`)
2. If those are not injected, `scripts/cloud_tailscale_hydrate.sh` GETs private R2 `prompt-betting-engram/tailscale.env` with `CLOUDFLARE_API_TOKEN` (already on Cloud) and writes `~/.claude/credentials/tailscale.env` mode `0600`. Do not ask Nicholas to re-paste a Tailscale key.
3. This skill + `scripts/cloud_tailscale_up.sh` (`tailscaled --tun=userspace-networking`)
4. Product repos that opt in: `"start": "bash scripts/cloud_agent_start.sh"` in `.cursor/environment.json`
Already injected on Cloud for this account (do not ask Nicholas to re-paste them): `SPORT_REPO_TOKEN`, `CLOUDFLARE_API_TOKEN`, `CLOUDFLARE_ACCOUNT_ID`, `R2_*`. GitHub MCP, Cloudflare MCP, and JobHub MCP are already connected. JobHub MCP is **read-only** (list/status/logs). Starting or repairing a job is Tailscale MCP `jobhub` / `imac_exec`, or `bash scripts/cloud_tailscale_up.sh --jobhub` / Tailscale SSH to the iMac.
## First commands (do not skip)
```bash
SCRIPT="$(find "${HOME}/.cursor/plugins" -path '*cursor-laptop-skills*' -name cloud_tailscale_up.sh 2>/dev/null | head -n 1)"
if [[ -z "${SCRIPT}" && -f scripts/cloud_tailscale_up.sh ]]; then
SCRIPT=scripts/cloud_tailscale_up.sh
fi
DIR="$(dirname "${SCRIPT}")"
if [[ -f "${DIR}/cloud_github_git_env.py" ]]; then
eval "$(python3 "${DIR}/cloud_github_git_env.py")"
elif [[ -f scripts/cloud_github_git_env.py ]]; then
eval "$(python3 scripts/cloud_github_git_env.py)"
fi
if [[ -f "${DIR}/cloud_install_engram.sh" ]]; then
bash "${DIR}/cloud_install_engram.sh"
elif [[ -f scripts/cloud_install_engram.sh ]]; then
bash scripts/cloud_install_engram.sh
fi
bash "${SCRIPT}"
```
Then:
```bash
bash "${SCRIPT}" --imac
bash "${SCRIPT}" --jobhub run prompt-betting.daily-ai-pipeline
# or: tailscale --socket="$HOME/.local/share/tailscale/tailscaled.sock" ssh nicholass-imac
```
HQ trees live at `/Volumes/Extreme Pro/ProjectsHQ` and `~/ProjectsHQ` on that host.
SSH as `nicholashouseholder@nicholass-imac` (`TAILSCALE_SSH_USER`). `--jobhub` runs the iMac venv `python -m jobhub`.
Auth resolution inside the script, in order: R2 hydrate of `tailscale.env` → `TAILSCALE_AUTHKEY` → `TS_OAUTH_CLIENT_SECRET` (passed to `tailscale up` with ephemeral/preauthorized) → mint ephemeral key via `TS_API_KEY` (`scripts/cloud_tailscale_mint_key.py`). Missing all three after hydrate: skip the tailnet, bind GitHub, exit 0. Do not invent a `tskey-`. Do not ask Nicholas to re-paste the API key.
## APIs already on the agent
- **GitHub**: `SPORT_REPO_TOKEN` + GitHub MCP. Cursor injects a stale `GIT_CONFIG` bearer extraheader that 401s `git fetch`/`git push`. `eval "$(python3 …/cloud_github_git_env.py)"` replaces it with HTTP Basic. Contents API (`engine/repo_publisher.py` in prompt-betting) works without that eval.
- **Cloudflare**: `CLOUDFLARE_API_TOKEN` + `CLOUDFLARE_ACCOUNT_ID` + Cloudflare MCP + wrangler. Never pass the token on a CLI argv.
- **JobHub**: MCP tools `list_jobs`, `job_status`, `tail_log`, `recent_failures`, `site_freshness`, `fleet_rollup`, `secrets_status`. Cannot start/stop jobs. Mutate via Tailscale MCP `jobhub` / `imac_exec`, or `--jobhub` / Tailscale SSH.
## Hard rules
- Userspace only: `tailscaled --tun=userspace-networking`. Do not try kernel TUN as the primary path.
- Never environment-scope Tailscale secrets. Never put keys in a repo, PR, log, or chat.
- Do not `export HTTP_PROXY` / `HTTPS_PROXY` / `ALL_PROXY` globally. SOCKS is `localhost:1055` for a single iMac-bound command only.
- Do not ask Nicholas to mint keys or SSH to the iMac. If the credential is missing, skip and use GitHub/Cloudflare/JobHub MCP.From nhouseholder/cursor-laptop-skills, MIT.
More from nhouseholder/cursor-laptop-skills
- 0.524score
debate
nhouseholder
Runs a formal 3-round debate between Claude (Proposer) and Gemini 3.1 Pro (Challenger), ending with an AI verdict via backend API.
SkillBFreshness: BClaude Code +9 - 0.524score
reflect
nhouseholder
Session retrospective — review what was accomplished in this session versus the original goal.
SkillBFreshness: BClaude Code +9 - 0.524score
whats-next
nhouseholder
Strategic next-action prioritizer: anchors on the project's north star, scores impact vs effort vs confidence vs decay, filters already-killed work, and…
SkillBFreshness: BClaude Code +9 - 0.524score
estimate
nhouseholder
Effort, time, and complexity estimation before starting a task.
SkillBFreshness: BClaude Code +9 - 0.521score
clean-architecture-rebuild
nhouseholder
Same behavior; new seams / folders / decoupling.
SkillBFreshness: BClaude Code +9 - 0.521score
get-ready
nhouseholder
Session start, read-only.
SkillBFreshness: BClaude Code +9 - 0.521score
kg
nhouseholder
Keep going — audit open work, pick the highest-leverage task, implement it end-to-end, verify, then immediately take the next highest-leverage step.
SkillBFreshness: BClaude Code +9 - 0.521score
understand-and-refactor
nhouseholder
Join an unfamiliar product repo: map architecture and data flow, then apply the highest-ROI structural / duplication / perf / maintainability refactors.
SkillBFreshness: BClaude Code +9 - 0.521score
fybr
nhouseholder
Follow your best recommendation — pick one course, execute it, do not interview.
SkillBFreshness: BClaude Code +9 - 0.521score
hq-law
nhouseholder
Always-on standing law for every Cloud Agent on any ProjectsHQ repo: honesty about what was run, fail-closed on unknowns, real-money safety for betting picks…
SkillBFreshness: BClaude Code +9 - 0.521score
performance-optimize
nhouseholder
Performance engineer loop — speed, memory, scalability, extra rendering.
SkillBFreshness: BClaude Code +9 - 0.521score
wrap-up
nhouseholder
Session end.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 1, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from nhouseholder
- 0.524score
reflect
nhouseholder
Session retrospective — review what was accomplished in this session versus the original goal.
SkillBFreshness: BClaude Code +9 - 0.524score
whats-next
nhouseholder
Strategic next-action prioritizer: anchors on the project's north star, scores impact vs effort vs confidence vs decay, filters already-killed work, and…
SkillBFreshness: BClaude Code +9 - 0.524score
estimate
nhouseholder
Effort, time, and complexity estimation before starting a task.
SkillBFreshness: BClaude Code +9 - 0.524score
debate
nhouseholder
Runs a formal 3-round debate between Claude (Proposer) and Gemini 3.1 Pro (Challenger), ending with an AI verdict via backend API.
SkillBFreshness: BClaude Code +9 - 0.521score
clean-architecture-rebuild
nhouseholder
Same behavior; new seams / folders / decoupling.
SkillBFreshness: BClaude Code +9 - 0.521score
kg
nhouseholder
Keep going — audit open work, pick the highest-leverage task, implement it end-to-end, verify, then immediately take the next highest-leverage step.
SkillBFreshness: BClaude Code +9
Cite this page
tailscale-cloud skill. Agent Mart. https://agentmart.dev/skills/nhouseholder-tailscale-cloud (last updated 2026-10-24)