$npx -y skills add glitternetwork/pinme --skill pinme-shareUse this skill when the user wants to share, publish, or upload a static result through PinMe, especially by generating a static HTML share page for a PinMe project link, deployed full-stack app, Codex conversation summary, report, file, demo, or any 分享/发布/上传分享页 request that shou
| 1 | # PinMe Share |
| 2 | |
| 3 | Create a polished static share artifact, upload it with `pinme upload`, and return the final URL. |
| 4 | |
| 5 | ## When to Use |
| 6 | |
| 7 | Use this skill when the user asks to: |
| 8 | |
| 9 | - Share or publish a result using PinMe. |
| 10 | - Create a static page that wraps a deployed project link, demo, report, or artifact. |
| 11 | - Summarize a Codex conversation/session and share it as a page. |
| 12 | - Turn a project handoff into a public landing or summary page. |
| 13 | - Upload an existing static file or folder for lightweight distribution. |
| 14 | |
| 15 | 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. |
| 16 | |
| 17 | ## Core Workflow |
| 18 | |
| 19 | 1. Identify what is being shared: |
| 20 | - **PinMe/full-stack project**: deployed URL, short description, key features, tech stack, usage notes. |
| 21 | - **Codex conversation**: goal, decisions, implementation summary, important outputs, next steps. |
| 22 | - **Static file/report/demo**: title, purpose, file contents or preview, context for the recipient. |
| 23 | 2. Create a static share artifact: |
| 24 | - Prefer a single self-contained `index.html`. |
| 25 | - Use `share/<slug>/index.html` in the current workspace unless the repo has an existing output/share convention. |
| 26 | - Keep CSS inline for portability. |
| 27 | - Do not require JavaScript unless interaction is valuable. |
| 28 | 3. Sanitize before publishing: |
| 29 | - Remove secrets, tokens, API keys, `.env` values, internal-only URLs, private user data, and unrelated logs. |
| 30 | - For conversation summaries, summarize rather than dumping raw transcript unless the user explicitly asks for verbatim sharing. |
| 31 | - Make links explicit and clickable. |
| 32 | 4. Upload with PinMe: |
| 33 | ```bash |
| 34 | pinme upload share/<slug> |
| 35 | ``` |
| 36 | 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. |
| 37 | |
| 38 | ## Share Page Content |
| 39 | |
| 40 | For a project share page, include: |
| 41 | |
| 42 | - Project name and one-sentence description. |
| 43 | - Primary launch/demo link as the first action. |
| 44 | - What it does, who it is for, and why it matters. |
| 45 | - Feature list focused on user-visible behavior. |
| 46 | - Build/deploy details only when useful to the recipient. |
| 47 | - Date and provenance such as "Created with Codex" only if appropriate. |
| 48 | |
| 49 | For a conversation share page, include: |
| 50 | |
| 51 | - Conversation title. |
| 52 | - Initial goal or question. |
| 53 | - Key context and constraints. |
| 54 | - Decisions made. |
| 55 | - Work completed or answer summary. |
| 56 | - Files changed, commands run, links produced, or artifacts created when relevant. |
| 57 | - Follow-up items. |
| 58 | |
| 59 | For a file/report share page, include: |
| 60 | |
| 61 | - Clear title and short abstract. |
| 62 | - Download/open link to the uploaded artifact if there is a separate file. |
| 63 | - Important excerpts or generated summary. |
| 64 | - Source/context notes. |
| 65 | |
| 66 | ## HTML Guidelines |
| 67 | |
| 68 | - Build a real share page, not a generic placeholder. |
| 69 | - Make the most important link visible in the first viewport. |
| 70 | - Use clean, responsive HTML/CSS that works as a standalone static file. |
| 71 | - Keep the design restrained and readable; avoid overdecorated marketing layouts for technical handoffs. |
| 72 | - Use semantic sections, accessible contrast, descriptive link text, and sensible mobile spacing. |
| 73 | - Escape user-provided text before inserting it into HTML. |
| 74 | - If showing code or command output, wrap it in `<pre><code>` and keep it short. |
| 75 | |
| 76 | ## PinMe Upload Checklist |
| 77 | |
| 78 | Before upload: |
| 79 | |
| 80 | ```bash |
| 81 | pinme --version |
| 82 | ``` |
| 83 | |
| 84 | If PinMe is missing or stale, install or update it according to the main `pinme` skill. Authentication is required for upload: |
| 85 | |
| 86 | ```bash |
| 87 | pinme login |
| 88 | # or: pinme set-appkey <AppKey> |
| 89 | ``` |
| 90 | |
| 91 | Upload examples: |
| 92 | |
| 93 | ```bash |
| 94 | pinme upload share/my-project |
| 95 | pinme upload share/conversation-summary |
| 96 | pinme upload ./report.html |
| 97 | pinme upload ./dist |
| 98 | ``` |
| 99 | |
| 100 | Do not upload: |
| 101 | |
| 102 | - `.env`, `.git`, `node_modules`, source trees, private datasets, raw logs with credentials, or unrelated build cache. |
| 103 | - Raw conversation transcripts that may include secrets or private context unless the user explicitly approves the exact content. |
| 104 | |
| 105 | ## Final Response |
| 106 | |
| 107 | Tell the user: |
| 108 | |
| 109 | - What share artifact was created. |
| 110 | - The PinMe URL returned by upload. |
| 111 | - Any important caveat, such as skipped upload because PinMe was not authenticated or unavailable. |
| 112 | |
| 113 | Keep the response short. The URL is the main deliverable. |