Token导航 LogoToken导航

Agent Skill · 研究检索

solo-deploy(单独部署)

用于辅助云资源、部署、容器、基础设施和运维自动化任务。它适合让 Agent 检查配置、整理部署步骤、分析资源状态、生成排障思路或辅助云服务接入。使用时需要明确目标环境、账号权限、区域和资源组,区分本地测试与生产操作;涉及删除资源、重启服务、修改网络或权限配置时,应先确认影响范围。

solo-deploy 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为执行命令;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 53,815。

总安装 523周安装 22GitHub Stars 15下载 183核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:solo-deploy(单独部署)
来源仓库:https://github.com/fortunto2/solo-factory
仓库路径:skills/solo-deploy
安装命令:
npx skills add https://github.com/fortunto2/solo-factory --skill solo-deploy
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/fortunto2/solo-factory --skill solo-deploy

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于辅助云资源、部署、容器和基础设施相关的运维自动化任务。适合让 Agent 检查配置、整理部署步骤或分析资源状态,支持生成排障思路。使用时需明确目标环境、账号权限和资源组,区分本地测试与生产操作的影响。涉及删除资源或修改网络配置时,应先确认影响范围,避免误操作。

solo-deploy 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/solo-deploy

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/fortunto2/solo-factory --skill solo-deploy;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

solo-deploy 怎么安装?

在终端执行 npx skills add https://github.com/fortunto2/solo-factory --skill solo-deploy。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

solo-deploy 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

solo-deploy 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 npx skills add https://github.com/fortunto2/solo-factory --skill solo-deploy 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

solo-deploy 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

solo-deploy 用的人多吗?

公开数据是累计安装 523 次,近一周安装 22 次,下载 183 次,GitHub 15 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

solo-deploy 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
solo-deploy

单独部署 · 本页

52315执行命令未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

/deploy

Deploy the project to its hosting platform. Reads the stack template YAML (templates/stacks/{stack}.yaml) for exact deploy config (platform, CLI tools, infra tier, CI/CD, monitoring), detects installed CLI tools, sets up database and environment, pushes code, and verifies deployment is live.

Live Context

  • Branch:!git branch --show-current 2>/dev/null
  • Uncommitted:!git status --short 2>/dev/null | wc -l | tr -d ' ' files
  • Last commit:!git log --oneline -1 2>/dev/null

References

  • templates/principles/dev-principles.md — CI/CD, secrets, DNS, shared infra rules
  • dev-principles-my.md (if exists) — personal infra extensions (auth, tunnels, monitoring)
  • templates/stacks/*.yaml — Stack templates with deploy, infra, ci_cd, monitoring fields
Paths are relative to the skill's plugin root. Search for these files via Glob if not found at expected location.

When to use

After /build has completed all tasks (build stage is complete). This is the deployment engine.

Pipeline: /build → /deploy → /review

MCP Tools (use if available)

  • session_search(query) — find how similar projects were deployed before
  • project_code_search(query, project) — find deployment patterns across projects
  • codegraph_query(query) — check project dependencies and stack

If MCP tools are not available, fall back to Glob + Grep + Read.

Pre-flight Checks

0. Check if deploy is needed

Read docs/workflow.md (if exists). If it contains "No deploy" or "no deploy stage" or "ship = commit":

  • Output: "Deploy skipped — workflow.md says no deploy stage (CLI/local project)."
  • Output <solo:done/> immediately.
  • Do NOT proceed with any deploy steps.

Also: if project has NO deploy infrastructure (no Dockerfile, no deploy.sh, no wrangler.toml, no vercel.json, no sst.config.ts) AND workflow.md exists:

  • Same: skip deploy, output done.

1. Verify build is complete (optional)

  • If pipeline state tracking exists (.solo/states/ directory), check .solo/states/build.
  • If .solo/states/ exists but build marker is missing: warn "Build may not be complete. Consider running /build first."
  • If .solo/states/ does not exist: skip this check and proceed with deployment.

2. Detect available CLI tools

Run in parallel — detect what's installed locally:

vercel --version 2>/dev/null && echo "VERCEL_CLI=yes" || echo "VERCEL_CLI=no"
wrangler --version 2>/dev/null && echo "WRANGLER_CLI=yes" || echo "WRANGLER_CLI=no"
npx supabase --version 2>/dev/null && echo "SUPABASE_CLI=yes" || echo "SUPABASE_CLI=no"
fly version 2>/dev/null && echo "FLY_CLI=yes" || echo "FLY_CLI=no"
sst version 2>/dev/null && echo "SST_CLI=yes" || echo "SST_CLI=no"
gh --version 2>/dev/null && echo "GH_CLI=yes" || echo "GH_CLI=no"
cargo --version 2>/dev/null && echo "CARGO_CLI=yes" || echo "CARGO_CLI=no"

Record which tools are available. Use them directly when found — do NOT npx if CLI is already installed globally.

3. Load project context (parallel reads)

  • CLAUDE.md — stack name, architecture, deploy platform
  • docs/prd.md — product requirements, deployment notes
  • docs/workflow.md — CI/CD policy (if exists)
  • package.json or pyproject.toml — dependencies, scripts
  • wrangler.toml, sst.config.ts, vercel.json — platform configs (if exist)
  • docs/plan/*/plan.md — active plan (look for deploy-related phases/tasks)

Plan-driven deploy: If the active plan contains deploy phases or tasks (e.g. "deploy Python backend to VPS", "run deploy.sh", "set up Docker on server"), treat those as primary deploy instructions. The plan knows the project-specific deploy targets that the generic stack YAML may not cover. Execute plan deploy tasks in addition to (or instead of) the standard platform deploy below.

3b. Detect project type

Classify the project to select the right deploy strategy:

SignalProject TypeDeploy Target
package.json + next.config.*web (Next.js)Vercel / CF Pages
wrangler.tomlweb (Workers)Cloudflare Workers
Cargo.toml + [lib] onlylibrary (Rust crate)crates.io
Cargo.toml + [[bin]] onlyCLI/TUI toolcrates.io + GitHub Releases
Cargo.toml + [[bin]] + [lib]library + CLIcrates.io + GitHub Releases
pyproject.toml + [project.scripts]CLI (Python)PyPI
pyproject.toml (no scripts, no web)library (Python)PyPI
*.xcodeprojiOS appApp Store (manual)

For CLI/TUI/library projects: skip web deploy steps (Vercel, CF, etc.) — go directly to package registry deploy (crates.io, PyPI, npm).

3c. Cross-compile compatibility check (Rust/native projects)

When: Cargo.toml exists AND CI/CD will build on a different architecture (e.g., GitHub Actions x86_64 vs local Apple Silicon).

# Check for native/system dependencies that may fail cross-compile
grep -r 'links\s*=' Cargo.toml 2>/dev/null         # C library bindings
grep -r 'build\s*=' Cargo.toml 2>/dev/null          # build.rs (may compile C code)
grep -rn 'sys' Cargo.toml 2>/dev/null | grep -v '#' # *-sys crates (native bindings)

Known cross-compile risks:

  • ort-sys / onnxruntime-sys — no prebuilt binaries for all targets, requires local build
  • ffmpeg-sys / ffmpeg-next — needs FFmpeg installed on CI runner
  • openssl-sys — use rustls instead for pure-Rust TLS
  • Any *-sys crate — check if prebuilt binaries exist for CI target architecture

