diff --git a/.claude/hooks/session-start.sh b/.claude/hooks/session-start.sh new file mode 100755 index 00000000..73bdd093 --- /dev/null +++ b/.claude/hooks/session-start.sh @@ -0,0 +1,30 @@ +#!/bin/bash +set -euo pipefail + +# Only run in remote (Claude Code on the web) environments +if [ "${CLAUDE_CODE_REMOTE:-}" != "true" ]; then + exit 0 +fi + +# Install Python packages used across skills +pip install --quiet \ + cffi \ + openpyxl \ + pypdf \ + defusedxml \ + lxml \ + python-pptx \ + Pillow \ + six \ + pdf2image \ + imageio \ + imageio-ffmpeg \ + numpy \ + playwright \ + pytest + +# Install Playwright browser for webapp-testing skill +playwright install --with-deps chromium + +# Install Node.js deps for MCP builder skill +pip install --quiet anthropic mcp diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 00000000..00a91d04 --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,38 @@ +{ + "permissions": { + "allow": [ + "Bash(git status)", + "Bash(git log*)", + "Bash(git diff*)", + "Bash(git branch*)", + "Bash(git checkout*)", + "Bash(git add*)", + "Bash(git commit*)", + "Bash(git push*)", + "Bash(git fetch*)", + "Bash(git pull*)", + "Bash(ls*)", + "Bash(pwd)", + "Bash(node --version)", + "Bash(npm --version)", + "Bash(python3 --version)", + "Bash(pip install*)", + "Bash(python3 -m pytest*)", + "Bash(python3 -m py_compile*)", + "Bash(playwright install*)" + ], + "deny": [] + }, + "hooks": { + "SessionStart": [ + { + "hooks": [ + { + "type": "command", + "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/session-start.sh" + } + ] + } + ] + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..5cf3410f --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +__pycache__/ +*.pyc +.pytest_cache/ +.ruff_cache/ diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..3d62d24a --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,49 @@ +# CLAUDE.md - Project Instructions for Claude Code + +## Project Overview + +This is the **awesome-claude-skills** repository — a curated collection of practical Claude Skills for enhancing productivity across Claude.ai, Claude Code, and the Claude API. It is maintained by ComposioHQ. + +## Repository Structure + +``` +awesome-claude-skills/ +├── .claude-plugin/ # Marketplace plugin metadata +│ └── marketplace.json # Plugin registry with all skill entries +├── connect-apps-plugin/ # Plugin for connecting Claude to 500+ apps via Composio +├── / # Individual skill directories +│ └── SKILL.md # Skill definition and documentation +├── CONTRIBUTING.md # Contribution guidelines +└── README.md # Main project README with skill catalog +``` + +## Skill Categories + +- **Business & Marketing** — lead generation, competitive research, branding +- **Communication & Writing** — content creation, meeting analysis, comms +- **Creative & Media** — design, images, video, GIFs, themes +- **Development** — artifacts, changelogs, MCP servers, testing +- **Productivity & Organization** — file management, documents, invoices + +## Contributing a New Skill + +1. Create a new directory: `skill-name/` (lowercase, hyphenated) +2. Add a `SKILL.md` file following the template in `CONTRIBUTING.md` +3. Register the skill in `.claude-plugin/marketplace.json` +4. Add the skill entry to `README.md` in the appropriate category (alphabetical order) +5. No emojis in README entries; follow existing format exactly + +## Key Files to Know + +- `README.md` — The main catalog listing all skills with descriptions and links +- `CONTRIBUTING.md` — Full guide on how to add new skills +- `.claude-plugin/marketplace.json` — Machine-readable registry of all plugins +- `template-skill/` — Reference template for creating new skills + +## Conventions + +- Skill directories use lowercase with hyphens (e.g., `lead-research-assistant`) +- Every skill must have a `SKILL.md` as its entry point +- Skills should solve real problems, not hypothetical ones +- Include practical examples and real-world use cases +- Always attribute original sources with "Inspired by:" or "Credit:"