Using Agent Skills
addyosmani/agent-skills
Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.
Refresh every downstream repo (beetatproto, beetconnect, beetegress, beetesp, beeteval) with beet's AGENTS.md marker block, its MIT/Apache licenses and shared config files.
$ npx skills add mrchantey/beet --skill downstream-sync -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mrchantey/beet downstream-sync --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/mrchantey/beet.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/downstream-sync .claude/skills/downstream-sync && 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 "downstream-sync" agent skill from https://github.com/mrchantey/beet/tree/main/.agents/skills/downstream-sync into .claude/skills/downstream-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "downstream-sync", 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/mrchantey/beet/tree/main/.agents/skills/downstream-syncType 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 mrchantey/beet --skill downstream-sync -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mrchantey/beet downstream-sync --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mrchantey/beet.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/downstream-sync .agents/skills/downstream-sync && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "downstream-sync" agent skill from https://github.com/mrchantey/beet/tree/main/.agents/skills/downstream-sync into .agents/skills/downstream-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "downstream-sync", 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 mrchantey/beet --skill downstream-sync -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mrchantey/beet downstream-sync --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mrchantey/beet.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/downstream-sync .cursor/skills/downstream-sync && 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 "downstream-sync" agent skill from https://github.com/mrchantey/beet/tree/main/.agents/skills/downstream-sync into .cursor/skills/downstream-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "downstream-sync", 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/mrchantey/beet.git --path .agents/skills/downstream-sync--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 mrchantey/beet --skill downstream-sync -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mrchantey/beet downstream-sync --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mrchantey/beet.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/downstream-sync .gemini/skills/downstream-sync && 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 "downstream-sync" agent skill from https://github.com/mrchantey/beet/tree/main/.agents/skills/downstream-sync into .gemini/skills/downstream-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "downstream-sync", 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 mrchantey/beet downstream-syncInstalls 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 mrchantey/beet --skill downstream-sync -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mrchantey/beet.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/downstream-sync .github/skills/downstream-sync && 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 "downstream-sync" agent skill from https://github.com/mrchantey/beet/tree/main/.agents/skills/downstream-sync into .github/skills/downstream-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "downstream-sync", 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 mrchantey/beet --skill downstream-sync -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mrchantey/beet downstream-sync --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mrchantey/beet.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/downstream-sync .opencode/skills/downstream-sync && 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 "downstream-sync" agent skill from https://github.com/mrchantey/beet/tree/main/.agents/skills/downstream-sync into .opencode/skills/downstream-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "downstream-sync", 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.
downstream-syncRefresh every downstream repo (beetatproto, beetconnect, beetegress, beetesp, beeteval) with beet's AGENTS.md marker block, its MIT/Apache licenses and shared config files.
Downstream Sync is an agent skill from mrchantey/beet. Refresh every downstream repo (beetatproto, beetconnect, beetegress, beetesp, beeteval) with beet's AGENTS.md marker block, its MIT/Apache licenses and shared config files. Use after changing AGENTS.md, the licenses or rustfmt.toml.
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 Agent Workflows, covering Agent instruction files. It works with Bluesky. The repository describes itself as: A malleable engine built on interoperable standards. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 75be3c1. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and bash).
From 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 no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Downstream Sync loads about 1.1k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 447 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 mrchantey/beet at commit 75be3c1, republished under its Apache-2.0 licence (© mrchantey). 447 words, ~1,143 tokens.
.claude/skills/downstream-sync/SKILL.md (or your agent's skills folder).Beet has downstream repos (separate git repos building on beet via a path dependency). Each inherits beet's conventions rather than fracturing into its own: a verbatim copy of beet's AGENTS.md lives inside a marker block at the bottom of the downstream AGENTS.md, and beet's licenses and shared config files are copied as-is. This skill refreshes all of that; downstream-create scaffolds a new repo and registers it here.
/home/pete/me/beet_atproto/home/pete/me/beet_connect/home/pete/me/beet_egress/home/pete/me/beet_esp/home/pete/me/beet_evaldownstream-create adds a new repo to this list and to the DOWNSTREAM array below.
rustfmt.toml, LICENSE-MIT.txt, LICENSE-APACHE.txt: verbatim copies of beet's, so every downstream formats like beet and is dual licensed MIT OR Apache-2.0 like beet.AGENTS.md inherited block: everything between the markers is replaced with beet's current AGENTS.md (the working tree version, so in-flight edits propagate):<!-- beet:sync:begin, beet's AGENTS.md refreshed by the downstream-sync skill, do not hand-edit -->
<!-- beet:sync:end -->CLAUDE.md -> AGENTS.md symlink.No skill is copied into a downstream. A skill an agent working on a crate built on beet would invoke lives in the shared user-level ~/.agents/skills (stowed from /home/pete/me/arch-config/stow/agents/.agents/skills), so every repo already sees it: the generic ones under their own names (docs-diataxis, release, phased-plan, ..), the beet-specific ones prefixed beet- (beet-rendering, beet-create-cli, beet-audit-free-fns).
Beet-repo procedures stay in $BEET/.agents/skills, since they name beet's justfile recipes, worktrees, example set, site and deploy; they are reachable at that path like every other beet-relative path in the block. A downstream's own equivalents (its test command, its deploy entry) belong in its AGENTS.md header, and its .agents/skills holds only its own skills (beet_egress keeps download-takeout there), never named like a shared one.
AGENTS.md is its repo-specific header followed by the synced block. Where the header conflicts with the block, the header wins; downstream deltas (target quirks, path-dep notes, test attribute spellings) belong in the header, never as edits inside the block.AGENTS.md missing the markers is malformed, and a missing AGENTS.md is the same case: the script warns and skips it. Write the header by hand with the markers at the end (downstream-create's template is the shape), never append a second copy of anything, then rerun.BEET=/home/pete/me/beet
DOWNSTREAM=(/home/pete/me/beet_atproto /home/pete/me/beet_connect /home/pete/me/beet_egress /home/pete/me/beet_esp /home/pete/me/beet_eval)
for repo in "${DOWNSTREAM[@]}"; do
for file in rustfmt.toml LICENSE-MIT.txt LICENSE-APACHE.txt; do
cp "$BEET/$file" "$repo/$file"
done
if grep -q '<!-- beet:sync:begin' "$repo/AGENTS.md" 2>/dev/null; then
awk -v src="$BEET/AGENTS.md" '
/<!-- beet:sync:begin/ { print; while ((getline line < src) > 0) print line; close(src); skip=1; next }
/<!-- beet:sync:end/ { skip=0 }
!skip { print }
' "$repo/AGENTS.md" > "$repo/AGENTS.md.tmp" && mv "$repo/AGENTS.md.tmp" "$repo/AGENTS.md"
ln -sf AGENTS.md "$repo/CLAUDE.md"
else
echo "$repo/AGENTS.md: missing or no sync markers, write the header by hand" >&2
fi
doneAfterwards spot-check one downstream repo: AGENTS.md header intact, exactly one block with beet's current text inside it, and both license files present.
justfile, .cargo/config.toml, .gitignore: repo-shaped, they drift for real reasons; downstream-create writes their initial shape.Cargo.toml: repo-shaped; its license = "MIT OR Apache-2.0" (on the package, or [workspace.package] in a workspace) is set once, and downstream-create's template carries it..github/workflows/test.yml: revisit when a downstream gains CI.© mrchantey, 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
Just SKILL.md in .agents/skills/downstream-sync of mrchantey/beet.
Open the folder on GitHubat commit 75be3c1
Downstream Sync 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 |
|---|---|---|---|---|---|---|
| Downstream Sync this skillmrchantey/beet | 135 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Using Agent Skillsaddyosmani/agent-skills | 102k | 4 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Claude ReflectBayramAnnakov/claude-reflect | 1.7k | 2 repos | ~627 | Automated safety check: Pass | MIT | |
| Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills | 21k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Task Observerrebelytics/one-skill-to-rule-them-all | 3.2k | 1 repos | ~12k | Automated safety check: Pass | CC-BY-4.0 | |
| Writing For Agentsbestofjs/bestofjs | 3.1k | 17 repos | ~2.7k | Automated safety check: Pass | MIT |
addyosmani/agent-skills
Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.
BayramAnnakov/claude-reflect
Self-learning system that captures corrections during sessions and reminds users to run /reflect to update CLAUDE.md.
KKKKhazix/khazix-skills
Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.
rebelytics/one-skill-to-rule-them-all
Monitors task execution for skill improvement opportunities.
bestofjs/bestofjs
Writing documents for agents. An agent skill from bestofjs/bestofjs.
microsoft/SkillOpt
Runs an on-demand or nightly sleep cycle that reviews past Claude Code sessions and proposes validated updates to CLAUDE.md and skills.
mrchantey/beet
Scaffold a new beet downstream repo (beet<name, a sibling of this checkout depending on the beet facade by path) from the template, register it with downstream-sync and run the first sync.
mrchantey/beet
Run the workspace example smoke set to catch regressions unit tests miss, covering every feature gate combination with self-terminating examples and curl-probed servers.
mrchantey/beet
Maximal project health pass. An agent skill from mrchantey/beet.
mrchantey/beet
Comprehensive public-api quality pass over the core crates, reducing pub visibility and documenting every public item to a deny(missingdocs) standard.
mrchantey/beet
The release process for the beet website. An agent skill from mrchantey/beet.
mrchantey/beet
Write and edit the public website docs in site/routes/docs (beet.org/docs).
Works with
Categories
Refresh every downstream repo (beetatproto, beetconnect, beetegress, beetesp, beeteval) with beet's AGENTS.md marker block, its MIT/Apache licenses and shared config files. Downstream Sync is an agent skill from mrchantey/beet.md marker block, its MIT/Apache licenses and shared config files.
Downstream Sync fits situations like: tasks that involve Agent instruction files.
Run `npx skills add mrchantey/beet --skill downstream-sync -a claude-code`. Or copy the skill folder (.agents/skills/downstream-sync in mrchantey/beet) into .claude/skills/downstream-sync in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mrchantey/beet --skill downstream-sync -a codex`. Or copy the skill folder (.agents/skills/downstream-sync in mrchantey/beet) into .agents/skills/downstream-sync 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 mrchantey/beet --skill downstream-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/downstream-sync, .gemini/skills/downstream-sync, .github/skills/downstream-sync and .opencode/skills/downstream-sync in your project.
SKILL.md names no scripts, command-line tools or credentials: Downstream Sync is instructions for the agent only.
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.
Downstream Sync 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.
About 1.1k tokens (SKILL.md is roughly 4.6k 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 Downstream Sync: Using Agent Skills (addyosmani/agent-skills, 102k stars), Claude Reflect (BayramAnnakov/claude-reflect, 1.7k stars), Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars) and Task Observer (rebelytics/one-skill-to-rule-them-all, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mrchantey (a GitHub user) maintains it in mrchantey/beet, which has 135 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 7, 2026.
Source: mrchantey/beet on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.