Agent skill

Run Tests

by artcc in artcc/freelingo

A skill your agent uses when the user asks to run tests, ejecutar tests, lanzar tests, pytest, vitest, check types, typecheck, lint, or verify the codebase.

AGPL-3.0Auto-check passedTesting & QA

Install Run Tests

skills CLI
$ npx skills add artcc/freelingo --skill run-tests -a claude-code

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

GitHub CLI
$ gh skill install artcc/freelingo run-tests --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/artcc/freelingo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/run-tests .claude/skills/run-tests && 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
run-tests
GitHub stars
158
Token cost
~976 tokens
SKILL.md length
357 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
AGPL-3.0

At a glance

A skill your agent uses when the user asks to run tests, ejecutar tests, lanzar tests, pytest, vitest, check types, typecheck, lint, or verify the codebase.

  • The user asks to run tests
  • SKILL.md covers Backend tests (pytest), Frontend tests (vitest), Frontend checks and Backend lint, plus 2 more sections
  • Calls pytest, npm and npx
  • Verify the codebase

What it does

Run Tests is an agent skill from artcc/freelingo. Use when the user asks to run tests, ejecutar tests, lanzar tests, pytest, vitest, check types, typecheck, lint, or verify the codebase. Runs backend pytest, frontend vitest, frontend tsc/eslint/prettier, and backend ruff/black.

Its SKILL.md is about 980 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Linting and formatting, Unit testing and Study guides and flashcards. It works with pytest, Vitest, ESLint and Prettier. The repository describes itself as: Open-source, self-hosted AI language learning platform with local or cloud LLMs, CEFR study plans, an AI tutor, voice conversations, flashcards, and spaced repetition. The licence is AGPL-3.0.

When your agent uses it

  • The user asks to run tests
  • Verify the codebase

Example prompts

  • “/run-tests”

Requirements

  • Python 3
  • Node.js
  • Docker

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pytest
    • npm
    • npx
    • python3
    • pip
    • ruff
    • black

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

  • Network

    No URLs in SKILL.md. Its commands use npm, npx and pip, which can reach the network depending on how they are called.

    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

Run Tests loads about 976 tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 357 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~976

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 passed

The automated check found no risky patterns in SKILL.md.

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 artcc/freelingo at commit c2f6d2a, republished under its AGPL-3.0 licence (© artcc). 357 words, ~976 tokens.

