Skip to content

Skills

Warlock.js packages ship a package orientation and focused task topics: register a route, write a migration, choose a cache driver, or define an AI tool. The package index explains what belongs in that package, where to start, and when to use another package. Agents load detailed topics as needed.

Install agent-kit in your application, then sync the installed packages:

Terminal window
npm install --save-dev @mongez/agent-kit
npx agent-kit sync

With agent-kit 1.3’s default auto layout, a package with two or more topics and skills/index.md exports as one skill per package. For example:

.claude/skills/warlock-js-core/
SKILL.md # package index + generated Topics table
test-browser.md # focused topic
report-framework-issue.md # focused topic

Other targets, including Cursor and Codex, receive the same package guidance. Each grouped topic originates in skills/<topic>/SKILL.md; its assets are exported alongside it. A single-topic package uses skills/SKILL.md, with assets beside that file, and exports directly as warlock-js-<package>. The unscoped create-warlock package exports as create-warlock. Applications can configure agentKit.layout as grouped or flat to override automatic grouping.

Read core’s test-browser topic for browser flows, upgrade-from-5-29 for application migrations, and report-framework-issue when a confirmed framework bug or missing capability needs a sanitized report and user approval before filing. Cache’s use-cache-utils topic covers TTL constants, key parsing and vector helpers. Custom AI tool definitions belong to the define-ai-tool topic of @warlock.js/ai; @warlock.js/ai-tools supplies ready-made tools and MCP.

Every package ships exactly one exported skill under the default auto layout. For one topic, put its guidance at skills/SKILL.md; do not add an index or topic folders. Its frontmatter name is the package slug used by agent-kit.

For two or more topics, use skills/index.md as the package front door, with a body that names every local topic. Put detailed guidance in skills/<topic>/SKILL.md, with name and a description explaining when to read it. Agent-kit generates the Topics table from those descriptions; do not maintain a second table or a duplicate overview topic.

The package front door’s description must be nonempty and at most 450 characters; aim for 350–420. Describe the package, key exported APIs, common user requests and “Not this package →” pointers. Topic descriptions are loaded through the grouped skill and have their own task scope. Keep the total across packages under 14,000 characters.

Loose Markdown files other than index.md in grouped packages are not exported. In particular, putting a guide directly at skills/report-framework-issue.md would hide it from applications. Use a topic folder even though the grouped export becomes a sibling .md file.

Name cross-package topics with their owner: “the define-ai-tool topic of the @warlock.js/ai package”. The release tooling’s check:skill-path-refs gate checks one exported skill per package, description limits, index coverage, missing local references, loose Markdown and path-style topic links in CI and before release. Generated package llms.txt and llms-full.txt project the index and topics from the same sources.

This catalog comes from package frontmatter, including root skills and grouped indexes. Refresh it with node docs/scripts/generate-skills.mjs from the repository root. There are 33 package skills using 13,325 description characters.

PackageExported skillDescription characters
@warlock.js/accesswarlock-js-access363
@warlock.js/aiwarlock-js-ai419
@warlock.js/ai-anthropicwarlock-js-ai-anthropic395
@warlock.js/ai-bedrockwarlock-js-ai-bedrock387
@warlock.js/ai-cliwarlock-js-ai-cli406
@warlock.js/ai-deepseekwarlock-js-ai-deepseek383
@warlock.js/ai-googlewarlock-js-ai-google394
@warlock.js/ai-groqwarlock-js-ai-groq382
@warlock.js/ai-livewarlock-js-ai-live409
@warlock.js/ai-mistralwarlock-js-ai-mistral398
@warlock.js/ai-ollamawarlock-js-ai-ollama395
@warlock.js/ai-openaiwarlock-js-ai-openai414
@warlock.js/ai-panopticwarlock-js-ai-panoptic412
@warlock.js/ai-toolswarlock-js-ai-tools404
@warlock.js/ai-workspacewarlock-js-ai-workspace398
@warlock.js/ai-xaiwarlock-js-ai-xai389
@warlock.js/authwarlock-js-auth418
@warlock.js/cachewarlock-js-cache405
@warlock.js/cascadewarlock-js-cascade414
@warlock.js/contextwarlock-js-context409
@warlock.js/corewarlock-js-core405
create-warlockcreate-warlock414
@warlock.js/devtoolswarlock-js-devtools420
@warlock.js/fswarlock-js-fs410
@warlock.js/heraldwarlock-js-herald417
@warlock.js/loggerwarlock-js-logger414
@warlock.js/notificationswarlock-js-notifications417
@warlock.js/processwarlock-js-process405
@warlock.js/queuewarlock-js-queue419
@warlock.js/schedulerwarlock-js-scheduler402
@warlock.js/sealwarlock-js-seal393
@warlock.js/sitemapwarlock-js-sitemap411
@warlock.js/webwarlock-js-web404