A collection of productive slash-command skills for Claude Code — document generation, changelog automation, project maintenance, and more.
Try before you commit. Install one skill at a time, test it, and only keep what's useful. Everything installs as individual files that are trivial to remove.
pip install python-docx python-pptxgit clone https://github.com/YOUR_USERNAME/claude-skills.git ~/claude-skills
cp ~/claude-skills/tools/convert_md_to_docx.py ~/.claude/tools/ # for /md_to_word
cp ~/claude-skills/tools/convert_md_to_pptx.py ~/.claude/tools/ # for /md_to_pptx
cp ~/claude-skills/tools/generate_letter_docx.py ~/.claude/tools/ # for /business_letter
cp ~/claude-skills/tools/generate_daily_changelog.py ~/.claude/tools/ # for /daily_summary
cp ~/claude-skills/tools/archive_old_docs.py ~/.claude/tools/ # for /daily_summary
cp ~/claude-skills/tools/add_copyright_headers.py ~/.claude/tools/ # for /add_copyrightcp -r ~/claude-skills/skills/md_to_word ~/.claude/skills/
cp -r ~/claude-skills/skills/md_to_pptx ~/.claude/skills/
# ... add only what you wantSkills are loaded at startup. Restart the CLI or IDE extension for them to appear.
See INSTALL.md for full details, project_config.json setup, and troubleshooting.
Each skill and tool is a self-contained file. To remove anything:
# Remove a skill
rm -rf ~/.claude/skills/md_to_word
# Remove a tool
rm ~/.claude/tools/convert_md_to_docx.py
# Remove everything from this repo
rm -rf ~/.claude/skills/md_to_word \
~/.claude/skills/md_to_pptx \
~/.claude/skills/business_letter \
~/.claude/skills/daily_summary \
~/.claude/skills/add_copyright \
~/.claude/skills/post_mortem \
~/.claude/skills/claude-suggestion \
~/.claude/tools/convert_md_to_docx.py \
~/.claude/tools/convert_md_to_pptx.py \
~/.claude/tools/generate_letter_docx.py \
~/.claude/tools/generate_daily_changelog.py \
~/.claude/tools/archive_old_docs.py \
~/.claude/tools/add_copyright_headers.pyNote: Project-scoped skills (
.claude/skills/inside a project) are documented by Anthropic but have several open bugs as of early 2026. Until those are resolved, install into~/.claude/skills/only.
What it does: Converts a Markdown file to a professionally formatted Word document.
Why you'd want it: Writing docs in Markdown but needing to deliver .docx is a constant friction point. This handles cover pages, headers/footers, inline links, watermarks, and colored border bars — no manual formatting.
Example:
/md_to_word
Claude converts MyReport.md → MyReport_v1.0_2026-04-07.docx and opens it in Word.
Requires: ~/.claude/tools/convert_md_to_docx.py, python-docx
Options:
| Option | What It Does |
|---|---|
--files FILE [FILE ...] |
Specific Markdown files to convert |
--all |
Convert all .md files regardless of modification time |
--author NAME |
Document author name |
--email EMAIL |
Contact email shown in document |
--phone PHONE |
Contact phone shown in document |
--project-name NAME |
Full project name for header |
--short-name NAME |
Short name/abbreviation for header (e.g. CRM) |
--company NAME |
Company name on title page |
--prepared-for NAME |
Client/recipient name for "Prepared for:" on title page |
--prepared-for-logo PATH |
Path to client logo shown below "Prepared for:" |
--date DATE |
Document date (default: file modification date) |
--version VER |
Version string in output filename (default: v1.0) |
--logo-path PATH |
Path to logo image |
--logo-position POS |
Logo placement: top-left, top-center, top-right (default), bottom-* |
--no-logo |
Omit logo entirely |
--no-cover-page |
Skip title page, start directly with content |
--no-header |
No header on pages |
--no-footer |
No footer on pages |
--first-page-header |
Include header/footer on first page (off by default) |
--watermark TEXT |
Watermark text; use | for multiline e.g. "DRAFT|CONFIDENTIAL" |
--watermark-rotation DEG |
Rotation in degrees (default: 45) |
--watermark-font-size PT |
Font size in points (default: 72) |
--watermark-font-family NAME |
Font family (default: Calibri) |
--watermark-color COLOR |
Named color or hex e.g. red, #FF0000 (default: silver) |
--watermark-bold |
Bold watermark text |
--watermark-italic |
Italic watermark text |
--watermark-transparency 0-1 |
0.0 = invisible, 1.0 = opaque (default: 0.5) |
--font-size PT |
Body text size in points (default: 11) |
--line-spacing N |
Line spacing multiplier (default: 1.15) |
--border-top |
Add colored bar at top of pages |
--border-bottom |
Add colored bar at bottom of pages |
--border-color HEX |
Border color (default: #003366) |
--border-height IN |
Border height in inches (default: 0.5) |
--open |
Open the Word document after conversion |
--output-dir PATH |
Save output to a specific directory |
What it does: Converts a Markdown file to a PowerPoint presentation.
Why you'd want it: Slides live in Markdown with the rest of your notes — this lets you stay in that workflow and produce a real .pptx without ever opening PowerPoint. Uses # for title slides and ## for content slides.
Example:
/md_to_pptx
Claude converts Slides.md → Slides_v1.0_2026-04-07.pptx and opens it.
Requires: ~/.claude/tools/convert_md_to_pptx.py, python-pptx
Slide format:
| Markdown | Slide output |
|---|---|
# Title |
Title slide |
## Heading |
New content slide |
### Subheading |
Subheading on current slide |
- Bullet |
Bullet point (up to 3 indent levels) |
| Code block | Monospace formatted block |
| Table | PowerPoint table |
Options:
| Option | What It Does |
|---|---|
--files FILE [FILE ...] |
Markdown files to convert |
--output-dir PATH |
Directory to save the .pptx file |
--open |
Open the presentation after creation |
What it does: Converts a Markdown letter draft to a formatted business letter Word document with sender block, date, recipient, body, and signature.
Why you'd want it: Writing a formal letter shouldn't mean fighting Word's auto-formatting. Write the body in Markdown, run the skill, get a clean .docx ready to print or attach.
Example:
/business_letter
Claude generates Letter_to_ACME_v1.0_2026-04-07.docx from your draft, with your name and contact info in the sender block.
Requires: ~/.claude/tools/generate_letter_docx.py, python-docx
Options:
| Option | What It Does |
|---|---|
--files FILE [FILE ...] |
Markdown letter file(s) to convert (required) |
--sender-name NAME |
Sender full name (required) |
--sender-street ADDR |
Sender street address (required) |
--sender-city CITY |
Sender city, state, zip (required) |
--sender-phone PHONE |
Sender phone number (required) |
--sender-email EMAIL |
Sender email address (required) |
--output-dir PATH |
Directory to save the .docx file |
--open |
Open the document after conversion |
Files prefixed with
00_are rendered as reference sheets without a sender block — useful for cover pages or exhibits.
What it does: Generates a comprehensive daily changelog by combining git history, open issues, and the current conversation into a narrative report, then converts it to Word.
Why you'd want it: git log alone tells maybe 50% of the story — it misses the debugging detours, the decisions made, and the issues resolved. This skill produces a full account that's useful for standups, client billing, and personal records.
Example:
/daily_summary
Claude reads Issues_Active.md, CHANGES.md, and recent git commits, writes a thorough changelog, and delivers Changelog_2026-04-07_v1.0.docx.
Requires: ~/.claude/tools/generate_daily_changelog.py, ~/.claude/tools/archive_old_docs.py, md_to_word skill, python-docx
Options (generate_daily_changelog.py):
| Option | What It Does |
|---|---|
--date YYYY-MM-DD |
Generate changelog for a specific date (default: today) |
--project-dir PATH |
Project directory to analyze (default: current directory) |
--output-dir PATH |
Where to save the data file |
--json |
Output raw data as JSON instead of Markdown |
What it does: Two things working together — automatically adds copyright headers to every new file Claude creates, and bulk-adds headers to existing files missing them.
Why you'd want it: Proper copyright headers protect your work and look professional. The automatic-on-creation behavior means you never have to think about it — every file Claude writes gets properly attributed at the moment of creation.
Automatic setup (add to your CLAUDE.md):
## File Creation (MANDATORY)
All new files must include a standard copyright header and footer:
# Copyright (c) 2025-2026 <Your Name>/<Your Organization>. All Rights Reserved.
# Project: [Name] | Filename: [filename]Once added, Claude applies the correct comment style per file type automatically on every new file — no skill invocation needed.
Bulk backfill example:
/add_copyright
Claude scans the project, identifies files missing headers, and applies them in bulk.
Requires: ~/.claude/tools/add_copyright_headers.py, template files at ~/.claude/tools/templates/copyright/ (included in this repo)
Options:
| Option | What It Does |
|---|---|
--project-dir PATH |
Directory to scan (default: current directory) |
--dry-run |
Preview changes without modifying any files — always a safe first step |
--check |
List files missing headers; exits non-zero if any found — useful in CI |
--type ext |
Only process one file type: py, sql, css, js, or html |
--include-init |
Also process __init__.py files (skipped by default) |
--no-footer |
Add headers only — skip the footer |
What it does: Guides Claude through generating a structured post-mortem document after a debugging session or incident.
Why you'd want it: After a hard debugging session, the lessons learned evaporate fast. This skill captures what failed, what worked, the root cause, and the fix — while it's still fresh — in a format you can actually reference later.
Example:
/post_mortem
Claude reviews the conversation and produces a structured post-mortem covering the problem, each failed approach, the solution, lessons learned, and what to do differently next time.
Requires: No dependencies — pure prompt engineering.
Output sections:
- Header (date, summary, resolution time)
- The Problem
- What Went Wrong (numbered, with code snippets)
- The Solution (with code)
- What We Learned
- What To Do Differently (Before / During / After)
- Time Cost
- Key Takeaway
What it does: Searches existing Claude Code GitHub issues for duplicates, then auto-fills a new issue form in Chrome with your suggestion — or fills in a comment on an existing issue if a match is found.
Why you'd want it: Submitting feature requests and bug reports to the Claude Code repo is slow when done manually — find duplicates, copy titles, fill forms. This automates the tedious parts so you review and click Submit.
Example:
/claude-suggestion add a way to collapse long tool output blocks
Claude searches open issues for matches. If a strong duplicate exists, it opens that issue and drafts a comment. If not, it opens the new issue form and fills it in. You review and submit.
Requires: claude-in-chrome MCP server (browser automation), GitHub account logged in to Chrome.
Several tools auto-read a project_config.json in your project root to populate branding in generated documents:
{
"name": "My Project",
"prefix": "MP",
"description": "A short description",
"version": "v1.0",
"logo": "assets/logo.png"
}- Python 3.10+
python-docx— Word document generation (pip install python-docx)python-pptx— PowerPoint generation (pip install python-pptx)claude-in-chromeMCP server — required for/claude-suggestiononly
PRs welcome. Keep skills generic — no hardcoded names, paths, emails, or project-specific references. Test with at least one real project before submitting.
Released under the MIT License.