Repository navigation
Team-authored skills: let each team teach OpenSRE their own vendor workflows #5674
Closed
YauhenBichel
started this conversation in
Ideas
Replies: 1 comment
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The idea
Pi's progressive-disclosure skills: a skill is just a markdown file with
frontmatter, loaded only when it is needed — run it with
/skill:commit, orlet the agent auto-load it by its description.
The proposal for OpenSRE: let each team write their own skills for the vendors
they actually use. How your team triages a Datadog monitor, which dashboards
matter, what "sev2" means where you work — that is team knowledge, and it does
not belong in the OpenSRE repo.
OpenSRE already has this format
Almost exactly. Here is a real one from the tree
(
integrations/github/tools/ci_fix/SKILL.md):Same frontmatter, same
name+description, plus atools:list that bindsthe skill to the tools it governs. There are 14 of these today, and a
skill_viewaction tool the agent can call to read one.
So the format question is settled. Two other things are not.
Gap 1 — skills must live in the OpenSRE repo
tools/registry_skill_guidance.pybuilds its skill list from seven hardcodedREPO_ROOTpaths plus one glob over a single directory:A team that wants a skill for how they use Grafana has to open a pull request
against OpenSRE — for knowledge that is specific to their company and useful to
nobody else.
There is no user directory, no project-local directory, no per-team location, and
no way to load one from outside the checkout.
Gap 2 — guidance is always loaded, never progressive
This is the more interesting difference, and it is the exact thing the Pi
screenshot is advertising.
OpenSRE attaches skill text to the tool description at registry load:
capped at 2400 characters per tool. So every attached skill's text sits in the
prompt on every turn, relevant or not. Add ten team skills and you have added
a permanent context cost to every conversation, whether the topic comes up or not.
Pi's model loads the file when the description matches or when the user asks for
it by name. OpenSRE already has the primitive for this — the
skill_viewactiontool reads a skill on demand — but the attachment path does not use it.
Worth noting the mechanism half-anticipates this: skills can set
disable_model_invocation, so "not always attached" is already a concept.Questions this discussion is for
~/.opensre/skills/), aproject directory next to the code being operated, a git repo the team shares,
or a pip-installable package? Each has different answers for review, versioning,
and trust.
load-on-match like Pi, or both — product skills attached, team skills
on demand? This decides whether ten team skills are free or expensive.
descriptionline. OpenSREbinds with an explicit
tools:list. Description-matching scales to skills thatare not about one tool ("how we do postmortems");
tools:is more precise.Do we need both?
that the boundary, or should a team skill be able to declare a preferred tool
order, a required approval, or a forbidden action?
loaded from a shared repo is a supply-chain surface — who reviews it, and does
it need a different trust level from an in-tree one?
loading tools from pip packages via entry points. Team skills have the same
discovery problem. One mechanism or two?
What would help most
If your team has a vendor you use in a specific way — what would you write in the
skill? A real example beats a general mechanism, and one concrete file is enough
to test whether the format, the discovery, and the loading model actually fit.
All reactions