github-expert
Complete GitHub expertise covering GitHub Actions, CI/CD workflows, automation, repository management, and best practices. Use when setting up GitHub Actions, creating workflows, managing pull requests, configuring automation (Dependabot, CodeQL), or implementing GitHub best practices. Includes workflow generators, templates, and production-ready configurations.
What this skill does
# GitHub Expert ## Overview Transform into a GitHub expert with comprehensive knowledge of GitHub Actions, CI/CD workflows, repository automation, and development best practices. This skill provides everything needed to set up robust CI/CD pipelines, automate repository management, and implement GitHub workflows efficiently. ## Core Capabilities ### 1. GitHub Actions & CI/CD Workflows Create and manage GitHub Actions workflows for continuous integration and deployment. **Script: `scripts/create_workflow.py`** Generate production-ready workflow files for common scenarios: ```bash # Node.js CI workflow python scripts/create_workflow.py ci --type nodejs-ci # Python CI workflow python scripts/create_workflow.py ci --type python-ci # Docker build and push python scripts/create_workflow.py docker --type docker-build # Automated releases python scripts/create_workflow.py release --type release # Azure deployment python scripts/create_workflow.py deploy-azure --type deploy-azure # Dependabot auto-merge python scripts/create_workflow.py dependabot --type dependabot-auto-merge ``` **Available Templates:** - `nodejs-ci`: Node.js testing and building with multiple versions - `python-ci`: Python testing with multiple Python versions - `docker-build`: Docker build and push to GitHub Container Registry - `release`: Automated release creation with changelog - `deploy-azure`: Deploy to Azure App Service - `dependabot-auto-merge`: Auto-merge Dependabot PRs **When to use:** - Setting up new project CI/CD - Adding automated testing - Implementing deployment automation - Configuring Docker builds - Setting up release automation **Reference: `references/github_actions_guide.md`** Comprehensive guide covering: - Workflow syntax and structure - Common events and triggers - Matrix strategies for multi-platform testing - Caching and optimization - Secrets management - Best practices (pinning actions, minimizing permissions) - Troubleshooting common issues - Advanced patterns (reusable workflows, composite actions) **When to consult:** - Learning GitHub Actions syntax - Debugging workflow issues - Need optimization strategies - Security best practices - Advanced workflow patterns ### 2. Repository Automation Automate repository management with Dependabot and CodeQL. **Assets available:** **`assets/dependabot.yml`** Configure automated dependency updates: - Weekly updates for npm, GitHub Actions - Security updates daily - Auto-labels and commit messages - Grouped updates to reduce PR noise **Usage:** 1. Copy to `.github/dependabot.yml` 2. Customize package ecosystems (npm, pip, docker, etc.) 3. Adjust update schedule 4. Set up auto-merge workflow (optional) **`assets/codeql-analysis.yml`** Automated security scanning: - Scans on push, PR, and scheduled - Multi-language support - Automatic vulnerability detection - Security alerts integration **Usage:** 1. Copy to `.github/workflows/codeql-analysis.yml` 2. Select languages to scan 3. Enable in repository security settings 4. Review security alerts regularly **When to use:** - Keeping dependencies updated - Security scanning - Vulnerability detection - Compliance requirements ### 3. Pull Request Management Standardize pull request process with templates. **`assets/pull_request_template.md`** Comprehensive PR template with: - Description and change type - Related issues linking - Testing checklist - Deployment notes - Review guidelines **Usage:** 1. Copy to `.github/pull_request_template.md` 2. Customize sections for your workflow 3. All new PRs will use this template **Benefits:** - Consistent PR documentation - Ensures testing is done - Links issues automatically - Improves code review process ### 4. Issue Management Create structured issue templates. **`assets/bug_report_template.md`** Bug report template with: - Clear bug description - Reproduction steps - Expected vs actual behavior - Environment information - Screenshots and logs **Usage:** 1. Create `.github/ISSUE_TEMPLATE/` 2. Copy bug_report_template.md there 3. Create additional templates (feature request, etc.) **Benefits:** - Consistent bug reports - Easier triaging - Faster debugging - Better user experience ### 5. Release Automation Generate release notes automatically. **Script: `scripts/generate_release_notes.sh`** Generates formatted release notes from git history: ```bash # Generate notes between tags ./scripts/generate_release_notes.sh v1.0.0 v1.1.0 # Generate notes from last tag to HEAD ./scripts/generate_release_notes.sh # Save to file ./scripts/generate_release_notes.sh > notes.md # Create GitHub release gh release create v1.1.0 --notes-file notes.md ``` **Features:** - Categorizes commits (features, fixes, docs, etc.) - Lists contributors - Shows statistics - Conventional commit support **When to use:** - Creating releases - Publishing changelogs - Documenting version changes - Communicating updates ## Workflow Examples ### Example 1: "Set up CI/CD for my Node.js project" 1. **Generate CI workflow**: ```bash python scripts/create_workflow.py ci --type nodejs-ci ``` 2. **Review generated workflow**: - Check `.github/workflows/ci.yml` - Verify Node.js versions in matrix - Ensure test scripts match package.json 3. **Add deployment** (if needed): ```bash python scripts/create_workflow.py deploy --type deploy-azure ``` 4. **Set up secrets**: ```bash gh secret set AZURE_CREDENTIALS --body "$(az ad sp create-for-rbac --sdk-auth)" ``` 5. **Push and verify**: - Commit workflows - Push to GitHub - Check Actions tab ### Example 2: "Enable automated dependency updates" 1. **Add Dependabot config**: - Copy `assets/dependabot.yml` to `.github/dependabot.yml` - Customize ecosystems and schedule 2. **Set up auto-merge** (optional): ```bash python scripts/create_workflow.py dependabot --type dependabot-auto-merge ``` 3. **Configure branch protection**: - Require status checks - Require review for manual PRs - Allow Dependabot to bypass for minor/patch 4. **Monitor**: - Check Insights → Dependency graph - Review Dependabot PRs - Merge or configure as needed ### Example 3: "Add security scanning" 1. **Enable CodeQL**: - Copy `assets/codeql-analysis.yml` to `.github/workflows/` - Select languages for your project 2. **Enable security features**: - Settings → Security → Code security and analysis - Enable Dependabot alerts - Enable Dependabot security updates - Enable Secret scanning 3. **Review alerts**: - Check Security tab - Review and fix vulnerabilities - Update dependencies ### Example 4: "Standardize PR and issue process" 1. **Add PR template**: ```bash cp assets/pull_request_template.md .github/pull_request_template.md ``` 2. **Add issue templates**: ```bash mkdir -p .github/ISSUE_TEMPLATE cp assets/bug_report_template.md .github/ISSUE_TEMPLATE/ ``` 3. **Configure branch protection**: - Require PR before merging - Require reviews - Require status checks - Enforce linear history (optional) 4. **Test**: - Create new PR - should show template - Create new issue - should show template options ### Example 5: "Create a release with notes" 1. **Generate release notes**: ```bash ./scripts/generate_release_notes.sh v1.0.0 v1.1.0 > notes.md ``` 2. **Review and edit notes**: - Check categorization - Add highlights - Note breaking changes 3. **Create release**: ```bash gh release create v1.1.0 --notes-file notes.md ``` 4. **Or use workflow**: - Push tag: `git tag v1.1.0 && git push --tags` - Workflow creates release automatically ## Best Practices ### GitHub Actions - Pin actions to SHA for security - Use caching to speed up workflows - Minimize permissions (least privilege) - Use concurrency to cancel old runs - Enable debug mode for troubleshooting - Use reusable workflows for common patterns ### Repository Management - Enable bra
Related in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.