with one click
claude-thread-publisher
// Publish Claude Code conversation threads as static HTML pages hosted on GitHub Gists, with shareable gistpreview links. Use when the user asks to share, publish, or delete a Claude Code thread.
// Publish Claude Code conversation threads as static HTML pages hosted on GitHub Gists, with shareable gistpreview links. Use when the user asks to share, publish, or delete a Claude Code thread.
Publish Claude Code conversation threads as static HTML pages hosted on GitHub Gists, with shareable gistpreview links. Use when the user asks to share, publish, or delete a Claude Code thread.
Run diagnostic git commands to assess a codebase's health before reading any code. Use this skill whenever the user asks you to understand a new codebase, audit a repo, assess technical debt, find risky code, check project health, figure out where to start reading, identify bus factor risks, or explore an unfamiliar repository. Also use it when the user asks 'what's going on in this repo', 'where are the problem areas', 'give me a health check', or 'what should I look at first'. If the user wants to understand a codebase at a strategic level before diving into code, this is the skill to use.
Create new Agent Skills interactively or from templates. Use when user wants to create, generate, scaffold, or build a new skill, or mentions creating skills, writing skills, skill templates, skill development.
Generate Builder Methods hand-drawn line art illustrations (icons, scenes, periphery) with a single accent color (Coral/Teal/Indigo/Amber). Use for blog headers, thumbnails, course graphics, social posts, and on-brand UI/tech metaphors.
Assistant for creating, editing, and debugging reactive Python notebooks with marimo. Use when you need to build marimo notebooks, debug reactive execution, add interactive UI elements, or convert traditional notebooks to marimo format. Provides code patterns, utility functions, and best practices for marimo development.
AI-Powered Security Testing Toolkit - Professional penetration testing scripts for discovering vulnerabilities, analyzing application structure, and generating context-aware security tests. All scripts return structured JSON for agent consumption.
| name | claude-thread-publisher |
| description | Publish Claude Code conversation threads as static HTML pages hosted on GitHub Gists, with shareable gistpreview links. Use when the user asks to share, publish, or delete a Claude Code thread. |
| allowed-tools | ["Read","Write","Edit","Bash(python:*)"] |
Publish Claude Code conversation threads as beautiful static HTML pages hosted on GitHub Gists, with shareable permalinks via gistpreview.github.io.
Use this skill when the user asks to:
When the user wants to publish the current thread:
Check for GitHub Token:
~/.claude/thread-publisher/config.jsongist scopeLocate Current Session:
session_locator.py to find the current Claude Code session JSONL fileGenerate Content:
render_thread.py to convert JSONL to:
index.html)thread.json)metadata.json)Publish to Gist:
publish_to_gist.py to create/update GitHub Gist with the three filesProvide Result:
https://gistpreview.github.io/?abcdef1234...)When the user wants to delete a published thread:
Locate Current Thread:
session_locator.py + render_thread.py to compute the current thread's hash~/.claude/thread-publisher/index.json)Verify and Delete:
delete_gist.py to delete the corresponding GitHub GistHandle Missing Threads:
When the user wants to update an existing published thread:
Detect Changes:
Update Strategy:
Provide Updated Link:
python scripts/session_locator.py --mode current
Returns JSON with session file path and project information.
python scripts/render_thread.py \
--input /path/to/session.jsonl \
--output-html /tmp/thread.html \
--output-json /tmp/thread.json \
--metadata /tmp/metadata.json \
--project-path /current/project \
--session-file /path/to/session.jsonl
python scripts/publish_to_gist.py \
--html /tmp/thread.html \
--thread-json /tmp/thread.json \
--metadata /tmp/metadata.json \
--project-path /current/project \
--session-file /path/to/session.jsonl
python scripts/delete_gist.py \
--thread-hash <hash> # or --session-file /path/to/session.jsonl
gist scope onlyclaude-thread-publisher/
├── SKILL.md # This file
├── examples.md # Example prompts
├── scripts/
│ ├── session_locator.py # Find current Claude Code session
│ ├── render_thread.py # Convert JSONL to HTML/JSON
│ ├── publish_to_gist.py # Create/update GitHub Gists
│ └── delete_gist.py # Delete Gists and manage cleanup
└── templates/ # (reserved for future HTML templates)
The skill stores configuration in ~/.claude/thread-publisher/:
config.json: GitHub token and preferencesindex.json: Mapping of thread hashes to Gist IDs{
"github_token": "ghp_xxxxxxxxxxxxxxxxxxxx",
"gists_private_by_default": true
}
{
"threads": {
"a1b2c3d4e5f6...": {
"gist_id": "abcdef1234567890...",
"gist_url": "https://gist.github.com/abcdef1234567890...",
"last_published_at": "2024-01-01T12:00:00Z",
"project_path": "/home/user/my-project",
"session_file": "/home/user/.claude/projects/abc/sessions/def.jsonl",
"title": "Implement user authentication feature"
}
}
}
gist scope (minimal permission)"No session file found"
~/.claude/projects/ exists and contains relevant project"GitHub token required"
gist scope"Gist creation failed"
"Thread hash mismatch"
"Publish this Claude Code conversation as a shareable link."
"Update the published link for this thread with the new messages."
"Delete the public link you created for this conversation."
"Show me all the threads I've published."
requests library for HTTP requestsjson, pathlib, datetime, argparse, hashlib