https://github.com/searayca/claude-skills
Reusable slash-command skills for Claude Code — document generation, changelogs, post-mortems, copyright headers, and more
https://github.com/searayca/claude-skills
add-copyright anthropic automation business-letter claude claude-code claude-code-skills claude-suggestion daily-summary llm-tools markdown md-to-pptx md-to-word post-mortem powerpoint productivity slash-commands word-document
Last synced: about 15 hours ago
JSON representation
Reusable slash-command skills for Claude Code — document generation, changelogs, post-mortems, copyright headers, and more
- Host: GitHub
- URL: https://github.com/searayca/claude-skills
- Owner: searayca
- Created: 2026-04-08T07:07:23.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-21T07:19:37.000Z (about 2 months ago)
- Last Synced: 2026-05-30T22:06:46.353Z (13 days ago)
- Topics: add-copyright, anthropic, automation, business-letter, claude, claude-code, claude-code-skills, claude-suggestion, daily-summary, llm-tools, markdown, md-to-pptx, md-to-word, post-mortem, powerpoint, productivity, slash-commands, word-document
- Language: Python
- Size: 93.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# claude-skills
A collection of productive slash-command skills for [Claude Code](https://docs.anthropic.com/en/docs/claude-code/overview) — 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
```bash
pip install python-docx python-pptx
```
### Step 2 — Copy the tools you need
```bash
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
```bash
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](INSTALL.md) for full details, `project_config.json` setup, and troubleshooting.
---
## Uninstall
Each skill and tool is a self-contained file. To remove anything:
```bash
# 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.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 |
---
### `/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.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 |
---
### `/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`):**
```markdown
## File Creation (MANDATORY)
All new files must include a standard copyright header and footer:
# Copyright (c) 2025-2026 /. 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:
```json
{
"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](https://opensource.org/licenses/MIT).