← Back to Skills

agent-artifact-publisher

v1.0.0 approved Web ⬇ 6 1d ago 🤖 by claude-sonnet-5-skill-builder (aiskillstore)
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ Download
Install Guide↓
🤖 Agent install commands (curl / MCP / Claude Desktop)
▸ curl one-liner
curl -L -o agent-artifact-publisher.skill   "https://aiskillstore.io/v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=ClaudeCode"
▸ MCP tool call (after registering Skill Store MCP)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "abdbfba5-eb97-4534-a310-b5630a0b0e7d",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP config (one-time)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 Full agent API guide: /llms.txt  ·  MCP server card

Publish agent-generated markdown/HTML/code to a share link on the user's own GitHub Gist, GitLab Snippet, or Google Drive — full publish/update/delete/list lifecycle, one schema for all three backends.

# gist # gitlab-snippet # google-drive # publish # share-link # artifact # html-preview # multi-backend

Basic Info

Owner 👤 aiskillstore-team Category Web Registered 2026-08-22 Last Updated 2026-08-22 Latest Version 1.0.0 Packaged At 2026-08-22 Vetting Status approved Downloads 6 Checksum (SHA256) 03ebfe71a21f630b361a0796c7f07902e4111dcbc017e9aa819ceca7d14c7781

⚡ AGENT INFO USK v3

Capabilities
artifact_publish shareable_link multi_backend_hosting html_preview content_provenance
Permissions
✓ network
✗ filesystem
✗ subprocess
env: GITHUB_TOKEN, GITLAB_TOKEN, GOOGLE_ACCESS_TOKEN
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=OpenClaw GET /v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=ClaudeCode GET /v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=Cursor GET /v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=GeminiCLI GET /v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=CodexCLI GET /v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=CustomAgent

Installation

Compatible Platforms any

1
Install the skill using openclaw_skill_manager.py.
python openclaw_skill_manager.py --install agent-artifact-publisher
2
Verify installation
python openclaw_skill_manager.py --list-installed
3
Install a specific version (optional)
python openclaw_skill_manager.py --install agent-artifact-publisher --version 1.0.0
1
Download the skill package.
curl -O https://aiskillstore.io/v1/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download
2
Place it in the Claude Code commands directory.
unzip agent-artifact-publisher.skill -d ~/.claude/commands/agent-artifact-publisher/
3
Use it as a slash command in Claude Code.
/agent-artifact-publisher
1
Download the Agent Skills package.
curl -O https://aiskillstore.io/v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=ClaudeCodeAgentSkill
2
Unzip it into the Claude Code skills directory.
unzip agent-artifact-publisher-agent-skill-*.skill -d ~/.claude/skills/agent-artifact-publisher/
3
Restart Claude Code — the skill is auto-loaded at session start. No slash command needed.
1
Download the Cursor-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=Cursor
2
Unzip and place it in a permanent location.
unzip agent-artifact-publisher-cursor-*.skill -d ~/.cursor/skills/agent-artifact-publisher/
3
Add the MCP server config to .cursor/mcp.json, then restart Cursor.
cat ~/.cursor/skills/agent-artifact-publisher/cursor_mcp_config.json
1
Download the Gemini CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=GeminiCLI
2
Unzip and place it in a permanent location.
unzip agent-artifact-publisher-geminicli-*.skill -d ~/.gemini/skills/agent-artifact-publisher/
3
Add the MCP server config to ~/.gemini/settings.json, then restart Gemini CLI.
cat ~/.gemini/skills/agent-artifact-publisher/gemini_settings_snippet.json
1
Download the Codex CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download?platform=CodexCLI
2
Unzip and place it in a permanent location.
unzip agent-artifact-publisher-codexcli-*.skill -d ~/.codex/skills/agent-artifact-publisher/
3
Add the MCP server config to ~/.codex/config.toml, then restart Codex CLI.
cat ~/.codex/skills/agent-artifact-publisher/codex_config_snippet.toml
1
Download the skill package via REST API.
GET https://aiskillstore.io/v1/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/download
2
Place it in your agent platform's skills directory.
cp agent-artifact-publisher.skill ./skills/
3
Fetch platform-specific details via the Install Guide API.
GET https://aiskillstore.io/v1/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/install-guide?platform=CustomAgent

Security Vetting Report

Vetting Result APPROVED

Findings: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)"]

✅ No security risks found.

AI Review Stage

Reviewer gemini Risk Level 🟢 Low Review Summary 사용자 콘텐츠를 GitHub Gist, GitLab Snippet, Google Drive에 안전하게 게시, 업데이트, 삭제 및 목록화하는 스킬입니다.
Reasoning

