Rule String Transform

Apply ordered rules for string transformations like pig latin, atbash, or rot. Use when translating words with specific prefix/suffix rules and ordered predicate matching.

knoopx 4536436 1.3 KB Updated

File contents

When to use

For rule-based string transforms (pig latin, atbash, rot, etc.).

Rules

  • Encode the rules as an ordered list of (predicate, transform) pairs
  • For each word, walk the list; apply the FIRST matching rule and stop
  • Order matters — specific rules MUST come before general ones
  • ALWAYS test each rule in isolation before combining
  • NEVER apply multiple rules to the same word

Pig latin specifics

  1. "qu" or consonant-cluster-ending-in-qu counts as a unit — "quick" → "ickquay", "square" → "aresquay"
  2. "y" acts as a consonant at the start but a vowel in the middle — "yellow" → "ellowyay", "rhythm" → "ythmrhay"
  3. Rule order: starts-with-vowel-or-xr-or-yt → append "ay"; starts-with-consonant(s)-then-"qu" → move cluster+qu, append "ay"; starts-with-consonants-up-to-first-"y"-or-vowel → move the consonants, append "ay"; fallback → append "ay"

Example

Pig latin: "quick" starts with "qu" consonant cluster → "ickquay". "apple" starts with vowel → "appleay". "yellow" starts with consonant "y" → "ellowyay".

knoopx/pi/tree/main/agent/skills/knowledge/rule-string-transform commit 45364367ff

Frequently asked questions

npx skillmds@latest add knoopx/rule-string-transform