Swig Conventions
swig/swig
SWIG source and contribution conventions: clang-format / code formatting, C/C++ comment style (quotes, widths, function header blocks), parser.y new-code rules, alphabetical ordering of makefile…
Finalize a feature branch for merge. An agent skill from microsoft/bocpy.
$ npx skills add microsoft/bocpy --skill finalize-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/bocpy finalize-pr --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/microsoft/bocpy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/finalize-pr .claude/skills/finalize-pr && 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 "finalize-pr" agent skill from https://github.com/microsoft/bocpy/tree/main/.github/skills/finalize-pr into .claude/skills/finalize-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finalize-pr", 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/microsoft/bocpy/tree/main/.github/skills/finalize-prType 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 microsoft/bocpy --skill finalize-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/bocpy finalize-pr --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/bocpy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/finalize-pr .agents/skills/finalize-pr && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "finalize-pr" agent skill from https://github.com/microsoft/bocpy/tree/main/.github/skills/finalize-pr into .agents/skills/finalize-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finalize-pr", 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 microsoft/bocpy --skill finalize-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/bocpy finalize-pr --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/bocpy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/finalize-pr .cursor/skills/finalize-pr && 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 "finalize-pr" agent skill from https://github.com/microsoft/bocpy/tree/main/.github/skills/finalize-pr into .cursor/skills/finalize-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finalize-pr", 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/microsoft/bocpy.git --path .github/skills/finalize-pr--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 microsoft/bocpy --skill finalize-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/bocpy finalize-pr --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/bocpy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/finalize-pr .gemini/skills/finalize-pr && 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 "finalize-pr" agent skill from https://github.com/microsoft/bocpy/tree/main/.github/skills/finalize-pr into .gemini/skills/finalize-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finalize-pr", 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 microsoft/bocpy finalize-prInstalls 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 microsoft/bocpy --skill finalize-pr -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/bocpy.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/finalize-pr .github/skills/finalize-pr && 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 "finalize-pr" agent skill from https://github.com/microsoft/bocpy/tree/main/.github/skills/finalize-pr into .github/skills/finalize-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finalize-pr", 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 microsoft/bocpy --skill finalize-pr -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/bocpy finalize-pr --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/bocpy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/finalize-pr .opencode/skills/finalize-pr && 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 "finalize-pr" agent skill from https://github.com/microsoft/bocpy/tree/main/.github/skills/finalize-pr into .opencode/skills/finalize-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finalize-pr", 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.
finalize-prFinalize a feature branch for merge. An agent skill from microsoft/bocpy.
Finalize PR is an agent skill from microsoft/bocpy, published by the product's own GitHub organization. Finalize a feature branch for merge. Use when finishing a feature branch, preparing for merge, releasing a new version, bumping the version, adding a changelog entry, or when asked to finalize, wrap up, or close out a PR. Covers version bump across all files, CHANGELOG entry, Sphinx + README updates, editor-lens pass over the diff, lint, and test verification. Replaces the older version-bump skill.
Its SKILL.md is about 3.5k 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, Technical documentation and Linting and formatting. The repository describes itself as: Behavior-Oriented Concurrency in Python. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c8f3ceb. 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:
gitpippytestaptFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Finalize PR loads about 3.5k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,530 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 microsoft/bocpy at commit c8f3ceb, republished under its MIT licence (© microsoft). 1,530 words, ~3,491 tokens.
.claude/skills/finalize-pr/SKILL.md (or your agent's skills folder).Prepares a feature branch for merge by bumping the version, writing a changelog entry, updating documentation, scrubbing comment debt, and verifying the change with lint + the full test suite. The user reviews and commits — this skill never commits.
version-bump skill)For a multi-perspective pre-merge review of the code itself, run
branch-review first. This skill assumes the code is settled and the
test suite is green.
Before invoking this skill:
branch-review pass (or equivalent) has been run if the change is
non-trivial — see .github/copilot-instructions.md.env312, .env313d,
.env313t, .env314, .env315, .env315t). Ask the user if
unsure; default is .env314.Execute these steps in order. Pause for user review between steps — this is a wrap-up workflow, not an autonomous one.
Gather context about the branch:
pyproject.toml ([project] version).git log --oneline main..HEAD to see commits on the branch.git diff main --stat to see changed files.CHANGELOG.md to see the most recent entry format
and any existing ## Unreleased section..copilot/plans/ for this
branch, read it to understand the scope of work.Summarize the work performed (what was added, what was changed, what was removed, any breaking changes) and confirm with the user before proceeding. The summary drives every later step.
bocpy follows semantic versioning. Propose the version bump based on the Step 1 summary:
| Bump | When |
|---|---|
Patch (0.6.0 → 0.6.1) | Bug fixes, internal refactors, test additions, doc-only changes, no public API change |
Minor (0.6.0 → 0.7.0) | New public API (new @when semantics, new bocpy.* symbols, new C ABI surface), new examples, new tunables. No breaking changes |
Major (0.6.0 → 1.0.0) | Breaking changes to the Python API, the C ABI (<bocpy/bocpy.h> / <bocpy/xidata.h>), or Cown / @when semantics |
The public C ABI is version-gated via the BOCPY_ABI macro and the
bocpy~=MAJOR.MINOR pin in templates/c_abi_consumer/pyproject.toml.
Any incompatible change to <bocpy/bocpy.h> or <bocpy/xidata.h>
requires a minor bump at minimum and an explicit BOCPY_ABI bump in
the header.
Confirm the proposed version with the user before editing any files.
Update all five files in lock-step. Skipping any one of these leaves the release inconsistent.
pyproject.toml[project]
name = "bocpy"
version = "<NEW_VERSION>"sphinx/source/conf.pyrelease = '<NEW_VERSION>'CITATION.cffUpdate both fields:
version: <NEW_VERSION>
date-released: <TODAY YYYY-MM-DD>templates/c_abi_consumer/pyproject.tomlUpdate both bocpy entries to a compatible-release bound on the new
MAJOR.MINOR:
[build-system]
requires = ["setuptools", "wheel", "bocpy~=<MAJOR.MINOR>"]
[project]
dependencies = ["bocpy~=<MAJOR.MINOR>"]The template is the canonical downstream example; its pin signals
which public C ABI it was authored against. Keep it in lock-step with
the root [project].version.
CHANGELOG.mdHandled in Step 4 — version is part of the changelog entry header.
Open CHANGELOG.md. If a ## Unreleased section already exists,
re-title it; otherwise prepend a new entry at the top of the file
(below any header).
Match the prevailing format in the file. Recent entries follow this shape:
## YYYY-MM-DD - Version X.Y.Z
One-paragraph summary of the headline change.
**New Features**
- **Feature name** — what it is, why it matters, where it lives.
- ...
**Bug Fixes**
- **Short title** — root cause + fix, in past tense.
- ...
**Improvements**
- ...
**Breaking Changes**
- **What broke** — why, and the recommended migration path.
**Documentation**
- New :doc:`xxx` page, expanded :doc:`api`, ...
**Tests**
- ...
**Internal**
- ...:doc: directives (rendered on the
Sphinx site, which embeds the changelog).bocpy-*) by name.templates/c_abi_consumer/ only if they
change the consumer-facing template.Walk through the docs and update anything the branch made stale. Do not rewrite prose that is still accurate.
README.md (root)Check and update:
@when, Cown,
send/receive, noticeboard, or messaging symbols.bocpy-* console script).pyproject.toml classifiers).The file is PyPI's project description (after the
<!-- pypi-skip-start -->...<!-- pypi-skip-end --> filter in
setup.py); keep it presentable.
sphinx/source/| File | Update if... |
|---|---|
index.rst | Architecture overview changed, or a new top-level subsystem was added |
api.rst | New public Python symbol added or removed (Sphinx autodoc picks the docstring up from __init__.pyi, but the toctree entry must exist) |
c_abi.rst | Anything in <bocpy/bocpy.h> or <bocpy/xidata.h> changed, or BOCPY_ABI was bumped |
messaging.rst | send / receive / set_tags / drain / TIMEOUT semantics changed |
noticeboard.rst | notice_* / noticeboard() / REMOVED / snapshot semantics changed |
sbom.rst | SBOM generation, the audit extra, or wheel-embedding format changed |
Sphinx autodoc reads docstrings from src/bocpy/__init__.pyi and
src/bocpy/_core.pyi. If you added a new public symbol, the stub
docstring is the canonical source — update it there, not in
behaviors.py (or both, where applicable).
templates/c_abi_consumer/README.mdUpdate only if the consumer-facing API surface changed (new helpers
in bocpy.get_include() / bocpy.get_sources(), new headers, new
required compile flags).
Comment debt accumulates while a PR is in flight: review-process
scaffolding (chunk numbers, finding IDs like H1 / M5 / L2,
plan back-references, sketch IDs, "Round-2 adv#6"), wordy paraphrases
of the code, dated status notes, and "previously / now" archaeology.
None of this serves a future reader. Scrub it as part of finalize.
This step is run via the review-loop skill against the PR diff
(not the whole repo) using the editor-lens agent.
Identify the changed in-scope source files:
mkdir -p .copilot/finalize
git diff --name-only main -- \
'src/bocpy/**/*.c' 'src/bocpy/**/*.h' \
'src/bocpy/**/*.py' 'src/bocpy/**/*.pyi' \
'examples/**/*.py' \
'test/**/*.py' \
'templates/c_abi_consumer/src/**/*.c' \
'templates/c_abi_consumer/src/**/*.h' \
'templates/c_abi_consumer/src/**/*.py' \
'scripts/**/*.py' \
| tee .copilot/finalize/editor-lens-targets.txtgit diff (no ..HEAD) covers both committed and uncommitted
changes — important during finalize, when you may still be editing.
Invoke review-loop with editor-lens as the reviewer and the
file list as the target. The lens follows the keep / rewrite / cut
policy in .github/agents/editor-lens.agent.md. Iterate until the
loop comes back clean.
Apply approved cuts and rewrites. Anything the lens flags under "Questions for the user" must be resolved before proceeding — do not silently delete.
The editor-lens scope explicitly excludes sphinx/source/,
README.md, CHANGELOG.md, the top-level policy docs, and
everything under .github/ and .copilot/. Those have different
rules and are managed by other steps in this skill (or are off-limits
entirely).
Why this lives in finalize, not pre-commit: during PR work the review tags and scaffold comments are useful — they let the author and reviewer cross-reference findings. They become noise only after the review documents are deleted. Finalize is the right place to scrub.
Activate the chosen venv (default .env314 — confirm with the user)
and run the full local mirror of the PR gate. Pipe long-running
output to .copilot/finalize/<name>.log so the chat stays readable.
source .env314/bin/activateMirrors the .github/workflows/pr_gate.yml linting job. The
--filename flag opts the walker into .pyi stubs (it would
otherwise skip them silently):
flake8 --filename='*.py,*.pyi' src/bocpy test examples scripts \
2>&1 | tee .copilot/finalize/flake8.logMust exit zero.
Mirrors the cpp-format job. Run for both C trees touched by the
branch:
clang-format-18 --dry-run -Werror \
src/bocpy/*.c src/bocpy/*.h src/bocpy/include/bocpy/*.h \
2>&1 | tee .copilot/finalize/clang-format-src.log
clang-format-18 --dry-run -Werror \
templates/c_abi_consumer/src/**/*.{c,h} \
2>&1 | tee .copilot/finalize/clang-format-template.logBoth must exit zero. If clang-format-18 is not installed, install
it (apt install clang-format-18) or skip with explicit user
approval; the CI version is pinned to 18.
A version bump touches pyproject.toml and (often) C sources. Force
a fresh editable install so the test suite sees the new build. Use
the BOCPY_BUILD_INTERNAL_TESTS=1 opt-in so the
_internal_test_* extensions are built and the
test_internal_* / test_compat_atomics.py modules run instead
of skipping:
BOCPY_BUILD_INTERNAL_TESTS=1 pip install -e .[test] --no-build-isolation \
2>&1 | tee .copilot/finalize/install.logpytest -vv 2>&1 | tee .copilot/finalize/pytest.log | tail -40Must exit zero. If pre-existing skips are present (e.g. version-gated tests), confirm they match the baseline recorded in the session plan; new skips warrant investigation.
If the branch changed anything under src/bocpy/include/bocpy/,
src/bocpy/boc_*.{c,h}, templates/c_abi_consumer/, or the
bocpy.get_include() / bocpy.get_sources() helpers, also run:
pip install --no-build-isolation ./templates/c_abi_consumer \
2>&1 | tee .copilot/finalize/consumer-install.log
pytest -vv templates/c_abi_consumer/test \
2>&1 | tee .copilot/finalize/consumer-pytest.log | tail -20Both must exit zero.
If the branch touched anything version-gated (xidata.h,
PY_VERSION_HEX ladders, free-threaded code paths,
#if Py_GIL_DISABLED branches), re-run 7.3 + 7.4 in at least one
additional venv covering the affected versions
(e.g. .env312, .env313t, .env315t). Confirm with the user
which extra venvs to exercise.
Present a single summary to the user with:
pyproject.toml,
sphinx/source/conf.py, CITATION.cff,
templates/c_abi_consumer/pyproject.toml, CHANGELOG.md,
any Sphinx pages updated, any README sections updated, and the
list of source files edited by the editor-lens pass.flake8, clang-format, pytest, downstream
consumer (if run), cross-version (if run) — all pass / fail with
log paths under .copilot/finalize/.editor-lens flagged as ambiguous
and any pre-existing test skips that warrant attention.Do not commit. All git operations belong to the user.
pyproject.toml,
conf.py, CITATION.cff, the template pyproject.toml, and
CHANGELOG.md) must move in lock-step.sphinx/source/ to mask a missing public
symbol. If the docs reference a symbol that does not exist, the
bug is in the code or in __init__.pyi, not the docs.pip install.
Installing into the wrong venv silently rebuilds the wrong
interpreter's wheel.© microsoft, 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 .github/skills/finalize-pr of microsoft/bocpy.
Open the folder on GitHubat commit c8f3ceb
Finalize PR 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 |
|---|---|---|---|---|---|---|
| Finalize PR this skillmicrosoft/bocpy | 200 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Swig Conventionsswig/swig | 6.3k | — | ~2.7k | Automated safety check: Pass | Custom licence | |
| Simple Englishmoeru-ai/airi | 50k | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| WooCommerce Markdown Guidelineswoocommerce/woocommerce | 11k | 1 repos | ~1.7k | Automated safety check: Pass | Custom licence | |
| Cut Releasemicrosoft/apm | 4k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Ccb GitHubSeemSeam/claude_codex_bridge | 3.5k | — | ~4.9k | Automated safety check: Pass | Custom licence |
swig/swig
SWIG source and contribution conventions: clang-format / code formatting, C/C++ comment style (quotes, widths, function header blocks), parser.y new-code rules, alphabetical ordering of makefile…
moeru-ai/airi
Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.
woocommerce/woocommerce
Rules for writing and editing markdown in the WooCommerce repository, with the project's markdownlint settings for headings, lists and code blocks.
microsoft/apm
A skill your agent uses to cut an APM release from the current worktree: assess whether the cycle since the last tag warrants a patch or minor bump (semver discipline against the…
SeemSeam/claude_codex_bridge
Maintain this CCB project's GitHub-facing release and npm publication surface.
unxed/f4
Comprehensive documentation guide for Golang projects, covering godoc comments, README, CONTRIBUTING, CHANGELOG, Go Playground, Example tests, API docs, and llms.txt.
microsoft/bocpy
Multi-perspective code review for a branch before merging. An agent skill from microsoft/bocpy.
microsoft/bocpy
Write a C extension whose custom types can live inside a bocpy Cown and travel between worker sub-interpreters.
microsoft/bocpy
Follow bocpy commenting and documentation conventions. An agent skill from microsoft/bocpy.
microsoft/bocpy
Multi-perspective planning with rebuttal rounds and adversarial review loop.
microsoft/bocpy
Write tests for the bocpy message queue — the lock-free tag-based MPSC ring buffer.
microsoft/bocpy
Think in Behavior-Oriented Concurrency, not threads-and-locks.
Categories
Finalize a feature branch for merge. An agent skill from microsoft/bocpy. Finalize PR is an agent skill from microsoft/bocpy, published by the product's own GitHub organization. Finalize a feature branch for merge.
Finalize PR fits situations like: finishing a feature branch; preparing for merge; releasing a new version; bumping the version.
Run `npx skills add microsoft/bocpy --skill finalize-pr -a claude-code`. Or copy the skill folder (.github/skills/finalize-pr in microsoft/bocpy) into .claude/skills/finalize-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/bocpy --skill finalize-pr -a codex`. Or copy the skill folder (.github/skills/finalize-pr in microsoft/bocpy) into .agents/skills/finalize-pr 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 microsoft/bocpy --skill finalize-pr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/finalize-pr, .gemini/skills/finalize-pr, .github/skills/finalize-pr and .opencode/skills/finalize-pr in your project.
Going by SKILL.md and its folder, Finalize PR needs the command-line tools its instructions call (git, pip, pytest and apt). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use git and pip, which can reach the network depending on how they are called. 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.
Finalize PR is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k 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 Finalize PR: Swig Conventions (swig/swig, 6.3k stars), Simple English (moeru-ai/airi, 50k stars), WooCommerce Markdown Guidelines (woocommerce/woocommerce, 11k stars) and Cut Release (microsoft/apm, 4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
microsoft (a GitHub organization, an official publisher) maintains it in microsoft/bocpy, which has 200 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on September 28, 2026.
Source: microsoft/bocpy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.