Agent skill

SDK Changelog

by bouffalolab in bouffalolab/bouffalo_sdk

A skill your agent uses when generating a customer-facing CHANGELOG between two SDK release tags.

Apache-2.0Auto-check passedDevelopment

Install SDK Changelog

skills CLI
$ npx skills add bouffalolab/bouffalo_sdk --skill sdk-changelog -a claude-code

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

GitHub CLI
$ gh skill install bouffalolab/bouffalo_sdk sdk-changelog --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/bouffalolab/bouffalo_sdk.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/sdk-changelog .claude/skills/sdk-changelog && 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
sdk-changelog
GitHub stars
500
Token cost
~1.1k tokens
SKILL.md length
288 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when generating a customer-facing CHANGELOG between two SDK release tags.

  • Works in 5 steps: Collect main repo commits → Find changed submodules → Collect submodule commits → …
  • Generating a customer-facing CHANGELOG between two SDK release tags
  • SKILL.md covers Overview, Workflow, Output Template and Rules for Customer-Facing Output, plus 1 more section
  • Calls git

What it does

SDK Changelog is an agent skill from bouffalolab/bouffalo_sdk. Use when generating a customer-facing CHANGELOG between two SDK release tags. Covers how to collect commits from the main repo, changed submodules, and embedded repos (non-submodule git repos like components/wireless/wl80211/src), and how to format the result for external audiences (no commit IDs, no Jira tickets, no internal paths).

Its SKILL.md is about 1.1k 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. It works with Git and Jira. The repository describes itself as: BouffaloSDK is the IOT and MCU software development kit provided by the Bouffalo Lab Team, supports all the series of Bouffalo chips. Also it is the combination of blmcusdk and…. The licence is Apache-2.0.

When your agent uses it

  • Generating a customer-facing CHANGELOG between two SDK release tags
  • Tasks that involve Changelog and release notes

Example prompts

  • “/sdk-changelog”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Collect main repo commits
  2. Find changed submodules
  3. Collect submodule commits
  4. Collect embedded repo commits
  5. Merge and categorize

What it can do on your machine

Read from SKILL.md and the folder at commit 8a3df34. 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:

    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

SDK Changelog loads about 1.1k tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 288 words of instructions outside code blocks.

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

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 bouffalolab/bouffalo_sdk at commit 8a3df34, republished under its Apache-2.0 licence (© bouffalolab). 288 words, ~1,062 tokens.

