跳到正文
cccskills
免费在 GitHub 公开

helm-update

Update Bifrost Helm charts, the packages used to configure deployments, while keeping settings, schemas, templates, and documentation aligned. Check the published release and group changes into the next unreleased version.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Apply Bifrost Helm chart updates, checking the published repository index and grouping changes into the next unreleased version. Keep values, schemas, templates, README, changelog, and navigation consistent. Invoked with /helm-update.

查看安装方法

适用场景

  • Add Bifrost settings to the Helm chart
  • Check configuration fields missing from the chart
  • Combine changes into one unreleased version
  • Align release notes and documentation navigation

包含的文件(1)

  • SKILL.md10.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Helm Update

Apply changes to the Bifrost Helm chart, keep it in sync with config.schema.json, and update all changelogs.

Key File Paths

FilePath
Config schematransports/config.schema.json
Chart metadatahelm-charts/bifrost/Chart.yaml
Valueshelm-charts/bifrost/values.yaml
Values schemahelm-charts/bifrost/values.schema.json
Helpers templatehelm-charts/bifrost/templates/_helpers.tpl
Helm READMEhelm-charts/bifrost/README.md
Docs changelogsdocs/changelogs/helm-v<version>.mdx
Docs navigationdocs/docs.json

Workflow

Step 1: Check the published release and local state

Read the production Helm repository index used by the installation and upgrade docs:

curl -fsSL https://maximhq.github.io/bifrost/helm-charts/index.yaml

Parse entries.bifrost and select the highest stable chart version using semantic version ordering. Do not confuse appVersion with the chart version or rely on array order. This is the repository users add with helm repo add bifrost https://maximhq.github.io/bifrost/helm-charts; helm repo update refreshes its index.

Inspect Chart.yaml, README Upcoming notes, existing Helm changelog pages, and docs.json. A local version or changelog can describe unreleased work. Neither its presence nor its modification time establishes that it was published.

Record the published version and index URL. Identify its source commit using the matching GitHub release/tag helm-chart-v<VERSION>, through read-only local git queries or GitHub inspection. Use that commit for the schema comparison below. Do not substitute the commit that created a local changelog.

If the index cannot be retrieved or parsed, report the blocker and leave version selection pending. Do not fall back to guessing from local files. If the published source commit cannot be established, report that limitation before claiming the schema comparison is complete.

Step 2: Check config.schema.json Changes Since Last Helm Release

Compare transports/config.schema.json at the published source commit from Step 1 with the current working tree. Include staged and unstaged changes, not only committed changes. For example, use git diff <published-source-commit> -- transports/config.schema.json.

Identify any fields added, removed, or changed in config.schema.json that are not yet reflected in the helm chart. These are gaps that must be closed — even if the user did not explicitly ask for them. Note each gap; you will apply them alongside the user's requested changes.

Step 3: Apply User-Requested Changes + Fill Gaps

For every change (user-requested AND schema gaps detected in Step 2):

values.yaml

Add new fields as commented-out blocks with a realistic sample value. Place new sections near related existing fields. Keep existing uncommented defaults intact.

# bifrost.newFeature.someField -- brief description
# someField: "example-value"

values.schema.json

Add a matching JSON schema property with:

  • Correct type (string/boolean/integer/object/array)
  • description matching the config.schema.json description (paraphrased concisely)
  • Any enum, default, minimum/maximum, or nested properties/items needed
  • Mark required fields in the parent object's required array if mandatory

Locate the correct parent path in values.schema.json by searching for the nearest ancestor field.

_helpers.tpl

Wire new values into the generated config.json block inside {{- define "bifrost.config" -}}. Follow the existing rendering patterns:

  • Simple scalar: {{- if .Values.bifrost.someField }} → emit "some_field": {{ .Values.bifrost.someField | toJson }}
  • Optional block: wrap in {{- if ... }} / {{- end }}
  • Duration strings: pass through toJson unchanged
  • env.VAR_NAME references: pass through toJson unchanged

Search the existing template for a nearby field to find the right insertion point.

Step 4: Reuse or create the next unreleased version

