CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

composite-actions

Generate, review, secure, and test composite GitHub Actions following best practices — full repo scaffold, interview-driven generation, PR creation on existing repos, SHA pinning, secrets-as-inputs, job summaries, and actionlint validation.

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/platform-skills/skills/composite-actions/SKILL.md

The canonical home for this skill is composite-actions in nitinjain999/platform-skills

SKILL.md
Quality
Evals
Security

Quality

Content

61%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.

An unusually actionable skill — every mode ships executable commands, templates, and safe/unsafe examples — but its structure works against it: the referenced reference and example files do not exist in the bundle, large reference material is inlined, and the batch/destructive modes (migrate, secure) lack post-change validation loops. Fixing the broken pointers and adding validation steps would raise both structure dimensions.

Suggestions

Ship the referenced bundle — create references/composite-actions.md and the examples/github-actions/composite-actions/ directories (or remove the dead pointers), and move the README template, dependabot.yml, and Feather icon/color lists into a reference file so SKILL.md is a true overview.

Add validation feedback loops to the batch/destructive modes: after migrate rewrites caller workflows, run actionlint/yq on them before committing; after secure patches action.yml, re-run the yq composite checks and report failures for retry.

De-duplicate cross-mode requirements (shell: bash, SHA pinning, env: isolation of secrets, masking) into one shared checklist section referenced by each mode instead of restating them in generate, review, and secure.

DimensionReasoningScore

Conciseness

The body is directive rather than explanatory — no space is spent teaching what GitHub Actions or composite actions are — but it could be tightened: the ~70-line README template, the full dependabot.yml, the 40+-item Feather icon list, and the long zizmor paragraph are reference material inlined into SKILL.md, and requirements like 'shell: bash on every run step' and SHA pinning recur across multiple modes. This fits 'mostly efficient but... could be tightened' rather than the minor-trimming 4 anchor.

3 / 5

Actionability

Fully executable throughout: exact gh/git/act commands ('gh api repos/{owner}/{repo}/git/refs/tags/{tag}', 'gh pr create --title ... --body ...'), complete YAML templates for dependabot and the README, and a concrete safe-vs-unsafe input-injection pair with ❌/✅ annotations. Copy-paste-ready commands cover the common cases once placeholders are filled, matching the 5 anchor.

5 / 5

Workflow Clarity

Sequences are clear and user-confirmations exist (interview Steps 4 and 9, publish prerequisite checklist, PR test-plan checklist), but the rubric's batch/destructive cap applies: the migrate mode rewrites callers across many workflow files and the secure mode edits action.yml in place with no post-change validation or feedback loop (e.g., no 'run yq/actionlint on the rewritten workflows' step), capping workflow clarity at 3 despite otherwise strong sequencing.

3 / 5

Progressive Disclosure

The body points to 'Full documentation: references/composite-actions.md' and eight 'examples/github-actions/composite-actions/...' paths, but no references/, scripts/, assets/, or examples/ directories exist in the bundle — the signposted detail files are dead pointers. Content that clearly belongs in separate files (README template, Marketplace icon/color lists) is inlined into a ~575-line monolith, matching the 'content that clearly belongs in separate files is inlined' anchor; it is above 1 only because mode-based section structure is present.

2 / 5

Total

13

/

20

Passed

Description

66%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 specific, well-scoped description that names its domain and enumerates concrete capabilities, but it omits two of the six modes documented in the body and contains no explicit 'Use when' trigger guidance. Adding a when-to-use clause and the migrate/publish/marketplace terms would round it out.

Suggestions

Add an explicit trigger clause, e.g. 'Use when creating or auditing composite actions, action.yml files, or when the user mentions GitHub Actions reuse, Marketplace publishing, or migrating duplicate workflow steps.'

Mention the migrate and publish/Marketplace capabilities (or the literal file name 'action.yml') so the description matches the body's scope and gains a file-extension trigger term.

DimensionReasoningScore

Specificity

The description lists several concrete capabilities — 'Generate, review, secure, and test composite GitHub Actions', 'full repo scaffold, interview-driven generation, PR creation on existing repos, SHA pinning, secrets-as-inputs, job summaries' — matching the 'lists several specific actions; minor gaps' anchor. It is not a 5 because the body exposes two additional prominent modes ('migrate', 'publish'/'Marketplace') that the description omits, so coverage is not comprehensive.

4 / 5

Completeness

The 'what' is clearly and concretely stated, but there is no 'Use when...' clause or any equivalent explicit trigger guidance ('following best practices' is not a when-condition), which caps completeness at 3 per the judging guidelines. Not a 2 because the 'what' is specific rather than vague.

3 / 5

Trigger Term Quality

Good natural keyword coverage: 'composite GitHub Actions', 'generate', 'review', 'secure', 'test', 'SHA pinning', 'secrets-as-inputs' — terms a user would plausibly say. It falls short of the 5 anchor because synonyms and file extensions are missing (no 'action.yml', '.yml', 'audit', 'harden', 'Marketplace', 'migrate').

4 / 5

Distinctiveness Conflict Risk

'composite GitHub Actions' carves out a clear niche unlikely to fire on unrelated skills, fitting 'mostly distinct; minor overlap risk'. It is not a 5 because the generic workflow-security phrases ('SHA pinning', 'actionlint validation', 'review... following best practices') overlap with a general GitHub Actions security/lint skill (the body itself references a separate zizmor skill).

4 / 5

Total

15

/

20

Passed

Validation

75%

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

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (575 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 1 missing

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

12

/

16

Passed

Repository

nitinjain999/platform-skills

Path

plugins/platform-skills/skills/composite-actions/SKILL.md

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.