{"id":"github-project-contributor-finder-api-skill","name":"github-project-contributor-finder-api-skill","summary":"このスキルは、キーワード、スター、更新日を使ってGitHubリポジトリのプロジェクト詳細や貢献者の連絡先情報を抽出するのに役立ちます。","body":"# GitHub Project & Contributor Finder API Skill\n\n## 📖 Brief\nThis skill utilizes BrowserAct's GitHub Project & Contributor Finder API to extract project details and contributor contact information from GitHub. Simply provide keywords, minimum stars, and an update date filter — BrowserAct traverses the search results, extracts repository metrics, and fetches detailed contributor profiles, returning it all directly via API without building crawler scripts or dealing with rate limits.\n\n## ✨ Features\n1. **No Hallucinations**: Pre-set workflows avoid AI generative hallucinations, ensuring stable and precise data extraction.\n2. **No Captcha Issues**: No need to handle reCAPTCHA or other verification challenges.\n3. **No IP Restrictions**: No need to handle regional IP restrictions or geofencing.\n4. **Faster Execution**: Tasks execute faster compared to pure AI-driven browser automation solutions.\n5. **Cost-Effective**: Significantly lowers data acquisition costs compared to high-token-consuming AI solutions.\n\n## 🔑 API Key Setup\nBefore running, check the `BROWSERACT_API_KEY` environment variable. If not set, do not take other measures; ask and wait for the user to provide it.\n**Agent must inform the user**:\n> \"Since you haven't configured the BrowserAct API Key yet, please visit the [BrowserAct Console](https://www.browseract.com/reception/integrations) to get your Key.\"\n\n## 🛠️ Input Parameters\nThe agent should flexibly configure the following parameters based on user requirements:\n\n1. **KeyWords**\n   - **Type**: `string`\n   - **Description**: Keywords for searching repositories.\n   - **Example**: `browser automation`, `react framework`, `machine learning`\n   - **Default**: `browser automation`\n\n2. **stars**\n   - **Type**: `number`\n   - **Description**: Minimum number of stars the repository should have.\n   - **Example**: `100`, `1000`\n   - **Default**: `100`\n\n3. **updated**\n   - **Type**: `string`\n   - **Description**: Filter repositories by the date they were last updated (format: `YYYY-MM-DD`).\n   - **Example**: `2026-01-01`, `2025-06-01`\n   - **Default**: `2026-01-01`\n\n4. **Page_Turns**\n   - **Type**: `number`\n   - **Description**: Number of search result pages to paginate through. For example, if there are 39 pages and you want the first 2, input `2`.\n   - **Example**: `1`, `2`\n   - **Default**: `1`\n\n5. **date_limit_per_page**\n   - **Type**: `number`\n   - **Description**: Number of data items to extract per page in the search results list.\n   - **Example**: `5`, `10`\n   - **Default**: `5`\n\n## 🚀 Invocation Method\nAgent should execute the following command to invoke the skill:\n\n```bash\n# Example invocation (all parameters)\npython -u ./scripts/github_project_contributor_finder_api.py \"browser automation\" 100 \"2026-01-01\" 1 5\n\n# Minimal invocation (only keywords, others use defaults)\npython -u ./scripts/github_project_contributor_finder_api.py \"react framework\"\n```\n\n### ⏳ Execution Monitoring\nSince this task involves automated browser operations, it may take several minutes. The script outputs **timestamped status logs** continuously (e.g., `[14:30:05] Task Status: running`).\n**Agent guidelines**:\n- Monitor the terminal output while waiting.\n- As long as new status logs appear, the task is running normally; do not misjudge it as frozen.\n- Only consider triggering retry if the status remains unchanged for a long time or output stops without a final result.\n\n## 📊 Data Output\nUpon successful execution, the script parses and prints the structured results from the API response.\n\n**Project Fields**:\n- `repository_name`: The name of the GitHub repository.\n- `repository_url`: The URL link to the repository.\n- `repository_owner_name`: The owner/creator of the repository.\n- `repository_description`: A brief description of the repository.\n- `star_count`: The number of stars the repository has received.\n\n**Contributor Fields**:\n- `user_name`: The GitHub username of the contributor.\n- `profile_url`: The URL link to the contributor's profile.\n- `bio`: The bio or short description of the contributor.\n- `repositories_summary`: A summary of other repositories owned by the contributor.\n- `personal_website`: The contributor's personal website link.\n- `twitter`: The contributor's Twitter handle.\n\n## ⚠️ Error Handling & Retry\nIf an error occurs during script execution (e.g., network fluctuations or task failure), the Agent should follow this logic:\n\n1. **Check Output Content**:\n   - If the output **contains** `\"Invalid authorization\"`, it means the API Key is invalid or expired. **Do not retry**; guide the user to re-check and provide the correct API Key.\n   - If the output **contains** `\"concurrent\"` or `\"too many running tasks\"`, it means the concurrent task limit has been reached. **Do not retry**; guide the user to upgrade their plan.\n     **Agent must inform the user**:\n     > \"The current task cannot be executed because your BrowserAct account has reached the concurrent task limit. Please visit the [BrowserAct Plan Upgrade Page](https://www.browseract.com/reception/recharge) to upgrade your plan.\"\n   - If the output **does not contain the above error keywords** but the task failed (e.g., output starts with `Error:` or returns empty results), the Agent should **automatically re-execute the script once**.\n\n2. **Retry Limit**:\n   - Automatic retry is limited to **one time**. If the second attempt fails, stop retrying and report the specific error to the user.\n\n## 🌟 Typical Use Cases\n1. **Tech Recruiting**: Gather contributor profiles and social links from popular repositories to build candidate pipelines.\n2. **Open-Source Discovery**: Search for trending repositories by keywords and star count to find valuable projects.\n3. **Developer Outreach**: Collect personal websites and Twitter handles of active contributors for developer tool marketing.\n4. **Community Building**: Identify and connect with active open-source contributors in specific domains.\n5. **Competitor Analysis**: Monitor which developers contribute to competing projects.\n6. **Partnership Scouting**: Find repository owners for potential collaboration or sponsorship.\n7. **Market Research**: Analyze repository metrics and descriptions to understand technology trends.\n8. **Lead Generation**: Generate targeted leads for developer tools by finding projects with relevant tech stacks.\n9. **Academic Research**: Discover recently updated repositories in specific research areas.\n10. **Talent Mapping**: Build a database of skilled developers based on their GitHub contributions and profiles.","author":"@browser-act","ownerProfile":null,"authorContacts":null,"sourceUrl":"https://github.com/browser-act/skills/tree/main/solutions/lead-generation/github-project-contributor-finder-api-skill","license":"MIT","category":null,"lang":"en","tokens":1464,"stars":0,"calls30d":1,"claimed":false,"visibility":"public","origin":"crawler","version":"0.1.0","createdAt":"2026-08-22","updatedAt":"2026-08-22","files":[{"path":"scripts/github_project_contributor_finder_api.py","size":5128,"sha256":"6be8ef1ca78820a2608251a238b618257514f3e61aec142fe1bc58a8704b0f01"}],"requires":{"mcp":[],"tools":[]},"safety":{"flags":[{"code":"net.endpoints","kind":"exfiltration","excerpt":"api.browseract.com, www.browseract.com","message":"bundled scripts reach 2 external host(s)","severity":"warn"}],"scannedAt":"2026-08-22","hasScripts":true,"networkEndpoints":["api.browseract.com","www.browseract.com"]}}