mirror of
https://github.com/AceDataCloud/Skills.git
synced 2026-09-14 20:06:53 +08:00
feat: add npm package distribution, AGENTS.md, and Codex support (#29)
- Add package.json for npm publishing as `acedatacloud-skills` - Add CLI tool (`npx acedatacloud-skills install`) for easy skill installation - Add AGENTS.md for OpenAI Codex compatibility - Add npm-publish.yml workflow (release-triggered) - Add .npmignore for lean package distribution - Update README with npm install instructions and Codex platform section Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
committed by
GitHub
parent
295340e69e
commit
759ba8a647
@@ -0,0 +1,40 @@
|
||||
name: Publish to npm
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: "Version to publish (e.g., 1.0.1)"
|
||||
required: false
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
registry-url: https://registry.npmjs.org
|
||||
|
||||
- name: Set version from release tag
|
||||
if: github.event_name == 'release'
|
||||
run: |
|
||||
VERSION="${GITHUB_REF_NAME#v}"
|
||||
npm version "$VERSION" --no-git-tag-version --allow-same-version
|
||||
|
||||
- name: Set version from input
|
||||
if: github.event_name == 'workflow_dispatch' && github.event.inputs.version
|
||||
run: |
|
||||
npm version "${{ github.event.inputs.version }}" --no-git-tag-version --allow-same-version
|
||||
|
||||
- name: Publish
|
||||
run: npm publish --access public
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
@@ -0,0 +1,7 @@
|
||||
.github/
|
||||
.agents/
|
||||
.claude-plugin/
|
||||
template/
|
||||
.gitignore
|
||||
*.yml
|
||||
*.yaml
|
||||
@@ -0,0 +1,48 @@
|
||||
# AceDataCloud Agent Skills
|
||||
|
||||
This repository contains Agent Skills for [AceDataCloud](https://platform.acedata.cloud) AI services.
|
||||
|
||||
## Available Skills
|
||||
|
||||
Skills are located in the `skills/` directory (also mirrored to `.agents/skills/` and `.github/skills/`).
|
||||
|
||||
### AI Music & Audio
|
||||
- **suno-music** — Generate AI music, lyrics, covers, and vocal extraction with Suno
|
||||
- **producer-music** — Generate music, covers, extend tracks, swap vocals with Producer
|
||||
- **fish-audio** — Text-to-speech and voice synthesis with Fish Audio
|
||||
|
||||
### AI Image Generation
|
||||
- **midjourney-image** — Generate, edit, blend, describe, and upscale images with Midjourney
|
||||
- **flux-image** — Generate and edit images with Flux (Black Forest Labs)
|
||||
- **seedream-image** — Generate and edit images with ByteDance Seedream
|
||||
- **nano-banana-image** — Generate and edit images with Google Gemini (NanoBanana)
|
||||
|
||||
### AI Video Generation
|
||||
- **luma-video** — Generate videos with Luma Dream Machine
|
||||
- **sora-video** — Generate videos with OpenAI Sora
|
||||
- **veo-video** — Generate videos with Google Veo (native audio)
|
||||
- **kling-video** — Generate videos with Kuaishou Kling (motion control)
|
||||
- **hailuo-video** — Generate videos with Hailuo / MiniMax
|
||||
- **seedance-video** — Generate dance/motion videos with ByteDance Seedance
|
||||
- **wan-video** — Generate videos with Alibaba Wan
|
||||
|
||||
### AI Chat & Tools
|
||||
- **ai-chat** — Unified LLM gateway — GPT, Claude, Gemini, DeepSeek, Grok (50+ models)
|
||||
- **google-search** — Search the web, images, news, maps, places, and videos via Google
|
||||
- **face-transform** — Face analysis, beautification, age/gender transform, swap, cartoon
|
||||
- **short-url** — Create and manage short URLs
|
||||
- **acedatacloud-api** — API usage guide — authentication, SDKs, error handling
|
||||
|
||||
## Authentication
|
||||
|
||||
All skills require an API token:
|
||||
|
||||
```bash
|
||||
export ACEDATACLOUD_API_TOKEN="your-token-here"
|
||||
```
|
||||
|
||||
Get your token at [platform.acedata.cloud](https://platform.acedata.cloud).
|
||||
|
||||
## Paired MCP Servers
|
||||
|
||||
Each skill has a corresponding MCP server for tool-use capabilities. See the main [README](README.md) for the full mapping.
|
||||
@@ -3,13 +3,14 @@
|
||||
<p align="center">
|
||||
<a href="https://agentskills.io"><img src="https://img.shields.io/badge/Agent_Skills-agentskills.io-blue" alt="Agent Skills"></a>
|
||||
<a href="https://platform.acedata.cloud"><img src="https://img.shields.io/badge/API-platform.acedata.cloud-green" alt="Platform"></a>
|
||||
<a href="https://www.npmjs.com/package/acedatacloud-skills"><img src="https://img.shields.io/npm/v/acedatacloud-skills.svg" alt="npm"></a>
|
||||
<a href="https://github.com/AceDataCloud/Skills/actions"><img src="https://github.com/AceDataCloud/Skills/actions/workflows/validate.yml/badge.svg" alt="Validate"></a>
|
||||
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-orange" alt="License"></a>
|
||||
</p>
|
||||
|
||||
[Agent Skills](https://agentskills.io/) for [AceDataCloud](https://platform.acedata.cloud) AI services — music, image, video generation, LLM chat, web search, and more.
|
||||
|
||||
Compatible with **15+ AI coding agents**: Claude Code, GitHub Copilot, Gemini CLI, OpenHands, Roo Code, TRAE, Goose, Mistral Vibe, and all [agentskills.io](https://agentskills.io/)-compatible tools.
|
||||
Compatible with **15+ AI coding agents**: Claude Code, GitHub Copilot, Gemini CLI, OpenAI Codex, OpenHands, Roo Code, TRAE, Goose, Mistral Vibe, and all [agentskills.io](https://agentskills.io/)-compatible tools.
|
||||
|
||||
## Available Skills (18)
|
||||
|
||||
@@ -63,6 +64,21 @@ Get your API token at [platform.acedata.cloud](https://platform.acedata.cloud):
|
||||
export ACEDATACLOUD_API_TOKEN="your-token-here"
|
||||
```
|
||||
|
||||
## Quick Install (npm)
|
||||
|
||||
```bash
|
||||
# Install globally
|
||||
npm install -g acedatacloud-skills
|
||||
|
||||
# Copy all skills into your project
|
||||
acedatacloud-skills install # → .agents/skills/ (universal)
|
||||
acedatacloud-skills install --target .claude/skills # → .claude/skills/ (Claude Code)
|
||||
acedatacloud-skills install --target .github/skills # → .github/skills/ (GitHub Copilot)
|
||||
|
||||
# Or use npx without installing
|
||||
npx acedatacloud-skills install
|
||||
```
|
||||
|
||||
## Usage by Platform
|
||||
|
||||
### Claude Code
|
||||
@@ -133,6 +149,21 @@ cp -r Skills/skills/* .agents/skills/
|
||||
gemini --add-dir ./Skills/skills
|
||||
```
|
||||
|
||||
### OpenAI Codex
|
||||
|
||||
Codex supports the agentskills.io standard via `.agents/skills/` and `AGENTS.md`:
|
||||
|
||||
```bash
|
||||
# Copy skills into your project
|
||||
mkdir -p .agents/skills
|
||||
cp -r Skills/skills/* .agents/skills/
|
||||
|
||||
# AGENTS.md is already included in this repo for Codex discovery
|
||||
cp Skills/AGENTS.md .
|
||||
```
|
||||
|
||||
Codex auto-discovers skills from `.agents/skills/` and reads `AGENTS.md` for context.
|
||||
|
||||
### OpenHands / OpenDevin
|
||||
|
||||
```bash
|
||||
|
||||
Executable
+75
@@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import { existsSync, mkdirSync, cpSync, readdirSync } from "fs";
|
||||
import { resolve, dirname } from "path";
|
||||
import { fileURLToPath } from "url";
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
const skillsSrc = resolve(__dirname, "..", "skills");
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
const command = args[0];
|
||||
|
||||
function printUsage() {
|
||||
console.log(`
|
||||
Usage: acedatacloud-skills <command> [options]
|
||||
|
||||
Commands:
|
||||
install [--target <dir>] Copy skills into your project
|
||||
list List all available skills
|
||||
|
||||
Options:
|
||||
--target <dir> Target directory (default: .agents/skills)
|
||||
|
||||
Examples:
|
||||
acedatacloud-skills install # → .agents/skills/
|
||||
acedatacloud-skills install --target .claude/skills # → .claude/skills/
|
||||
acedatacloud-skills install --target .github/skills # → .github/skills/
|
||||
acedatacloud-skills list
|
||||
`);
|
||||
}
|
||||
|
||||
function listSkills() {
|
||||
const skills = readdirSync(skillsSrc, { withFileTypes: true })
|
||||
.filter((d) => d.isDirectory())
|
||||
.map((d) => d.name)
|
||||
.sort();
|
||||
console.log(`Available skills (${skills.length}):\n`);
|
||||
skills.forEach((s) => console.log(` - ${s}`));
|
||||
}
|
||||
|
||||
function installSkills(target) {
|
||||
const dest = resolve(process.cwd(), target);
|
||||
mkdirSync(dest, { recursive: true });
|
||||
|
||||
const skills = readdirSync(skillsSrc, { withFileTypes: true })
|
||||
.filter((d) => d.isDirectory())
|
||||
.map((d) => d.name);
|
||||
|
||||
let count = 0;
|
||||
for (const skill of skills) {
|
||||
const src = resolve(skillsSrc, skill);
|
||||
const dst = resolve(dest, skill);
|
||||
cpSync(src, dst, { recursive: true });
|
||||
count++;
|
||||
}
|
||||
console.log(`Installed ${count} skills to ${dest}`);
|
||||
}
|
||||
|
||||
if (!command || command === "--help" || command === "-h") {
|
||||
printUsage();
|
||||
} else if (command === "list") {
|
||||
listSkills();
|
||||
} else if (command === "install") {
|
||||
const targetIdx = args.indexOf("--target");
|
||||
const target = targetIdx !== -1 ? args[targetIdx + 1] : ".agents/skills";
|
||||
if (!target) {
|
||||
console.error("Error: --target requires a directory path");
|
||||
process.exit(1);
|
||||
}
|
||||
installSkills(target);
|
||||
} else {
|
||||
console.error(`Unknown command: ${command}`);
|
||||
printUsage();
|
||||
process.exit(1);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
import { existsSync } from "fs";
|
||||
import { resolve, dirname } from "path";
|
||||
import { fileURLToPath } from "url";
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
// Only show install hint during explicit npm install (not CI/scripts)
|
||||
if (process.env.npm_config_global !== "true" && !process.env.CI) {
|
||||
console.log(
|
||||
"\n📦 AceDataCloud Skills installed. To copy skills into your project:\n"
|
||||
);
|
||||
console.log(" npx acedatacloud-skills install # → .agents/skills/");
|
||||
console.log(" npx acedatacloud-skills install --target .claude/skills # → .claude/skills/");
|
||||
console.log(" npx acedatacloud-skills install --target .github/skills # → .github/skills/\n");
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import { readdirSync } from "fs";
|
||||
import { resolve, dirname } from "path";
|
||||
import { fileURLToPath } from "url";
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
const skillsDir = resolve(__dirname, "skills");
|
||||
|
||||
export const skills = readdirSync(skillsDir, { withFileTypes: true })
|
||||
.filter((d) => d.isDirectory())
|
||||
.map((d) => d.name)
|
||||
.sort();
|
||||
|
||||
export const skillsPath = skillsDir;
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"name": "acedatacloud-skills",
|
||||
"version": "1.0.0",
|
||||
"description": "Agent Skills for AceDataCloud AI services — music, image, video generation, LLM chat, web search. Compatible with Claude Code, GitHub Copilot, Gemini CLI, OpenAI Codex, and 30+ AI coding agents.",
|
||||
"keywords": [
|
||||
"agent-skills",
|
||||
"agentskills",
|
||||
"mcp",
|
||||
"claude-code",
|
||||
"github-copilot",
|
||||
"gemini-cli",
|
||||
"openai-codex",
|
||||
"ai-tools",
|
||||
"suno",
|
||||
"midjourney",
|
||||
"flux",
|
||||
"luma",
|
||||
"sora",
|
||||
"veo",
|
||||
"ai-music",
|
||||
"ai-image",
|
||||
"ai-video",
|
||||
"acedata-cloud"
|
||||
],
|
||||
"homepage": "https://github.com/AceDataCloud/Skills",
|
||||
"bugs": {
|
||||
"url": "https://github.com/AceDataCloud/Skills/issues"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/AceDataCloud/Skills.git"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "Ace Data Cloud",
|
||||
"email": "dev@acedata.cloud",
|
||||
"url": "https://platform.acedata.cloud"
|
||||
},
|
||||
"type": "module",
|
||||
"main": "index.js",
|
||||
"bin": {
|
||||
"acedatacloud-skills": "bin/cli.js"
|
||||
},
|
||||
"files": [
|
||||
"skills/",
|
||||
"bin/",
|
||||
"index.js",
|
||||
"AGENTS.md",
|
||||
"README.md",
|
||||
"LICENSE"
|
||||
],
|
||||
"scripts": {
|
||||
"postinstall": "node bin/postinstall.js"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user