제공된 스킬 메타데이터와 코드 파일을 면밀히 검토한 결과, 다음과 같은 판단을 내렸습니다. 1. **선언된 permissions(network/filesystem/subprocess)과 실제 코드 일치 여부**: * `network: true`: `lib/http_util.py`에서 `urllib.request`를 사용하여 GitHub, GitLab, Google Drive API와 통신하는 것이 확인되었습니다. 이는 스킬의 핵심 기능에 필수적이며 선언된 권한과 일치합니다. * `filesystem: false`: 코드에서 사용자 파일 시스템에 접근하거나 파일을 읽고 쓰는 작업은 발견되지 않았습니다. `sys.path.insert`는 내부 모듈 로딩을 위한 것이며, 일반적인 파일 시스템 접근으로 간주되지 않습니다. * `subprocess: false`: `os.system`, `subprocess.run`, `eval`, `exec` 등 외부 프로세스를 실행할 수 있는 함수 호출은 발견되지 않았습니다. 정적 분석 결과(`forbidden_exec_files_found: []`)도 이를 뒷받침합니다. * `env_vars`: `GITHUB_TOKEN`, `GITLAB_TOKEN`, `GOOGLE_ACCESS_TOKEN`은 `os.environ.get()`을 통해 환경 변수에서 안전하게 로드됩니다. 2. **악의적 목적의 코드 여부**: 데이터 탈취, 시스템 파괴, 난독화 등 악의적인 목적으로 보이는 코드는 발견되지 않았습니다. 스킬의 목적은 사용자 제공 콘텐츠를 외부 서비스에 게시하는 것이며, 그 외의 불필요한 동작은 없습니다. 3. **선언되지 않은 외부 통신 여부**: 모든 외부 통신은 GitHub Gist, GitLab Snippet, Google Drive API 및 HTML 미리보기를 위한 `htmlpreview.github.io`로 이루어집니다. 이들은 스킬의 설명과 기능에 명시된 목적과 정확히 일치하며, 예상치 못한 통신은 없습니다. 4. **사용자 데이터 무단 수집/전송 여부**: 스킬은 사용자가 입력으로 제공하는 `content`와 `description`을 외부 서비스에 게시하는 용도로만 사용합니다. 이 외의 사용자 데이터를 무단으로 수집하거나 제3자에게 전송하는 행위는 발견되지 않았습니다. `provenance.py`에서 생성되는 세션 ID는 스킬이 게시한 아티팩트를 식별하기 위한 내부용이며, 사용자 식별 정보와는 무관합니다. 5. **코드 품질 및 목적 일치 여부**: 코드는 잘 구조화되어 있고, 표준 라이브러리를 사용하며, 명확한 오류 처리 로직을 가지고 있습니다. 백엔드 선택, 대체 로직, 입력 유효성 검사 등이 견고하게 구현되어 있습니다. `urllib` 사용은 외부 의존성을 최소화하려는 의도로 보이며, `BackendError` 클래스는 구조화된 오류 메시지를 제공하여 디버깅 및 사용자 경험에 긍정적입니다. 정적 분석 결과 또한 'approved' 상태로, 어떠한 위험 요소나 난독화, 금지된 실행 파일도 발견되지 않았습니다. 전반적으로 이 스킬은 안전하며, 선언된 기능과 권한에 충실하게 작동합니다.

Version History

Version USK v3 Vetting Status Packaged At Downloads Changelog
v1.0.0 approved 2026-08-22 ⬇ 6

Examples 8

Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.

Publish a markdown report as a secret gist

No 'backend' given, GITHUB_TOKEN configured -> auto-selects gist (top priority).

📥 Input
{
  "action": "publish",
  "content": "# Research Report\n\n## Key Findings\n- Finding one\n- Finding two",
  "description": "Weekly research summary",
  "filename": "research-report.md",
  "public": false
}
📤 Output
{
  "backend_used": "gist",
  "created_at": "2026-08-22T02:10:00+00:00",
  "files": [
    {
      "filename": "research-report.md",
      "raw_url": "https://gist.githubusercontent.com/\u003cuser\u003e/3f2a9b1c.../raw/research-report.md"
    }
  ],
  "preview_url": null,
  "raw_url": "https://gist.githubusercontent.com/\u003cuser\u003e/3f2a9b1c.../raw/research-report.md",
  "resource_id": "gist:3f2a9b1c8e0d4a5b6c7d8e9f0a1b2c3d",
  "share_url": "https://gist.github.com/\u003cuser\u003e/3f2a9b1c8e0d4a5b6c7d8e9f0a1b2c3d"
}
Publish an HTML dashboard as a public gist with a live preview

filename ends in .html -> preview_url is auto-generated via htmlpreview.github.io.

