mcpbeat Sign in

Rpg Stat Catalyst Agent Skill

A core TypeScript library for RPG game mathematics. Handles attribute points, leveling curves, and stat derivation (HP, Dmg, etc.).

1k tokens
context cost
the whole folder, loaded on every use
3
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
311
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/kennyzir/7deer_skills --skill rpg-stat-catalyst

What comes with it

2 754 bytes besides the instruction
resources/calculator.ts
resources/types.ts

The instruction itself

4 sections, as written by the author

RPG Stat Catalyst

A mathematical core for Role-Playing Games (RPGs) to handle character progression and stat calculation.

Requirements

  • TypeScript
  • No external runtime dependencies

Usage

  • Copy resources/types.ts and resources/calculator.ts to your project (e.g., lib/rpg/).
  • Initialize the engine with your game's specific configuration:
import { RPGEngine } from '@/lib/rpg/calculator';

// 1. Define your game rules
const DevilHunterConfig = {
    baseHP: 100,
    hpPerLevel: 2,
    pointsPerLevel: 5,
    validAttributes: ['STR', 'CON', 'TEC', 'INT'],
    attributeMultipliers: {
        'CON': 5, // 1 CON = 5 HP
        'STR': 0,
    }
};

const engine = new RPGEngine(DevilHunterConfig);

// 2. Use it in your UI components
const level = 50;
const availablePoints = engine.calculateAvailablePoints(level);
const maxHP = engine.calculateMaxHP(level, 100, 'CON'); // Level 50, 100 CON

console.log(`At level ${level}, you have ${availablePoints} points.`);
console.log(`Max HP: ${maxHP}`);

Extending

For complex logic (like "Innate Talents" or "Hybrid Multipliers"), extend the RPGEngine class:

class AdvancedEngine extends RPGEngine {
    calculateStats(stats: CharacterStats) {
        // ... custom logic ...
    }
}

How to use it

Copy the folder

Take kennyzir/rpg-stat-catalyst from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.