Batch promote open source projects to tech weeklies and communities using GitHub CLI. Automatically generates and submits tailored issue content to multiple newsletters.
Batch promote open source projects to tech weeklies and communities using automated GitHub issue submissions.
This skill automates the process of promoting open source projects to multiple tech newsletters and community weeklies. It handles the entire workflow from gathering project information to generating tailored submissions for each newsletter.
The skill:
1. Searches for relevant tech weeklies that accept project submissions
2. Extracts comprehensive project information from GitHub repositories
3. Generates customized submission content for each weekly newsletter
4. Batch submits to multiple newsletters via GitHub issues or comments
When a user wants to promote an open source project, follow these steps:
1. **Gather Project Information**
- Ask for the GitHub repository URL if not provided
- Use `gh repo view <repo> --json name,description,url,stargazerCount,readme` to fetch:
- Project name and description
- Repository URL
- Star count
- Full README content
- Parse the README to extract key features and usage examples
2. **Load Configuration**
- Read the weeklies configuration from `${CLAUDE_PLUGIN_ROOT}/config/weeklies.json`
- This file contains a list of tech weeklies with their:
- Repository information
- Submission type (issue or comment)
- Title templates
- Language preferences
- Enabled/disabled status
3. **Generate Submissions**
For each enabled weekly in the configuration:
- **Check for Existing Submissions**
- Use `gh issue list` to check if the project has already been submitted
- Skip if a submission already exists
- **Generate Title**
- Use the weekly's `title_template` field
- Replace placeholders with actual project data
- **Generate Body**
- For Chinese weeklies, use this template:
```markdown
## 项目介绍
[{name}]({url}) - {description}
## 核心功能
{features_from_readme}
## 使用示例
{usage_example}
## 链接
- GitHub: {url}
- Stars: {stars}
```
- For English weeklies, use a similar structure in English
- Extract features and usage examples from the README
- Keep the body concise but informative
4. **Submit to Weeklies**
- **For issue-based submissions** (`type: "issue"`):
```bash
gh issue create --repo <weekly_repo> --title "<title>" --body "<body>"
```
- **For comment-based submissions** (`type: "comment"`):
```bash
gh issue comment <issue_number> --repo <weekly_repo> --body "<body>"
```
- Add a 2-3 second delay between submissions to respect rate limits
- Track each submission result (success/failure)
5. **Report Results**
- Summarize successful submissions
- Report any failures with error messages
- Provide direct links to created issues/comments
**Search for New Weeklies** (`/oss-promoter:search`)
**List Configured Weeklies** (`/oss-promoter:list`)
The `weeklies.json` file should have this structure:
```json
{
"weeklies": [
{
"name": "Weekly Name",
"repo": "owner/repo",
"type": "issue|comment",
"issue_number": 123,
"title_template": "Project: {name}",
"language": "zh-CN|en-US",
"enabled": true
}
]
}
```
Set `enabled: false` for weeklies that don't match the project's language, topic, or target audience.
**Promote a Project:**
```
User: /oss-promoter:promote https://github.com/username/awesome-project
```
**Search for New Weeklies:**
```
User: /oss-promoter:search
```
**List Configured Weeklies:**
```
User: /oss-promoter:list
```
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/oss-promoter-e74ihz/raw