Not in the top 1,000 by GitHub stars

Hainrixz/all-deploy

Claude Code skill that deploys any web app, API, or agent to the internet — strict pre-deploy audit, preview → prod flow. Bilingual EN/ES. By @soyenriquerocha · Tododeia.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 0d35225e2e70

No earlier version was observed for comparison.

Compare on GitHub

cowork-plugin/skills/publish-website/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 0d35225e2e70

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 0d35225e2e70aaa57c5141a5131b9927911d86a0

git clone --filter=blob:none --no-checkout https://github.com/Hainrixz/all-deploy.git .hotskills/hainrixz-all-deploy && git -C .hotskills/hainrixz-all-deploy checkout --detach 0d35225e2e70aaa57c5141a5131b9927911d86a0 # Copy each selected skill directory from .hotskills/hainrixz-all-deploy into .claude/skills/<skill-name>/
72GitHub stars
2stars in 7 days
2skills in this repository
1commit in 30 days

Heat

3.3
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 1, 202672

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

all-deploy

When your agent uses it

Deploys websites, web apps, APIs, and agents to the internet with a strict pre-deploy audit and a preview → health-check → prod flow. Handles plain HTML/CSS/JS pages and static sites (Astro, Hugo, Jekyll, Eleventy, Vite) as well as Next, Remix, Nuxt, SvelteKit, FastAPI, Flask, Express, MCP servers, Claude Agent SDK scripts, Python workers, and Dockerized projects. Routes to free static hosts — Cloudflare Pages, Netlify, GitHub Pages, Render — or to Vercel, Railway, Docker+SSH VPS, or a cloudflared tunnel, and can also run the project locally. Use when the user says "/all-deploy", "/deploy", "/despliega", "deploy this", "ship this", "push to prod", "get this online", "publish my website", "sube mi página web", "publicar mi página", "hosting gratis", "free hosting", "custom domain", "dominio propio", "run it locally", "corre esto localmente", or otherwise asks to publish a site or project to a URL.

What it loads into context

Frontmatter

267 tokens

Always available to the agent

SKILL.md

7,221 tokens

When the skill is activated

Reference documents

43,797 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Configuration (edit these lines to change default behavior)
  2. Hard Rules (never violate — these are the safety contract)
  3. Two Modes
  4. Cloud Deploy Workflow
  5. Target Selection — ranking rubric (quick reference)
  6. Bundled Resources
  7. Platform Notes

Scripts executed separately

  • docs/badges/generate.py
  • scripts/audit.py
  • scripts/env_extract.py
  • scripts/package_skill.py
  • scripts/static_check.py
  • scripts/sync_cowork_plugin.py
  • tests/test_audit.py
  • tests/test_env_extract.py
  • tests/validate_skill.py

Files

  • .github/ISSUE_TEMPLATE/bug-report.ymlasset3,828 bytes
  • .github/ISSUE_TEMPLATE/config.ymlasset502 bytes
  • .github/ISSUE_TEMPLATE/target-request.ymlasset3,519 bytes
  • .github/social-preview.pngasset64,871 bytes
  • .github/workflows/ci.ymlasset1,955 bytes
  • .gitignoreasset328 bytes
  • CONTRIBUTING.mddoc11,821 bytes
  • LICENSEasset1,089 bytes
  • NOTICEasset626 bytes
  • README.mddoc40,014 bytes
  • SKILL.mdcore29,042 bytes
  • SKILL.mdcore29,042 bytes
  • SKILL.mdcore29,042 bytes
  • assets/templates/.env.example.templateasset1,413 bytes
  • assets/templates/Dockerfile.nodeasset1,711 bytes
  • assets/templates/Dockerfile.pythonasset2,255 bytes
  • assets/templates/docker-compose.example.ymlasset2,898 bytes
  • cowork-plugin/.claude-plugin/plugin.jsonasset517 bytes
  • cowork-plugin/README.mddoc6,693 bytes
  • docs/badges/claude-code-skill.svgasset860 bytes
  • docs/badges/generate.pyruns4,980 bytes
  • docs/badges/license.svgasset839 bytes
  • docs/demo-recording.mddoc8,708 bytes
  • docs/images/audit.pngasset3,210 bytes
  • docs/images/community.pngasset4,591 bytes
  • docs/images/deploy.pngasset3,624 bytes
  • docs/images/detect.pngasset3,406 bytes
  • docs/images/hero.pngasset8,438 bytes
  • docs/images/local.pngasset6,300 bytes
  • docs/images/rollback.pngasset5,306 bytes
  • references/agents.mddoc6,768 bytes
  • references/audit-checklist.mddoc8,930 bytes
  • references/custom-domain.mddoc7,205 bytes
  • references/env-mapping.mddoc8,260 bytes
  • references/project-types.mddoc7,399 bytes
  • references/static-hosting.mddoc6,808 bytes
  • references/static-sites.mddoc10,175 bytes
  • references/targets/cloudflare-pages.mddoc7,666 bytes
  • references/targets/cloudflared-tunnel.mddoc5,502 bytes
  • references/targets/docker-vps.mddoc5,782 bytes
  • references/targets/github-pages.mddoc7,556 bytes
  • references/targets/netlify.mddoc5,905 bytes
  • references/targets/railway.mddoc5,811 bytes
  • references/targets/render.mddoc5,580 bytes
  • references/targets/vercel.mddoc7,330 bytes
  • scripts/audit.pyruns33,809 bytes
  • scripts/env_extract.pyruns5,356 bytes
  • scripts/package_skill.pyruns3,890 bytes
  • scripts/static_check.pyruns27,675 bytes
  • scripts/sync_cowork_plugin.pyruns2,848 bytes
  • tests/test_audit.pyruns17,359 bytes
  • tests/test_env_extract.pyruns2,477 bytes
  • tests/validate_skill.pyruns5,178 bytes
