An open API service indexing awesome lists of open source software.

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

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