Agent skill

Joy Check

by notque in notque/vexjoy-agent

Validate content framing on joy-grievance spectrum. An agent skill from notque/vexjoy-agent.

MITAuto-check: notesDevelopment

Install Joy Check

skills CLI
$ npx skills add notque/vexjoy-agent --skill joy-check -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install notque/vexjoy-agent joy-check --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/code-quality/joy-check .claude/skills/joy-check && rm -rf skills-src

Use ~/.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/

Facts

Skill name
joy-check
GitHub stars
438
Token cost
~1.7k tokens
SKILL.md length
617 words
Files
3 (incl. references)
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Validate content framing on joy-grievance spectrum. An agent skill from notque/vexjoy-agent.

  • Works in 4 steps: DETECT MODE → PRE-FILTER → ANALYZE → …
  • Tasks that involve Quizzes and assessments
  • SKILL.md covers Reference Loading Table, Instructions, Error Handling and References
  • Calls python3

What it does

Joy Check is an agent skill from notque/vexjoy-agent. Validate content framing on joy-grievance spectrum.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/instruction-rubric.md` and `references/writing-rubric.md`).

It sits in Development, covering Quizzes and assessments. 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.

When your agent uses it

  • Tasks that involve Quizzes and assessments

Example prompts

  • “/joy-check”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash, Grep, Glob

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. DETECT MODE
  2. PRE-FILTER
  3. ANALYZE
  4. REPORT

What it can do on your machine

Read from SKILL.md and the folder at commit 5218674. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash
    • Grep
    • Glob

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Joy Check loads about 1.7k tokens when it runs, and up to ~6.3k if it reads all its reference files. Until then it costs about 15 tokens; SKILL.md has 617 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~15
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.3k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:135
    L78: PASS [85] -- "Credentials stay in .env files, never in code" (subordinate negative OK)
  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Bash, Grep, Glob

Automated 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.

SKILL.md

The full file from notque/vexjoy-agent at commit 5218674, republished under its MIT licence (© notque). 617 words, ~1,724 tokens.

Download SKILL.mdSave it as .claude/skills/joy-check/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
joy-check
description
Validate content framing on joy-grievance spectrum.
allowed-tools
Read, Write, Edit, Bash, Grep, Glob
user-invocable
false
argument-hint
[--fix] [--strict] [--mode writing|instruction] <file>
command
/joy-check
routing.triggers
joy check, check framing, tone check, negative framing, joy validation, too negative, reframe positively, positive framing check, instruction framing
routing.pairs_with
writing, toolkit
routing.complexity
Simple
routing.category
content

Joy Check

Two modes:

  • writing — Joy-grievance spectrum for human-facing content (blog posts, emails, articles). Evaluates curiosity/generosity vs. grievance/accusation framing.
  • instruction — Positive framing for LLM-facing content (agents, skills, pipelines). Evaluates "what to do" vs. "what to avoid" (ADR-127).

Evaluates each paragraph/instruction independently, produces a score (0-100), suggests reframes without modifying content. Flags: --fix rewrites flagged items in place and re-verifies; --strict fails on any item below 60; --mode writing|instruction overrides auto-detection.

Checks framing, not topic or voice. The writing workflow owns voice fidelity and AI-pattern detection.

Reference Loading Table

SignalLoad These FilesWhy
Scoring agents, skills, pipelines, or toolkit documentationreferences/instruction-rubric.mdPositive-framing patterns, scoring, and examples.
Scoring articles, emails, posts, or other human-facing prosereferences/writing-rubric.mdJoy-grievance patterns, scoring, and examples.

Instructions

Phase 0: DETECT MODE

Auto-detection (priority order):

  1. Explicit --mode flag → use that
  2. agents/*.md → instruction
  3. skills/*/SKILL.md → instruction
  4. skills/workflow/references/*.md → instruction
  5. CLAUDE.md or README.md → instruction
  6. Everything else → writing

Load references/{mode}-rubric.md for scoring criteria and examples.

GATE: Mode determined, rubric loaded.

Phase 1: PRE-FILTER

Regex scanning as a fast gate before LLM semantic analysis.

Writing mode:

bash
python3 ~/.claude/scripts/scan-negative-framing.py [file]

Instruction mode:

bash
grep -nE 'NEVER|do NOT|must NOT|FORBIDDEN' [file]
grep -nE "^-?\s*Don't|^-?\s*Avoid|^#+.*Anti-[Pp]attern|^#+.*Avoid" [file]

Report findings with reframe suggestions from the rubric. If --fix, apply reframes and re-run.

GATE: Zero regex/grep hits. Resolve obvious patterns before Phase 2.

Phase 2: ANALYZE

Step 1: Read content

Read full file. Skip frontmatter and code blocks.

  • Writing: Identify paragraphs (blank-line separated). Skip blockquotes.
  • Instruction: Identify instructional statements — bullets, table cells, imperatives, headings. Skip examples, code blocks, quoted dialogue, file paths.

Step 2: Evaluate against rubric

Apply scoring dimensions from references/{mode}-rubric.md.

For writing: Joy-grievance lens. Watch for subtle patterns in references/writing-rubric.md (defensive disclaimers, accumulative grievance, passive-aggressive factuality, reluctant generosity).

For instruction: Positive-negative lens. Check against patterns table in references/instruction-rubric.md. Contextual exceptions: subordinate negatives attached to positive instructions are PASS, as are negatives in code examples, writing samples, and technical terms.

Step 3: Score each item

Apply the rubric's scoring scale. For items scoring CAUTION/GRIEVANCE (writing) or NEGATIVE-LEANING/PROHIBITION-HEAVY (instruction), draft specific reframe suggestions preserving substance.

If an item seems "too subtle to flag" — that is precisely when flagging matters. Subtle patterns are the primary purpose of this LLM phase.

GATE: All items scored. Reframe suggestions drafted for flagged items.

Show full SKILL.md (256 more words)Show less
Phase 3: REPORT

Step 1: Calculate overall score

Average all item scores. Pass criteria:

  • Writing: Score >= 60 AND no GRIEVANCE paragraphs
  • Instruction: Score >= 60 AND no primary negative patterns in instructional context

Step 2: Output

JOY CHECK: [file]
Mode: [writing|instruction]
Score: [0-100]
Status: PASS / FAIL

Items:
  [writing mode]
  P1 (L10-12): JOY [85] -- explorer framing, curiosity
  P3 (L18-22): CAUTION [40] -- "confused" leans defensive
    -> Reframe: Focus on what you learned from the confusion

  [instruction mode]
  L33: NEGATIVE [20] -- "NEVER edit code directly"
    -> Rewrite: "Route all code modifications to domain agents"
  L45: PASS [90] -- "Create feature branches for all changes"
  L78: PASS [85] -- "Credentials stay in .env files, never in code" (subordinate negative OK)

Overall: [summary of framing arc]

Step 3: Fix mode

If --fix:

  1. Rewrite flagged items using drafted suggestions
  2. Preserve substance — change only framing
  3. Re-run Phase 2 on rewrites to verify
  4. Maximum 3 iterations if fixes introduce new flags

GATE: Report produced. If --fix, all rewrites applied and re-verified.


Integration

Writing pipeline:

CONTENT --> writing workflow --> scan-ai-patterns --> joy-check --mode writing

Instruction pipeline:

SKILL.md --> joy-check --mode instruction --> fix flagged patterns --> re-verify

Auto-invocation points:

  • toolkit: after generating a new skill
  • agent-upgrade: after modifying an agent
  • writing: during validation
  • doc-pipeline: for toolkit documentation

Invoke standalone via /joy-check [file] (auto-detects mode) or with explicit --mode.


Error Handling

Error: "File Not Found"

Verify path with ls -la. Use glob to search: Glob **/*.md. Confirm working directory.

Error: "Regex Scanner Fails or Not Found"

Verify scripts/scan-negative-framing.py exists. Requires Python 3.10+. If unavailable, skip to Phase 2 — the pre-filter is an optimization, not a requirement.

Error: "All Paragraphs Score GRIEVANCE"

Content is fundamentally grievance-framed. Report scores honestly. Suggest full rewrite with different framing premise, not paragraph-level fixes.

Error: "Fix Mode Fails After 3 Iterations"

Output best version with remaining concerns. Explain which rubric dimensions resist correction. The framing premise itself may need rethinking.


References

Rubric Files
  • references/writing-rubric.md — Joy-grievance spectrum, subtle patterns, scoring, examples
  • references/instruction-rubric.md — Positive framing rules, patterns, rewrite strategies, examples
Scripts
  • scan-negative-framing.py — Regex pre-filter for grievance patterns (writing mode, Phase 1)
Complementary Skills
  • writing — Voice, prose quality, and content validation
  • toolkit — Skill creation and instruction validation

© notque, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/code-quality/joy-check of notque/vexjoy-agent.

  • SKILL.md
  • references/instruction-rubric.md
  • references/writing-rubric.md

Open the folder on GitHubat commit 5218674

Compare with similar skills

Joy Check 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.

Joy Check compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Joy Check this skillnotque/vexjoy-agent438—~1.7kAutomated safety check: NotesMIT
Review PRmicrosoft/vscode-containers141—~900Automated safety check: PassCustom licence
Self Reviewverl-project/verl-omni1.2k—~2kAutomated safety check: PassApache-2.0
PR ReviewNVIDIA/Megatron-LM18k—~839Automated safety check: PassApache-2.0
Code Review Rubricmakifbaysal/tasktrooper109—~2.5kAutomated safety check: PassApache-2.0
Auto Improvecrimeacs/auto-improve135—~651Automated safety check: PassMIT

Similar skills

  • Review PR

    microsoft/vscode-containers

    Official

    Review a specific vscode-containers pull request on demand from the CLI (or any interactive agent), the way a Container Tools maintainer would.

    141 GitHub stars~900 tokensUpdated today
    DevelopmentAuto-check passed
  • Self Review

    verl-project/verl-omni

    Review your own verl-omni branch against the project rubric before opening or updating a PR.

    1.2k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • PR Review

    NVIDIA/Megatron-LM

    Official

    Review rubric for the /review pull-request command. An agent skill from NVIDIA/Megatron-LM.

    18k GitHub stars~839 tokensUpdated today
    DevelopmentAuto-check passed
  • Code Review Rubric

    makifbaysal/tasktrooper

    A skill your agent uses when a task is in codereview - how to read the diff, which findings block, and the verdict move

    109 GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Auto Improve

    crimeacs/auto-improve

    GAN-style iterative improvement loop for any text artifact. An agent skill from crimeacs/auto-improve.

    135 GitHub stars~651 tokensUpdated 2 mo ago
    EducationAuto-check passed
  • Orca Review

    Continuum-AI-Corp/Orca-Code-Review

    Review code changes yourself, locally, with OrcaCode Review's severity contract and merge gate — no GitHub Action, no OrcaRouter account, no API key.

    173 GitHub stars~3.5k tokensUpdated 17 days ago
    DevelopmentAuto-check passed

More from notque/vexjoy-agent

All 61 skills in this repo
  • Game Asset Generator

    notque/vexjoy-agent

    Deterministic palette/matrix pixel art (not AI). An agent skill from notque/vexjoy-agent.

    438 GitHub stars~2.3k tokensUpdated 5 days ago
    Auto-check: notes
  • PR Workflow

    notque/vexjoy-agent

    Pull request lifecycle: commit, codex review, sync, review, fix, status, cleanup, and PR mining.

    438 GitHub stars~2.8k tokensUpdated 5 days ago
    Auto-check: notes
  • Architecture Deepening

    notque/vexjoy-agent

    Improve architecture across modules by deepening interfaces.

    438 GitHub stars~3.3k tokensUpdated 5 days ago
    Auto-check: notes
  • Code Quality

    notque/vexjoy-agent

    Code quality: cleanup, linting, formatting, quality gates. An agent skill from notque/vexjoy-agent.

    438 GitHub stars~1.5k tokensUpdated 5 days ago
    Auto-check: notes
  • Codebase Analyzer

    notque/vexjoy-agent

    Statistical rule discovery from Go codebase patterns. An agent skill from notque/vexjoy-agent.

    438 GitHub stars~2k tokensUpdated 5 days ago
    Auto-check: notes
  • Comment Quality

    notque/vexjoy-agent

    Review and fix temporal references in code comments. An agent skill from notque/vexjoy-agent.

    438 GitHub stars~2k tokensUpdated 5 days ago
    Auto-check: notes

Questions about Joy Check

What does Joy Check do?

Validate content framing on joy-grievance spectrum. An agent skill from notque/vexjoy-agent. Joy Check is an agent skill from notque/vexjoy-agent. Validate content framing on joy-grievance spectrum.

When should I use Joy Check?

Joy Check fits situations like: tasks that involve Quizzes and assessments.

How do I install Joy Check in Claude Code?

Run `npx skills add notque/vexjoy-agent --skill joy-check -a claude-code`. Or copy the skill folder (skills/code-quality/joy-check in notque/vexjoy-agent) into .claude/skills/joy-check in your project. Claude Code loads it when a task matches its description.

How do I install Joy Check in Codex?

Run `npx skills add notque/vexjoy-agent --skill joy-check -a codex`. Or copy the skill folder (skills/code-quality/joy-check in notque/vexjoy-agent) into .agents/skills/joy-check in your project. Codex loads it when a task matches its description.

Can I use Joy Check in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add notque/vexjoy-agent --skill joy-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/joy-check, .gemini/skills/joy-check, .github/skills/joy-check and .opencode/skills/joy-check in your project.

What does Joy Check need to run?

Going by SKILL.md and its folder, Joy Check needs the command-line tools its instructions call (python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Grep, Glob.

Does Joy Check access the network?

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.

Is Joy Check safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Joy Check use?

Joy Check is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Joy Check use?

About 1.7k tokens (SKILL.md is roughly 6.9k 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 4.6k tokens, read only when the agent opens those files.

What are the alternatives to Joy Check?

Skills that share tags, products or a category with Joy Check: Review PR (microsoft/vscode-containers, 141 stars), Self Review (verl-project/verl-omni, 1.2k stars), PR Review (NVIDIA/Megatron-LM, 18k stars) and Code Review Rubric (makifbaysal/tasktrooper, 109 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Joy Check?

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.