Read SKILL.md
<!-- Copyright (c) 2026 Enrique Rocha (@soyenriquerocha) · tododeia.com · id er-587bf42d -->

# all-deploy

Detects, audits, and deploys projects to the right host with a confirmed preview → prod flow. The unique value is **detect → audit → route to the right CLI**, not wrapping the CLI.

## Configuration (edit these lines to change default behavior)

```
CONFIRMATION_MODE: ask_at_start
  # ask_at_start (default): the skill asks at the start of each cloud deploy
  #                         whether to run full-auto or step-by-step.
  # full_auto:              skip the question. Audit → preview → prod with a
  #                         5-second ESC window before prod.
  # always_ask:             skip the question. Require explicit "yes" before prod.
View the complete source on GitHub

Skills included

  • all-deploy
  • publish-website

Repository facts

License
MIT
Created
Apr 19, 2026
Last pushed
Oct 25, 2026
Forks
14
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 3 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • cowork-plugin/skills/publish-website/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 238 signals by file

.github/ISSUE_TEMPLATE/config.yml

  • Network accessline 2
    contact_links:   - name: 🌐 Tododeia community     url: https://tododeia.com
  • Network accessline 3
    - name: 🌐 Tododeia community     url: https://tododeia.com     about: Join the community, ask questions, share what you're building.
  • Network accessline 4
    url: https://tododeia.com
  • Network accessline 5
    about: Join the community, ask questions, share what you're building.   - name: 📸 Instagram (@soyenriquerocha)     url: https://instagram.com/soyenriquerocha
  • Network accessline 6
    - name: 📸 Instagram (@soyenriquerocha)     url: https://instagram.com/soyenriquerocha     about: Follow for tutorials and updates.
  • Network accessline 7
    url: https://instagram.com/soyenriquerocha
  • Network accessline 8
    about: Follow for tutorials and updates.   - name: 📚 SKILL.md documentation     url: https://github.com/Hainrixz/all-deploy/blob/main/SKILL.md
  • Network accessline 9
    - name: 📚 SKILL.md documentation     url: https://github.com/Hainrixz/all-deploy/blob/main/SKILL.md     about: Full phases, hard rules, and workflow reference before filing a bug.
  • Network accessline 10
    url: https://github.com/Hainrixz/all-deploy/blob/main/SKILL.md

.github/ISSUE_TEMPLATE/target-request.yml

  • Network accessline 35
    description: What command installs the CLI? How does the user authenticate?       placeholder: |         Install: `brew install flyctl` (or `curl -L https://fly.io/install.sh | sh`)
  • Network accessline 36
    placeholder: |         Install: `brew install flyctl` (or `curl -L https://fly.io/install.sh | sh`)         Auth: `flyctl auth login` (opens browser)
  • Dangerous shell operationline 37
    Install: `brew install flyctl` (or `curl -L https://fly.io/install.sh | sh`)
  • Network accessline 37
    Install: `brew install flyctl` (or `curl -L https://fly.io/install.sh | sh`)

.github/workflows/ci.yml

  • Network accessline 48
    run: |           mkdir -p /tmp/static-fixture           printf '<!doctype html><html lang="en"><head><meta charset="utf-8">\n<meta name="viewport" content="width=device-width, initial-scale=1">\n<title>t</title><meta name="description" cont
  • Network accessline 49
    mkdir -p /tmp/static-fixture           printf '<!doctype html><html lang="en"><head><meta charset="utf-8">\n<meta name="viewport" content="width=device-width, initial-scale=1">\n<title>t</title><meta name="description" content="t">\n<meta p
  • Network accessline 50
    printf '<!doctype html><html lang="en"><head><meta charset="utf-8">\n<meta name="viewport" content="width=device-width, initial-scale=1">\n<title>t</title><meta name="description" content="t">\n<meta property="og:title" content="t"><meta pr

.gitignore

  • Access to secretsline 31
    [Credential-related source omitted]

