Agent skill

Cicd

by RussellSB in RussellSB/pytrendy

A skill your agent uses when touching .github/workflows/, release config (.releaserc), mkdocs.yml, docs deploy, or the whats-new generator.

MITAuto-check passedDevelopment

Install Cicd

skills CLI
$ npx skills add RussellSB/pytrendy --skill cicd -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install RussellSB/pytrendy cicd --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/RussellSB/pytrendy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/cicd .claude/skills/cicd && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cicd
GitHub stars
106
Token cost
~1.6k tokens
SKILL.md length
714 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when touching .github/workflows/, release config (.releaserc), mkdocs.yml, docs deploy, or the whats-new generator.

  • Works in 3 steps: test-core job: pytest tests/ -m core. → semantic-release: conventional-commits… → build-and-publish: only if released ==…
  • Touching .github/workflows/
  • SKILL.md covers Workflows, Branch → release channel, Release flow (release.yaml) and Docs deploy gating (docs.yaml), plus 4 more sections
  • Calls poetry, pytest and python; needs RELEASE_SSH_KEY and CODECOV_TOKEN

What it does

Cicd is an agent skill from RussellSB/pytrendy. Use when touching .github/workflows/, release config (.releaserc), mkdocs.yml, docs deploy, or the whats-new generator. Covers branch-to-release-channel mapping, semantic-release, docs deploy gating, and the agentic whats-new flow.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes, CI/CD and Technical writing. It works with GitHub Actions and GitHub. The repository describes itself as: Trend Detection in Python. Applicable for real-world industry use cases in time series. The licence is MIT.

When your agent uses it

  • Touching .github/workflows/
  • Release config (.releaserc)
  • The whats-new generator

Example prompts

  • “/cicd”