Download SKILL.mdSave it as .claude/skills/sdk-changelog/SKILL.md (or your agent's skills folder).
name
sdk-changelog
description
Use when generating a customer-facing CHANGELOG between two SDK release tags. Covers how to collect commits from the main repo, changed submodules, and embedded repos (non-submodule git repos like components/wireless/wl80211/src), and how to format the result for external audiences (no commit IDs, no Jira tickets, no internal paths).

SDK CHANGELOG Generator

Overview

Produce a clean, customer-facing CHANGELOG from a git tag range. The output is an overview for end users — no internal identifiers, no implementation noise.

Workflow

1. Collect main repo commits
bash
git log --format="%H|%ad|%an|%s" --date=short <FROM_TAG>..HEAD

Filter out pure bookkeeping commits (chore: record submodules) — they carry no user-visible information.

2. Find changed submodules
bash
# hashes at old tag
git ls-tree <FROM_TAG> --full-tree -r | grep "^160000" > /tmp/sub_old.txt
# hashes at HEAD
git ls-tree HEAD --full-tree -r | grep "^160000" > /tmp/sub_new.txt

Diff the two files to find submodules whose commit pointer changed.

3. Collect submodule commits

For each changed submodule (if checked out locally):

bash
git -C <submodule_path> log --format="%H|%ad|%an|%s" --date=short <OLD_HASH>..<NEW_HASH>
4. Collect embedded repo commits

Some directories are standalone git repos but not tracked as git submodules (e.g., Google repo-managed projects with symlinked .git worktrees). These won't appear in git ls-tree and must be handled separately.

Known embedded repos in this SDK:

PathDescription
components/wireless/wl80211/srcwl80211 WiFi driver core source

Since the parent repo doesn't record the embedded repo's commit, use the <FROM_TAG> date to find the corresponding old commit:

bash
FROM_DATE=$(git log -1 --format=%ad --date=iso-strict <FROM_TAG>)

# For each embedded repo:
EMB_REPO=components/wireless/wl80211/src
OLD_HASH=$(git -C "$EMB_REPO" log -1 --before="$FROM_DATE" --format=%H)
NEW_HASH=$(git -C "$EMB_REPO" rev-parse HEAD)

if [ -n "$OLD_HASH" ] && [ "$OLD_HASH" != "$NEW_HASH" ]; then
  git -C "$EMB_REPO" log --format="%H|%ad|%an|%s" --date=short $OLD_HASH..$NEW_HASH
fi
5. Merge and categorize

Combine all commits (main repo + submodules + embedded repos), deduplicate by subject, then group into:

CategoryCommit prefixes
New Featuresfeat:, feat(*):
Bug Fixesfix:, fix(*):
Improvementschore:, refactor:, perf/size wins
Documentationdocs: — omit unless relevant to users

Output Template

markdown
## [VERSION or Unreleased] — since vX.Y.Z (DATE_FROM → DATE_TO)

### New Features

- **[Chip/Component]**
  - One-line user-visible description
  - ...

- **[Another area]**
  - ...

### Bug Fixes

- **[Area]**
  - Fixed [symptom] in [context]
  - ...

### Improvements

- Reduced code size of ...
- Refactored ... for better maintainability

Rules for Customer-Facing Output

RemoveKeep
Commit hashesChip/platform names (BL616, BL618DG…)
Jira / internal ticket IDsFeature names and affected peripherals
Submodule/embedded repo pathsUser-visible behavior changes
Author namesSecurity hardening (summarized)
chore: record submodules entriesSize/performance improvements
Internal code symbols
  • Group by functional area, not by submodule or file
  • Use plain language; avoid C macro names and file paths
  • One bullet = one user-visible change (merge duplicates across submodules)
  • Omit doc fixes unless they correct wrong behavior described in docs

Quick Example

Given commits like:

feat: add timeout interrupt for 616CL
fix(lp): fix miss lp restore keyram for sec 256   # also in macsw submodule
fix: harden DHCP packet bounds checks             # in wlan/linux_driver submodule

Output:

markdown
### New Features
- **BL616CL**: Added timeout interrupt support

### Bug Fixes
- **Low Power**: Fixed missing LP keyram restore for SEC 256 configuration
- **WiFi**: Hardened DHCP packet bounds checks

Note: the LP fix appears in both main repo and macsw submodule — output it once.

© bouffalolab, Apache-2.0. 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 .agents/skills/sdk-changelog of bouffalolab/bouffalo_sdk.

Open the folder on GitHubat commit 8a3df34

Compare with similar skills

SDK Changelog 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.

SDK Changelog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
SDK Changelog this skillbouffalolab/bouffalo_sdk500—~1.1kAutomated safety check: PassApache-2.0
Prepare ReleaseDevolutions/devolutions-gateway162—~1.8kAutomated safety check: PassApache-2.0
React Router Release Notes Prepremix-run/react-router57k—~1.1kAutomated safety check: PassMIT
Draft Release Notesjamiepine/voicebox57k—~941Automated safety check: PassMIT
Mole Release Notes Publishertw93/Mole70k—~1.9kAutomated safety check: PassGPL-3.0
Release Bumpjamiepine/voicebox57k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Prepare Release

    Devolutions/devolutions-gateway

    Prepares a Devolutions Gateway / Devolutions Agent release commit: bumps the version, generates and inserts the changelog, creates Jira tickets, generates the ToolBox changelog, and produces the…

    162 GitHub stars~1.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • React Router Release Notes Prep

    remix-run/react-router

    Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.

    57k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Draft Release Notes

    jamiepine/voicebox

    Writes or refreshes the Unreleased section of CHANGELOG.md as a themed narrative built from the commits, PRs and diff since the last version tag.

    57k GitHub stars~941 tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Publishes curated, bilingual release notes for an existing Mole version tag with gh release edit, including contributor thanks and reactions, after the release workflow finishes.

    70k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Release Bump

    jamiepine/voicebox

    Ends a release cycle by moving the Unreleased changelog notes under a dated version heading, bumping version files with bumpversion and tagging the commit.

    57k GitHub stars~1.1k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    105k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes

More from bouffalolab/bouffalo_sdk

  • Bouffalo SDK

    bouffalolab/bouffalo_sdk

    Bouffalo SDK开发指南,提供完整的Bouffalo芯片系列开发文档和参考资料。当需要使用bouffalosdk开发IoT/MCU应用、了解SDK架构、配置构建系统、使用外设驱动、开发无线功能、管理电源、调试固件时使用此skill。

    500 GitHub stars~1.1k tokensUpdated 7 days ago
    Auto-check passed
  • Test Manual

    bouffalolab/bouffalo_sdk

    使用 tools/CI/testmanual 查询、编译并运行 Bouffalo SDK 手工 Jenkins 测试;适用于单个 case、suite,以及配合 git bisect 验证指定 SDK 或 submodule 提交。

    500 GitHub stars~300 tokensUpdated 7 days ago
    Auto-check: notes

Works with

Categories

Questions about SDK Changelog

What does SDK Changelog do?

A skill your agent uses when generating a customer-facing CHANGELOG between two SDK release tags. SDK Changelog is an agent skill from bouffalolab/bouffalo_sdk. Use when generating a customer-facing CHANGELOG between two SDK release tags.

When should I use SDK Changelog?

SDK Changelog fits situations like: generating a customer-facing CHANGELOG between two SDK release tags; tasks that involve Changelog and release notes.

How do I install SDK Changelog in Claude Code?

Run `npx skills add bouffalolab/bouffalo_sdk --skill sdk-changelog -a claude-code`. Or copy the skill folder (.agents/skills/sdk-changelog in bouffalolab/bouffalo_sdk) into .claude/skills/sdk-changelog in your project. Claude Code loads it when a task matches its description.

How do I install SDK Changelog in Codex?

Run `npx skills add bouffalolab/bouffalo_sdk --skill sdk-changelog -a codex`. Or copy the skill folder (.agents/skills/sdk-changelog in bouffalolab/bouffalo_sdk) into .agents/skills/sdk-changelog in your project. Codex loads it when a task matches its description.

Can I use SDK Changelog 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 bouffalolab/bouffalo_sdk --skill sdk-changelog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sdk-changelog, .gemini/skills/sdk-changelog, .github/skills/sdk-changelog and .opencode/skills/sdk-changelog in your project.

What does SDK Changelog need to run?

Going by SKILL.md and its folder, SDK Changelog needs the command-line tools its instructions call (git).

Does SDK Changelog access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is SDK Changelog 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 SDK Changelog use?

SDK Changelog is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does SDK Changelog use?

About 1.1k tokens (SKILL.md is roughly 4.2k 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 SDK Changelog?

Skills that share tags, products or a category with SDK Changelog: Prepare Release (Devolutions/devolutions-gateway, 162 stars), React Router Release Notes Prep (remix-run/react-router, 57k stars), Draft Release Notes (jamiepine/voicebox, 57k stars) and Mole Release Notes Publisher (tw93/Mole, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains SDK Changelog?

bouffalolab (a GitHub organization) maintains it in bouffalolab/bouffalo_sdk, which has 500 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 3, 2026.

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