Skip to content

Commit 0b658e6

Browse files
committed
refactor skills install flow and site messaging
1 parent f18452c commit 0b658e6

13 files changed

Lines changed: 225 additions & 373 deletions

File tree

.github/workflows/deploy-site.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ on:
55
branches: [main]
66
paths:
77
- 'skills/**'
8-
- 'install.sh'
98
- 'site/**'
109

1110
jobs:
@@ -18,9 +17,6 @@ jobs:
1817
steps:
1918
- uses: actions/checkout@v4
2019

21-
- name: Package skills
22-
run: chmod +x package.sh && ./package.sh
23-
2420
- uses: docker/login-action@v3
2521
with:
2622
registry: ghcr.io
@@ -33,5 +29,4 @@ jobs:
3329
push: true
3430
tags: |
3531
ghcr.io/${{ github.repository }}-site:latest
36-
ghcr.io/${{ github.repository }}-site:v${{ env.VERSION }}
3732
ghcr.io/${{ github.repository }}-site:sha-${{ github.sha }}

AGENTS.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# AGENTS.md
2+
3+
This file provides guidance to Codex (Codex.ai/code) when working with code in this repository.
4+
5+
## What This Project Is
6+
7+
Seakills is a skills repository for Sealos Cloud in the `skills.sh` ecosystem. The project has two main parts: the **skills** (markdown-based modules + Node.js scripts) and a **landing site** (Next.js).
8+
9+
## Commands
10+
11+
### Site development (run from `site/`)
12+
```bash
13+
cd site && pnpm install # install dependencies
14+
cd site && pnpm dev # dev server on localhost:3000
15+
cd site && pnpm build # production build
16+
cd site && pnpm lint # ESLint
17+
```
18+
19+
### Docker (site)
20+
```bash
21+
cd site && docker build -t seakills-site . && docker run -p 3000:3000 seakills-site
22+
```
23+
24+
### CI
25+
GitHub Actions (`.github/workflows/deploy-site.yml`) triggers on push to `main` when `skills/**` or `site/**` change. It builds and pushes a Docker image to `ghcr.io/zjy365/seakills-site`.
26+
27+
## Architecture
28+
29+
### Skill dependency graph
30+
```text
31+
sealos-deploy (user entry point: /sealos-deploy)
32+
├→ cloud-native-readiness (Phase 1: score 0-12)
33+
├→ dockerfile-skill (Phase 3: generate Dockerfile)
34+
└→ docker-to-sealos (Phase 5: Compose → Sealos template)
35+
```
36+
37+
### Skill module pattern
38+
Each skill follows the same structure:
39+
- `SKILL.md` — entry point with YAML frontmatter (name, version, allowed-tools, compatibility)
40+
- `modules/*.md` — phased execution logic (preflight, assess, generate, build, deploy)
41+
- `scripts/*.mjs` — Node.js executables (auth, scoring, image detection, build)
42+
- `knowledge/*.md` — error patterns, best practices, scoring criteria
43+
- `config.json` — runtime config (OAuth, regions)
44+
45+
Skills reference paths with `<SKILL_DIR>` for self and `<SKILL_DIR>/../other-skill/` for siblings.
46+
47+
### Deployment pipeline (sealos-deploy)
48+
```text
49+
Preflight → Mode Detection → DEPLOY or UPDATE
50+
51+
DEPLOY: Assess → Detect image → Dockerfile → Build & Push → Template → Deploy
52+
UPDATE: Build & Push → kubectl set image → Verify rollout (auto-rollback on failure)
53+
```
54+
55+
Mode detection reads `.sealos/state.json` `last_deploy` field. If a running deployment is found (verified via kubectl), the skill enters UPDATE mode and skips assess/template/deploy phases. If not, it runs the full DEPLOY pipeline.
56+
57+
State is tracked in `.sealos/state.json` (deployment state), `.sealos/analysis.json` (project analysis snapshot), and `.sealos/config.json` (optional user overrides). The `last_deploy` section in `state.json` records app name, namespace, image, and URL so later deploys can update in place instead of starting over.
58+
59+
### Site (`site/`)
60+
Next.js 16 + React 19 + TypeScript landing page. Uses Radix UI, Tailwind CSS, and Motion for animations. Configured for standalone output.
61+
62+
## Key paths
63+
- `skills/sealos-deploy/config.json` — OAuth client_id, regional Sealos URLs
64+
- `site/next.config.mjs` — standalone output, unoptimized images, ignores TS build errors
65+
- `site/components.json` — shadcn/ui component config with `@/` path alias

