skills$openclaw/pinme
ntlx4.4k

by ntlx

pinme – OpenClaw Skill

pinme is an OpenClaw Skills integration for coding workflows. |

4.4k stars1.3k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

namepinme
description| OpenClaw Skills integration.
ownerntlx
repositoryntlx/pinme
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @ntlx/pinme
last updatedFeb 7, 2026

Maintainer

ntlx

ntlx

Maintains pinme in the OpenClaw Skills directory.

View GitHub profile
File Explorer
2 files
.
_meta.json
260 B
SKILL.md
4.6 KB
SKILL.md

name: pinme description: | Deploy static websites to IPFS with a single command using PinMe CLI. Use when: (1) User wants to deploy a built frontend project, (2) Need to upload static files (dist/build/out/public) to IPFS, (3) Requesting preview URL for a deployed site. Supports: Vite, React, Vue, Next.js, Angular, Create React App, and static sites. Output: Preview URL (https://pinme.eth.limo/#/preview/*) after successful upload.

PinMe - Zero-Config Frontend Deployment

Deploy static websites to IPFS network with a single command. No servers, no accounts, no setup.

When to Use

Use this skill when:

  • User asks to "deploy", "upload", or "publish" a frontend project
  • User wants to get a preview URL for their built site
  • User mentions PinMe or IPFS deployment
  • Project has built static files (dist/, build/, out/, public/)

Quick Start

# Install PinMe
npm install -g pinme

# Deploy (auto-detects static directory)
pinme upload dist

# Get preview URL
# https://pinme.eth.limo/#/preview/*

Core Workflow

1. Check Prerequisites

# Check Node.js version (requires 16.13.0+)
node --version

# Verify pinme is installed
pinme --version

2. Identify Static Directory

PinMe auto-detects directories in priority order:

DirectoryFramework/Tool
dist/Vite, Vue CLI, Angular
build/Create React App
out/Next.js (static export)
public/Static sites

Validation rules:

  • ✅ Folder must exist
  • ✅ Must contain index.html
  • ✅ Must have actual static files (CSS, JS, images)

3. Execute Deployment

# Deploy dist directory (most common)
pinme upload dist

# Deploy specific directory
pinme upload build

# Upload and bind to custom domain (requires Plus)
pinme upload dist --domain my-site

4. Return Result

Return ONLY the preview URL: https://pinme.eth.limo/#/preview/*

Commands Reference

CommandDescription
pinme upload <dir>Upload static files to IPFS
pinme upload <dir> --domain <name>Upload + bind domain
pinme import <car-file>Import CAR files
pinme export <CID>Export IPFS content as CAR
pinme listShow upload history
pinme rm <hash>Remove files from IPFS
pinme set-appkeySet AppKey for authentication
pinme my-domainsList owned domains
pinme --versionShow version

Upload Limits

TypeFree Plan
Single file200MB
Total directory1GB

Error Handling

ErrorSolution
Node.js version too lowUpgrade to 16.13.0+
Command not foundRun npm install -g pinme
Folder does not existCheck path, use ls
Upload failedCheck network, retry
Authentication failedRun pinme set-appkey

AI Execution Protocol

For programmatic deployment:

  1. Check environment: node --version (needs >=16.13.0)
  2. Install if needed: npm install -g pinme
  3. Detect directory: Check dist/, build/, out/, public/
  4. Validate: Must contain index.html
  5. Execute: pinme upload <directory>
  6. Return: Only the preview URL

Prohibited operations:

  • ❌ Upload node_modules, .env, .git
  • ❌ Upload source directories (src/)
  • ❌ Upload config files (package.json, etc.)
  • ❌ Upload non-existent/empty folders

GitHub Actions Integration

Example workflow:

name: Deploy to PinMe
on: [push]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '18'
      - run: npm ci && npm run build
      - run: npm install -g pinme
      - run: pinme set-appkey "${{ secrets.PINME_APPKEY }}"
      - run: pinme upload dist --domain "${{ secrets.DOMAIN }}"

Machine-Readable Config

{
  "tool": "pinme",
  "requirements": {
    "node_version": ">=16.13.0"
  },
  "install": "npm install -g pinme",
  "upload": "pinme upload {{directory}}",
  "upload_with_domain": "pinme upload {{directory}} --domain {{domain}}",
  "validDirectories": ["dist", "build", "out", "public"],
  "requiredFiles": ["index.html"],
  "excludePatterns": ["node_modules", ".env", ".git", "src"],
  "limits": {
    "single_file": "200MB",
    "total_directory": "1GB"
  },
  "output": "preview_url",
  "preview_url_format": "https://pinme.eth.limo/#/preview/*",
  "fixed_domain_format": "https://*.pinit.eth.limo"
}

Resources

README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install pinme?

Run openclaw add @ntlx/pinme in your terminal. This installs pinme into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/ntlx/pinme. Review commits and README documentation before installing.