#339 by GitHub stars

glitternetwork/pinme

Deploy Your Frontend in a Single Command. Claude Code Skills supported.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/pinme/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

7822b0501607 → 7822b0501607

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 7822b0501607

No earlier version was observed for comparison.

Compare on GitHub

skills/pinme-auth/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

7822b0501607 → 7822b0501607

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 7822b0501607

No earlier version was observed for comparison.

Compare on GitHub

skills/pinme-email/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

7822b0501607 → 7822b0501607

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 7822b0501607

No earlier version was observed for comparison.

Compare on GitHub

skills/pinme-llm/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

7822b0501607 → 7822b0501607

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 7822b0501607

No earlier version was observed for comparison.

Compare on GitHub

skills/pinme-r2/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

7822b0501607 → 7822b0501607

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 7822b0501607

No earlier version was observed for comparison.

Compare on GitHub

skills/pinme-share/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

7822b0501607 → 7822b0501607

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 7822b0501607

No earlier version was observed for comparison.

Compare on GitHub

skills/pinme-uniwebpay/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

7822b0501607 → 7822b0501607

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 7822b0501607

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 7822b0501607786958ecb458f3bd02a061933efa

git clone --filter=blob:none --no-checkout https://github.com/glitternetwork/pinme.git .hotskills/glitternetwork-pinme && git -C .hotskills/glitternetwork-pinme checkout --detach 7822b0501607786958ecb458f3bd02a061933efa # Copy each selected skill directory from .hotskills/glitternetwork-pinme into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/glitternetwork/pinme.git .hotskills/glitternetwork-pinme && git -C .hotskills/glitternetwork-pinme checkout --detach 7822b0501607786958ecb458f3bd02a061933efa # Copy each selected skill directory from .hotskills/glitternetwork-pinme into .agents/skills/<skill-name>/
3.8kGitHub stars
1star in 7 days
7skills in this repository
0commits in 30 days

Heat

1.9
  • Star growth, last 7 daysAhead of 35% of tracked repositories
  • Star growth, last 24 hoursAhead of 3% of tracked repositories
  • Rank movement, last 7 daysAhead of 28% of tracked repositories
  • Commits, last 30 daysAhead of 0% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 6, 20263,757

Individual skills in this repository

How it works

pinme

When your agent uses it

Use this skill when the user mentions "pinme", or needs to upload files, store to IPFS, create/publish/deploy websites or full-stack services (including frontend pages, backend APIs, database storage, email sending, etc.), or any feature requiring backend database/server support.

What it loads into context

Frontmatter

64 tokens

Always available to the agent

SKILL.md

3,794 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. When to Use
  2. Path 1: Upload Files / Static Sites
  3. Path 2: Full-Stack Project
  4. Worker Code Patterns (`backend/src/worker.ts`)
  5. Frontend API Utility (frontend/src/utils/api.ts)
  6. D1 Database Operations
  7. Template Architecture Suggestions
  8. Important Notes
  9. Common Errors
  10. Other Commands

Files

  • SKILL.mdcore15,400 bytes
  • SKILL.mdcore15,400 bytes
  • SKILL.mdcore15,400 bytes
  • SKILL.mdcore15,400 bytes
  • SKILL.mdcore15,400 bytes
  • SKILL.mdcore15,400 bytes
  • SKILL.mdcore15,400 bytes
  • SKILL.mdcore15,400 bytes
  • SKILL.mdcore15,400 bytes
  • SKILL.mdcore15,400 bytes
Read SKILL.md

# PinMe

Zero-config deployment tool: upload static files to IPFS, or create and deploy full-stack web projects (React+Vite + Cloudflare Worker + D1 database). Workers also support sending emails via the PinMe platform API.

## When to Use

