Creates and updates GitHub Actions secrets for PostHog workflows. Use when adding a new CI secret, rotating an existing secret, wiring a workflow to an API token, package registry credential, deploy key, or any value referenced via `${{ secrets.* }}` in `.github/workflows/`.
75
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
PostHog centralizes all GitHub Actions secrets at the organization level and grants individual repositories access to them. Do not add secrets to a single repo, even if the secret is only consumed by one workflow today.
posthog org, not on a repo.gh CLIPipe the secret value into gh secret set with --org posthog. The example
below reads the value from stdin so it never appears in shell history:
# Read from clipboard / a pipe / a file — never inline as an argument
pbpaste | gh secret set POSTHOGOS_PACKAGER_KEY --org posthogCommon variants:
# From a file
gh secret set POSTHOGOS_PACKAGER_KEY --org posthog < secret.txt
# Restrict to selected repositories at creation time
gh secret set POSTHOGOS_PACKAGER_KEY --org posthog \
--visibility selected --repos PostHog/posthog,PostHog/posthog-foss
# Update which repos can access an existing org secret
gh secret set POSTHOGOS_PACKAGER_KEY --org posthog \
--visibility selected --repos PostHog/posthogVerify:
gh secret list --org posthog | grep POSTHOGOS_PACKAGER_KEYPOSTHOGOS_PACKAGER_KEY).gh secret set NAME without --org posthog — that creates a
repo-level secret on whatever repo gh is currently pointed at.Settings → Secrets and variables → Actions on an
individual repo to add a secret. If a repo-level secret already exists for
something that should be org-level, migrate it (create at org, grant to the
repo, then delete the repo-level copy).Default answer: at the org level via gh secret set --org posthog, granted
to the specific repos that need it. Only deviate if the user explicitly
overrides this (e.g. for an environment-scoped secret on a deployment
environment, which is a different mechanism).
6fca5f8
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.