{"id":50778182,"url":"https://github.com/searayca/claude-skills","last_synced_at":"2026-06-12T01:04:21.690Z","repository":{"id":361481980,"uuid":"1204619526","full_name":"searayca/claude-skills","owner":"searayca","description":"Reusable slash-command skills for Claude Code — document generation, changelogs, post-mortems, copyright headers, and more","archived":false,"fork":false,"pushed_at":"2026-04-21T07:19:37.000Z","size":96,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T22:06:46.353Z","etag":null,"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"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/searayca.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-08T07:07:23.000Z","updated_at":"2026-04-21T07:19:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/searayca/claude-skills","commit_stats":null,"previous_names":["searayca/claude-skills"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/searayca/claude-skills","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/searayca%2Fclaude-skills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/searayca%2Fclaude-skills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/searayca%2Fclaude-skills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/searayca%2Fclaude-skills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/searayca","download_url":"https://codeload.github.com/searayca/claude-skills/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/searayca%2Fclaude-skills/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34224103,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2026-06-12T01:04:20.726Z","updated_at":"2026-06-12T01:04:21.679Z","avatar_url":"https://github.com/searayca.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# claude-skills\n\nA 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.\n\n## Recommended Install Flow\n\n\u003e **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.\n\n### Step 1 — Install Python dependencies\n```bash\npip install python-docx python-pptx\n```\n\n### Step 2 — Copy the tools you need\n```bash\ngit clone https://github.com/YOUR_USERNAME/claude-skills.git ~/claude-skills\ncp ~/claude-skills/tools/convert_md_to_docx.py ~/.claude/tools/   # for /md_to_word\ncp ~/claude-skills/tools/convert_md_to_pptx.py ~/.claude/tools/   # for /md_to_pptx\ncp ~/claude-skills/tools/generate_letter_docx.py ~/.claude/tools/ # for /business_letter\ncp ~/claude-skills/tools/generate_daily_changelog.py ~/.claude/tools/ # for /daily_summary\ncp ~/claude-skills/tools/archive_old_docs.py ~/.claude/tools/     # for /daily_summary\ncp ~/claude-skills/tools/add_copyright_headers.py ~/.claude/tools/ # for /add_copyright\n```\n\n### Step 3 — Install the skills you want\n```bash\ncp -r ~/claude-skills/skills/md_to_word ~/.claude/skills/\ncp -r ~/claude-skills/skills/md_to_pptx ~/.claude/skills/\n# ... add only what you want\n```\n\n### Step 4 — Restart Claude Code\nSkills are loaded at startup. Restart the CLI or IDE extension for them to appear.\n\nSee [INSTALL.md](INSTALL.md) for full details, `project_config.json` setup, and troubleshooting.\n\n---\n\n## Uninstall\n\nEach skill and tool is a self-contained file. To remove anything:\n\n```bash\n# Remove a skill\nrm -rf ~/.claude/skills/md_to_word\n\n# Remove a tool\nrm ~/.claude/tools/convert_md_to_docx.py\n\n# Remove everything from this repo\nrm -rf ~/.claude/skills/md_to_word \\\n       ~/.claude/skills/md_to_pptx \\\n       ~/.claude/skills/business_letter \\\n       ~/.claude/skills/daily_summary \\\n       ~/.claude/skills/add_copyright \\\n       ~/.claude/skills/post_mortem \\\n       ~/.claude/skills/claude-suggestion \\\n       ~/.claude/tools/convert_md_to_docx.py \\\n       ~/.claude/tools/convert_md_to_pptx.py \\\n       ~/.claude/tools/generate_letter_docx.py \\\n       ~/.claude/tools/generate_daily_changelog.py \\\n       ~/.claude/tools/archive_old_docs.py \\\n       ~/.claude/tools/add_copyright_headers.py\n```\n\n\u003e **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.\n\n---\n\n## Skills\n\n### `/md_to_word`\n\n**What it does:** Converts a Markdown file to a professionally formatted Word document.\n\n**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.\n\n**Example:**\n```\n/md_to_word\n```\nClaude converts `MyReport.md` → `MyReport_v1.0_2026-04-07.docx` and opens it in Word.\n\n**Requires:** `~/.claude/tools/convert_md_to_docx.py`, `python-docx`\n\n**Options:**\n\n| Option | What It Does |\n|--------|-------------|\n| `--files FILE [FILE ...]` | Specific Markdown files to convert |\n| `--all` | Convert all `.md` files regardless of modification time |\n| `--author NAME` | Document author name |\n| `--email EMAIL` | Contact email shown in document |\n| `--phone PHONE` | Contact phone shown in document |\n| `--project-name NAME` | Full project name for header |\n| `--short-name NAME` | Short name/abbreviation for header (e.g. `CRM`) |\n| `--company NAME` | Company name on title page |\n| `--prepared-for NAME` | Client/recipient name for \"Prepared for:\" on title page |\n| `--prepared-for-logo PATH` | Path to client logo shown below \"Prepared for:\" |\n| `--date DATE` | Document date (default: file modification date) |\n| `--version VER` | Version string in output filename (default: `v1.0`) |\n| `--logo-path PATH` | Path to logo image |\n| `--logo-position POS` | Logo placement: `top-left`, `top-center`, `top-right` (default), `bottom-*` |\n| `--no-logo` | Omit logo entirely |\n| `--no-cover-page` | Skip title page, start directly with content |\n| `--no-header` | No header on pages |\n| `--no-footer` | No footer on pages |\n| `--first-page-header` | Include header/footer on first page (off by default) |\n| `--watermark TEXT` | Watermark text; use `\\|` for multiline e.g. `\"DRAFT\\|CONFIDENTIAL\"` |\n| `--watermark-rotation DEG` | Rotation in degrees (default: 45) |\n| `--watermark-font-size PT` | Font size in points (default: 72) |\n| `--watermark-font-family NAME` | Font family (default: Calibri) |\n| `--watermark-color COLOR` | Named color or hex e.g. `red`, `#FF0000` (default: silver) |\n| `--watermark-bold` | Bold watermark text |\n| `--watermark-italic` | Italic watermark text |\n| `--watermark-transparency 0-1` | 0.0 = invisible, 1.0 = opaque (default: 0.5) |\n| `--font-size PT` | Body text size in points (default: 11) |\n| `--line-spacing N` | Line spacing multiplier (default: 1.15) |\n| `--border-top` | Add colored bar at top of pages |\n| `--border-bottom` | Add colored bar at bottom of pages |\n| `--border-color HEX` | Border color (default: `#003366`) |\n| `--border-height IN` | Border height in inches (default: 0.5) |\n| `--open` | Open the Word document after conversion |\n| `--output-dir PATH` | Save output to a specific directory |\n\n---\n\n### `/md_to_pptx`\n\n**What it does:** Converts a Markdown file to a PowerPoint presentation.\n\n**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.\n\n**Example:**\n```\n/md_to_pptx\n```\nClaude converts `Slides.md` → `Slides_v1.0_2026-04-07.pptx` and opens it.\n\n**Requires:** `~/.claude/tools/convert_md_to_pptx.py`, `python-pptx`\n\n**Slide format:**\n\n| Markdown | Slide output |\n|----------|-------------|\n| `# Title` | Title slide |\n| `## Heading` | New content slide |\n| `### Subheading` | Subheading on current slide |\n| `- Bullet` | Bullet point (up to 3 indent levels) |\n| Code block | Monospace formatted block |\n| Table | PowerPoint table |\n\n**Options:**\n\n| Option | What It Does |\n|--------|-------------|\n| `--files FILE [FILE ...]` | Markdown files to convert |\n| `--output-dir PATH` | Directory to save the `.pptx` file |\n| `--open` | Open the presentation after creation |\n\n---\n\n### `/business_letter`\n\n**What it does:** Converts a Markdown letter draft to a formatted business letter Word document with sender block, date, recipient, body, and signature.\n\n**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.\n\n**Example:**\n```\n/business_letter\n```\nClaude generates `Letter_to_ACME_v1.0_2026-04-07.docx` from your draft, with your name and contact info in the sender block.\n\n**Requires:** `~/.claude/tools/generate_letter_docx.py`, `python-docx`\n\n**Options:**\n\n| Option | What It Does |\n|--------|-------------|\n| `--files FILE [FILE ...]` | Markdown letter file(s) to convert (required) |\n| `--sender-name NAME` | Sender full name (required) |\n| `--sender-street ADDR` | Sender street address (required) |\n| `--sender-city CITY` | Sender city, state, zip (required) |\n| `--sender-phone PHONE` | Sender phone number (required) |\n| `--sender-email EMAIL` | Sender email address (required) |\n| `--output-dir PATH` | Directory to save the `.docx` file |\n| `--open` | Open the document after conversion |\n\n\u003e Files prefixed with `00_` are rendered as reference sheets without a sender block — useful for cover pages or exhibits.\n\n---\n\n### `/daily_summary`\n\n**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.\n\n**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.\n\n**Example:**\n```\n/daily_summary\n```\nClaude reads `Issues_Active.md`, `CHANGES.md`, and recent git commits, writes a thorough changelog, and delivers `Changelog_2026-04-07_v1.0.docx`.\n\n**Requires:** `~/.claude/tools/generate_daily_changelog.py`, `~/.claude/tools/archive_old_docs.py`, `md_to_word` skill, `python-docx`\n\n**Options (`generate_daily_changelog.py`):**\n\n| Option | What It Does |\n|--------|-------------|\n| `--date YYYY-MM-DD` | Generate changelog for a specific date (default: today) |\n| `--project-dir PATH` | Project directory to analyze (default: current directory) |\n| `--output-dir PATH` | Where to save the data file |\n| `--json` | Output raw data as JSON instead of Markdown |\n\n---\n\n### `/add_copyright`\n\n**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.\n\n**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.\n\n**Automatic setup (add to your `CLAUDE.md`):**\n```markdown\n## File Creation (MANDATORY)\nAll new files must include a standard copyright header and footer:\n# Copyright (c) 2025-2026 \u003cYour Name\u003e/\u003cYour Organization\u003e. All Rights Reserved.\n# Project: [Name] | Filename: [filename]\n```\nOnce added, Claude applies the correct comment style per file type automatically on every new file — no skill invocation needed.\n\n**Bulk backfill example:**\n```\n/add_copyright\n```\nClaude scans the project, identifies files missing headers, and applies them in bulk.\n\n**Requires:** `~/.claude/tools/add_copyright_headers.py`, template files at `~/.claude/tools/templates/copyright/` (included in this repo)\n\n**Options:**\n\n| Option | What It Does |\n|--------|-------------|\n| `--project-dir PATH` | Directory to scan (default: current directory) |\n| `--dry-run` | Preview changes without modifying any files — always a safe first step |\n| `--check` | List files missing headers; exits non-zero if any found — useful in CI |\n| `--type ext` | Only process one file type: `py`, `sql`, `css`, `js`, or `html` |\n| `--include-init` | Also process `__init__.py` files (skipped by default) |\n| `--no-footer` | Add headers only — skip the footer |\n\n---\n\n### `/post_mortem`\n\n**What it does:** Guides Claude through generating a structured post-mortem document after a debugging session or incident.\n\n**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.\n\n**Example:**\n```\n/post_mortem\n```\nClaude 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.\n\n**Requires:** No dependencies — pure prompt engineering.\n\n**Output sections:**\n- Header (date, summary, resolution time)\n- The Problem\n- What Went Wrong (numbered, with code snippets)\n- The Solution (with code)\n- What We Learned\n- What To Do Differently (Before / During / After)\n- Time Cost\n- Key Takeaway\n\n---\n\n### `/claude-suggestion`\n\n**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.\n\n**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.\n\n**Example:**\n```\n/claude-suggestion add a way to collapse long tool output blocks\n```\nClaude 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.\n\n**Requires:** `claude-in-chrome` MCP server (browser automation), GitHub account logged in to Chrome.\n\n---\n\n## project_config.json\n\nSeveral tools auto-read a `project_config.json` in your project root to populate branding in generated documents:\n\n```json\n{\n  \"name\": \"My Project\",\n  \"prefix\": \"MP\",\n  \"description\": \"A short description\",\n  \"version\": \"v1.0\",\n  \"logo\": \"assets/logo.png\"\n}\n```\n\n---\n\n## Requirements\n\n- Python 3.10+\n- `python-docx` — Word document generation (`pip install python-docx`)\n- `python-pptx` — PowerPoint generation (`pip install python-pptx`)\n- `claude-in-chrome` MCP server — required for `/claude-suggestion` only\n\n---\n\n## Contributing\n\nPRs welcome. Keep skills generic — no hardcoded names, paths, emails, or project-specific references. Test with at least one real project before submitting.\n\n## License\n\nReleased under the [MIT License](https://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsearayca%2Fclaude-skills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsearayca%2Fclaude-skills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsearayca%2Fclaude-skills/lists"}