CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

authoring-ci-workflows

Use when adding or editing a GitHub Actions workflow, composite action, or reusable workflow under `.github/` — new CI jobs, triggers, matrices, checkout/clone tuning, action pinning, GitHub App token auth, concurrency groups, `timeout-minutes`, `paths` filters, caching, or runner choice. Covers PostHog's workflow-authoring conventions and the reasons behind them: the 500-runs/10s dispatch cap, shallow vs full clone, per-SHA push concurrency, dedicated App-token rate-limit buckets, and fork-safe secrets on a public repo. Points to the linters (`bin/hogli lint:workflows`, actionlint) that enforce the mechanical rules, and to the narrower skills for production deploys, secrets, and Depot runners. Not for debugging red CI (use debugging-ci-failures) or wiring a new secret end to end (use managing-github-actions-secrets).

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

—

The risk profile of this skill

SKILL.md
Quality
Evals
Security

Quality

Content

85%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 exceptionally strong conventions body: dense, evidence-backed, and immediately executable, with validation loops woven throughout. Its one real weakness is structural — it is a monolith, with several deep-dive sections that belong in reference files, which also holds its token economy back from a top score.

Suggestions

Move the deepest subsections — 'What GitHub does with each conclusion', the failure-rate-metric/warehouse passage under 'Required-check gates', the checkout duration table, and the Depot consumers list under 'The hourly master lane' — into references/ files (e.g. references/check-run-semantics.md, references/ci-health-metrics.md), leaving the rule, a one-line rationale, and a well-signaled link in SKILL.md.

Split the gate-orchestration rules ('Four rules for the gate body' and the OR-on/never-AND rules) into a references/gates.md and keep only the `!cancelled()` condition table and the fail-closed verdict rules inline, so a routine concurrency or caching question does not load the entire gates treatment.

Tighten the restated draft/ready rules in 'Draft vs ready-for-review' — the 'draft → skip' validity conditions appear twice (paragraph three and the bolded rule) — and compress evidence narratives to one line plus the run link.

DimensionReasoningScore

Conciseness

Nearly every sentence carries repo-specific, non-derivable detail ("45k tracked files and 4.6 GiB of packed objects", "500 runs per 10s per repo", WF rule IDs, measured run links) and nothing explains concepts Claude already knows, placing it above the 3 anchor; but it is not the 5 anchor's "every token earns its place" — the ~17-line failure-rate-metric passage ("joins `github_workflow_jobs` to that table on `run_id`, then scopes the job side to a single `run_attempt`") and some restated draft/ready rules exceed what the authoring decision needs.

4 / 5

Actionability

Copy-paste-ready YAML for the common cases (canonical concurrency block, per-SHA group expression, `create-github-app-token` step with `|| github.token` fork fallback, sparse-checkout recipe, `curl -fsSL --retry 5 --retry-all-errors`, the `set -f` argument-splitting fix) plus exact commands (`hogli ci:plan`, `bin/hogli lint:workflows`) and named canonical files to copy from ("`ci-paths-filter.yml` is the smallest complete example") — the 5 anchor, not the 4 anchor, since the placeholders (`@<sha> # v6`) are deliberate templates backed by pointers to real files.

5 / 5

Workflow Clarity

A clear sequence with explicit validation checkpoints and feedback loops: check "things already tried" first, copy a canonical file, then validate with `bin/hogli lint:workflows` and `actionlint` before pushing, check conditions with `hogli ci:plan`, and "update its expectation and run the suite" (`hogli test:workflows`) when a condition changes — closing with a 13-item "New-workflow checklist". Error-recovery paths are stated (linter rejections take `# hogli-lint: allow-* -- <reason>`), matching the 5 anchor's checklists and feedback loops; no destructive/batch cap applies since this is authoring guidance.

5 / 5

Progressive Disclosure

Section structure is clear and the external pointers that exist are one-level-deep and well signaled ("Read its [ordered-image reference](../gating-production-deploys/references/ordered-image-releases.md)", "See [`/depot-ci`](../depot-ci/references/posthog-check-run-semantics.md)"), but the skill ships no references/ files of its own and inlines ~550 lines, including multi-screen deep dives (gate conclusion semantics, the warehouse failure-metric rules, the checkout duration table, the Depot consumers list). That matches the 3 anchor's "content that should be separate is inline" — above the 2 anchor because structure and signaling are good, below the 4 anchor because the inline deep-dives are more than "minor organization gaps".

3 / 5

Total

17

/

20

Passed

Description

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

An exemplary description: trigger-rich, fully scoped, and dense without padding — every sentence is load-bearing (trigger list, what it covers, pointers, and explicit exclusions). Nothing to improve against any dimension.

DimensionReasoningScore

Specificity

It names the domain ("adding or editing a GitHub Actions workflow, composite action, or reusable workflow under `.github/`") and enumerates a comprehensive set of concrete tasks — "new CI jobs, triggers, matrices, checkout/clone tuning, action pinning, GitHub App token auth, concurrency groups, `timeout-minutes`, `paths` filters, caching, or runner choice" — with no gaps inside its stated scope, matching the 5 anchor's "multiple specific concrete actions; comprehensive coverage" rather than the 4 anchor's "minor gaps".

5 / 5

Completeness

Both questions are answered explicitly: what ("Covers PostHog's workflow-authoring conventions and the reasons behind them... Points to the linters (`bin/hogli lint:workflows`, actionlint)") and when ("Use when adding or editing a GitHub Actions workflow... under `.github/`") with concrete trigger phrases, plus negative scope ("Not for debugging red CI (use debugging-ci-failures) or wiring a new secret end to end"). This is the 5 anchor verbatim in structure, clearly above the 4 anchor's "'when' could be more explicit".

5 / 5

Trigger Term Quality

Natural terms a user would actually say are all present — "GitHub Actions workflow", "CI", "composite action", "reusable workflow", "caching", "runner choice", "concurrency", `timeout-minutes`, `paths` filters — including the umbrella synonyms (GitHub Actions / CI) and the path anchor `.github/`, matching the 5 anchor's comprehensive synonym coverage rather than the 4 anchor's "a few natural terms missing".

5 / 5

Distinctiveness Conflict Risk

A clear niche — authoring `.github/` workflows at PostHog — with active disambiguation from siblings ("Not for debugging red CI (use debugging-ci-failures) or wiring a new secret end to end (use managing-github-actions-secrets)"; "Points to... the narrower skills for production deploys, secrets, and Depot runners"), so the wrong-skill trigger risk is minimal, matching the 5 anchor rather than the 4 anchor's "minor overlap risk".

5 / 5

Total

20

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

relative_links

Relative link issues: 5 suspicious

Warning

Total

14

/

16

Passed

Repository

PostHog/posthog

Path

.agents/skills/authoring-ci-workflows/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.