What Are the Dependencies for k-skill? Complete Monorepo Dependency Guide
k-skill uses npm workspaces with zero runtime dependencies at the root level; each skill package declares its own dependencies, with browser-automation skills relying on playwright-core and the proxy server using fastify.
The k-skill repository by NomaDamas is a monorepo containing dozens of independent skill packages for automating Korean public services. Unlike typical Node.js projects, k-skill's root package.json contains no runtime dependencies—only workspace configuration and development tooling. This article maps every runtime dependency across the repository, organized by package, with direct source file references.
How k-skill Manages Dependencies
k-skill follows an npm workspaces architecture. This means:
- The root
package.jsondefines onlyworkspacesand dev-tools like@changesets/cli,typescript, and@types/node - Each package in
packages/maintains its owndependenciesandoptionalDependencies - Cross-package dependencies use workspace references (e.g.,
k-skill-browser-runtime@^0.4.0)
This design keeps individual skills lightweight while allowing shared runtime code.
Core Workspace Packages and Their Dependencies
k-skill-proxy: HTTP Server Runtime
The proxy server uses Fastify as its web framework.
| Dependency | Version | Purpose |
|---|---|---|
fastify |
^5.10.0 |
Lightweight HTTP server |
Source: [packages/k-skill-proxy/package.json](https://github.com/NomaDamas/k-skill/blob/main/packages/k-skill-proxy/package.json)
k-skill-browser-runtime: Browser Automation Core
This is the foundational runtime for all browser-based skills. It declares optional dependencies for Playwright implementations.
| Dependency | Version | Type | Purpose |
|---|---|---|---|
playwright-core |
>=1.40.0 |
optionalDependencies |
Standard browser automation |
rebrowser-playwright |
>=1.40.0 |
optionalDependencies |
Rebrowser-flavored Playwright for stealth |
Source: [packages/k-skill-browser-runtime/package.json](https://github.com/NomaDamas/k-skill/blob/main/packages/k-skill-browser-runtime/package.json)
Note: These are optional because consuming packages must explicitly install one Playwright variant.
k-skill-cli: Pure CLI Wrapper
No dependencies. This package serves only as an entry point wrapper.
Source: [packages/k-skill-cli/package.json](https://github.com/NomaDamas/k-skill/blob/main/packages/k-skill-cli/package.json)
Skill Packages with Runtime Dependencies
yebigun-training, hipass-receipt, ev-subsidy-status
These browser-automation skills share identical dependency patterns:
| Dependency | Version |
|---|---|
k-skill-browser-runtime |
^0.4.0 |
playwright-core |
^1.52.0 |
Sources:
- [
packages/yebigun-training/package.json](https://github.com/NomaDamas/k-skill/blob/main/packages/yebigun-training/package.json) - [
packages/hipass-receipt/package.json](https://github.com/NomaDamas/k-skill/blob/main/packages/hipass-receipt/package.json) - [
packages/ev-subsidy-status/package.json](https://github.com/NomaDamas/k-skill/blob/main/packages/ev-subsidy-status/package.json)
court-payment-order-assistant, court-auction-notice-search
These court-related skills depend only on the browser runtime:
| Dependency | Version |
|---|---|
k-skill-browser-runtime |
^0.4.0 |
Sources:
- [
packages/court-payment-order-assistant/package.json](https://github.com/NomaDamas/k-skill/blob/main/packages/court-payment-order-assistant/package.json) - [
packages/court-auction-notice-search/package.json](https://github.com/NomaDamas/k-skill/blob/main/packages/court-auction-notice-search/package.json)
naming-house: Korean Name Utilities
This package pulls in specialized third-party libraries:
| Dependency | Version | Purpose |
|---|---|---|
korean-stroke |
^1.1.5 |
Korean character stroke calculation |
namefyi |
^0.1.2 |
Name analysis utilities |
saju-fortune |
^0.2.0 |
Saju (four pillars) fortune calculation |
Source: [packages/naming-house/package.json](https://github.com/NomaDamas/k-skill/blob/main/packages/naming-house/package.json)
k-skill-rhwp: Hangul Word Processor Support
| Dependency | Version | Purpose |
|---|---|---|
@rhwp/core |
^0.7.3 |
WebAssembly wrapper for HWP files |
Source: [packages/k-skill-rhwp/package.json](https://github.com/NomaDamas/k-skill/blob/main/packages/k-skill-rhwp/package.json)
Skill Packages with Zero Dependencies
Many skills require no npm packages, relying solely on Node.js core or external public APIs:
| Package | Description |
|---|---|
k-lotto |
Public lottery API client |
used-car-price-search |
Vehicle price lookup |
saju-fortune |
Fortune calculation (when used standalone) |
public-restroom-nearby |
Public facility locator |
parking-lot-search |
Parking information search |
These packages contain only source code with dependencies: {} in their package.json files.
Installing and Using k-skill Dependencies
Full Monorepo Setup
# Clone the repository
git clone https://github.com/NomaDamas/k-skill.git
cd k-skill
# Install all workspace dependencies with lockfile respect
npm ci
Single Package Installation
# Example: standalone skill with no dependencies
cd packages/k-lotto
npm install
node -e "import('k-lotto').then(m => console.log(m.getLatest()))"
Browser-Enabled Skill Setup
# Example: skill requiring Playwright
cd packages/hipass-receipt
npm install # installs k-skill-browser-runtime + playwright-core
# Verify CLI
node src/cli.js --help
Key Dependency Files in k-skill
| File Path | What It Defines |
|---|---|
package.json (root) |
Workspace layout, dev-tools only |
packages/k-skill-proxy/package.json |
Fastify HTTP server dependency |
packages/k-skill-browser-runtime/package.json |
Optional Playwright variants |
packages/k-skill-cli/package.json |
Zero-dependency CLI entry point |
packages/naming-house/package.json |
Third-party Korean utilities |
packages/k-skill-rhwp/package.json |
WebAssembly HWP dependency |
Summary
- Root
package.jsondeclares zero runtime dependencies for k-skill—only workspace configuration and build tools - Browser-automation skills depend on
k-skill-browser-runtimeandplaywright-core - HTTP proxy server (
k-skill-proxy) usesfastify@^5.10.0 - Domain-specific packages pull specialized libraries like
@rhwp/corefor HWP files orkorean-strokefor name utilities - Many skills ship with no dependencies, using only Node.js core or public HTTP APIs
- All dependency versions are locked via the root lockfile when using
npm ci
Frequently Asked Questions
Does k-skill have any dependencies at the root level?
No. The root package.json only defines workspaces and development tools like typescript and @changesets/cli. All runtime dependencies are declared per-package in the packages/ directory.
Which k-skill packages require Playwright?
k-skill-browser-runtime optionally supports playwright-core and rebrowser-playwright. Consuming packages like yebigun-training, hipass-receipt, and ev-subsidy-status explicitly depend on playwright-core@^1.52.0 for browser automation.
How do I install dependencies for a single skill without the entire monorepo?
Navigate to the specific package directory and run npm install. For zero-dependency packages like k-lotto, this completes instantly. For browser-based skills, this pulls playwright-core and the browser runtime automatically.
What is @rhwp/core used for in k-skill?
@rhwp/core@^0.7.3 is a WebAssembly-based library for reading and writing Hangul Word Processor (HWP) files, as used by the k-skill-rhwp package for Korean government document automation.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →