Skillscript — a small declarative language for authoring agent workflows. Runtime, compiler, and CLI.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
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);