Documentation

CI/CD Pipeline API & Skill Testing Reference

Technical reference for the ClawProd pipeline API, skill testing framework, and security scanning configuration.

Pipeline API

The ClawProd pipeline runs automatically on every git push via a GitHub Action. You can also trigger and query builds programmatically.

Trigger a Build

POST /api/v1/builds
Authorization: Bearer <api-key>
{
"repo": "github.com/user/my-skill",
"ref": "main",
"publish": true
}

Get Build Status

GET /api/v1/builds/:buildId
Response:
{
"id": "build_abc123",
"status": "passed",
"stages": ["lint", "test", "security-scan", "publish"],
"duration_ms": 12340,
"published_version": "1.2.0"
}

List Builds

GET /api/v1/builds?repo=github.com/user/my-skill&status=failed&limit=10

Pipeline Stages

Every build runs four stages in order. A failure at any stage stops the pipeline.

  1. Lint — Validates skill manifest, metadata fields, and file structure against the OpenClaw skill spec.
  2. Test — Runs your test suite in an isolated sandbox. If no custom tests exist, runs the default test suite (manifest validation, permission checks, basic execution).
  3. Security Scan — Checks for CVEs in dependencies, excessive permission requests, data exfiltration patterns, and prompt injection vectors.
  4. Publish — On pass, bumps version, generates changelog, and publishes to ClawHub. Only runs if publish: true.

Skill Testing Framework

ClawProd includes a built-in testing framework for OpenClaw skills. Tests run in a sandboxed environment with a real OpenClaw instance.

Test File Structure

# tests/my-skill.test.yaml
name: "My Skill Tests"
setup:
env: sandbox
fixtures: ["sample-data.json"]
tests:
- name: "handles valid input"
input: "Process this sample data"
expect:
status: success
output_contains: "processed"
- name: "rejects unauthorized access"
input: "Access restricted resource"
permissions: ["read"]
expect:
status: error
error_type: "permission_denied"

Default Test Suite

Skills without custom tests still get checked against the default suite:

  • Manifest schema validation (required fields, correct types)
  • Permission scope verification (no unnecessary permissions)
  • Basic execution test (skill loads and responds without error)
  • Dependency version check (no known-vulnerable packages)

Security Scanning Reference

The security scanner runs five checks on every build:

  • CVE scan — Checks all dependencies against the National Vulnerability Database.
  • Permission analysis — Flags skills requesting more permissions than their functionality requires.
  • Data exfiltration detection — Identifies patterns like unauthorized network calls, file system reads outside scope, or credential harvesting.
  • Prompt injection vectors — Scans for common injection patterns in skill prompts and input handling.
  • Custom policies — Enterprise users can define organization-specific security rules.

GitHub Action Setup

# .github/workflows/clawprod.yml
name: ClawProd CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: clawprod/action@v1
with:
api-key: ${{ secrets.CLAWPROD_API_KEY }}
publish: true

Ready to automate your skill pipeline?

Join the waitlist for early access to ClawProd CI/CD with 50 free builds per month.

Join Waitlist