Agent skill

Math For Programming

by FerroxLabs in FerroxLabs/wayland

Guides essential mathematics for competitive programming including number theory, combinatorics, computational geometry, modular arithmetic, and probability Use when the user asks about math for…

Apache-2.0Auto-check passed

Install Math For Programming

skills CLI
$ npx skills add FerroxLabs/wayland --skill math-for-programming -a claude-code

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

GitHub CLI
$ gh skill install FerroxLabs/wayland math-for-programming --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/FerroxLabs/wayland.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/emerging-tech/math-for-programming .claude/skills/math-for-programming && 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
math-for-programming
GitHub stars
608
Token cost
~3.5k tokens
SKILL.md length
524 words
Files
1
Skills in repo
1,194
Repo updated
First seen
Licence
Apache-2.0

At a glance

Guides essential mathematics for competitive programming including number theory, combinatorics, computational geometry, modular arithmetic, and probability Use when the user asks about math for…

  • Works in 5 steps: Modular Inverse: Compute C(10^6, 5 *… → Prime Counting: Count primes up to 10^7… → Derangement Counting: Find the number of… → …
  • The user asks about math for programming
  • SKILL.md covers When to Use, Modular Arithmetic, Number Theory and Combinatorics, plus 9 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Math For Programming is an agent skill from FerroxLabs/wayland. Guides essential mathematics for competitive programming including number theory, combinatorics, computational geometry, modular arithmetic, and probability Use when the user asks about math for programming, related techniques, best practices, or needs guidance in this domain. Do NOT use when the request is outside the scope of math for programming or requires a different specialized skill.

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

The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.

When your agent uses it

  • The user asks about math for programming
  • Related techniques
  • Needs guidance in this domain
  • The request is outside the scope of math for programming

Example prompts

  • “Use the math-for-programming skill to guide essential mathematics for competitive programming including number theory, combinatorics, computational…”
  • “/math-for-programming”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Modular Inverse: Compute C(10^6, 5 * 10^5) mod (10^9 + 7) using precomputed factorials
  2. Prime Counting: Count primes up to 10^7 using a linear sieve, also find the sum of all primes
  3. Derangement Counting: Find the number of permutations of n elements with exactly k fixed points
  4. Convex Hull Area: Given n points, find the area of their convex hull
  5. Matrix Fibonacci: Compute the n-th term of a linear recurrence a(n) = 2*a(n-1) + 3*a(n-2) for n up to 10^18

What it can do on your machine

Read from SKILL.md and the folder at commit 4c030c7. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are cpp and template).

    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

Math For Programming loads about 3.5k tokens when it runs. Until then it costs about 104 tokens; SKILL.md has 524 words of instructions outside code blocks.

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

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 FerroxLabs/wayland at commit 4c030c7, republished under its Apache-2.0 licence (© FerroxLabs). 524 words, ~3,526 tokens.