Download SKILL.mdSave it as .claude/skills/run-tests/SKILL.md (or your agent's skills folder).
name
run-tests
description
Use when the user asks to run tests, ejecutar tests, lanzar tests, pytest, vitest, check types, typecheck, lint, or verify the codebase. Runs backend pytest, frontend vitest, frontend tsc/eslint/prettier, and backend ruff/black.

Run Tests — FreeLingo

Backend tests (pytest)

The project does NOT use Docker for local tests. Tests are fully isolated:

  • SQLite in-memory (no PostgreSQL needed)
  • Redis mocked in-memory (no Redis server needed)
  • LLM always mocked (no external API calls)
Prerequisites
bash
python3 -m venv .venv && source .venv/bin/activate && pip install -r backend/requirements.txt

.venv/ is already in .gitignore. Create it once, activate before each session.

Run
bash
source .venv/bin/activate && cd backend && pytest -v

Use a command timeout of at least 600 seconds for the full backend suite; the current run takes about 4 minutes and can exceed shorter 120-second tool defaults.

Options:

  • Single file: source .venv/bin/activate && cd backend && pytest tests/test_auth.py -v
  • Single test: source .venv/bin/activate && cd backend && pytest tests/test_flashcards.py::test_quality_3_basic_progression -v
  • Coverage HTML: source .venv/bin/activate && cd backend && pytest --cov-report=html

Frontend tests (vitest)

bash
cd frontend && npm run test:run

474 tests covering stores, components, hooks, app pages, lib, i18n, middleware, review UI, review prompt triggers, billing UI, freemium state, memory management, SSE parsing, chat stream resets, toasts, and API interceptor. Frontend coverage is not configured/reported:

  • lib/api.ts — auth interceptor, 401 refresh, retry
  • store/auth.ts — isSubscribed(), logout
  • lib/audio.ts — float32ToWav WAV encoding
  • lib/conversation-ws.ts — WebSocket URL builder
  • middleware.ts — route protection, locale detection
  • store/config.ts — config loading, idempotency
  • store/language.ts — language CRUD, switching
  • store/progress.ts — XP, streak, unit progress, level test
  • lib/mappers.ts — mapUser transformation
  • lib/target-languages.ts — language code resolution
  • data/curriculum.ts — curriculum data integrity
  • components/LanguageSwitcher.tsx — sidebar dropdown
  • components/TargetLanguageSelector.tsx — language grid
  • components/VoiceRecorder.tsx — STT recorder states
  • components/AudioPlayer.tsx — TTS player states
  • components/ProfileSection.tsx — profile CRUD, avatar
  • components/UnitCard.tsx + UnitDrawer.tsx — plan units
  • components/reviews/* — review prompt and landing carousel
  • app/(app)/admin/reviews/page.tsx — review moderation UI
  • lib/reviews.ts — review API client
  • lib/review-prompt-triggers.ts — voice-session and unit-completion review prompt triggers

Options:

  • Watch mode: npm run test
  • Single file: npx vitest run tests/lib/api.test.ts
Show full SKILL.md (108 more words)Show less

Frontend checks

bash
cd frontend && npx tsc --noEmit                 # TypeScript type checking
cd frontend && npm run lint                     # Lint
cd frontend && npx prettier --check src/        # Format check

Backend lint

bash
source .venv/bin/activate && cd backend && ruff check . && black --check .

If a suite fails

  • If any backend or frontend test fails after launching a suite, STOP immediately, report the failing test(s), and ask the user how to proceed.
  • Do not modify production code or tests to make the suite pass without explicit user approval.
  • If lint, typecheck, or format checks fail without test failures, report the error and ask before making non-formatting code changes.
  • After the user approves a fix, re-run only the failing command unless they request the full suite.

Canonical format script

bash
./scripts/format.sh

Runs the same backend/frontend style tools from fixed project paths, so results do not depend on the current working directory.

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

Files

Just SKILL.md in .opencode/skills/run-tests of artcc/freelingo.

Open the folder on GitHubat commit c2f6d2a

Compare with similar skills

Run Tests 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.

Run Tests compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Run Tests this skillartcc/freelingo158—~976Automated safety check: PassAGPL-3.0
Validatejuliepy/AI-Engineer-from-scrach430—~500Automated safety check: PassNone
Typescript ToolingHoangNguyen0403/agent-skills-standard570—~688Automated safety check: PassMIT
Simple Modern Uvjlevy/simple-modern-uv301—~1.9kAutomated safety check: PassMIT
Eslint Vitest Rule Testerantfu-collective/eslint-vitest-rule-tester142—~1.3kAutomated safety check: PassMIT
MoAI TDD Workflowmodu-ai/moai-adk1.2k—~3.1kAutomated safety check: PassApache-2.0

Similar skills

  • Validate

    juliepy/AI-Engineer-from-scrach

    Run the full quality gate (ruff + mypy + pytest + tsc + vitest) and report PASS/FAIL for each command.

    430 GitHub stars~500 tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Typescript Tooling

    HoangNguyen0403/agent-skills-standard

    Development tools, linting, and build config for TypeScript.

    570 GitHub stars~688 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Simple Modern Uv

    jlevy/simple-modern-uv

    Start, selectively modernize, fully migrate, or update Python projects using simple-modern-uv practices: uv, ruff, BasedPyright, pytest, GitHub Actions CI, and tag-driven PyPI publishing.

    301 GitHub stars~1.9k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Eslint Vitest Rule Tester

    antfu-collective/eslint-vitest-rule-tester

    Help users test ESLint rules with Vitest, supporting snapshot testing and custom assertions

    142 GitHub stars~1.3k tokensUpdated 27 days ago
    Testing & QAAuto-check passed
  • MoAI TDD Workflow

    modu-ai/moai-adk

    Drives test-first development through the RED, GREEN, REFACTOR cycle, with a config switch that selects between TDD and a DDD workflow for existing code.

    1.2k GitHub stars~3.1k tokensUpdated today
    Testing & QAAuto-check passed
  • Check

    av1155/houndarr

    Run Houndarr's full quality gate (ruff lint, ruff format check, mypy, bandit, pytest) and report results in a single table.

    292 GitHub stars~366 tokensUpdated yesterday
    Testing & QAAuto-check passed

More from artcc/freelingo

  • Pre Push

    artcc/freelingo

    A skill your agent uses when the user asks to check before pushing, pre-push, verificar antes de pushear, run all checks, or quiere validar que todo pasa antes de hacer push.

    158 GitHub stars~732 tokensUpdated today
    Auto-check passed

Questions about Run Tests

What does Run Tests do?

A skill your agent uses when the user asks to run tests, ejecutar tests, lanzar tests, pytest, vitest, check types, typecheck, lint, or verify the codebase. Run Tests is an agent skill from artcc/freelingo. Use when the user asks to run tests, ejecutar tests, lanzar tests, pytest, vitest, check types, typecheck, lint, or verify the codebase.

When should I use Run Tests?

Run Tests fits situations like: the user asks to run tests; verify the codebase.

How do I install Run Tests in Claude Code?

Run `npx skills add artcc/freelingo --skill run-tests -a claude-code`. Or copy the skill folder (.opencode/skills/run-tests in artcc/freelingo) into .claude/skills/run-tests in your project. Claude Code loads it when a task matches its description.

How do I install Run Tests in Codex?

Run `npx skills add artcc/freelingo --skill run-tests -a codex`. Or copy the skill folder (.opencode/skills/run-tests in artcc/freelingo) into .agents/skills/run-tests in your project. Codex loads it when a task matches its description.

Can I use Run Tests 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 artcc/freelingo --skill run-tests -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/run-tests, .gemini/skills/run-tests, .github/skills/run-tests and .opencode/skills/run-tests in your project.

What does Run Tests need to run?

Going by SKILL.md and its folder, Run Tests needs the command-line tools its instructions call (pytest, npm, npx, python3, pip and ruff). Our summary lists: Python 3; Node.js; Docker.

Does Run Tests access the network?

SKILL.md contains no URLs. Its commands use npm, npx and pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Run Tests safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Run Tests use?

Run Tests is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Run Tests use?

About 976 tokens (SKILL.md is roughly 3.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Run Tests?

Skills that share tags, products or a category with Run Tests: Validate (juliepy/AI-Engineer-from-scrach, 430 stars), Typescript Tooling (HoangNguyen0403/agent-skills-standard, 570 stars), Simple Modern Uv (jlevy/simple-modern-uv, 301 stars) and Eslint Vitest Rule Tester (antfu-collective/eslint-vitest-rule-tester, 142 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Run Tests?

artcc (a GitHub user) maintains it in artcc/freelingo, which has 158 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 7, 2026.

Source: artcc/freelingo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.