Request Body Validator
jeremylongshore/tons-of-skills-marketplace
Validate request body validator operations. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Jev request router: validates the requested outcome, then dispatches to the matched agent, skill, and pipeline.
$ npx skills add notque/vexjoy-agent --skill d -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install notque/vexjoy-agent d --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/meta/d .claude/skills/d && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "d" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/meta/d into .claude/skills/d/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/notque/vexjoy-agent/tree/main/skills/meta/dType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add notque/vexjoy-agent --skill d -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install notque/vexjoy-agent d --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/meta/d .agents/skills/d && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "d" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/meta/d into .agents/skills/d/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add notque/vexjoy-agent --skill d -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install notque/vexjoy-agent d --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/meta/d .cursor/skills/d && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "d" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/meta/d into .cursor/skills/d/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/notque/vexjoy-agent.git --path skills/meta/d--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add notque/vexjoy-agent --skill d -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install notque/vexjoy-agent d --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/meta/d .gemini/skills/d && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "d" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/meta/d into .gemini/skills/d/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install notque/vexjoy-agent dInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add notque/vexjoy-agent --skill d -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/meta/d .github/skills/d && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "d" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/meta/d into .github/skills/d/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add notque/vexjoy-agent --skill d -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install notque/vexjoy-agent d --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/meta/d .opencode/skills/d && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "d" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/meta/d into .opencode/skills/d/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dJev request router: validates the requested outcome, then dispatches to the matched agent, skill, and pipeline.
D is an agent skill from notque/vexjoy-agent. Jev request router: validates the requested outcome, then dispatches to the matched agent, skill, and pipeline.
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `EVAL.md`, `SPEC.md` and `references/jev-classifier-design.md`).
The repository describes itself as: VexJoy AI Agent with Jev Intelligent Routing - /do routes plain-English requests to the right specialist agent and gates the work with reviews, tests, and a learning loop. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5218674. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadBashGrepGlobSkillTaskFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
AI_GATEWAY_API_KEYTYPESAFE_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
D loads about 3.8k tokens when it runs, and up to ~9.7k if it reads all its reference files. Until then it costs about 28 tokens; SKILL.md has 1,540 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Bash, Grep, Glob, Skill, TaskAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from notque/vexjoy-agent at commit 5218674, republished under its MIT licence (© notque). 1,540 words, ~3,831 tokens.
.claude/skills/d/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Classifies requests through Jev and dispatches to the matched agent, skill, and pipeline. Before every dispatch, it restates the requested outcome and uses Jev to check that the restatement and route preserve it.
The classification path has four layers: a deterministic pre-route.py
force-route guard (offline, runs first, authoritative for git/security
only), a configured Jev transport presence check, a two-stage classification
(a cheap wide-rank stage 1 over all manifest candidates plus a trivial-bypass
gate, then a full-detail shortlist-rerank stage 2 with per-candidate fit
checks, stack/fan-out signals, and domain-attachment checks), and a
deterministic attachment step that lists the extra skills to load.
Design rationale: ${CLAUDE_SKILL_DIR}/references/jev-classifier-design.md.
Every phase: /d > Phase N: PHASE_NAME — description...
After intent alignment resolves: === routing banner. Both required.
scripts/jev-route.py owns the entire classification in one subprocess call.
When JEV_RESULT is already in context (the jev-route-injector hook ran the script before your first token), use it and skip the command below.
REQUEST_FILE=$(mktemp); printf '%s' "{user_request}" > "$REQUEST_FILE"
python3 "$SDIR/jev-route.py" --request-file "$REQUEST_FILE" --json-compact
rm -f "$REQUEST_FILE"Resolve $SDIR: ${HOME}/.claude/scripts, falling back through
.hermes/.factory/.codex/.reasonix, or the repo's scripts/
directory.
Hold the result as JEV_RESULT. Shape (stable — see design reference for
full schema):
available, jev_called, matched, fallback, fallback_reason,
agent, agent_source, skill, pipeline, attach, complexity,
confidence, match_type, reasoning, stack, signals,
signal_scores, domain_scores, source, latency_ms, usage, agents,
gate_score, fits_scores, stage1_shortlist, pre_route_hint, and
intent_alignment (the hook-generated baseline alignment receipt).
attach is the list of extra skills that ride with skill (for example
programming for Go work, testing when tests are part of the work). The
script already validated every name; it is the whole Phase 4 stack.
latency_ms and usage are itemized dicts
({"stage1_ms","stage2_ms","total_ms"} and {"stage1","stage2"}). Read
.total_ms for a single latency figure.
Gate: fallback == true → Phase 1F. Every matched result,
including source == "jev-trivial-bypass", proceeds to Phase 2: ALIGN INTENT.
Stage 1's gate fired: gate_score below threshold, no agent/skill/pipeline
is needed. It remains a direct-handling path, but it must still pass through
Phase 2 so the user outcome is restated and Jev validates it. After an
aligned Phase 2 result, show Classification: Trivial and
Source: jev-trivial-bypass, then answer or do the one-line action directly.
Do not run Phases 3–5 or call build-dispatch.py. Stop there.
Jev could not classify this request. JEV_RESULT.source explains why:
unavailable — neither configured Jev transport is available. /d accepts
Vercel AI Gateway (AI_GATEWAY_API_KEY) or the direct Jev API
(TYPESAFE_API_KEY), selected by JEV_TRANSPORT=auto|vercel|direct.invalid-pick — Jev's pick was not a valid manifest name.error — a Jev call timed out or failed.Show:
===================================================================
/d: Jev unavailable — [JEV_RESULT.fallback_reason]
Use /do for manifest-based routing.
===================================================================Fail open to /do's full routing flow and continue the request. Do not reject
the request merely because Vercel AI Gateway is unavailable.
MANDATORY STOP: For every matched /d invocation, write
PROPOSED_INTENT and run the validator on that exact text before any routing
banner, dispatch, answer, edit, or other action. JEV_RESULT.intent_alignment
is only the hook baseline and does not satisfy Phase 2. This requirement has no
exception for force routes, trivial routes, or an apparently aligned baseline.
Before selecting the work method, write PROPOSED_INTENT: a concise one- or
two-sentence restatement of what the user wants accomplished. State the
outcome and each deliverable the request names or directly requires. Copy
every explicit constraint in the user's words: limits ("only", "at most"),
exclusions ("don't touch", "do not deploy"), required methods, and
authorization boundaries. Do not add deliverables the user did not ask for,
such as extra tests, docs, cleanup, refactors, or verification steps. Do not
add notes about missing inputs or preconditions; the validator decides
whether clarification is needed. Do not describe the selected agent, skill,
or implementation mechanics as the outcome. Preserve the user's words where
precision matters.
Run the Jev validator even when the hook already supplied
JEV_RESULT.intent_alignment; that receipt validates a conservative baseline,
while this call validates the actual restatement that will enter the task spec.
Put the request, route JSON, and proposed intent in temporary files rather
than shell-splicing user text, then call:
python3 "$SDIR/jev-intent-align.py" \
--request-file "$REQUEST_FILE" \
--route-file "$ROUTE_FILE" \
--proposed-intent-file "$INTENT_FILE" \
--json-compactThe validator sends one bounded state and all independent questions together
through the selected Jev transport. It checks whether the outcome and constraints
are preserved, the route can cover the material scope, the restatement is too
narrow, it introduces unrequested work, and essential clarification is needed.
It returns aligned, clarification_needed, issues, and raw scores.
Show this before the routing banner:
Intent alignment (/d):
-> Restated outcome: [PROPOSED_INTENT]
-> Jev: [aligned|review|unavailable] [issues, if any]Gate:
clarification_needed == true → ask one concise question that names the
essential ambiguity; do not dispatch until answered.alignment == aligned and source == jev-trivial-bypass → direct handling
in Phase 1T; otherwise → Phase 3.alignment == review because scope is lost, work was added, or the route
cannot cover the request → correct PROPOSED_INTENT or the route and run
this validator once more. Carry unresolved issues into task_spec.gaps; do
not silently proceed as though Jev approved it.alignment == unavailable or error → state that validation was
unavailable, preserve the verbatim request and proposed intent in the task
spec, then continue under the normal /d routing result. Gateway outage
must not become a false request rejection.This runtime gate applies to every matched route, including force-routes and
trivial bypasses. A Phase 1 fallback cannot run this gate because no usable Jev
route exists; it fails open to /do as described in Phase 1F.
This is an instruction gate enforced by the /d contract, not a hook-enforced
technical boundary. The user remains the final backstop if an agent violates it.
JEV_RESULT.source is either pre-route-force (a git/PR or security force
route kept its skill and pipeline, or Jev failed on another force match) or
jev (Jev classification, manifest-validated). A non-safety force match
appears only as pre_route_hint: Jev saw it on its shortlist and made the
pick.
Apply directly:
agent / skill / pipeline: use JEV_RESULT's values as-is. Already
validated against the live manifest membership sets inside the script.
agent_source: skill-default means Jev found no domain agent and the
script used the skill's owning agent.agent is null or general-purpose: pick from /do's Agent-greediness
table (skills/meta/do/SKILL.md, Phase 2 Step 0b) when a row fits the
request's domain. Otherwise keep general-purpose and write a one-line
fallback_reason: general-purpose: <why no listed agent covers this>.complexity: use JEV_RESULT.complexity when set. When null (always for
pre-route-force), default to medium, except a single one-line trivial
fix → simple.JEV_RESULT.confidence (high/medium/low).Routing banner (Phase 2 intent block + routing block, both required, printed together):
===================================================================
ROUTING (/d): [brief summary]
===================================================================
Intent (/d):
-> Restated: [PROPOSED_INTENT]
-> Alignment: [aligned|review|unavailable] [— issues, if any]
Selected:
-> Agent: [JEV_RESULT.agent] - [JEV_RESULT.reasoning]
-> Skill: [JEV_RESULT.skill] - [JEV_RESULT.reasoning]
-> Attached: [JEV_RESULT.attach, comma-separated, or "none"]
-> Pipeline: [JEV_RESULT.pipeline, if set]
-> Source: [JEV_RESULT.source] (confidence: [JEV_RESULT.confidence])
Invoking...
===================================================================The Intent block must be populated from the Phase 2 validator run. Printing
the banner with a placeholder or omitting the Intent block is a Phase 2 skip
and is not allowed.
Gate: Agent+skill set, banner shown. Phase 4.
stack = JEV_RESULT.attach, in order, plus anti-rationalization-core.
Copy the names exactly. Do not add, rename, or drop skills: the script built
attach from these rules, and build-dispatch.py rejects any name absent
from skills/INDEX.json.
| Source | Attaches |
|---|---|
JEV_RESULT.stack (pre-route, e.g. a .go file with PR or security work) | its entries, first |
| Agent domain floor | programming for Go, Kotlin, PHP, and Swift agents; kubernetes for kubernetes-helm-engineer; frontend for ui-design-engineer |
domain_scores at 0.6 or higher | programming, frontend, kubernetes, testing, building-with-jev, research |
tests_requested / comprehensive_review / objective_loop_worthy | testing / review / workflow |
local_only | local-only shared pattern |
At most three skills are attached beyond skill. Two adjustments stay with
you:
comprehensive_review attached review and a real multi-file diff
exists: right-size-review.py outranks it, so drop review from stack.signals.research_needed is true: add research-coordinator-engineer to
the fan-out agents.Fan-out agents: union JEV_RESULT.agents (script-computed fan-out picks,
each passed its per-candidate fit check) into the research_needed agent
list, deduped. Dispatch fan-out agents as separate parallel Agent tool
calls alongside the primary build-dispatch.py dispatch.
Gate: Stack applied. Phase 5.
Build the task spec with request_verbatim unchanged and intent exactly
PROPOSED_INTENT; include any unresolved alignment issue in gaps, then invoke
build-dispatch.py:
python3 "$SDIR/build-dispatch.py" --json '{
"agent": "<JEV_RESULT.agent>", "skill": "<JEV_RESULT.skill; omit when agent-only>",
"pipeline": "<JEV_RESULT.pipeline; omit when null>",
"complexity": "<from Phase 2>",
"model": "inherit",
"context_mode": "summary",
"provider": "<anthropic|openai|other>",
"manual_model_override": false,
"health": "-",
"fallback_reason": "<REQUIRED when agent=general-purpose; omit otherwise>",
"stack": ["<JEV_RESULT.attach, in order>", "anti-rationalization-core"],
"task_spec": {"request_verbatim": "<user message, unchanged>", "intent": "...",
"constraints": "<applicable rules, limits, and authorization>",
"decisions": "...",
"gaps": "...",
"acceptance": "<command> -> <expected>",
"files": "<owned paths; optional line ranges>", "ownership": "<worker scope>",
"operator_context": "..."},
"flags": {"worktree": false, "local_only": false, "thinking_override": null},
"token_remaining": 480000
}'The builder validates each name against its index, then emits the dispatch action. For Complex or creation requests, apply creation detection, plan-file gating, quality-loop, workflow dispatch, fan-out, and auto-pipeline fallback.
Gate: Agent invoked, results delivered.
After any execution that produces a plan, spec, or design artifact, run
grill-jev automatically before declaring the work complete. This applies
whenever the agent's output contains phases, steps, checklists, or a
structured implementation plan.
Detection: the agent wrote task_plan.md, a spec file, a design document,
or the response itself is a structured plan with numbered steps or phases.
# File artifact
python3 scripts/grill-jev.py --file task_plan.md --mode plan
# Inline plan (write to temp file first, then grill)
python3 scripts/grill-jev.py --file /tmp/plan_output.md --mode planPrint the findings report. If high-signal findings exist (exit code 1):
If no high-signal findings (exit code 0): proceed, note "grill-jev: clean".
Skip grill-jev when:
--mode code insteadErrors inside jev-route.py resolve to fallback: true, source: "error" —
Phase 1F reports the error and fails open to /do.
When changing how the router or validator builds or sends Jev requests, apply
skills/shared-patterns/jev-production-lessons.md: stage requests at or under the reliable size, send each
stage's requests together, and retry by status code.
${CLAUDE_SKILL_DIR}/references/jev-classifier-design.md — request/response
contract, fallback conditions, phase-by-phase design decisions${CLAUDE_SKILL_DIR}/SPEC.md, ${CLAUDE_SKILL_DIR}/EVAL.md — maintenance
contract and regression cases (load only when creating, evaluating, or
redesigning this skill)scripts/jev-route.py, scripts/jev-intent-align.py, scripts/jev_transport.py, scripts/jev_vercel.py,
scripts/jev_gateway/jev_vercel_gateway.mjs, scripts/pre-route.py,
scripts/routing-manifest.py, scripts/build-dispatch.pyhooks/jev-route-injector-userprompt.py (UserPromptSubmit) precomputes JEV_RESULT© notque, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/meta/d of notque/vexjoy-agent.
Open the folder on GitHubat commit 5218674
D next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| D this skillnotque/vexjoy-agent | 438 | — | ~3.8k | Automated safety check: Notes | MIT | |
| Request Body Validatorjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~567 | Automated safety check: Pass | MIT | |
| React Router Pull Request Creatorremix-run/react-router | 57k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Form Validationthedaviddias/Front-End-Checklist | 74k | — | ~633 | Automated safety check: Pass | MIT | |
| Acp Routeropenclaw/openclaw | 392k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Express Request ValidationPrairieLearn/PrairieLearn | 515 | — | ~851 | Automated safety check: Pass | Custom licence |
jeremylongshore/tons-of-skills-marketplace
Validate request body validator operations. An agent skill from jeremylongshore/tons-of-skills-marketplace.
remix-run/react-router
Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing templates, rendered HTML, or shared components related to Validate forms accessibly.
openclaw/openclaw
Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either…
PrairieLearn/PrairieLearn
Conventions for validating PrairieLearn Express request parameters, query strings, bodies, and action forms with Zod.
pnpm/pnpm
Take a change through a pull request in the pnpm repository — opening it, then staying with it after every push until CI is green and the review round is quiet.
notque/vexjoy-agent
Deterministic palette/matrix pixel art (not AI). An agent skill from notque/vexjoy-agent.
notque/vexjoy-agent
Pull request lifecycle: commit, codex review, sync, review, fix, status, cleanup, and PR mining.
notque/vexjoy-agent
Improve architecture across modules by deepening interfaces.
notque/vexjoy-agent
Code quality: cleanup, linting, formatting, quality gates. An agent skill from notque/vexjoy-agent.
notque/vexjoy-agent
Statistical rule discovery from Go codebase patterns. An agent skill from notque/vexjoy-agent.
notque/vexjoy-agent
Review and fix temporal references in code comments. An agent skill from notque/vexjoy-agent.
Jev request router: validates the requested outcome, then dispatches to the matched agent, skill, and pipeline. D is an agent skill from notque/vexjoy-agent. Jev request router: validates the requested outcome, then dispatches to the matched agent, skill, and pipeline.
Run `npx skills add notque/vexjoy-agent --skill d -a claude-code`. Or copy the skill folder (skills/meta/d in notque/vexjoy-agent) into .claude/skills/d in your project. Claude Code loads it when a task matches its description.
Run `npx skills add notque/vexjoy-agent --skill d -a codex`. Or copy the skill folder (skills/meta/d in notque/vexjoy-agent) into .agents/skills/d in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add notque/vexjoy-agent --skill d -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/d, .gemini/skills/d, .github/skills/d and .opencode/skills/d in your project.
Going by SKILL.md and its folder, D needs the command-line tools its instructions call (python3) and credentials named AI_GATEWAY_API_KEY and TYPESAFE_API_KEY. Our summary lists: Python 3; A credential in AI_GATEWAY_API_KEY; A credential in TYPESAFE_API_KEY. Its frontmatter pre-approves these tools: Read, Bash, Grep, Glob, Skill, Task.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
D is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with D: Request Body Validator (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), React Router Pull Request Creator (remix-run/react-router, 57k stars), Form Validation (thedaviddias/Front-End-Checklist, 74k stars) and Acp Router (openclaw/openclaw, 392k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
notque (a GitHub user) maintains it in notque/vexjoy-agent, which has 438 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 3, 2026.
Source: notque/vexjoy-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.