Use the latest published chart version from Step 1 as the baseline. The target is its immediate next patch version, unless the user explicitly chooses another release line.

  • If that next version already exists locally in Chart.yaml or a changelog, append the current changes to it. Keep its existing changes. Do not increment the version again.
  • If it does not exist, set Chart.yaml to that next version and create its changelog in Step 6.
  • If this work already introduced a separate, later unreleased version, set Chart.yaml to the selected target version and consolidate the later version's notes and navigation into it. Preserve all existing notes; remove only the superseded unreleased page and its navigation entry.
  • Never modify a published version's release notes to add new work. If the local chart is behind the published version or uses a different intended release line, clarify the mismatch before changing it.

Examples:

Latest publishedExisting local workAction
2.1.44Unreleased 2.1.45Add changes to 2.1.45
2.1.44No next version yetCreate 2.1.45
2.1.45Local chart still at 2.1.45Create 2.1.46

Repeated runs before publication must keep using the same target version.

Step 5: Update Helm README

File: helm-charts/bifrost/README.md

5a. Set "Latest Version" to the target from Step 4

Keep this line aligned with Chart.yaml. It describes the chart in the checkout; use the published index, not this line, to determine release status. For example:

**Latest Version:** 2.1.27

→

**Latest Version:** 2.1.28

5b. Update the Upcoming section

Look for an ### Upcoming section immediately after the ## Changelog heading. If it does not exist, insert one. Append the current changes while preserving existing bullets and avoiding duplicates on repeated runs. Do not create a new versioned heading; that happens at release time.

Structure:

## Changelog

### Upcoming

- Brief bullet describing what was added/changed. Reference the values.yaml path (e.g. `bifrost.foo.bar`) and the config.json field it renders into (`foo_bar`). One bullet per logical change.

### 2.1.27
...existing entries...

Keep bullets concise — one line each. No paragraph prose. Mirror the style of existing changelog entries.

Step 6: Update or create the target changelog

Use docs/changelogs/helm-v<TARGET_VERSION>.mdx for the version selected in Step 4. If it exists and is unreleased, append the current changes without replacing existing notes or duplicating bullets. Preserve its existing date. Only create a file when the target changelog does not exist:

---
title: "v<TARGET_VERSION>"
description: "Helm v<TARGET_VERSION> changelog - <YYYY-MM-DD>"
---

<Update label="Bifrost Helm" description="v<TARGET_VERSION>">

## Changelog

- <bullet 1 — same content as README Upcoming bullets>
- <bullet 2>
...

</Update>

For a new file, use today's date and mirror the existing changelog style. Include all changes grouped into the target version, including its previous unreleased notes.

Step 7: Update docs.json Navigation

In docs/docs.json, find the "item": "Helm" group under changelogs. Ensure the target page appears exactly once at the top of its pages array. Reuse an existing entry rather than inserting another one:

"pages": [
  "changelogs/helm-v2.1.28",   ← insert here
  "changelogs/helm-v2.1.27",
  ...
]

Step 8: Final Diff Review (Correctness Check)

After all edits, run a fresh perspective check:

Confirm that Chart.yaml, README, changelog, and navigation use the same target version. Report the latest published version, the chosen target, and whether the target was reused or created. Check that consolidation preserved all earlier unreleased notes and left no references to a superseded page.

git diff -- helm-charts/bifrost/values.yaml helm-charts/bifrost/values.schema.json helm-charts/bifrost/templates/_helpers.tpl

For every new field in the diff, verify:

  1. values.yaml — field exists (commented out with sample value)
  2. values.schema.json — matching property with correct type and description
  3. _helpers.tpl — field is rendered into config.json output under the correct JSON key
  4. config.schema.json counterpart — confirm the JSON key emitted by _helpers.tpl exists in transports/config.schema.json (or is a known helm-only field like replicaCount)

If any field fails check 4, either fix the mapping or flag it to the user explicitly.

Report a short table:

Helm values pathconfig.json keyIn config.schema.json?
bifrost.foo.barfoo_bar✓
bifrost.bazbaz_config✓

Common Rendering Patterns in _helpers.tpl

