Commit 2ec4c18
authored
feat: consume skills from @workos/skills package (#88)
* feat: consume skills from @workos/skills package instead of local files
Replace the CLI's bundled skill files with the @workos/skills npm
package as the single source of truth. Reference content is now
injected directly into the agent prompt, eliminating the Skill tool
round-trip for faster execution.
- Add @workos/skills as dependency
- Update buildIntegrationPrompt to read reference markdown from the
package and inject into prompt (replaces "use the X skill" pattern)
- Remove Skill from allowedTools — no longer needed
- Update plugin loading to point to @workos/skills package
- Update getSkillsDir() to delegate to the package
- Delete skills/ directory (17 skill files)
- Delete .claude-plugin/ directory (plugin identity from package)
- Remove skills and .claude-plugin from package.json files array
* docs: add Do/Don't and PR checklist to CLAUDE.md
* refactor: use async getReference helper from @workos/skills
* chore: use published @workos/skills@0.2.1 instead of local link
* fix: remove unused getPackageRoot import
* chore: formatting
* fix: correct return type for async buildIntegrationPrompt
* fix: inject reference content in non-JS integrations instead of Skill tool
Update dotnet, elixir, go, python, and ruby custom run() functions
to read and inject reference content from @workos/skills, matching
the pattern used by buildIntegrationPrompt. This fixes the Skill
tool being unavailable since it was removed from allowedTools.
* test: add guard against Skill tool references in integrations
Scans all integration index.ts files to ensure none tell the agent
to invoke a skill. Also verifies allowedTools excludes Skill.
Prevents regression if new integrations copy old patterns.
* fix: build env var list dynamically and remove credentials from prompts
- buildIntegrationPrompt now builds the env var list based on
config.environment.requiresApiKey instead of always listing
WORKOS_API_KEY (fixes misleading prompt for React SPA)
- Remove raw API key and client ID values from dotnet and ruby
prompts to prevent credential leakage into log files
* chore: formatting
* fix: address Copilot review feedback
- Update stale comment in dotnet (credentials no longer in prompt)
- Fix ruby prompt to not claim env vars are pre-configured
- Strengthen guard test regex to match escaped backticks
* fix: include authkit-base reference alongside framework-specific reference
The switch from skill invocation to direct injection dropped the base
template that provides task ordering, decision trees, verification
checklists, and error recovery patterns. Load both workos-authkit-base
and the framework-specific reference to restore the full context.
* fix: use @workos/skills@0.2.2
* chore: formatting1 parent 0b89092 commit 2ec4c18
30 files changed
Lines changed: 148 additions & 3300 deletions
File tree
- .claude-plugin
- skills
- workos-authkit-base
- workos-authkit-nextjs
- workos-authkit-react-router
- workos-authkit-react
- workos-authkit-sveltekit
- workos-authkit-tanstack-start
- workos-authkit-vanilla-js
- workos-dotnet
- workos-elixir
- workos-go
- workos-kotlin
- workos-management
- workos-node
- workos-php-laravel
- workos-php
- workos-python
- workos-ruby
- src
- commands
- integrations
- dotnet
- elixir
- go
- python
- ruby
- lib
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
30 | | - | |
31 | 29 | | |
32 | 30 | | |
33 | 31 | | |
| |||
43 | 41 | | |
44 | 42 | | |
45 | 43 | | |
| 44 | + | |
46 | 45 | | |
47 | 46 | | |
48 | 47 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
This file was deleted.
0 commit comments