openclaw-essesseff

Interact with the essesseff DevOps platform — call the essesseff Public API (templates, organizations, apps, deployments, images, image lifecycle, environments, retention policies, packages) and automate app creation and Argo CD setup using the essesseff onboarding utility. Use when the user wants to create essesseff apps, manage deployments, promote images through the DEV→QA→STAGING→PROD lifecycle, configure Argo CD environments, manage retention policies, or run the essesseff-onboard.sh script.

3,891 stars

Best use case

openclaw-essesseff is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Interact with the essesseff DevOps platform — call the essesseff Public API (templates, organizations, apps, deployments, images, image lifecycle, environments, retention policies, packages) and automate app creation and Argo CD setup using the essesseff onboarding utility. Use when the user wants to create essesseff apps, manage deployments, promote images through the DEV→QA→STAGING→PROD lifecycle, configure Argo CD environments, manage retention policies, or run the essesseff-onboard.sh script.

Teams using openclaw-essesseff should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/openclaw-essesseff/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/adamdurst/openclaw-essesseff/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/openclaw-essesseff/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How openclaw-essesseff Compares

Feature / Agentopenclaw-essesseffStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Interact with the essesseff DevOps platform — call the essesseff Public API (templates, organizations, apps, deployments, images, image lifecycle, environments, retention policies, packages) and automate app creation and Argo CD setup using the essesseff onboarding utility. Use when the user wants to create essesseff apps, manage deployments, promote images through the DEV→QA→STAGING→PROD lifecycle, configure Argo CD environments, manage retention policies, or run the essesseff-onboard.sh script.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# essesseff Skill

This skill covers two complementary ways to work with the essesseff DevOps platform:

1. **essesseff Public API** — direct HTTP calls for managing templates, organizations, apps, images, deployments, environments, packages, and retention policies.
2. **essesseff Onboarding Utility** — shell scripts that automate app creation and Argo CD deployment setup.

## Quick Reference

**Base URL:** `https://www.essesseff.com/api/v1` (use `www` to avoid 307 redirects)

**Authentication:** All requests require `X-API-Key: ess_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` header.

**Rate limit:** 3 requests per 10 seconds. Headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`.

**Path structure:**
- Global (no account needed): `/api/v1/global/...`
- Account-specific: `/api/v1/accounts/{account_slug}/...` — API key must belong to the `account_slug` in the path or a `403` is returned.

## API Reference Files

For full endpoint details, request/response examples, and query parameters, see:

| Reference | Contents |
|---|---|
| `references/api-overview.md` | Auth, base URL, rate limiting, error codes |
| `references/api-templates.md` | Global templates, account-specific templates |
| `references/api-organizations.md` | List and detail GitHub orgs for an account |
| `references/api-apps.md` | Create, list, get, update apps; list deployments |
| `references/api-images.md` | List images, get image by tag |
| `references/api-images.md` | Image lifecycle: get state, transition state |
| `references/api-environments.md` | Get environment; set Argo CD URL; DEV→QA→STAGING→PROD lifecycle actions |
| `references/api-packages.md` | Get GitHub API payloads for expired package deletion |
| `references/api-retention-policies.md` | List and update retention policies |

## API Endpoint Map

### Global

| Method | Path | Purpose |
|---|---|---|
| GET | `/global/templates` | List global templates (optional `?language=go\|python\|node\|java\|rust\|php`) |
| GET | `/global/templates/{template_name}` | Get global template details |

### Account-Specific (all require matching API key)

| Method | Path | Purpose |
|---|---|---|
| GET | `/accounts/{account_slug}/templates` | List account templates |
| GET | `/accounts/{account_slug}/templates/{template_name}` | Get account template details |
| GET | `/accounts/{account_slug}/organizations` | List orgs for account |
| GET | `/accounts/{account_slug}/organizations/{org_login}` | Get org detail + app list |
| GET | `/accounts/{account_slug}/organizations/{org_login}/apps` | List apps |
| POST | `/accounts/{account_slug}/organizations/{org_login}/apps?app_name={name}` | Create app |
| GET | `/accounts/{account_slug}/organizations/{org_login}/apps/{app_name}` | Get app detail |
| PATCH | `/accounts/{account_slug}/organizations/{org_login}/apps/{app_name}` | Update app |
| GET | `.../apps/{app_name}/deployments` | List deployments |
| GET | `.../apps/{app_name}/images` | List images |
| GET | `.../apps/{app_name}/images/{image_tag}` | Get image by tag |
| GET | `.../apps/{app_name}/images/{image_tag}/lifecycle` | Get image lifecycle state |
| POST | `.../apps/{app_name}/images/{image_tag}/lifecycle` | Transition image lifecycle state |
| GET | `.../apps/{app_name}/environments/{env}` | Get current env deployment |
| POST | `.../apps/{app_name}/environments/{env}/set-argocd-application-url` | Set/clear Argo CD URL |
| POST | `.../apps/{app_name}/environments/DEV/declare-rc` | Mark DEV image as RC |
| POST | `.../apps/{app_name}/environments/QA/accept-rc` | Accept RC → deploy to QA |
| POST | `.../apps/{app_name}/environments/QA/reject-rc` | Reject RC |
| POST | `.../apps/{app_name}/environments/QA/declare-stable` | Mark QA image as STABLE |
| POST | `.../apps/{app_name}/environments/QA/declare-rejected` | Mark QA image as REJECTED |
| POST | `.../apps/{app_name}/environments/STAGING/deploy-stable` | Deploy STABLE to STAGING |
| POST | `.../apps/{app_name}/environments/PROD/deploy-stable` | Deploy STABLE to PROD (no OTP) |
| GET | `.../apps/{app_name}/notifications-secret` | Get notifications-secret.yaml for Argo CD |
| GET | `.../apps/{app_name}/packages/delete-packages` | Get expired package deletion payloads |
| GET | `.../apps/{app_name}/retention-policies` | List retention policies (filter by `?state=`) |
| PATCH | `.../apps/{app_name}/retention-policies?state={state}` | Create or update a retention policy for a lifecycle state |

## Image Lifecycle State Machine

Images progress through states in this order:

```
BUILD → DEV → RC → QA → STABLE → STAGING → PROD
              ↑  ↓  ↓
            REJECTED