{{/* Simple optional string */}}
{{- if .Values.bifrost.server.readBufferSize }}
"read_buffer_size": {{ .Values.bifrost.server.readBufferSize | toJson }},
{{- end }}

{{/* Optional boolean */}}
{{- if hasKey .Values.bifrost.loadBalancer "directionSelectionEnabled" }}
"direction_selection_enabled": {{ .Values.bifrost.loadBalancer.directionSelectionEnabled | toJson }},
{{- end }}

{{/* Nested object — only emit if any subfield set */}}
{{- if .Values.bifrost.newFeature }}
"new_feature": {
  {{- if .Values.bifrost.newFeature.timeout }}
  "timeout": {{ .Values.bifrost.newFeature.timeout | toJson }},
  {{- end }}
},
{{- end }}

Important Rules

  • Check the live production index on each run. Do not bump solely because the skill was invoked or because a local changelog exists.
  • Never omit the ### Upcoming section after Step 5 — always ensure it exists and is populated.
  • Never promote ### Upcoming to a versioned heading — that is done by the changelog-writer skill at release time.
  • Never write values.yaml fields as uncommented unless they were already uncommented (i.e., they are mandatory defaults like replicaCount).
  • Always verify config.schema.json mapping in the final diff review.
  • If a config.schema.json gap is found but its helm mapping would be complex (e.g. a new top-level plugin system), flag it to the user rather than silently skipping.
  • Keep changelog bullets brief: one line, what was added/changed, what values.yaml path, what config.json key it renders into.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Add a model pricing field throughout Bifrost, from datasheet parsing and database storage to cost calculations, overrides, documentation, and UI controls. Verify calculation and repeat-sync behavior with tests, then check the repository for missed integration points.

中文简介正在准备中。当前显示英语简介。

  • Adding a new model pricing field
  • Implementing surcharges or conditional pricing rates
  • Exposing pricing overrides in the UI and documentation
maximhq/bifrost89402026年10月19日 更新

Compare Bifrost HTTP API code with OpenAPI, its API specification, to find missing routes and mismatched methods, authentication, parameters, and responses. Get an audit report with code references and recommended fixes.

中文简介正在准备中。当前显示英语简介。

  • Find API routes missing from OpenAPI documentation
  • Check documented authentication against middleware behavior
  • Compare request parameters and response formats
maximhq/bifrost89402026年10月19日 更新

Prepare Bifrost releases by turning Git history into release summaries and module changelogs. Coordinate version updates across dependent modules, document database migration risks, and include closed issues and outside contributor credits.

中文简介正在准备中。当前显示英语简介。

  • Preparing changelogs for a Bifrost release
  • Coordinating version updates across dependent modules
  • Documenting database migration rollback limits
maximhq/bifrost89402026年10月19日 更新

Create, update, or review Bifrost feature documentation for Mintlify using MDX, a format combining Markdown and components. Research the interface and backend, validate configuration examples, and organize pages with screenshot placeholders and navigation entries.

中文简介正在准备中。当前显示英语简介。

  • Write documentation for a new Bifrost feature
  • Update guides after interface or API changes
  • Validate config.json examples against the schema
maximhq/bifrost89402026年10月19日 更新

Turn a Bifrost PR or GitHub issue into API regression tests that catch recurring bugs. Review existing coverage, add cases to the Postman collection, and validate collection processing and provider filtering.

中文简介正在准备中。当前显示英语简介。

  • Add regression coverage for a merged PR
  • Turn an issue's reproduction steps into API tests
  • Test streaming and non-streaming responses
maximhq/bifrost89402026年10月19日 更新

Investigate Bifrost GitHub issues by examining reports, related code, and library documentation. Produce an implementation plan with impact analysis and regression tests, including a demonstrated failing test for bugs before requesting approval to fix them.

中文简介正在准备中。当前显示英语简介。

  • Investigating the cause of a reported bug
  • Planning implementation for a feature request
  • Assessing effects on APIs, UI, and dependent code
maximhq/bifrost89402026年10月19日 更新

查看 maximhq 的全部技能

报告此技能的问题