Download SKILL.mdSave it as .claude/skills/math-for-programming/SKILL.md (or your agent's skills folder).
name
math-for-programming
description
Guides essential mathematics for competitive programming including number theory, combinatorics, computational geometry, modular arithmetic, and probability Use when the user asks about math for programming, related techniques, best practices, or needs guidance in this domain. Do NOT use when the request is outside the scope of math for programming or requires a different specialized skill.
license
Apache-2.0
metadata.author
foundry-skills
metadata.version
1.0.0
metadata.tags
advanced competitive-programming guide beginner-friendly
metadata.category
emerging-tech
metadata.subcategory
competitive-programming
metadata.disclaimer
none
metadata.difficulty
intermediate

Math for Programming

You are an expert competitive programming math coach. You guide programmers through the essential mathematical foundations needed for contests: number theory, modular arithmetic, combinatorics, computational geometry, probability, and linear algebra, with efficient implementations and proofs of correctness.

When to Use

Use this skill when:

  • User asks about math for programming techniques or best practices
  • User needs guidance on math for programming concepts
  • User wants to implement or improve their approach to math for programming

Do NOT use when:

  • The request falls outside the scope of math for programming
  • User needs a different specialized skill for their specific situation
  • The topic requires professional consultation beyond general guidance

Modular Arithmetic

Core Operations
cpp
const int MOD = 1e9 + 7;

long long mod(long long x) {
    return ((x % MOD) + MOD) % MOD;  // Handle negative
}

long long add(long long a, long long b) {
    return (a + b) % MOD;
}

long long sub(long long a, long long b) {
    return ((a - b) % MOD + MOD) % MOD;
}

long long mul(long long a, long long b) {
    return (a % MOD) * (b % MOD) % MOD;
}
Modular Exponentiation
cpp
// a^b mod m using binary exponentiation
// Time: O(log b)
long long power(long long a, long long b, long long m = MOD) {
    long long result = 1;
    a %= m;
    while (b > 0) {
        if (b & 1) result = result * a % m;
        a = a * a % m;
        b >>= 1;
    }
    return result;
}
Modular Inverse
cpp
// Modular inverse using Fermat's little theorem (p must be prime)
// a^(-1) = a^(p-2) mod p
// Time: O(log p)
long long modInverse(long long a, long long p = MOD) {
    return power(a, p - 2, p);
}

// Modular division: a / b mod p
long long modDiv(long long a, long long b, long long p = MOD) {
    return mul(a, modInverse(b, p));
}

// Extended Euclidean Algorithm (works for non-prime modulus)
// Returns gcd(a, b), and sets x, y such that a*x + b*y = gcd(a, b)
long long extgcd(long long a, long long b, long long &x, long long &y) {
    if (b == 0) {
        x = 1; y = 0;
        return a;
    }
    long long x1, y1;
    long long g = extgcd(b, a % b, x1, y1);
    x = y1;
    y = x1 - (a / b) * y1;
    return g;
}

Number Theory

Sieve of Eratosthenes
cpp
// Find all primes up to n
// Time: O(n log log n), Space: O(n)
vector<bool> sieve(int n) {
    vector<bool> is_prime(n + 1, true);
    is_prime[0] = is_prime[1] = false;
    for (int i = 2; (long long)i * i <= n; i++) {
        if (is_prime[i]) {
            for (int j = i * i; j <= n; j += i)
                is_prime[j] = false;
        }
    }
    return is_prime;
}

// Linear sieve: also finds smallest prime factor
// Time: O(n), Space: O(n)
vector<int> linearSieve(int n) {
    vector<int> spf(n + 1, 0);  // smallest prime factor
    vector<int> primes;
    for (int i = 2; i <= n; i++) {
        if (spf[i] == 0) {
            spf[i] = i;
            primes.push_back(i);
        }
        for (int p : primes) {
            if (p > spf[i] || (long long)i * p > n) break;
            spf[i * p] = p;
        }
    }
    return spf;
}
Prime Factorization
cpp
// Factorize n into prime factors
// Time: O(sqrt(n))
map<int, int> factorize(int n) {
    map<int, int> factors;
    for (int d = 2; (long long)d * d <= n; d++) {
        while (n % d == 0) {
            factors[d]++;
            n /= d;
        }
    }
    if (n > 1) factors[n]++;
    return factors;
}

// Factorize using precomputed SPF (smallest prime factor)
// Time: O(log n) per factorization
map<int, int> factorizeSPF(int n, vector<int>& spf) {
    map<int, int> factors;
    while (n > 1) {
        factors[spf[n]]++;
        n /= spf[n];
    }
    return factors;
}
GCD and LCM
cpp
// GCD using built-in
long long gcd(long long a, long long b) {
    return __gcd(a, b);  // Or use std::gcd in C++17
}

long long lcm(long long a, long long b) {
    return a / gcd(a, b) * b;  // Divide first to prevent overflow
}
Euler's Totient Function
cpp
// phi(n) = count of integers in [1,n] coprime to n
// Time: O(sqrt(n))
int eulerTotient(int n) {
    int result = n;
    for (int p = 2; (long long)p * p <= n; p++) {
        if (n % p == 0) {
            while (n % p == 0) n /= p;
            result -= result / p;
        }
    }
    if (n > 1) result -= result / n;
    return result;
}

// Sieve for all totient values up to n
// Time: O(n log log n)
vector<int> totientSieve(int n) {
    vector<int> phi(n + 1);
    iota(phi.begin(), phi.end(), 0);
    for (int i = 2; i <= n; i++) {
        if (phi[i] == i) {  // i is prime
            for (int j = i; j <= n; j += i)
                phi[j] -= phi[j] / i;
        }
    }
    return phi;
}

Combinatorics

Precomputed Factorials and nCr
cpp
// Precompute factorials for fast nCr
// Build: O(n), Query: O(1)

const int MAXN = 2e5 + 5;
long long fact[MAXN], inv_fact[MAXN];

void precompute_factorials() {
    fact[0] = 1;
    for (int i = 1; i < MAXN; i++)
        fact[i] = fact[i-1] * i % MOD;

    inv_fact[MAXN-1] = power(fact[MAXN-1], MOD - 2);
    for (int i = MAXN - 2; i >= 0; i--)
        inv_fact[i] = inv_fact[i+1] * (i+1) % MOD;
}

long long nCr(int n, int r) {
    if (r < 0 || r > n) return 0;
    return fact[n] % MOD * inv_fact[r] % MOD * inv_fact[n-r] % MOD;
}

long long nPr(int n, int r) {
    if (r < 0 || r > n) return 0;
    return fact[n] % MOD * inv_fact[n-r] % MOD;
}
Combinatorial Identities
Key identities:
C(n, r) = C(n, n-r)                    (Symmetry)
C(n, r) = C(n-1, r-1) + C(n-1, r)     (Pascal's rule)
C(n, 0) + C(n, 1) + ... + C(n, n) = 2^n
C(n+1, r+1) = sum_{i=r}^{n} C(i, r)   (Hockey stick)

Catalan numbers: C_n = C(2n, n) / (n+1)
  - Valid parenthesizations
  - Binary trees with n nodes
  - Monotonic lattice paths

Stars and bars: Ways to put n indistinguishable balls
in k distinguishable boxes = C(n+k-1, k-1)

Inclusion-Exclusion:
|A1 ∪ A2 ∪ ... ∪ An| = Σ|Ai| - Σ|Ai∩Aj| + Σ|Ai∩Aj∩Ak| - ...
Derangements
cpp
// D(n) = number of permutations with no fixed points
// D(n) = (n-1) * (D(n-1) + D(n-2))
// Time: O(n)
long long derangements(int n) {
    if (n == 0) return 1;
    if (n == 1) return 0;
    vector<long long> d(n + 1);
    d[0] = 1; d[1] = 0;
    for (int i = 2; i <= n; i++)
        d[i] = (i - 1) * (d[i-1] + d[i-2]) % MOD;
    return d[n];
}

Computational Geometry

Point and Vector Operations
cpp
using ld = long double;
const ld EPS = 1e-9;

struct Point {
    ld x, y;
    Point(ld x = 0, ld y = 0) : x(x), y(y) {}

    Point operator+(const Point& p) const { return {x + p.x, y + p.y}; }
    Point operator-(const Point& p) const { return {x - p.x, y - p.y}; }
    Point operator*(ld t) const { return {x * t, y * t}; }
    ld dot(const Point& p) const { return x * p.x + y * p.y; }
    ld cross(const Point& p) const { return x * p.y - y * p.x; }
    ld norm() const { return sqrt(x*x + y*y); }
    ld norm2() const { return x*x + y*y; }

    bool operator<(const Point& p) const {
        if (abs(x - p.x) > EPS) return x < p.x;
        return y < p.y;
    }
};

// Cross product of vectors OA and OB (positive = counterclockwise)
ld cross(Point O, Point A, Point B) {
    return (A - O).cross(B - O);
}

// Distance from point P to line through A and B
ld pointToLine(Point P, Point A, Point B) {
    return abs(cross(A, B, P)) / (B - A).norm();
}

// Distance from point P to segment AB
ld pointToSegment(Point P, Point A, Point B) {
    if ((B - A).dot(P - A) < EPS) return (P - A).norm();
    if ((A - B).dot(P - B) < EPS) return (P - B).norm();
    return pointToLine(P, A, B);
}
Convex Hull
cpp
// Andrew's monotone chain algorithm
// Time: O(n log n), Space: O(n)
vector<Point> convexHull(vector<Point> pts) {
    int n = pts.size();
    if (n < 3) return pts;
    sort(pts.begin(), pts.end());

    vector<Point> hull;

    // Lower hull
    for (auto& p : pts) {
        while (hull.size() >= 2 &&
               cross(hull[hull.size()-2], hull[hull.size()-1], p) <= 0)
            hull.pop_back();
        hull.push_back(p);
    }

    // Upper hull
    int lower_size = hull.size();
    for (int i = n - 2; i >= 0; i--) {
        while ((int)hull.size() > lower_size &&
               cross(hull[hull.size()-2], hull[hull.size()-1], pts[i]) <= 0)
            hull.pop_back();
        hull.push_back(pts[i]);
    }

    hull.pop_back();  // Remove duplicate of first point
    return hull;
}
Polygon Area (Shoelace Formula)
cpp
// Signed area of polygon (positive if counterclockwise)
// Time: O(n)
ld polygonArea(vector<Point>& pts) {
    ld area = 0;
    int n = pts.size();
    for (int i = 0; i < n; i++) {
        int j = (i + 1) % n;
        area += pts[i].cross(pts[j]);
    }
    return area / 2.0;
}

Matrix Exponentiation

Fast Matrix Power
cpp
// Matrix multiplication mod p
// Time: O(n^3) per multiplication, O(n^3 log k) for power
using Matrix = vector<vector<long long>>;

Matrix matmul(const Matrix& A, const Matrix& B) {
    int n = A.size();
    Matrix C(n, vector<long long>(n, 0));
    for (int i = 0; i < n; i++)
        for (int k = 0; k < n; k++)
            if (A[i][k])
                for (int j = 0; j < n; j++)
                    C[i][j] = (C[i][j] + A[i][k] * B[k][j]) % MOD;
    return C;
}

Matrix matpow(Matrix A, long long p) {
    int n = A.size();
    Matrix result(n, vector<long long>(n, 0));
    for (int i = 0; i < n; i++) result[i][i] = 1;  // Identity

    while (p > 0) {
        if (p & 1) result = matmul(result, A);
        A = matmul(A, A);
        p >>= 1;
    }
    return result;
}

// Example: Fibonacci in O(log n)
long long fibonacci(long long n) {
    if (n <= 1) return n;
    Matrix M = {{1, 1}, {1, 0}};
    Matrix result = matpow(M, n - 1);
    return result[0][0];
}

Probability and Expected Value

Linearity of Expectation
E[X + Y] = E[X] + E[Y]  (always, even if dependent)

Indicator variable trick:
E[count of events] = sum of P(each event)

Example: Expected number of fixed points in random permutation
E = sum_{i=1}^{n} P(pi(i) = i) = n * (1/n) = 1
Geometric Distribution
X = number of trials until first success (p = success probability)
E[X] = 1/p
Var[X] = (1-p) / p^2

Example: Expected coin flips to get heads = 1/0.5 = 2

Common Pitfalls

MistakeImpactFix
Overflow in a * b % MODWrong answerCast to long long before multiply
Not handling negative moduloWrong answerUse ((x % MOD) + MOD) % MOD
Wrong inverse for composite modulusWrong answerUse extended GCD, not Fermat
Floating point comparisonUnstable resultsUse integer geometry when possible
Factorial overflowWrong answerPrecompute mod factorials
Off-by-one in nCrWrong answerCheck r <= n and r >= 0
Division before multiplicationPrecision loss (integers)Multiply first, divide last
skipping modular inverse for divisionWrong answerNever use / for modular division

Exercises

  1. Modular Inverse: Compute C(10^6, 5 * 10^5) mod (10^9 + 7) using precomputed factorials
  2. Prime Counting: Count primes up to 10^7 using a linear sieve, also find the sum of all primes
  3. Derangement Counting: Find the number of permutations of n elements with exactly k fixed points
  4. Convex Hull Area: Given n points, find the area of their convex hull
  5. Matrix Fibonacci: Compute the n-th term of a linear recurrence a(n) = 2a(n-1) + 3a(n-2) for n up to 10^18
Show full SKILL.md (187 more words)Show less

Process

  1. Gather information. Ask the user clarifying questions to understand their specific situation, goals, and constraints
  2. Analyze context. Review the information provided and identify key factors relevant to math for programming
  3. Develop recommendations. Apply domain expertise to create actionable guidance tailored to the user's needs
  4. Present structured output. Deliver findings in the output format below with clear next steps
  5. Address follow-ups. Answer additional questions and refine recommendations based on feedback

Output Format

template
## Math For Programming Analysis

### Assessment
[Key findings and observations]

### Recommendations
1. [Primary recommendation]
2. [Secondary recommendation]
3. [Additional suggestions]

### Action Items
- [ ] [First action step]
- [ ] [Second action step]
- [ ] [Follow-up task]

Edge Cases

  • Incomplete information: Ask clarifying questions before proceeding with recommendations
  • Conflicting requirements: Prioritize the most critical constraint and note trade-offs
  • Out of scope requests: Redirect to appropriate specialized skill or professional resource
  • Beginner vs advanced: Adjust depth and terminology based on user's experience level

Example

Input: "Help me with math for programming for my current situation"

Output:

Based on your situation, here is a structured approach to math for programming:

  1. Assessment: Evaluate your current state and identify key areas for improvement
  2. Strategy: Develop a targeted plan based on best practices
  3. Implementation: Execute the plan with specific, measurable steps
  4. Review: Monitor progress and adjust as needed

© FerroxLabs, Apache-2.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 src/process/resources/skills-library/bodies/skills/emerging-tech/math-for-programming of FerroxLabs/wayland.

Open the folder on GitHubat commit 4c030c7

Compare with similar skills

Math For Programming 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.

Math For Programming compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Math For Programming this skillFerroxLabs/wayland608—~3.5kAutomated safety check: PassApache-2.0
Math Essentialsjame581/GodotPrompter792—~3.3kAutomated safety check: PassMIT
Mathparcadei/Continuous-Claude-v33.9k3 repos~1.6kAutomated safety check: NotesMIT
Math Olympiadanthropics/claude-plugins-official37k—~5kAutomated safety check: PassApache-2.0
Prime Numbersparcadei/Continuous-Claude-v33.9k1 repos~405Automated safety check: NotesMIT
Math Modeling Competition WorkflowXiaoMaColtAI/math-modeling-skill1.9k—~1.2kAutomated safety check: PassNone

Similar skills

  • Math Essentials

    jame581/GodotPrompter

    A skill your agent uses when implementing game math — vectors, transforms, interpolation, curves, random number generation, and common geometric recipes

    792 GitHub stars~3.3k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Math

    parcadei/Continuous-Claude-v3

    Unified math capabilities - computation, solving, and explanation.

    3.9k GitHub starsUsed in 3 repos~1.6k tokens
    Research & ScienceAuto-check: notes
  • Math Olympiad

    anthropics/claude-plugins-official

    Official

    Solve competition math problems (IMO, Putnam, USAMO, AIME) with adversarial verification that catches the errors self-verification misses.

    37k GitHub stars~5k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Prime Numbers

    parcadei/Continuous-Claude-v3

    Problem-solving strategies for prime numbers in graph number theory

    3.9k GitHub starsUsed in 1 repo~405 tokens
    Research & ScienceAuto-check: notes
  • Math Modeling Competition Workflow

    XiaoMaColtAI/math-modeling-skill

    Three-role workflow for math modeling contests: problem analysis, code and results, then a paper, with independent subagent checks at each stage gate.

    1.9k GitHub stars~1.2k tokensUpdated yesterday
    Research & ScienceAuto-check passed
  • Math Computation

    tradecatlabs/vibe-coding-cn

    Runs reproducible math computations and counterexample searches with SymPy, NumPy and mpmath, logging evidence without presenting results as proofs.

    17k GitHub stars~881 tokensUpdated 6 days ago
    Research & ScienceAuto-check passed

More from FerroxLabs/wayland

All 1,194 skills in this repo
  • Star Office Helper

    FerroxLabs/wayland

    Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.

    608 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check: notes
  • Openclaw Setup

    FerroxLabs/wayland

    OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.

    608 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Tvcontrol Setup

    FerroxLabs/wayland

    Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.

    608 GitHub stars~5.7k tokensUpdated yesterday
    Auto-check passed
  • Ab Testing Specialist

    FerroxLabs/wayland

    End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.

    608 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Academic Writer

    FerroxLabs/wayland

    Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…

    608 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Accessibility Auditor

    FerroxLabs/wayland

    Web accessibility expertise covering WCAG 2.2 conformance, audit methodology, ARIA patterns, keyboard navigation, screen reader testing, focus management, form accessibility, and automated vs manual…

    608 GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed

Questions about Math For Programming

What does Math For Programming do?

Guides essential mathematics for competitive programming including number theory, combinatorics, computational geometry, modular arithmetic, and probability Use when the user asks about math for…. Math For Programming is an agent skill from FerroxLabs/wayland. Guides essential mathematics for competitive programming including number theory, combinatorics, computational geometry, modular arithmetic, and probability Use when the user asks about math for programming, related techniques, best practices, or needs guidance in this domain.

When should I use Math For Programming?

Math For Programming fits situations like: the user asks about math for programming; related techniques; needs guidance in this domain; the request is outside the scope of math for programming.

How do I install Math For Programming in Claude Code?

Run `npx skills add FerroxLabs/wayland --skill math-for-programming -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/emerging-tech/math-for-programming in FerroxLabs/wayland) into .claude/skills/math-for-programming in your project. Claude Code loads it when a task matches its description.

How do I install Math For Programming in Codex?

Run `npx skills add FerroxLabs/wayland --skill math-for-programming -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/emerging-tech/math-for-programming in FerroxLabs/wayland) into .agents/skills/math-for-programming in your project. Codex loads it when a task matches its description.

Can I use Math For Programming 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 FerroxLabs/wayland --skill math-for-programming -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/math-for-programming, .gemini/skills/math-for-programming, .github/skills/math-for-programming and .opencode/skills/math-for-programming in your project.

What does Math For Programming need to run?

SKILL.md names no scripts, command-line tools or credentials: Math For Programming is instructions for the agent only.

Does Math For Programming 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 Math For Programming 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 Math For Programming use?

Math For Programming is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Math For Programming use?

About 3.5k tokens (SKILL.md is roughly 14k 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 Math For Programming?

Skills that share tags, products or a category with Math For Programming: Math Essentials (jame581/GodotPrompter, 792 stars), Math (parcadei/Continuous-Claude-v3, 3.9k stars), Math Olympiad (anthropics/claude-plugins-official, 37k stars) and Prime Numbers (parcadei/Continuous-Claude-v3, 3.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Math For Programming?

FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 1,194 skills in this directory. The repository was last updated on October 6, 2026.

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