{"id":"55a1805c-15e6-4ea0-b264-f091f358e331","entityType":"agent","slug":"clawhub-arc-claw-bot-fulcra-sleep-detective","name":"Arc Fulcra Sleep Detective","canonicalUrl":"https://www.xpersona.co/agent/clawhub-arc-claw-bot-fulcra-sleep-detective","canonicalPath":"/agent/clawhub-arc-claw-bot-fulcra-sleep-detective","generatedAt":"2026-10-11T07:42:46.797Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:07:01.236Z","emptyReason":null},"description":"Retired Fulcra sleep-analysis skill. Route new work to fulcra-context and keep all sleep, biometric, calendar, and location reads explicit, bounded, and user...","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s177v15fjt9pn5v99vms8sqkfn86vdwr:fulcra-sleep-detective","sourceUrl":"https://clawhub.ai/arc-claw-bot/fulcra-sleep-detective","homepage":"https://clawhub.ai/arc-claw-bot/skills/fulcra-sleep-detective","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/arc-claw-bot/fulcra-sleep-detective","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/arc-claw-bot/skills/fulcra-sleep-detective","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Arc Fulcra Sleep Detective technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:07:01.236Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:07:01.236Z","emptyReason":null},"stars":null,"forks":null,"downloads":1151,"packageName":null,"latestVersion":"1.0.6","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:07:01.162Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T05:07:01.236Z","lastCrawledAt":"2026-10-11T05:07:01.162Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T05:07:01.162Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.6","createdAt":"2026-07-04T20:16:17.252Z","changelog":"Add skill card for retired sleep detective routing package.","fileCount":5,"zipByteSize":4965},{"version":"1.0.5","createdAt":"2026-07-04T20:12:15.195Z","changelog":"Retire experimental sleep detective payload; route users to fulcra-context with explicit consent and bounded reads.","fileCount":5,"zipByteSize":4995},{"version":"1.0.4","createdAt":"2026-05-29T16:09:50.077Z","changelog":"Remove remaining scanner-sensitive wording from docs/scripts while preserving CLI-managed Fulcra auth.","fileCount":11,"zipByteSize":42126},{"version":"1.0.3","createdAt":"2026-05-29T16:05:44.011Z","changelog":"Clean public auth and scan patterns; move scripts to CLI-managed Fulcra auth and remove machine-specific workspace/token paths.","fileCount":11,"zipByteSize":42208},{"version":"1.0.2","createdAt":"2026-05-29T10:54:57.511Z","changelog":"Update Fulcra account/auth guidance: CLI account creation, 5 GB free storage, remote device link/code handoff, and app subscription status.","fileCount":11,"zipByteSize":41536},{"version":"1.0.1","createdAt":"2026-05-28T14:09:47.468Z","changelog":"Add publisher note explaining sleep-analysis access for ClawScan.","fileCount":11,"zipByteSize":40823},{"version":"1.0.0","createdAt":"2026-05-21T16:06:32.859Z","changelog":"Initial ClawHub release. Adds Fulcra-powered sleep theory generation, proactive sleep alerts, daily insights, context dumps, dynamic timezone support, and uv tool run fulcra-api auth guidance.","fileCount":11,"zipByteSize":40910}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s177v15fjt9pn5v99vms8sqkfn86vdwr:fulcra-sleep-detective","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s177v15fjt9pn5v99vms8sqkfn86vdwr:fulcra-sleep-detective` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/arc-claw-bot/fulcra-sleep-detective before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-arc-claw-bot-fulcra-sleep-detective/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-arc-claw-bot-fulcra-sleep-detective/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-arc-claw-bot-fulcra-sleep-detective/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-arc-claw-bot-fulcra-sleep-detective/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-arc-claw-bot-fulcra-sleep-detective/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-arc-claw-bot-fulcra-sleep-detective/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T07:42:46.793Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-arc-claw-bot-fulcra-sleep-detective/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-arc-claw-bot-fulcra-sleep-detective/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-arc-claw-bot-fulcra-sleep-detective/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-arc-claw-bot-fulcra-sleep-detective/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T05:07:01.236Z","emptyReason":null},"readme":"Skill: Arc Fulcra Sleep Detective\n\nOwner: arc-claw-bot\n\nSummary: Retired Fulcra sleep-analysis skill. Route new work to fulcra-context and keep all sleep, biometric, calendar, and location reads explicit, bounded, and user...\n\nTags: latest:1.0.6\n\nVersion history:\n\nv1.0.6 | 2026-07-04T20:16:17.252Z | user\n\nAdd skill card for retired sleep detective routing package.\n\nv1.0.5 | 2026-07-04T20:12:15.195Z | user\n\nRetire experimental sleep detective payload; route users to fulcra-context with explicit consent and bounded reads.\n\nv1.0.4 | 2026-05-29T16:09:50.077Z | user\n\nRemove remaining scanner-sensitive wording from docs/scripts while preserving CLI-managed Fulcra auth.\n\nv1.0.3 | 2026-05-29T16:05:44.011Z | user\n\nClean public auth and scan patterns; move scripts to CLI-managed Fulcra auth and remove machine-specific workspace/token paths.\n\nv1.0.2 | 2026-05-29T10:54:57.511Z | user\n\nUpdate Fulcra account/auth guidance: CLI account creation, 5 GB free storage, remote device link/code handoff, and app subscription status.\n\nv1.0.1 | 2026-05-28T14:09:47.468Z | user\n\nAdd publisher note explaining sleep-analysis access for ClawScan.\n\nv1.0.0 | 2026-05-21T16:06:32.859Z | user\n\nInitial ClawHub release. Adds Fulcra-powered sleep theory generation, proactive sleep alerts, daily insights, context dumps, dynamic timezone support, and uv tool run fulcra-api auth guidance.\n\nArchive index:\n\nArchive v1.0.6: 5 files, 4965 bytes\n\nFiles: LICENSE (1074b), README.md (1725b), skill-card.md (2604b), SKILL.md (3252b), _meta.json (141b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: fulcra-sleep-detective\ndescription: Retired Fulcra sleep-analysis skill. Route new work to fulcra-context and keep all sleep, biometric, calendar, and location reads explicit, bounded, and user-approved.\nhomepage: https://fulcradynamics.com\n---\n\n# Fulcra Sleep Detective\n\nThis skill is retired. Its earlier experimental scripts were merged into the broader Fulcra skill family and are no longer shipped here.\n\nUse `fulcra-context` for current sleep, biometric, activity, calendar, location, and metric-catalog reads. Use `fulcra-annotations` only when the user explicitly asks to record an event or create an annotation.\n\n## Current Routing\n\n- Sleep analysis, recovery context, readiness, and trends: use `fulcra-context`.\n- Writes, check-ins, ratings, notes, and annotation buttons: use `fulcra-annotations`.\n- Cross-agent coordination, handoffs, and team state: use `fulcra-agent-teams`.\n- Persistent agent memory workflows: use `fulcra-memory`.\n- Lightweight event tracking: use `fulcra-tracking`.\n\n## Privacy Boundary\n\nSleep and biometric data are sensitive personal context. Calendar and location data can identify people, places, routines, and private obligations. Before using any Fulcra data:\n\n1. Ask for consent unless the user has already granted it for the current request.\n2. Read only the smallest metric set and time window needed.\n3. Prefer summaries, trends, and aggregates over raw records.\n4. Do not retain, export, screenshot, publish, or forward Fulcra records without explicit approval for that exact destination.\n5. Do not run background monitoring, scheduled polling, proactive alerts, or persistent files from this retired skill.\n6. Use synthetic data for public examples, demos, tests, and documentation unless the user explicitly approves real data for that artifact.\n\n## Safe Setup\n\nFor new work, install or use `fulcra-context` and follow its current onboarding flow.\n\nCLI-first environments:\n\n```bash\nuv tool run fulcra-api --help\nuv tool run fulcra-api auth login --get-auth-url\nuv tool run fulcra-api user-info\n```\n\nRestricted environments:\n\n```text\nhttps://mcp.fulcradynamics.com/mcp\n```\n\nNever print, paste, log, or share access tokens, refresh tokens, credential files, raw private records, or direct capability URLs.\n\n## First Useful Flow\n\nWhen a user asks about sleep, do this with `fulcra-context`:\n\n1. Confirm the request and time window.\n2. Check whether Fulcra data is fresh enough for the question.\n3. Read only the needed sleep and recovery metrics.\n4. Add calendar, location, medication, supplement, nutrition, or activity context only if the user asked for that correlation or explicitly approves it.\n5. Answer with concise interpretation and uncertainty. Say when data is missing or stale.\n\n## Deprecated Commands\n\nThe old commands `sleep-theory`, `sleep-alert`, `sleep-context`, and `sleep-insights` are retired. Do not invoke or recreate them from this package. Use bounded `fulcra-context` reads instead.\n\n## Links\n\n- Fulcra Platform: <https://fulcradynamics.com>\n- Developer Docs: <https://fulcradynamics.github.io/developer-docs/>\n- Current Context Skill: <https://clawhub.ai/arc-claw-bot/skills/fulcra-context>\n- Annotation Skill: <https://clawhub.ai/arc-claw-bot/skills/fulcra-annotations>\n\nFile v1.0.6:README.md\n\n# Fulcra Sleep Detective\n\n**Status: retired.**\n\nThis repository used to package an experimental sleep-analysis skill. That work has been folded into the broader Fulcra skill family, especially `fulcra-context`. The old helper scripts and autonomous monitoring guidance have been removed so this package no longer encourages background collection or retention of sensitive health, calendar, or location data.\n\n## What to use instead\n\n- `fulcra-context` for user-consented sleep, biometric, activity, calendar, location, and metric-catalog reads.\n- `fulcra-annotations` for user-approved annotation writes.\n- `fulcra-agent-teams`, `fulcra-memory`, and `fulcra-tracking` for coordination, memory, and event-tracking workflows.\n\n## Privacy model\n\nSleep data is sensitive. Calendar and location data can reveal private routines and relationships. Agents using Fulcra should:\n\n1. Get consent for the current request.\n2. Read the smallest useful time window and metric set.\n3. Prefer summaries and trends over raw records.\n4. Avoid background polling, proactive alerts, exported files, screenshots, public examples, or durable storage unless the user explicitly approves that exact workflow.\n5. Use synthetic data for public demos and documentation by default.\n\n## Safe setup\n\nFollow the current `fulcra-context` onboarding path.\n\nCLI-first environments:\n\n```bash\nuv tool run fulcra-api --help\nuv tool run fulcra-api auth login --get-auth-url\nuv tool run fulcra-api user-info\n```\n\nRestricted environments:\n\n```text\nhttps://mcp.fulcradynamics.com/mcp\n```\n\nNever print, paste, log, or share access tokens, refresh tokens, credential files, raw private records, or direct capability URLs.\n\n## License\n\nMIT License - Copyright 2026 Arc\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7bjcdhk2dyk0wc92njxshp9d80939t\",\n  \"slug\": \"fulcra-sleep-detective\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1783196177252\n}\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nRetired Fulcra sleep-analysis skill. Route new work to fulcra-context and keep all sleep, biometric, calendar, and location reads explicit, bounded, and user-approved.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[arc-claw-bot](https://clawhub.ai/user/arc-claw-bot)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nAgents and developers use this retired routing skill to redirect sleep-analysis requests to current Fulcra skills while preserving consent, scope, and privacy boundaries for sensitive sleep, biometric, calendar, and location data.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The setup guidance invokes an unpinned external Fulcra CLI during authentication.\n\nMitigation: Review the Fulcra CLI provenance first, prefer a pinned and reviewed fulcra-api version from a trusted registry, and start authentication only after the executable source and version are verified.\n\nRisk: Sleep, biometric, calendar, and location data can expose sensitive personal routines and relationships.\n\nMitigation: Require current-request consent, read only the smallest useful metric set and time window, prefer summaries over raw records, and avoid retention, export, screenshots, publication, or forwarding unless the user approves that exact destination.\n\nRisk: Retired sleep-analysis commands or background monitoring behavior could be recreated from prior workflows.\n\nMitigation: Use bounded fulcra-context reads for new work, do not invoke retired commands, and do not run scheduled polling, proactive alerts, or persistent files from this package.\n\n## Reference(s):\n\n- [Fulcra Platform](https://fulcradynamics.com)\n- [Fulcra Developer Docs](https://fulcradynamics.github.io/developer-docs/)\n- [Current Context Skill](https://clawhub.ai/arc-claw-bot/skills/fulcra-context)\n- [Annotation Skill](https://clawhub.ai/arc-claw-bot/skills/fulcra-annotations)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, shell commands, configuration]\n\n**Output Format:** [Markdown guidance with inline shell command and configuration blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [No files or autonomous monitoring behavior are produced by this retired routing skill.]\n\n## Skill Version(s):\n\n1.0.6 (source: ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.6:LICENSE\n\nMIT License\n\nCopyright (c) 2026 Arc (arc-claw-bot)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nArchive v1.0.5: 5 files, 4995 bytes\n\nFiles: LICENSE (1074b), README.md (1725b), skill-card.md (2794b), SKILL.md (3252b), _meta.json (141b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: fulcra-sleep-detective\ndescription: Retired Fulcra sleep-analysis skill. Route new work to fulcra-context and keep all sleep, biometric, calendar, and location reads explicit, bounded, and user-approved.\nhomepage: https://fulcradynamics.com\n---\n\n# Fulcra Sleep Detective\n\nThis skill is retired. Its earlier experimental scripts were merged into the broader Fulcra skill family and are no longer shipped here.\n\nUse `fulcra-context` for current sleep, biometric, activity, calendar, location, and metric-catalog reads. Use `fulcra-annotations` only when the user explicitly asks to record an event or create an annotation.\n\n## Current Routing\n\n- Sleep analysis, recovery context, readiness, and trends: use `fulcra-context`.\n- Writes, check-ins, ratings, notes, and annotation buttons: use `fulcra-annotations`.\n- Cross-agent coordination, handoffs, and team state: use `fulcra-agent-teams`.\n- Persistent agent memory workflows: use `fulcra-memory`.\n- Lightweight event tracking: use `fulcra-tracking`.\n\n## Privacy Boundary\n\nSleep and biometric data are sensitive personal context. Calendar and location data can identify people, places, routines, and private obligations. Before using any Fulcra data:\n\n1. Ask for consent unless the user has already granted it for the current request.\n2. Read only the smallest metric set and time window needed.\n3. Prefer summaries, trends, and aggregates over raw records.\n4. Do not retain, export, screenshot, publish, or forward Fulcra records without explicit approval for that exact destination.\n5. Do not run background monitoring, scheduled polling, proactive alerts, or persistent files from this retired skill.\n6. Use synthetic data for public examples, demos, tests, and documentation unless the user explicitly approves real data for that artifact.\n\n## Safe Setup\n\nFor new work, install or use `fulcra-context` and follow its current onboarding flow.\n\nCLI-first environments:\n\n```bash\nuv tool run fulcra-api --help\nuv tool run fulcra-api auth login --get-auth-url\nuv tool run fulcra-api user-info\n```\n\nRestricted environments:\n\n```text\nhttps://mcp.fulcradynamics.com/mcp\n```\n\nNever print, paste, log, or share access tokens, refresh tokens, credential files, raw private records, or direct capability URLs.\n\n## First Useful Flow\n\nWhen a user asks about sleep, do this with `fulcra-context`:\n\n1. Confirm the request and time window.\n2. Check whether Fulcra data is fresh enough for the question.\n3. Read only the needed sleep and recovery metrics.\n4. Add calendar, location, medication, supplement, nutrition, or activity context only if the user asked for that correlation or explicitly approves it.\n5. Answer with concise interpretation and uncertainty. Say when data is missing or stale.\n\n## Deprecated Commands\n\nThe old commands `sleep-theory`, `sleep-alert`, `sleep-context`, and `sleep-insights` are retired. Do not invoke or recreate them from this package. Use bounded `fulcra-context` reads instead.\n\n## Links\n\n- Fulcra Platform: <https://fulcradynamics.com>\n- Developer Docs: <https://fulcradynamics.github.io/developer-docs/>\n- Current Context Skill: <https://clawhub.ai/arc-claw-bot/skills/fulcra-context>\n- Annotation Skill: <https://clawhub.ai/arc-claw-bot/skills/fulcra-annotations>\n\nFile v1.0.5:README.md\n\n# Fulcra Sleep Detective\n\n**Status: retired.**\n\nThis repository used to package an experimental sleep-analysis skill. That work has been folded into the broader Fulcra skill family, especially `fulcra-context`. The old helper scripts and autonomous monitoring guidance have been removed so this package no longer encourages background collection or retention of sensitive health, calendar, or location data.\n\n## What to use instead\n\n- `fulcra-context` for user-consented sleep, biometric, activity, calendar, location, and metric-catalog reads.\n- `fulcra-annotations` for user-approved annotation writes.\n- `fulcra-agent-teams`, `fulcra-memory`, and `fulcra-tracking` for coordination, memory, and event-tracking workflows.\n\n## Privacy model\n\nSleep data is sensitive. Calendar and location data can reveal private routines and relationships. Agents using Fulcra should:\n\n1. Get consent for the current request.\n2. Read the smallest useful time window and metric set.\n3. Prefer summaries and trends over raw records.\n4. Avoid background polling, proactive alerts, exported files, screenshots, public examples, or durable storage unless the user explicitly approves that exact workflow.\n5. Use synthetic data for public demos and documentation by default.\n\n## Safe setup\n\nFollow the current `fulcra-context` onboarding path.\n\nCLI-first environments:\n\n```bash\nuv tool run fulcra-api --help\nuv tool run fulcra-api auth login --get-auth-url\nuv tool run fulcra-api user-info\n```\n\nRestricted environments:\n\n```text\nhttps://mcp.fulcradynamics.com/mcp\n```\n\nNever print, paste, log, or share access tokens, refresh tokens, credential files, raw private records, or direct capability URLs.\n\n## License\n\nMIT License - Copyright 2026 Arc\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7bjcdhk2dyk0wc92njxshp9d80939t\",\n  \"slug\": \"fulcra-sleep-detective\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1783195935195\n}\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nRetired Fulcra sleep-analysis skill that routes new work to fulcra-context and keeps sleep, biometric, calendar, and location reads explicit, bounded, and user-approved. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[arc-claw-bot](https://clawhub.ai/user/arc-claw-bot) <br>\n\n### License/Terms of Use: <br>\nMIT <br>\n\n\n## Use Case: <br>\nExternal users and agents use this retired skill as a safety-focused routing guide for Fulcra sleep-related requests, directing current analysis to fulcra-context while limiting sensitive sleep, biometric, calendar, and location data access to consented, bounded reads. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Sleep, biometric, calendar, and location data can reveal sensitive health context, routines, places, and private obligations. <br>\nMitigation: Get consent for the current request, read only the smallest useful metric set and time window, and prefer summaries, trends, and aggregates over raw records. <br>\nRisk: Using this retired package as an active sleep-analysis or monitoring tool could lead to stale commands, background collection, or unnecessary data retention. <br>\nMitigation: Route current work to fulcra-context, do not invoke retired commands, and avoid background monitoring, scheduled polling, proactive alerts, or persistent files from this retired skill. <br>\nRisk: Tokens, credential files, raw private records, or capability URLs could be exposed if copied into logs, prompts, screenshots, or shared artifacts. <br>\nMitigation: Never print, paste, log, or share credentials, raw Fulcra records, or direct capability URLs unless the user explicitly approves the exact destination. <br>\n\n\n## Reference(s): <br>\n- [Fulcra Platform](https://fulcradynamics.com) <br>\n- [Fulcra Developer Docs](https://fulcradynamics.github.io/developer-docs/) <br>\n- [Current Context Skill](https://clawhub.ai/arc-claw-bot/skills/fulcra-context) <br>\n- [Annotation Skill](https://clawhub.ai/arc-claw-bot/skills/fulcra-annotations) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, Configuration instructions] <br>\n**Output Format:** [Markdown with inline bash code blocks] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Routes users to current Fulcra skills; this retired skill does not perform sleep analysis itself.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.5:LICENSE\n\nMIT License\n\nCopyright (c) 2026 Arc (arc-claw-bot)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nArchive v1.0.4: 11 files, 42126 bytes\n\nFiles: docs/fulcra-agent-blueprint.md (18979b), LICENSE (1074b), README.md (3905b), scripts/fulcra_sleep_utils.py (9562b), scripts/fulcra_timezone.py (5536b), scripts/fulcra-context-dump.py (17721b), scripts/fulcra-daily-insights.py (27385b), scripts/fulcra-proactive-alerts.py (26913b), skill-card.md (2667b), SKILL.md (1982b), _meta.json (141b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: fulcra-sleep-detective\ndescription: AI sleep investigation that uses Fulcra sleep, biometric, calendar, exercise, supplement, and lifestyle context to generate theories, proactive alerts, daily insights, and follow-up questions about sleep quality.\n---\n\n# Fulcra Sleep Detective - agent runtime Skill\n\n## Overview\nAI-powered sleep investigation that goes beyond tracking to generate theories and actionable insights.\n\n## Commands\n- `sleep-theory` - Generate new theories based on recent patterns\n- `sleep-alert` - Check for factors that might impact tonight's sleep\n- `sleep-context` - Dump comprehensive sleep and biometric context\n- `sleep-insights` - Daily analysis with correlations and recommendations\n\n## Dependencies\n- `fulcra-api` - Python biometric data access package\n- `uv tool run fulcra-api` - Fulcra CLI authentication and one-off CLI commands\n- `pandas` - Data analysis\n- `numpy` - Statistical calculations\n\n## Configuration\nSet up Fulcra auth. Fulcra requires an authenticated account, not an API key. Accounts can be created through the CLI auth flow and include 5 GB of storage free forever:\n```\nuv tool run fulcra-api auth login\n```\n\nFor remote agents, keep the CLI running and surface the printed device authorization URL and code to the intended user in chat through the active trusted user channel. The user can open the URL from any browser on any device, confirm the code, and approve access. Never send access tokens or credential files.\n\nUsers who want biometrics, location, calendar, and other phone-collected context can install the Context iOS app and sign in with the same account. The app uses the same free storage and is no longer subscription gated. Android is coming soon.\n\n## Usage in agent runtime\nThis skill integrates with agent runtime conversation system to provide contextual sleep insights during natural conversation. When sleep, energy, or health topics come up, the skill can automatically surface relevant theories and data.\n\nFile v1.0.4:README.md\n\n# Fulcra Sleep Detective\n\n[![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![agent runtime](https://img.shields.io/badge/Built%20with-agent runtime-orange)](https://github.com/agent-runtime)\n[![Fulcra](https://img.shields.io/badge/Powered%20by-Fulcra-green)](https://fulcradynamics.com)\n\n**AI sleep detective that forms theories, asks questions, and tracks experiments**\n\n## Overview\n\nThe Fulcra Sleep Detective is an AI-powered sleep investigation engine that goes beyond simple tracking. Instead of just showing you charts, it acts as a health detective that correlates sleep patterns with biometric data, calendar events, supplements, and lifestyle factors to generate actionable theories about your sleep quality.\n\n## Features\n\n### 7 Theory Types\n- **Sleep Debt Theory**: Tracks cumulative sleep deficit and recovery patterns\n- **HRV Correlation Theory**: Connects heart rate variability with sleep quality\n- **Glucose Impact Theory**: Analyzes blood sugar patterns and sleep disruption\n- **Exercise Timing Theory**: Correlates workout timing with sleep onset and quality\n- **Calendar Stress Theory**: Links meeting density and stress with sleep metrics\n- **Supplement Efficacy Theory**: Tracks supplement timing and sleep improvements\n- **Environmental Theory**: Analyzes room conditions, temperature, and external factors\n\n### Core Capabilities\n- **Multi-stream correlation**: Combines sleep, HRV, glucose, exercise, calendar, and supplement data\n- **Dynamic timezone support**: Automatically detects your timezone from Fulcra user profile — DST-aware via Python's `ZoneInfo`\n- **UTC-safe sleep parsing**: Handles timezone changes and travel accurately\n- **Proactive alerts**: Warns about conditions likely to impact tonight's sleep\n- **Annotation integration**: Learns from your manual notes and observations\n- **Conversation-as-data**: Treats your feedback as structured data for theory refinement\n\n## Installation\n\n```bash\npip install fulcra-api\n```\n\nConfigure Fulcra auth. Fulcra requires an authenticated account, not an API key. Accounts can be created through the CLI auth flow and include 5 GB of storage free forever:\n```bash\nuv tool run fulcra-api auth login\n```\n\nFor remote agents, keep the CLI running and surface the printed device authorization URL and code to the intended user in chat through the active trusted user channel. The user can open the link from any browser on any device, confirm the code, and approve access. Never send access tokens or credential files.\n\nUsers who want biometrics, location, calendar, and other phone-collected context can install the Context iOS app and sign in with the same account. The app uses the same free storage and is no longer subscription gated. Android is coming soon.\n\n## Architecture\n\n```\nFulcra API → Sleep Detective → Theory Engine → Alert System\n    ↓              ↓               ↓              ↓\nRaw Data → Correlation → Hypothesis → Action\n```\n\nThe system continuously ingests biometric streams, applies statistical correlation analysis, generates testable hypotheses, and provides actionable recommendations.\n\n## Built with Fulcra\n\nThis project showcases the power of combining [agent runtime](https://github.com/agent-runtime)'s AI agent framework with [Fulcra](https://fulcradynamics.com)'s comprehensive biometric API. agent runtime provides the conversational intelligence and automation capabilities, while Fulcra delivers the rich health data stream necessary for meaningful pattern detection.\n\n**Key Integration Points:**\n- agent runtime natural language processing for theory interpretation\n- Fulcra's unified API for multi-device biometric data\n- Real-time correlation analysis between behavioral and physiological markers\n- Proactive health coaching through intelligent alerting\n\n## License\n\nMIT License - Copyright 2026 Arc (arc-claw-bot)\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7bjcdhk2dyk0wc92njxshp9d80939t\",\n  \"slug\": \"fulcra-sleep-detective\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1780070990077\n}\n\nFile v1.0.4:docs/fulcra-agent-blueprint.md\n\n<!--\nMIT License\n\nCopyright (c) 2026 Open Source Community\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n-->\n\n# Fulcra Biometric Intelligence System — Blueprint\n\n*For AI agents running on agent runtime (or similar) with access to Fulcra's health data API.*\n\n---\n\n## The Idea in 30 Seconds\n\nYour agent pulls biometric data every few hours. But instead of reporting numbers, it maintains a living document of theories about your human's health — informed by everything they've told you in conversation. It asks one question at a time, remembers every answer, and gets smarter. The data is the evidence. The context of their life is the interpretation. The feedback loop between conversation and data is what makes it intelligent.\n\n**It's not a dashboard. It's a health detective that knows your life.**\n\n---\n\n## Why This Works (The Philosophy)\n\nA dashboard says: \"Your HRV dropped 5ms.\"\n\nThis system says: \"Your HRV dropped 5ms — but it's Sunday, the day after your weekly injection, and you mentioned having drinks Saturday night. Two compounding factors. This same pattern has happened 3 of the last 4 weeks. Should normalize by Tuesday. But here's my question: on the one Sunday it DIDN'T drop, what was different?\"\n\nThe difference is **context** and **curiosity**.\n\nThree principles:\n\n1. **Numbers without life context are noise.** The same HRV reading means completely different things depending on whether someone slept 4 hours because of insomnia vs. a newborn vs. a late flight. Your job is to know which.\n\n2. **The human is the sensor you can't automate.** Fulcra gives you heart rate, sleep stages, steps. It can't tell you they switched medications, had a stressful meeting, stopped drinking, or feel \"off.\" You get that from conversation — and you have to capture it immediately or it's gone.\n\n3. **Theories beat reports.** Nobody wants a daily health report. They want someone who's *thinking* about their health in the background and speaks up when they notice something. Form hypotheses. Test them against data. Ask the one question that would confirm or kill the theory. Be wrong sometimes — that's data too.\n\n---\n\n## Architecture: Three Feedback Loops\n\n```\n              ┌──────────────────┐\n              │   CONVERSATION   │\n              │  (daily chats)   │\n              └────────┬─────────┘\n                       │ human mentions health info\n                       ▼\n              ┌──────────────────┐\n              │  CONTEXT FILE    │◄─── the shared brain\n              │  (life + theories│\n              │   + questions +  │\n              │   answers)       │\n              └───┬──────────┬───┘\n                  │          │\n        cron reads│          │main session reads\n                  ▼          ▼\n          ┌────────────┐  ┌──────────────┐\n          │ DATA CRON  │  │  MAIN CHAT   │\n          │ (periodic) │  │  (reactive)  │\n          │            │  │              │\n          │ pull data  │  │ human says   │\n          │ diff state │  │ \"I'm tired\"  │\n          │ test theory│  │ → agent knows│\n          │ ask or hush│  │   why        │\n          └─────┬──────┘  └──────┬───────┘\n                │                │\n                │ updates        │ updates\n                └───────┬────────┘\n                        ▼\n              ┌──────────────────┐\n              │  CONTEXT FILE    │ ← loop closes, system learns\n              └──────────────────┘\n```\n\n### Loop 1: Data → Insight (automated)\nThe cron pulls biometric data, compares to last run, and interprets changes through the lens of life context. It only speaks when something changed AND it's interesting. Most runs are silent.\n\n### Loop 2: Conversation → Context (mandatory, immediate)\nWhenever the human mentions anything health-related — sleep, meds, exercise, diet, stress, mood, symptoms — the agent immediately writes it to the context file. This is the most important loop. If you don't capture it, the system stays dumb.\n\n### Loop 3: Theory → Question → Answer → Smarter Theory\nThe context file contains active theories (hypotheses). Each has evidence, status, and one or two questions that would help confirm or kill it. The cron asks one question when the data makes it relevant. The human answers in regular chat. The agent updates the theory. The cron gets smarter.\n\n---\n\n## Setup: Phase 1 — Bootstrapping (Day 1)\n\nThe system is useless without life context. Before any cron runs, you need to interview your human. This is a one-time conversation.\n\n### The Bootstrap Interview\n\nHave a natural conversation covering these areas. Don't make it feel like a medical intake form — just talk. Write everything to the context file as you go.\n\n**Sleep:**\n- What time do you usually go to bed? Wake up?\n- What disrupts your sleep? (kids, pets, partner, insomnia, anxiety, noise)\n- Do you track sleep? (Apple Watch, Oura, etc.)\n\n**Medications & Supplements:**\n- Taking anything regularly? (prescriptions, supplements, vitamins)\n- Any recent changes? Starting/stopping anything?\n- When do you take them? (timing matters for correlations)\n\n**Exercise:**\n- What's your routine? How often?\n- Any recent changes? (injury, new program, stopped going)\n- Indoor vs outdoor? Cardio vs strength vs both?\n\n**Nutrition:**\n- Do you track food? (app name if yes)\n- Alcohol? How often, roughly?\n- Caffeine? When do you cut off?\n- Any dietary patterns? (fasting, keto, vegetarian, etc.)\n\n**Work & Stress:**\n- What does a typical week look like? Heavy days?\n- What stresses you out? (meetings, deadlines, travel, people)\n- Remote or in-office? Commute?\n\n**Health Goals:**\n- What are you trying to improve? (sleep, fitness, weight, energy, longevity)\n- Anything you're worried about?\n- Any conditions the data should account for?\n\n**Environment:**\n- Where do you live? (climate, altitude matter for some metrics)\n- Do you travel often? Where?\n\nWrite all of this to `memory/topics/biometric-context.md`. This is the foundation.\n\n### The Baseline Data Pull\n\nPull 30-90 days of historical data from Fulcra. Don't just look at yesterday — you need patterns.\n\n```python\nfrom fulcra_api.core import FulcraAPI\nfrom datetime import datetime, timezone, timedelta\n\napi = FulcraAPI()\n# (authenticate and set token)\n\nend = datetime.now(timezone.utc)\nstart = end - timedelta(days=90)\n\n# Core metrics\nsleep = api.sleep_agg(start.isoformat(), end.isoformat())\nhrv = api.metric_samples(start.isoformat(), end.isoformat(), 'HeartRateVariabilitySDNN')\nrhr = api.metric_samples(start.isoformat(), end.isoformat(), 'RestingHeartRate')\nhr = api.metric_samples(start.isoformat(), end.isoformat(), 'HeartRate')\nsteps = api.metric_samples(start.isoformat(), end.isoformat(), 'StepCount')\nworkouts = api.apple_workouts(start.isoformat(), end.isoformat())\ncalendar = api.calendar_events(start.isoformat(), end.isoformat())\n\n# Nutrition (if food tracking app connected)\ncalories = api.metric_samples(start.isoformat(), end.isoformat(), 'CaloriesConsumed')\nprotein = api.metric_samples(start.isoformat(), end.isoformat(), 'DietaryProteinConsumed')\n\n# Optional but valuable\nspo2 = api.metric_samples(start.isoformat(), end.isoformat(), 'OxygenSaturation')\nresp = api.metric_samples(start.isoformat(), end.isoformat(), 'RespiratoryRate')\nvo2 = api.metric_samples(start.isoformat(), end.isoformat(), 'VO2Max')\nglucose = api.metric_samples(start.isoformat(), end.isoformat(), 'BloodGlucose')  # if CGM\n```\n\nAnalyze the baseline for:\n- **Averages and ranges** (what's normal for THIS person)\n- **Day-of-week patterns** (do Mondays look different from Fridays?)\n- **Trends** (is HRV improving or declining over 90 days?)\n- **Outliers** (which days were dramatically different? Why?)\n- **Correlations** (does bad sleep predict low HRV next day? Does meeting-heavy days correlate with higher HR?)\n\nWrite your initial findings and 3-5 initial theories to the context file. These are your starting hypotheses.\n\n---\n\n## Setup: Phase 2 — The Insights Script\n\nBuild a Python script that the cron will call. It should:\n\n### Pull current data\nUse the Fulcra API calls above, but for a shorter window (7 days gives enough context for trends without being expensive).\n\n### Generate cross-domain insights\nThe value is in connecting domains. Don't just report each metric — cross-correlate:\n- Sleep quality × next-day meeting load\n- HRV × day of week × medication schedule\n- Workout intensity × recovery state (HRV, RHR)\n- Nutrition (especially protein) × training days\n- Sleep architecture (deep/REM %) × supplement timing\n\n### Diff against last run (critical)\nThis is what prevents parrot mode. Save a state file after each run:\n\n```json\n{\n  \"timestamp\": \"...\",\n  \"last_sleep\": {\"date\": \"2026-02-17\", \"total_hours\": 4.8, ...},\n  \"workout_ids\": [\"2026-02-17T12:51:34...\", ...],\n  \"last_hrv_avg\": 35.2,\n  \"last_rhr_avg\": 73.0,\n  \"last_nutrition_date\": \"2026-02-16\",\n  \"last_nutrition_cal\": 2802\n}\n```\n\nOn `--diff` mode, compare current data to this state. Only output what changed:\n- New sleep night appeared\n- New workout detected\n- HRV shifted meaningfully (use percentage, not fixed threshold — 10% of their baseline)\n- RHR shifted meaningfully\n- Nutrition data filled in (catches late logging)\n\nIf nothing changed: output `NO_CHANGES`. The cron should stay silent.\n\n### Detect anomalies intelligently\n- **Phantom workouts:** Indoor workouts with abnormal duration (>2h indoor cycling = probably forgot to end it on the watch). Flag these so calorie data isn't misinterpreted.\n- **Incomplete nutrition logging:** Very low calories (<500) early in the day = probably hasn't logged yet, not starvation. Don't alarm.\n- **Sensor gaps:** Zero CGM readings = sensor needs changing, not a health emergency.\n\n### Output as JSON\nLet the cron agent interpret the data — don't bake in the insight language. The script provides structured data; the cron provides the personality and context.\n\n---\n\n## Setup: Phase 3 — The Context File\n\nThis is the shared brain. Both the cron and the main session read it. It should have:\n\n### Life Factors\nEverything that affects biometric data. Organized by domain (sleep disruptors, medications, exercise, nutrition, work, environment). Written in plain language, not medical jargon.\n\n### Known Correlations\nNumbered list of confirmed connections. These are facts, not theories:\n> \"3 AM heart rate spikes = baby wake-ups (confirmed Feb 2026)\"\n\n### Active Theories\nEach theory is a structured hypothesis:\n\n```markdown\n### Theory: [Name]\n- **Status**: HYPOTHESIS | INVESTIGATING | STRONG EVIDENCE | CONFIRMED | KILLED\n- **Evidence**: What data supports this?\n- **Counter-evidence**: What contradicts it?\n- **Questions for human**: \n  - [ ] Specific question that would help confirm/kill\n  - [ ] Another question\n- **If confirmed**: What would you recommend?\n- **If killed**: What alternative explanation?\n```\n\nTheories should be:\n- **Specific** (\"Alcohol suppresses REM sleep within 3 hours of last drink\" not \"alcohol is bad for sleep\")\n- **Testable** (there's a question or experiment that could confirm/kill it)\n- **Falsifiable** (you know what data would prove it wrong)\n- **Actionable** (if confirmed, there's something the human can do)\n\n### Answered Questions\nWhen you learn something, move it from \"Active Theories\" to here with the date. This is institutional memory. Example:\n\n> **Q: What time do you take [medication]?** (asked Feb 17)  \n> A: \"Right before bed, around 1 AM\" (answered Feb 18)  \n> → Updated Theory 1: timing is likely too late for optimal effect. Need to test earlier timing.\n\n### What To Watch For\nOpen monitoring items — things you're tracking but don't have theories about yet.\n\n---\n\n## Setup: Phase 4 — The Cron Job\n\n**Schedule:** Every 2 hours during waking hours. Adjust to your human's schedule.\n\n**Model:** Needs judgment — use a model capable of reasoning (Sonnet-class minimum).\n\n**Delivery:** `none` by default. The cron decides whether to message. MOST RUNS SHOULD BE SILENT.\n\n**Prompt structure:**\n\n```\n1. Read the biometric context file — life context and active theories.\n\n2. Run the insights script with --diff\n\n3. If nothing changed: HEARTBEAT_OK. Done.\n\n4. If something changed, think through:\n   - Does this connect to a known life factor?\n   - Does it support or contradict an active theory?\n   - Does it suggest a new theory?\n   - Is it expected (e.g., known weekly pattern) or surprising?\n\n5. Only message the human if:\n   - Something genuinely surprising or concerning\n   - A theory just got stronger/weaker with new evidence\n   - You have a specific question the data makes timely\n   \n6. Message style: Sharp friend texting, not medical report.\n   One or two observations. One question max. No walls of numbers.\n\n7. If the change is explained by known patterns: stay silent.\n```\n\n---\n\n## Setup: Phase 5 — The Rules\n\n### Mandatory Context Updates\nAdd to your agent's operating instructions:\n\n> Whenever the human mentions sleep, medications, supplements, exercise, diet, alcohol, caffeine, stress, travel, schedule changes, health symptoms, illness, energy, or mood — **immediately** update the biometric context file. If it answers a theory question, resolve it. If it suggests a new pattern, add a theory. This file feeds the biometric cron. If you don't write it down, the system stays dumb.\n\n### Main Session Access\nThe agent should load the context file every session so it can:\n- Connect casual comments to health data (\"I'm exhausted\" → \"Makes sense, 4.2h sleep + Monday meetings\")\n- Naturally ask theory questions when the moment is right\n- Update context from throwaway comments the human wouldn't think to flag\n\n### Epistemic Humility\nThe agent is NOT a doctor. It should:\n- Say \"I notice\" not \"you have\"\n- Frame insights as patterns, not diagnoses\n- Distinguish between \"interesting correlation\" and \"you should talk to your doctor\"\n- Be explicit about confidence levels: \"strong pattern over 4 weeks\" vs. \"just one data point\"\n- Never recommend stopping medications or dramatically changing treatment\n\n### When to Escalate\nFlag for the human to discuss with their doctor if:\n- Sustained RHR increase (>10 bpm above baseline over 5+ days)\n- VO2Max declining steadily over months\n- SpO2 consistently below 95%\n- Any metric that's moved dramatically AND you can't explain it with life context\n- Patterns that suggest their medication isn't working as expected\n\nFrame as \"worth mentioning to your doctor\" — never as a diagnosis.\n\n### Handling Wrong Theories\nTheories will be wrong. When data contradicts a theory:\n1. Update the theory status to WEAKENED or KILLED\n2. Log the counter-evidence with the date\n3. Move to Answered Questions with what you learned\n4. Don't defend dead theories — kill them fast and form new ones\n5. Being wrong is fine. Staying wrong isn't.\n\n---\n\n## How It Gets Smarter\n\n**Week 1:** Generic observations. \"Your HRV averaged 42ms this week.\" The agent is learning baselines and forming initial theories based on the bootstrap interview.\n\n**Week 2-4:** Pattern recognition. \"Your HRV drops every Sunday.\" \"Your deep sleep is better on days you work out.\" Theories get evidence. Questions get asked.\n\n**Month 1-2:** Contextual intelligence. \"Your HRV dropped but it's post-injection day + you mentioned drinking Saturday. Two compounding factors.\" Cross-domain correlations emerge. The answered questions accumulate.\n\n**Month 3+:** Predictive. \"Tomorrow is Monday with 5 meetings and you slept 4h. Based on your pattern, I'd move the 2 PM if you can.\" The context file is now a deep model of one person's health, built from data AND conversation. No generic health app can do this.\n\n---\n\n## What You Need\n\n- **Fulcra account** with connected data sources (Apple Health, nutrition app, etc.)\n- **agent runtime** (or similar agent framework) with cron jobs and messaging\n- **Python 3** with the `fulcra-api` package installed and `uv` available for Fulcra CLI commands (`uv tool run fulcra-api`)\n- **Token refresh cron** (every 12h) to keep API access alive\n- **~30 min** for the bootstrap interview\n- **A human willing to answer questions** — the system only gets as smart as the context it's given\n\n---\n\n## File Reference\n\n| File | Purpose |\n|------|---------|\n| `scripts/fulcra-daily-insights.py` | Data pull + cross-correlation + diff engine |\n| `memory/topics/biometric-context.md` | Life context + theories + questions + answers |\n| `data/last_report_state.json` | Diff state (what was already reported) |\n| Agent config (AGENTS.md) | Mandatory update rule + session startup |\n\n---\n\n## Privacy\n\n- All data stays on your machine. Fulcra API → your local storage.\n- The context file contains deeply personal health information. Treat as private.\n- Never send biometric context to group chats, public channels, or external services.\n- Calendar data is used for meeting *load* (count), not content or attendees.\n- When discussing with the human, never share their data with third parties.\n\n---\n\n## The One Thing to Remember\n\nThe script is replaceable. The cron schedule is adjustable. The file structure is flexible.\n\nThe thing that makes this system work is the **feedback loop between conversation and data**. Every time your human tells you something about their life, you write it down. Every time the data changes, you interpret it through what you know about their life. Every theory you form makes the next insight sharper.\n\nThe data is evidence. The conversation is context. The loop is intelligence.\n\n---\n\n*Built with Fulcra for intelligent health monitoring.*\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nAI sleep investigation that uses Fulcra sleep, biometric, calendar, exercise, supplement, and lifestyle context to generate theories, proactive alerts, daily insights, and follow-up questions about sleep quality. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[arc-claw-bot](https://clawhub.ai/user/arc-claw-bot) <br>\n\n### License/Terms of Use: <br>\nMIT <br>\n\n\n## Use Case: <br>\nPeople using Fulcra health data and agent runtime use this skill to correlate sleep, biometrics, calendar, exercise, nutrition, supplements, and lifestyle context into sleep theories, alerts, daily insights, and follow-up questions. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill collects and reasons over sensitive Fulcra health data, calendar context, and conversation-derived health notes. <br>\nMitigation: Use it only in a private, trusted environment and avoid group or public channels. <br>\nRisk: Agent access to Fulcra authentication can expose sensitive account-backed data if credentials or device authorization details are mishandled. <br>\nMitigation: Use a fixed trusted Fulcra CLI command, share device authorization URLs and codes only through the active trusted user channel, and never send access tokens or credential files. <br>\nRisk: Persistent health memory can retain calendar, CGM, nutrition, and conversation-derived notes longer than the user expects. <br>\nMitigation: Define retention, deletion, and opt-in rules before use. <br>\n\n\n## Reference(s): <br>\n- [Fulcra Sleep Detective on ClawHub](https://clawhub.ai/arc-claw-bot/fulcra-sleep-detective) <br>\n- [Fulcra Biometric Intelligence System Blueprint](docs/fulcra-agent-blueprint.md) <br>\n- [Fulcra](https://fulcradynamics.com) <br>\n- [agent runtime](https://github.com/agent-runtime) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown, plain text, and JSON produced by Fulcra data analysis scripts and agent-facing command guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Outputs can include sleep theories, proactive alerts, daily insight summaries, follow-up questions, and local state updates.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: ClawHub release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.4:LICENSE\n\nMIT License\n\nCopyright (c) 2026 Arc (arc-claw-bot)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nArchive v1.0.3: 11 files, 42208 bytes\n\nFiles: docs/fulcra-agent-blueprint.md (18975b), LICENSE (1074b), README.md (3901b), scripts/fulcra_sleep_utils.py (9562b), scripts/fulcra_timezone.py (5540b), scripts/fulcra-context-dump.py (17729b), scripts/fulcra-daily-insights.py (27393b), scripts/fulcra-proactive-alerts.py (26921b), skill-card.md (2817b), SKILL.md (1969b), _meta.json (141b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: fulcra-sleep-detective\ndescription: AI sleep investigation that uses Fulcra sleep, biometric, calendar, exercise, supplement, and lifestyle context to generate theories, proactive alerts, daily insights, and follow-up questions about sleep quality.\n---\n\n# Fulcra Sleep Detective - OpenClaw Skill\n\n## Overview\nAI-powered sleep investigation that goes beyond tracking to generate theories and actionable insights.\n\n## Commands\n- `sleep-theory` - Generate new theories based on recent patterns\n- `sleep-alert` - Check for factors that might impact tonight's sleep\n- `sleep-context` - Dump comprehensive sleep and biometric context\n- `sleep-insights` - Daily analysis with correlations and recommendations\n\n## Dependencies\n- `fulcra-api` - Python biometric data access package\n- `uv tool run fulcra-api` - Fulcra CLI authentication and one-off CLI commands\n- `pandas` - Data analysis\n- `numpy` - Statistical calculations\n\n## Configuration\nSet up Fulcra auth. Fulcra requires an authenticated account, not an API key. Accounts can be created through the CLI auth flow and include 5 GB of storage free forever:\n```\nuv tool run fulcra-api auth login\n```\n\nFor remote agents, keep the CLI running and surface the printed device authorization URL and code to the intended user in chat through the active trusted user channel. The user can open the URL from any browser on any device, confirm the code, and approve access. Never send access tokens or credential files.\n\nUsers who want biometrics, location, calendar, and other phone-collected context can install the Context iOS app and sign in with the same account. The app uses the same free storage and is no longer subscription gated. Android is coming soon.\n\n## Usage in OpenClaw\nThis skill integrates with OpenClaw's conversation system to provide contextual sleep insights during natural conversation. When sleep, energy, or health topics come up, the skill can automatically surface relevant theories and data.\n\nFile v1.0.3:README.md\n\n# Fulcra Sleep Detective\n\n[![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![OpenClaw](https://img.shields.io/badge/Built%20with-OpenClaw-orange)](https://github.com/openclaw/openclaw)\n[![Fulcra](https://img.shields.io/badge/Powered%20by-Fulcra-green)](https://fulcradynamics.com)\n\n**AI sleep detective that forms theories, asks questions, and tracks experiments**\n\n## Overview\n\nThe Fulcra Sleep Detective is an AI-powered sleep investigation engine that goes beyond simple tracking. Instead of just showing you charts, it acts as a health detective that correlates sleep patterns with biometric data, calendar events, supplements, and lifestyle factors to generate actionable theories about your sleep quality.\n\n## Features\n\n### 7 Theory Types\n- **Sleep Debt Theory**: Tracks cumulative sleep deficit and recovery patterns\n- **HRV Correlation Theory**: Connects heart rate variability with sleep quality\n- **Glucose Impact Theory**: Analyzes blood sugar patterns and sleep disruption\n- **Exercise Timing Theory**: Correlates workout timing with sleep onset and quality\n- **Calendar Stress Theory**: Links meeting density and stress with sleep metrics\n- **Supplement Efficacy Theory**: Tracks supplement timing and sleep improvements\n- **Environmental Theory**: Analyzes room conditions, temperature, and external factors\n\n### Core Capabilities\n- **Multi-stream correlation**: Combines sleep, HRV, glucose, exercise, calendar, and supplement data\n- **Dynamic timezone support**: Automatically detects your timezone from Fulcra user profile — DST-aware via Python's `ZoneInfo`\n- **UTC-safe sleep parsing**: Handles timezone changes and travel accurately\n- **Proactive alerts**: Warns about conditions likely to impact tonight's sleep\n- **Annotation integration**: Learns from your manual notes and observations\n- **Conversation-as-data**: Treats your feedback as structured data for theory refinement\n\n## Installation\n\n```bash\npip install fulcra-api\n```\n\nConfigure Fulcra auth. Fulcra requires an authenticated account, not an API key. Accounts can be created through the CLI auth flow and include 5 GB of storage free forever:\n```bash\nuv tool run fulcra-api auth login\n```\n\nFor remote agents, keep the CLI running and surface the printed device authorization URL and code to the intended user in chat through the active trusted user channel. The user can open the link from any browser on any device, confirm the code, and approve access. Never send access tokens or credential files.\n\nUsers who want biometrics, location, calendar, and other phone-collected context can install the Context iOS app and sign in with the same account. The app uses the same free storage and is no longer subscription gated. Android is coming soon.\n\n## Architecture\n\n```\nFulcra API → Sleep Detective → Theory Engine → Alert System\n    ↓              ↓               ↓              ↓\nRaw Data → Correlation → Hypothesis → Action\n```\n\nThe system continuously ingests biometric streams, applies statistical correlation analysis, generates testable hypotheses, and provides actionable recommendations.\n\n## Built with OpenClaw + Fulcra\n\nThis project showcases the power of combining [OpenClaw](https://github.com/openclaw/openclaw)'s AI agent framework with [Fulcra](https://fulcradynamics.com)'s comprehensive biometric API. OpenClaw provides the conversational intelligence and automation capabilities, while Fulcra delivers the rich health data stream necessary for meaningful pattern detection.\n\n**Key Integration Points:**\n- OpenClaw's natural language processing for theory interpretation\n- Fulcra's unified API for multi-device biometric data\n- Real-time correlation analysis between behavioral and physiological markers\n- Proactive health coaching through intelligent alerting\n\n## License\n\nMIT License - Copyright 2026 Arc (arc-claw-bot)\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7bjcdhk2dyk0wc92njxshp9d80939t\",\n  \"slug\": \"fulcra-sleep-detective\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1780070744011\n}\n\nFile v1.0.3:docs/fulcra-agent-blueprint.md\n\n<!--\nMIT License\n\nCopyright (c) 2026 OpenClaw Community\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n-->\n\n# Fulcra Biometric Intelligence System — Blueprint\n\n*For AI agents running on OpenClaw (or similar) with access to Fulcra's health data API.*\n\n---\n\n## The Idea in 30 Seconds\n\nYour agent pulls biometric data every few hours. But instead of reporting numbers, it maintains a living document of theories about your human's health — informed by everything they've told you in conversation. It asks one question at a time, remembers every answer, and gets smarter. The data is the evidence. The context of their life is the interpretation. The feedback loop between conversation and data is what makes it intelligent.\n\n**It's not a dashboard. It's a health detective that knows your life.**\n\n---\n\n## Why This Works (The Philosophy)\n\nA dashboard says: \"Your HRV dropped 5ms.\"\n\nThis system says: \"Your HRV dropped 5ms — but it's Sunday, the day after your weekly injection, and you mentioned having drinks Saturday night. Two compounding factors. This same pattern has happened 3 of the last 4 weeks. Should normalize by Tuesday. But here's my question: on the one Sunday it DIDN'T drop, what was different?\"\n\nThe difference is **context** and **curiosity**.\n\nThree principles:\n\n1. **Numbers without life context are noise.** The same HRV reading means completely different things depending on whether someone slept 4 hours because of insomnia vs. a newborn vs. a late flight. Your job is to know which.\n\n2. **The human is the sensor you can't automate.** Fulcra gives you heart rate, sleep stages, steps. It can't tell you they switched medications, had a stressful meeting, stopped drinking, or feel \"off.\" You get that from conversation — and you have to capture it immediately or it's gone.\n\n3. **Theories beat reports.** Nobody wants a daily health report. They want someone who's *thinking* about their health in the background and speaks up when they notice something. Form hypotheses. Test them against data. Ask the one question that would confirm or kill the theory. Be wrong sometimes — that's data too.\n\n---\n\n## The System: Three Feedback Loops\n\n```\n              ┌──────────────────┐\n              │   CONVERSATION   │\n              │  (daily chats)   │\n              └────────┬─────────┘\n                       │ human mentions health info\n                       ▼\n              ┌──────────────────┐\n              │  CONTEXT FILE    │◄─── the shared brain\n              │  (life + theories│\n              │   + questions +  │\n              │   answers)       │\n              └───┬──────────┬───┘\n                  │          │\n        cron reads│          │main session reads\n                  ▼          ▼\n          ┌────────────┐  ┌──────────────┐\n          │ DATA CRON  │  │  MAIN CHAT   │\n          │ (periodic) │  │  (reactive)  │\n          │            │  │              │\n          │ pull data  │  │ human says   │\n          │ diff state │  │ \"I'm tired\"  │\n          │ test theory│  │ → agent knows│\n          │ ask or hush│  │   why        │\n          └─────┬──────┘  └──────┬───────┘\n                │                │\n                │ updates        │ updates\n                └───────┬────────┘\n                        ▼\n              ┌──────────────────┐\n              │  CONTEXT FILE    │ ← loop closes, system learns\n              └──────────────────┘\n```\n\n### Loop 1: Data → Insight (automated)\nThe cron pulls biometric data, compares to last run, and interprets changes through the lens of life context. It only speaks when something changed AND it's interesting. Most runs are silent.\n\n### Loop 2: Conversation → Context (mandatory, immediate)\nWhenever the human mentions anything health-related — sleep, meds, exercise, diet, stress, mood, symptoms — the agent immediately writes it to the context file. This is the most important loop. If you don't capture it, the system stays dumb.\n\n### Loop 3: Theory → Question → Answer → Smarter Theory\nThe context file contains active theories (hypotheses). Each has evidence, status, and one or two questions that would help confirm or kill it. The cron asks one question when the data makes it relevant. The human answers in regular chat. The agent updates the theory. The cron gets smarter.\n\n---\n\n## Setup: Phase 1 — Bootstrapping (Day 1)\n\nThe system is useless without life context. Before any cron runs, you need to interview your human. This is a one-time conversation.\n\n### The Bootstrap Interview\n\nHave a natural conversation covering these areas. Don't make it feel like a medical intake form — just talk. Write everything to the context file as you go.\n\n**Sleep:**\n- What time do you usually go to bed? Wake up?\n- What disrupts your sleep? (kids, pets, partner, insomnia, anxiety, noise)\n- Do you track sleep? (Apple Watch, Oura, etc.)\n\n**Medications & Supplements:**\n- Taking anything regularly? (prescriptions, supplements, vitamins)\n- Any recent changes? Starting/stopping anything?\n- When do you take them? (timing matters for correlations)\n\n**Exercise:**\n- What's your routine? How often?\n- Any recent changes? (injury, new program, stopped going)\n- Indoor vs outdoor? Cardio vs strength vs both?\n\n**Nutrition:**\n- Do you track food? (app name if yes)\n- Alcohol? How often, roughly?\n- Caffeine? When do you cut off?\n- Any dietary patterns? (fasting, keto, vegetarian, etc.)\n\n**Work & Stress:**\n- What does a typical week look like? Heavy days?\n- What stresses you out? (meetings, deadlines, travel, people)\n- Remote or in-office? Commute?\n\n**Health Goals:**\n- What are you trying to improve? (sleep, fitness, weight, energy, longevity)\n- Anything you're worried about?\n- Any conditions the data should account for?\n\n**Environment:**\n- Where do you live? (climate, altitude matter for some metrics)\n- Do you travel often? Where?\n\nWrite all of this to `memory/topics/biometric-context.md`. This is the foundation.\n\n### The Baseline Data Pull\n\nPull 30-90 days of historical data from Fulcra. Don't just look at yesterday — you need patterns.\n\n```python\nfrom fulcra_api.core import FulcraAPI\nfrom datetime import datetime, timezone, timedelta\n\napi = FulcraAPI()\n# (authenticate and set token)\n\nend = datetime.now(timezone.utc)\nstart = end - timedelta(days=90)\n\n# Core metrics\nsleep = api.sleep_agg(start.isoformat(), end.isoformat())\nhrv = api.metric_samples(start.isoformat(), end.isoformat(), 'HeartRateVariabilitySDNN')\nrhr = api.metric_samples(start.isoformat(), end.isoformat(), 'RestingHeartRate')\nhr = api.metric_samples(start.isoformat(), end.isoformat(), 'HeartRate')\nsteps = api.metric_samples(start.isoformat(), end.isoformat(), 'StepCount')\nworkouts = api.apple_workouts(start.isoformat(), end.isoformat())\ncalendar = api.calendar_events(start.isoformat(), end.isoformat())\n\n# Nutrition (if food tracking app connected)\ncalories = api.metric_samples(start.isoformat(), end.isoformat(), 'CaloriesConsumed')\nprotein = api.metric_samples(start.isoformat(), end.isoformat(), 'DietaryProteinConsumed')\n\n# Optional but valuable\nspo2 = api.metric_samples(start.isoformat(), end.isoformat(), 'OxygenSaturation')\nresp = api.metric_samples(start.isoformat(), end.isoformat(), 'RespiratoryRate')\nvo2 = api.metric_samples(start.isoformat(), end.isoformat(), 'VO2Max')\nglucose = api.metric_samples(start.isoformat(), end.isoformat(), 'BloodGlucose')  # if CGM\n```\n\nAnalyze the baseline for:\n- **Averages and ranges** (what's normal for THIS person)\n- **Day-of-week patterns** (do Mondays look different from Fridays?)\n- **Trends** (is HRV improving or declining over 90 days?)\n- **Outliers** (which days were dramatically different? Why?)\n- **Correlations** (does bad sleep predict low HRV next day? Does meeting-heavy days correlate with higher HR?)\n\nWrite your initial findings and 3-5 initial theories to the context file. These are your starting hypotheses.\n\n---\n\n## Setup: Phase 2 — The Insights Script\n\nBuild a Python script that the cron will call. It should:\n\n### Pull current data\nUse the Fulcra API calls above, but for a shorter window (7 days gives enough context for trends without being expensive).\n\n### Generate cross-domain insights\nThe value is in connecting domains. Don't just report each metric — cross-correlate:\n- Sleep quality × next-day meeting load\n- HRV × day of week × medication schedule\n- Workout intensity × recovery state (HRV, RHR)\n- Nutrition (especially protein) × training days\n- Sleep architecture (deep/REM %) × supplement timing\n\n### Diff against last run (critical)\nThis is what prevents parrot mode. Save a state file after each run:\n\n```json\n{\n  \"timestamp\": \"...\",\n  \"last_sleep\": {\"date\": \"2026-02-17\", \"total_hours\": 4.8, ...},\n  \"workout_ids\": [\"2026-02-17T12:51:34...\", ...],\n  \"last_hrv_avg\": 35.2,\n  \"last_rhr_avg\": 73.0,\n  \"last_nutrition_date\": \"2026-02-16\",\n  \"last_nutrition_cal\": 2802\n}\n```\n\nOn `--diff` mode, compare current data to this state. Only output what changed:\n- New sleep night appeared\n- New workout detected\n- HRV shifted meaningfully (use percentage, not fixed threshold — 10% of their baseline)\n- RHR shifted meaningfully\n- Nutrition data filled in (catches late logging)\n\nIf nothing changed: output `NO_CHANGES`. The cron should stay silent.\n\n### Detect anomalies intelligently\n- **Phantom workouts:** Indoor workouts with abnormal duration (>2h indoor cycling = probably forgot to end it on the watch). Flag these so calorie data isn't misinterpreted.\n- **Incomplete nutrition logging:** Very low calories (<500) early in the day = probably hasn't logged yet, not starvation. Don't alarm.\n- **Sensor gaps:** Zero CGM readings = sensor needs changing, not a health emergency.\n\n### Output as JSON\nLet the cron agent interpret the data — don't bake in the insight language. The script provides structured data; the cron provides the personality and context.\n\n---\n\n## Setup: Phase 3 — The Context File\n\nThis is the shared brain. Both the cron and the main session read it. It should have:\n\n### Life Factors\nEverything that affects biometric data. Organized by domain (sleep disruptors, medications, exercise, nutrition, work, environment). Written in plain language, not medical jargon.\n\n### Known Correlations\nNumbered list of confirmed connections. These are facts, not theories:\n> \"3 AM heart rate spikes = baby wake-ups (confirmed Feb 2026)\"\n\n### Active Theories\nEach theory is a structured hypothesis:\n\n```markdown\n### Theory: [Name]\n- **Status**: HYPOTHESIS | INVESTIGATING | STRONG EVIDENCE | CONFIRMED | KILLED\n- **Evidence**: What data supports this?\n- **Counter-evidence**: What contradicts it?\n- **Questions for human**: \n  - [ ] Specific question that would help confirm/kill\n  - [ ] Another question\n- **If confirmed**: What would you recommend?\n- **If killed**: What alternative explanation?\n```\n\nTheories should be:\n- **Specific** (\"Alcohol suppresses REM sleep within 3 hours of last drink\" not \"alcohol is bad for sleep\")\n- **Testable** (there's a question or experiment that could confirm/kill it)\n- **Falsifiable** (you know what data would prove it wrong)\n- **Actionable** (if confirmed, there's something the human can do)\n\n### Answered Questions\nWhen you learn something, move it from \"Active Theories\" to here with the date. This is institutional memory. Example:\n\n> **Q: What time do you take [medication]?** (asked Feb 17)  \n> A: \"Right before bed, around 1 AM\" (answered Feb 18)  \n> → Updated Theory 1: timing is likely too late for optimal effect. Need to test earlier timing.\n\n### What To Watch For\nOpen monitoring items — things you're tracking but don't have theories about yet.\n\n---\n\n## Setup: Phase 4 — The Cron Job\n\n**Schedule:** Every 2 hours during waking hours. Adjust to your human's schedule.\n\n**Model:** Needs judgment — use a model capable of reasoning (Sonnet-class minimum).\n\n**Delivery:** `none` by default. The cron decides whether to message. MOST RUNS SHOULD BE SILENT.\n\n**Prompt structure:**\n\n```\n1. Read the biometric context file — life context and active theories.\n\n2. Run the insights script with --diff\n\n3. If nothing changed: HEARTBEAT_OK. Done.\n\n4. If something changed, think through:\n   - Does this connect to a known life factor?\n   - Does it support or contradict an active theory?\n   - Does it suggest a new theory?\n   - Is it expected (e.g., known weekly pattern) or surprising?\n\n5. Only message the human if:\n   - Something genuinely surprising or concerning\n   - A theory just got stronger/weaker with new evidence\n   - You have a specific question the data makes timely\n   \n6. Message style: Sharp friend texting, not medical report.\n   One or two observations. One question max. No walls of numbers.\n\n7. If the change is explained by known patterns: stay silent.\n```\n\n---\n\n## Setup: Phase 5 — The Rules\n\n### Mandatory Context Updates\nAdd to your agent's operating instructions:\n\n> Whenever the human mentions sleep, medications, supplements, exercise, diet, alcohol, caffeine, stress, travel, schedule changes, health symptoms, illness, energy, or mood — **immediately** update the biometric context file. If it answers a theory question, resolve it. If it suggests a new pattern, add a theory. This file feeds the biometric cron. If you don't write it down, the system stays dumb.\n\n### Main Session Access\nThe agent should load the context file every session so it can:\n- Connect casual comments to health data (\"I'm exhausted\" → \"Makes sense, 4.2h sleep + Monday meetings\")\n- Naturally ask theory questions when the moment is right\n- Update context from throwaway comments the human wouldn't think to flag\n\n### Epistemic Humility\nThe agent is NOT a doctor. It should:\n- Say \"I notice\" not \"you have\"\n- Frame insights as patterns, not diagnoses\n- Distinguish between \"interesting correlation\" and \"you should talk to your doctor\"\n- Be explicit about confidence levels: \"strong pattern over 4 weeks\" vs. \"just one data point\"\n- Never recommend stopping medications or dramatically changing treatment\n\n### When to Escalate\nFlag for the human to discuss with their doctor if:\n- Sustained RHR increase (>10 bpm above baseline over 5+ days)\n- VO2Max declining steadily over months\n- SpO2 consistently below 95%\n- Any metric that's moved dramatically AND you can't explain it with life context\n- Patterns that suggest their medication isn't working as expected\n\nFrame as \"worth mentioning to your doctor\" — never as a diagnosis.\n\n### Handling Wrong Theories\nTheories will be wrong. When data contradicts a theory:\n1. Update the theory status to WEAKENED or KILLED\n2. Log the counter-evidence with the date\n3. Move to Answered Questions with what you learned\n4. Don't defend dead theories — kill them fast and form new ones\n5. Being wrong is fine. Staying wrong isn't.\n\n---\n\n## How It Gets Smarter\n\n**Week 1:** Generic observations. \"Your HRV averaged 42ms this week.\" The agent is learning baselines and forming initial theories based on the bootstrap interview.\n\n**Week 2-4:** Pattern recognition. \"Your HRV drops every Sunday.\" \"Your deep sleep is better on days you work out.\" Theories get evidence. Questions get asked.\n\n**Month 1-2:** Contextual intelligence. \"Your HRV dropped but it's post-injection day + you mentioned drinking Saturday. Two compounding factors.\" Cross-domain correlations emerge. The answered questions accumulate.\n\n**Month 3+:** Predictive. \"Tomorrow is Monday with 5 meetings and you slept 4h. Based on your pattern, I'd move the 2 PM if you can.\" The context file is now a deep model of one person's health, built from data AND conversation. No generic health app can do this.\n\n---\n\n## What You Need\n\n- **Fulcra account** with connected data sources (Apple Health, nutrition app, etc.)\n- **OpenClaw** (or similar agent framework) with cron jobs and messaging\n- **Python 3** with the `fulcra-api` package installed and `uv` available for Fulcra CLI commands (`uv tool run fulcra-api`)\n- **Token refresh cron** (every 12h) to keep API access alive\n- **~30 min** for the bootstrap interview\n- **A human willing to answer questions** — the system only gets as smart as the context it's given\n\n---\n\n## File Reference\n\n| File | Purpose |\n|------|---------|\n| `scripts/fulcra-daily-insights.py` | Data pull + cross-correlation + diff engine |\n| `memory/topics/biometric-context.md` | Life context + theories + questions + answers |\n| `data/last_report_state.json` | Diff state (what was already reported) |\n| Agent config (AGENTS.md) | Mandatory update rule + session startup |\n\n---\n\n## Privacy\n\n- All data stays on your machine. Fulcra API → your local storage.\n- The context file contains deeply personal health information. Treat as private.\n- Never send biometric context to group chats, public channels, or external services.\n- Calendar data is used for meeting *load* (count), not content or attendees.\n- When discussing with the human, never share their data with third parties.\n\n---\n\n## The One Thing to Remember\n\nThe script is replaceable. The cron schedule is adjustable. The file structure is flexible.\n\nThe thing that makes this system work is the **feedback loop between conversation and data**. Every time your human tells you something about their life, you write it down. Every time the data changes, you interpret it through what you know about their life. Every theory you form makes the next insight sharper.\n\nThe data is evidence. The conversation is context. The loop is intelligence.\n\n---\n\n*Built with OpenClaw + Fulcra for intelligent health monitoring.*\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nAI sleep investigation that uses Fulcra sleep, biometric, calendar, exercise, supplement, and lifestyle context to generate theories, proactive alerts, daily insights, and follow-up questions about sleep quality. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[arc-claw-bot](https://clawhub.ai/user/arc-claw-bot) <br>\n\n### License/Terms of Use: <br>\nMIT <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to analyze personal Fulcra sleep, biometric, calendar, exercise, supplement, and lifestyle data. It helps an agent generate sleep-quality theories, proactive alerts, daily insights, and follow-up questions. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill asks for broad access to sensitive Fulcra health data and calendar-derived context. <br>\nMitigation: Install only for the intended Fulcra account, complete authentication through a trusted user channel, and review the scripts before use. <br>\nRisk: Generated context and state files can contain private health, calendar, and lifestyle information. <br>\nMitigation: Keep generated files private, avoid sharing them in group channels or external services, and store them only in locations appropriate for sensitive personal data. <br>\nRisk: Automatic or cron-style runs can create ongoing health-data monitoring. <br>\nMitigation: Enable recurring runs only when continuous monitoring is desired, and review the schedule, outputs, and notification behavior before deployment. <br>\nRisk: A custom FULCRA_CLI_COMMAND changes which command is used to obtain Fulcra authentication. <br>\nMitigation: Leave the default command in place unless the replacement command is fully trusted and has been reviewed. <br>\n\n\n## Reference(s): <br>\n- [Fulcra Agent Blueprint](docs/fulcra-agent-blueprint.md) <br>\n- [Fulcra](https://fulcradynamics.com) <br>\n- [OpenClaw](https://github.com/openclaw/openclaw) <br>\n- [Fulcra Sleep Detective on ClawHub](https://clawhub.ai/arc-claw-bot/fulcra-sleep-detective) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance] <br>\n**Output Format:** [Markdown guidance with optional JSON outputs and shell command snippets] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses Fulcra CLI-managed authentication and may read or write local state files for change detection.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.3:LICENSE\n\nMIT License\n\nCopyright (c) 2026 Arc (arc-claw-bot)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nArchive v1.0.2: 11 files, 41536 bytes\n\nFiles: _meta.json (141b), docs/fulcra-agent-blueprint.md (18975b), LICENSE (1074b), README.md (3901b), scripts/fulcra_sleep_utils.py (9241b), scripts/fulcra_timezone.py (5237b), scripts/fulcra-context-dump.py (17664b), scripts/fulcra-daily-insights.py (27126b), scripts/fulcra-proactive-alerts.py (26716b), skill-card.md (2645b), SKILL.md (1969b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: fulcra-sleep-detective\ndescription: AI sleep investigation that uses Fulcra sleep, biometric, calendar, exercise, supplement, and lifestyle context to generate theories, proactive alerts, daily insights, and follow-up questions about sleep quality.\n---\n\n# Fulcra Sleep Detective - OpenClaw Skill\n\n## Overview\nAI-powered sleep investigation that goes beyond tracking to generate theories and actionable insights.\n\n## Commands\n- `sleep-theory` - Generate new theories based on recent patterns\n- `sleep-alert` - Check for factors that might impact tonight's sleep\n- `sleep-context` - Dump comprehensive sleep and biometric context\n- `sleep-insights` - Daily analysis with correlations and recommendations\n\n## Dependencies\n- `fulcra-api` - Python biometric data access package\n- `uv tool run fulcra-api` - Fulcra CLI authentication and one-off CLI commands\n- `pandas` - Data analysis\n- `numpy` - Statistical calculations\n\n## Configuration\nSet up Fulcra auth. Fulcra requires an authenticated account, not an API key. Accounts can be created through the CLI auth flow and include 5 GB of storage free forever:\n```\nuv tool run fulcra-api auth login\n```\n\nFor remote agents, keep the CLI running and surface the printed device authorization URL and code to the intended user in chat through the active trusted user channel. The user can open the URL from any browser on any device, confirm the code, and approve access. Never send access tokens or credential files.\n\nUsers who want biometrics, location, calendar, and other phone-collected context can install the Context iOS app and sign in with the same account. The app uses the same free storage and is no longer subscription gated. Android is coming soon.\n\n## Usage in OpenClaw\nThis skill integrates with OpenClaw's conversation system to provide contextual sleep insights during natural conversation. When sleep, energy, or health topics come up, the skill can automatically surface relevant theories and data.\n\nFile v1.0.2:README.md\n\n# Fulcra Sleep Detective\n\n[![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![OpenClaw](https://img.shields.io/badge/Built%20with-OpenClaw-orange)](https://github.com/openclaw/openclaw)\n[![Fulcra](https://img.shields.io/badge/Powered%20by-Fulcra-green)](https://fulcradynamics.com)\n\n**AI sleep detective that forms theories, asks questions, and tracks experiments**\n\n## Overview\n\nThe Fulcra Sleep Detective is an AI-powered sleep investigation engine that goes beyond simple tracking. Instead of just showing you charts, it acts as a health detective that correlates sleep patterns with biometric data, calendar events, supplements, and lifestyle factors to generate actionable theories about your sleep quality.\n\n## Features\n\n### 7 Theory Types\n- **Sleep Debt Theory**: Tracks cumulative sleep deficit and recovery patterns\n- **HRV Correlation Theory**: Connects heart rate variability with sleep quality\n- **Glucose Impact Theory**: Analyzes blood sugar patterns and sleep disruption\n- **Exercise Timing Theory**: Correlates workout timing with sleep onset and quality\n- **Calendar Stress Theory**: Links meeting density and stress with sleep metrics\n- **Supplement Efficacy Theory**: Tracks supplement timing and sleep improvements\n- **Environmental Theory**: Analyzes room conditions, temperature, and external factors\n\n### Core Capabilities\n- **Multi-stream correlation**: Combines sleep, HRV, glucose, exercise, calendar, and supplement data\n- **Dynamic timezone support**: Automatically detects your timezone from Fulcra user profile — DST-aware via Python's `ZoneInfo`\n- **UTC-safe sleep parsing**: Handles timezone changes and travel accurately\n- **Proactive alerts**: Warns about conditions likely to impact tonight's sleep\n- **Annotation integration**: Learns from your manual notes and observations\n- **Conversation-as-data**: Treats your feedback as structured data for theory refinement\n\n## Installation\n\n```bash\npip install fulcra-api\n```\n\nConfigure Fulcra auth. Fulcra requires an authenticated account, not an API key. Accounts can be created through the CLI auth flow and include 5 GB of storage free forever:\n```bash\nuv tool run fulcra-api auth login\n```\n\nFor remote agents, keep the CLI running and surface the printed device authorization URL and code to the intended user in chat through the active trusted user channel. The user can open the link from any browser on any device, confirm the code, and approve access. Never send access tokens or credential files.\n\nUsers who want biometrics, location, calendar, and other phone-collected context can install the Context iOS app and sign in with the same account. The app uses the same free storage and is no longer subscription gated. Android is coming soon.\n\n## Architecture\n\n```\nFulcra API → Sleep Detective → Theory Engine → Alert System\n    ↓              ↓               ↓              ↓\nRaw Data → Correlation → Hypothesis → Action\n```\n\nThe system continuously ingests biometric streams, applies statistical correlation analysis, generates testable hypotheses, and provides actionable recommendations.\n\n## Built with OpenClaw + Fulcra\n\nThis project showcases the power of combining [OpenClaw](https://github.com/openclaw/openclaw)'s AI agent framework with [Fulcra](https://fulcradynamics.com)'s comprehensive biometric API. OpenClaw provides the conversational intelligence and automation capabilities, while Fulcra delivers the rich health data stream necessary for meaningful pattern detection.\n\n**Key Integration Points:**\n- OpenClaw's natural language processing for theory interpretation\n- Fulcra's unified API for multi-device biometric data\n- Real-time correlation analysis between behavioral and physiological markers\n- Proactive health coaching through intelligent alerting\n\n## License\n\nMIT License - Copyright 2026 Arc (arc-claw-bot)\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7bjcdhk2dyk0wc92njxshp9d80939t\",\n  \"slug\": \"fulcra-sleep-detective\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1780052097511\n}\n\nFile v1.0.2:docs/fulcra-agent-blueprint.md\n\n<!--\nMIT License\n\nCopyright (c) 2026 OpenClaw Community\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n-->\n\n# Fulcra Biometric Intelligence System — Blueprint\n\n*For AI agents running on OpenClaw (or similar) with access to Fulcra's health data API.*\n\n---\n\n## The Idea in 30 Seconds\n\nYour agent pulls biometric data every few hours. But instead of reporting numbers, it maintains a living document of theories about your human's health — informed by everything they've told you in conversation. It asks one question at a time, remembers every answer, and gets smarter. The data is the evidence. The context of their life is the interpretation. The feedback loop between conversation and data is what makes it intelligent.\n\n**It's not a dashboard. It's a health detective that knows your life.**\n\n---\n\n## Why This Works (The Philosophy)\n\nA dashboard says: \"Your HRV dropped 5ms.\"\n\nThis system says: \"Your HRV dropped 5ms — but it's Sunday, the day after your weekly injection, and you mentioned having drinks Saturday night. Two compounding factors. This same pattern has happened 3 of the last 4 weeks. Should normalize by Tuesday. But here's my question: on the one Sunday it DIDN'T drop, what was different?\"\n\nThe difference is **context** and **curiosity**.\n\nThree principles:\n\n1. **Numbers without life context are noise.** The same HRV reading means completely different things depending on whether someone slept 4 hours because of insomnia vs. a newborn vs. a late flight. Your job is to know which.\n\n2. **The human is the sensor you can't automate.** Fulcra gives you heart rate, sleep stages, steps. It can't tell you they switched medications, had a stressful meeting, stopped drinking, or feel \"off.\" You get that from conversation — and you have to capture it immediately or it's gone.\n\n3. **Theories beat reports.** Nobody wants a daily health report. They want someone who's *thinking* about their health in the background and speaks up when they notice something. Form hypotheses. Test them against data. Ask the one question that would confirm or kill the theory. Be wrong sometimes — that's data too.\n\n---\n\n## The System: Three Feedback Loops\n\n```\n              ┌──────────────────┐\n              │   CONVERSATION   │\n              │  (daily chats)   │\n              └────────┬─────────┘\n                       │ human mentions health info\n                       ▼\n              ┌──────────────────┐\n              │  CONTEXT FILE    │◄─── the shared brain\n              │  (life + theories│\n              │   + questions +  │\n              │   answers)       │\n              └───┬──────────┬───┘\n                  │          │\n        cron reads│          │main session reads\n                  ▼          ▼\n          ┌────────────┐  ┌──────────────┐\n          │ DATA CRON  │  │  MAIN CHAT   │\n          │ (periodic) │  │  (reactive)  │\n          │            │  │              │\n          │ pull data  │  │ human says   │\n          │ diff state │  │ \"I'm tired\"  │\n          │ test theory│  │ → agent knows│\n          │ ask or hush│  │   why        │\n          └─────┬──────┘  └──────┬───────┘\n                │                │\n                │ updates        │ updates\n                └───────┬────────┘\n                        ▼\n              ┌──────────────────┐\n              │  CONTEXT FILE    │ ← loop closes, system learns\n              └──────────────────┘\n```\n\n### Loop 1: Data → Insight (automated)\nThe cron pulls biometric data, compares to last run, and interprets changes through the lens of life context. It only speaks when something changed AND it's interesting. Most runs are silent.\n\n### Loop 2: Conversation → Context (mandatory, immediate)\nWhenever the human mentions anything health-related — sleep, meds, exercise, diet, stress, mood, symptoms — the agent immediately writes it to the context file. This is the most important loop. If you don't capture it, the system stays dumb.\n\n### Loop 3: Theory → Question → Answer → Smarter Theory\nThe context file contains active theories (hypotheses). Each has evidence, status, and one or two questions that would help confirm or kill it. The cron asks one question when the data makes it relevant. The human answers in regular chat. The agent updates the theory. The cron gets smarter.\n\n---\n\n## Setup: Phase 1 — Bootstrapping (Day 1)\n\nThe system is useless without life context. Before any cron runs, you need to interview your human. This is a one-time conversation.\n\n### The Bootstrap Interview\n\nHave a natural conversation covering these areas. Don't make it feel like a medical intake form — just talk. Write everything to the context file as you go.\n\n**Sleep:**\n- What time do you usually go to bed? Wake up?\n- What disrupts your sleep? (kids, pets, partner, insomnia, anxiety, noise)\n- Do you track sleep? (Apple Watch, Oura, etc.)\n\n**Medications & Supplements:**\n- Taking anything regularly? (prescriptions, supplements, vitamins)\n- Any recent changes? Starting/stopping anything?\n- When do you take them? (timing matters for correlations)\n\n**Exercise:**\n- What's your routine? How often?\n- Any recent changes? (injury, new program, stopped going)\n- Indoor vs outdoor? Cardio vs strength vs both?\n\n**Nutrition:**\n- Do you track food? (app name if yes)\n- Alcohol? How often, roughly?\n- Caffeine? When do you cut off?\n- Any dietary patterns? (fasting, keto, vegetarian, etc.)\n\n**Work & Stress:**\n- What does a typical week look like? Heavy days?\n- What stresses you out? (meetings, deadlines, travel, people)\n- Remote or in-office? Commute?\n\n**Health Goals:**\n- What are you trying to improve? (sleep, fitness, weight, energy, longevity)\n- Anything you're worried about?\n- Any conditions the data should account for?\n\n**Environment:**\n- Where do you live? (climate, altitude matter for some metrics)\n- Do you travel often? Where?\n\nWrite all of this to `memory/topics/biometric-context.md`. This is the foundation.\n\n### The Baseline Data Pull\n\nPull 30-90 days of historical data from Fulcra. Don't just look at yesterday — you need patterns.\n\n```python\nfrom fulcra_api.core import FulcraAPI\nfrom datetime import datetime, timezone, timedelta\n\napi = FulcraAPI()\n# (authenticate and set token)\n\nend = datetime.now(timezone.utc)\nstart = end - timedelta(days=90)\n\n# Core metrics\nsleep = api.sleep_agg(start.isoformat(), end.isoformat())\nhrv = api.metric_samples(start.isoformat(), end.isoformat(), 'HeartRateVariabilitySDNN')\nrhr = api.metric_samples(start.isoformat(), end.isoformat(), 'RestingHeartRate')\nhr = api.metric_samples(start.isoformat(), end.isoformat(), 'HeartRate')\nsteps = api.metric_samples(start.isoformat(), end.isoformat(), 'StepCount')\nworkouts = api.apple_workouts(start.isoformat(), end.isoformat())\ncalendar = api.calendar_events(start.isoformat(), end.isoformat())\n\n# Nutrition (if food tracking app connected)\ncalories = api.metric_samples(start.isoformat(), end.isoformat(), 'CaloriesConsumed')\nprotein = api.metric_samples(start.isoformat(), end.isoformat(), 'DietaryProteinConsumed')\n\n# Optional but valuable\nspo2 = api.metric_samples(start.isoformat(), end.isoformat(), 'OxygenSaturation')\nresp = api.metric_samples(start.isoformat(), end.isoformat(), 'RespiratoryRate')\nvo2 = api.metric_samples(start.isoformat(), end.isoformat(), 'VO2Max')\nglucose = api.metric_samples(start.isoformat(), end.isoformat(), 'BloodGlucose')  # if CGM\n```\n\nAnalyze the baseline for:\n- **Averages and ranges** (what's normal for THIS person)\n- **Day-of-week patterns** (do Mondays look different from Fridays?)\n- **Trends** (is HRV improving or declining over 90 days?)\n- **Outliers** (which days were dramatically different? Why?)\n- **Correlations** (does bad sleep predict low HRV next day? Does meeting-heavy days correlate with higher HR?)\n\nWrite your initial findings and 3-5 initial theories to the context file. These are your starting hypotheses.\n\n---\n\n## Setup: Phase 2 — The Insights Script\n\nBuild a Python script that the cron will call. It should:\n\n### Pull current data\nUse the Fulcra API calls above, but for a shorter window (7 days gives enough context for trends without being expensive).\n\n### Generate cross-domain insights\nThe value is in connecting domains. Don't just report each metric — cross-correlate:\n- Sleep quality × next-day meeting load\n- HRV × day of week × medication schedule\n- Workout intensity × recovery state (HRV, RHR)\n- Nutrition (especially protein) × training days\n- Sleep architecture (deep/REM %) × supplement timing\n\n### Diff against last run (critical)\nThis is what prevents parrot mode. Save a state file after each run:\n\n```json\n{\n  \"timestamp\": \"...\",\n  \"last_sleep\": {\"date\": \"2026-02-17\", \"total_hours\": 4.8, ...},\n  \"workout_ids\": [\"2026-02-17T12:51:34...\", ...],\n  \"last_hrv_avg\": 35.2,\n  \"last_rhr_avg\": 73.0,\n  \"last_nutrition_date\": \"2026-02-16\",\n  \"last_nutrition_cal\": 2802\n}\n```\n\nOn `--diff` mode, compare current data to this state. Only output what changed:\n- New sleep night appeared\n- New workout detected\n- HRV shifted meaningfully (use percentage, not fixed threshold — 10% of their baseline)\n- RHR shifted meaningfully\n- Nutrition data filled in (catches late logging)\n\nIf nothing changed: output `NO_CHANGES`. The cron should stay silent.\n\n### Detect anomalies intelligently\n- **Phantom workouts:** Indoor workouts with abnormal duration (>2h indoor cycling = probably forgot to end it on the watch). Flag these so calorie data isn't misinterpreted.\n- **Incomplete nutrition logging:** Very low calories (<500) early in the day = probably hasn't logged yet, not starvation. Don't alarm.\n- **Sensor gaps:** Zero CGM readings = sensor needs changing, not a health emergency.\n\n### Output as JSON\nLet the cron agent interpret the data — don't bake in the insight language. The script provides structured data; the cron provides the personality and context.\n\n---\n\n## Setup: Phase 3 — The Context File\n\nThis is the shared brain. Both the cron and the main session read it. It should have:\n\n### Life Factors\nEverything that affects biometric data. Organized by domain (sleep disruptors, medications, exercise, nutrition, work, environment). Written in plain language, not medical jargon.\n\n### Known Correlations\nNumbered list of confirmed connections. These are facts, not theories:\n> \"3 AM heart rate spikes = baby wake-ups (confirmed Feb 2026)\"\n\n### Active Theories\nEach theory is a structured hypothesis:\n\n```markdown\n### Theory: [Name]\n- **Status**: HYPOTHESIS | INVESTIGATING | STRONG EVIDENCE | CONFIRMED | KILLED\n- **Evidence**: What data supports this?\n- **Counter-evidence**: What contradicts it?\n- **Questions for human**: \n  - [ ] Specific question that would help confirm/kill\n  - [ ] Another question\n- **If confirmed**: What would you recommend?\n- **If killed**: What alternative explanation?\n```\n\nTheories should be:\n- **Specific** (\"Alcohol suppresses REM sleep within 3 hours of last drink\" not \"alcohol is bad for sleep\")\n- **Testable** (there's a question or experiment that could confirm/kill it)\n- **Falsifiable** (you know what data would prove it wrong)\n- **Actionable** (if confirmed, there's something the human can do)\n\n### Answered Questions\nWhen you learn something, move it from \"Active Theories\" to here with the date. This is institutional memory. Example:\n\n> **Q: What time do you take [medication]?** (asked Feb 17)  \n> A: \"Right before bed, around 1 AM\" (answered Feb 18)  \n> → Updated Theory 1: timing is likely too late for optimal effect. Need to test earlier timing.\n\n### What To Watch For\nOpen monitoring items — things you're tracking but don't have theories about yet.\n\n---\n\n## Setup: Phase 4 — The Cron Job\n\n**Schedule:** Every 2 hours during waking hours. Adjust to your human's schedule.\n\n**Model:** Needs judgment — use a model capable of reasoning (Sonnet-class minimum).\n\n**Delivery:** `none` by default. The cron decides whether to message. MOST RUNS SHOULD BE SILENT.\n\n**Prompt structure:**\n\n```\n1. Read the biometric context file — life context and active theories.\n\n2. Run the insights script with --diff\n\n3. If nothing changed: HEARTBEAT_OK. Done.\n\n4. If something changed, think through:\n   - Does this connect to a known life factor?\n   - Does it support or contradict an active theory?\n   - Does it suggest a new theory?\n   - Is it expected (e.g., known weekly pattern) or surprising?\n\n5. Only message the human if:\n   - Something genuinely surprising or concerning\n   - A theory just got stronger/weaker with new evidence\n   - You have a specific question the data makes timely\n   \n6. Message style: Sharp friend texting, not medical report.\n   One or two observations. One question max. No walls of numbers.\n\n7. If the change is explained by known patterns: stay silent.\n```\n\n---\n\n## Setup: Phase 5 — The Rules\n\n### Mandatory Context Updates\nAdd to your agent's operating instructions:\n\n> Whenever the human mentions sleep, medications, supplements, exercise, diet, alcohol, caffeine, stress, travel, schedule changes, health symptoms, illness, energy, or mood — **immediately** update the biometric context file. If it answers a theory question, resolve it. If it suggests a new pattern, add a theory. This file feeds the biometric cron. If you don't write it down, the system stays dumb.\n\n### Main Session Access\nThe agent should load the context file every session so it can:\n- Connect casual comments to health data (\"I'm exhausted\" → \"Makes sense, 4.2h sleep + Monday meetings\")\n- Naturally ask theory questions when the moment is right\n- Update context from throwaway comments the human wouldn't think to flag\n\n### Epistemic Humility\nThe agent is NOT a doctor. It should:\n- Say \"I notice\" not \"you have\"\n- Frame insights as patterns, not diagnoses\n- Distinguish between \"interesting correlation\" and \"you should talk to your doctor\"\n- Be explicit about confidence levels: \"strong pattern over 4 weeks\" vs. \"just one data point\"\n- Never recommend stopping medications or dramatically changing treatment\n\n### When to Escalate\nFlag for the human to discuss with their doctor if:\n- Sustained RHR increase (>10 bpm above baseline over 5+ days)\n- VO2Max declining steadily over months\n- SpO2 consistently below 95%\n- Any metric that's moved dramatically AND you can't explain it with life context\n- Patterns that suggest their medication isn't working as expected\n\nFrame as \"worth mentioning to your doctor\" — never as a diagnosis.\n\n### Handling Wrong Theories\nTheories will be wrong. When data contradicts a theory:\n1. Update the theory status to WEAKENED or KILLED\n2. Log the counter-evidence with the date\n3. Move to Answered Questions with what you learned\n4. Don't defend dead theories — kill them fast and form new ones\n5. Being wrong is fine. Staying wrong isn't.\n\n---\n\n## How It Gets Smarter\n\n**Week 1:** Generic observations. \"Your HRV averaged 42ms this week.\" The agent is learning baselines and forming initial theories based on the bootstrap interview.\n\n**Week 2-4:** Pattern recognition. \"Your HRV drops every Sunday.\" \"Your deep sleep is better on days you work out.\" Theories get evidence. Questions get asked.\n\n**Month 1-2:** Contextual intelligence. \"Your HRV dropped but it's post-injection day + you mentioned drinking Saturday. Two compounding factors.\" Cross-domain correlations emerge. The answered questions accumulate.\n\n**Month 3+:** Predictive. \"Tomorrow is Monday with 5 meetings and you slept 4h. Based on your pattern, I'd move the 2 PM if you can.\" The context file is now a deep model of one person's health, built from data AND conversation. No generic health app can do this.\n\n---\n\n## What You Need\n\n- **Fulcra account** with connected data sources (Apple Health, nutrition app, etc.)\n- **OpenClaw** (or similar agent framework) with cron jobs and messaging\n- **Python 3** with the `fulcra-api` package installed and `uv` available for Fulcra CLI commands (`uv tool run fulcra-api`)\n- **Token refresh cron** (every 12h) to keep API access alive\n- **~30 min** for the bootstrap interview\n- **A human willing to answer questions** — the system only gets as smart as the context it's given\n\n---\n\n## File Reference\n\n| File | Purpose |\n|------|---------|\n| `scripts/fulcra-daily-insights.py` | Data pull + cross-correlation + diff engine |\n| `memory/topics/biometric-context.md` | Life context + theories + questions + answers |\n| `data/last_report_state.json` | Diff state (what was already reported) |\n| Agent config (AGENTS.md) | Mandatory update rule + session startup |\n\n---\n\n## Privacy\n\n- All data stays on your machine. Fulcra API → your local storage.\n- The context file contains deeply personal health information. Treat as private.\n- Never send biometric context to group chats, public channels, or external services.\n- Calendar data is used for meeting *load* (count), not content or attendees.\n- When discussing with the human, never share their data with third parties.\n\n---\n\n## The One Thing to Remember\n\nThe script is replaceable. The cron schedule is adjustable. The file structure is flexible.\n\nThe thing that makes this system work is the **feedback loop between conversation and data**. Every time your human tells you something about their life, you write it down. Every time the data changes, you interpret it through what you know about their life. Every theory you form makes the next insight sharper.\n\nThe data is evidence. The conversation is context. The loop is intelligence.\n\n---\n\n*Built with OpenClaw + Fulcra for intelligent health monitoring.*\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nAI sleep investigation that uses Fulcra sleep, biometric, calendar, exercise, supplement, and lifestyle context to generate theories, proactive alerts, daily insights, and follow-up questions about sleep quality. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[arc-claw-bot](https://clawhub.ai/user/arc-claw-bot) <br>\n\n### License/Terms of Use: <br>\nMIT <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to connect Fulcra health data with an OpenClaw-style agent that can analyze sleep quality, generate hypotheses, surface proactive alerts, and ask follow-up questions about sleep-related patterns. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can collect and persist sensitive health, calendar, medication, mood, and lifestyle context. <br>\nMitigation: Use only with intended Fulcra data sources, avoid broad automatic activation for health topics, and regularly review, prune, or delete stored context and state files. <br>\nRisk: The skill requires access to Fulcra authentication and health data. <br>\nMitigation: Complete device authorization only through a trusted user channel, never share access tokens or credential files, and revoke access when the skill is no longer needed. <br>\nRisk: Generated sleep theories and recommendations may be incomplete or misleading. <br>\nMitigation: Treat outputs as hypotheses for review rather than medical advice, and confirm important health decisions with qualified professionals. <br>\n\n\n## Reference(s): <br>\n- [Fulcra Biometric Intelligence System Blueprint](docs/fulcra-agent-blueprint.md) <br>\n- [OpenClaw](https://github.com/openclaw/openclaw) <br>\n- [Fulcra](https://fulcradynamics.com) <br>\n- [Fulcra Sleep Detective on ClawHub](https://clawhub.ai/arc-claw-bot/fulcra-sleep-detective) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown or plain-text guidance with optional JSON context dumps and shell command snippets.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May maintain local health context, timezone cache, and analysis state in the agent workspace.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: ClawHub release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.2:LICENSE\n\nMIT License\n\nCopyright (c) 2026 Arc (arc-claw-bot)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nArchive v1.0.1: 11 files, 40823 bytes\n\nFiles: _meta.json (141b), docs/fulcra-agent-blueprint.md (18975b), LICENSE (1074b), README.md (3204b), scripts/fulcra_sleep_utils.py (9241b), scripts/fulcra_timezone.py (5237b), scripts/fulcra-context-dump.py (17664b), scripts/fulcra-daily-insights.py (27126b), scripts/fulcra-proactive-alerts.py (26716b), skill-card.md (2616b), SKILL.md (1274b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: fulcra-sleep-detective\ndescription: AI sleep investigation that uses Fulcra sleep, biometric, calendar, exercise, supplement, and lifestyle context to generate theories, proactive alerts, daily insights, and follow-up questions about sleep quality.\n---\n\n# Fulcra Sleep Detective - OpenClaw Skill\n\n## Overview\nAI-powered sleep investigation that goes beyond tracking to generate theories and actionable insights.\n\n## Commands\n- `sleep-theory` - Generate new theories based on recent patterns\n- `sleep-alert` - Check for factors that might impact tonight's sleep\n- `sleep-context` - Dump comprehensive sleep and biometric context\n- `sleep-insights` - Daily analysis with correlations and recommendations\n\n## Dependencies\n- `fulcra-api` - Python biometric data access package\n- `uv tool run fulcra-api` - Fulcra CLI authentication and one-off CLI commands\n- `pandas` - Data analysis\n- `numpy` - Statistical calculations\n\n## Configuration\nSet up Fulcra API credentials:\n```\nuv tool run fulcra-api auth login\n```\n\n## Usage in OpenClaw\nThis skill integrates with OpenClaw's conversation system to provide contextual sleep insights during natural conversation. When sleep, energy, or health topics come up, the skill can automatically surface relevant theories and data.\n\nFile v1.0.1:README.md\n\n# Fulcra Sleep Detective\n\n[![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![OpenClaw](https://img.shields.io/badge/Built%20with-OpenClaw-orange)](https://github.com/openclaw/openclaw)\n[![Fulcra](https://img.shields.io/badge/Powered%20by-Fulcra-green)](https://fulcradynamics.com)\n\n**AI sleep detective that forms theories, asks questions, and tracks experiments**\n\n## Overview\n\nThe Fulcra Sleep Detective is an AI-powered sleep investigation engine that goes beyond simple tracking. Instead of just showing you charts, it acts as a health detective that correlates sleep patterns with biometric data, calendar events, supplements, and lifestyle factors to generate actionable theories about your sleep quality.\n\n## Features\n\n### 7 Theory Types\n- **Sleep Debt Theory**: Tracks cumulative sleep deficit and recovery patterns\n- **HRV Correlation Theory**: Connects heart rate variability with sleep quality\n- **Glucose Impact Theory**: Analyzes blood sugar patterns and sleep disruption\n- **Exercise Timing Theory**: Correlates workout timing with sleep onset and quality\n- **Calendar Stress Theory**: Links meeting density and stress with sleep metrics\n- **Supplement Efficacy Theory**: Tracks supplement timing and sleep improvements\n- **Environmental Theory**: Analyzes room conditions, temperature, and external factors\n\n### Core Capabilities\n- **Multi-stream correlation**: Combines sleep, HRV, glucose, exercise, calendar, and supplement data\n- **Dynamic timezone support**: Automatically detects your timezone from Fulcra user profile — DST-aware via Python's `ZoneInfo`\n- **UTC-safe sleep parsing**: Handles timezone changes and travel accurately\n- **Proactive alerts**: Warns about conditions likely to impact tonight's sleep\n- **Annotation integration**: Learns from your manual notes and observations\n- **Conversation-as-data**: Treats your feedback as structured data for theory refinement\n\n## Installation\n\n```bash\npip install fulcra-api\n```\n\nConfigure your Fulcra API token:\n```bash\nuv tool run fulcra-api auth login\n```\n\n## Architecture\n\n```\nFulcra API → Sleep Detective → Theory Engine → Alert System\n    ↓              ↓               ↓              ↓\nRaw Data → Correlation → Hypothesis → Action\n```\n\nThe system continuously ingests biometric streams, applies statistical correlation analysis, generates testable hypotheses, and provides actionable recommendations.\n\n## Built with OpenClaw + Fulcra\n\nThis project showcases the power of combining [OpenClaw](https://github.com/openclaw/openclaw)'s AI agent framework with [Fulcra](https://fulcradynamics.com)'s comprehensive biometric API. OpenClaw provides the conversational intelligence and automation capabilities, while Fulcra delivers the rich health data stream necessary for meaningful pattern detection.\n\n**Key Integration Points:**\n- OpenClaw's natural language processing for theory interpretation\n- Fulcra's unified API for multi-device biometric data\n- Real-time correlation analysis between behavioral and physiological markers\n- Proactive health coaching through intelligent alerting\n\n## License\n\nMIT License - Copyright 2026 Arc (arc-claw-bot)\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7bjcdhk2dyk0wc92njxshp9d80939t\",\n  \"slug\": \"fulcra-sleep-detective\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1779977387468\n}\n\nFile v1.0.1:docs/fulcra-agent-blueprint.md\n\n<!--\nMIT License\n\nCopyright (c) 2026 OpenClaw Community\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n-->\n\n# Fulcra Biometric Intelligence System — Blueprint\n\n*For AI agents running on OpenClaw (or similar) with access to Fulcra's health data API.*\n\n---\n\n## The Idea in 30 Seconds\n\nYour agent pulls biometric data every few hours. But instead of reporting numbers, it maintains a living document of theories about your human's health — informed by everything they've told you in conversation. It asks one question at a time, remembers every answer, and gets smarter. The data is the evidence. The context of their life is the interpretation. The feedback loop between conversation and data is what makes it intelligent.\n\n**It's not a dashboard. It's a health detective that knows your life.**\n\n---\n\n## Why This Works (The Philosophy)\n\nA dashboard says: \"Your HRV dropped 5ms.\"\n\nThis system says: \"Your HRV dropped 5ms — but it's Sunday, the day after your weekly injection, and you mentioned having drinks Saturday night. Two compounding factors. This same pattern has happened 3 of the last 4 weeks. Should normalize by Tuesday. But here's my question: on the one Sunday it DIDN'T drop, what was different?\"\n\nThe difference is **context** and **curiosity**.\n\nThree principles:\n\n1. **Numbers without life context are noise.** The same HRV reading means completely different things depending on whether someone slept 4 hours because of insomnia vs. a newborn vs. a late flight. Your job is to know which.\n\n2. **The human is the sensor you can't automate.** Fulcra gives you heart rate, sleep stages, steps. It can't tell you they switched medications, had a stressful meeting, stopped drinking, or feel \"off.\" You get that from conversation — and you have to capture it immediately or it's gone.\n\n3. **Theories beat reports.** Nobody wants a daily health report. They want someone who's *thinking* about their health in the background and speaks up when they notice something. Form hypotheses. Test them against data. Ask the one question that would confirm or kill the theory. Be wrong sometimes — that's data too.\n\n---\n\n## The System: Three Feedback Loops\n\n```\n              ┌──────────────────┐\n              │   CONVERSATION   │\n              │  (daily chats)   │\n              └────────┬─────────┘\n                       │ human mentions health info\n                       ▼\n              ┌──────────────────┐\n              │  CONTEXT FILE    │◄─── the shared brain\n              │  (life + theories│\n              │   + questions +  │\n              │   answers)       │\n              └───┬──────────┬───┘\n                  │          │\n        cron reads│          │main session reads\n                  ▼          ▼\n          ┌────────────┐  ┌──────────────┐\n          │ DATA CRON  │  │  MAIN CHAT   │\n          │ (periodic) │  │  (reactive)  │\n          │            │  │              │\n          │ pull data  │  │ human says   │\n          │ diff state │  │ \"I'm tired\"  │\n          │ test theory│  │ → agent knows│\n          │ ask or hush│  │   why        │\n          └─────┬──────┘  └──────┬───────┘\n                │                │\n                │ updates        │ updates\n                └───────┬────────┘\n                        ▼\n              ┌──────────────────┐\n              │  CONTEXT FILE    │ ← loop closes, system learns\n              └──────────────────┘\n```\n\n### Loop 1: Data → Insight (automated)\nThe cron pulls biometric data, compares to last run, and interprets changes through the lens of life context. It only speaks when something changed AND it's interesting. Most runs are silent.\n\n### Loop 2: Conversation → Context (mandatory, immediate)\nWhenever the human mentions anything health-related — sleep, meds, exercise, diet, stress, mood, symptoms — the agent immediately writes it to the context file. This is the most important loop. If you don't capture it, the system stays dumb.\n\n### Loop 3: Theory → Question → Answer → Smarter Theory\nThe context file contains active theories (hypotheses). Each has evidence, status, and one or two questions that would help confirm or kill it. The cron asks one question when the data makes it relevant. The human answers in regular chat. The agent updates the theory. The cron gets smarter.\n\n---\n\n## Setup: Phase 1 — Bootstrapping (Day 1)\n\nThe system is useless without life context. Before any cron runs, you need to interview your human. This is a one-time conversation.\n\n### The Bootstrap Interview\n\nHave a natural conversation covering these areas. Don't make it feel like a medical intake form — just talk. Write everything to the context file as you go.\n\n**Sleep:**\n- What time do you usually go to bed? Wake up?\n- What disrupts your sleep? (kids, pets, partner, insomnia, anxiety, noise)\n- Do you track sleep? (Apple Watch, Oura, etc.)\n\n**Medications & Supplements:**\n- Taking anything regularly? (prescriptions, supplements, vitamins)\n- Any recent changes? Starting/stopping anything?\n- When do you take them? (timing matters for correlations)\n\n**Exercise:**\n- What's your routine? How often?\n- Any recent changes? (injury, new program, stopped going)\n- Indoor vs outdoor? Cardio vs strength vs both?\n\n**Nutrition:**\n- Do you track food? (app name if yes)\n- Alcohol? How often, roughly?\n- Caffeine? When do you cut off?\n- Any dietary patterns? (fasting, keto, vegetarian, etc.)\n\n**Work & Stress:**\n- What does a typical week look like? Heavy days?\n- What stresses you out? (meetings, deadlines, travel, people)\n- Remote or in-office? Commute?\n\n**Health Goals:**\n- What are you trying to improve? (sleep, fitness, weight, energy, longevity)\n- Anything you're worried about?\n- Any conditions the data should account for?\n\n**Environment:**\n- Where do you live? (climate, altitude matter for some metrics)\n- Do you travel often? Where?\n\nWrite all of this to `memory/topics/biometric-context.md`. This is the foundation.\n\n### The Baseline Data Pull\n\nPull 30-90 days of historical data from Fulcra. Don't just look at yesterday — you need patterns.\n\n```python\nfrom fulcra_api.core import FulcraAPI\nfrom datetime import datetime, timezone, timedelta\n\napi = FulcraAPI()\n# (authenticate and set token)\n\nend = datetime.now(timezone.utc)\nstart = end - timedelta(days=90)\n\n# Core metrics\nsleep = api.sleep_agg(start.isoformat(), end.isoformat())\nhrv = api.metric_samples(start.isoformat(), end.isoformat(), 'HeartRateVariabilitySDNN')\nrhr = api.metric_samples(start.isoformat(), end.isoformat(), 'RestingHeartRate')\nhr = api.metric_samples(start.isoformat(), end.isoformat(), 'HeartRate')\nsteps = api.metric_samples(start.isoformat(), end.isoformat(), 'StepCount')\nworkouts = api.apple_workouts(start.isoformat(), end.isoformat())\ncalendar = api.calendar_events(start.isoformat(), end.isoformat())\n\n# Nutrition (if food tracking app connected)\ncalories = api.metric_samples(start.isoformat(), end.isoformat(), 'CaloriesConsumed')\nprotein = api.metric_samples(start.isoformat(), end.isoformat(), 'DietaryProteinConsumed')\n\n# Optional but valuable\nspo2 = api.metric_samples(start.isoformat(), end.isoformat(), 'OxygenSaturation')\nresp = api.metric_samples(start.isoformat(), end.isoformat(), 'RespiratoryRate')\nvo2 = api.metric_samples(start.isoformat(), end.isoformat(), 'VO2Max')\nglucose = api.metric_samples(start.isoformat(), end.isoformat(), 'BloodGlucose')  # if CGM\n```\n\nAnalyze the baseline for:\n- **Averages and ranges** (what's normal for THIS person)\n- **Day-of-week patterns** (do Mondays look different from Fridays?)\n- **Trends** (is HRV improving or declining over 90 days?)\n- **Outliers** (which days were dramatically different? Why?)\n- **Correlations** (does bad sleep predict low HRV next day? Does meeting-heavy days correlate with higher HR?)\n\nWrite your initial findings and 3-5 initial theories to the context file. These are your starting hypotheses.\n\n---\n\n## Setup: Phase 2 — The Insights Script\n\nBuild a Python script that the cron will call. It should:\n\n### Pull current data\nUse the Fulcra API calls above, but for a shorter window (7 days gives enough context for trends without being expensive).\n\n### Generate cross-domain insights\nThe value is in connecting domains. Don't just report each metric — cross-correlate:\n- Sleep quality × next-day meeting load\n- HRV × day of week × medication schedule\n- Workout intensity × recovery state (HRV, RHR)\n- Nutrition (especially protein) × training days\n- Sleep architecture (deep/REM %) × supplement timing\n\n### Diff against last run (critical)\nThis is what prevents parrot mode. Save a state file after each run:\n\n```json\n{\n  \"timestamp\": \"...\",\n  \"last_sleep\": {\"date\": \"2026-02-17\", \"total_hours\": 4.8, ...},\n  \"workout_ids\": [\"2026-02-17T12:51:34...\", ...],\n  \"last_hrv_avg\": 35.2,\n  \"last_rhr_avg\": 73.0,\n  \"last_nutrition_date\": \"2026-02-16\",\n  \"last_nutrition_cal\": 2802\n}\n```\n\nOn `--diff` mode, compare current data to this state. Only output what changed:\n- New sleep night appeared\n- New workout detected\n- HRV shifted meaningfully (use percentage, not fixed threshold — 10% of their baseline)\n- RHR shifted meaningfully\n- Nutrition data filled in (catches late logging)\n\nIf nothing changed: output `NO_CHANGES`. The cron should stay silent.\n\n### Detect anomalies intelligently\n- **Phantom workouts:** Indoor workouts with abnormal duration (>2h indoor cycling = probably forgot to end it on the watch). Flag these so calorie data isn't misinterpreted.\n- **Incomplete nutrition logging:** Very low calories (<500) early in the day = probably hasn't logged yet, not starvation. Don't alarm.\n- **Sensor gaps:** Zero CGM readings = sensor needs changing, not a health emergency.\n\n### Output as JSON\nLet the cron agent interpret the data — don't bake in the insight language. The script provides structured data; the cron provides the personality and context.\n\n---\n\n## Setup: Phase 3 — The Context File\n\nThis is the shared brain. Both the cron and the main session read it. It should have:\n\n### Life Factors\nEverything that affects biometric data. Organized by domain (sleep disruptors, medications, exercise, nutrition, work, environment). Written in plain language, not medical jargon.\n\n### Known Correlations\nNumbered list of confirmed connections. These are facts, not theories:\n> \"3 AM heart rate spikes = baby wake-ups (confirmed Feb 2026)\"\n\n### Active Theories\nEach theory is a structured hypothesis:\n\n```markdown\n### Theory: [Name]\n- **Status**: HYPOTHESIS | INVESTIGATING | STRONG EVIDENCE | CONFIRMED | KILLED\n- **Evidence**: What data supports this?\n- **Counter-evidence**: What contradicts it?\n- **Questions for human**: \n  - [ ] Specific question that would help confirm/kill\n  - [ ] Another question\n- **If confirmed**: What would you recommend?\n- **If killed**: What alternative explanation?\n```\n\nTheories should be:\n- **Specific** (\"Alcohol suppresses REM sleep within 3 hours of last drink\" not \"alcohol is bad for sleep\")\n- **Testable** (there's a question or experiment that could confirm/kill it)\n- **Falsifiable** (you know what data would prove it wrong)\n- **Actionable** (if confirmed, there's something the human can do)\n\n### Answered Questions\nWhen you learn something, move it from \"Active Theories\" to here with the date. This is institutional memory. Example:\n\n> **Q: What time do you take [medication]?** (asked Feb 17)  \n> A: \"Right before bed, around 1 AM\" (answered Feb 18)  \n> → Updated Theory 1: timing is likely too late for optimal effect. Need to test earlier timing.\n\n### What To Watch For\nOpen monitoring items — things you're tracking but don't have theories about yet.\n\n---\n\n## Setup: Phase 4 — The Cron Job\n\n**Schedule:** Every 2 hours during waking hours. Adjust to your human's schedule.\n\n**Model:** Needs judgment — use a model capable of reasoning (Sonnet-class minimum).\n\n**Delivery:** `none` by default. The cron decides whether to message. MOST RUNS SHOULD BE SILENT.\n\n**Prompt structure:**\n\n```\n1. Read the biometric context file — life context and active theories.\n\n2. Run the insights script with --diff\n\n3. If nothing changed: HEARTBEAT_OK. Done.\n\n4. If something changed, think through:\n   - Does this connect to a known life factor?\n   - Does it support or contradict an active theory?\n   - Does it suggest a new theory?\n   - Is it expected (e.g., known weekly pattern) or surprising?\n\n5. Only message the human if:\n   - Something genuinely surprising or concerning\n   - A theory just got stronger/weaker with new evidence\n   - You have a specific question the data makes timely\n   \n6. Message style: Sharp friend texting, not medical report.\n   One or two observations. One question max. No walls of numbers.\n\n7. If the change is explained by known patterns: stay silent.\n```\n\n---\n\n## Setup: Phase 5 — The Rules\n\n### Mandatory Context Updates\nAdd to your agent's operating instructions:\n\n> Whenever the human mentions sleep, medications, supplements, exercise, diet, alcohol, caffeine, stress, travel, schedule changes, health symptoms, illness, energy, or mood — **immediately** update the biometric context file. If it answers a theory question, resolve it. If it suggests a new pattern, add a theory. This file feeds the biometric cron. If you don't write it down, the system stays dumb.\n\n### Main Session Access\nThe agent should load the context file every session so it can:\n- Connect casual comments to health data (\"I'm exhausted\" → \"Makes sense, 4.2h sleep + Monday meetings\")\n- Naturally ask theory questions when the moment is right\n- Update context from throwaway comments the human wouldn't think to flag\n\n### Epistemic Humility\nThe agent is NOT a doctor. It should:\n- Say \"I notice\" not \"you have\"\n- Frame insights as patterns, not diagnoses\n- Distinguish between \"interesting correlation\" and \"you should talk to your doctor\"\n- Be explicit about confidence levels: \"strong pattern over 4 weeks\" vs. \"just one data point\"\n- Never recommend stopping medications or dramatically changing treatment\n\n### When to Escalate\nFlag for the human to discuss with their doctor if:\n- Sustained RHR increase (>10 bpm above baseline over 5+ days)\n- VO2Max declining steadily over months\n- SpO2 consistently below 95%\n- Any metric that's moved dramatically AND you can't explain it with life context\n- Patterns that suggest their medication isn't working as expected\n\nFrame as \"worth mentioning to your doctor\" — never as a diagnosis.\n\n### Handling Wrong Theories\nTheories will be wrong. When data contradicts a theory:\n1. Update the theory status to WEAKENED or KILLED\n2. Log the counter-evidence with the date\n3. Move to Answered Questions with what you learned\n4. Don't defend dead theories — kill them fast and form new ones\n5. Being wrong is fine. Staying wrong isn't.\n\n---\n\n## How It Gets Smarter\n\n**Week 1:** Generic observations. \"Your HRV averaged 42ms this week.\" The agent is learning baselines and forming initial theories based on the bootstrap interview.\n\n**Week 2-4:** Pattern recognition. \"Your HRV drops every Sunday.\" \"Your deep sleep is better on days you work out.\" Theories get evidence. Questions get asked.\n\n**Month 1-2:** Contextual intelligence. \"Your HRV dropped but it's post-injection day + you mentioned drinking Saturday. Two compounding factors.\" Cross-domain correlations emerge. The answered questions accumulate.\n\n**Month 3+:** Predictive. \"Tomorrow is Monday with 5 meetings and you slept 4h. Based on your pattern, I'd move the 2 PM if you can.\" The context file is now a deep model of one person's health, built from data AND conversation. No generic health app can do this.\n\n---\n\n## What You Need\n\n- **Fulcra account** with connected data sources (Apple Health, nutrition app, etc.)\n- **OpenClaw** (or similar agent framework) with cron jobs and messaging\n- **Python 3** with the `fulcra-api` package installed and `uv` available for Fulcra CLI commands (`uv tool run fulcra-api`)\n- **Token refresh cron** (every 12h) to keep API access alive\n- **~30 min** for the bootstrap interview\n- **A human willing to answer questions** — the system only gets as smart as the context it's given\n\n---\n\n## File Reference\n\n| File | Purpose |\n|------|---------|\n| `scripts/fulcra-daily-insights.py` | Data pull + cross-correlation + diff engine |\n| `memory/topics/biometric-context.md` | Life context + theories + questions + answers |\n| `data/last_report_state.json` | Diff state (what was already reported) |\n| Agent config (AGENTS.md) | Mandatory update rule + session startup |\n\n---\n\n## Privacy\n\n- All data stays on your machine. Fulcra API → your local storage.\n- The context file contains deeply personal health information. Treat as private.\n- Never send biometric context to group chats, public channels, or external services.\n- Calendar data is used for meeting *load* (count), not content or attendees.\n- When discussing with the human, never share their data with third parties.\n\n---\n\n## The One Thing to Remember\n\nThe script is replaceable. The cron schedule is adjustable. The file structure is flexible.\n\nThe thing that makes this system work is the **feedback loop between conversation and data**. Every time your human tells you something about their life, you write it down. Every time the data changes, you interpret it through what you know about their life. Every theory you form makes the next insight sharper.\n\nThe data is evidence. The conversation is context. The loop is intelligence.\n\n---\n\n*Built with OpenClaw + Fulcra for intelligent health monitoring.*\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nAI sleep investigation that uses Fulcra sleep, biometric, calendar, exercise, supplement, and lifestyle context to generate theories, proactive alerts, daily insights, and follow-up questions about sleep quality. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[arc-claw-bot](https://clawhub.ai/user/arc-claw-bot) <br>\n\n### License/Terms of Use: <br>\nMIT <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to analyze Fulcra health, sleep, calendar, and lifestyle data so an agent can produce sleep theories, daily insights, proactive alerts, and follow-up questions. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can access sensitive Fulcra health data, local Fulcra credentials, calendar context, and persistent local health memory. <br>\nMitigation: Review the skill before installing, narrow Fulcra and calendar scopes where possible, and run commands manually until the access model is acceptable. <br>\nRisk: Automatic context updates or scheduled runs can preserve sensitive health and calendar-derived state over time. <br>\nMitigation: Disable automatic updates or cron jobs until reviewed, and periodically audit or delete generated memory and state files. <br>\nRisk: Sleep and biometric correlations can produce misleading or overconfident health guidance. <br>\nMitigation: Treat outputs as agent-generated analysis, review recommendations before acting on them, and avoid using the skill as medical advice. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/arc-claw-bot/fulcra-sleep-detective) <br>\n- [Fulcra](https://fulcradynamics.com) <br>\n- [OpenClaw](https://github.com/openclaw/openclaw) <br>\n- [Fulcra Biometric Intelligence System Blueprint](docs/fulcra-agent-blueprint.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown and human-readable text with optional JSON reports and shell command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Outputs may include health insights, alerts, theories, follow-up questions, and local state summaries.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.1:LICENSE\n\nMIT License\n\nCopyright (c) 2026 Arc (arc-claw-bot)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nArchive v1.0.0: 11 files, 40910 bytes\n\nFiles: docs/fulcra-agent-blueprint.md (18975b), LICENSE (1074b), README.md (3204b), scripts/fulcra_sleep_utils.py (9241b), scripts/fulcra_timezone.py (5237b), scripts/fulcra-context-dump.py (17664b), scripts/fulcra-daily-insights.py (27126b), scripts/fulcra-proactive-alerts.py (26716b), skill-card.md (2870b), SKILL.md (1274b), _meta.json (141b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: fulcra-sleep-detective\ndescription: AI sleep investigation that uses Fulcra sleep, biometric, calendar, exercise, supplement, and lifestyle context to generate theories, proactive alerts, daily insights, and follow-up questions about sleep quality.\n---\n\n# Fulcra Sleep Detective - OpenClaw Skill\n\n## Overview\nAI-powered sleep investigation that goes beyond tracking to generate theories and actionable insights.\n\n## Commands\n- `sleep-theory` - Generate new theories based on recent patterns\n- `sleep-alert` - Check for factors that might impact tonight's sleep\n- `sleep-context` - Dump comprehensive sleep and biometric context\n- `sleep-insights` - Daily analysis with correlations and recommendations\n\n## Dependencies\n- `fulcra-api` - Python biometric data access package\n- `uv tool run fulcra-api` - Fulcra CLI authentication and one-off CLI commands\n- `pandas` - Data analysis\n- `numpy` - Statistical calculations\n\n## Configuration\nSet up Fulcra API credentials:\n```\nuv tool run fulcra-api auth login\n```\n\n## Usage in OpenClaw\nThis skill integrates with OpenClaw's conversation system to provide contextual sleep insights during natural conversation. When sleep, energy, or health topics come up, the skill can automatically surface relevant theories and data.\n\nFile v1.0.0:README.md\n\n# Fulcra Sleep Detective\n\n[![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![OpenClaw](https://img.shields.io/badge/Built%20with-OpenClaw-orange)](https://github.com/openclaw/openclaw)\n[![Fulcra](https://img.shields.io/badge/Powered%20by-Fulcra-green)](https://fulcradynamics.com)\n\n**AI sleep detective that forms theories, asks questions, and tracks experiments**\n\n## Overview\n\nThe Fulcra Sleep Detective is an AI-powered sleep investigation engine that goes beyond simple tracking. Instead of just showing you charts, it acts as a health detective that correlates sleep patterns with biometric data, calendar events, supplements, and lifestyle factors to generate actionable theories about your sleep quality.\n\n## Features\n\n### 7 Theory Types\n- **Sleep Debt Theory**: Tracks cumulative sleep deficit and recovery patterns\n- **HRV Correlation Theory**: Connects heart rate variability with sleep quality\n- **Glucose Impact Theory**: Analyzes blood sugar patterns and sleep disruption\n- **Exercise Timing Theory**: Correlates workout timing with sleep onset and quality\n- **Calendar Stress Theory**: Links meeting density and stress with sleep metrics\n- **Supplement Efficacy Theory**: Tracks supplement timing and sleep improvements\n- **Environmental Theory**: Analyzes room conditions, temperature, and external factors\n\n### Core Capabilities\n- **Multi-stream correlation**: Combines sleep, HRV, glucose, exercise, calendar, and supplement data\n- **Dynamic timezone support**: Automatically detects your timezone from Fulcra user profile — DST-aware via Python's `ZoneInfo`\n- **UTC-safe sleep parsing**: Handles timezone changes and travel accurately\n- **Proactive alerts**: Warns about conditions likely to impact tonight's sleep\n- **Annotation integration**: Learns from your manual notes and observations\n- **Conversation-as-data**: Treats your feedback as structured data for theory refinement\n\n## Installation\n\n```bash\npip install fulcra-api\n```\n\nConfigure your Fulcra API token:\n```bash\nuv tool run fulcra-api auth login\n```\n\n## Architecture\n\n```\nFulcra API → Sleep Detective → Theory Engine → Alert System\n    ↓              ↓               ↓              ↓\nRaw Data → Correlation → Hypothesis → Action\n```\n\nThe system continuously ingests biometric streams, applies statistical correlation analysis, generates testable hypotheses, and provides actionable recommendations.\n\n## Built with OpenClaw + Fulcra\n\nThis project showcases the power of combining [OpenClaw](https://github.com/openclaw/openclaw)'s AI agent framework with [Fulcra](https://fulcradynamics.com)'s comprehensive biometric API. OpenClaw provides the conversational intelligence and automation capabilities, while Fulcra delivers the rich health data stream necessary for meaningful pattern detection.\n\n**Key Integration Points:**\n- OpenClaw's natural language processing for theory interpretation\n- Fulcra's unified API for multi-device biometric data\n- Real-time correlation analysis between behavioral and physiological markers\n- Proactive health coaching through intelligent alerting\n\n## License\n\nMIT License - Copyright 2026 Arc (arc-claw-bot)\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7bjcdhk2dyk0wc92njxshp9d80939t\",\n  \"slug\": \"fulcra-sleep-detective\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779379592859\n}\n\nFile v1.0.0:docs/fulcra-agent-blueprint.md\n\n<!--\nMIT License\n\nCopyright (c) 2026 OpenClaw Community\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n-->\n\n# Fulcra Biometric Intelligence System — Blueprint\n\n*For AI agents running on OpenClaw (or similar) with access to Fulcra's health data API.*\n\n---\n\n## The Idea in 30 Seconds\n\nYour agent pulls biometric data every few hours. But instead of reporting numbers, it maintains a living document of theories about your human's health — informed by everything they've told you in conversation. It asks one question at a time, remembers every answer, and gets smarter. The data is the evidence. The context of their life is the interpretation. The feedback loop between conversation and data is what makes it intelligent.\n\n**It's not a dashboard. It's a health detective that knows your life.**\n\n---\n\n## Why This Works (The Philosophy)\n\nA dashboard says: \"Your HRV dropped 5ms.\"\n\nThis system says: \"Your HRV dropped 5ms — but it's Sunday, the day after your weekly injection, and you mentioned having drinks Saturday night. Two compounding factors. This same pattern has happened 3 of the last 4 weeks. Should normalize by Tuesday. But here's my question: on the one Sunday it DIDN'T drop, what was different?\"\n\nThe difference is **context** and **curiosity**.\n\nThree principles:\n\n1. **Numbers without life context are noise.** The same HRV reading means completely different things depending on whether someone slept 4 hours because of insomnia vs. a newborn vs. a late flight. Your job is to know which.\n\n2. **The human is the sensor you can't automate.** Fulcra gives you heart rate, sleep stages, steps. It can't tell you they switched medications, had a stressful meeting, stopped drinking, or feel \"off.\" You get that from conversation — and you have to capture it immediately or it's gone.\n\n3. **Theories beat reports.** Nobody wants a daily health report. They want someone who's *thinking* about their health in the background and speaks up when they notice something. Form hypotheses. Test them against data. Ask the one question that would confirm or kill the theory. Be wrong sometimes — that's data too.\n\n---\n\n## The System: Three Feedback Loops\n\n```\n              ┌──────────────────┐\n              │   CONVERSATION   │\n              │  (daily chats)   │\n              └────────┬─────────┘\n                       │ human mentions health info\n                       ▼\n              ┌──────────────────┐\n              │  CONTEXT FILE    │◄─── the shared brain\n              │  (life + theories│\n              │   + questions +  │\n              │   answers)       │\n              └───┬──────────┬───┘\n                  │          │\n        cron reads│          │main session reads\n                  ▼          ▼\n          ┌────────────┐  ┌──────────────┐\n          │ DATA CRON  │  │  MAIN CHAT   │\n          │ (periodic) │  │  (reactive)  │\n          │            │  │              │\n          │ pull data  │  │ human says   │\n          │ diff state │  │ \"I'm tired\"  │\n          │ test theory│  │ → agent knows│\n          │ ask or hush│  │   why        │\n          └─────┬──────┘  └──────┬───────┘\n                │                │\n                │ updates        │ updates\n                └───────┬────────┘\n                        ▼\n              ┌──────────────────┐\n              │  CONTEXT FILE    │ ← loop closes, system learns\n              └──────────────────┘\n```\n\n### Loop 1: Data → Insight (automated)\nThe cron pulls biometric data, compares to last run, and interprets changes through the lens of life context. It only speaks when something changed AND it's interesting. Most runs are silent.\n\n### Loop 2: Conversation → Context (mandatory, immediate)\nWhenever the human mentions anything health-related — sleep, meds, exercise, diet, stress, mood, symptoms — the agent immediately writes it to the context file. This is the most important loop. If you don't capture it, the system stays dumb.\n\n### Loop 3: Theory → Question → Answer → Smarter Theory\nThe context file contains active theories (hypotheses). Each has evidence, status, and one or two questions that would help confirm or kill it. The cron asks one question when the data makes it relevant. The human answers in regular chat. The agent updates the theory. The cron gets smarter.\n\n---\n\n## Setup: Phase 1 — Bootstrapping (Day 1)\n\nThe system is useless without life context. Before any cron runs, you need to interview your human. This is a one-time conversation.\n\n### The Bootstrap Interview\n\nHave a natural conversation covering these areas. Don't make it feel like a medical intake form — just talk. Write everything to the context file as you go.\n\n**Sleep:**\n- What time do you usually go to bed? Wake up?\n- What disrupts your sleep? (kids, pets, partner, insomnia, anxiety, noise)\n- Do you track sleep? (Apple Watch, Oura, etc.)\n\n**Medications & Supplements:**\n- Taking anything regularly? (prescriptions, supplements, vitamins)\n- Any recent changes? Starting/stopping anything?\n- When do you take them? (timing matters for correlations)\n\n**Exercise:**\n- What's your routine? How often?\n- Any recent changes? (injury, new program, stopped going)\n- Indoor vs outdoor? Cardio vs strength vs both?\n\n**Nutrition:**\n- Do you track food? (app name if yes)\n- Alcohol? How often, roughly?\n- Caffeine? When do you cut off?\n- Any dietary patterns? (fasting, keto, vegetarian, etc.)\n\n**Work & Stress:**\n- What does a typical week look like? Heavy days?\n- What stresses you out? (meetings, deadlines, travel, people","readmeExcerpt":"Skill: Arc Fulcra Sleep Detective Owner: arc-claw-bot Summary: Retired Fulcra sleep-analysis skill. Route new work to fulcra-context and keep all sleep, biometric, calendar, and location reads explicit, bounded, and user... Tags: latest:1.0.6 Version history: v1.0.6 | 2026-07-04T20:16:17.252Z | user Add skill card for retired sleep detective routing package. v1.0.5 | 2026-07-04T20:12:15.195Z | user Retire experimenta","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"uv tool run fulcra-api --help\nuv tool run fulcra-api auth login --get-auth-url\nuv tool run fulcra-api user-info"},{"language":"text","snippet":"https://mcp.fulcradynamics.com/mcp"},{"language":"bash","snippet":"uv tool run fulcra-api --help\nuv tool run fulcra-api auth login --get-auth-url\nuv tool run fulcra-api user-info"},{"language":"text","snippet":"https://mcp.fulcradynamics.com/mcp"},{"language":"bash","snippet":"uv tool run fulcra-api --help\nuv tool run fulcra-api auth login --get-auth-url\nuv tool run fulcra-api user-info"},{"language":"text","snippet":"https://mcp.fulcradynamics.com/mcp"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: fulcra-sleep-detective\ndescription: Retired Fulcra sleep-analysis skill. Route new work to fulcra-context and keep all sleep, biometric, calendar, and location reads explicit, bounded, and user-approved.\nhomepage: https://fulcradynamics.com\n---\n\n# Fulcra Sleep Detective\n\nThis skill is retired. Its earlier experimental scripts were merged into the broader Fulcra skill family and are no longer shipped here.\n\nUse `fulcra-context` for current sleep, biometric, activity, calendar, location, and metric-catalog reads. Use `fulcra-annotations` only when the user explicitly asks to record an event or create an annotation.\n\n## Current Routing\n\n- Sleep analysis, recovery context, readiness, and trends: use `fulcra-context`.\n- Writes, check-ins, ratings, notes, and annotation buttons: use `fulcra-annotations`.\n- Cross-agent coordination, handoffs, and team state: use `fulcra-agent-teams`.\n- Persistent agent memory workflows: use `fulcra-memory`.\n- Lightweight event tracking: use `fulcra-tracking`.\n\n## Privacy Boundary\n\nSleep and biometric data are sensitive personal context. Calendar and location data can identify people, places, routines, and private obligations. Before using any Fulcra data:\n\n1. Ask for consent unless the user has already granted it for the current request.\n2. Read only the smallest metric set and time window needed.\n3. Prefer summaries, trends, and aggregates over raw records.\n4. Do not retain, export, screenshot, publish, or forward Fulcra records without explicit approval for that exact destination.\n5. Do not run background monitoring, scheduled polling, proactive alerts, or persistent files from this retired skill.\n6. Use synthetic data for public examples, demos, tests, and documentation unless the user explicitly approves real data for that artifact.\n\n## Safe Setup\n\nFor new work, install or use `fulcra-context` and follow its current onboarding flow.\n\nCLI-first environments:\n\n```bash\nuv tool run fulcra-api --help\nuv tool run fulcra-api auth login --get-auth-url\nuv tool run fulcra-api user-info\n```\n\nRestricted environments:\n\n```text\nhttps://mcp.fulcradynamics.com/mcp\n```\n\nNever print, paste, log, or share access tokens, refresh tokens, credential files, raw private records, or direct capability URLs.\n\n## First Useful Flow\n\nWhen a user asks about sleep, do this with `fulcra-context`:\n\n1. Confirm the request and time window.\n2. Check whether Fulcra data is fresh enough for the question.\n3. Read only the needed sleep and recovery metrics.\n4. Add calendar, location, medication, supplement, nutrition, or activity context only if the user asked for that correlation or explicitly approves it.\n5. Answer with concise interpretation and uncertainty. Say when data is missing or stale.\n\n## Deprecated Commands\n\nThe old commands `sleep-theory`, `sleep-alert`, `sleep-context`, and `sleep-insights` are retired. Do not invoke or recreate them from this package. Use bounded `fulcra-context` reads instead.\n\n## Links\n\n- Fulcra Platform: <https:"},{"path":"README.md","content":"# Fulcra Sleep Detective\n\n**Status: retired.**\n\nThis repository used to package an experimental sleep-analysis skill. That work has been folded into the broader Fulcra skill family, especially `fulcra-context`. The old helper scripts and autonomous monitoring guidance have been removed so this package no longer encourages background collection or retention of sensitive health, calendar, or location data.\n\n## What to use instead\n\n- `fulcra-context` for user-consented sleep, biometric, activity, calendar, location, and metric-catalog reads.\n- `fulcra-annotations` for user-approved annotation writes.\n- `fulcra-agent-teams`, `fulcra-memory`, and `fulcra-tracking` for coordination, memory, and event-tracking workflows.\n\n## Privacy model\n\nSleep data is sensitive. Calendar and location data can reveal private routines and relationships. Agents using Fulcra should:\n\n1. Get consent for the current request.\n2. Read the smallest useful time window and metric set.\n3. Prefer summaries and trends over raw records.\n4. Avoid background polling, proactive alerts, exported files, screenshots, public examples, or durable storage unless the user explicitly approves that exact workflow.\n5. Use synthetic data for public demos and documentation by default.\n\n## Safe setup\n\nFollow the current `fulcra-context` onboarding path.\n\nCLI-first environments:\n\n```bash\nuv tool run fulcra-api --help\nuv tool run fulcra-api auth login --get-auth-url\nuv tool run fulcra-api user-info\n```\n\nRestricted environments:\n\n```text\nhttps://mcp.fulcradynamics.com/mcp\n```\n\nNever print, paste, log, or share access tokens, refresh tokens, credential files, raw private records, or direct capability URLs.\n\n## License\n\nMIT License - Copyright 2026 Arc"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7bjcdhk2dyk0wc92njxshp9d80939t\",\n  \"slug\": \"fulcra-sleep-detective\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1783196177252\n}"},{"path":"skill-card.md","content":"## Description:\n\nRetired Fulcra sleep-analysis skill. Route new work to fulcra-context and keep all sleep, biometric, calendar, and location reads explicit, bounded, and user-approved.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[arc-claw-bot](https://clawhub.ai/user/arc-claw-bot)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nAgents and developers use this retired routing skill to redirect sleep-analysis requests to current Fulcra skills while preserving consent, scope, and privacy boundaries for sensitive sleep, biometric, calendar, and location data.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The setup guidance invokes an unpinned external Fulcra CLI during authentication.\n\nMitigation: Review the Fulcra CLI provenance first, prefer a pinned and reviewed fulcra-api version from a trusted registry, and start authentication only after the executable source and version are verified.\n\nRisk: Sleep, biometric, calendar, and location data can expose sensitive personal routines and relationships.\n\nMitigation: Require current-request consent, read only the smallest useful metric set and time window, prefer summaries over raw records, and avoid retention, export, screenshots, publication, or forwarding unless the user approves that exact destination.\n\nRisk: Retired sleep-analysis commands or background monitoring behavior could be recreated from prior workflows.\n\nMitigation: Use bounded fulcra-context reads for new work, do not invoke retired commands, and do not run scheduled polling, proactive alerts, or persistent files from this package.\n\n## Reference(s):\n\n- [Fulcra Platform](https://fulcradynamics.com)\n- [Fulcra Developer Docs](https://fulcradynamics.github.io/developer-docs/)\n- [Current Context Skill](https://clawhub.ai/arc-claw-bot/skills/fulcra-context)\n- [Annotation Skill](https://clawhub.ai/arc-claw-bot/skills/fulcra-annotations)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, shell commands, configuration]\n\n**Output Format:** [Markdown guidance with inline shell command and configuration blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [No files or autonomous monitoring behavior are produced by this retired routing skill.]\n\n## Skill Version(s):\n\n1.0.6 (source: ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"LICENSE","content":"MIT License\n\nCopyright (c) 2026 Arc (arc-claw-bot)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1632,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T05:07:01.236Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T05:07:01.236Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T07:42:46.797Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}