A CLI-based Agent Skill for PicSee — URL shortening with QR code generation, click analytics, and link management.
Works with any AI agent that supports the Agent Skills standard or can run shell commands.
- Dual-Mode Operation — Unauthenticated (basic shortening) and Authenticated (full management) with automatic detection
- URL Shortening + QR Codes — Create short links and instantly generate QR codes (300x300px, customizable)
- Visual Analytics — Total clicks, unique clicks, daily trends, and chart generation
- Secure Token Storage — AES-256-CBC encryption with salted key derivation (random 32-byte salt + hostname + username → SHA-256). Tokens never stored in plaintext
- Link Management — Search, filter (tags, stars, keywords), edit, and delete
- Minimal Dependencies — Requires only Node.js >= 18 (uses built-in modules, no extra npm packages at runtime)
- Agent Skills Standard — Compatible with 25+ AI agents and development tools
cp -r picsee-short-link ~/.claude/skills/picsee-short-linkThen invoke with /picsee-short-link or let Claude auto-discover it.
clawhub install picsee-short-linkOr browse: https://clawhub.ai/PicSeeInc/picsee-short-link
Install via Smithery registry:
npx @smithery/cli install picsee/short-linkOr browse: https://smithery.ai/skills/picsee/short-link
Upload the skill folder in Customize → Skills. Claude will auto-invoke it when relevant.
Place the skill folder in .cursor/skills/:
cp -r picsee-short-link .cursor/skills/picsee-short-linkPlace the skill folder in .codex/skills/:
cp -r picsee-short-link .codex/skills/picsee-short-linkAny agent with shell access can call the CLI directly:
node /path/to/picsee-short-link/cli/dist/cli.js shorten "https://example.com"
node /path/to/picsee-short-link/cli/dist/cli.js shorten "https://example.com" --slug mylink --tags seo,marketing
node /path/to/picsee-short-link/cli/dist/cli.js list --limit 10
node /path/to/picsee-short-link/cli/dist/cli.js helpThis skill follows the Agent Skills open standard, which is supported by:
| Platform | How to install | How it works |
|---|---|---|
| Claude Code | cp -r picsee-short-link ~/.claude/skills/ |
Auto-discovered, invoke with /picsee-short-link |
| claude.ai | Upload skill folder in Customize → Skills | Auto-invoked when relevant |
| OpenClaw | clawhub install picsee-short-link |
Auto-discovered via SKILL.md |
| Cursor | Place in .cursor/skills/ |
Auto-discovered by agent |
| VS Code Copilot | Place in .github/skills/ |
Auto-discovered by Copilot |
| OpenAI Codex | Place in .codex/skills/ |
Auto-discovered |
| Gemini CLI | Place in .gemini/skills/ |
Auto-discovered |
| Any shell agent | Point to CLI path | node cli/dist/cli.js shorten "..." |
See agentskills.io for the full list of supported platforms.
| Command | Description | Auth |
|---|---|---|
shorten <url> |
Create a pse.is short link with optional custom slug, tags, UTM, and preview metadata |
Optional |
analytics <id> |
Click statistics — total, unique, and daily breakdown | Required |
chart <id> |
Fetch analytics and generate a chart URL visualizing daily click trends | Required |
list |
List and search link history with filters (tags, keywords, stars, date range) | Required |
edit <id> |
Update destination URL, slug, title, description, tags, expiration (Advanced plan) | Required |
delete <id> |
Delete a short link | Required |
recover <id> |
Recover a deleted short link | Required |
qr <shortUrl> |
Generate a QR code URL for any short link | No |
auth <token> |
Verify and encrypt your PicSee API token locally | No |
auth-status |
Check current authentication status | No |
# Store your PicSee API token (encrypted locally)
node /path/to/picsee-short-link/cli/dist/cli.js auth <token>
# Check auth status
node /path/to/picsee-short-link/cli/dist/cli.js auth-statusGet your token: picsee.io → Avatar → Settings → API → Copy token.
| Aspect | Detail |
|---|---|
| Storage | ~/.openclaw/.picsee_token (encrypted token) + ~/.openclaw/.picsee_salt (random salt) |
| Encryption | AES-256-CBC, random IV per write |
| Key Derivation | SHA-256(random-32byte-salt + hostname + "-" + username) — salt generated once, making key unpredictable even if hostname/username are known |
| File Permissions | 0600 on both token and salt files (owner read/write only) |
picsee-short-link/
├── SKILL.md # Agent Skills definition (open standard)
├── cli/ # CLI Tool (TypeScript)
│ ├── src/
│ │ ├── cli.ts # CLI entry point + command definitions
│ │ ├── api.ts # PicSee REST API client
│ │ └── keychain.ts # AES-256-CBC token storage
│ ├── dist/ # Compiled output
│ ├── package.json
│ └── tsconfig.json
├── references/ # API documentation
├── README.md # This file
└── _meta.json # ClawHub registry metadata
- PicSee Website: https://picsee.io
- API Documentation: https://picsee.io/developers/docs/public-api.html
- Agent Skills Spec: https://agentskills.io
MIT