<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Keska Labs]]></title><description><![CDATA[Keska Labs]]></description><link>https://blog.keska.io</link><image><url>https://cdn.hashnode.com/uploads/logos/69f652880ab374db992f68c6/aa28cded-812c-44c6-a921-80f72d235e5b.png</url><title>Keska Labs</title><link>https://blog.keska.io</link></image><generator>RSS for Node</generator><lastBuildDate>Sun, 03 May 2026 16:01:16 GMT</lastBuildDate><atom:link href="https://blog.keska.io/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[We shipped a Cursor plugin to make enterprise skills repo useful]]></title><description><![CDATA[Agent Skill Sync is a small extension that does one thing well: it pulls skills and rules from a GitHub repo (or a custom registry) and drops them where Cursor (and friends) actually look—.cursor/rule]]></description><link>https://blog.keska.io/we-shipped-a-cursor-plugin-to-make-enterprise-skills-repo-useful</link><guid isPermaLink="true">https://blog.keska.io/we-shipped-a-cursor-plugin-to-make-enterprise-skills-repo-useful</guid><dc:creator><![CDATA[Gil Ben Moshe]]></dc:creator><pubDate>Sat, 02 May 2026 20:07:32 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/69f652880ab374db992f68c6/2a6d5a8b-3b40-47a6-9d95-63b4b3752e5c.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Agent Skill Sync</strong> is a small extension that does one thing well: it pulls skills and rules from a GitHub repo (or a custom registry) and drops them where Cursor (and friends) actually look—<code>.cursor/rules</code> and <code>.cursor/skills</code>. No copy-paste. No “did everyone update the repo?” .</p>
<p>You can grab it on the Open VSX Registry: <a href="https://open-vsx.org/extension/KeskaLabsAB/agent-skill-sync"><strong>KeskaLabsAB / agent-skill-sync</strong></a>.</p>
<hr />
<h2>What it does (without the brochure voice)</h2>
<p>You connect a source—usually <code>owner/repo</code> on GitHub. The Skill Manager opens in the sidebar: <strong>Manage</strong> for what’s on in <em>this</em> workspace, <strong>Browse</strong> if you want to poke around the tree like a civilized person. There’s also catalog search when you’d rather type “api docs” than click five folders.</p>
<p>Content-wise we support the boring-but-useful stuff:</p>
<ul>
<li><p><strong>Single-file rules</strong> (<code>.mdc</code>, <code>.md</code>, etc.) → synced as Cursor-style rules.</p>
</li>
<li><p><strong>Skill packages</strong>—folders with a <code>SKILL.md</code> in the <a href="https://agentskills.io/specification">agentskills.io</a> shape → whole directory lands under <code>.cursor/skills/&lt;name&gt;/</code> when you flip it on.</p>
</li>
</ul>
<p>So your “skills repo” can be a real repo: versioned, reviewed, boring in a good way.</p>
<hr />
<h2>Why we bothered publishing it</h2>
<p>Internally we were already curating skills in git—security checklists, PR templates, little opinionated prompts that make agents less chaotic. The missing piece was <strong>getting that into the editor without ceremony</strong>. We got tired of documenting the manual steps for every new machine and every new teammate.</p>
<p>Publishing it was basically: <em>if we need this, someone else might too</em>—and Open VSX is a fine home for tooling that isn’t married to a single storefront. Same extension, same idea: <strong>your skills live in source control; the editor just syncs what you opted into.</strong></p>
<hr />
<h2>How to use it (the short path)</h2>
<ol>
<li><p><strong>Install</strong> from Open VSX: <a href="https://open-vsx.org/extension/KeskaLabsAB/agent-skill-sync">agent-skill-sync</a>.</p>
</li>
<li><p>Open the <strong>Skills</strong> view (or run the command palette entry for managing skills—your muscle memory may vary).</p>
</li>
<li><p><strong>Sign in to GitHub</strong> if the repo is private; we use the normal provider flow, nothing exotic.</p>
</li>
<li><p>Point it at your repo (<code>owner/repo</code>) or switch to registry mode if that’s your setup.</p>
</li>
<li><p>On <strong>Manage</strong>, toggle what you want. Sync runs in the background or when you hit refresh—either way, files show up under <code>.cursor/rules</code> and <code>.cursor/skills</code> in the workspace you’re in.</p>
</li>
</ol>
<p>Keyboard shortcut people: <strong>Ctrl+Alt+S</strong> (Windows/Linux) or <strong>Cmd+Alt+S</strong> (macOS) focuses the sidebar, unless you’ve remapped it to something weirder. We don’t judge.</p>
<p>Settings are the usual <code>skillSync.*</code> keys—source mode, repo string, registry URL, categories, opted-in list. If you live in JSON settings, you already know where to click.</p>
<hr />
<h2>Fine print, but make it fashion</h2>
<p>GitHub traffic uses <strong>your</strong> session. We’re not shipping analytics in the extension to tell you how often you toggled “API documentation.” Skills land in <strong>your</strong> workspace paths; nothing magic happens in our cloud because there isn’t one for this.</p>
<p>If something breaks, open an issue on <a href="https://github.com/keska-labs/enterprise-skills"><strong>github.com/keska-labs/enterprise-skills</strong></a>. If it doesn’t break, enjoy the part where your agent actually reads the same files as the rest of the team.</p>
<hr />
<p><em>— Keska Labs</em></p>
]]></content:encoded></item></channel></rss>