accelerator-applicatio…
When the user wants to apply to startup accelerators, incubators, or fellowship programs. Also use when the user mentions "YC…
When the user needs to set up or improve CI/CD pipelines — GitHub Actions, GitLab CI, deployment automation, or says "set up CI", "automate deployment", "add tests to pipeline", "fix my build".
$ npx -y skills add shawnpang/startup-founder-skills --skill cicd-setup --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/cicd-setupContext preview
The summary Claude sees to decide when to auto-load this skill.
When the user needs to set up or improve CI/CD pipelines — GitHub Actions, GitLab CI, deployment automation, or says "set up CI", "automate deployment", "add tests to pipeline", "fix my build".
name: cicd-setup description: When the user needs to set up or improve CI/CD pipelines — GitHub Actions, GitLab CI, deployment automation, or says "set up CI", "automate deployment", "add tests to pipeline", "fix my build". related: [code-review, security-review] reads: [startup-context]
From `startup-context`: tech stack, deployment target, team size. Also detect or ask:
1. **Detect stack from repo signals** — Scan for lockfiles (package-lock.json, yarn.lock, poetry.lock, go.sum, Cargo.lock), language manifests (package.json, pyproject.toml, go.mod), and script definitions (test, lint, build commands). Lockfiles indicate package manager choice. Absent scripts trigger conservative defaults. Never assume Node for a Python project. 2. **Choose pipeline stages** — Start with a dependable baseline: checkout, runtime setup, dependency install with caching, then sequential lint, test, build. Only add complexity after the baseline works. 3. **Generate pipeline config** — Write CI config for the detected platform. Output machine-readable YAML with correct caching strategy for the detected package manager. Verify all referenced commands actually exist in the project. 4. **Configure secrets** — List required secrets and how to add them. Use platform-managed secret stores. Recommend OIDC for cloud auth over long-lived keys. Never hardcode credentials in YAML. 5. **Add deployment stages safely** — Begin CI-only (lint/test/build). Add staging deployment with explicit environment info. Add production deployment with manual approval. Maintain transparency in rollout and rollback procedures. 6. **Validate before merge** — Confirm generated YAML is syntactically valid, all commands exist in the project, caching aligns with the package manager, and branch protections match organizational requirements. 7. **Deliver config and instructions** — Full config file plus setup steps.
# CI/CD Pipeline: [Project Name] ## Stack Detection Results — detected language, runtime, tools, and build commands ## Pipeline Overview — Mermaid flowchart showing stages ## Pipeline Configuration — Full YAML config file ## Secrets Required — table: name, where to get, how to add ## Setup Instructions — step-by-step to activate ## Validation Checklist — commands verified, caching confirmed, branch rules set ## Optimization Notes — caching strategy, estimated build time
Always detect before generating. The detector relies on concrete file signals:
| Ecosystem | Cache Path | Cache Key | |-----------|-----------|-----------| | Node.js | `~/.npm` or `node_modules` | `hashFiles('**/package-lock.json')` | | Python | `~/.cache/pip` | `hashFiles('**/requirements*.txt')` | | Go | `~/go/pkg/mod` | `hashFiles('**/go.sum')` | | Rust | `~/.cargo/registry`, `target/` | `hashFiles('**/Cargo.lock')` | | Ruby | `vendor/bundle` | `hashFiles('**/Gemfile.lock')` |
| Environment | Trigger | Approval | Purpose | |-------------|---------|----------|---------| | **CI** | Every push/PR | None | Run lint + tests | | **Staging** | Merge to `main` | None (auto) | Integration testing, QA | | **Production** | Git tag or manual | Required | Live users |
1. Applying Node-specific pipelines to Python or Go repos (detect first) 2. Enabling deployment before establishing reliable test coverage 3. Overlooking dependency caching configuration 4. Running full matrix builds on minor branch updates (use path filters) 5. Omitting branch protections on production deployments 6. Embedding credentials directly in pipeline YAML
**Example prompt:** "Set up CI/CD for my Next.js app deployed on Vercel."
**Good output snippet:**
name: CI
on:
push: { branches: [main] }
pull_request: { branches: [main] }
concurrency:Hey friends. Shawn here. I've been bootstrapping and starting companies for the past 10 years (still working hard at 996 level).
When the user wants to apply to startup accelerators, incubators, or fellowship programs. Also use when the user mentions "YC…
When the user needs to design or evaluate system architecture — service boundaries, data models, API contracts, infrastructure…
When the user needs to write a monthly or quarterly investor update, prepare a board deck, or communicate company progress to…
When the user needs to identify at-risk accounts, understand why customers are leaving, reduce churn rate, build health scores,…
When the user asks for a code review, shares code for feedback, or says "review this", "check my code", "what's wrong with this".…
When a founder needs to write cold emails or LinkedIn messages to prospects, partners, or investors. Activate when the user…