How We Manage AI Agent Skills Across Our Team (And Why Nobody Else Does Yet)
We run an injection molding shop with a small team and one AI agent that helps all of them. The agent — Hermes — lives in each person's Telegram, knows their name, reads their daily tasks from a priority file, and helps them log production, check stock, and get their morning briefing without anyone standing over them.
It works. Our lead operator gets tasks at 6 AM. Our evening operator checks in from a separate job. Our assembler clocks in and knows what to build. A copy of everything lands on our phone.
But here's the problem we didn't expect: Hermes gives every employee every skill it has.
When you set up a profile, the entire skill tree — 200+ skills covering everything from Shopify order management to GitHub code review to Fusion 360 CAD to IRS offer-in-compromise calculations — gets copied to every person's profile. Our lead operator, who runs the injection molder and assembles parts, had access to cash flow forecasting, nginx reverse proxy configuration, and a music generation tool. Our evening operator, who works nights on the molder around a separate job, could technically modify our quoting engine. Our assembler, who assembles and ships parts, had every admin skill we use to manage the company.
That's not a feature. That's a liability.
What we built
Over time, we built a skill management system on top of Hermes. It does six things that Hermes doesn't do natively:
1. Role-based assignment — Each employee gets exactly the skills their job requires. Our lead operator gets production logging, stock updates, inventory, and order fulfillment. Our evening operator gets the molder and production logging. Our assembler gets assembly, stock, and inventory. Nobody gets admin tools they don't need.
2. Trust tiers — New employees start as "probationary." They can use their assigned skills and even create new ones, but everything they create gets audited extra hard. Earn trust through quality work, get promoted to "trusted." Abuse it, get locked to read-only.
3. Drift detection — A nightly audit runs at 5 AM, compares each employee's skills against a known-good baseline, and sends a plain-English report of what changed. No file paths, no code, no technical jargon — just "the morning briefing skill was updated and synced to all employees" or "one of your operators modified a skill, want us to review it?"
4. Gap detection — When an employee asks for something their skills can't do, they get a warm response: "We're working on getting you access to that." A silent log entry shows up in the morning email: "Your evening operator asked about Shopify orders yesterday. Want us to add it to their profile?" The employee feels taken care of, not restricted. We see who's curious and who's growing.
5. No symlinks, no shortcuts — Every employee gets real copies of skills, not symlinks. When we update a skill in the master tree, we push it to each profile. It's more work, but it means each person's skills are independent and can't break each other.
6. Audit trail — Every skill change — creation, modification, promotion, rejection — gets logged with who, what, when, and why. We can see the history of every skill in the system.
The results so far
Before this system, every employee had 200+ skills. Most were irrelevant. Some were dangerous (admin tools, financial tools, system configuration). Nobody knew what anyone else could do.
After:
| Role | Before | After | What they actually do |
| Lead operator | 215 skills | 215 (unchanged — earned access) | Runs the molder, assembles, fulfills orders, manages stock |
| Evening operator | 205 skills | 6 skills | Evening molder operator, logs production |
| Assembler | 210 skills | 8 skills | Assembles, clips, cleans, ships, logs stock |
| Inactive member | 214 skills | 214 (inactive) | Not currently using the system |
One operator went from having every business tool at their fingertips to having exactly what they need: clock in, report what they made, check their briefing. If they need something else — if they get curious, if they want to take on more — the system tells us, and we can authorize it in one command.
One assembler had admin skills they never asked for and don't need. They assemble, ship, and log stock. That's what they do. If they want more, the gap detection surfaces it.
Why this matters beyond our shop
We looked at the landscape. Nobody does this:
- Hermes has the best skill format and profile isolation, but no management layer. Everyone gets everything. - Claude Code has no multi-user or multi-profile management at all. - Cursor has Teams tier access controls, but no drift detection or skill capture. - OpenAI has no skill file format — everything is plain text instructions in a UI. - LangChain is pure code — no non-developer interface.
There's academic research — a paper called SkillGuard proposes treating skills as "permission-bearing executable artifacts" with manifests and runtime access control. StepSecurity just added agent skills inventory to their fleet management product. Kore.ai talks about drift detection as a core feature of agent management platforms.
But nobody has put it all together: role-based assignment, trust tiers, drift detection, gap detection, promotion pipelines, and cross-system deployment — in a system that an owner-operator can actually use.
We did. On a live system with real employees.
What's next
The system runs nightly now. Every morning at 5 AM, we get an email if anything changed. If someone reaches for something they don't have, we see it. If a skill drifts, we see the diff in plain English.
Next: deploy the same system to a second team (a separate company with more people and more creativity). Then explore whether this is worth sharing as an open-source project or a Hermes skill — because if we need it, other small shops running AI agents will too.
The bottom line: managing what your AI agent can do is not a future problem. It's a today problem. We solved it for a three-person shop. It scales from there.