CONTRIBUTING.md

  • Network accessline 9
    Thanks for your interest in contributing. This skill is part of the [Tododeia](https://tododeia.com) community — built by [@soyenriquerocha](https://instagram.com/soyenriquerocha), maintained collaboratively.
  • Network accessline 26
    git clone https://github.com/Hainrixz/all-deploy.git
  • Network accessline 62
    3. **Phase 4 — Env delivery** — the exact CLI to push env vars. 4. **Phase 4 — Preview deploy** — the command + how to parse the preview URL from stdout. 5. **Phase 4.5 — Health check** — the curl probe (or equivalent for non-HTTP targets).
  • Network accessline 63
    4. **Phase 4 — Preview deploy** — the command + how to parse the preview URL from stdout. 5. **Phase 4.5 — Health check** — the curl probe (or equivalent for non-HTTP targets). 6. **Phase 5 — Prod promotion** — the command + cost notes.
  • Network accessline 64
    5. **Phase 4.5 — Health check** — the curl probe (or equivalent for non-HTTP targets).
  • Network accessline 121
    - Open an issue — bugs and target requests have templates. - Join the [Tododeia community](https://tododeia.com).
  • Network accessline 122
    - Join the [Tododeia community](https://tododeia.com).
  • Network accessline 123
    - Ping [@soyenriquerocha](https://instagram.com/soyenriquerocha) on Instagram.
  • Network accessline 129
    Gracias por tu interés en contribuir. Este skill es parte de la comunidad [Tododeia](https://tododeia.com) — creado por [@soyenriquerocha](https://instagram.com/soyenriquerocha), mantenido en colaboración.
  • Network accessline 146
    git clone https://github.com/Hainrixz/all-deploy.git
  • Network accessline 182
    3. **Fase 4 — Entrega de env** — el comando exacto para empujar env vars. 4. **Fase 4 — Preview deploy** — el comando + cómo parsear la URL de preview del stdout. 5. **Fase 4.5 — Health check** — la probe con curl (o equivalente para target
  • Network accessline 183
    4. **Fase 4 — Preview deploy** — el comando + cómo parsear la URL de preview del stdout. 5. **Fase 4.5 — Health check** — la probe con curl (o equivalente para targets no-HTTP). 6. **Fase 5 — Promoción a prod** — el comando + notas de costo
  • Network accessline 184
    5. **Fase 4.5 — Health check** — la probe con curl (o equivalente para targets no-HTTP).
  • Network accessline 241
    - Abre un issue — bugs y solicitudes de target tienen templates. - Únete a la [comunidad Tododeia](https://tododeia.com).
  • Network accessline 242
    - Únete a la [comunidad Tododeia](https://tododeia.com).
  • Network accessline 243
    - Escríbeme a [@soyenriquerocha](https://instagram.com/soyenriquerocha) en Instagram.

NOTICE

  • Possible obfuscationline 3
    tododeia.com · github.com/Hainrixz · id er-587bf42d<U+2060><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200C><U+200B><U+200C><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200B><U+200B><U+200C><U+200B><U+200C><U+200C><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200C><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200C><U+200B><U+200B><U+200B><U+200B><U+200B><U+200C><U+200C><U+200B><U+200C><U+200C><U+200C><U+200B><U+200C><U+200C><U+200B><U+200B><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200B><U+200C><U+200C><U+200B><U+200C><U+200B><U+200B><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200B><U+2060>

README.md

  • Network accessline 9
    [![CI](https://github.com/Hainrixz/all-deploy/actions/workflows/ci.yml/badge.svg)](https://github.com/Hainrixz/all-deploy/actions/workflows/ci.yml)
  • Network accessline 11
    [![Claude Code skill](docs/badges/claude-code-skill.svg)](https://claude.com/claude-code)
  • Network accessline 13
    🌐 [tododeia.com](https://tododeia.com) · 📸 [@soyenriquerocha](https://instagram.com/soyenriquerocha) · 📦 [Latest release](https://github.com/Hainrixz/all-deploy/releases/latest)
  • Network accessline 69
    git clone https://github.com/Hainrixz/all-deploy.git ~/.claude/skills/all-deploy
  • Network accessline 78
    Prefer a single file? Download `all-deploy.skill` from the [Releases page](https://github.com/Hainrixz/all-deploy/releases/latest) and use Claude Code's skill installer.
  • Network accessline 173
    More targets (Fly, Modal, Hugging Face Spaces) — [open an issue](https://github.com/Hainrixz/all-deploy/issues) to vote for yours.
  • Network accessline 307
    git clone https://github.com/Hainrixz/all-deploy.git ~/.claude/skills/all-deploy
  • Network accessline 316
    ¿Prefieres un solo archivo? Descarga `all-deploy.skill` desde la [página de Releases](https://github.com/Hainrixz/all-deploy/releases/latest) y úsalo con el instalador de skills de Claude Code.
  • Network accessline 411
    Vienen más targets (Fly, Modal, Hugging Face Spaces) — [abre un issue](https://github.com/Hainrixz/all-deploy/issues) para votar por el tuyo.
  • Network accessline 522
    Created by **Enrique Rocha** · [@soyenriquerocha](https://instagram.com/soyenriquerocha)
  • Network accessline 524
    🌐 **[tododeia.com](https://tododeia.com)** — join us, find more tools, see what we're building together.
  • Network accessline 534
    <sub>Hecho por **Enrique Rocha (@soyenriquerocha)** · [tododeia.com](https://www.tododeia.com)<U+2060><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200C><U+200B><U+200C><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200B><U+200B><U+200C><U+200B><U+200C><U+200C><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200C><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200C><U+200B><U+200B><U+200B><U+200B><U+200B><U+200C><U+200C><U+200B><U+200C><U+200C><U+200C><U+200B><U+200C><U+200C><U+200B><U+200B><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200B><U+200C><U+200C><U+200B><U+200C><U+200B><U+200B><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200B><U+2060></sub>
  • Possible obfuscationline 534
    <sub>Hecho por **Enrique Rocha (@soyenriquerocha)** · [tododeia.com](https://www.tododeia.com)<U+2060><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200C><U+200B><U+200C><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200B><U+200B><U+200C><U+200B><U+200C><U+200C><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200C><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200C><U+200B><U+200B><U+200B><U+200B><U+200B><U+200C><U+200C><U+200B><U+200C><U+200C><U+200C><U+200B><U+200C><U+200C><U+200B><U+200B><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200B><U+200C><U+200C><U+200B><U+200C><U+200B><U+200B><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200B><U+200C><U+200C><U+200B><U+200B><U+200C><U+200B><U+200B><U+2060></sub>

SKILL.md

  • Access to secretsline 209
    [Credential-related source omitted]
  • Network accessline 228
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL"
  • Network accessline 231
    (No `-f` — that would suppress the `%{http_code}` output on HTTP errors. `-sSL` keeps curl silent on success but still surfaces transport errors and follows redirects.)
  • Network accessline 236
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL/<first-stylesheet-href>"
  • Network accessline 241
    A **2xx or 3xx** status promotes to Phase 5. **4xx/5xx**, empty output (connection refused, DNS failure), or a curl non-zero exit → stop. Report the failing endpoint with the target's log command (`vercel logs`, `railway logs`, `ssh ... 'do
  • Network accessline 243
    **Optional visual verify.** If `VISUAL_VERIFY: true` and the project is a frontend, use `chrome-bridge-automation` to screenshot the preview and confirm the page renders (not blank, not error page). Curl 2xx/3xx is still the gate; screensho
  • Network accessline 266
    python3 -m http.server -d <PUBLISH_DIR> 8000 curl -sSL -o /dev/null -w "%{http_code}" http://localhost:8000
  • Network accessline 267
    curl -sSL -o /dev/null -w "%{http_code}" http://localhost:8000
  • Network accessline 276
    - Curl the production URL; confirm status.

assets/templates/.env.example.template

  • Access to secretsline 1
    [Credential-related source omitted]
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]

assets/templates/Dockerfile.python

  • Dangerous shell operationline 22
    && rm -rf /var/lib/apt/lists/*

assets/templates/docker-compose.example.yml

  • Access to secretsline 7
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 28
    [Credential-related source omitted]
  • Network accessline 36
    healthcheck:       # Language built-ins — no curl/wget needed in slim base images.
  • Network accessline 37
    # Language built-ins — no curl/wget needed in slim base images.
  • Network accessline 38
    # Node (default below): probe /health and exit 0 on 2xx, 1 otherwise.       test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/health', r => process.exit(r.statusCode < 400 ? 0 : 1)).on('error', () => process.exit(1))"]
  • Network accessline 39
    test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/health', r => process.exit(r.statusCode < 400 ? 0 : 1)).on('error', () => process.exit(1))"]       # Python alternative — uncomment and adjust port/path:       # test: 
  • Network accessline 40
    # Python alternative — uncomment and adjust port/path:       # test: ["CMD", "python", "-c", "import urllib.request, sys; sys.exit(0 if urllib.request.urlopen('http://localhost:8000/health', timeout=3).status < 400 else 1)"]       # If you 
  • Network accessline 41
    # test: ["CMD", "python", "-c", "import urllib.request, sys; sys.exit(0 if urllib.request.urlopen('http://localhost:8000/health', timeout=3).status < 400 else 1)"]
  • Network accessline 42
    # If you install curl into your image, the simpler form works too:
  • Network accessline 43
    # test: ["CMD", "curl", "-fsS", "http://localhost:3000/health"]

cowork-plugin/.claude-plugin/plugin.json

  • Network accessline 5
    "author": {     "name": "Enrique Rocha",     "url": "https://tododeia.com"
  • Network accessline 6
    "name": "Enrique Rocha",     "url": "https://tododeia.com"   },
  • Network accessline 7
    "url": "https://tododeia.com"
  • Network accessline 8
    },   "homepage": "https://github.com/Hainrixz/all-deploy",   "repository": "https://github.com/Hainrixz/all-deploy",
  • Network accessline 9
    "homepage": "https://github.com/Hainrixz/all-deploy",
  • Network accessline 10
    "repository": "https://github.com/Hainrixz/all-deploy",

cowork-plugin/README.md

  • Network accessline 48
    git clone https://github.com/Hainrixz/all-deploy.git /tmp/all-deploy
  • Network accessline 102
    git clone https://github.com/Hainrixz/all-deploy.git /tmp/all-deploy
  • Network accessline 121
    MIT · Creado por **Enrique Rocha** para la comunidad [Tododeia](https://tododeia.com) · [@soyenriquerocha](https://instagram.com/soyenriquerocha)

cowork-plugin/skills/publish-website/SKILL.md

  • Network accessline 66
    <meta property="og:title" content="Your page name"> <meta property="og:description" content="One sentence about the page."> <meta property="og:image" content="https://your-site/preview.png">
  • Network accessline 68
    <meta property="og:image" content="https://your-site/preview.png">

cowork-plugin/skills/publish-website/references/custom-domain.md

  • Network accessline 102
    curl -sSL -o /dev/null -w "%{http_code}\n" https://miempresa.com
  • Network accessline 103
    curl -sSL -o /dev/null -w "%{http_code}\n" https://www.miempresa.com

cowork-plugin/skills/publish-website/references/hosts.md

  • Network accessline 64
    Hosting:  free      https://mi-proyecto.pages.dev
  • Network accessline 65
    Domain:   ~$12/yr   https://miempresa.com        <- this is the part you pay for

cowork-plugin/skills/publish-website/scripts/static_check.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 466
    [Credential-related source omitted]
  • Network accessline 586
    [Credential-related source omitted]
  • Network accessline 587
    [Credential-related source omitted]
  • Network accessline 588
    [Credential-related source omitted]

docs/badges/claude-code-skill.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="118" height="20" role="img" aria-label="Claude Code: skill">

docs/badges/generate.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 70
    ltl = round(text_width(label) * 10)     mtl = round(text_width(message) * 10)     return f'''<svg xmlns="http://www.w3.org/2000/svg" width="{total}" \
  • Network accessline 71
    mtl = round(text_width(message) * 10)     return f'''<svg xmlns="http://www.w3.org/2000/svg" width="{total}" \ height="{HEIGHT}" role="img" aria-label="{esc(alt)}">
  • Network accessline 72
    return f'''<svg xmlns="http://www.w3.org/2000/svg" width="{total}" \

docs/badges/license.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="87" height="20" role="img" aria-label="license: MIT">

docs/demo-recording.md

  • Network accessline 24
    |---|---|---|---| | **asciinema + svg-term-cli** | `brew install asciinema && npm i -g svg-term-cli` | `apt install asciinema` | SVG (small, crisp) | | **LICEcap** | [licecap.com](https://www.cockos.com/licecap/) | via Wine or alt | GIF |
  • Network accessline 25
    | **asciinema + svg-term-cli** | `brew install asciinema && npm i -g svg-term-cli` | `apt install asciinema` | SVG (small, crisp) | | **LICEcap** | [licecap.com](https://www.cockos.com/licecap/) | via Wine or alt | GIF | | **Kap** (recommen
  • Network accessline 26
    | **LICEcap** | [licecap.com](https://www.cockos.com/licecap/) | via Wine or alt | GIF |
  • Network accessline 73
    - Phase 3 target ranking with Vercel at the top.    - Phase 4 preview URL appearing.    - Phase 4.5 curl 200 response.
  • Network accessline 74
    - Phase 4 preview URL appearing.    - Phase 4.5 curl 200 response.    - Phase 5 "prod promotion in 5 seconds" countdown.
  • Network accessline 75
    - Phase 4.5 curl 200 response.
  • Network accessline 103
    If the GIF is above 10 MB, GitHub refuses to inline it — host the MP4 on a CDN (Cloudflare R2, Vercel Blob, YouTube as fallback) and use an `<img>` tag with `src="https://cdn.../demo.gif"`.
  • Network accessline 130
    |---|---|---|---| | **asciinema + svg-term-cli** | `brew install asciinema && npm i -g svg-term-cli` | `apt install asciinema` | SVG (ligero, crujiente) | | **LICEcap** | [licecap.com](https://www.cockos.com/licecap/) | vía Wine o alternati
  • Network accessline 131
    | **asciinema + svg-term-cli** | `brew install asciinema && npm i -g svg-term-cli` | `apt install asciinema` | SVG (ligero, crujiente) | | **LICEcap** | [licecap.com](https://www.cockos.com/licecap/) | vía Wine o alternativa | GIF | | **Kap
  • Network accessline 132
    | **LICEcap** | [licecap.com](https://www.cockos.com/licecap/) | vía Wine o alternativa | GIF |
  • Network accessline 179
    - Ranking de targets de Fase 3 con Vercel arriba.    - URL de preview apareciendo en Fase 4.    - Respuesta 200 del curl en Fase 4.5.
  • Network accessline 180
    - URL de preview apareciendo en Fase 4.    - Respuesta 200 del curl en Fase 4.5.    - Countdown "promoción a prod en 5 segundos" de Fase 5.
  • Network accessline 181
    - Respuesta 200 del curl en Fase 4.5.
  • Network accessline 209
    Si el GIF pesa más de 10 MB, GitHub se niega a inlinearlo — hostea el MP4 en un CDN (Cloudflare R2, Vercel Blob, YouTube como fallback) y usa un tag `<img>` con `src="https://cdn.../demo.gif"`.

references/agents.md

  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 29
    [Credential-related source omitted]
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Network accessline 154
    **Audit adjustments:** - Port-binding check is N/A (no HTTP). - Health check in Phase 4.5: for workers without HTTP, skip the curl step. Instead, check that the worker process is running: `ssh host 'docker compose ps worker' | grep Up`.
  • Network accessline 156
    - Health check in Phase 4.5: for workers without HTTP, skip the curl step. Instead, check that the worker process is running: `ssh host 'docker compose ps worker' | grep Up`.

references/audit-checklist.md

  • Dangerous shell operationline 29
    1. `git rm --cached <file>` — remove from the index while keeping the local file.

references/custom-domain.md

  • Network accessline 102
    curl -sSL -o /dev/null -w "%{http_code}\n" https://miempresa.com
  • Network accessline 103
    curl -sSL -o /dev/null -w "%{http_code}\n" https://www.miempresa.com

references/env-mapping.md

  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 91
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 107
    [Credential-related source omitted]
  • Access to secretsline 156
    [Credential-related source omitted]
  • Access to secretsline 159
    [Credential-related source omitted]

references/static-hosting.md

  • Network accessline 64
    Hosting:  free      https://mi-proyecto.pages.dev
  • Network accessline 65
    Domain:   ~$12/yr   https://miempresa.com        <- this is the part you pay for

references/static-sites.md

  • Network accessline 87
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL"
  • Network accessline 88
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL/<first-stylesheet-href>"
  • Network accessline 104
    python3 -m http.server -d <PUBLISH_DIR> 8000 curl -sSL -o /dev/null -w "%{http_code}" http://localhost:8000
  • Network accessline 105
    curl -sSL -o /dev/null -w "%{http_code}" http://localhost:8000

references/targets/cloudflare-pages.md

  • Network accessline 59
    npx wrangler pages deploy <PUBLISH_DIR> --project-name <PROJECT_NAME> --branch=preview 2>&1 \   | tee /tmp/cfpages-preview.log PREVIEW_URL=$(grep -oE 'https://[a-z0-9-]+\.[a-z0-9-]+\.pages\.dev' /tmp/cfpages-preview.log | tail -1)
  • Network accessline 61
    PREVIEW_URL=$(grep -oE 'https://[a-z0-9-]+\.[a-z0-9-]+\.pages\.dev' /tmp/cfpages-preview.log | tail -1)
  • Network accessline 67
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL"
  • Network accessline 75
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL/<first-stylesheet-href>"
  • Network accessline 86
    **Cost note:** the free plan covers 500 builds/month, 1 concurrent build, a 20-minute build timeout, 20,000 files per site, 25 MiB per file, 100 custom domains per project and 100 projects per account. Cloudflare documents static asset requ
  • Network accessline 91
    curl -sSL -o /dev/null -w "%{http_code}" "https://<PROJECT_NAME>.pages.dev"

references/targets/cloudflared-tunnel.md

  • Network accessline 15
    If missing: - macOS: `! brew install cloudflared` - Linux: see `https://pkg.cloudflare.com/`.
  • Network accessline 17
    - Linux: see `https://pkg.cloudflare.com/`.
  • Network accessline 35
    cloudflared tunnel --url http://localhost:8000
  • Network accessline 48
    TUNNEL_URL=$(grep -oE 'https://[a-z0-9-]+\.trycloudflare\.com' /tmp/cloudflared.log | tail -1)
  • Network accessline 53
    curl -sSL -o /dev/null -w "%{http_code}" "$TUNNEL_URL"
  • Network accessline 77
    ingress:   - hostname: demo.yourdomain.com     service: http://localhost:8000
  • Network accessline 78
    - hostname: demo.yourdomain.com     service: http://localhost:8000   - service: http_status:404
  • Network accessline 79
    service: http://localhost:8000
  • Network accessline 88
    The tunnel is up at `https://demo.yourdomain.com` whenever `cloudflared` is running on your machine.
  • Network accessline 94
    1. Keep the dev server running (already the case). 2. Start `cloudflared tunnel --url http://localhost:<port>` in a separate background task.
  • Network accessline 95
    2. Start `cloudflared tunnel --url http://localhost:<port>` in a separate background task.
  • Network accessline 103
    curl -sSL -o /dev/null -w "%{http_code}" "$TUNNEL_URL"
  • Network accessline 108
    If the curl fails but `curl http://localhost:8000` works, the issue is usually:

references/targets/docker-vps.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]
  • Access to secretsline 91
    [Credential-related source omitted]
  • Network accessline 107
    PREVIEW_URL="http://<host-or-ip>:<port>" curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL"
  • Network accessline 108
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL"
  • Network accessline 113
    PREVIEW_URL="https://<your-domain>" curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL"
  • Network accessline 114
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL"
  • Dangerous shell operationline 160
    - **Permission issues:** the user running docker must be in the `docker` group, or use `sudo docker`. `usermod -aG docker $USER` + logout/login.

references/targets/github-pages.md

  • Network accessline 79
    PROD_URL="https://<USERNAME>.github.io/<REPO>/"       # project site # or: PROD_URL="https://<USERNAME>.github.io/"        # user site (repo named <USERNAME>.github.io) curl -sSL -o /dev/null -w "%{http_code}" "$PROD_URL"
  • Network accessline 81
    curl -sSL -o /dev/null -w "%{http_code}" "$PROD_URL"
  • Network accessline 92
    **Cost note:** free, with documented limits — source repo *"recommended limit of 1 GB"*, published site *"may be no larger than 1 GB"*, a **soft** bandwidth limit of 100 GB/month and a **soft** limit of 10 builds/hour. Both bandwidth and bu

references/targets/netlify.md

  • Network accessline 16
    **No-CLI path.** `https://app.netlify.com/drop` — drag the publish folder, a zip, or a single HTML file. No account needed **to deploy**, but the quickstart states the result *"is protected with a temporary password until you claim it"*, an
  • Network accessline 54
    netlify deploy --dir=<PUBLISH_DIR> 2>&1 | tee /tmp/netlify-preview.log PREVIEW_URL=$(grep -oE 'https://[a-z0-9-]+--[a-z0-9-]+\.netlify\.app' /tmp/netlify-preview.log | tail -1)
  • Network accessline 55
    PREVIEW_URL=$(grep -oE 'https://[a-z0-9-]+--[a-z0-9-]+\.netlify\.app' /tmp/netlify-preview.log | tail -1)
  • Network accessline 63
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL"
  • Network accessline 76
    **Cost note:** this is the call that spends **15 credits**, out of 300 per month. Ten deploys in an afternoon while tweaking a heading is half the month's budget. For iteration, use draft deploys — they're free — and promote once. Current p
  • Network accessline 81
    curl -sSL -o /dev/null -w "%{http_code}" "https://<SITE_NAME>.netlify.app"

references/targets/railway.md

  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 89
    [Credential-related source omitted]
  • Network accessline 94
    PREVIEW_URL=$(grep -oE 'https://[^ ]+\.up\.railway\.app' /tmp/railway-up.log | tail -1)
  • Network accessline 106
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL"
  • Network accessline 121
    Cost note: Hobby plan starts at a small monthly fee with usage credits; add-ons (Postgres, Redis) each have their own pricing. Check `https://railway.com/pricing` for current terms.
  • Network accessline 126
    curl -sSL -o /dev/null -w "%{http_code}" "$PROD_URL"

references/targets/render.md

  • Network accessline 5
    > **5 GB of outbound bandwidth per month on the free (Hobby) plan.** That is roughly 2,500 loads of a 2 MB page. Overage is billed at **$0.15/GB** on the public internet, and unused bandwidth does not roll over. Hobby also caps you at 1 tea
  • Network accessline 28
    type: web          # static sites are type: web ...     runtime: static    # ... plus runtime: static. Both lines are required.     repo: https://github.com/<owner>/<repo>
  • Network accessline 29
    runtime: static    # ... plus runtime: static. Both lines are required.     repo: https://github.com/<owner>/<repo>     branch: main
  • Network accessline 30
    repo: https://github.com/<owner>/<repo>
  • Network accessline 61
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL"
  • Network accessline 77
    **Cost note:** free to deploy, no credit card. The constraint is **5 GB/month of outbound bandwidth**, then $0.15/GB. Verify before promoting a site that expects traffic: `https://render.com/docs/outbound-bandwidth`
  • Network accessline 82
    curl -sSL -o /dev/null -w "%{http_code}" "https://<SERVICE>.onrender.com"

references/targets/vercel.md

  • Network accessline 5
    > **Check the commercial restriction before choosing Hobby, because it is broader than almost anyone expects.** Vercel's Fair Use Guidelines: *"Commercial usage is defined as any Deployment that is used for the purpose of financial gain of 
  • Access to secretsline 51
    [Credential-related source omitted]
  • Network accessline 79
    vercel 2>&1 | tee /tmp/vercel-preview.log # Monitor /tmp/vercel-preview.log for "Preview: https://..." or "Production: https://..."
  • Network accessline 80
    # Monitor /tmp/vercel-preview.log for "Preview: https://..." or "Production: https://..."
  • Network accessline 86
    PREVIEW_URL=$(grep -oE 'https://[^ ]+\.vercel\.app' /tmp/vercel-preview.log | tail -1)
  • Network accessline 92
    curl -sSL -o /dev/null -w "%{http_code}" "$PREVIEW_URL"
  • Network accessline 105
    Cost note: Hobby is free and **personal, non-commercial use only** — see the note at the top of this file, which is stricter than it sounds. Documented Hobby limits: 100 GB fast data transfer, 1,000,000 edge requests, 1,000,000 function inv
  • Network accessline 110
    curl -sSL -o /dev/null -w "%{http_code}" "https://<prod-url>"
  • Network accessline 135
    - **Team vs personal scope:** `vercel link` can quietly connect to the wrong scope. Verify with `vercel projects ls`. - **Monorepo root directory:** if deploying from a subdirectory of a monorepo, set `rootDirectory` in the project's Vercel
  • Network accessline 136
    - **Monorepo root directory:** if deploying from a subdirectory of a monorepo, set `rootDirectory` in the project's Vercel settings (dashboard) or via `vercel.json`. - **Preview URL auth:** Vercel Pro teams can require auth on preview URLs,
  • Network accessline 137
    - **Preview URL auth:** Vercel Pro teams can require auth on preview URLs, which breaks the Phase 4.5 curl check. Either disable "Vercel Authentication" for the project, or probe a public endpoint.

scripts/audit.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 290
    [Credential-related source omitted]
  • Dangerous shell operationline 337
    [Credential-related source omitted]

scripts/env_extract.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 14
    [Credential-related source omitted]

scripts/package_skill.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/static_check.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 466
    [Credential-related source omitted]
  • Network accessline 586
    [Credential-related source omitted]
  • Network accessline 587
    [Credential-related source omitted]
  • Network accessline 588
    [Credential-related source omitted]

scripts/sync_cowork_plugin.py

  • Executable scriptline 1
    #!/usr/bin/env python3

tests/test_audit.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 78
    [Credential-related source omitted]
  • Access to secretsline 80
    [Credential-related source omitted]
  • Network accessline 125
    _git_commit(tmp_path)     (tmp_path / "main.py").write_text("print('changed')\n")  # dirty     subprocess.run(["git", "remote", "add", "origin", "https://example.com/x.git"], cwd=tmp_path, check=True)
  • Network accessline 126
    (tmp_path / "main.py").write_text("print('changed')\n")  # dirty     subprocess.run(["git", "remote", "add", "origin", "https://example.com/x.git"], cwd=tmp_path, check=True)     result = run_audit(tmp_path, "--skip-cve")
  • Network accessline 127
    subprocess.run(["git", "remote", "add", "origin", "https://example.com/x.git"], cwd=tmp_path, check=True)
  • Network accessline 140
    _git_commit(tmp_path)     (tmp_path / "new_file.py").write_text("# untracked, audit just ran and added this\n")     subprocess.run(["git", "remote", "add", "origin", "https://example.com/x.git"], cwd=tmp_path, check=True)
  • Network accessline 141
    (tmp_path / "new_file.py").write_text("# untracked, audit just ran and added this\n")     subprocess.run(["git", "remote", "add", "origin", "https://example.com/x.git"], cwd=tmp_path, check=True)     result = run_audit(tmp_path, "--skip-cve
  • Network accessline 142
    subprocess.run(["git", "remote", "add", "origin", "https://example.com/x.git"], cwd=tmp_path, check=True)
  • Network accessline 161
    _git_commit(tmp_path)     subprocess.run(["git", "remote", "add", "origin", "https://example.com/x.git"], cwd=tmp_path, check=True)
  • Network accessline 162
    subprocess.run(["git", "remote", "add", "origin", "https://example.com/x.git"], cwd=tmp_path, check=True)
  • Network accessline 186
    <meta name="description" content="Una pagina."> <meta property="og:title" content="Mi pagina"> <meta property="og:image" content="https://example.com/p.png">
  • Network accessline 187
    <meta property="og:title" content="Mi pagina"> <meta property="og:image" content="https://example.com/p.png"> <link rel="stylesheet" href="estilo.css">
  • Network accessline 188
    <meta property="og:image" content="https://example.com/p.png">
  • Network accessline 285
    (tmp_path / "index.html").write_text(         '<html><body>'         '<img src="https://cdn.example.com/a.png">'
  • Network accessline 286
    '<html><body>'         '<img src="https://cdn.example.com/a.png">'         '<img src="//cdn.example.com/b.png">'
  • Network accessline 287
    '<img src="https://cdn.example.com/a.png">'
  • Access to secretsline 346
    [Credential-related source omitted]
  • Access to secretsline 355
    [Credential-related source omitted]

tests/test_env_extract.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 32
    [Credential-related source omitted]
  • Access to secretsline 51
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]

tests/validate_skill.py

  • Executable scriptline 1
    #!/usr/bin/env python3

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 1 fact
Hidden characters: 1 fact
  • Joiner U+200C outside an emoji or a script that needs it, in proseREADME.md:534High confidence
Signal confidence: 196 facts

and 146 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest cowork-plugin/.claude-plugin/plugin.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.