```dot
digraph pinme_decision {
    "User Request" [shape=doublecircle];
    "Needs backend API or database?" [shape=diamond];
    "Upload Files (Path 1)" [shape=box];
    "Full-Stack Project (Path 2)" [shape=box];

    "User Request" -> "Needs backend API or database?";
View the complete source on GitHub

Skills included

  • pinme
  • pinme-auth
  • pinme-email
  • pinme-llm
  • pinme-r2
  • pinme-share
  • pinme-uniwebpay

Repository facts

License
MIT
Created
Apr 13, 2025
Last pushed
Sep 12, 2026
Forks
276
Open issues
7
Project activity
Active

Rank over the last 12 weeks

Now #339 · best #240 · down 56 in 30 days

  1. #327 on Nov 1
  2. #331 on Nov 2
  3. #333 on Nov 3
  4. #334 on Nov 4
  5. #335 on Nov 5
  6. #339 since Nov 6
49 earlier periods
  1. #233 on Aug 2
  2. #235 on Aug 3
  3. #235 on Aug 8
  4. #241 on Aug 10
  5. #236 on Aug 12
  6. #239 on Aug 13
  7. #241 on Aug 14
  8. #240 on Aug 15
  9. #248 on Aug 18
  10. #249 on Aug 23
  11. #254 on Aug 27
  12. #251 on Aug 28
  13. #253 on Aug 29
  14. #255 on Aug 31
  15. #255 on Sep 2
  16. #255 on Sep 6
  17. #260 on Sep 7
  18. #259 on Sep 8
  19. #260 on Sep 9
  20. #262 on Sep 10
  21. #263 on Sep 12
  22. #268 on Sep 14
  23. #267 from Sep 15 to Sep 16
  24. #270 on Sep 18
  25. #273 on Sep 20
  26. #270 on Sep 25
  27. #274 on Sep 27
  28. #278 on Sep 28
  29. #279 on Sep 30
  30. #283 on Oct 2
  31. #277 on Oct 3
  32. #283 from Oct 5 to Oct 6
  33. #286 on Oct 8
  34. #289 on Oct 9
  35. #286 on Oct 10
  36. #287 on Oct 11
  37. #292 on Oct 12
  38. #291 on Oct 14
  39. #291 on Oct 16
  40. #293 on Oct 17
  41. #294 on Oct 18
  42. #299 on Oct 20
  43. #307 on Oct 22
  44. #305 on Oct 23
  45. #314 on Oct 25
  46. #318 on Oct 28
  47. #321 on Oct 29
  48. #327 on Oct 30
  49. #328 on Oct 31

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 2, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 16 notes
  • skills/pinme/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme-share/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme-share/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme-share/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme-share/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme-share/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme-uniwebpay/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/pinme-uniwebpay/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 116 signals by file

skills/pinme-auth/SKILL.md

  • Network accessline 16
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Network accessline 17
    PROJECT_NAME: string;  // 项目名 — 所有 auth 接口必须同时传递   BASE_URL?: string;     // 可选,默认 https://pinme.cloud }
  • Network accessline 18
    BASE_URL?: string;     // 可选,默认 https://pinme.cloud
  • Access to secretsline 22
    [Credential-related source omitted]
  • Network accessline 104
    [Credential-related source omitted]
  • Network accessline 105
    ): Promise<{ user?: UserInfo; error?: string }> {   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(
  • Network accessline 106
    const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(     `${baseUrl}/api/v1/auth/create_user?project_name=${encodeURIComponent(env.PROJECT_NAME)}`,
  • Network accessline 107
    const resp = await fetch(
  • Access to secretsline 111
    [Credential-related source omitted]
  • Network accessline 163
    idToken: string ): Promise<{ uid?: string; email?: string; error?: string; emailNotVerified?: boolean }> {   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';
  • Network accessline 164
    ): Promise<{ uid?: string; email?: string; error?: string; emailNotVerified?: boolean }> {   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(
  • Network accessline 165
    const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(     `${baseUrl}/api/v1/auth/verify_token?project_name=${encodeURIComponent(env.PROJECT_NAME)}`,
  • Network accessline 166
    const resp = await fetch(
  • Access to secretsline 170
    [Credential-related source omitted]
  • Network accessline 201
    async function getAuthUser(env: Env, uid: string): Promise<{ user?: UserInfo; error?: string }> {   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(
  • Network accessline 202
    const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(     `${baseUrl}/api/v1/auth/user?project_name=${encodeURIComponent(env.PROJECT_NAME)}&uid=${encodeURIComponent(uid)}`,
  • Network accessline 203
    const resp = await fetch(
  • Access to secretsline 205
    [Credential-related source omitted]
  • Network accessline 236
    options: { pageToken?: string; maxResults?: number } = {} ): Promise<{ users?: UserInfo[]; nextPageToken?: string; error?: string }> {   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';
  • Network accessline 237
    ): Promise<{ users?: UserInfo[]; nextPageToken?: string; error?: string }> {   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const url = new URL('/api/v1/auth/list_users', baseUrl);
  • Network accessline 238
    const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';
  • Network accessline 244
    [Credential-related source omitted]
  • Access to secretsline 244
    [Credential-related source omitted]
  • Access to secretsline 271
    [Credential-related source omitted]
  • Access to secretsline 275
    [Credential-related source omitted]
  • Access to secretsline 276
    [Credential-related source omitted]
  • Access to secretsline 282
    [Credential-related source omitted]
  • Access to secretsline 301
    [Credential-related source omitted]
  • Access to secretsline 308
    [Credential-related source omitted]
  • Access to secretsline 338
    [Credential-related source omitted]

skills/pinme-email/SKILL.md

  • Network accessline 17
    [Credential-related source omitted]
  • Network accessline 18
    [Credential-related source omitted]
  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 19
    BASE_URL?: string;    // Optional override for PinMe API base URL, defaults to https://pinme.cloud
  • Network accessline 23
    [Credential-related source omitted]
  • Access to secretsline 23
    [Credential-related source omitted]
  • Access to secretsline 30
    [Credential-related source omitted]
  • Network accessline 67
    async function sendEmail(env: Env, to: string, subject: string, html: string): Promise<{ ok: boolean; error?: string }> {   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(`${baseUrl}/api/v4/send_email`, {
  • Network accessline 68
    const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(`${baseUrl}/api/v4/send_email`, {     method: 'POST',
  • Network accessline 69
    const resp = await fetch(`${baseUrl}/api/v4/send_email`, {
  • Access to secretsline 73
    [Credential-related source omitted]
  • Network accessline 119
    let resp: Response;   try {     resp = await fetch(url, {
  • Network accessline 120
    try {     resp = await fetch(url, {       method: 'POST',
  • Network accessline 121
    resp = await fetch(url, {
  • Network accessline 154
    const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';
  • Access to secretsline 158
    [Credential-related source omitted]

skills/pinme-llm/SKILL.md

  • Network accessline 18
    [Credential-related source omitted]
  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 19
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 20
    BASE_URL?: string;     // Optional override for PinMe API base URL, defaults to https://pinme.cloud
  • Network accessline 24
    [Credential-related source omitted]
  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 31
    [Credential-related source omitted]
  • Network accessline 37
    async function listModels(env: Env): Promise<unknown> {   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(`${baseUrl}/api/v1/models`, {
  • Network accessline 38
    [Credential-related source omitted]
  • Network accessline 39
    const resp = await fetch(`${baseUrl}/api/v1/models`, {
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Network accessline 83
    async function searchWithLLM(env: Env, query: string): Promise<string> {   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(
  • Network accessline 84
    const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(     `${baseUrl}/api/v1/chat/completions?project_name=${encodeURIComponent(env.PROJECT_NAME)}`,
  • Network accessline 85
    const resp = await fetch(
  • Access to secretsline 91
    [Credential-related source omitted]
  • Network accessline 158
    model = 'openai/gpt-4o-mini', ): Promise<{ content: string; error?: string }> {   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';
  • Network accessline 159
    ): Promise<{ content: string; error?: string }> {   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(
  • Network accessline 160
    const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';   const resp = await fetch(     `${baseUrl}/api/v1/chat/completions?project_name=${encodeURIComponent(env.PROJECT_NAME)}`,
  • Network accessline 161
    const resp = await fetch(
  • Access to secretsline 167
    [Credential-related source omitted]
  • Network accessline 200
    async function handleChatStream(request: Request, env: Env): Promise<Response> {   const body = await request.text();   const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';
  • Network accessline 202
    const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';
  • Network accessline 208
    const resp = await fetch(
  • Access to secretsline 214
    [Credential-related source omitted]
  • Network accessline 240
    async function streamChat(question: string, onChunk: (text: string) => void): Promise<void> {   const resp = await fetch(getApiUrl('/api/chat/stream'), {
  • Network accessline 241
    const resp = await fetch(getApiUrl('/api/chat/stream'), {
  • Network accessline 324
    let resp: Response;   try {     resp = await fetch(url, {
  • Network accessline 325
    try {     resp = await fetch(url, {       method: 'POST',
  • Network accessline 326
    resp = await fetch(url, {
  • Network accessline 346
    const baseUrl = env.BASE_URL ?? 'https://pinme.cloud';
  • Access to secretsline 350
    [Credential-related source omitted]

skills/pinme-r2/SKILL.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]

skills/pinme-uniwebpay/SKILL.md

  • Network accessline 16
    [Credential-related source omitted]
  • Network accessline 17
    UNIWEB_WEBHOOK_SECRET?: string;  // wallet-level whsec_, used to verify webhook signatures   UNIWEB_API_URL?: string;         // UniwebPay API endpoint override (default https://apiskill.uniwebpay.com)   UNIWEB_PAY_URL?: string;         // 
  • Network accessline 18
    UNIWEB_API_URL?: string;         // UniwebPay API endpoint override (default https://apiskill.uniwebpay.com)
  • Network accessline 19
    UNIWEB_PAY_URL?: string;         // UniwebPay checkout host override (default https://skill.uniwebpay.com)
  • Network accessline 20
    UNIWEB_WALLET_ID?: string;       // user-level wallet id (wal_), diagnostics/reconciliation only   WORKER_URL?: string;             // this project's public URL: https://{projectName}.{platform api domain}   PROJECT_NAME?: string;          
  • Network accessline 21
    WORKER_URL?: string;             // this project's public URL: https://{projectName}.{platform api domain}
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 213
    [Credential-related source omitted]
  • Access to secretsline 236
    [Credential-related source omitted]
  • Access to secretsline 246
    [Credential-related source omitted]
  • Access to secretsline 313
    [Credential-related source omitted]
  • Access to secretsline 483
    [Credential-related source omitted]
  • Access to secretsline 493
    [Credential-related source omitted]
  • Network accessline 532
    export default {   async fetch(request: Request, env: Env): Promise<Response> {
  • Network accessline 533
    async fetch(request: Request, env: Env): Promise<Response> {
  • Access to secretsline 537
    [Credential-related source omitted]
  • Access to secretsline 553
    [Credential-related source omitted]
  • Access to secretsline 569
    [Credential-related source omitted]
  • Access to secretsline 570
    [Credential-related source omitted]

skills/pinme/SKILL.md

  • Access to secretsline 154
    [Credential-related source omitted]
  • Network accessline 185
    pinme save # Single command deploys frontend + backend + database # Outputs preview URL: https://pinme.eth.limo/#/preview/{CID}
  • Network accessline 187
    # Outputs preview URL: https://pinme.eth.limo/#/preview/{CID}
  • Network accessline 192
    The backend Worker is deployed at `https://{name}.pinme.pro`. Frontend API requests are automatically configured to point to that address — no manual setup needed.
  • Access to secretsline 215
    [Credential-related source omitted]
  • Network accessline 230
    export default {   async fetch(request: Request, env: Env): Promise<Response> {
  • Network accessline 231
    async fetch(request: Request, env: Env): Promise<Response> {
  • Network accessline 261
    When the backend needs email sending, use the PinMe platform API (`https://pinme.cloud/api/v4/send_email`).
  • Access to secretsline 263
    [Credential-related source omitted]
  • Access to secretsline 270
    [Credential-related source omitted]
  • Access to secretsline 278
    [Credential-related source omitted]
  • Access to secretsline 280
    [Credential-related source omitted]
  • Network accessline 298
    const response = await fetch('https://pinme.cloud/api/v4/send_email', {
  • Dangerous shell operationline 391
    pinme rm <hash>                # Delete uploaded content

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 116 facts

and 66 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativePath CLAUDE.md.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/pinme/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/pinme/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/pinme/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/pinme/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Add this badge to your README

It updates every night and links to this page.

glitternetwork/pinme: #339 on hotskills, 3.8k stars

[![glitternetwork/pinme on hotskills](https://hotskills.dev/badge/glitternetwork-pinme.svg)](https://hotskills.dev/skill/glitternetwork-pinme/)