pinme-share
**pinme-share** creates a polished static HTML share page and uploads it via PinMe to generate a public URL. Use this skill when the user requests sharing, publishing, or uploading a result such as a deployed project, Codex conversation summary, report, demo, or file. It handles sanitization of sensitive data, creates self-contained artifacts with inline CSS, and outputs the final shareable link from PinMe.
git clone --depth 1 https://github.com/glitternetwork/pinme /tmp/pinme-share && cp -r /tmp/pinme-share/skills/pinme-share ~/.claude/skills/pinme-shareSKILL.md
# PinMe Share Create a polished static share artifact, upload it with `pinme upload`, and return the final URL. ## When to Use Use this skill when the user asks to: - Share or publish a result using PinMe. - Create a static page that wraps a deployed project link, demo, report, or artifact. - Summarize a Codex conversation/session and share it as a page. - Turn a project handoff into a public landing or summary page. - Upload an existing static file or folder for lightweight distribution. If the user needs a backend, database, auth, email, or LLM functionality, use the main `pinme` skill and any relevant PinMe integration skill first. Use `pinme-share` at the end to package and publish the result. ## Core Workflow 1. Identify what is being shared: - **PinMe/full-stack project**: deployed URL, short description, key features, tech stack, usage notes. - **Codex conversation**: goal, decisions, implementation summary, important outputs, next steps. - **Static file/report/demo**: title, purpose, file contents or preview, context for the recipient. 2. Create a static share artifact: - Prefer a single self-contained `index.html`. - Use `share/<slug>/index.html` in the current workspace unless the repo has an existing output/share convention. - Keep CSS inline for portability. - Do not require JavaScript unless interaction is valuable. 3. Sanitize before publishing: - Remove secrets, tokens, API keys, `.env` values, internal-only URLs, private user data, and unrelated logs. - For conversation summaries, summarize rather than dumping raw transcript unless the user explicitly asks for verbatim sharing. - Make links explicit and clickable. 4. Upload with PinMe: ```bash pinme upload share/<slug> ``` 5. Return the URL printed by PinMe. If PinMe outputs multiple URLs, prefer DNS domain, then PinMe subdomain, then short URL, then full preview URL. Never truncate hash fragments. ## Share Page Content For a project share page, include: - Project name and one-sentence description. - Primary launch/demo link as the first action. - What it does, who it is for, and why it matters. - Feature list focused on user-visible behavior. - Build/deploy details only when useful to the recipient. - Date and provenance such as "Created with Codex" only if appropriate. For a conversation share page, include: - Conversation title. - Initial goal or question. - Key context and constraints. - Decisions made. - Work completed or answer summary. - Files changed, commands run, links produced, or artifacts created when relevant. - Follow-up items. For a file/report share page, include: - Clear title and short abstract. - Download/open link to the uploaded artifact if there is a separate file. - Important excerpts or generated summary. - Source/context notes. ## HTML Guidelines - Build a real share page, not a generic placeholder. - Make the most important link visible in the first viewport. - Use clean, responsive HTML/CSS that works as a standalone static file. - Keep the design restrained and readable; avoid overdecorated marketing layouts for technical handoffs. - Use semantic sections, accessible contrast, descriptive link text, and sensible mobile spacing. - Escape user-provided text before inserting it into HTML. - If showing code or command output, wrap it in `<pre><code>` and keep it short. ## PinMe Upload Checklist Before upload: ```bash pinme --version ``` If PinMe is missing or stale, install or update it according to the main `pinme` skill. Authentication is required for upload: ```bash pinme login # or: pinme set-appkey <AppKey> ``` Upload examples: ```bash pinme upload share/my-project pinme upload share/conversation-summary pinme upload ./report.html pinme upload ./dist ``` Do not upload: - `.env`, `.git`, `node_modules`, source trees, private datasets, raw logs with credentials, or unrelated build cache. - Raw conversation transcripts that may include secrets or private context unless the user explicitly approves the exact content. ## Final Response Tell the user: - What share artifact was created. - The PinMe URL returned by upload. - Any important caveat, such as skipped upload because PinMe was not authenticated or unavailable. Keep the response short. The URL is the main deliverable.
Use when a PinMe project (Worker TypeScript) needs to integrate user authentication — creating email/password users, verifying id_tokens, querying user info, or listing users via Identity Platform auth proxy APIs.
Use this skill when a PinMe project (Worker TypeScript) needs to integrate email sending (send_email). Guides AI to generate correct Worker TS code.
Use this skill when a PinMe project (Worker TypeScript) needs to call OpenRouter-backed LLM APIs, including models, chat/completions, streaming, or OpenRouter web search. Guides AI to generate correct Worker TS code.
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.