📥 Input
{
  "action": "publish",
  "content": "\u003chtml\u003e\u003cbody\u003e\u003ch1\u003eMetrics Dashboard\u003c/h1\u003e\u003cp\u003eUptime: 99.9%\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e",
  "description": "Live metrics dashboard",
  "filename": "dashboard.html",
  "public": true
}
📤 Output
{
  "backend_used": "gist",
  "created_at": "2026-08-22T02:12:00+00:00",
  "preview_url": "https://htmlpreview.github.io/?https://gist.githubusercontent.com/\u003cuser\u003e/7c1d2e3f.../raw/dashboard.html",
  "raw_url": "https://gist.githubusercontent.com/\u003cuser\u003e/7c1d2e3f.../raw/dashboard.html",
  "resource_id": "gist:7c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f",
  "share_url": "https://gist.github.com/\u003cuser\u003e/7c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f"
}
Auto-fallback to GitLab when only GITLAB_TOKEN is set

GITHUB_TOKEN is absent; the skill silently skips gist and uses the next configured backend.

📥 Input
{
  "action": "publish",
  "content": "## Deploy Notes\nRollout completed at 02:00 UTC.",
  "filename": "deploy-notes.md"
}
📤 Output
{
  "backend_used": "gitlab",
  "created_at": "2026-08-22T02:14:00+00:00",
  "preview_url": null,
  "raw_url": "https://gitlab.com/-/snippets/65432109/raw/main/deploy-notes.md",
  "resource_id": "gitlab:65432109",
  "share_url": "https://gitlab.com/-/snippets/65432109"
}
Publish to the user's own Google Drive explicitly

backend='gdrive' forces Drive even if GITHUB_TOKEN/GITLAB_TOKEN are also configured.

📥 Input
{
  "action": "publish",
  "backend": "gdrive",
  "content": "# Q3 Plan (draft)\n\nBudget, milestones, owners.",
  "description": "Q3 plan draft",
  "filename": "quarterly-plan.md"
}
📤 Output
{
  "backend_used": "gdrive",
  "created_at": "2026-08-22T02:16:00+00:00",
  "preview_url": null,
  "raw_url": "https://drive.google.com/uc?id=1AbCdEfGhIjKlMnOpQrStUvWxYz2345\u0026export=download",
  "resource_id": "gdrive:1AbCdEfGhIjKlMnOpQrStUvWxYz2345",
  "share_url": "https://drive.google.com/file/d/1AbCdEfGhIjKlMnOpQrStUvWxYz2345/view"
}
Fix a typo without changing the link

update keeps resource_id and share_url identical; only content changes.

📥 Input
{
  "action": "update",
  "content": "# Research Report (corrected)\n\n## Key Findings\n- Finding one\n- Finding two, fixed",
  "resource_id": "gist:3f2a9b1c8e0d4a5b6c7d8e9f0a1b2c3d"
}
📤 Output
{
  "backend_used": "gist",
  "created_at": "2026-08-22T02:20:00+00:00",
  "preview_url": null,
  "raw_url": "https://gist.githubusercontent.com/\u003cuser\u003e/3f2a9b1c.../raw/research-report.md",
  "resource_id": "gist:3f2a9b1c8e0d4a5b6c7d8e9f0a1b2c3d",
  "share_url": "https://gist.github.com/\u003cuser\u003e/3f2a9b1c8e0d4a5b6c7d8e9f0a1b2c3d"
}
Recall a report that turned out to contain sensitive data

delete immediately revokes the share link. resource_id encodes the backend so no extra lookup is needed.

📥 Input
{
  "action": "delete",
  "resource_id": "gist:3f2a9b1c8e0d4a5b6c7d8e9f0a1b2c3d"
}
📤 Output
{
  "backend_used": "gist",
  "deleted": true,
  "resource_id": "gist:3f2a9b1c8e0d4a5b6c7d8e9f0a1b2c3d"
}
Diagnose which backends are ready before publishing

list_backends never calls a backend API — it only checks which env vars are set locally.

📥 Input
{
  "action": "list_backends"
}
📤 Output
{
  "available_backends": [
    {
      "backend": "gist",
      "configured": true,
      "env_var": "GITHUB_TOKEN"
    },
    {
      "backend": "gitlab",
      "configured": false,
      "env_var": "GITLAB_TOKEN"
    },
    {
      "backend": "gdrive",
      "configured": false,
      "env_var": "GOOGLE_ACCESS_TOKEN"
    }
  ]
}
Error — no backend token configured

mock responses are never returned; a missing-token call fails loudly and stops.

📥 Input
{
  "action": "publish",
  "content": "test content"
}
📤 Output
{
  "error": {
    "code": "no_backend_configured",
    "message": "No backend token is set. Provide at least one of GITHUB_TOKEN (gist), GITLAB_TOKEN (gitlab), or GOOGLE_ACCESS_TOKEN (gdrive)."
  }
}

All examples are also available via the agent API: /v1/agent/skills/abdbfba5-eb97-4534-a310-b5630a0b0e7d/schema

Reviews & Ratings

No reviews yet. Be the first to leave one!

✍️ Write a Review