Cline CLI Release Publisher
cline/cline
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.
A skill your agent uses when touching .github/workflows/, release config (.releaserc), mkdocs.yml, docs deploy, or the whats-new generator.
$ npx skills add RussellSB/pytrendy --skill cicd -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install RussellSB/pytrendy cicd --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "cicd" agent skill from https://github.com/RussellSB/pytrendy/tree/main/.opencode/skills/cicd into .claude/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/RussellSB/pytrendy/tree/main/.opencode/skills/cicdType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add RussellSB/pytrendy --skill cicd -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install RussellSB/pytrendy cicd --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RussellSB/pytrendy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.opencode/skills/cicd .agents/skills/cicd && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cicd" agent skill from https://github.com/RussellSB/pytrendy/tree/main/.opencode/skills/cicd into .agents/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add RussellSB/pytrendy --skill cicd -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install RussellSB/pytrendy cicd --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RussellSB/pytrendy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.opencode/skills/cicd .cursor/skills/cicd && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cicd" agent skill from https://github.com/RussellSB/pytrendy/tree/main/.opencode/skills/cicd into .cursor/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/RussellSB/pytrendy.git --path .opencode/skills/cicd--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add RussellSB/pytrendy --skill cicd -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install RussellSB/pytrendy cicd --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RussellSB/pytrendy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.opencode/skills/cicd .gemini/skills/cicd && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cicd" agent skill from https://github.com/RussellSB/pytrendy/tree/main/.opencode/skills/cicd into .gemini/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install RussellSB/pytrendy cicdInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add RussellSB/pytrendy --skill cicd -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/RussellSB/pytrendy.git skills-src && mkdir -p .github/skills && cp -r skills-src/.opencode/skills/cicd .github/skills/cicd && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cicd" agent skill from https://github.com/RussellSB/pytrendy/tree/main/.opencode/skills/cicd into .github/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add RussellSB/pytrendy --skill cicd -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install RussellSB/pytrendy cicd --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RussellSB/pytrendy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.opencode/skills/cicd .opencode/skills/cicd && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cicd" agent skill from https://github.com/RussellSB/pytrendy/tree/main/.opencode/skills/cicd into .opencode/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cicdA 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. 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.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0d6d5bb. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
poetrypytestpythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
RELEASE_SSH_KEYCODECOV_TOKENOPENCODE_API_KEYGITHUB_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from RussellSB/pytrendy at commit 0d6d5bb, republished under its MIT licence (© RussellSB). 714 words, ~1,583 tokens.
.claude/skills/cicd/SKILL.md (or your agent's skills folder).| File | Purpose |
|---|---|
test.yaml | Core tests → non-core (--cov-append) → Codecov. Runs on push to main/develop + PRs. |
release.yaml | Core tests → semantic-release → build & publish to PyPI. Runs on push to main/develop. |
docs.yaml | Build + deploy docs to GitHub Pages (gh-pages branch, per-subdirectory). main/develop. |
docs-preview.yaml | Per-PR docs preview at russellsb.github.io/pytrendy/pr-<N>/. |
whats-new.yaml | Agentic: generates docs/whats-new.md entry via OpenCode CLI, opens PR back. |
check-base-branch.yml | Fails PRs not targeting develop (with documented exceptions). |
lint-pr-title.yml | Enforces Conventional Commits on PR titles. |
codeql.yml | GitHub code scanning. |
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.yaml)test-core job: pytest tests/ -m core.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).build-and-publish: only if released == 'true' (or force_publish dispatch). poetry build → PyPI via OIDC trusted publishing (id-token: write, environment: release).docs.yaml)The check-should-deploy job decides whether to build:
[skip docs].^(feat|fix|docs|refactor|perf)(\([^)]*\))?!?: (semantic types).! (breaking) or body has BREAKING CHANGE.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.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.
whats-new.yaml) — agenticTriggers: on release publish, on Release workflow completion (main/develop), or manual dispatch.
CHANGELOG.md.whats-new.yaml for the exact install step).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.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.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-*).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.
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).
The OpenCode GitHub App (opencode-agent) requires specific repository permissions for commits, issues, and PRs. Verify in GitHub Settings → Integrations → OpenCode App → Installations:
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
Just SKILL.md in .opencode/skills/cicd of RussellSB/pytrendy.
Open the folder on GitHubat commit 0d6d5bb
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cicd this skillRussellSB/pytrendy | 106 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Cline CLI Release Publishercline/cline | 70k | — | ~3.4k | Automated safety check: Warn | Apache-2.0 | |
| Kt Search Releasejillesvangurp/kt-search | 155 | — | ~1.2k | Automated safety check: Pass | MIT | |
| CI Automationjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.4k | Automated safety check: Notes | MIT | |
| Ccb GitHubSeemSeam/claude_codex_bridge | 3.6k | — | ~4.9k | Automated safety check: Pass | Custom licence | |
| Released-kimuson/claude-code-viewer | 1.3k | — | ~1.2k | Automated safety check: Pass | MIT |
cline/cline
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.
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…
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…
SeemSeam/claude_codex_bridge
Maintain this CCB project's GitHub-facing release and npm publication surface.
d-kimuson/claude-code-viewer
Run the claude-code-viewer release flow end-to-end. An agent skill from d-kimuson/claude-code-viewer.
jmfederico/pi-web
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…
RussellSB/pytrendy
A skill your agent uses when debugging a pytrendy bug, reproducing a regression, or inspecting intermediate pipeline stage output.
RussellSB/pytrendy
A skill your agent uses when making ANY code change to pytrendy, creating issues, or opening PRs.
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.
RussellSB/pytrendy
A skill your agent uses when working on pytrendy code, tests, or data.
Works with
Categories
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.
Cicd fits situations like: touching .github/workflows/; release config (.releaserc); the whats-new generator.
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.
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.
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.
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.
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.
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.
Cicd is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
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.
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.
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.