Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .github/workflows/clawhub-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: ClawHub publish

# Keeps clawhub.ai's charming skill listing pointed at the version in
# skills/charming/SKILL.md. `clawhub sync` fingerprints skill folders
# (deriving the slug from the folder name) and only publishes new or
# changed ones, so it's safe to run on every release even if the skill
# itself didn't change.
#
# This repo requires every `uses:` action pinned to a full commit SHA
# (org policy: sha_pinning_required). ClawHub's own reusable workflow
# (openclaw/clawhub/.github/workflows/skill-publish.yml) fails that check —
# it calls actions/checkout and actions/upload-artifact by tag internally,
# which we don't control — so this calls the clawhub CLI directly instead
# of using their reusable workflow.
#
# Skills have no OIDC/trusted-publisher option yet, so this uses
# CLAWHUB_TOKEN, a token from `clawhub login` + `clawhub token`, scoped to
# the charming publisher (clawhub.ai/settings?view=organizations).

on:
pull_request:
branches: [main]
paths:
- skills/**
release:
types: [published]
workflow_dispatch:

permissions:
contents: read

jobs:
dry-run:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v6.0.0
with:
node-version: 22

- run: npx --yes clawhub@0.23.3 sync --owner charming --dry-run --json

publish:
if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v6.0.0
with:
node-version: 22

- run: npx --yes clawhub@0.23.3 sync --owner charming --all
env:
CLAWHUB_TOKEN: ${{ secrets.CLAWHUB_TOKEN }}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ An hourly GitHub workflow checks the live Charming OpenAPI document. When the co

## Agent skill

The portable skill lives at `skills/charming-cli/SKILL.md`.
The portable skill lives at `skills/charming/SKILL.md`.

## Contributing

Expand Down
7 changes: 6 additions & 1 deletion skills/charming-cli/SKILL.md → skills/charming/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: charming-cli
name: charming
description: Build, inspect, update, and call hosted personal apps with the Charming CLI. Use when a user wants to create or manage an interactive personal app hosted by Charming.
license: MIT
compatibility: Requires the charming CLI, Node.js 22 or newer, and network access to charm.ing.
Expand All @@ -8,6 +8,11 @@ metadata:
requires:
bins:
- charming
install:
- kind: node
package: usecharming
bins:
- charming
---

# Charming CLI
Expand Down