VOOZH about

URL: https://thenewstack.io/engineering-team-skills-library/

⇱ How to build a skills library for your engineering team - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2026-05-13 09:00:00
How to build a skills library for your engineering team
sponsor-port,sponsored-post-contributed,
AI Engineering / Developer tools / Platform Engineering

How to build a skills library for your engineering team

How to build a skills library for your engineering team: standardize coding agents, fix agent sprawl, and keep developer workflows aligned.
May 13th, 2026 9:00am by Zohar Einy
👁 Featued image for: How to build a skills library for your engineering team
Beatriz Camaleão for Unsplash+
Port sponsored this post.

A few months ago, we realized that every engineer on our team was running a different version of their AI coding assistant.

Not the models, they were all using the latest ones.

But the skills their agents were using were all over the place. And skills make all the difference.

Some engineers configured their own skills. Others copied from older versions. And some just took some skills they found online.

And we had no visibility into any of it because skills are local config files.

So to solve it, we built a library. Now every engineer runs one command, and their agent starts from the same foundation.

They get the required company standards pulled automatically, and they can also load optional skills based on what they’re building.

Here’s how we built it:

Step 1: We put all our skills in a library

Skill files are just Markdown files that tell AI agents how your company works. You might have one for security conventions, one for incident protocols, and one for coding standards.

Here’s an example of our triage incident skill:

👁 Screenshot of a triage incident skill example

I’d suggest keeping them in version control and connecting them to the services and teams they’re relevant to.

There are a couple of reasons why you’d want to keep them in version control. Firstly, they change a lot, and you want to keep track of those changes. Second, the destination for these skills is usually an IDE, so having them in Git makes it easy for developers to sync them with their IDE.

Lastly, and most importantly for us, having skills with GitHub (or any version control system) lets us auto-discover them in Port, where we can connect them to everything else.

When skills are scattered (we call them “shadow skills”), we find it useful to draw on them from as many sources as possible.

👁 Screenshot of catalog discovery skill

We also get inspiration for skills from other places, such as PR review comments, ADRs, incident postmortems, onboarding docs, and community libraries like skills.sh.

Once you have your library assembled, it’s time to organize it.

👁 Screenshot of skills library

Step 2: Organize into groups and decide what’s required

A library of 200 individual skills isn’t really useful to anyone. Nobody wants to browse 200 files and find the few relevant ones.

To solve that, we group them by use case: engineering standards, frontend, backend, data, infrastructure, etc.

That way, when an engineer gets set up, they pick and import an entire group rather than individual files.

Skills should also be either required or optional.

Required skills are non-negotiable. Every engineer and agent gets them automatically, no opt-out:

  • Security: monitors for prompt injection, flags attempts to exfiltrate sensitive data, and blocks unauthorized external API calls
  • Coding conventions: how your team handles errors, names directories, structures TypeScript, writes tests
  • Rule governance: where skill files live, how they get named, how changes get versioned

Optional skills are role-specific and load only when relevant:

  • Django backend: fat models, thin views, migration discipline (expand-migrate-contract), idempotent Celery tasks. Activates for *.py files in the backend.
  • React components: component structure, RSC vs. client component rules, Web Vitals priorities. Activates for src/components/**/*.tsx.
  • Incident triage: walks through affected services, recent deployments, root-cause categories, and stakeholder update format. Only useful when something’s on fire.

Step 3: Engineers get the skills automatically

Engineers can get all the updated skills by running the port skill init from their terminal. It connects to the library using their existing permissions, pulls the required groups automatically, then prompts them to choose which optional groups they want: frontend, data, and ML, whatever matches their work.

👁 Screenshot of Port's load skills feature
👁 A screenshot showing port's load skills feature prompting the user to select AI tools which should have hooks installed
👁 A screenshot showing port's load skills feature prompting the user to select skill groups they would like to sync

Skills land directly in .cursor/ or whichever IDE config folder they use.

👁 Screenshot showing that skills land in the selected IDE config folder.

Two things make this work really well for us:

First, updates. Every engineer in Cursor has an automation that listens for changes to skills in Port and pulls new required skills and updates existing ones.

Second, we make it easy for developers to contribute back. Engineers can submit new skills directly from their IDE. Then they go through review, get merged, and get redistributed to the whole team, basically the same loop as an open source contribution. The library gets smarter over time without the platform team having to own every skill themselves.

Step 4: The feedback loop

We also have a meta-skill: a skill whose job is to watch for repeated corrections. When you fix the agent on the same thing twice in a session, it surfaces: “You’ve corrected me on this twice. Want me to write a skill for it?” If you say yes, it automatically kicks off the skill-creator, preloaded with what it just observed.

The loop becomes self-closing. The agent notices its own gaps, proposes the fix, and routes it into the same review and distribution flow. The platform team still reviews everything, but they’re not waiting for engineers to notice and submit manually. The library improves in the background.

“The loop becomes self-closing. The agent notices its own gaps, proposes the fix, and routes it into the same review and distribution flow.”

👁 Example of the agent noticing a repeated correction from a user, and automatically kicking off the skill-creator.

Step 5: Track if it’s working

Before the skills library, we had no idea what skill any agent on the team was running. Now we have a dashboard that tells us who’s set it up, which groups they pulled, and when they last synced. If someone is running on a six-month-old version of a skill, or never ran skill init at all, we see it.

We also track skill health: how old each skill is, when it was last updated, and who owns it. Skills go stale just like documentation does. Anything that hasn’t been touched in 90 days gets flagged.

👁 Screenshot showing Port's Skills Library interface

The contribution pipeline is basically a PR queue for the library. Skills submitted, in review, merged, rejected.

👁 Screenshot showing the contribution pipeline.

The metric I find most interesting is agent quality signals. We track which review comments keep appearing on AI-generated PRs. If the same comment appears more than a few times among different engineers, it automatically contributes to a skill or creates a new one.

And we track coverage by team: which teams have required skills loaded, which optional groups they’ve pulled, or where the gaps are.

Why this matters: agent sprawl

Your team probably already has an agent sprawl problem, but you may not know it yet: hundreds, if not thousands, of unofficial different skills, agents, and MCP servers are being created and used.

“Your team probably already has an agent sprawl problem, but you may not know it yet.”

A skills library is part of the fix. And once you have one, someone on your platform team can actually answer the question: what does every agent in this org know right now? At most companies, nobody can answer that.

Build it yourself

If you want to set this up, the demo and full technical guide are in the comments. It’s just a few hours of work for one platform engineer, and once it’s running, the whole team benefits automatically.

Port is an open, flexible internal developer portal that enables platform teams to streamline everything developers need to be productive and align with stakeholders (managers, security, and SREs). Port unifies your unique set of tools, reduces cognitive load & guides them along your golden paths.
Learn More
The latest from Port
Hear more from our sponsor
TRENDING STORIES
Zohar Einy is the CEO of Port, the agentic engineering platform that is helping customers like GitHub, Visa, and PwC move from manual to autonomous engineering. Zohar began his career in the Israel Defense Forces' 8200 unit as an engineer,...
Read more from Zohar Einy
Port sponsored this post.
SHARE THIS STORY
TRENDING STORIES
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
👁 Image
Are these engineering challenges holding you back? Read our 2nd annual report.