Back to skills
extension
Category: Development & EngineeringNo API key required

libutil

libutil - General utilities. countTokens and estimateTokens for GPT-style token counting. generateHash creates SHA256 hashes. generateUuid creates unique IDs findProjectRoot locates repository root. updateEnvFile modifies environment files. exec runs child processes. createBundler downloads code bundles. Use for token counting, hashing, and project utilities.

personAuthor: jakexiaohubgithub

libutil Skill

When to Use

  • Counting tokens for LLM context management
  • Generating hashes and UUIDs
  • Finding project root directory
  • Running child processes
  • Managing generated code bundles

Key Concepts

Token counting: GPT-compatible tokenization for context window management.

Project root: Finds repository root by looking for package.json markers.

Bundle management: Download and extract pre-generated code bundles.

Usage Patterns

Pattern 1: Count tokens

import { countTokens, estimateTokens } from "@copilot-ld/libutil";

const exact = countTokens("Hello, world!"); // Accurate count
const fast = estimateTokens("Hello, world!"); // Quick estimate

Pattern 2: Generate identifiers

import { generateHash, generateUuid } from "@copilot-ld/libutil";

const hash = generateHash(content); // 16-char SHA256
const uuid = generateUuid(); // Standard UUID

Pattern 3: Find project root

import { findProjectRoot } from "@copilot-ld/libutil";

const root = await findProjectRoot(); // /path/to/copilot-ld

Integration

Used across packages for common utilities. countTokens used by libmemory.