Requirements

  • Python 3
  • A credential in RELEASE_SSH_KEY
  • A credential in CODECOV_TOKEN

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. test-core job: pytest tests/ -m core.
  2. semantic-release: conventional-commits analyzer → bumps version → poetry version → commits CHANGELOG.md + pyproject.toml (main) or just…
  3. build-and-publish: only if released == 'true' (or force_publish dispatch). poetry build → PyPI via OIDC trusted publishing (id-token…

What it can do on your machine

Read from SKILL.md and the folder at commit 0d6d5bb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • poetry
    • pytest
    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • RELEASE_SSH_KEY
    • CODECOV_TOKEN
    • OPENCODE_API_KEY
    • GITHUB_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cicd loads about 1.6k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 714 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from RussellSB/pytrendy at commit 0d6d5bb, republished under its MIT licence (© RussellSB). 714 words, ~1,583 tokens.

Download SKILL.mdSave it as .claude/skills/cicd/SKILL.md (or your agent's skills folder).
name
cicd
description
Use when touching .github/workflows/, release config (.releaserc*), mkdocs.yml, docs deploy, or the whats-new generator. Covers branch-to-release-channel mapping, semantic-release, docs deploy gating, and the agentic whats-new flow.

CI/CD in pytrendy

Workflows

FilePurpose
test.yamlCore tests → non-core (--cov-append) → Codecov. Runs on push to main/develop + PRs.
release.yamlCore tests → semantic-release → build & publish to PyPI. Runs on push to main/develop.
docs.yamlBuild + deploy docs to GitHub Pages (gh-pages branch, per-subdirectory). main/develop.
docs-preview.yamlPer-PR docs preview at russellsb.github.io/pytrendy/pr-<N>/.
whats-new.yamlAgentic: generates docs/whats-new.md entry via OpenCode CLI, opens PR back.
check-base-branch.ymlFails PRs not targeting develop (with documented exceptions).
lint-pr-title.ymlEnforces Conventional Commits on PR titles.
codeql.ymlGitHub code scanning.

Branch → release channel

  • main → stable. .releaserc config; branches: ["main"]; publishes to PyPI as 1.x.x.
  • develop → prerelease dev channel. Release workflow does cp .releaserc.dev.json .releaserc before running; branches includes { "name": "develop", "prerelease": "dev", "channel": "dev" }; publishes as 1.x.x.devN (the prepareCmd rewrites -dev. → .dev for PEP 440 compliance).

Version source of truth = semantic-release output, applied via poetry version ${nextRelease.version}. Never hand-edit pyproject.toml's version — it desyncs the next release.

Release flow (release.yaml)

  1. test-core job: pytest tests/ -m core.
  2. semantic-release: conventional-commits analyzer → bumps version → poetry version → commits CHANGELOG.md + pyproject.toml (main) or just pyproject.toml (develop) with chore(release): <ver> [skip ci]. Uses SSH deploy key (RELEASE_SSH_KEY).
  3. build-and-publish: only if released == 'true' (or force_publish dispatch). poetry build → PyPI via OIDC trusted publishing (id-token: write, environment: release).

Docs deploy gating (docs.yaml)

The check-should-deploy job decides whether to build:

  • Skip if any commit message contains [skip docs].
  • Deploy if any commit matches ^(feat|fix|docs|refactor|perf)(\([^)]*\))?!?: (semantic types).
  • Deploy if any commit subject has ! (breaking) or body has BREAKING CHANGE.
  • Else diff files: deploy if changes touch docs/, mkdocs.yml, or pytrendy/.

Deploy writes to gh-pages under a per-branch subdirectory (main/, develop/) with keep_files: true so branches don't clobber each other. On main, also writes a root index.html redirecting to main/. The offline mkdocs plugin is stripped via sed for online deploys; site_url is injected per-branch.

GitHub Pages setup is a one-time manual step (Settings → Pages → gh-pages / root) — noted in docs.yaml header comment.

Docs preview (docs-preview.yaml)

Triggers on PR open/sync/reopen/close touching docs/**, mkdocs.yml, or pytrendy/**. Skips fork PRs (no gh-pages write access). Bot comments URL with stable marker <!-- docs-preview-bot --> (updates existing comment rather than duplicating). On PR close, removes pr-<N>/ from gh-pages and updates the comment.

Show full SKILL.md (362 more words)Show less

What's New generator (whats-new.yaml) — agentic

Triggers: on release publish, on Release workflow completion (main/develop), or manual dispatch.

  1. Resolves release metadata (tag, name, body, prerelease flag, branch) from the event payload, falling back to the GitHub Releases API by tag, then CHANGELOG.md.
  2. Checks out the release branch, installs the OpenCode CLI (see whats-new.yaml for the exact install step).
  3. Runs python scripts/generate_whats_new.py with OPENCODE_MODEL (default opencode-go/deepseek-v4-flash) and a deny-all permission block (bash/edit/webfetch/websearch/external_directory/task all deny) — the agent can only read and write the whats-new file via the script.
  4. The script prepends a user-friendly entry into docs/whats-new.md between sentinel comments <!-- WHATS_NEW_CONTENT_START --> / <!-- WHATS_NEW_CONTENT_END -->. Don't edit content inside those markers by hand — it gets regenerated.
  5. Opens a PR (docs/whats-new-<tag>) back to the release branch via peter-evans/create-pull-request@v7 using DOCS_PREVIEW_PAT. The PR's base is the release branch (develop or main) — these are the only PRs allowed to target main from a non-develop head (check-base-branch.yml whitelists docs/whats-new-*).
  6. On stable releases (main, not prerelease), a sync-to-develop job re-generates the entry framed as stable and opens a follow-up PR to develop so both branches stay consistent.

Script-level agent instructions are in scripts/generate_whats_new.py docstring: verify CSV URLs resolve (use develop-branch raw URLs for pre-releases, main for stable), derive before/after plot scenarios from tests/tests_crashes_edgecases/ not synthetic data, and keep figsize/grid/legend/colors identical between before/after images by routing through the same detect_trends() + plot_pytrendy() pipeline.

For manual before/after plot generation in PR bodies (fix/feature PRs), see the pr-plots skill.

Secrets the workflows expect

CODECOV_TOKEN, RELEASE_SSH_KEY, OPENCODE_API_KEY, DOCS_PREVIEW_PAT, plus GITHUB_TOKEN. OPENCODE_MODEL is a repo variable (vars context), not a secret. PyPI publish uses OIDC trusted publishing (no token).

OpenCode App installation scopes

The OpenCode GitHub App (opencode-agent) requires specific repository permissions for commits, issues, and PRs. Verify in GitHub Settings → Integrations → OpenCode App → Installations:

  • Contents: read/write (for commits)
  • Issues: read/write (for creating and commenting on issues)
  • Pull requests: read/write (for creating and commenting on PRs)

Fallback (user awareness only — do not attempt to apply): If App scopes cannot be fixed, the user can set use_github_token: true in .github/workflows/opencode.yml (backed by the widened workflow permissions: block). This requires changes to the workflow on main, so the agent should not attempt to work around it.

© RussellSB, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .opencode/skills/cicd of RussellSB/pytrendy.

Open the folder on GitHubat commit 0d6d5bb

Compare with similar skills

Cicd next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cicd compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cicd this skillRussellSB/pytrendy106—~1.6kAutomated safety check: PassMIT
Cline CLI Release Publishercline/cline70k—~3.4kAutomated safety check: WarnApache-2.0
Kt Search Releasejillesvangurp/kt-search155—~1.2kAutomated safety check: PassMIT
CI Automationjeremylongshore/tons-of-skills-marketplace2.8k—~1.4kAutomated safety check: NotesMIT
Ccb GitHubSeemSeam/claude_codex_bridge3.6k—~4.9kAutomated safety check: PassCustom licence
Released-kimuson/claude-code-viewer1.3k—~1.2kAutomated safety check: PassMIT

Similar skills

  • Walks through releasing the Cline CLI package to npm: release notes, version bump, matching git tag, and either the GitHub workflow or a local publish.

    70k GitHub stars~3.4k tokensUpdated today
    DevelopmentAuto-check: warnings
  • Kt Search Release

    jillesvangurp/kt-search

    A skill your agent uses when the user wants to cut, publish, tag, or create a GitHub release for kt-search, especially when the task includes version bumping, validating that commits are pushed…

    155 GitHub stars~1.2k tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • CI Automation

    jeremylongshore/tons-of-skills-marketplace

    A skill your agent uses when running GitHub Actions locally, creating task runner recipes, generating changelogs from git history, managing GitHub PRs/issues/releases programmatically, or creating…

    2.8k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check: notes
  • Ccb GitHub

    SeemSeam/claude_codex_bridge

    Maintain this CCB project's GitHub-facing release and npm publication surface.

    3.6k GitHub stars~4.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Release

    d-kimuson/claude-code-viewer

    Run the claude-code-viewer release flow end-to-end. An agent skill from d-kimuson/claude-code-viewer.

    1.3k GitHub stars~1.2k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • A skill your agent uses whenever the user asks for a new npm version, npm release, package release, new release, version bump, publishing to npm, cutting a GitHub release, tagging a release, or…

    869 GitHub stars~2.9k tokensUpdated today
    DevOps & CloudAuto-check passed

More from RussellSB/pytrendy

  • Debug

    RussellSB/pytrendy

    A skill your agent uses when debugging a pytrendy bug, reproducing a regression, or inspecting intermediate pipeline stage output.

    106 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Maintenance

    RussellSB/pytrendy

    A skill your agent uses when making ANY code change to pytrendy, creating issues, or opening PRs.

    106 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • PR Plots

    RussellSB/pytrendy

    A skill your agent uses when preparing a fix or feature PR for review and adding before/after plot evidence to the PR body.

    106 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Pytrendy

    RussellSB/pytrendy

    A skill your agent uses when working on pytrendy code, tests, or data.

    106 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed

Questions about Cicd

What does Cicd do?

A skill your agent uses when touching .github/workflows/, release config (.releaserc), mkdocs.yml, docs deploy, or the whats-new generator. Cicd is an agent skill from RussellSB/pytrendy.yml, docs deploy, or the whats-new generator.

When should I use Cicd?

Cicd fits situations like: touching .github/workflows/; release config (.releaserc); the whats-new generator.

How do I install Cicd in Claude Code?

Run `npx skills add RussellSB/pytrendy --skill cicd -a claude-code`. Or copy the skill folder (.opencode/skills/cicd in RussellSB/pytrendy) into .claude/skills/cicd in your project. Claude Code loads it when a task matches its description.

How do I install Cicd in Codex?

Run `npx skills add RussellSB/pytrendy --skill cicd -a codex`. Or copy the skill folder (.opencode/skills/cicd in RussellSB/pytrendy) into .agents/skills/cicd in your project. Codex loads it when a task matches its description.

Can I use Cicd in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add RussellSB/pytrendy --skill cicd -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cicd, .gemini/skills/cicd, .github/skills/cicd and .opencode/skills/cicd in your project.

What does Cicd need to run?

Going by SKILL.md and its folder, Cicd needs the command-line tools its instructions call (poetry, pytest and python) and credentials named RELEASE_SSH_KEY, CODECOV_TOKEN, OPENCODE_API_KEY and GITHUB_TOKEN. Our summary lists: Python 3; A credential in RELEASE_SSH_KEY; A credential in CODECOV_TOKEN.

Does Cicd access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Cicd safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cicd use?

Cicd is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cicd use?

About 1.6k tokens (SKILL.md is roughly 6.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cicd?

Skills that share tags, products or a category with Cicd: Cline CLI Release Publisher (cline/cline, 70k stars), Kt Search Release (jillesvangurp/kt-search, 155 stars), CI Automation (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Ccb GitHub (SeemSeam/claude_codex_bridge, 3.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cicd?

RussellSB (a GitHub user) maintains it in RussellSB/pytrendy, which has 106 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.

Source: RussellSB/pytrendy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.