```

Key transitions via API:
- `DEV/declare-rc` — promotes current DEV image to RC (no body)
- `QA/accept-rc` — body: `{"image_tag": "v1.2.3"}` → sets QA, deploys to QA
- `QA/reject-rc` — body: `{"image_tag": "v1.2.3"}` → sets REJECTED
- `QA/declare-stable` — no body → sets STABLE on current QA image
- `QA/declare-rejected` — no body → sets REJECTED on current QA image
- `STAGING/deploy-stable` — body: `{"image_tag": "v1.2.3"}` → deploys to STAGING
- `PROD/deploy-stable` — body: `{"image_tag": "v1.2.3", "deployment_note": "CR#123"}` → deploys to PROD (no OTP required via API)

Alternatively, use `POST .../images/{image_tag}/lifecycle` with body `{"state": "QA"}` for direct lifecycle transitions.

## Onboarding Utility Reference

For shell-script-based automation (no API calls required), see:

| Reference | Contents |
|---|---|
| `references/onboarding-utility.md` | Full guide: setup, commands, how it works |
| `references/prerequisites.md` | System binaries, PATs, K8s/Argo CD prereqs |
| `references/non-subscriber-mode.md` | Clone/replace/push workflow without a subscription |

The utility (`essesseff-onboard.sh`) accepts:
- `--list-templates` — list available templates
- `--create-app` — create all 9 repos (via API for subscribers, clone/replace/push for non-subscribers)
- `--setup-argocd dev,qa,staging,prod` — configure Argo CD for each environment
- `--non-essesseff-subscriber-mode` — no essesseff API required
- `--config-file .essesseff` — path to config file
- `--verbose` — debug output

## Common Errors

| Code | Meaning |
|---|---|
| 400 | Invalid request parameters |
| 401 | Invalid or missing API key |
| 403 | API key does not match the `account_slug` in the path |
| 404 | Resource not found |
| 429 | Rate limit exceeded — wait and retry |
| 500 | Server error |

Related Skills

openclaw-youtube

3891
from openclaw/skills

YouTube SERP Scout for agents. Search top-ranking videos, channels, and trends for content research and competitor tracking.

Content & Documentation

openclaw-search

3891
from openclaw/skills

Intelligent search for agents. Multi-source retrieval with confidence scoring - web, academic, and Tavily in one unified API.

Data & Research

openclaw-media-gen

3891
from openclaw/skills

Generate images & videos with AIsa. Gemini 3 Pro Image (image) + Qwen Wan 2.6 (video) via one API key.

Content & Documentation

OpenClaw Mastery — The Complete Agent Engineering & Operations System

3891
from openclaw/skills

> Built by AfrexAI — the team that runs 9+ production agents 24/7 on OpenClaw.

DevOps & Infrastructure

openclaw-safe-change-flow

3891
from openclaw/skills

Safe OpenClaw config change workflow with backup, minimal edits, validation, health checks, and rollback. Single-instance first; secondary instance optional.

DevOps & Infrastructure

jqopenclaw-node-invoker

3891
from openclaw/skills

统一通过 Gateway 的 node.invoke 调用 JQOpenClawNode 能力(file.read、file.write、process.exec、process.manage、system.run、process.which、system.info、system.screenshot、system.notify、system.clipboard、system.input、node.selfUpdate)。当用户需要远程文件读写、文件移动/删除、目录创建/删除、进程管理(列表/搜索/终止)、远程进程执行、命令可执行性探测、系统信息采集、截图采集、系统弹窗、系统剪贴板读写、输入控制(鼠标/键盘)、节点自更新、节点命令可用性排查或修复 node.invoke 参数错误时使用。

DevOps & Infrastructure

openclaw-stock-skill

3891
from openclaw/skills

使用 data.diemeng.chat 提供的接口查询股票日线、分钟线、财务指标等数据,支持 A 股等市场。

Data & Research

openclaw-whatsapp

3891
from openclaw/skills

WhatsApp bridge for OpenClaw — send/receive messages, auto-reply agents, QR pairing, message search, contact sync

Workflow & Productivity

polymarket-openclaw-trader

3891
from openclaw/skills

Reusable Polymarket + OpenClaw trading operations skill for any workspace. Use when the user needs to set up, run, tune, monitor, and deploy an automated Polymarket trading project (paper/live), including env configuration, risk controls, reporting, and dashboard operations.

Trading Automation

openclaw-version-monitor

3891
from openclaw/skills

监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明

Workflow & Productivity

Agent World Protocol — OpenClaw Skill

3891
from openclaw/skills

Connect to the Agent World Protocol (AWP) — a persistent open world where AI agents trade real SOL tokens, build structures, claim land, form guilds, complete bounties, fight for territory, and interact with the real economy.

OpenTangl Plugin for OpenClaw

3891
from openclaw/skills

This is an **OpenClaw plugin** (not a plain skill). It registers native tools into the OpenClaw agent runtime so you can operate OpenTangl entirely from chat.