pinme-share — Claude Code skill: publish a share page via PinMe
Turns a report, demo or Claude session summary into a static HTML page, uploads it with PinMe and hands back the link.
npx skills add glitternetwork/pinme --skill pinme-share -a claude-codeWhat pinme-share does
The skill kicks in when a result has to leave your machine: a deployed app link, a conversation summary, a report, a single file. The agent works out what is being shared and builds the page. Usually that is one self-contained index.html at share/<slug>/index.html in the current workspace, with CSS kept inline. JavaScript only goes in when interaction actually earns its place.
Before anything is uploaded, the content gets cleaned: tokens, API keys, .env values, internal URLs and private data come out. Conversation summaries are rewritten rather than pasted raw. Then pinme upload share/<slug> runs and prints the URL. When PinMe returns several addresses, the skill picks in order: DNS domain, PinMe subdomain, short URL, full preview.
Uploading needs authentication — pinme login or pinme set-appkey <AppKey>. Without it nothing gets published, and the skill will say the upload was skipped. Worth checking pinme --version too; a stale binary is a reason to update it through the main pinme skill. Keep .env, .git, node_modules and source trees out of the upload. If the project needs a backend, database, auth or email, the main pinme skill runs first and pinme-share packages the result at the end.
What it helps with
- build a landing page for a deployed app
- turn a Claude session into a readable link
- publish a report or demo as one file
- send a client a project link without hosting a site
- scan an artifact for secrets before it goes public
Example prompts for the agent
- make a share page for my project and upload it with pinme
- summarize this Claude session and publish it
- upload report.html through pinme
How to install pinme-share
1Skills CLI (Vercel)
npx skills add glitternetwork/pinme --skill pinme-share -a claude-code2Manually: put the files in place
~/.claude/skills/pinme-share/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/pinme-share/
1Skills CLI (Vercel)
npx skills add glitternetwork/pinme --skill pinme-share -a codex2Manually: put the files in place
.agents/skills/pinme-share/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add glitternetwork/pinme --skill pinme-share -a cursor2Manually: put the files in place
.cursor/skills/pinme-share/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install glitternetwork/pinme pinme-share2Manually: put the files in place
.github/skills/pinme-share/SKILL.md1Skills CLI (Vercel)
npx skills add glitternetwork/pinme --skill pinme-share -a gemini-cli2Platform CLI
gemini skills install https://github.com/glitternetwork/pinme --path skills/pinme-shareManually: put the files in place
.devin/skills/pinme-share/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add glitternetwork/pinme --skill pinme-share -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about pinme-share
How do I install pinme-share in Claude?
Run npx skills add glitternetwork/pinme --skill pinme-share -a claude-code. The skill file lands at ~/.claude/skills/pinme-share/SKILL.md.
What does pinme-share do?
It builds a static HTML page for a project, report, demo or conversation summary, uploads it with pinme upload and returns the resulting URL.
What do I need before uploading to PinMe?
Authentication, via pinme login or pinme set-appkey <AppKey>. Checking pinme --version first is a good idea, and updating the tool if it is stale.
Source text
SKILL.md · MIT
--- name: pinme-share description: "Use 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 should end with `pinme upload`." --- # 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.
© glitternetwork · MIT · glitternetwork/pinme