CLAUDE.md

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
44

55
## What This Project Is
66

7-
Seakills is an AI agent skills ecosystem for Sealos Cloud. It provides slash-command skills (`/sealos-deploy`, `/cloud-native-readiness`, `/dockerfile`) that work with Claude Code, Gemini CLI, and Codex. The project has two main parts: the **skills** (markdown-based modules + Node.js scripts) and a **landing site** (Next.js).
7+
Seakills is a skills repository for Sealos Cloud in the `skills.sh` ecosystem. The project has two main parts: the **skills** (markdown-based modules + Node.js scripts) and a **landing site** (Next.js).
88

99
## Commands
1010

@@ -16,27 +16,22 @@ cd site && pnpm build # production build
1616
cd site && pnpm lint # ESLint
1717
```
1818

19-
### Packaging & distribution (run from repo root)
20-
```bash
21-
./package.sh # package skills/ into tar.gz, copy install.sh to site/public/
22-
```
23-
2419
### Docker (site)
2520
```bash
2621
cd site && docker build -t seakills-site . && docker run -p 3000:3000 seakills-site
2722
```
2823

2924
### CI
30-
GitHub Actions (`.github/workflows/deploy-site.yml`) triggers on push to `main` when `skills/**`, `install.sh`, or `site/**` change. It runs `package.sh`, then builds and pushes a Docker image to `ghcr.io/zjy365/seakills-site`.
25+
GitHub Actions (`.github/workflows/deploy-site.yml`) triggers on push to `main` when `skills/**` or `site/**` change. It builds and pushes a Docker image to `ghcr.io/zjy365/seakills-site`.
3126

3227
## Architecture
3328

3429
### Skill dependency graph
35-
```
30+
```text
3631
sealos-deploy (user entry point: /sealos-deploy)
3732
├→ cloud-native-readiness (Phase 1: score 0-12)
38-
├→ dockerfile-skill (Phase 3: generate Dockerfile)
39-
└→ docker-to-sealos (Phase 5: Compose → Sealos template)
33+
├→ dockerfile-skill (Phase 3: generate Dockerfile)
34+
└→ docker-to-sealos (Phase 5: Compose → Sealos template)
4035
```
4136

4237
### Skill module pattern
@@ -50,24 +45,19 @@ Each skill follows the same structure:
5045
Skills reference paths with `<SKILL_DIR>` for self and `<SKILL_DIR>/../other-skill/` for siblings.
5146

5247
### Deployment pipeline (sealos-deploy)
53-
```
48+
```text
5449
Preflight → Mode Detection → DEPLOY or UPDATE
5550
5651
DEPLOY: Assess → Detect image → Dockerfile → Build & Push → Template → Deploy
5752
UPDATE: Build & Push → kubectl set image → Verify rollout (auto-rollback on failure)
5853
```
59-
Mode Detection reads `.sealos/state.json` `last_deploy` field. If a running deployment is found (verified via kubectl), the skill enters UPDATE mode and skips assess/template/deploy phases. If not, it runs the full DEPLOY pipeline.
6054

61-
State is tracked in `.sealos/state.json` (deployment state), `.sealos/analysis.json` (project analysis snapshot), and `.sealos/config.json` (optional user overrides). The `last_deploy` section in `state.json` (written after first deploy) records app_name, namespace, image, and URL — enabling future updates without re-deploying from scratch.
55+
Mode detection reads `.sealos/state.json` `last_deploy` field. If a running deployment is found (verified via kubectl), the skill enters UPDATE mode and skips assess/template/deploy phases. If not, it runs the full DEPLOY pipeline.
6256

63-
### Installer (`install.sh`)
64-
Downloads skills from site distribution (with GitHub fallback), installs to `~/.agents/skills/` (canonical), then symlinks to each detected agent's skills directory.
57+
State is tracked in `.sealos/state.json` (deployment state), `.sealos/analysis.json` (project analysis snapshot), and `.sealos/config.json` (optional user overrides). The `last_deploy` section in `state.json` records app name, namespace, image, and URL so later deploys can update in place instead of starting over.
6558

6659
### Site (`site/`)
67-
Next.js 16 + React 19 + TypeScript landing page. Uses Radix UI, Tailwind CSS, and Motion for animations. Configured for standalone output. Serves packaged skill tarballs and the installer from `public/`.
68-
69-
## Version management
70-
The single source of truth for version is `VERSION="x.y.z"` in `install.sh`. `package.sh` extracts it and exports to `$GITHUB_ENV` for CI tagging.
60+
Next.js 16 + React 19 + TypeScript landing page. Uses Radix UI, Tailwind CSS, and Motion for animations. Configured for standalone output.
7161

7262
## Key paths
7363
- `skills/sealos-deploy/config.json` — OAuth client_id, regional Sealos URLs

README.md

Lines changed: 124 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,162 @@
11
# Seakills
22

3-
AI skills that let you deploy any project to [Sealos Cloud](https://gzg.sealos.run) with a single slash command — right from your AI coding assistant.
3+
Deploy projects to [Sealos Cloud](https://gzg.sealos.run) from your AI agent.
44

5-
Works with **Claude Code**, **Gemini CLI**, and **Codex**.
5+
Seakills is a set of reusable skills for the `skills.sh` ecosystem. It helps an agent understand your project, prepare it for deployment, and ship it to Sealos Cloud with minimal manual setup.
6+
7+
## What You Can Do
8+
9+
With Seakills installed, your agent can:
10+
11+
- Deploy the current project to Sealos Cloud with `/sealos-deploy`
12+
- Deploy a GitHub repository directly from its URL
13+
- Check whether a project is cloud-ready before deployment
14+
- Generate a production-ready Dockerfile for projects that do not have one
15+
- Convert Docker Compose setups into Sealos-compatible templates
16+
17+
In practice, this means less time wiring infrastructure by hand and more time shipping working apps.
18+
19+
## Why It Is Useful
20+
21+
Seakills turns deployment into an agent workflow instead of a manual checklist.
22+
23+
Instead of doing this yourself:
24+
25+
- inspect the repo
26+
- decide whether it is container-ready
27+
- write or fix a Dockerfile
28+
- build and push an image
29+
- convert config into a Sealos template
30+
- deploy and verify rollout
31+
32+
your agent can do it for you through one guided skill flow.
633

734
## Quick Start
835

36+
Install the skills:
37+
938
```bash
10-
curl -fsSL https://seakills.gzg.sealos.run/install.sh | bash
39+
npx skills add zjy365/seakills
1140
```
1241

13-
Then open your project and run:
42+
Open your project in your AI agent, then run:
1443

15-
```
44+
```text
1645
/sealos-deploy
1746
```
1847

19-
That's it. Your project is live on Sealos Cloud.
48+
That is the fastest path from local code to a running app on Sealos Cloud.
2049

21-
## What You Need
50+
## Main Skills
2251

23-
Before your first deploy, make sure you have:
52+
### `/sealos-deploy`
2453

25-
- [ ] **Docker** installed and running
26-
- [ ] **A Docker Hub account** (the skill will prompt you to log in)
27-
- [ ] **A [Sealos Cloud](https://gzg.sealos.run) account** (you'll be guided through auth on first run)
28-
- [ ] **Node.js 18+** (optional — speeds up scoring, image detection, and auth; curl fallback used otherwise)
29-
- [ ] **Python 3.8+** (optional — enables template validation; AI fallback used otherwise)
30-
- [ ] **kubectl** (optional — enables in-place updates of running apps)
54+
Deploy a local project, a path, or a GitHub repository to Sealos Cloud.
3155

32-
## Usage: `/sealos-deploy`
56+
```text
57+
/sealos-deploy
58+
/sealos-deploy /path/to/project
59+
/sealos-deploy https://github.com/labring-sigs/kite
60+
```
3361

34-
Deploy any project — local or remote:
62+
What it handles for you:
3563

64+
- project assessment
65+
- image detection when an existing image already exists
66+
- Dockerfile generation when needed
67+
- image build and push
68+
- Sealos template generation
69+
- deployment and rollout verification
70+
71+
### `/cloud-native-readiness`
72+
73+
Check whether a project is ready for cloud-native deployment.
74+
75+
```text
76+
/cloud-native-readiness
77+
/cloud-native-readiness /path/to/project
78+
/cloud-native-readiness https://github.com/example/repo
3679
```
37-
/sealos-deploy # deploy your current project
38-
/sealos-deploy https://github.com/labring-sigs/kite # deploy a GitHub repo
39-
```
4080

41-
### First deploy
81+
Use it when you want a quick answer to: "Can this app be deployed cleanly?"
82+
83+
### `/dockerfile`
4284

43-
The skill assesses your project, generates a Dockerfile if needed, builds and pushes an image, and deploys to Sealos Cloud:
85+
Generate or improve a production-ready Dockerfile.
4486

87+
```text
88+
/dockerfile
89+
/dockerfile /path/to/project
90+
/dockerfile https://github.com/example/repo
4591
```
92+
93+
Useful when a repo is missing container packaging or the current Dockerfile is not production-ready.
94+
95+
### `/docker-to-sealos`
96+
97+
Convert Docker Compose or installation docs into a Sealos-compatible template.
98+
99+
Use it when you already have a Compose-based app and want to move it into Sealos cleanly.
100+
101+
## What The Deploy Flow Looks Like
102+
103+
On a typical first deploy, the agent will:
104+
105+
1. Check prerequisites such as Docker and account state.
106+
2. Assess the project structure and runtime needs.
107+
3. Reuse an existing image if possible, or build one if needed.
108+
4. Generate the Sealos deployment template.
109+
5. Deploy and verify the application.
110+
111+
Example output:
112+
113+
```text
46114
[preflight] ✓ Docker ✓ git ✓ Sealos Cloud
47-
[assess] Go + net/http score 10/12, suitable
48-
[detect] Found ghcr.io/zxh326/kite:v0.4.0 (amd64) skip build
115+
[assess] Go + net/http -> score 10/12, suitable
116+
[detect] Found ghcr.io/zxh326/kite:v0.4.0 (amd64) -> skip build
49117
[template] Generated Sealos template
50118
[deploy] ✓ Deployed to Sealos Cloud
51119
```
52120

53-
### Updating
121+
For later updates, running `/sealos-deploy` again can trigger an in-place update flow instead of a full redeploy.
54122

55-
Just run `/sealos-deploy` again after changing your code. The skill detects your running deployment, rebuilds the image, and does a rolling update with zero downtime. If the new version fails health checks, it auto-rolls back.
123+
## What You Need
56124

57-
```
58-
[detect] Found existing deployment kite-x8k2m1nq
59-
[build] Built & pushed zhujingyang/kite:20260310-143022
60-
[update] ✓ Image updated, rollout complete
61-
```
125+
Before first use, make sure you have:
126+
127+
- Docker installed and running
128+
- A Sealos Cloud account
129+
- A container registry account such as Docker Hub or GHCR access
130+
131+
Optional but helpful:
62132

63-
## First Time Setup
133+
- Node.js 18+
134+
- Python 3.8+
135+
- `kubectl` for in-place update workflows
64136

65-
On your first run, the skill walks you through everything interactively — Docker Hub login, Sealos Cloud auth, and any missing tools. No manual token copy-paste required.
137+
## Best Fit
66138

67-
## Coming Soon
139+
Seakills is especially useful if you want to:
140+
141+
- deploy prototypes without hand-writing cloud config
142+
- let an AI assistant package and ship repos for you
143+
- evaluate whether a project is ready for containerized deployment
144+
- standardize deployment workflows across different coding agents
145+
- move from Docker Compose toward a Sealos-native deployment path
146+
147+
## Repository Structure
148+
149+
```text
150+
skills/
151+
sealos-deploy/
152+
cloud-native-readiness/
153+
dockerfile-skill/
154+
docker-to-sealos/
155+
site/
156+
```
68157

69-
| Skill | What it does |
70-
|-------|-------------|
71-
| `/database` | Provision and manage databases (PostgreSQL, MySQL, MongoDB, Redis) |
72-
| `/objectstorage` | Create and manage object storage buckets |
73-
| More | Every Sealos Cloud capability as an agent skill |
158+
- `skills/` contains the actual agent skills
159+
- `site/` contains the landing page and documentation site
74160

75161
## License
76162

0 commit comments

Comments
 (0)