Skip to content

feat: consolidate all skills into single-source references#6

Merged
nicknisi merged 6 commits into
mainfrom
nicknisi/skills-integration
Mar 7, 2026
Merged

feat: consolidate all skills into single-source references#6
nicknisi merged 6 commits into
mainfrom
nicknisi/skills-integration

Conversation

@nicknisi

@nicknisi nicknisi commented Mar 7, 2026

Copy link
Copy Markdown
Member

Summary

  • Move all 17 CLI skill files (AuthKit frameworks, backend SDKs, management) into references/ as the single source of truth
  • Delete 6 AuthKit skill directories — replaced by CLI's canonical versions
  • Only 2 registered skills remain: workos (router) and workos-widgets
  • Add ESM package entry point (plugins/workos/index.ts) exporting path and content helpers for CLI consumption
  • Update router with progressive disclosure for all references: AuthKit frameworks, backend SDKs, language detection, management
  • Simplify eval runner — all skills now load from references/
  • Rewrite README with npm usage docs

Context

The workos CLI and this marketplace plugin both maintained AuthKit skill files independently. They diverged over time (different README URLs, different gotchas, CLI had SvelteKit while this repo didn't). This PR makes @workos/skills the single source of truth. The CLI will consume this package and inject reference content directly into the agent prompt.

npm Package Usage

After publishing, the CLI (or any consumer) can import content helpers:

npm install @workos/skills
import { getReference, getSkill } from '@workos/skills';

// Read reference content directly
const content = await getReference('workos-authkit-nextjs');

// Read a skill's SKILL.md content
const router = await getSkill('workos');

Path helpers are also available for consumers that need file paths (e.g., skill discovery):

import { getReferencePath, getSkillsDir, getSkillPath } from '@workos/skills';

const refPath = getReferencePath('workos-authkit-nextjs'); // absolute path to .md file
const skillsDir = getSkillsDir();                          // directory containing workos/ and workos-widgets/
const skillPath = getSkillPath('workos');                   // absolute path to SKILL.md

Exports

Function Returns
getReference(name) Promise<string> — reference file content
getSkill(skillName) Promise<string> — skill SKILL.md content
getReferencePath(name) Absolute path to references/{name}.md
getSkillsDir() Absolute path to the skills/ directory
getSkillPath(skillName) Absolute path to skills/{skillName}/SKILL.md

Architecture

Marketplace plugin:  Router (SKILL.md) → Read references/*.md → agent fetches docs
CLI (post follow-up PR): buildIntegrationPrompt() → await getReference(name) → inject into prompt
  • 40 reference files (22 original topic files + 17 from CLI + 1 integrations router)
  • 2 registered skill directories: workos/ and workos-widgets/
  • ESM entry point: plugins/workos/index.ts

Test plan

  • pnpm test — 182 tests pass
  • pnpm lint — 0 warnings, 0 errors
  • pnpm eval -- --dry-run — 42 cases load
  • pnpm eval -- --no-cache --case=authkit-nextjs-setup — +19% delta
  • CLI evals with linked package — 62/62 passed (100%), no regression vs pre-consolidation
  • workos skills list shows 2 skills from package
  • workos skills install/uninstall works with package-sourced skills
  • Manual Next.js 16 install flow — successful

nicknisi added 6 commits March 7, 2026 12:46
… point

Move all 17 CLI skill files (AuthKit frameworks, backend SDKs, management)
into references/ as the single source of truth. Delete 6 AuthKit skill
directories — CLI canonical versions replace them entirely.

- Add 17 new reference files from CLI (authkit-*, node, python, dotnet,
  go, ruby, php, php-laravel, kotlin, elixir, sveltekit, management)
- Delete workos-authkit-{base,nextjs,react,react-router,tanstack-start,
  vanilla-js} skill directories
- Update router (workos/SKILL.md) with progressive disclosure for all
  references: AuthKit frameworks, backend SDKs, language detection,
  management
- Add ESM package entry point (plugins/workos/index.ts) exporting
  getReferencePath, getSkillsDir, getSkillPath helpers
- Add exports field to package.json
- Simplify eval runner — all skills now load from references/
- Remove dead HAND_CRAFTED_SKILLS constant

Only 2 registered skills remain: workos (router) and workos-widgets.
Everything else is a reference file dispatched by the router.
Configure release-please to bump versions in package.json,
plugin.json, and marketplace.json together. Uses extra-files
with jsonpath to keep all three in sync on each release.

Also syncs plugin.json and marketplace.json to 0.1.0 to match
the current package.json version.
@nicknisi nicknisi merged commit f8a36b4 into main Mar 7, 2026
2 checks passed
@nicknisi nicknisi deleted the nicknisi/skills-integration branch March 7, 2026 21:17
@github-actions github-actions Bot mentioned this pull request Mar 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant