secutils-dev/secutils/user-scripts

Claude Code and agent skill by secutils-dev/secutils

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Create, list, update, duplicate, and delete reusable JavaScript user scripts on Secutils.dev. A user script is a snippet (max 50 KB) classified by `type` (`responder`, `api_extractor`, `api_configurator`, `page_extractor`, `universal`) that the workspace UI can import into any compatible editor with a single click. Imports inline the script content at import time, so later edits to the source script do not propagate. Trigger when the user asks to save a reusable Secutils snippet, build a shared…

Install

npx vskill@latest install secutils-dev/secutils/user-scripts

SKILL.md

Secutils.dev: User Scripts

User scripts are reusable JavaScript snippets stored in the user's workspace and surfaced through the "Import" action on every script editor in the UI (responder scripts, API tracker configurator, API/page tracker extractor). Each script has a type that constrains which editors will list it for import; the universal type is offered in every editor.

Importing a script copies its body verbatim into the destination editor at import time. There is no live link back to the source script, so a later edit to the source does not propagate to consumers.

Guide: <https://secutils.dev/docs/guides/platform/user_scripts>. Full reference: <https://secutils.dev/api-docs/openapi.json>.

Endpoints (tag: user)

MethodPathPurpose
GET/api/user/scriptsList all scripts.
GET/api/user/scripts/{script_id}Read a single script's content.
POST/api/user/scriptsCreate a script.
PUT/api/user/scripts/{script_id}Replace a script's name, type, or content.
DELETE/api/user/scripts/{script_id}Delete a script.

Authenticate with the Kratos session cookie or Authorization: Bearer su_ak_<token> (see secutils-api-keys).

Create-script payload

json
{
"name": "BasicAuthGate",
"type": "responder",
"content": "(() => { /* ... */ })();"
}

Field notes:

  • name must start with a letter, may contain letters, digits,

underscores, or hyphens, max 128 characters, unique per user.

  • type is one of:
  • responder -> shown in responder script editors.
  • api_extractor -> shown in API tracker extractor editors.
  • api_configurator -> shown in API tracker configurator editors.
  • page_extractor -> shown in page tracker extractor editors.
  • universal -> shown in every editor.
  • content is the raw script body, max 50 KB.

Successful response is the created UserScript including its server-assigned id.

Update vs duplicate

PUT accepts any subset of name, type, content. Changing type is permitted but does not retroactively update any responder or tracker that previously imported the script: imports are snapshots.

There is no dedicated duplicate endpoint; the UI's "Duplicate" action is a client-side GET of the source followed by a POST with a new name (the rest of the body is identical). Agents can mirror that pattern.

Example flow (curl)

bash
# Create a universal helper
SCRIPT=$(curl -sX POST https://secutils.dev/api/user/scripts \
-H "Authorization: Bearer $SECUTILS_API_KEY" \
-H "content-type: application/json" \
-d '{
"name": "decode-json-body",
"type": "universal",
"content": "const body = context.body && context.body.length > 0 ? JSON.parse(Deno.core.decode(new Uint8Array(context.body))) : {};"
}')
SCRIPT_ID=$(echo "$SCRIPT" | jq -r '.id')
# Read it back later
curl -s -H "Authorization: Bearer $SECUTILS_API_KEY" \
"https://secutils.dev/api/user/scripts/$SCRIPT_ID" | jq -r '.content'

Caveats

  • Imports are snapshots; a fix in the source script does not flow to

responders and trackers that already imported it. Use the search feature in the UI or a script that updates every consumer through the API to roll out a fix.

  • The responder type is the only one that may run inside the

responder request lifecycle; importing an api_extractor into a responder editor is not offered by the UI but the API does not enforce the constraint on the destination side. Choose universal for cross-editor helpers.

  • In responder scripts, context.body is a Uint8Array stored outside

the script memory limit; decode it with Deno.core.decode(context.body). Universal helpers can wrap it in new Uint8Array(...), which also accepts the plain byte arrays other script types receive.

  • Hard limits: 100 scripts per user (configurable per subscription

tier), 50 KB per script.

See also

  • Human-readable guide: <https://secutils.dev/docs/guides/platform/user_scripts>
  • Sandbox API reference: secutils-deno-runtime
  • Consumers: secutils-webhooks, secutils-web-scraping-page,

secutils-web-scraping-api

  • OpenAPI: <https://secutils.dev/api-docs/openapi.json>

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
101
Repository forks
3
7-day trend score
23

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 20 Sep 2026, a month ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/secutils-dev/secutils/user-scripts/badge)](https://verified-skill.com/skills/secutils-dev/secutils/user-scripts)

Something wrong with this skill or its page? Tell us.