Agent skill

Pre Push

by artcc in 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.

AGPL-3.0Auto-check passedEducation

Install Pre Push

skills CLI
$ npx skills add artcc/freelingo --skill pre-push -a claude-code

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

GitHub CLI
$ gh skill install artcc/freelingo pre-push --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/pre-push .claude/skills/pre-push && 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
pre-push
GitHub stars
158
Token cost
~732 tokens
SKILL.md length
354 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 check before pushing, pre-push, verificar antes de pushear, run all checks, or quiere validar que todo pasa antes de hacer push.

  • Works in 3 steps: Auto-format (always run first) → Backend tests → Frontend lint + typecheck + tests
  • The user asks to check before pushing
  • SKILL.md covers Order, What each step does, Requirements and If something fails
  • Calls npm, pytest and npx

What it does

Pre Push is an agent skill from artcc/freelingo. Use 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. Auto-formats code then runs the same checks as CI (pytest, eslint, tsc).

Its SKILL.md is about 730 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 Education, covering Linting and formatting, Unit testing and Study guides and flashcards. It works with ESLint, pytest, Python and Docker. 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 check before pushing
  • Verificar antes de pushear
  • Quiere validar que todo pasa antes de hacer push

Example prompts

  • “/pre-push”

Requirements

  • Python 3
  • Node.js
  • Docker

Workflow steps

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

  1. Auto-format (always run first)
  2. Backend tests
  3. Frontend lint + typecheck + tests

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:

    • npm
    • pytest
    • npx
    • ruff
    • eslint
    • prettier
    • tsc
    • python3
    • pip

    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

Pre Push loads about 732 tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 354 words of instructions outside code blocks.

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

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). 354 words, ~732 tokens.

Download SKILL.mdSave it as .claude/skills/pre-push/SKILL.md (or your agent's skills folder).
name
pre-push
description
Use 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. Auto-formats code then runs the same checks as CI (pytest, eslint, tsc).

Pre-Push Checks — FreeLingo

Auto-formats code, then validates everything CI enforces on develop. Mirrors .github/workflows/pr-develop-checks.yml.

Order

Run in this sequence, stopping on first failure:

0. Auto-format (always run first)
bash
./scripts/format.sh

Fixes what can be fixed automatically: Python lint + format, JS/TS lint + format.

1. Backend tests
bash
source .venv/bin/activate && cd backend && pytest -v

1019 backend tests, >= 70% backend coverage required. Current backend coverage is 85.56% last measured. SQLite in-memory, no Docker needed.

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.

2. Frontend lint + typecheck + tests
bash
cd frontend && npm run lint && npx tsc --noEmit && npm run test:run

What each step does

  • Step 0: ./scripts/format.sh runs the canonical formatter from the repository root.
  • Step 0: backend formatting uses ruff --fix and black from backend/pyproject.toml.
  • Step 0: frontend formatting uses eslint --fix plus prettier --write from frontend/.prettierrc and frontend/eslint.config.mjs.
  • Step 1: pytest runs 1019 backend tests with SQLite in-memory.
  • Step 2: eslint verifies no remaining JS/TS lint errors.
  • Step 2: tsc --noEmit runs TypeScript type checking.
  • Step 2: vitest runs 474 frontend tests; frontend coverage is not configured.

Note: CI does not run ruff/black checks — only pytest, eslint, tsc, and vitest. Backend lint (ruff/black) is kept in step 0 as auto-format only.

The canonical one-command local validation is ./scripts/pre-push.sh. The steps above are kept expanded so failures can be rerun independently.

Show full SKILL.md (137 more words)Show less

Requirements

  • .venv/ at project root (create once: python3 -m venv .venv && source .venv/bin/activate && pip install -r backend/requirements.txt)
  • frontend/node_modules exists (install once: cd frontend && npm install)

If something fails

  1. If step 0 fails, report the formatter/lint error and ask the user how to proceed before changing code manually.
  2. 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 approval.
  3. If lint or typecheck fails without test failures, report the error and ask before making non-formatting code changes.
  4. After the user approves a fix, re-run only the failing step unless they ask for the full suite again.
  5. Once all pass, the branch is safe to push.

© 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/pre-push of artcc/freelingo.

Open the folder on GitHubat commit c2f6d2a

Compare with similar skills

Pre Push 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.

Pre Push compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pre Push this skillartcc/freelingo158—~732Automated safety check: PassAGPL-3.0
Flowfile Debugging PlaybookEdwardvaneechoud/Flowfile370—~6.3kAutomated safety check: PassMIT
Pythonericrisco/rsc-harness156—~3.8kAutomated safety check: PassMIT
Cb Code QualityBlkLeg/CircuitBreaker201—~1.9kAutomated safety check: PassMIT
Python Rulessoftspark/ai-toolkit179—~2.9kAutomated safety check: PassApache-2.0
Kedro Babysitkedro-org/kedro11k—~4kAutomated safety check: PassCustom licence

Similar skills

  • Flowfile Debugging Playbook

    Edwardvaneechoud/Flowfile

    Symptom-to-cause triage playbook for Flowfile (core/worker/kernel/frontend/AI) — covers "no such table" DB cascades (two distinct causes), import-time Alembic migration corruption, silent…

    370 GitHub stars~6.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Python

    ericrisco/rsc-harness

    A skill your agent uses when the task is Python itself, in any framework or none: PEP 695 generics, mypy --strict typing, dataclass/Protocol/TypedDict/Enum choices, asyncio.TaskGroup, stdlib idioms…

    156 GitHub stars~3.8k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Cb Code Quality

    BlkLeg/CircuitBreaker

    Circuit Breaker code conventions and the quality gates that actually block a push — ruff, mypy, eslint, the pytest coverage ratchet, and the make verify tiers.

    201 GitHub stars~1.9k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Python Rules

    softspark/ai-toolkit

    Python coding rules: style, patterns, security, testing. An agent skill from softspark/ai-toolkit.

    179 GitHub stars~2.9k tokensUpdated today
    Backend & APIsAuto-check passed
  • Kedro Babysit

    kedro-org/kedro

    Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…

    11k GitHub stars~4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Adk Setup

    google/adk-python

    Official

    Sets up a local ADK Python development environment in a git clone of the open-source adk-python repository: a uv virtual environment, all dependency extras, pre-commit hooks, and a first unit-test…

    22k GitHub stars~993 tokensUpdated today
    DevelopmentAuto-check: notes

More from artcc/freelingo

  • Run Tests

    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.

    158 GitHub stars~976 tokensUpdated today
    Auto-check passed

Questions about Pre Push

What does Pre Push do?

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. Pre Push is an agent skill from artcc/freelingo. Use 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.

When should I use Pre Push?

Pre Push fits situations like: the user asks to check before pushing; verificar antes de pushear; quiere validar que todo pasa antes de hacer push.

How do I install Pre Push in Claude Code?

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

How do I install Pre Push in Codex?

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

Can I use Pre Push 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 pre-push -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pre-push, .gemini/skills/pre-push, .github/skills/pre-push and .opencode/skills/pre-push in your project.

What does Pre Push need to run?

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

Does Pre Push 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 Pre Push 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 Pre Push use?

Pre Push 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 Pre Push use?

About 732 tokens (SKILL.md is roughly 2.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 Pre Push?

Skills that share tags, products or a category with Pre Push: Flowfile Debugging Playbook (Edwardvaneechoud/Flowfile, 370 stars), Python (ericrisco/rsc-harness, 156 stars), Cb Code Quality (BlkLeg/CircuitBreaker, 201 stars) and Python Rules (softspark/ai-toolkit, 179 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pre Push?

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.