{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-huckleberry-skill",
    "name": "Huckleberry",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/aaronn/openclaw-huckleberry-skill",
    "canonicalUrl": "https://clawhub.ai/aaronn/openclaw-huckleberry-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openclaw-huckleberry-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-huckleberry-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/hb.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openclaw-huckleberry-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/openclaw-huckleberry-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/openclaw-huckleberry-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-huckleberry-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-huckleberry-skill/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Huckleberry Baby Tracker",
        "body": "Track baby activities (sleep, feeding, diapers, growth) via the Huckleberry app's Firebase backend."
      },
      {
        "title": "Setup",
        "body": "Install the API:\n# Install from GitHub (required for bottle feeding support until next PyPI release)\npip install git+https://github.com/Woyken/py-huckleberry-api.git\n# or with uv:\nuv pip install git+https://github.com/Woyken/py-huckleberry-api.git\n\n\n\nConfigure credentials (choose one):\n\nEnvironment variables:\nexport HUCKLEBERRY_EMAIL=\"your-email@example.com\"\nexport HUCKLEBERRY_PASSWORD=\"your-password\"\nexport HUCKLEBERRY_TIMEZONE=\"America/Los_Angeles\"  # optional\n\n\nConfig file at ~/.config/huckleberry/credentials.json:\n{\n  \"email\": \"your-email@example.com\",\n  \"password\": \"your-password\",\n  \"timezone\": \"America/Los_Angeles\"\n}"
      },
      {
        "title": "CLI Usage",
        "body": "The CLI is at ~/clawd/skills/huckleberry/scripts/hb.py\n\n# List children\npython3 ~/clawd/skills/huckleberry/scripts/hb.py children\n\n# Sleep tracking\npython3 ~/clawd/skills/huckleberry/scripts/hb.py sleep-start\npython3 ~/clawd/skills/huckleberry/scripts/hb.py sleep-pause\npython3 ~/clawd/skills/huckleberry/scripts/hb.py sleep-resume\npython3 ~/clawd/skills/huckleberry/scripts/hb.py sleep-complete\npython3 ~/clawd/skills/huckleberry/scripts/hb.py sleep-cancel\n\n# Breastfeeding\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-start --side left\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-switch\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-pause\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-resume --side right\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-complete\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-cancel\n\n# Bottle feeding\npython3 ~/clawd/skills/huckleberry/scripts/hb.py bottle 120 --type \"Formula\" --units ml\n\n# Diaper\npython3 ~/clawd/skills/huckleberry/scripts/hb.py diaper both --pee-amount medium --poo-amount big --color yellow --consistency loose\n\n# Growth\npython3 ~/clawd/skills/huckleberry/scripts/hb.py growth --weight 5.2 --height 55 --head 38 --units metric\npython3 ~/clawd/skills/huckleberry/scripts/hb.py growth-get\n\n# History\npython3 ~/clawd/skills/huckleberry/scripts/hb.py history --date 2026-01-27\npython3 ~/clawd/skills/huckleberry/scripts/hb.py history --days 7 --type sleep --type feed\npython3 ~/clawd/skills/huckleberry/scripts/hb.py history --json"
      },
      {
        "title": "Sleep Commands",
        "body": "CommandParametersDescriptionsleep-start—Start a new sleep session (timer begins)sleep-pause—Pause the current sleep sessionsleep-resume—Resume a paused sleep sessionsleep-complete--notesEnd sleep and save to historysleep-cancel—Cancel without saving to history"
      },
      {
        "title": "Breastfeeding Commands",
        "body": "CommandParametersDescriptionfeed-start--side {left,right} (default: left)Start nursing sessionfeed-pause—Pause session, accumulate durationfeed-resume--side {left,right} (optional)Resume on specified or last sidefeed-switch—Switch to other side (auto-resumes if paused)feed-complete--notesEnd session and save to historyfeed-cancel—Cancel without saving"
      },
      {
        "title": "Bottle Feeding",
        "body": "bottle <amount> [options]\n\nParameterValuesRequiredDefaultamountAny numberYes—--type / -t\"Breast Milk\", \"Formula\", \"Mixed\"No\"Formula\"--units / -uml, ozNoml--notes / -nAny textNo—"
      },
      {
        "title": "Diaper Change",
        "body": "diaper <mode> [options]\n\nParameterValuesRequiredDefaultmodepee, poo, both, dryYes—--pee-amountlittle, medium, bigNo—--poo-amountlittle, medium, bigNo—--coloryellow, brown, black, green, red, grayNo—--consistencysolid, loose, runny, mucousy, hard, pebbles, diarrheaNo—--rash(flag)Nofalse--notesAny textNo—\n\nColor Guide\n\nyellow — Normal for breastfed babies\nbrown — Normal for formula-fed or older babies\ngreen — Can be normal, or indicate fast digestion/foremilk\nblack — Normal first few days (meconium), concerning later\nred — May indicate blood, consult pediatrician\ngray — Uncommon, may indicate liver issues\n\nConsistency Guide\n\nsolid — Formed stool\nloose — Soft but not watery\nrunny — Watery consistency\nmucousy — Contains mucus\nhard — Firm, may indicate constipation\npebbles — Small hard pieces\ndiarrhea — Very watery, frequent"
      },
      {
        "title": "Growth Measurements",
        "body": "growth [options]\ngrowth-get\n\nParameterValuesRequiredNotes--weight / -wNumberAt least onekg (metric) or lbs (imperial)--height / -lNumbermeasurementcm (metric) or inches (imperial)--headNumberrequiredcm (metric) or inches (imperial)--units / -umetric, imperialNoDefault: metric--notes / -nAny textNo—"
      },
      {
        "title": "History / Calendar",
        "body": "history [options]\n\nParameterValuesRequiredDefault--date / -dYYYY-MM-DDNoToday--daysNumberNo1--type / -tsleep, feed, diaper, healthNoAll types\n\nUse --type multiple times to filter: --type sleep --type feed"
      },
      {
        "title": "AI Attribution on Notes",
        "body": "Always include AI attribution when logging entries:\n\nCreating new entries:\n\nNo user note: --notes \"Created via AI\"\nUser provides note: --notes \"user's note | Created via AI\"\n\nEditing existing entries:\n\nNo user note: --notes \"Updated via AI\"\nUser provides note: append  | Updated via AI to existing notes\n\nThis creates a paper trail for AI-assisted entries."
      },
      {
        "title": "When to Ask for Clarification",
        "body": "When a user request is sparse, ask for clarification before logging. Here's when:"
      },
      {
        "title": "Diaper Changes",
        "body": "If user says just \"diaper change\" or \"poop\":\n\nAlways ask: Was it pee, poo, or both?\nFor poo, consider asking: Color? Consistency? Amount?\nSkip details if: User seems rushed or says \"just log it\"\n\nExample follow-up:\n\n\"Got it! Was it pee, poo, or both? Any details to note (color, consistency, amount)?\""
      },
      {
        "title": "Bottle Feeding",
        "body": "If user says \"bottle\" without amount:\n\nAlways ask: How much? (in ml or oz)\nConsider asking: Formula, breast milk, or mixed?\n\nExample follow-up:\n\n\"How much was the bottle? And was it formula, breast milk, or mixed?\""
      },
      {
        "title": "Growth Measurements",
        "body": "If user says \"log weight\" without value:\n\nAlways ask: What's the weight? (and clarify units if ambiguous)"
      },
      {
        "title": "Sleep/Feeding Timers",
        "body": "These are typically clear commands, but clarify if ambiguous:\n\n\"Baby's eating\" → \"Starting breastfeeding — which side, left or right?\"\n\"Feed done\" → Check if breastfeeding or bottle context"
      },
      {
        "title": "Natural Language Examples",
        "body": "User saysAction\"Baby fell asleep\"sleep-start\"She woke up\"sleep-complete\"Cancel that sleep\"sleep-cancel\"Feeding on the left\"feed-start --side left\"Switch sides\"feed-switch\"Done nursing\"feed-complete\"4oz bottle of formula\"bottle 4 --type Formula --units oz\"120ml breast milk bottle\"bottle 120 --type \"Breast Milk\" --units ml\"Diaper change, pee and poo\"→ Ask about amounts/color/consistency\"Just a wet diaper\"diaper pee\"Dry check\"diaper dry\"Weight is 5.5kg\"growth --weight 5.5 --units metric\"What did the baby do today?\"history --days 1\"Sleep history for the week\"history --days 7 --type sleep"
      },
      {
        "title": "Multi-Child Support",
        "body": "If the account has multiple children, use --child / -c:\n\npython3 hb.py --child \"Baby Name\" sleep-start\n\nWithout --child, commands default to the first child in the account."
      },
      {
        "title": "Troubleshooting",
        "body": "Authentication errors:\n\nVerify email/password are correct\nCheck credentials file permissions\nHuckleberry doesn't support 2FA for API access\n\n\"No children found\":\n\nEnsure the account has at least one child profile in the Huckleberry app\n\nTimer already active:\n\nComplete or cancel the existing session before starting a new one"
      },
      {
        "title": "Technical Notes",
        "body": "Uses Firebase Firestore via gRPC (same as mobile app)\nReal-time sync: Changes appear immediately in the Huckleberry app\nToken auto-refresh: Sessions stay authenticated\nTimezone handling: Huckleberry requires an offset field (minutes behind UTC) for entries to display correctly. E.g., PST (UTC-8) = 480 minutes. The CLI automatically calculates this from the configured timezone. Without this field, entries appear at UTC time in the app."
      },
      {
        "title": "Credits",
        "body": "Built on py-huckleberry-api by Woyken — a reverse-engineered Python client for Huckleberry's Firebase backend.\n\nCreated with AI - 2026-01-27\nUpdated with AI - 2026-01-28"
      },
      {
        "title": "Notes on All Entry Types",
        "body": "The --notes / -n parameter is available on all entry types:\n\nsleep-complete --notes \"Slept through the night!\"\nfeed-complete --notes \"Good latch today\"\nbottle --notes \"Logged via AI\"\ndiaper --notes \"Checked by AI\"\ngrowth --notes \"Measured at pediatrician\"\n\nThe upstream py-huckleberry-api only supports notes on diaper entries. This skill extends that to all types by updating the Firestore document directly after creation."
      },
      {
        "title": "Not Supported by Upstream API",
        "body": "The following features exist in Huckleberry but aren't exposed in the py-huckleberry-api:\n\nSleep conditions (happy/upset at start/end)\nSleep locations (car, nursing, stroller, crib, etc.)\n\nThese would require modifying the upstream library to accept additional parameters."
      }
    ],
    "body": "Huckleberry Baby Tracker\n\nTrack baby activities (sleep, feeding, diapers, growth) via the Huckleberry app's Firebase backend.\n\nSetup\n\nInstall the API:\n\n# Install from GitHub (required for bottle feeding support until next PyPI release)\npip install git+https://github.com/Woyken/py-huckleberry-api.git\n# or with uv:\nuv pip install git+https://github.com/Woyken/py-huckleberry-api.git\n\n\nConfigure credentials (choose one):\n\nEnvironment variables:\nexport HUCKLEBERRY_EMAIL=\"your-email@example.com\"\nexport HUCKLEBERRY_PASSWORD=\"your-password\"\nexport HUCKLEBERRY_TIMEZONE=\"America/Los_Angeles\"  # optional\n\nConfig file at ~/.config/huckleberry/credentials.json:\n{\n  \"email\": \"your-email@example.com\",\n  \"password\": \"your-password\",\n  \"timezone\": \"America/Los_Angeles\"\n}\n\nCLI Usage\n\nThe CLI is at ~/clawd/skills/huckleberry/scripts/hb.py\n\n# List children\npython3 ~/clawd/skills/huckleberry/scripts/hb.py children\n\n# Sleep tracking\npython3 ~/clawd/skills/huckleberry/scripts/hb.py sleep-start\npython3 ~/clawd/skills/huckleberry/scripts/hb.py sleep-pause\npython3 ~/clawd/skills/huckleberry/scripts/hb.py sleep-resume\npython3 ~/clawd/skills/huckleberry/scripts/hb.py sleep-complete\npython3 ~/clawd/skills/huckleberry/scripts/hb.py sleep-cancel\n\n# Breastfeeding\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-start --side left\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-switch\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-pause\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-resume --side right\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-complete\npython3 ~/clawd/skills/huckleberry/scripts/hb.py feed-cancel\n\n# Bottle feeding\npython3 ~/clawd/skills/huckleberry/scripts/hb.py bottle 120 --type \"Formula\" --units ml\n\n# Diaper\npython3 ~/clawd/skills/huckleberry/scripts/hb.py diaper both --pee-amount medium --poo-amount big --color yellow --consistency loose\n\n# Growth\npython3 ~/clawd/skills/huckleberry/scripts/hb.py growth --weight 5.2 --height 55 --head 38 --units metric\npython3 ~/clawd/skills/huckleberry/scripts/hb.py growth-get\n\n# History\npython3 ~/clawd/skills/huckleberry/scripts/hb.py history --date 2026-01-27\npython3 ~/clawd/skills/huckleberry/scripts/hb.py history --days 7 --type sleep --type feed\npython3 ~/clawd/skills/huckleberry/scripts/hb.py history --json\n\nComplete Parameter Reference\nSleep Commands\nCommand\tParameters\tDescription\nsleep-start\t—\tStart a new sleep session (timer begins)\nsleep-pause\t—\tPause the current sleep session\nsleep-resume\t—\tResume a paused sleep session\nsleep-complete\t--notes\tEnd sleep and save to history\nsleep-cancel\t—\tCancel without saving to history\nBreastfeeding Commands\nCommand\tParameters\tDescription\nfeed-start\t--side {left,right} (default: left)\tStart nursing session\nfeed-pause\t—\tPause session, accumulate duration\nfeed-resume\t--side {left,right} (optional)\tResume on specified or last side\nfeed-switch\t—\tSwitch to other side (auto-resumes if paused)\nfeed-complete\t--notes\tEnd session and save to history\nfeed-cancel\t—\tCancel without saving\nBottle Feeding\nbottle <amount> [options]\n\nParameter\tValues\tRequired\tDefault\namount\tAny number\tYes\t—\n--type / -t\t\"Breast Milk\", \"Formula\", \"Mixed\"\tNo\t\"Formula\"\n--units / -u\tml, oz\tNo\tml\n--notes / -n\tAny text\tNo\t—\nDiaper Change\ndiaper <mode> [options]\n\nParameter\tValues\tRequired\tDefault\nmode\tpee, poo, both, dry\tYes\t—\n--pee-amount\tlittle, medium, big\tNo\t—\n--poo-amount\tlittle, medium, big\tNo\t—\n--color\tyellow, brown, black, green, red, gray\tNo\t—\n--consistency\tsolid, loose, runny, mucousy, hard, pebbles, diarrhea\tNo\t—\n--rash\t(flag)\tNo\tfalse\n--notes\tAny text\tNo\t—\nColor Guide\nyellow — Normal for breastfed babies\nbrown — Normal for formula-fed or older babies\ngreen — Can be normal, or indicate fast digestion/foremilk\nblack — Normal first few days (meconium), concerning later\nred — May indicate blood, consult pediatrician\ngray — Uncommon, may indicate liver issues\nConsistency Guide\nsolid — Formed stool\nloose — Soft but not watery\nrunny — Watery consistency\nmucousy — Contains mucus\nhard — Firm, may indicate constipation\npebbles — Small hard pieces\ndiarrhea — Very watery, frequent\nGrowth Measurements\ngrowth [options]\ngrowth-get\n\nParameter\tValues\tRequired\tNotes\n--weight / -w\tNumber\tAt least one\tkg (metric) or lbs (imperial)\n--height / -l\tNumber\tmeasurement\tcm (metric) or inches (imperial)\n--head\tNumber\trequired\tcm (metric) or inches (imperial)\n--units / -u\tmetric, imperial\tNo\tDefault: metric\n--notes / -n\tAny text\tNo\t—\nHistory / Calendar\nhistory [options]\n\nParameter\tValues\tRequired\tDefault\n--date / -d\tYYYY-MM-DD\tNo\tToday\n--days\tNumber\tNo\t1\n--type / -t\tsleep, feed, diaper, health\tNo\tAll types\n\nUse --type multiple times to filter: --type sleep --type feed\n\nAgent Guidelines: When to Ask for Details\nAI Attribution on Notes\n\nAlways include AI attribution when logging entries:\n\nCreating new entries:\n\nNo user note: --notes \"Created via AI\"\nUser provides note: --notes \"user's note | Created via AI\"\n\nEditing existing entries:\n\nNo user note: --notes \"Updated via AI\"\nUser provides note: append | Updated via AI to existing notes\n\nThis creates a paper trail for AI-assisted entries.\n\nWhen to Ask for Clarification\n\nWhen a user request is sparse, ask for clarification before logging. Here's when:\n\nDiaper Changes\n\nIf user says just \"diaper change\" or \"poop\":\n\nAlways ask: Was it pee, poo, or both?\nFor poo, consider asking: Color? Consistency? Amount?\nSkip details if: User seems rushed or says \"just log it\"\n\nExample follow-up:\n\n\"Got it! Was it pee, poo, or both? Any details to note (color, consistency, amount)?\"\n\nBottle Feeding\n\nIf user says \"bottle\" without amount:\n\nAlways ask: How much? (in ml or oz)\nConsider asking: Formula, breast milk, or mixed?\n\nExample follow-up:\n\n\"How much was the bottle? And was it formula, breast milk, or mixed?\"\n\nGrowth Measurements\n\nIf user says \"log weight\" without value:\n\nAlways ask: What's the weight? (and clarify units if ambiguous)\nSleep/Feeding Timers\n\nThese are typically clear commands, but clarify if ambiguous:\n\n\"Baby's eating\" → \"Starting breastfeeding — which side, left or right?\"\n\"Feed done\" → Check if breastfeeding or bottle context\nNatural Language Examples\nUser says\tAction\n\"Baby fell asleep\"\tsleep-start\n\"She woke up\"\tsleep-complete\n\"Cancel that sleep\"\tsleep-cancel\n\"Feeding on the left\"\tfeed-start --side left\n\"Switch sides\"\tfeed-switch\n\"Done nursing\"\tfeed-complete\n\"4oz bottle of formula\"\tbottle 4 --type Formula --units oz\n\"120ml breast milk bottle\"\tbottle 120 --type \"Breast Milk\" --units ml\n\"Diaper change, pee and poo\"\t→ Ask about amounts/color/consistency\n\"Just a wet diaper\"\tdiaper pee\n\"Dry check\"\tdiaper dry\n\"Weight is 5.5kg\"\tgrowth --weight 5.5 --units metric\n\"What did the baby do today?\"\thistory --days 1\n\"Sleep history for the week\"\thistory --days 7 --type sleep\nMulti-Child Support\n\nIf the account has multiple children, use --child / -c:\n\npython3 hb.py --child \"Baby Name\" sleep-start\n\n\nWithout --child, commands default to the first child in the account.\n\nTroubleshooting\n\nAuthentication errors:\n\nVerify email/password are correct\nCheck credentials file permissions\nHuckleberry doesn't support 2FA for API access\n\n\"No children found\":\n\nEnsure the account has at least one child profile in the Huckleberry app\n\nTimer already active:\n\nComplete or cancel the existing session before starting a new one\nTechnical Notes\nUses Firebase Firestore via gRPC (same as mobile app)\nReal-time sync: Changes appear immediately in the Huckleberry app\nToken auto-refresh: Sessions stay authenticated\nTimezone handling: Huckleberry requires an offset field (minutes behind UTC) for entries to display correctly. E.g., PST (UTC-8) = 480 minutes. The CLI automatically calculates this from the configured timezone. Without this field, entries appear at UTC time in the app.\nCredits\n\nBuilt on py-huckleberry-api by Woyken — a reverse-engineered Python client for Huckleberry's Firebase backend.\n\nCreated with AI - 2026-01-27 Updated with AI - 2026-01-28\n\nNotes on All Entry Types\n\nThe --notes / -n parameter is available on all entry types:\n\nsleep-complete --notes \"Slept through the night!\"\nfeed-complete --notes \"Good latch today\"\nbottle --notes \"Logged via AI\"\ndiaper --notes \"Checked by AI\"\ngrowth --notes \"Measured at pediatrician\"\n\nThe upstream py-huckleberry-api only supports notes on diaper entries. This skill extends that to all types by updating the Firestore document directly after creation.\n\nNot Supported by Upstream API\n\nThe following features exist in Huckleberry but aren't exposed in the py-huckleberry-api:\n\nSleep conditions (happy/upset at start/end)\nSleep locations (car, nursing, stroller, crib, etc.)\n\nThese would require modifying the upstream library to accept additional parameters."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/aaronn/openclaw-huckleberry-skill",
    "publisherUrl": "https://clawhub.ai/aaronn/openclaw-huckleberry-skill",
    "owner": "aaronn",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-huckleberry-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-huckleberry-skill",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-huckleberry-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-huckleberry-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-huckleberry-skill/agent.md"
  }
}