If risky deps found:

  1. Check if CI matrix includes the required target (.github/workflows/*.yml)
  2. Recommend adding cross-compile toolchain to CI, OR
  3. Recommend replacing native dep with pure-Rust alternative, OR
  4. Add the dep to CI install step: apt-get install / brew install
  5. Report in deploy summary which deps may block CI

4. Read stack template YAML

Extract the stack name from CLAUDE.md (look for stack: field or tech stack section).

Read the stack template to get exact deploy configuration:

Search order (first found wins):

  1. templates/stacks/{stack}.yaml — relative to this skill's plugin root
  2. .solo/stacks/{stack}.yaml — user's local overrides (from /init)
  3. Search via Glob for **/stacks/{stack}.yaml in project or parent directories

Extract these fields from the YAML:

  • deploy — target platform(s): vercel, cloudflare_workers, cloudflare_pages, docker, hetzner, app_store, play_store, local
  • deploy_cli — CLI tools and their use cases (e.g. vercel (local preview, env vars, promote))
  • infra — infrastructure tool and tier (e.g. sst (sst.config.ts) — Tier 1)
  • ci_cd — CI/CD system (e.g. github_actions)
  • monitoring — monitoring/analytics (e.g. posthog)
  • database / orm — database and ORM if any (affects migration step)
  • storage — storage services if any (R2, D1, KV, etc.)
  • notes — stack-specific deployment notes

Use the YAML values as the source of truth for all deploy decisions below. The YAML overrides the fallback tier matrix.

5. Detect platform (fallback if no YAML)

If stack YAML was not found, use this fallback matrix:

StackPlatformTier
nextjs-supabase / nextjs-ai-agentsVercel + SupabaseTier 1
cloudflare-workersCloudflare Workers (wrangler)Tier 1
astro-static / astro-hybridCloudflare Pages (wrangler)Tier 1
python-apiCloudflare Workers (MVP) or Pulumi + Hetzner (production)Tier 1/2
python-mlskip (CLI tool, no hosting needed)—
rust-nativecrates.io (library/CLI crate) or binary release (GitHub Releases)Tier 1
ios-swiftskip (App Store is manual)—
kotlin-androidskip (Play Store is manual)—

If $ARGUMENTS specifies a platform, use that instead of auto-detection or YAML.

Auto-deploy platforms (from YAML deploy field or fallback):

  • vercel / cloudflare_pages — auto-deploy on push. Push to GitHub is sufficient if project is already linked. Only run manual deploy for initial setup.
  • cloudflare_workers — wrangler deploy needed (no git-based auto-deploy for Workers).
  • docker / hetzner — manual deploy via SSH or Pulumi.

Deployment Steps

Step 1. Git — Clean State + Push

git status
git log --oneline -5

If dirty, commit remaining changes:

git add -A
git commit -m "chore: pre-deploy cleanup"

Ensure remote exists and push:

git remote -v
git push origin main

If no remote, create GitHub repo:

gh repo create {project-name} --private --source=. --push

For platforms with auto-deploy (Vercel, CF Pages): pushing to main triggers deployment automatically. Skip manual deploy commands if project is already linked.

Step 2. Database Setup

Supabase (if supabase/ dir or Supabase deps detected):

# If supabase CLI available:
supabase db push          # apply migrations
supabase gen types --lang=typescript --local > db/types.ts  # optional: regenerate types

If no CLI: guide user to Supabase dashboard for migration.

Drizzle ORM (if drizzle.config.ts exists):

npx drizzle-kit push      # push schema to database
npx drizzle-kit generate  # generate migration files (if needed)

D1 (Cloudflare) (if wrangler.toml has D1 bindings):

wrangler d1 migrations apply {db-name}

If database is not configured yet, list what's needed and continue — don't block on it.

Step 3. Environment Variables

Read .env.example or .env.local.example to identify required variables.

Generate platform-specific instructions:

Vercel:

# If vercel CLI is available and project is linked:
vercel env ls  # show current env vars

# Guide user:
echo "Set env vars: vercel env add VARIABLE_NAME"
echo "Or via dashboard: https://vercel.com/[team]/[project]/settings/environment-variables"

Cloudflare:

wrangler secret put VARIABLE_NAME  # interactive prompt for value
# Or in wrangler.toml [vars] section for non-secret values

Do NOT create or modify .env files with real secrets. List what's needed, let user set values.

Step 4. Platform Deploy

See references/platform-commands.md for full deploy, env var, and log commands per platform.

Use the detected platform from pre-flight checks:

  • Vercel — vercel link → vercel (preview) → vercel --prod
  • Cloudflare Workers — wrangler deploy
  • Cloudflare Pages — wrangler pages deploy./out
  • SST — sst deploy --stage prod

For auto-deploy platforms (Vercel, CF Pages): git push origin main is sufficient if already linked.

Step 4b. Rust/Crates.io Deploy

Detect: Cargo.toml exists at project root AND cargo CLI is available.

Determine deploy target from Cargo.toml:

  • If [lib] section exists or crate is a library → crates.io publish
  • If only [[bin]] → binary release (GitHub Releases)
  • If both → do both (publish crate + attach binary to release)

Pre-publish checklist:

# 1. Verify tests + clippy pass
cargo test
cargo clippy --all-targets -- -D warnings

# 2. Check Cargo.toml has required fields for crates.io
grep -E '^(name|version|description|license|repository)' Cargo.toml

# 3. Dry run publish
cargo publish --dry-run

Required Cargo.toml fields for crates.io (fail without them):

  • name, version, description, license (or license-file), repository

If missing fields: add them, commit, then proceed.

Publish to crates.io:

# Check if already published at this version
CRATE_NAME=$(grep '^name' Cargo.toml | head -1 | sed 's/.*= *"//' | sed 's/".*//')
CRATE_VER=$(grep '^version' Cargo.toml | head -1 | sed 's/.*= *"//' | sed 's/".*//')

# Publish (requires `cargo login` — if not authenticated, note in report and skip)
cargo publish

If publish fails:

  • already uploaded → version already exists, bump version in Cargo.toml
  • not logged in → note in report: "Run cargo login with crates.io API token"
  • dependency not on crates.io → check path/git dependencies, replace with crates.io versions

Binary release (optional, for CLI tools):

# Build release binary
cargo build --release

# Create GitHub release with binary attached
BINARY_NAME=$(grep '^name' Cargo.toml | head -1 | sed 's/.*= *"//' | sed 's/".*//')
gh release create "v${CRATE_VER}" --title "v${CRATE_VER}" --generate-notes \
  "target/release/${BINARY_NAME}#${BINARY_NAME}-$(uname -s)-$(uname -m)"

Verify crate on crates.io:

# Wait a few seconds for index to update, then check
curl -s "https://crates.io/api/v1/crates/${CRATE_NAME}/${CRATE_VER}" | head -100

Step 5. Verify Deployment

After deployment, verify it actually works:

STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://{deployment-url})
BODY=$(curl -s https://{deployment-url} | head -200)

If HTTP status is not 200: check env vars, fix, redeploy. See references/platform-commands.md for platform-specific env var and error resolution commands.

Do NOT output <solo:done/> until the live URL returns HTTP 200 and page loads without errors. If you cannot fix the issue, output <solo:redo/> to go back to build. Output pipeline signals ONLY if .solo/states/ directory exists.

Step 6. Post-Deploy Log Monitoring

After verifying HTTP 200, tail production logs to catch runtime errors. See references/platform-commands.md for platform-specific log commands and what to look for.

What to do with log errors:

  • Env var missing → fix with platform CLI (see Step 3), redeploy
  • DB connection error → check connection string, IP allowlist
  • Runtime crash / unhandled error → if .solo/states/ exists, output <solo:redo/> to go back to build with fix; otherwise fix and redeploy
  • No errors in 30 lines of logs → proceed to report

If logs show zero traffic (fresh deploy), make a few test requests:

curl -s https://{deployment-url}/           # homepage
curl -s https://{deployment-url}/api/health  # API health (if exists)

Then re-check logs for any errors triggered by these requests.

Step 7. Post-Deploy Report

Deployment: {project-name}

  Platform:  {platform}
  URL:       {deployment-url}
  Branch:    main
  Commit:    {sha}

  Done:
    - [x] Code pushed to GitHub
    - [x] Deployed to {platform}
    - [x] Database migrations applied (or N/A)

  Manual steps remaining:
    - [ ] Set environment variables (listed above)
    - [ ] Custom domain (optional)
    - [ ] PostHog / analytics setup (optional)

  Next: /review — final quality gate

Completion

Signal completion

If .solo/states/ directory exists, output this exact tag ONCE and ONLY ONCE — the pipeline detects the first occurrence:

<solo:done/>

Do NOT repeat the signal tag anywhere else in the response. One occurrence only. If .solo/states/ directory does not exist, skip the signal tag.

Error Handling

CLI not found

Cause: Platform CLI not installed. Fix: Install the specific CLI: npm i -g vercel, npm i -g wrangler, brew install supabase/tap/supabase.

Deploy fails — build error

Cause: Build works locally but fails on platform (different Node version, missing env vars). Fix: Check platform build logs. Ensure engines in package.json matches platform. Set missing env vars.

Database connection fails

Cause: DATABASE_URL not set or network rules block connection. Fix: Check connection string, platform's DB dashboard, IP allowlist.

Git push rejected

Cause: Remote has diverged. Fix: git pull --rebase origin main, resolve conflicts, push again.

Verification Gate

Before reporting "deployment successful":

  1. Run curl -s -o /dev/null -w "%{http_code}" against the deployment URL.
  2. Verify HTTP 200 (not 404, 500, or redirect loop).
  3. Check the actual page content matches expectations (not a blank page or error).
  4. Only then report the deployment as successful.

Never say "deployment should be live" — verify it IS live.

Pipeline / Autonomous Mode

When running in a pipeline (--print, no human watching):

  1. NEVER call AskUserQuestion — responses are lost between iterations, causing infinite retry loops (observed: 5 wasted iterations on OpenWok deploy)
  2. Make autonomous deploy decisions:

- No deploy CLI installed → install via brew/npm if possible, otherwise create Dockerfile +.dockerignore, push code, mark "Ready for manual deploy" - No auth/credentials → create all deploy configs, push to GitHub, write state file with auth instructions, signal done - Multiple platform options → pick based on: stack YAML > Next.js/React → Vercel, Python → Cloudflare Workers (MVP) or Hetzner (prod), static → Cloudflare Pages

  1. Skip over blockers — browser login, manual approval, missing API keys → note in report, continue
  2. Always signal completion — partial deploy (configs created + code pushed) is better than infinite retry. Output <solo:done/> even if actual deployment requires manual auth step.

Critical Rules

  1. Use installed CLIs — detect vercel, wrangler, supabase, fly, sst before falling back to npx.
  2. Auto-deploy aware — if platform auto-deploys on push, just push. Don't run manual deploy commands unnecessarily.
  3. NEVER commit secrets — no.env files with real values, no API keys in code.
  4. Preview before production — deploy preview first, verify, then promote to prod.
  5. Check build locally first — pnpm build / uv build (or equivalent) before deploying.
  6. Check production logs — always tail logs after deploy, catch runtime errors before declaring success.
  7. Report all URLs — deployment URL + platform dashboard links.
  8. Infrastructure in repo — prefer sst.config.ts or wrangler.toml over manual dashboard config.
  9. Verify before claiming done — HTTP 200 from the live URL + clean logs, not just "deploy command succeeded".

平台分布

Codex

36.04%
按下载量换算66

Claude

30.2%
按下载量换算55

Cursor

22.01%
按下载量换算40

Gemini CLI

9.21%
按下载量换算17

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/fortunto2/solo-factory --skill solo-deploy 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills