OSS Promoter
Batch promote open source projects to tech weeklies and communities with automated, tailored submissions.
What This Skill Does
This skill automates the process of promoting open source projects to multiple tech weekly newsletters and community platforms. It searches for relevant weeklies, extracts project information from GitHub, generates customized submission content, and batch submits to configured channels.
Step-by-Step Instructions
1. Gather Project Information
When the user requests promotion of an open source project:
If no GitHub repo URL is provided, ask the user for itUse `gh repo view <repo> --json name,description,url,stargazerCount,readme` to extract comprehensive project detailsParse the README to identify core features, usage examples, and key highlights2. Load Weeklies Configuration
Read the weeklies configuration from `${CLAUDE_PLUGIN_ROOT}/config/weeklies.json`Filter for enabled weeklies only (`enabled: true`)Check each weekly's submission type (issue creation vs. comment on existing issue)3. Generate Tailored Submissions
For each enabled weekly:
Use the weekly's `title_template` to generate an appropriate titleGenerate submission body using the project information gathered in step 1For Chinese weeklies, use this template:```markdown
项目介绍
[{name}]({url}) - {description}
核心功能
{features_from_readme}
使用示例
{usage_example}
链接
GitHub: {url}Stars: {stars}```
For English weeklies, adapt the template to use English section headings4. Check for Existing Submissions
Before creating new issues:
Use `gh issue list --repo <weekly_repo> --search "<project-name>" --json number,title` to check if the project was already submittedSkip submission if a matching issue exists5. Batch Submit to Weeklies
For each weekly with no existing submission:
If `type` is "issue": execute `gh issue create --repo <weekly_repo> --title "<title>" --body "<body>"`If `type` is "comment": execute `gh issue comment <issue_number> --repo <weekly_repo> --body "<body>"`Add a 2-3 second delay between submissions to respect rate limitsLog each submission result (success/failure with error message)6. Report Results
Provide a summary report including:
Total weeklies attemptedSuccessful submissions (with issue URLs)Skipped submissions (already exists)Failed submissions (with error reasons)Commands
`/oss-promoter:promote <repo-url>` - Promote a project to all enabled weeklies`/oss-promoter:search` - Search for new tech weeklies to add to the configuration`/oss-promoter:list` - List all configured weeklies and their enabled statusUsage Examples
**Promote a project:**
```
/oss-promoter:promote https://github.com/user/awesome-project
```
**Search for new weeklies:**
```
/oss-promoter:search
```
**List configured weeklies:**
```
/oss-promoter:list
```
Important Constraints
**Check for duplicates**: Always verify that an issue doesn't already exist before creating a new submission**Rate limiting**: Add 2-3 second delays between submissions to avoid hitting GitHub API rate limits**Format compliance**: Some weeklies require specific submission formats - check their README or contribution guidelines first**Language/topic matching**: Disable weeklies in the config that don't match the project's language or topic area**Authentication**: Ensure `gh` CLI is authenticated before attempting submissionsTools Used
**WebSearch**: Discover new tech weeklies and submission channels**Bash with gh CLI**: Extract repository information and create issues/comments**Read**: Load and parse weeklies configuration file