Babysitter data-structure-selector

Select optimal data structure based on operation requirements

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/data-structure-selector" ~/.claude/skills/a5c-ai-babysitter-data-structure-selector && rm -rf "$T"
manifest: library/specializations/algorithms-optimization/skills/data-structure-selector/SKILL.md
source content

Data Structure Selector Skill

Purpose

Select the optimal data structure based on required operations, their frequencies, and time/space constraints.

Capabilities

  • Analyze required operations (insert, delete, query, update)
  • Match to optimal data structure
  • Consider time/space trade-offs
  • Suggest augmentations for custom requirements
  • Compare alternatives with complexity analysis

Target Processes

  • data-structure-implementation
  • algorithm-implementation
  • complexity-optimization

Selection Framework

Operation Analysis

  1. What operations are needed?
  2. What are the frequency/priority of each operation?
  3. What are the constraints (N, Q, time limit)?
  4. Is persistence needed?
  5. Are range operations required?

Common Selection Patterns

OperationsBest Choice
Insert, Delete, SearchBST / Hash Map
Range sum, Point updateFenwick Tree
Range query, Range updateSegment Tree + Lazy
Union, FindDSU
Min/Max with add/removeMultiset / Heap
Predecessor/SuccessorOrdered Set / BST

Input Schema

{
  "type": "object",
  "properties": {
    "operations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": { "type": "string" },
          "frequency": { "type": "string" },
          "constraints": { "type": "string" }
        }
      }
    },
    "constraints": { "type": "object" },
    "preferences": { "type": "array" }
  },
  "required": ["operations"]
}

Output Schema

{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "recommended": { "type": "string" },
    "complexities": { "type": "object" },
    "alternatives": { "type": "array" },
    "augmentations": { "type": "array" },
    "reasoning": { "type": "string" }
  },
  "required": ["success", "recommended"]
}