npm analyzed 0.19.16

sshwarts/skillscript

v0.19.16
npm

Skillscript — a small declarative language for authoring agent workflows. Runtime, compiler, and CLI.

maintainer
sshwarts
license
MIT
first seen
2026-06-04
last seen
2026-06-20
releases · 30d
176
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

code evidence v0.19.16 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 19

  • fs sshwarts-skillscript-caa4358/scripts/check-published-paths.mjs :17 import { readFileSync } from "node:fs";
  • fs sshwarts-skillscript-caa4358/scripts/copy-dashboard-assets.mjs :7 import { mkdir, readdir, copyFile } from "node:fs/promises";
  • fs sshwarts-skillscript-caa4358/scripts/loc-ceiling.mjs :138 import { readdir, readFile } from "node:fs/promises";
  • fs sshwarts-skillscript-caa4358/scripts/mintlify-escape-mdx-tables.mjs :30 import { readFileSync } from "node:fs";
  • fs sshwarts-skillscript-caa4358/scripts/stamp-examples.mjs :10 import { readFileSync, writeFileSync, readdirSync, statSync } from "node:fs";
  • fs sshwarts-skillscript-caa4358/src/bootstrap.ts :25 import { existsSync, readFileSync, writeFileSync, mkdirSync, chmodSync } from "node:fs";
  • fs sshwarts-skillscript-caa4358/src/cli.ts :8 import { readFile, writeFile, mkdir, stat } from "node:fs/promises";
  • fs sshwarts-skillscript-caa4358/src/connectors/config.ts :25 import { readFileSync, existsSync } from "node:fs";
  • fs sshwarts-skillscript-caa4358/src/connectors/data-store.ts :3 import { mkdirSync, existsSync } from "node:fs";
  • fs sshwarts-skillscript-caa4358/src/connectors/skill-store.ts :1 import { readFile, readdir, writeFile, mkdir, stat, unlink, appendFile } from "node:fs/promises";
  • fs sshwarts-skillscript-caa4358/src/connectors/sqlite-skill-store.ts :3 import { mkdirSync, existsSync } from "node:fs";
  • fs sshwarts-skillscript-caa4358/src/dashboard/server.ts :4 import { readFile } from "node:fs/promises";
  • fs sshwarts-skillscript-caa4358/src/dotenv-loader.ts :26 import { readFileSync, existsSync } from "node:fs";
  • fs sshwarts-skillscript-caa4358/src/help-content.ts :286 Reads via Node \`fs.readFile\`. Substitutes \`\${VAR}\` in the path. Optional \`(fallback: "...")\` trailer binds when read fails. **Container note:** when the runtime is sandboxed (Docker, container
  • fs sshwarts-skillscript-caa4358/src/runtime-config.ts :20 import { readFileSync } from "node:fs";
  • fs sshwarts-skillscript-caa4358/src/runtime.ts :10 import { readFile as fsReadFile, writeFile as fsWriteFile, mkdir as fsMkdir } from "node:fs/promises";
  • fs sshwarts-skillscript-caa4358/src/safe-path.ts :15 import { realpathSync } from "node:fs";
  • fs sshwarts-skillscript-caa4358/src/trace.ts :2 import { mkdir, readdir, readFile, stat, unlink, writeFile } from "node:fs/promises";
  • fs sshwarts-skillscript-caa4358/src/version.ts :1 import { readFileSync } from "node:fs";

shell / exec 6

  • shell sshwarts-skillscript-caa4358/scripts/check-published-paths.mjs :16 import { execSync } from "node:child_process";
  • shell sshwarts-skillscript-caa4358/src/connectors/data-store.ts :38 exec(sql: string): void;
  • shell sshwarts-skillscript-caa4358/src/connectors/mcp-remote.ts :24 import { spawn, type ChildProcess } from "node:child_process";
  • shell sshwarts-skillscript-caa4358/src/connectors/sqlite-skill-store.ts :42 exec(sql: string): void;
  • shell sshwarts-skillscript-caa4358/src/parser.ts :42 * through full-shell exec (vs default structured-spawn sandbox). Refused
  • shell sshwarts-skillscript-caa4358/src/runtime.ts :9 import { spawn } from "node:child_process";

network 4

  • net sshwarts-skillscript-caa4358/src/connectors/http-mcp.ts :438 const res = await fetch(this.endpoint, {
  • net sshwarts-skillscript-caa4358/src/connectors/local-model.ts :87 const resp = await fetch(`${this.baseUrl}/api/generate`, {
  • net sshwarts-skillscript-caa4358/src/dashboard/server.ts :1 import { createServer } from "node:http";
  • net sshwarts-skillscript-caa4358/src/dashboard/spa/app.js :27 const res = await fetch(RPC_ENDPOINT, {

secrets 2

  • secrets sshwarts-skillscript-caa4358/src/cli.ts :786 const keyFile = process.env["SKILLSCRIPT_APPROVAL_KEY_FILE"] ?? defaultApprovalKeyFile();
  • secrets sshwarts-skillscript-caa4358/src/dashboard/server.ts :200 this.authToken = config.authToken ?? (process.env["SKILLSCRIPT_DASHBOARD_AUTH_TOKEN"] || undefined);

declared dependencies 6

  • cron-parser@^4.9.0
  • @types/node@^22.10.0
  • happy-dom@^20.10.2
  • tsx@^4.19.0
  • typescript@^5.7.0
  • vitest@^2.1.0

clipboard 1

  • navigator.clipboard sshwarts-skillscript-caa4358/src/dashboard/spa/app.js :268 if (navigator.clipboard?.writeText) {

perm:untrusted 1

  • untrusted sshwarts-skillscript-caa4358/src/dashboard/spa/app.js :75 state.dashboardSigning = await fetch("/signing-status").then((r) => r.json()).then((j) => j?.enabled === true).catch(() => false);