Skip to main content

github-workflow-automation

Automates GitHub workflows using AI for PR reviews, issue triage, and CI/CD integration, enhancing development efficiency.

Install this skill

or
0/100

Security score

The github-workflow-automation skill was audited on Feb 28, 2026 and we found 33 security issues across 2 threat categories, including 6 critical. Review the findings below before installing.

Categories Tested

Security Issues

critical line 562

Direct command execution function call

SourceSKILL.md
562const commitInfo = await exec(`git show ${commitHash} --stat`);
critical line 565

Direct command execution function call

SourceSKILL.md
565const targetDiff = await exec(
critical line 583

Direct command execution function call

SourceSKILL.md
583await exec(
critical line 586

Direct command execution function call

SourceSKILL.md
586const result = await exec(`git cherry-pick ${commitHash}`, {
critical line 599

Direct command execution function call

SourceSKILL.md
599await exec(`git checkout ${targetBranch}`);
critical line 600

Direct command execution function call

SourceSKILL.md
600await exec(`git cherry-pick ${commitHash}`);
medium line 29

Template literal with variable interpolation in command context

SourceSKILL.md
29```yaml
medium line 77

Template literal with variable interpolation in command context

SourceSKILL.md
77content: `Review this PR diff and provide feedback:
medium line 90

Template literal with variable interpolation in command context

SourceSKILL.md
90Format as GitHub markdown.`
medium line 150

Template literal with variable interpolation in command context

SourceSKILL.md
150```yaml
high line 215

Template literal with variable interpolation in command context

SourceSKILL.md
215labels.push(`area: ${analysis.area}`);
medium line 311

Template literal with variable interpolation in command context

SourceSKILL.md
311```yaml
high line 412

Template literal with variable interpolation in command context

SourceSKILL.md
412const prompt = `
high line 424

Template literal with variable interpolation in command context

SourceSKILL.md
424`;
medium line 450

Template literal with variable interpolation in command context

SourceSKILL.md
450```yaml
high line 493

Template literal with variable interpolation in command context

SourceSKILL.md
493"text": "*Rollback executed*\n• Version: `${{ steps.stable.outputs.version }}`\n• Reason: ${{ inputs.reason }}\n• Triggered by: ${{ github.actor }}"
medium line 506

Template literal with variable interpolation in command context

SourceSKILL.md
506```yaml
high line 562

Template literal with variable interpolation in command context

SourceSKILL.md
562const commitInfo = await exec(`git show ${commitHash} --stat`);
high line 566

Template literal with variable interpolation in command context

SourceSKILL.md
566`git diff ${targetBranch}...HEAD -- ${affectedFiles}`
high line 570

Template literal with variable interpolation in command context

SourceSKILL.md
570const analysis = await ai.analyze(`
high line 584

Template literal with variable interpolation in command context

SourceSKILL.md
584`git checkout -b cherry-pick-${commitHash.slice(0, 7)} ${targetBranch}`
high line 586

Template literal with variable interpolation in command context

SourceSKILL.md
586const result = await exec(`git cherry-pick ${commitHash}`, {
high line 599

Template literal with variable interpolation in command context

SourceSKILL.md
599await exec(`git checkout ${targetBranch}`);
high line 600

Template literal with variable interpolation in command context

SourceSKILL.md
600await exec(`git cherry-pick ${commitHash}`);
high line 643

Template literal with variable interpolation in command context

SourceSKILL.md
643const branches = `${{ steps.stale.outputs.branches }}`.split('\n').filter(Boolean);
high line 645

Template literal with variable interpolation in command context

SourceSKILL.md
645const body = `## 🧹 Stale Branch Cleanup
medium line 672

Template literal with variable interpolation in command context

SourceSKILL.md
672```yaml
high line 715

Template literal with variable interpolation in command context

SourceSKILL.md
715const response = await ai.chat(`
high line 721

Template literal with variable interpolation in command context

SourceSKILL.md
721`);
low line 70

Access to .env file

SourceSKILL.md
70const client = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY });
medium line 415

Access to .env file

SourceSKILL.md
415${process.env.CHANGES}
medium line 716

Access to .env file

SourceSKILL.md
716Context: ${process.env.CONTEXT}
medium line 718

Access to .env file

SourceSKILL.md
718Question: ${process.env.QUESTION}
Scanned on Feb 28, 2026
View Security Dashboard
Installation guide →