Skip to content

searayca/claude-skills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

claude-skills

A collection of productive slash-command skills for Claude Code — document generation, changelog automation, project maintenance, and more.

Recommended Install Flow

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.

Step 1 — Install Python dependencies

pip install python-docx python-pptx

Step 2 — Copy the tools you need

git 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_copyright

Step 3 — Install the skills you want

cp -r ~/claude-skills/skills/md_to_word ~/.claude/skills/
cp -r ~/claude-skills/skills/md_to_pptx ~/.claude/skills/
# ... add only what you want

Step 4 — Restart Claude Code

Skills 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.


Uninstall

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.py

Note: 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.


Skills

/md_to_word

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.mdMyReport_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

/md_to_pptx

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.mdSlides_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

/business_letter

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.


/daily_summary

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

/add_copyright

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

/post_mortem

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

/claude-suggestion

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.


project_config.json

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"
}

Requirements

  • Python 3.10+
  • python-docx — Word document generation (pip install python-docx)
  • python-pptx — PowerPoint generation (pip install python-pptx)
  • claude-in-chrome MCP server — required for /claude-suggestion only

Contributing

PRs welcome. Keep skills generic — no hardcoded names, paths, emails, or project-specific references. Test with at least one real project before submitting.

License

Released under the MIT License.

Releases

No releases published

Packages

 
 
 

Contributors

Languages