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.mdsource 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
| Scenario | Algorithm | Complexity |
|---|---|---|
| Single pattern | KMP | O(n+m) |
| Multiple patterns | Aho-Corasick | O(n+m+z) |
| Approximate match | Rolling Hash | O(n*m) average |
Suffix Structures
| Need | Structure | Build Time |
|---|---|---|
| Substring search | Suffix Array | O(n log n) |
| Multiple queries | Suffix Tree | O(n) |
| Subsequence counting | Suffix Automaton | O(n) |
Palindromes
| Problem | Algorithm |
|---|---|
| Longest palindromic substring | Manacher |
| Palindrome partitioning | DP + Manacher |
| Palindrome queries | Hashing |
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"] }