CtrlK
BlogDocsLog inGet started
Tessl Logo

agentic-actions-auditor

Audits GitHub Actions workflows for security vulnerabilities in AI agent integrations including Claude Code Action, Gemini CLI, OpenAI Codex, and GitHub AI Inference. Detects attack vectors where attacker-controlled input reaches. AI agents running in CI/CD pipelines.

58

Quality

67%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/agentic-actions-auditor/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

70%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-sequenced, highly actionable audit methodology with excellent error handling and per-vector quick checks, held back by a missing reference bundle (all {baseDir}/references/*.md files cited in Steps 2, 4, and 5 are absent), a stubbed Example section, and some over-explanation in the rationalizations and boilerplate limitations. The workflow itself is the strongest part; the progressive-disclosure architecture is the weakest because it depends entirely on files that are not shipped.

Suggestions

Ship the referenced bundle files (references/foundations.md, vector-a through vector-i files, action-profiles.md, cross-file-resolution.md) or inline the minimal detection heuristics for each vector into the SKILL.md table so Step 4 is executable as delivered.

Replace the one-line 'Example' stub with a short worked example: a sample vulnerable workflow snippet, the captured security context, one detected finding, and its rendered report entry.

Trim the 'Rationalizations to Reject' entries to the quote plus a one-line rebuttal, and cut the generic Limitations boilerplate ('Use this skill only when the task clearly matches...') in favor of the already-specific 'When NOT to Use' section.

DimensionReasoningScore

Conciseness

The body is dominated by efficient, skill-specific tables and imperative instructions, but there is removable fat: the 'Rationalizations to Reject' section spends four paragraphs explaining reasoning ('Wrong because it ignores pull_request_target...'), the 'Example' section is a one-line stub that teaches nothing, and the 'Limitations' section is generic boilerplate. This fits 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than score 4, where only minor instances could be trimmed.

3 / 5

Actionability

Highly concrete throughout: copy-paste 'gh api' commands, exact glob patterns, per-action 'with:' field tables (prompt, sandbox, safety-strategy, allow-users), a vector quick-check table, and report layout templates. It falls short of 5 because the 'Example' section contains only a user-request quote with no worked end-to-end example, and the core detection heuristics are delegated to reference files rather than shown.

4 / 5

Workflow Clarity

Steps 0-5 are explicitly ordered ('Follow these steps in order. Each step builds on the previous one.') with stop conditions ('If no workflow files are found... stop the audit'), a dedicated error-handling section with recovery guidance for 401/404 failures, summary/checkpoint outputs at each stage, and a severity-judgment checklist. This matches 'clear sequence with explicit validation steps; feedback loops for error recovery; checklists'; it is not score 4 because no checkpoints are merely implicit.

5 / 5

Progressive Disclosure

The in-body structure is genuinely good: a methodology overview with well-signaled, one-level-deep references, each with a stated purpose ('for the complete resolution procedures... see cross-file-resolution.md', 'for per-action security field documentation... see action-profiles.md'). However, none of the ~12 referenced files (foundations.md, vector-a through vector-i, action-profiles.md, cross-file-resolution.md) exist in the bundle, so the disclosure structure breaks at runtime and Step 4's 'read the referenced file' instructions cannot be followed. This lands below score 4 ('minor organization gaps') because missing bundle files are not a minor gap, and above score 2 because the SKILL.md-level structure itself is well organized and references are clearly signaled, not buried.

3 / 5

Total

15

/

20

Passed

Description

65%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A distinct, domain-rich description with good natural trigger terms, but it is missing an explicit 'Use when...' clause (capping completeness) and its action coverage is narrower than what the skill actually does. It also contains a mid-sentence break ('...attacker-controlled input reaches. AI agents running in CI/CD pipelines.') that makes the second sentence grammatically incoherent.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when auditing or reviewing GitHub Actions workflows that invoke AI coding agents, or when asked about prompt injection or attacker-controlled input reaching agents in CI/CD.'

Fix the broken sentence boundary so the detection capability reads as one coherent statement: 'Detects attack vectors where attacker-controlled input reaches AI agents running in CI/CD pipelines.'

Broaden the action coverage to match the skill's scope, e.g., mention following cross-file references to composite actions and producing actionable remediation findings.

DimensionReasoningScore

Specificity

The description names the domain precisely ('GitHub Actions workflows', 'AI agent integrations including Claude Code Action, Gemini CLI, OpenAI Codex, and GitHub AI Inference') and gives two concrete actions ('Audits... for security vulnerabilities', 'Detects attack vectors where attacker-controlled input reaches AI agents'), but omits other capabilities like cross-file resolution, reporting, and remediation guidance. It sits at the 'domain and 1-2 concrete actions, not comprehensive' anchor rather than score 4, which requires several distinct specific actions.

3 / 5

Completeness

The 'what' is clear and concrete (audits workflows, detects attack vectors), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the rubric. Not score 4 because 'when' is entirely absent rather than merely imprecise; not score 2 because the 'what' half is strong.

3 / 5

Trigger Term Quality

Strong natural keywords users would say: 'GitHub Actions', 'security vulnerabilities', 'Claude Code Action', 'Gemini CLI', 'OpenAI Codex', 'CI/CD pipelines'. A few natural variations are missing (e.g., 'workflow security', '.github/workflows'), keeping it just below the comprehensive-synonyms anchor of 5 and clearly above the 'some relevant keywords but missing common variations' anchor of 3.

4 / 5

Distinctiveness Conflict Risk

The combination of GitHub Actions auditing with named AI agent integrations (Claude Code Action, Gemini CLI, OpenAI Codex, GitHub AI Inference) carves out a clear niche with distinct triggers and minimal conflict risk against general Actions-security or generic security skills.

5 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
sickn33/agentic-awesome-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.