Babysitter string-algorithm-matcher

Match string problems to appropriate algorithms

install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/algorithms-optimization/skills/string-algorithm-matcher" ~/.claude/skills/a5c-ai-babysitter-string-algorithm-matcher && rm -rf "$T"
manifest: library/specializations/algorithms-optimization/skills/string-algorithm-matcher/SKILL.md
source content

String Algorithm Matcher Skill

Purpose

Match string processing problems to the most appropriate algorithms based on requirements and constraints.

Capabilities

  • Pattern matching algorithm selection (KMP, Z, Rabin-Karp)
  • Suffix structure selection (array vs tree vs automaton)
  • Palindrome detection algorithm selection
  • Rolling hash implementation guidance
  • String DP technique matching

Target Processes

  • pattern-matching-algorithms
  • trie-suffix-structures
  • string-processing

Algorithm Selection Guide

Single Pattern Matching

ScenarioAlgorithmComplexity
Single patternKMPO(n+m)
Multiple patternsAho-CorasickO(n+m+z)
Approximate matchRolling HashO(n*m) average

Suffix Structures

NeedStructureBuild Time
Substring searchSuffix ArrayO(n log n)
Multiple queriesSuffix TreeO(n)
Subsequence countingSuffix AutomatonO(n)

Palindromes

ProblemAlgorithm
Longest palindromic substringManacher
Palindrome partitioningDP + Manacher
Palindrome queriesHashing

Input Schema

{
  "type": "object",
  "properties": {
    "problemDescription": { "type": "string" },
    "problemType": {
      "type": "string",
      "enum": ["patternMatch", "suffixQueries", "palindrome", "subsequence", "dp"]
    },
    "constraints": { "type": "object" }
  },
  "required": ["problemDescription"]
}

Output Schema

{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "algorithm": { "type": "string" },
    "complexity": { "type": "string" },
    "alternatives": { "type": "array" },
    "implementation": { "type": "string" }
  },
  "required": ["success", "algorithm"]
}