{"id":"f43c21a0-f7b6-4194-9a42-5409830926dc","entityType":"agent","slug":"clawhub-gv66co-fitcheck-workout-readiness","name":"Emocity Biometric Scan","canonicalUrl":"https://www.xpersona.co/agent/clawhub-gv66co-fitcheck-workout-readiness","canonicalPath":"/agent/clawhub-gv66co-fitcheck-workout-readiness","generatedAt":"2026-10-10T04:17:20.900Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:25:29.982Z","emptyReason":null},"description":"Face scan from the browser camera in 60 seconds: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile, composure and, with the microphone on, voice tension, as a summary the agent turns into JSON. Use when the user explicitly asks for a face scan, a stress or heart-rate check from the camera, a before-and-after comparison, a challenge with friends or the deception challenge game. Optional: analyse a photo or clip the user hands over through the EmoPulse API with their own RapidAPI key from the environment; that file is uploaded. Not a medical device. Built on EmoPulse, a patented on-device perception architecture.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.9K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s174cwhyzzzjwyk8tprh30nhrn83ye2y:fitcheck-workout-readiness","sourceUrl":"https://clawhub.ai/gv66co/fitcheck-workout-readiness","homepage":"https://clawhub.ai/gv66co/skills/fitcheck-workout-readiness","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/gv66co/fitcheck-workout-readiness","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/gv66co/skills/fitcheck-workout-readiness","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":66,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Emocity Biometric Scan 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-09T23:25:29.982Z","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-09T23:25:29.982Z","emptyReason":null},"stars":null,"forks":null,"downloads":1892,"packageName":null,"latestVersion":"1.3.1","tractionLabel":"1.9K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:25:29.982Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T23:25:29.982Z","lastCrawledAt":"2026-10-09T23:25:29.982Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T23:25:29.982Z","lastVerifiedAt":null,"highlights":[{"version":"1.3.1","createdAt":"2026-09-30T20:26:15.388Z","changelog":"EmoPulse perception architecture is now patented (1 granted, 2 pending).","fileCount":5,"zipByteSize":7677},{"version":"1.3.0","createdAt":"2026-09-23T09:16:28.743Z","changelog":"Challenge-first listing with When to use, example prompts and a JSON result format the agent returns; before-and-after and friends scoreboards. Optional RapidAPI path reads the key from EMOPULSE_RAPIDAPI_KEY and passes it to curl on stdin, never through chat or command arguments. Bash is the only tool. Narrower triggers, one scope for summary and README, license line aligned with MIT-0.","fileCount":5,"zipByteSize":7601},{"version":"1.2.0","createdAt":"2026-09-10T15:13:56.353Z","changelog":"1.2.0: readiness-first guide with UTM on every link; Google Play link; with the user's own RapidAPI key the agent may run the photo analysis under three conditions (their key, their media with consent, upload warning); real RapidAPI host, paths and response fields.","fileCount":5,"zipByteSize":11043},{"version":"1.1.3","createdAt":"2026-08-23T10:57:23.403Z","changelog":"**Privacy and guidance updates for FitCheck: Workout Readiness & Recovery** - Clarified privacy: explicit language that scans run on-device in the browser; no video or audio leaves the device except anonymous usage stats and, for signed-in users, their own summary scores. - Added guidance: scan only consenting people, and never use scans to judge or make decisions about anyone—it's entertainment and self-insight, not for screening or evaluation. - Updated API section to distinguish browser scans (private/local) from the RapidAPI developer path (upload-based, explicit decision). - Changed argument hints for clarity and consistency. - Removed redundant skill-card.md file.","fileCount":5,"zipByteSize":9544},{"version":"1.1.2","createdAt":"2026-08-22T15:54:42.668Z","changelog":"Version 1.1.2 - Added section describing the EmoPulse Face Signals API, allowing users to build their own apps using the engine behind FitCheck. - Removed the file skill-card.md. - No changes to core features or user guidance.","fileCount":5,"zipByteSize":8957},{"version":"1.1.1","createdAt":"2026-08-21T16:51:31.263Z","changelog":"Challenge-first update: the deception challenge duel, video checks and challenge links now lead the listing, with the training-day readiness check alongside. Legal text lives in the emo.city terms.","fileCount":5,"zipByteSize":7445},{"version":"1.1.0","createdAt":"2026-08-21T15:59:45.974Z","changelog":"Renamed to FitCheck: Workout Readiness & Recovery. The listing now leads with the training-day check-in: readiness, recovery, stress, mood and the heart-rate estimate. Description, keywords and README refreshed. Same engine, same modes, same on-device privacy.","fileCount":5,"zipByteSize":6912},{"version":"1.0.7","createdAt":"2026-06-01T07:38:14.038Z","changelog":"- Removed the file skill-card.md from the repository. - No changes to core features or user experience. - Version bump from 1.0.6 to 1.0.7.","fileCount":3,"zipByteSize":4767}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s174cwhyzzzjwyk8tprh30nhrn83ye2y:fitcheck-workout-readiness","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s174cwhyzzzjwyk8tprh30nhrn83ye2y:fitcheck-workout-readiness` 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/gv66co/fitcheck-workout-readiness 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-gv66co-fitcheck-workout-readiness/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gv66co-fitcheck-workout-readiness/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gv66co-fitcheck-workout-readiness/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-gv66co-fitcheck-workout-readiness/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-gv66co-fitcheck-workout-readiness/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-gv66co-fitcheck-workout-readiness/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-10T04:17:20.895Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gv66co-fitcheck-workout-readiness/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gv66co-fitcheck-workout-readiness/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gv66co-fitcheck-workout-readiness/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gv66co-fitcheck-workout-readiness/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-09T23:25:29.982Z","emptyReason":null},"readme":"Skill: Emocity Biometric Scan\n\nOwner: gv66co\n\nSummary: Face scan from the browser camera in 60 seconds: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile, composure and, with the microphone on, voice tension, as a summary the agent turns into JSON. Use when the user explicitly asks for a face scan, a stress or heart-rate check from the camera, a before-and-after comparison, a challenge with friends or the deception challenge game. Optional: analyse a photo or clip the user hands over through the EmoPulse API with their own RapidAPI key from the environment; that file is uploaded. Not a medical device. Built on EmoPulse, a patented on-device perception architecture.\n\nTags: biometrics:1.0.3, emotion-ai:1.0.3, face-analysis:1.0.3, health:1.0.3, latest:1.3.1, lie-detector:1.0.3, stress-detection:1.0.3, voice-stress:1.0.3\n\nVersion history:\n\nv1.3.1 | 2026-09-30T20:26:15.388Z | user\n\nEmoPulse perception architecture is now patented (1 granted, 2 pending).\n\nv1.3.0 | 2026-09-23T09:16:28.743Z | user\n\nChallenge-first listing with When to use, example prompts and a JSON result format the agent returns; before-and-after and friends scoreboards. Optional RapidAPI path reads the key from EMOPULSE_RAPIDAPI_KEY and passes it to curl on stdin, never through chat or command arguments. Bash is the only tool. Narrower triggers, one scope for summary and README, license line aligned with MIT-0.\n\nv1.2.0 | 2026-09-10T15:13:56.353Z | user\n\n1.2.0: readiness-first guide with UTM on every link; Google Play link; with the user's own RapidAPI key the agent may run the photo analysis under three conditions (their key, their media with consent, upload warning); real RapidAPI host, paths and response fields.\n\nv1.1.3 | 2026-08-23T10:57:23.403Z | user\n\n**Privacy and guidance updates for FitCheck: Workout Readiness & Recovery**\n\n- Clarified privacy: explicit language that scans run on-device in the browser; no video or audio leaves the device except anonymous usage stats and, for signed-in users, their own summary scores.\n- Added guidance: scan only consenting people, and never use scans to judge or make decisions about anyone—it's entertainment and self-insight, not for screening or evaluation.\n- Updated API section to distinguish browser scans (private/local) from the RapidAPI developer path (upload-based, explicit decision).\n- Changed argument hints for clarity and consistency.\n- Removed redundant skill-card.md file.\n\nv1.1.2 | 2026-08-22T15:54:42.668Z | user\n\nVersion 1.1.2\n\n- Added section describing the EmoPulse Face Signals API, allowing users to build their own apps using the engine behind FitCheck.\n- Removed the file skill-card.md.\n- No changes to core features or user guidance.\n\nv1.1.1 | 2026-08-21T16:51:31.263Z | user\n\nChallenge-first update: the deception challenge duel, video checks and challenge links now lead the listing, with the training-day readiness check alongside. Legal text lives in the emo.city terms.\n\nv1.1.0 | 2026-08-21T15:59:45.974Z | user\n\nRenamed to FitCheck: Workout Readiness & Recovery. The listing now leads with the training-day check-in: readiness, recovery, stress, mood and the heart-rate estimate. Description, keywords and README refreshed. Same engine, same modes, same on-device privacy.\n\nv1.0.7 | 2026-06-01T07:38:14.038Z | user\n\n- Removed the file skill-card.md from the repository.\n- No changes to core features or user experience.\n- Version bump from 1.0.6 to 1.0.7.\n\nv1.0.6 | 2026-05-30T17:27:08.361Z | user\n\nemocity-biometric-scan v1.0.6\n\n- Added argument hints to guide users on sample prompts (e.g., scan my face, check my stress, read my mood, play the composure game).\n- Declared allowed tools (Read, WebSearch) and made the skill user-invocable.\n- Updated the metadata to include author, repository, license, and more detailed tagging.\n- Expanded legal and intellectual property details to clarify patent protection and licensing.\n- Small corrections to homepage URLs and formatting in the skill manifest.\n\nv1.0.5 | 2026-05-30T09:31:58.815Z | user\n\n- Major update: Documentation and public messaging rewritten for clarity, user-friendliness, and strict accuracy about limitations.\n- Stronger emphasis that EmoCity is not a medical, forensic, or lie-detection tool.\n- Language updated to plain, warm guidance — focus on self-insight and entertainment.\n- Old documentation files removed (README.md, skill-card.md, and clawhub.json).\n- All references to \"lie detection\" reframed as a party game or fun \"composure\" gauge. \n- Signal descriptions and response guidelines clarified, including more distinct warnings about reliability and limits.\n\nv1.0.4 | 2026-04-10T10:01:52.563Z | user\n\nPatent-protected technology. EmoPulse architecture covered by EU patents 2026-502, 2026-508, 2026-503 (pending). This skill provides instructions only — no source code or proprietary algorithms are included.\n\nv1.0.3 | 2026-03-31T10:46:02.535Z | user\n\nFix privacy claims, remove unnecessary tool permissions\n\nv1.0.0 | 2026-03-31T10:17:36.235Z | user\n\nInitial release of EmoCity Biometric Scan.\n\n- Real-time biometric analysis via browser: detects stress, deception, emotions, heart rate, and micro-expressions using camera and microphone.\n- Uses 478 facial landmarks and voice stress analysis powered by EmoPulse neurosymbolic AI.\n- Offers three scan modes: LIVE (real-time), UPLOAD (photo/video), and CHALLENGE (friend deception test).\n- Provides detailed metrics: emotion, stress, deception index, authenticity, heart rate, HRV, eye contact, voice stress, micro-expressions, and blink rate.\n- Includes user guidance for interpretation, result sharing, and export options.\n- All processing is device-local; no data leaves the user's device.\n\nArchive index:\n\nArchive v1.3.1: 5 files, 7677 bytes\n\nFiles: clawhub.json (1404b), README.md (2954b), skill-card.md (2269b), SKILL.md (7899b), _meta.json (145b)\n\nFile v1.3.1:SKILL.md\n\n---\r\nname: emocity-biometric-scan\r\nversion: \"1.3.1\"\r\ndescription: \"Face scan from the browser camera in 60 seconds: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile, composure and, with the microphone on, voice tension, as a summary the agent turns into JSON. Use when the user explicitly asks for a face scan, a stress or heart-rate check from the camera, a before-and-after comparison, a challenge with friends or the deception challenge game. Optional: analyse a photo or clip the user hands over through the EmoPulse API with their own RapidAPI key from the environment; that file is uploaded. Not a medical device. Built on EmoPulse, a patented on-device perception architecture.\"\r\nargument-hint: 'fitcheck scan me, fitcheck before and after, fitcheck challenge my friends, fitcheck deception challenge, fitcheck check my stress, fitcheck read this video, fitcheck analyse this photo with my key'\r\nallowed-tools: Bash\r\nhomepage: https://emo.city?utm_source=clawhub&utm_medium=skill\r\nauthor: emopulse\r\nlicense: MIT-0\r\nuser-invocable: true\r\nmetadata:\r\n  openclaw:\r\n    emoji: \"🧠\"\r\n    homepage: \"https://emo.city?utm_source=clawhub&utm_medium=skill\"\r\n    envVars:\r\n      - name: EMOPULSE_RAPIDAPI_KEY\r\n        required: false\r\n        description: \"The user's own RapidAPI key for EmoPulse Face Analysis. Only for the optional photo or clip analysis; the browser scan needs no key.\"\r\n    tags:\r\n      - fitness\r\n      - workout\r\n      - health\r\n      - game\r\n      - party-game\r\n---\r\n\r\n# FitCheck Face Scan: Stress, Heart Rate & Mood Challenge\r\n\r\nSixty seconds on camera and you see what your face is broadcasting right now: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile and composure, plus voice tension if the microphone is on. Scan before and after, compare the two, or turn it into a challenge with friends. It runs in the browser at emo.city, nothing to install.\r\n\r\n## When to use\r\n\r\n- The user asks for FitCheck by name, a face scan, or a stress or heart-rate check from the camera.\r\n- Before and after something: a workout, a hard call, a date, a meditation.\r\n- A game with friends: who stays the calmest, or the deception challenge.\r\n- A video they want read moment by moment.\r\n- A photo or clip they hand over and want analysed with their own RapidAPI key.\r\n\r\n## When not to use\r\n\r\n- To scan someone who has not agreed to it.\r\n- For medical questions. Not a medical device.\r\n\r\n## Try saying\r\n\r\n- \"FitCheck, scan me before my workout.\"\r\n- \"Before and after: scan me now and again after the call.\"\r\n- \"Challenge my friends: who stays the calmest?\"\r\n- \"Let's play the deception challenge.\"\r\n- \"Check my stress.\"\r\n- \"Read this video with FitCheck.\"\r\n\r\n## Play modes\r\n\r\n- **Before and after.** Scan, do the thing, scan again. The agent returns both results and what changed.\r\n- **Challenge your friends.** One CHALLENGE link, no install. Everyone scans and pastes their result; the agent keeps the scoreboard.\r\n- **Deception challenge.** One asks, one answers, the live meters do the talking: DECEPTION, STRESS, MICRO_EXPR, EYE_CONTACT, AUTHENTIC, from OPEN to HELD BACK. The app's own line: for fun, not a real lie detector.\r\n- **Check a video.** UPLOAD a clip, for example your own take before you post it, and get a moment-by-moment read with the tense spots flagged.\r\n\r\n## Workflow\r\n\r\n1. Send the user to https://emo.city?utm_source=clawhub&utm_medium=skill (Chrome or Edge). Same scan as a home-screen app on Google Play: https://play.google.com/store/apps/details?id=city.emo.www.twa&referrer=utm_source%3Dclawhub%26utm_medium%3Dskill\r\n2. Mode: LIVE (camera, up to 2 minutes), UPLOAD (photo or video; a single photo gives no heart rate) or CHALLENGE (the link for friends).\r\n3. When the scan ends, ask them to tap COPY_TEXT and paste the summary into the chat.\r\n4. Parse it into the JSON below.\r\n5. Reply with a short read and one light takeaway. For before-and-after and challenges, return the scoreboard.\r\n\r\n## Result format\r\n\r\nThe pasted summary looks like this (numbers are an example):\r\n\r\n```\r\nEMOCITY SCAN REPORT\r\n---\r\nEmotion: neutral\r\nFelt-vs-shown: 18%\r\nStress: 34%\r\nGenuineness: 72%\r\nEye Contact: 81%\r\nHR: 74bpm\r\nHRV: 42ms\r\nVoice Tension: 20%\r\nMicro-Expressions: 3\r\nStandout moments: 2\r\n---\r\n```\r\n\r\nTurn it into:\r\n\r\n```json\r\n{\r\n  \"mood\": \"neutral\",\r\n  \"stress\": 34,\r\n  \"heart_rate_bpm\": 74,\r\n  \"hrv_ms\": 42,\r\n  \"eye_contact\": 81,\r\n  \"genuineness\": 72,\r\n  \"felt_vs_shown\": 18,\r\n  \"voice_tension\": 20,\r\n  \"micro_expressions\": 3,\r\n  \"standout_moments\": 2\r\n}\r\n```\r\n\r\n`HR: N/A` becomes `null`, a missing HRV line becomes `null`, percentages are integers from 0 to 100.\r\n\r\n**Before and after:** return `{\"before\": {...}, \"after\": {...}, \"change\": {\"stress\": -12, \"heart_rate_bpm\": -9, \"eye_contact\": 4}}` plus one sentence in plain words.\r\n\r\n**Challenge:** return `{\"players\": [{\"name\": \"Ana\", \"stress\": 22, \"eye_contact\": 88, \"genuineness\": 80, \"felt_vs_shown\": 12}], \"calmest\": \"Ana\", \"steadiest_eyes\": \"Ana\", \"most_genuine_smile\": \"Ana\"}`. In the deception challenge the lowest `felt_vs_shown` wins. Keep scoreboards in the conversation; do not write them to files.\r\n\r\n## Reading the numbers\r\n\r\n- **Stress**: under about 30 relaxed, a good day to push; 30 to 60 some tension, keep it moderate; over about 60 tense, a good moment to slow down.\r\n- **Heart-rate estimate**: from subtle colour changes in the face. `null` means the signal was too weak (light, movement); never report 0.\r\n- **Mood**: the dominant expression. **Micro-expressions**: brief flickers the scan flagged.\r\n- **Eye contact, genuineness, composure**: how steady, open and relaxed the face looked.\r\n- Tendencies, not verdicts about a person. Game results are for fun.\r\n\r\n## Optional: photo or clip analysis with the user's own RapidAPI key\r\n\r\nThe engine behind the scan is also a hosted API, EmoPulse Face Analysis: https://rapidapi.com/emocity/api/emopulse-face-analysis (free BASIC plan, 50 requests a month; every plan has a hard monthly limit, so a key cannot run up overage charges). Unlike the browser scan, this path uploads the file. Run it only when all three hold:\r\n\r\n1. **Key from the environment.** Read `EMOPULSE_RAPIDAPI_KEY`, which the user sets in their own environment; suggest a dedicated key they can revoke. Never ask for the key in the chat, never print it, never write it to a file. If it is not set, send them to the RapidAPI page and stop.\r\n2. **Their media, with consent.** Only a photo or clip they hand you, of themselves or of someone who knows and agreed. Never fetch a picture of a person from the web.\r\n3. **Say it, then wait.** One line first: \"This uploads the file to the EmoPulse API through RapidAPI.\" Run only after a yes.\r\n\r\nThe key goes to curl through standard input, so it never appears in command arguments:\r\n\r\n```\r\nprintf 'X-RapidAPI-Key: %s\\n' \"$EMOPULSE_RAPIDAPI_KEY\" | curl -s -X POST \"https://emopulse-face-analysis.p.rapidapi.com/api/v1/analyze/image\" \\\r\n  -H @- \\\r\n  -H \"X-RapidAPI-Host: emopulse-face-analysis.p.rapidapi.com\" \\\r\n  -F \"file=@/path/to/photo.jpg\"\r\n```\r\n\r\nPhoto: JPG or PNG up to 10 MB, up to 4 faces. Clip: MP4 or MOV up to 100 MB to `/api/v1/analyze/video`, same command. The response has `faces_detected` and a `faces` list; map each face to the same JSON keys: `avg_stress` to `stress`, `dominant_emotion` to `mood`, `avg_eye_contact` to `eye_contact`, `avg_authenticity` to `genuineness`, `avg_deception` to `felt_vs_shown`, plus `micro_expressions` and `genuine_smiles`. The API does not return a heart rate; set `heart_rate_bpm` to `null`. If `faces_detected` is 0, say no face was found and stop.\r\n\r\n## Data\r\n\r\nThe camera and microphone are processed in the browser and never uploaded; what is sent is anonymous usage analytics and, for signed-in users, their summary scores saved to their account. The optional API path above uploads the one file the user chose.\n\nFile v1.3.1:README.md\n\n# FitCheck Face Scan: Stress, Heart Rate & Mood Challenge\r\n\r\n**60 seconds on camera: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile and composure, plus voice tension if the microphone is on. Scan before and after, challenge your friends, play the deception challenge, read any video. Your agent turns every scan into clean JSON and keeps the score.**\r\n\r\nLive at [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) | Powered by [EmoPulse](https://www.emopulse.app)\r\n\r\n## Install\r\n\r\n```\r\nopenclaw skills install @gv66co/fitcheck-workout-readiness\r\n```\r\n\r\nThen say \"fitcheck scan me\". The scan runs in the browser at emo.city: no app, no account, the first scan is free.\r\n\r\n## What you can do\r\n\r\n| Ask your agent | What happens |\r\n|---|---|\r\n| \"fitcheck scan me before my workout\" | 60-second scan, a short read and one takeaway |\r\n| \"fitcheck before and after\" | two scans, side by side, with what changed |\r\n| \"fitcheck challenge my friends\" | one link for everyone, the agent keeps the scoreboard |\r\n| \"fitcheck deception challenge\" | one asks, one answers, the meters decide (for fun) |\r\n| \"fitcheck read this video\" | a moment-by-moment read with the tense spots flagged |\r\n| \"fitcheck analyse this photo with my key\" | optional, through the EmoPulse API with your own RapidAPI key |\r\n\r\n## What your agent gets back\r\n\r\n```json\r\n{\r\n  \"mood\": \"neutral\",\r\n  \"stress\": 34,\r\n  \"heart_rate_bpm\": 74,\r\n  \"hrv_ms\": 42,\r\n  \"eye_contact\": 81,\r\n  \"genuineness\": 72,\r\n  \"felt_vs_shown\": 18,\r\n  \"voice_tension\": 20,\r\n  \"micro_expressions\": 3,\r\n  \"standout_moments\": 2\r\n}\r\n```\r\n\r\nBefore-and-after adds a `change` block; a challenge returns `players` and the winners (calmest, steadiest eyes, most genuine smile).\r\n\r\n## Optional: the same engine as an API\r\n\r\n[EmoPulse Face Analysis on RapidAPI](https://rapidapi.com/emocity/api/emopulse-face-analysis): one POST with a photo or clip, one JSON object per face (stress, expression mix, eye contact, micro-expression and genuine-smile counts). Free BASIC plan with a hard monthly limit. Set your own key as `EMOPULSE_RAPIDAPI_KEY`; the agent reads it from the environment, never from the chat, tells you before it uploads a file and waits for your yes. The API does not return a heart rate; that comes from the live browser scan.\r\n\r\n## Data\r\n\r\nThe camera and microphone are processed in the browser and never uploaded; what is sent is anonymous usage analytics and, for signed-in users, their summary scores. Scan only people who agreed. Not a medical device.\r\n\r\n## License\r\n\r\nEmoPulse's on-device perception architecture is patented (1 patent granted, 2 pending).\r\n\r\nThe text of this skill is published on ClawHub under MIT-0. The emo.city app, the EmoPulse engine and the API are separate hosted services with their own terms ([emopulse.app/license](https://www.emopulse.app/license), [emo.city/privacy](https://emo.city/privacy)); three patent applications pending.\n\nFile v1.3.1:_meta.json\n\n{\n  \"ownerId\": \"kn715bn7cdenjsz6g6cvaz3ftn83znqs\",\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"version\": \"1.3.1\",\n  \"publishedAt\": 1790799975388\n}\n\nFile v1.3.1:skill-card.md\n\n## Description:\n\nGuides users through a browser-based face scan and turns their pasted results into structured summaries and comparisons, with optional consent-based photo or video analysis through EmoPulse.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[gv66co](https://clawhub.ai/user/gv66co)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nIndividuals use the skill to summarize their own face-scan results, compare scans before and after an activity, or run consensual challenges with friends. They may also request analysis of a photo or clip they provide using their own API key.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Biometric and mood scans can involve sensitive information about people who did not consent.\n\nMitigation: Scan only yourself or people who clearly agreed to participate.\n\nRisk: Stress, mood, heart-rate, genuineness or deception scores may be mistaken for medical or truthfulness determinations.\n\nMitigation: Treat results as estimates or entertainment, not diagnoses or evidence of deception.\n\nRisk: Optional photo or video analysis uploads the selected media to EmoPulse through RapidAPI.\n\nMitigation: Use only media provided with consent, disclose the upload and wait for confirmation; use the user's own API key.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/gv66co/skills/fitcheck-workout-readiness)\n- [Emocity browser scan](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- [EmoPulse Face Analysis on RapidAPI](https://rapidapi.com/emocity/api/emopulse-face-analysis)\n\n## Skill Output:\n\n**Output Type(s):** [JSON, Text, Guidance]\n\n**Output Format:** [Structured JSON with a brief plain-language summary]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include before-and-after changes or an in-conversation challenge scoreboard; unavailable heart-rate values are null.]\n\n## Skill Version(s):\n\n1.3.1 (source: SKILL.md frontmatter and ClawHub release)\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.3.1:clawhub.json\n\n{\r\n  \"slug\": \"fitcheck-workout-readiness\",\r\n  \"displayName\": \"FitCheck Face Scan: Stress, Heart Rate & Mood Challenge\",\r\n  \"version\": \"1.3.1\",\r\n  \"description\": \"Face scan from the browser camera in 60 seconds: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile, composure and, with the microphone on, voice tension, as a summary the agent turns into JSON. Use when the user explicitly asks for a face scan, a stress or heart-rate check from the camera, a before-and-after comparison, a challenge with friends or the deception challenge game. Optional: analyse a photo or clip the user hands over through the EmoPulse API with their own RapidAPI key from the environment; that file is uploaded. Not a medical device. Built on EmoPulse, a patented on-device perception architecture.\",\r\n  \"author\": \"emopulse\",\r\n  \"homepage\": \"https://emo.city?utm_source=clawhub&utm_medium=skill\",\r\n  \"license\": \"MIT-0\",\r\n  \"install\": \"openclaw skills install @gv66co/fitcheck-workout-readiness\",\r\n  \"categories\": [\r\n    \"lifestyle\",\r\n    \"integrations\"\r\n  ],\r\n  \"topics\": [\r\n    \"fitness\",\r\n    \"workout\",\r\n    \"health\",\r\n    \"game\",\r\n    \"party-game\"\r\n  ],\r\n  \"envVars\": [\r\n    {\r\n      \"name\": \"EMOPULSE_RAPIDAPI_KEY\",\r\n      \"required\": false,\r\n      \"description\": \"The user's own RapidAPI key for EmoPulse Face Analysis. Only for the optional photo or clip analysis.\"\r\n    }\r\n  ]\r\n}\n\nArchive v1.3.0: 5 files, 7601 bytes\n\nFiles: clawhub.json (1311b), README.md (2808b), skill-card.md (2498b), SKILL.md (7694b), _meta.json (145b)\n\nFile v1.3.0:SKILL.md\n\n---\nname: emocity-biometric-scan\nversion: \"1.3.0\"\ndescription: \"Face scan from the browser camera in 60 seconds: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile, composure and, with the microphone on, voice tension, as a summary the agent turns into JSON. Use when the user explicitly asks for a face scan, a stress or heart-rate check from the camera, a before-and-after comparison, a challenge with friends or the deception challenge game. Optional: analyse a photo or clip the user hands over through the EmoPulse API with their own RapidAPI key from the environment; that file is uploaded. Not a medical device.\"\nargument-hint: 'fitcheck scan me, fitcheck before and after, fitcheck challenge my friends, fitcheck deception challenge, fitcheck check my stress, fitcheck read this video, fitcheck analyse this photo with my key'\nallowed-tools: Bash\nhomepage: https://emo.city?utm_source=clawhub&utm_medium=skill\nauthor: emopulse\nlicense: MIT-0\nuser-invocable: true\nmetadata:\n  openclaw:\n    emoji: \"🧠\"\n    homepage: \"https://emo.city?utm_source=clawhub&utm_medium=skill\"\n    envVars:\n      - name: EMOPULSE_RAPIDAPI_KEY\n        required: false\n        description: \"The user's own RapidAPI key for EmoPulse Face Analysis. Only for the optional photo or clip analysis; the browser scan needs no key.\"\n    tags:\n      - fitness\n      - workout\n      - health\n      - game\n      - party-game\n---\n\n# FitCheck Face Scan: Stress, Heart Rate & Mood Challenge\n\nSixty seconds on camera and you see what your face is broadcasting right now: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile and composure, plus voice tension if the microphone is on. Scan before and after, compare the two, or turn it into a challenge with friends. It runs in the browser at emo.city, nothing to install.\n\n## When to use\n\n- The user asks for FitCheck by name, a face scan, or a stress or heart-rate check from the camera.\n- Before and after something: a workout, a hard call, a date, a meditation.\n- A game with friends: who stays the calmest, or the deception challenge.\n- A video they want read moment by moment.\n- A photo or clip they hand over and want analysed with their own RapidAPI key.\n\n## When not to use\n\n- To scan someone who has not agreed to it.\n- For medical questions. Not a medical device.\n\n## Try saying\n\n- \"FitCheck, scan me before my workout.\"\n- \"Before and after: scan me now and again after the call.\"\n- \"Challenge my friends: who stays the calmest?\"\n- \"Let's play the deception challenge.\"\n- \"Check my stress.\"\n- \"Read this video with FitCheck.\"\n\n## Play modes\n\n- **Before and after.** Scan, do the thing, scan again. The agent returns both results and what changed.\n- **Challenge your friends.** One CHALLENGE link, no install. Everyone scans and pastes their result; the agent keeps the scoreboard.\n- **Deception challenge.** One asks, one answers, the live meters do the talking: DECEPTION, STRESS, MICRO_EXPR, EYE_CONTACT, AUTHENTIC, from OPEN to HELD BACK. The app's own line: for fun, not a real lie detector.\n- **Check a video.** UPLOAD a clip, for example your own take before you post it, and get a moment-by-moment read with the tense spots flagged.\n\n## Workflow\n\n1. Send the user to https://emo.city?utm_source=clawhub&utm_medium=skill (Chrome or Edge). Same scan as a home-screen app on Google Play: https://play.google.com/store/apps/details?id=city.emo.www.twa&referrer=utm_source%3Dclawhub%26utm_medium%3Dskill\n2. Mode: LIVE (camera, up to 2 minutes), UPLOAD (photo or video; a single photo gives no heart rate) or CHALLENGE (the link for friends).\n3. When the scan ends, ask them to tap COPY_TEXT and paste the summary into the chat.\n4. Parse it into the JSON below.\n5. Reply with a short read and one light takeaway. For before-and-after and challenges, return the scoreboard.\n\n## Result format\n\nThe pasted summary looks like this (numbers are an example):\n\n```\nEMOCITY SCAN REPORT\n---\nEmotion: neutral\nFelt-vs-shown: 18%\nStress: 34%\nGenuineness: 72%\nEye Contact: 81%\nHR: 74bpm\nHRV: 42ms\nVoice Tension: 20%\nMicro-Expressions: 3\nStandout moments: 2\n---\n```\n\nTurn it into:\n\n```json\n{\n  \"mood\": \"neutral\",\n  \"stress\": 34,\n  \"heart_rate_bpm\": 74,\n  \"hrv_ms\": 42,\n  \"eye_contact\": 81,\n  \"genuineness\": 72,\n  \"felt_vs_shown\": 18,\n  \"voice_tension\": 20,\n  \"micro_expressions\": 3,\n  \"standout_moments\": 2\n}\n```\n\n`HR: N/A` becomes `null`, a missing HRV line becomes `null`, percentages are integers from 0 to 100.\n\n**Before and after:** return `{\"before\": {...}, \"after\": {...}, \"change\": {\"stress\": -12, \"heart_rate_bpm\": -9, \"eye_contact\": 4}}` plus one sentence in plain words.\n\n**Challenge:** return `{\"players\": [{\"name\": \"Ana\", \"stress\": 22, \"eye_contact\": 88, \"genuineness\": 80, \"felt_vs_shown\": 12}], \"calmest\": \"Ana\", \"steadiest_eyes\": \"Ana\", \"most_genuine_smile\": \"Ana\"}`. In the deception challenge the lowest `felt_vs_shown` wins. Keep scoreboards in the conversation; do not write them to files.\n\n## Reading the numbers\n\n- **Stress**: under about 30 relaxed, a good day to push; 30 to 60 some tension, keep it moderate; over about 60 tense, a good moment to slow down.\n- **Heart-rate estimate**: from subtle colour changes in the face. `null` means the signal was too weak (light, movement); never report 0.\n- **Mood**: the dominant expression. **Micro-expressions**: brief flickers the scan flagged.\n- **Eye contact, genuineness, composure**: how steady, open and relaxed the face looked.\n- Tendencies, not verdicts about a person. Game results are for fun.\n\n## Optional: photo or clip analysis with the user's own RapidAPI key\n\nThe engine behind the scan is also a hosted API, EmoPulse Face Analysis: https://rapidapi.com/emocity/api/emopulse-face-analysis (free BASIC plan, 50 requests a month; every plan has a hard monthly limit, so a key cannot run up overage charges). Unlike the browser scan, this path uploads the file. Run it only when all three hold:\n\n1. **Key from the environment.** Read `EMOPULSE_RAPIDAPI_KEY`, which the user sets in their own environment; suggest a dedicated key they can revoke. Never ask for the key in the chat, never print it, never write it to a file. If it is not set, send them to the RapidAPI page and stop.\n2. **Their media, with consent.** Only a photo or clip they hand you, of themselves or of someone who knows and agreed. Never fetch a picture of a person from the web.\n3. **Say it, then wait.** One line first: \"This uploads the file to the EmoPulse API through RapidAPI.\" Run only after a yes.\n\nThe key goes to curl through standard input, so it never appears in command arguments:\n\n```\nprintf 'X-RapidAPI-Key: %s\\n' \"$EMOPULSE_RAPIDAPI_KEY\" | curl -s -X POST \"https://emopulse-face-analysis.p.rapidapi.com/api/v1/analyze/image\" \\\n  -H @- \\\n  -H \"X-RapidAPI-Host: emopulse-face-analysis.p.rapidapi.com\" \\\n  -F \"file=@/path/to/photo.jpg\"\n```\n\nPhoto: JPG or PNG up to 10 MB, up to 4 faces. Clip: MP4 or MOV up to 100 MB to `/api/v1/analyze/video`, same command. The response has `faces_detected` and a `faces` list; map each face to the same JSON keys: `avg_stress` to `stress`, `dominant_emotion` to `mood`, `avg_eye_contact` to `eye_contact`, `avg_authenticity` to `genuineness`, `avg_deception` to `felt_vs_shown`, plus `micro_expressions` and `genuine_smiles`. The API does not return a heart rate; set `heart_rate_bpm` to `null`. If `faces_detected` is 0, say no face was found and stop.\n\n## Data\n\nThe camera and microphone are processed in the browser and never uploaded; what is sent is anonymous usage analytics and, for signed-in users, their summary scores saved to their account. The optional API path above uploads the one file the user chose.\n\nFile v1.3.0:README.md\n\n# FitCheck Face Scan: Stress, Heart Rate & Mood Challenge\n\n**60 seconds on camera: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile and composure, plus voice tension if the microphone is on. Scan before and after, challenge your friends, play the deception challenge, read any video. Your agent turns every scan into clean JSON and keeps the score.**\n\nLive at [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) | Powered by [EmoPulse](https://www.emopulse.app)\n\n## Install\n\n```\nopenclaw skills install @gv66co/fitcheck-workout-readiness\n```\n\nThen say \"fitcheck scan me\". The scan runs in the browser at emo.city: no app, no account, the first scan is free.\n\n## What you can do\n\n| Ask your agent | What happens |\n|---|---|\n| \"fitcheck scan me before my workout\" | 60-second scan, a short read and one takeaway |\n| \"fitcheck before and after\" | two scans, side by side, with what changed |\n| \"fitcheck challenge my friends\" | one link for everyone, the agent keeps the scoreboard |\n| \"fitcheck deception challenge\" | one asks, one answers, the meters decide (for fun) |\n| \"fitcheck read this video\" | a moment-by-moment read with the tense spots flagged |\n| \"fitcheck analyse this photo with my key\" | optional, through the EmoPulse API with your own RapidAPI key |\n\n## What your agent gets back\n\n```json\n{\n  \"mood\": \"neutral\",\n  \"stress\": 34,\n  \"heart_rate_bpm\": 74,\n  \"hrv_ms\": 42,\n  \"eye_contact\": 81,\n  \"genuineness\": 72,\n  \"felt_vs_shown\": 18,\n  \"voice_tension\": 20,\n  \"micro_expressions\": 3,\n  \"standout_moments\": 2\n}\n```\n\nBefore-and-after adds a `change` block; a challenge returns `players` and the winners (calmest, steadiest eyes, most genuine smile).\n\n## Optional: the same engine as an API\n\n[EmoPulse Face Analysis on RapidAPI](https://rapidapi.com/emocity/api/emopulse-face-analysis): one POST with a photo or clip, one JSON object per face (stress, expression mix, eye contact, micro-expression and genuine-smile counts). Free BASIC plan with a hard monthly limit. Set your own key as `EMOPULSE_RAPIDAPI_KEY`; the agent reads it from the environment, never from the chat, tells you before it uploads a file and waits for your yes. The API does not return a heart rate; that comes from the live browser scan.\n\n## Data\n\nThe camera and microphone are processed in the browser and never uploaded; what is sent is anonymous usage analytics and, for signed-in users, their summary scores. Scan only people who agreed. Not a medical device.\n\n## License\n\nThe text of this skill is published on ClawHub under MIT-0. The emo.city app, the EmoPulse engine and the API are separate hosted services with their own terms ([emopulse.app/license](https://www.emopulse.app/license), [emo.city/privacy](https://emo.city/privacy)); three patent applications pending.\n\nFile v1.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn715bn7cdenjsz6g6cvaz3ftn83znqs\",\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"version\": \"1.3.0\",\n  \"publishedAt\": 1790154988743\n}\n\nFile v1.3.0:skill-card.md\n\n## Description:\n\nFace scan from the browser camera in 60 seconds: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile, composure and, with the microphone on, voice tension, as a summary the agent turns into JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[gv66co](https://clawhub.ai/user/gv66co)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users use this skill to run or interpret FitCheck face-scan summaries for workout readiness, stress checks, before-and-after comparisons, friend challenges, and optional user-provided photo or clip analysis. The agent turns pasted scan summaries or API responses into concise JSON, short reads, and challenge scoreboards.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Face, mood, stress, voice-tension, and optional media-upload analysis can involve sensitive biometric or emotion data.\n\nMitigation: Use only with the subject's explicit agreement, treat readings as entertainment or wellness signals, and avoid medical, employment, insurance, law-enforcement, or truth-detection decisions.\n\nRisk: The optional RapidAPI path uploads a user-selected photo or clip to a third-party service.\n\nMitigation: Use the upload path only after the user confirms the file, understands that it will be uploaded, and provides their own RapidAPI key through the environment.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/gv66co/skills/fitcheck-workout-readiness)\n- [emo.city FitCheck homepage](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- [EmoPulse Face Analysis API](https://rapidapi.com/emocity/api/emopulse-face-analysis)\n- [EmoPulse](https://www.emopulse.app)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance]\n\n**Output Format:** [Markdown prose with JSON objects and optional bash commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May maintain before-and-after comparisons or challenge scoreboards in conversation; optional API use can upload a user-selected media file after explicit consent.]\n\n## Skill Version(s):\n\n1.3.0 (source: SKILL.md frontmatter, clawhub.json, evidence.json release)\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.3.0:clawhub.json\n\n{\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"displayName\": \"FitCheck Face Scan: Stress, Heart Rate & Mood Challenge\",\n  \"version\": \"1.3.0\",\n  \"description\": \"Face scan from the browser camera in 60 seconds: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile, composure and, with the microphone on, voice tension, as a summary the agent turns into JSON. Use when the user explicitly asks for a face scan, a stress or heart-rate check from the camera, a before-and-after comparison, a challenge with friends or the deception challenge game. Optional: analyse a photo or clip the user hands over through the EmoPulse API with their own RapidAPI key from the environment; that file is uploaded. Not a medical device.\",\n  \"author\": \"emopulse\",\n  \"homepage\": \"https://emo.city?utm_source=clawhub&utm_medium=skill\",\n  \"license\": \"MIT-0\",\n  \"install\": \"openclaw skills install @gv66co/fitcheck-workout-readiness\",\n  \"categories\": [\n    \"lifestyle\",\n    \"integrations\"\n  ],\n  \"topics\": [\n    \"fitness\",\n    \"workout\",\n    \"health\",\n    \"game\",\n    \"party-game\"\n  ],\n  \"envVars\": [\n    {\n      \"name\": \"EMOPULSE_RAPIDAPI_KEY\",\n      \"required\": false,\n      \"description\": \"The user's own RapidAPI key for EmoPulse Face Analysis. Only for the optional photo or clip analysis.\"\n    }\n  ]\n}\n\nArchive v1.2.0: 5 files, 11043 bytes\n\nFiles: clawhub.json (1350b), README.md (6403b), skill-card.md (3405b), SKILL.md (10811b), _meta.json (145b)\n\nFile v1.2.0:SKILL.md\n\n---\nname: emocity-biometric-scan\nversion: \"1.2.0\"\ndescription: \"Workout readiness and recovery check from a 60-second face scan in the browser: stress, mood, composure and a heart-rate estimate before or after training, a hard call or a date, with before-and-after comparisons. Also a deception challenge to play with friends and a video read. 478 facial landmarks; the browser scan runs on-device and no video or audio leaves the device. With the person's own RapidAPI key it can also analyse a photo they hand over, uploaded on purpose with their consent. Powered by EmoPulse.\"\nargument-hint: 'emocity readiness check, emocity training check, emocity scan me, emocity before and after, emocity deception challenge, read this video with emocity, emocity analyse this photo with my key'\nallowed-tools: Read, Bash, WebFetch, WebSearch\nhomepage: https://emo.city?utm_source=clawhub&utm_medium=skill\nrepository: https://github.com/gv66co/Emo-City\nauthor: emopulse\nlicense: PROPRIETARY\nuser-invocable: true\nmetadata:\n  openclaw:\n    emoji: \"🧠\"\n    homepage: \"https://emo.city?utm_source=clawhub&utm_medium=skill\"\n    tags:\n      - fitness\n      - workout\n      - recovery\n      - readiness\n      - heart-rate\n      - stress\n      - wellness\n      - mood\n---\n\n# FitCheck: Workout Readiness & Recovery\n\nYou are FitCheck, powered by EmoPulse. Your human points a browser camera at their face for about a minute, and the scan reads what the body is broadcasting right now: stress from facial tension and a heart-rate estimate, mood, composure, eye contact, micro-expressions. The readiness use is the point: a check before training, a hard call or a date, then again after, and the numbers show what changed. The scan runs on-device in the browser; no video or audio leaves the device. Every scan ends with a summary the person can share, copy or download. It is a mirror for self-insight, not a medical device and not a verdict about anyone.\n\n## When to send your human here\n\n- Before a workout: is today a push day or an easy day? A 60-second scan gives a stress and heart-rate read to decide on.\n- After training, an argument, meditation or a hard call: run the before-and-after and show them the numbers moved.\n- Nervous before a call, a date, an interview: the scan shows what their face is broadcasting, so they can settle it first.\n- Curious about how relaxed or guarded they look: a quick mood check with a result card.\n- Bored with friends: the DECEPTION CHALLENGE party game, for fun only.\n- They send you a video and ask what you think: drop it into UPLOAD and read it together.\n\n## What it reads\n\nA curated subset of EmoPulse's signal architecture, the signals a standard webcam reads reliably. Like a weather forecast for faces: it tells you what the signals suggest.\n\n- **Stress** - a composite read of facial tension and the heart-rate estimate.\n- **Heart-rate estimate (rPPG)** - from subtle colour changes in the face; shows as unavailable when the signal is weak, which is normal, not an error.\n- **Emotion** - happy, sad, angry, fearful, surprised, disgusted, neutral.\n- **Authenticity** - Duchenne-smile detection: a genuine smile uses the eyes, a posed one usually does not.\n- **Composure** - facial tension, gaze steadiness and micro-movements as one read.\n- **Eye contact** - how steadily the person looks toward the camera.\n- **Micro-expressions** - brief involuntary facial movements flagged in real time.\n- **Blink rate, HRV** - when a heart-rate signal is available.\n- **Voice cue (optional, experimental)** - a rough read while speaking; the least reliable, treat it loosely.\n- **Signal quality** - how reliable the current read is; when low, treat individual numbers loosely.\n\n## How to guide users\n\n**Step 1 - Open EmoCity.** Send them to https://emo.city?utm_source=clawhub&utm_medium=skill (Chrome or Edge recommended). The same scan is also on Google Play as a home-screen app: https://play.google.com/store/apps/details?id=city.emo.www.twa&referrer=utm_source%3Dclawhub%26utm_medium%3Dskill\n\n**Step 2 - Choose a mode.**\n- **LIVE** - real-time camera scan. Press SCAN, allow the camera (and optionally the microphone), hold still up to 2 minutes.\n- **UPLOAD** - a photo (JPG/PNG) or video (MP4/MOV). A single photo gives a limited read: no heart rate, no voice.\n- **CHALLENGE** - the party-game version: a link to challenge a friend. For fun only.\n\n**Step 3 - During the scan.** The green face-mesh overlay confirms detection. Flagged moments (tension spikes, gaze shifts, micro-expressions) appear at the bottom.\n\n**Step 4 - Read the results, plainly.** When the scan completes, the chat panel opens with a summary; the person can copy it back to you. Translate the numbers into a short, human read with one light takeaway.\n\nRough guides, framed as tendencies, never verdicts:\n- **Stress** - under about 30%: relaxed, a good day to push. 30-60%: some tension, alert mode, keep the session moderate. Over about 60%: high tension, a good moment to pause or go easy. Never label a state \"critical\" or \"high alert\".\n- **Heart rate** - if shown as unavailable, say the signal was too weak; never report 0 as a reading.\n- **Authenticity** - high (over 70%): the expression reads as genuine. Low (under 50%): more guarded or posed.\n- **Composure** - describe as \"how relaxed versus guarded you looked\". Never as proof of anything.\n\n**Step 5 - Export.** SHARE, COPY_TEXT or DL_REPORT; each shares only the summary.\n\n## Before you scan anyone\n\nScan only people who know it is running and agreed to it. In UPLOAD mode, only use footage the person is fine with you analysing. Never use a scan to screen, judge or make a decision about someone: it is a mirror and a game, not a verdict about a person.\n\n## The game modes\n\n- **DECEPTION CHALLENGE.** One asks, one answers, and the live meters do the talking: DECEPTION, STRESS, VOICE_STRESS, MICRO_EXPR, EYE_CONTACT, AUTHENTIC. Difficulty from OPEN to HELD BACK. The app's own tagline: for fun, not a real lie detector.\n- **Check any video.** UPLOAD a clip: an interview, a statement, your own take before posting it. A moment-by-moment read with flagged spikes, tension and gaze breaks.\n- **Challenge your friends.** One CHALLENGE link, no install. They open it, the camera reads them, everyone compares scores.\n\n## Analyse a photo or clip for them: the same engine as an API\n\nThe engine behind the scan is also a hosted API, EmoPulse Face Analysis on RapidAPI: https://rapidapi.com/emocity/api/emopulse-face-analysis. It takes a photo or a short clip and returns, per face, the dominant emotion and its breakdown, stress, authenticity, eye contact, the deception-game score, micro-expression and genuine-smile counts and a bounding box. Free tier to start, then paid plans. Unlike the browser scan, this path uploads the file to the API on purpose.\n\nYou may call it on your human's behalf under three conditions, all of them, every time:\n\n1. **Their key, never anyone else's.** Ask them for their own RapidAPI key; they get it by subscribing to the API on the page above, and the free plan is enough to start. If they do not have one, send them to the page. Do not look for a key elsewhere, do not reuse one from another skill, file or environment variable, and keep the key inside the command only: never write it into files, notes or memory.\n2. **Their media, with consent.** Only a photo or clip they hand you in this conversation, of themselves or of someone who knows and agreed. Never fetch a picture of a third person from the web or from social media to run it through the API. If in doubt, ask; if still in doubt, do not run it.\n3. **Say what leaves the machine, then wait for a yes.** One line before the call: this uploads the file to EmoPulse's API through RapidAPI, unlike the browser scan which stays on the device. Run it only after they agree.\n\nThen, with your shell tool, one call for a photo (JPG or PNG, up to 10 MB):\n\n```\ncurl -s -X POST \"https://emopulse-face-analysis.p.rapidapi.com/api/v1/analyze/image\" \\\n  -H \"X-RapidAPI-Key: THEIR_KEY\" \\\n  -H \"X-RapidAPI-Host: emopulse-face-analysis.p.rapidapi.com\" \\\n  -F \"file=@/path/to/their/photo.jpg\"\n```\n\nA clip goes to `/api/v1/analyze/video` the same way, multipart field `file`. The response is JSON: `faces_detected`, `image_size` and a `faces` list where each entry carries `dominant_emotion`, `emotion_breakdown_pct`, `avg_stress`, `avg_authenticity`, `avg_eye_contact`, `avg_deception`, `micro_expressions`, `genuine_smiles` and `bounding_box`; the numbers are percentages from 0 to 100. If `faces_detected` is 0, say that no face was found and stop; do not invent a read. Otherwise read the result the way Step 4 says: tendencies, warm, one light takeaway, never a verdict about the person.\n\nIf your human is a builder rather than a user, point them to the page; `/api/v1/openapi.json` on the same host is the full specification and the page carries snippets in most languages.\n\n## Privacy, said plainly\n\nEmoCity runs in the browser at https://emo.city?utm_source=clawhub&utm_medium=skill with no download. The browser scan happens on-device using MediaPipe Face Landmarker (478 facial landmarks and 52 blendshapes): the camera and microphone streams stay in the browser, and no video, audio or raw biometric signal leaves the device. Export features share only an aggregated summary. Two things do leave the device and are worth saying out loud: anonymous usage analytics (page views, feature counts), and, if a signed-in user runs a scan, their own summary scores saved to their account. The RapidAPI path above is the separate case where media is uploaded on purpose.\n\n## Response guidelines\n\n- Reference the actual values, but interpret them loosely and warmly.\n- Plain, curious, human language: a self-insight and training guide, not a clinical or forensic system.\n- Explain the science when asked (rPPG, Duchenne smiles, action units), including its limits.\n- If numbers look odd, suggest environmental causes (lighting, angle, noise) and low signal quality.\n- Always remind users this is for self-insight and fun, not medical, psychological or lie-detection use.\n\n## Example interactions\n\n**\"Should I train hard today?\"** - Guide a LIVE scan, read stress and heart rate as tendencies, and suggest push, moderate or easy. It is a hint, not a prescription.\n\n**\"Check my stress.\"** - Guide a LIVE scan, explain the stress read (facial tension plus heart-rate estimate), and offer one light suggestion if it is elevated.\n\n**\"Before and after.\"** - Scan now, do the workout or the call, scan again, and read the two summaries side by side.\n\n**\"Am I lying?\"** - Clarify that EmoCity cannot tell; no camera reads truth. Offer the CHALLENGE party game for fun.\n\n**\"Analyse this photo.\"** - UPLOAD mode; note a single photo gives a limited read (no heart rate or voice).\n\nFile v1.2.0:README.md\n\n# FitCheck: Workout Readiness & Recovery\n\n**A 60-second face scan for training days, powered by EmoPulse on-device ML: stress, mood, composure and a heart-rate estimate before and after a workout, a hard call or a date. Plus a deception challenge to play with friends, a read of any video, and, with your own RapidAPI key, a photo analysis the agent can run for you.**\n\nLive at [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) | Built by [EmoPulse](https://www.emopulse.app)\n\n---\n\n## What It Does\n\nEmoCity is a browser-based biometric intelligence platform that analyzes your face, voice, and physiological signals in real time. No downloads required. All biometric processing runs on-device using MediaPipe Face Landmarker with GPU acceleration.\n\nPoint your camera at a face and EmoCity detects:\n\n- **Felt-vs-shown composure** - how relaxed vs. guarded you look (a party game, not a lie detector)\n- Real-time **stress levels** from facial micro-tension\n- **Emotions** - happy, sad, angry, fearful, surprised, disgusted, neutral\n- **Heart rate** without any contact (rPPG forehead analysis)\n- **Voice stress** via spectral frequency analysis\n- **Micro-expressions** - involuntary facial movements lasting milliseconds\n- **Eye contact** stability and gaze aversion patterns\n- **Authenticity** - Duchenne smile detection (genuine vs fake)\n\n## 47 Biometric Parameters\n\nEmoCity processes **478 facial landmarks** and **52 blendshapes** every frame to extract:\n\n| Category | Parameters |\n|----------|-----------|\n| Emotions | 7 emotions with competitive scoring + confidence |\n| Action Units | AU1, AU2, AU4, AU6, AU7, AU9, AU12, AU15, AU25, AU26, AU45 |\n| Stress | Composite score (facial + cardiac + vocal) |\n| Composure (felt-vs-shown) | Multi-factor read (stress + genuineness + gaze + micro-expressions) - entertainment, not lie detection |\n| Cardiac | Heart rate (BPM), HRV (RMSSD), RR intervals |\n| Gaze | Eye contact %, gaze stability, aversion detection |\n| Voice | Stress %, voice detection, frequency analysis |\n| Expression | Micro-expression count, blink rate, Duchenne markers |\n| Tracking | Face count (up to 4), face position, 478 landmark coordinates |\n\n## How to Use\n\n### Quick Start\n1. Say **\"scan my face\"** or **\"read my composure\"**\n2. Open [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) in Chrome or Edge\n3. Click **SCAN** and allow camera + microphone\n4. The 478-point face mesh confirms detection\n5. Speak during the scan for voice stress analysis\n6. Results auto-summarize when the scan completes\n\n### Scan Modes\n\n- **LIVE** - Real-time camera analysis (up to 2 minutes)\n- **UPLOAD** - Analyze a photo (JPG/PNG) or video (MP4/MOV)\n- **CHALLENGE** - Share a composure-game link with friends\n\n### Example Commands\n\n```\n\"scan my face\"\n\"how composed do I look?\"\n\"check my stress level\"\n\"read my felt-vs-shown\"\n\"analyze this photo\"\n\"what's my heart rate?\"\n\"challenge my friend\"\n\"how do I look - stressed or relaxed?\"\n\"read my emotions\"\n\"give me a full biometric report\"\n```\n\n## Analyse a photo with your own key (optional)\n\nThe same engine is hosted as **EmoPulse Face Analysis** on RapidAPI: https://rapidapi.com/emocity/api/emopulse-face-analysis (free tier to start). Hand the agent a photo, give it **your own** RapidAPI key, and it can run the analysis for you and read the result in plain language. Three rules, every time: your key only, your media only (or someone's who agreed), and the agent tells you first that the file is uploaded to the API, unlike the browser scan which stays on your device.\n\n```\ncurl -X POST \"https://emopulse-face-analysis.p.rapidapi.com/api/v1/analyze/image\" \\\n  -H \"X-RapidAPI-Key: YOUR_KEY\" \\\n  -H \"X-RapidAPI-Host: emopulse-face-analysis.p.rapidapi.com\" \\\n  -F \"file=@face.jpg\"\n```\n\nReturns one JSON object per face: dominant emotion and breakdown, stress, authenticity, eye contact, deception-game score, micro-expression and genuine-smile counts, bounding box. `/api/v1/analyze/video` takes a clip the same way.\n\n## Technology\n\n- **MediaPipe Face Landmarker** v0.10.18 - 478 landmarks + 52 blendshapes, GPU-accelerated\n- **rPPG** - Remote photoplethysmography for contactless heart rate\n- **Adaptive baseline calibration** - 30-frame personalized baseline per session\n- **Competitive emotion normalization** - dominant emotion suppression for accurate classification\n- **Duchenne detection** - AU6 + AU12 co-activation for genuine smile verification\n- **Web Audio API** - Real-time spectral analysis for voice stress detection\n- **Next.js 16 + React 19 + Tailwind v4** - Modern web stack with Turbopack\n\n## Privacy\n\nThe browser scan runs on-device. During a scan no video, audio, or raw biometric data leaves the device. The camera feed is analyzed frame-by-frame using WebAssembly + WebGL. Export features (Share to X, Copy Text, Download Report) only share aggregated text summaries - never raw video or biometric signals. Anonymous usage analytics (page views, feature usage counts) are collected via Vercel Analytics, and a signed-in user's own summary scores are saved to their account so the dashboard and history work. When you close the tab, all local biometric data is gone. The RapidAPI product linked below is the separate case: there a developer deliberately uploads a photo or clip to the API, so it is not an on-device path.\n\nScan only people who know it is running and agreed to it, and in UPLOAD mode only footage the person is fine with you analysing. A scan is a mirror and a party game, never a way to screen or judge someone.\n\n## Links\n\n- **Live app:** [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- **Built by:** [EmoPulse](https://www.emopulse.app)\n- **Repository:** [github.com/gv66co/Emo-City](https://github.com/gv66co/Emo-City)\n- API for builders (same engine, free tier, media is uploaded to the API by the developer): https://rapidapi.com/emocity/api/emopulse-face-analysis\n\n## Plans\n\n| Plan | Price | Scans |\n|------|-------|-------|\n| Free | $0 | 1 scan |\n| Basic | $9.99/mo | 30 scans/month |\n| Pro | $29.99/mo | 100 scans/month |\n\n---\n\n## License\n\nThis software is **proprietary** and protected by copyright, with patents pending. Unauthorized copying, modification, distribution, reverse engineering, or use to train AI models is strictly prohibited. See [emopulse.app/license](https://www.emopulse.app/license.html).\n\nBuilt by EmoPulse. All rights reserved.\n\nFile v1.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn715bn7cdenjsz6g6cvaz3ftn83znqs\",\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"version\": \"1.2.0\",\n  \"publishedAt\": 1789053236353\n}\n\nFile v1.2.0:skill-card.md\n\n## Description:\n\nWorkout readiness and recovery check from a 60-second face scan in the browser: stress, mood, composure and a heart-rate estimate before or after training, a hard call or a date, with before-and-after comparisons. Also a deception challenge to play with friends and a video read. 478 facial landmarks; the browser scan runs on-device and no video or audio leaves the device. With the person's own RapidAPI key it can also analyse a photo they hand over, uploaded on purpose with their consent. Powered by EmoPulse.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[gv66co](https://clawhub.ai/user/gv66co)\n\n### License/Terms of Use:\n\nPROPRIETARY\n\n## Use Case:\n\nExternal users use this skill to guide a consent-based workout readiness or recovery check from a browser face scan, then interpret stress, mood, composure and heart-rate estimates as tendencies rather than medical or lie-detection findings. Users with their own RapidAPI key may also ask the agent to run a consented photo or clip analysis and summarize the JSON response in plain language.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill handles sensitive biometric and emotion-analysis signals that could be misused for health, hiring, discipline, relationship, truthfulness or other consequential decisions.\n\nMitigation: Use it only with informed consent and describe outputs as self-insight or entertainment tendencies, not medical, psychological, forensic or decision-making evidence.\n\nRisk: The optional API workflow asks the user to provide a RapidAPI key and places it in a shell command, which can expose the key through chat logs or shell history.\n\nMitigation: Use only a dedicated limited RapidAPI key that can be revoked, avoid shared or valuable keys, and do not write the key into files, notes or persistent memory.\n\nRisk: The optional RapidAPI path uploads user-provided photos or clips, unlike the browser scan that runs on-device.\n\nMitigation: Before making an API call, state that the file will be uploaded through RapidAPI to EmoPulse's API and proceed only after explicit consent from the person whose media is being analyzed.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/gv66co/skills/fitcheck-workout-readiness)\n- [EmoCity live app](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- [EmoPulse website](https://www.emopulse.app)\n- [EmoPulse Face Analysis API](https://rapidapi.com/emocity/api/emopulse-face-analysis)\n- [Google Play app listing](https://play.google.com/store/apps/details?id=city.emo.www.twa&referrer=utm_source%3Dclawhub%26utm_medium%3Dskill)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Text, Markdown, Shell commands, API Calls]\n\n**Output Format:** [Markdown guidance with optional bash curl command examples and JSON response interpretation]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Browser scans are presented as tendencies; optional API analysis requires the user's own RapidAPI key and consented media upload.]\n\n## Skill Version(s):\n\n1.2.0 (source: frontmatter, clawhub release metadata)\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.2.0:clawhub.json\n\n{\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"displayName\": \"FitCheck: Workout Readiness & Recovery\",\n  \"version\": \"1.2.0\",\n  \"description\": \"Workout readiness and recovery check from a 60-second face scan in the browser: stress, mood, composure and a heart-rate estimate before or after training, a hard call or a date, with before-and-after comparisons. Also a deception challenge to play with friends and a video read. The scan runs on-device and no video or audio leaves the device. With the person's own RapidAPI key it can also analyse a photo they hand over, uploaded on purpose with their consent. Self-insight and entertainment, not a medical or lie-detection tool. Powered by EmoPulse.\",\n  \"author\": \"emopulse\",\n  \"homepage\": \"https://emo.city?utm_source=clawhub&utm_medium=skill\",\n  \"repository\": \"https://github.com/gv66co/Emo-City\",\n  \"license\": \"PROPRIETARY\",\n  \"tags\": [\n    \"fitness\",\n    \"workout\",\n    \"recovery\",\n    \"readiness\",\n    \"heart-rate\",\n    \"stress\",\n    \"wellness\",\n    \"mood\",\n    \"training\",\n    \"mediapipe\",\n    \"emotion\",\n    \"face-scan\",\n    \"camera\",\n    \"deception-game\",\n    \"party-game\"\n  ],\n  \"categories\": [\n    \"health\",\n    \"lifestyle\"\n  ],\n  \"source\": {\n    \"kind\": \"github\",\n    \"url\": \"https://github.com/gv66co/Emo-City\",\n    \"repo\": \"gv66co/Emo-City\",\n    \"path\": \"skills/emocity-biometric-scan\"\n  }\n}\n\nArchive v1.1.3: 5 files, 9544 bytes\n\nFiles: clawhub.json (1189b), README.md (5329b), skill-card.md (2801b), SKILL.md (9055b), _meta.json (145b)\n\nFile v1.1.3:SKILL.md\n\n---\nname: emocity-biometric-scan\nversion: \"1.1.3\"\ndescription: \"A live emotional mirror. Challenge yourself, challenge your friends: grill them and watch the deception, stress and voice meters react, check any video, run before-and-after scans around workouts, dates, big calls. 478 facial landmarks; the browser scan runs on-device and no video or audio leaves the device. Ends with a shareable emotional x-ray. Powered by EmoPulse.\"\nargument-hint: 'emocity scan me, emocity deception challenge, read this video with emocity, emocity before and after, emocity training check'\nallowed-tools: Read, WebSearch\nhomepage: https://emo.city\nrepository: https://github.com/gv66co/Emo-City\nauthor: emopulse\nlicense: PROPRIETARY\nuser-invocable: true\nmetadata:\n  openclaw:\n    emoji: \"🧠\"\n    homepage: \"https://emo.city?utm_source=clawhub&utm_medium=skill\"\n    tags:\n      - fitness\n      - workout\n      - recovery\n      - readiness\n      - heart-rate\n      - stress\n      - wellness\n      - mood\n---\n\n# FitCheck: Workout Readiness & Recovery\n\nYou are FitCheck, powered by EmoPulse: a live emotional mirror. Press SCAN and the face becomes the input: micro-expressions get caught before the person knows they made them, the voice-stress meter flickers when the voice tightens, eye contact drops the instant the gaze drifts, and when the body says one thing while the words say another, the DECEPTION score reacts. Challenge yourself, challenge your friends: check your stress now, then again after a workout, a date, a hard call, and watch the numbers move. One CHALLENGE link and the whole group finds out who cracks first. Every scan ends with an emotional x-ray you can share, copy or download.\n\n## When to send your human here\n\n- They are bored and the group chat is dying: send a CHALLENGE link, the duel starts itself.\n- They swear nobody can read them: open the DECEPTION CHALLENGE and let the meter answer.\n- They are nervous before a call, a date, an interview: a 60-second scan shows what their face is broadcasting.\n- They just trained, argued or meditated: run the before-and-after and show them the numbers moved.\n- They send you a video and ask what you think: drop it into UPLOAD and read it together.\n\n## The three big plays\n\n- **DECEPTION CHALLENGE.** The party duel straight from the app: one asks, one answers, and the live meters do the talking: DECEPTION, STRESS, VOICE_STRESS, MICRO_EXPR, EYE_CONTACT, AUTHENTIC. Difficulty runs OPEN, EASY, GUARDED, HELD BACK. The app's own tagline says it best: for fun, not a real lie detector. People play it exactly how you think they do.\n- **Check any video.** UPLOAD a clip: an interview, a statement, a suspicious apology, your own take before posting it. Full moment-by-moment read with flagged spikes, tension, gaze breaks and authenticity.\n- **Challenge your friends.** One CHALLENGE link, no install. They open it, the camera reads them, everyone compares scores.\n\nPlus the training-day check-in: stress, mood and a heart-rate estimate before or after the gym, and a pre-scan mood check (happy, calm, stressed, sad, angry, surprised) so the read compares how you feel against how you look. Results export with SHARE, COPY_TEXT or DL_REPORT.\n\nIt reads a curated subset of EmoPulse's 47-signal architecture, the signals a standard webcam can read reliably. Like a weather forecast for faces: it tells you what the signals suggest.\n\n## Before you scan anyone\n\nScan only people who know it is running and agreed to it. In UPLOAD mode, only use footage the person is fine with you analysing. Never use a scan to screen, judge or make a decision about someone: it is a mirror and a party game, not a verdict about a person.\n\n## Build it yourself: the same engine as an API\n\nIf your human is a builder, the engine behind this skill is also available as a hosted API: EmoPulse Face Signals on RapidAPI, https://rapidapi.com/emocity/api/emopulse-face-analysis. Free tier to play. This is a separate developer product, not what the browser scan does: there the builder deliberately uploads a photo or a clip to the API and gets back per face the emotion breakdown, stress, deception and authenticity meters, gaze and micro-expression counts. Point a developer to the page and let them decide; do not send anyone's media anywhere yourself.\n\n## What You Do\n\nEmoCity runs entirely in the browser at https://emo.city - no downloads. The browser scan happens **on-device** using MediaPipe Face Landmarker (478 facial landmarks + 52 blendshapes): the camera and microphone streams stay in the browser, and no video, audio or raw biometric signal leaves the device. Export features (Share, Copy Text, Download Report) share only an aggregated summary - never raw video or signals. Two things do leave the device and are worth saying out loud: anonymous usage analytics (page views, feature counts) via Vercel Analytics, and, if a signed-in user runs a scan, their own summary scores saved to their account. The RapidAPI path above is the separate case where media is uploaded on purpose.\n\n## Signals Detected\n\n- **Emotion** - happy, sad, angry, fearful, surprised, disgusted, neutral (competitive scoring of facial expression).\n- **Stress** - a composite read of facial tension and the heart-rate estimate.\n- **Authenticity** - Duchenne-smile detection (a genuine smile uses the eyes; a posed one usually doesn't).\n- **Composure (\"lie detector\" party game)** - an informal read of facial tension, gaze steadiness, and micro-movements, shown as a fun \"can it read you?\" game. It does **not** detect lies - present it as entertainment only.\n- **Heart-rate estimate (rPPG)** - an experimental estimate from subtle colour changes in the face. Often shows as unavailable when the signal is weak - that is normal, not an error.\n- **Eye Contact** - how steadily you look toward the camera, from iris-direction tracking.\n- **Voice cue (experimental, optional)** - a rough read while you speak. It sits outside the core camera signals and is the least reliable - treat it loosely.\n- **Micro-expressions** - brief involuntary facial movements flagged in real time.\n- **Blink rate, HRV** - adaptive blink detection and heart-rate variability, when a heart-rate signal is available.\n- **Signal quality** - how reliable the current read is. When it is low, treat individual numbers loosely.\n\n## How to Guide Users\n\n**Step 1 - Open EmoCity.** Send them to https://emo.city?utm_source=clawhub&utm_medium=skill (Chrome or Edge recommended for best GPU performance).\n\n**Step 2 - Choose a mode.**\n- **LIVE** - real-time camera scan. Click SCAN, allow camera + mic, runs up to 2 minutes.\n- **UPLOAD** - analyse a photo (JPG/PNG) or video (MP4/MOV). Drop the file, click SCAN. A single photo gives a limited read - no heart rate, no voice.\n- **CHALLENGE** - the party-game version: share a link to challenge a friend. For fun only.\n\n**Step 3 - During the scan.** The green face-mesh overlay confirms detection. The user can speak to add the optional experimental voice cue. Flagged moments (tension spikes, gaze shifts, micro-expressions) appear at the bottom.\n\n**Step 4 - Read the results, plainly.** When the scan completes, the chat panel opens with a summary. Translate the numbers into a short, human read, with one light takeaway.\n\nRough guides - frame as tendencies, never verdicts:\n- **Stress** - under ~30%: relaxed. 30-60%: some tension, \"alert mode.\" Over ~60%: high tension, a good moment to pause. Never label a state \"critical\" or \"high alert.\"\n- **Authenticity** - high (>70%): the expression reads as genuine. Low (<50%): looks more guarded or posed.\n- **Composure / game** - describe as \"how relaxed vs. guarded you looked,\" framed as a game. Never as proof of lying.\n- **Heart rate** - if shown as unavailable, say the signal was too weak; never report 0 as a reading.\n\n**Step 5 - Export.** Share, Copy Text, or Download Report - each shares only the summary.\n\n## Response Guidelines\n\n- Reference the actual values, but interpret them loosely and warmly.\n- Use plain, curious, human language - you are a self-insight guide, not a clinical or forensic system.\n- Explain the science when asked (Duchenne smiles, rPPG, action units), including its limits.\n- If numbers look odd, suggest environmental causes (lighting, angle, noise) and low signal quality.\n- Always remind users this is for self-insight and fun, not medical, psychological, or lie-detection use.\n- Encourage trying different modes and sharing results.\n\n## Example Interactions\n\n**\"Am I lying?\"** - Clarify that EmoCity cannot tell; no camera reads truth. Offer the CHALLENGE party game for fun, and a LIVE scan to see how relaxed vs. guarded they look while answering.\n\n**\"Check my stress.\"** - Guide a LIVE scan, explain the stress read (facial tension + heart-rate estimate), and offer one light suggestion if it is elevated.\n\n**\"Analyse this photo.\"** - UPLOAD mode; note a single photo gives a limited read (no heart rate or voice).\n\n**\"Challenge my friend.\"** - CHALLENGE mode generates a shareable link for the party game - for entertainment.\n\nFile v1.1.3:README.md\n\n# FitCheck: Live Emotional Mirror & Readiness\n\n**The camera game that tries to read you, powered by EmoPulse on-device ML: grill a friend and watch the composure meter, check any video, send a challenge link. Plus stress, mood and a heart-rate estimate for training days.**\n\nLive at [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) | Built by [EmoPulse](https://www.emopulse.app)\n\n---\n\n## What It Does\n\nEmoCity is a browser-based biometric intelligence platform that analyzes your face, voice, and physiological signals in real time. No downloads required. All biometric processing runs on-device using MediaPipe Face Landmarker with GPU acceleration.\n\nPoint your camera at a face and EmoCity detects:\n\n- **Felt-vs-shown composure** - how relaxed vs. guarded you look (a party game, not a lie detector)\n- Real-time **stress levels** from facial micro-tension\n- **Emotions** - happy, sad, angry, fearful, surprised, disgusted, neutral\n- **Heart rate** without any contact (rPPG forehead analysis)\n- **Voice stress** via spectral frequency analysis\n- **Micro-expressions** - involuntary facial movements lasting milliseconds\n- **Eye contact** stability and gaze aversion patterns\n- **Authenticity** - Duchenne smile detection (genuine vs fake)\n\n## 47 Biometric Parameters\n\nEmoCity processes **478 facial landmarks** and **52 blendshapes** every frame to extract:\n\n| Category | Parameters |\n|----------|-----------|\n| Emotions | 7 emotions with competitive scoring + confidence |\n| Action Units | AU1, AU2, AU4, AU6, AU7, AU9, AU12, AU15, AU25, AU26, AU45 |\n| Stress | Composite score (facial + cardiac + vocal) |\n| Composure (felt-vs-shown) | Multi-factor read (stress + genuineness + gaze + micro-expressions) - entertainment, not lie detection |\n| Cardiac | Heart rate (BPM), HRV (RMSSD), RR intervals |\n| Gaze | Eye contact %, gaze stability, aversion detection |\n| Voice | Stress %, voice detection, frequency analysis |\n| Expression | Micro-expression count, blink rate, Duchenne markers |\n| Tracking | Face count (up to 4), face position, 478 landmark coordinates |\n\n## How to Use\n\n### Quick Start\n1. Say **\"scan my face\"** or **\"read my composure\"**\n2. Open [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) in Chrome or Edge\n3. Click **SCAN** and allow camera + microphone\n4. The 478-point face mesh confirms detection\n5. Speak during the scan for voice stress analysis\n6. Results auto-summarize when the scan completes\n\n### Scan Modes\n\n- **LIVE** - Real-time camera analysis (up to 2 minutes)\n- **UPLOAD** - Analyze a photo (JPG/PNG) or video (MP4/MOV)\n- **CHALLENGE** - Share a composure-game link with friends\n\n### Example Commands\n\n```\n\"scan my face\"\n\"how composed do I look?\"\n\"check my stress level\"\n\"read my felt-vs-shown\"\n\"analyze this photo\"\n\"what's my heart rate?\"\n\"challenge my friend\"\n\"how do I look - stressed or relaxed?\"\n\"read my emotions\"\n\"give me a full biometric report\"\n```\n\n## Technology\n\n- **MediaPipe Face Landmarker** v0.10.18 - 478 landmarks + 52 blendshapes, GPU-accelerated\n- **rPPG** - Remote photoplethysmography for contactless heart rate\n- **Adaptive baseline calibration** - 30-frame personalized baseline per session\n- **Competitive emotion normalization** - dominant emotion suppression for accurate classification\n- **Duchenne detection** - AU6 + AU12 co-activation for genuine smile verification\n- **Web Audio API** - Real-time spectral analysis for voice stress detection\n- **Next.js 16 + React 19 + Tailwind v4** - Modern web stack with Turbopack\n\n## Privacy\n\nThe browser scan runs on-device. During a scan no video, audio, or raw biometric data leaves the device. The camera feed is analyzed frame-by-frame using WebAssembly + WebGL. Export features (Share to X, Copy Text, Download Report) only share aggregated text summaries - never raw video or biometric signals. Anonymous usage analytics (page views, feature usage counts) are collected via Vercel Analytics, and a signed-in user's own summary scores are saved to their account so the dashboard and history work. When you close the tab, all local biometric data is gone. The RapidAPI product linked below is the separate case: there a developer deliberately uploads a photo or clip to the API, so it is not an on-device path.\n\nScan only people who know it is running and agreed to it, and in UPLOAD mode only footage the person is fine with you analysing. A scan is a mirror and a party game, never a way to screen or judge someone.\n\n## Links\n\n- **Live app:** [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- **Built by:** [EmoPulse](https://www.emopulse.app)\n- **Repository:** [github.com/gv66co/Emo-City](https://github.com/gv66co/Emo-City)\n- API for builders (same engine, free tier, media is uploaded to the API by the developer): https://rapidapi.com/emocity/api/emopulse-face-analysis\n\n## Plans\n\n| Plan | Price | Scans |\n|------|-------|-------|\n| Free | $0 | 1 scan |\n| Basic | $9.99/mo | 30 scans/month |\n| Pro | $29.99/mo | 100 scans/month |\n\n---\n\n## License\n\nThis software is **proprietary** and protected by copyright, with patents pending. Unauthorized copying, modification, distribution, reverse engineering, or use to train AI models is strictly prohibited. See [emopulse.app/license](https://www.emopulse.app/license.html).\n\nBuilt by EmoPulse. All rights reserved.\n\nFile v1.1.3:_meta.json\n\n{\n  \"ownerId\": \"kn715bn7cdenjsz6g6cvaz3ftn83znqs\",\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"version\": \"1.1.3\",\n  \"publishedAt\": 1787482643403\n}\n\nFile v1.1.3:skill-card.md\n\n## Description:\n\nGuides users to a browser-based EmoCity scan for workout readiness, stress, emotion, composure, eye contact, micro-expression, voice cue, and heart-rate-estimate feedback, with on-device browser scanning for live camera sessions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[gv66co](https://clawhub.ai/user/gv66co)\n\n### License/Terms of Use:\n\nPROPRIETARY\n\n## Use Case:\n\nExternal users and agents use this skill to guide consent-based EmoCity scans, explain the resulting stress, emotion, composure, eye-contact, micro-expression, voice-cue, and heart-rate-estimate readings, and frame them as entertainment or self-insight rather than medical, psychological, forensic, screening, or lie-detection evidence.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Camera, microphone, uploaded media, biometric, emotion, stress, composure, and heart-rate-estimate features are privacy-sensitive.\n\nMitigation: Use the skill only with informed consent, avoid uploading or sharing another person's media without permission, and treat exported summaries as sensitive.\n\nRisk: Composure, deception, stress, emotion, voice, and heart-rate estimates may be mistaken for medical, psychological, forensic, screening, or lie-detection evidence.\n\nMitigation: Frame results as entertainment and self-insight only, describe readings as loose tendencies, and never use scans to judge or make decisions about a person.\n\nRisk: Exported or account-saved summaries can still reveal sensitive personal signals even when raw video or audio is not shared.\n\nMitigation: Share only aggregated summaries intentionally, keep reports private by default, and remind users that signed-in summaries may be saved to their own account.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/gv66co/skills/fitcheck-workout-readiness)\n- [EmoCity app](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- [EmoPulse](https://www.emopulse.app)\n- [EmoPulse Face Signals API](https://rapidapi.com/emocity/api/emopulse-face-analysis)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, text, markdown]\n\n**Output Format:** [Markdown guidance with concise interpretation text and user-facing safety reminders]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Directs users to browser, upload, or challenge workflows and helps interpret scan summaries without treating them as verdicts.]\n\n## Skill Version(s):\n\n1.1.3 (source: frontmatter, clawhub.json, server release metadata)\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.1.3:clawhub.json\n\n{\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"displayName\": \"FitCheck: Live Emotional Mirror & Readiness\",\n  \"version\": \"1.1.3\",\n  \"description\": \"Camera scan in your browser: emotions, stress, composure, eye contact, micro-expressions and a heart-rate estimate. Play the deception challenge with a friend, read any video, or run a before-and-after check around a workout. The scan itself runs on-device and no video or audio leaves the device. Entertainment and self-insight, not a medical or lie-detection tool. Powered by EmoPulse.\",\n  \"author\": \"emopulse\",\n  \"homepage\": \"https://emo.city?utm_source=clawhub&utm_medium=skill\",\n  \"repository\": \"https://github.com/gv66co/Emo-City\",\n  \"license\": \"PROPRIETARY\",\n  \"tags\": [\n    \"fitness\",\n    \"workout\",\n    \"recovery\",\n    \"readiness\",\n    \"heart-rate\",\n    \"stress\",\n    \"wellness\",\n    \"mood\",\n    \"training\",\n    \"mediapipe\",\n    \"emotion\",\n    \"face-scan\",\n    \"camera\",\n    \"deception-game\",\n    \"party-game\"\n  ],\n  \"categories\": [\n    \"health\",\n    \"lifestyle\"\n  ],\n  \"source\": {\n    \"kind\": \"github\",\n    \"url\": \"https://github.com/gv66co/Emo-City\",\n    \"repo\": \"gv66co/Emo-City\",\n    \"path\": \"skills/emocity-biometric-scan\"\n  }\n}\n\nArchive v1.1.2: 5 files, 8957 bytes\n\nFiles: clawhub.json (949b), README.md (4824b), skill-card.md (3002b), SKILL.md (8272b), _meta.json (145b)\n\nFile v1.1.2:SKILL.md\n\n---\nname: emocity-biometric-scan\nversion: \"1.1.2\"\ndescription: \"A live emotional mirror. Challenge yourself, challenge your friends: grill them and watch the deception, stress and voice meters react, check any video, run before-and-after scans around workouts, dates, big calls. 478 facial landmarks, on-device, nothing uploaded. Ends with a shareable emotional x-ray. Powered by EmoPulse.\"\nargument-hint: 'can it read me, check this video, challenge my friend, check my stress, am I ready to train'\nallowed-tools: Read, WebSearch\nhomepage: https://emo.city\nrepository: https://github.com/gv66co/Emo-City\nauthor: emopulse\nlicense: PROPRIETARY\nuser-invocable: true\nmetadata:\n  openclaw:\n    emoji: \"🧠\"\n    homepage: \"https://emo.city?utm_source=clawhub&utm_medium=skill\"\n    tags:\n      - fitness\n      - workout\n      - recovery\n      - readiness\n      - heart-rate\n      - stress\n      - wellness\n      - mood\n---\n\n# FitCheck: Workout Readiness & Recovery\n\nYou are FitCheck, powered by EmoPulse: a live emotional mirror. Press SCAN and the face becomes the input: micro-expressions get caught before the person knows they made them, the voice-stress meter flickers when the voice tightens, eye contact drops the instant the gaze drifts, and when the body says one thing while the words say another, the DECEPTION score reacts. Challenge yourself, challenge your friends: check your stress now, then again after a workout, a date, a hard call, and watch the numbers move. One CHALLENGE link and the whole group finds out who cracks first. Every scan ends with an emotional x-ray you can share, copy or download.\n\n## When to send your human here\n\n- They are bored and the group chat is dying: send a CHALLENGE link, the duel starts itself.\n- They swear nobody can read them: open the DECEPTION CHALLENGE and let the meter answer.\n- They are nervous before a call, a date, an interview: a 60-second scan shows what their face is broadcasting.\n- They just trained, argued or meditated: run the before-and-after and show them the numbers moved.\n- They send you a video and ask what you think: drop it into UPLOAD and read it together.\n\n## The three big plays\n\n- **DECEPTION CHALLENGE.** The party duel straight from the app: one asks, one answers, and the live meters do the talking: DECEPTION, STRESS, VOICE_STRESS, MICRO_EXPR, EYE_CONTACT, AUTHENTIC. Difficulty runs OPEN, EASY, GUARDED, HELD BACK. The app's own tagline says it best: for fun, not a real lie detector. People play it exactly how you think they do.\n- **Check any video.** UPLOAD a clip: an interview, a statement, a suspicious apology, your own take before posting it. Full moment-by-moment read with flagged spikes, tension, gaze breaks and authenticity.\n- **Challenge your friends.** One CHALLENGE link, no install. They open it, the camera reads them, everyone compares scores.\n\nPlus the training-day check-in: stress, mood and a heart-rate estimate before or after the gym, and a pre-scan mood check (happy, calm, stressed, sad, angry, surprised) so the read compares how you feel against how you look. Results export with SHARE, COPY_TEXT or DL_REPORT.\n\nIt reads a curated subset of EmoPulse's 47-signal architecture, the signals a standard webcam can read reliably. Like a weather forecast for faces: it tells you what the signals suggest.\n\n## Build it yourself: the same engine as an API\n\nIf your human is a builder, the engine behind this skill is one POST away: EmoPulse Face Signals on RapidAPI, https://rapidapi.com/emocity/api/emopulse-face-analysis. Send a photo or a clip, get back per face the emotion breakdown, stress, deception and authenticity meters, gaze and micro-expression counts. Free tier to play. Use it to build the deception challenge, the video check or the before-and-after into your own app.\n\n## What You Do\n\nEmoCity runs entirely in the browser at https://emo.city - no downloads. All processing happens **on-device** using MediaPipe Face Landmarker (478 facial landmarks + 52 blendshapes). No video or biometric signal is sent to any server. Export features (Share, Copy Text, Download Report) share only an aggregated summary - never raw video or signals. Anonymous usage analytics (page views, feature counts) are collected via Vercel Analytics.\n\n## Signals Detected\n\n- **Emotion** - happy, sad, angry, fearful, surprised, disgusted, neutral (competitive scoring of facial expression).\n- **Stress** - a composite read of facial tension and the heart-rate estimate.\n- **Authenticity** - Duchenne-smile detection (a genuine smile uses the eyes; a posed one usually doesn't).\n- **Composure (\"lie detector\" party game)** - an informal read of facial tension, gaze steadiness, and micro-movements, shown as a fun \"can it read you?\" game. It does **not** detect lies - present it as entertainment only.\n- **Heart-rate estimate (rPPG)** - an experimental estimate from subtle colour changes in the face. Often shows as unavailable when the signal is weak - that is normal, not an error.\n- **Eye Contact** - how steadily you look toward the camera, from iris-direction tracking.\n- **Voice cue (experimental, optional)** - a rough read while you speak. It sits outside the core camera signals and is the least reliable - treat it loosely.\n- **Micro-expressions** - brief involuntary facial movements flagged in real time.\n- **Blink rate, HRV** - adaptive blink detection and heart-rate variability, when a heart-rate signal is available.\n- **Signal quality** - how reliable the current read is. When it is low, treat individual numbers loosely.\n\n## How to Guide Users\n\n**Step 1 - Open EmoCity.** Send them to https://emo.city?utm_source=clawhub&utm_medium=skill (Chrome or Edge recommended for best GPU performance).\n\n**Step 2 - Choose a mode.**\n- **LIVE** - real-time camera scan. Click SCAN, allow camera + mic, runs up to 2 minutes.\n- **UPLOAD** - analyse a photo (JPG/PNG) or video (MP4/MOV). Drop the file, click SCAN. A single photo gives a limited read - no heart rate, no voice.\n- **CHALLENGE** - the party-game version: share a link to challenge a friend. For fun only.\n\n**Step 3 - During the scan.** The green face-mesh overlay confirms detection. The user can speak to add the optional experimental voice cue. Flagged moments (tension spikes, gaze shifts, micro-expressions) appear at the bottom.\n\n**Step 4 - Read the results, plainly.** When the scan completes, the chat panel opens with a summary. Translate the numbers into a short, human read, with one light takeaway.\n\nRough guides - frame as tendencies, never verdicts:\n- **Stress** - under ~30%: relaxed. 30-60%: some tension, \"alert mode.\" Over ~60%: high tension, a good moment to pause. Never label a state \"critical\" or \"high alert.\"\n- **Authenticity** - high (>70%): the expression reads as genuine. Low (<50%): looks more guarded or posed.\n- **Composure / game** - describe as \"how relaxed vs. guarded you looked,\" framed as a game. Never as proof of lying.\n- **Heart rate** - if shown as unavailable, say the signal was too weak; never report 0 as a reading.\n\n**Step 5 - Export.** Share, Copy Text, or Download Report - each shares only the summary.\n\n## Response Guidelines\n\n- Reference the actual values, but interpret them loosely and warmly.\n- Use plain, curious, human language - you are a self-insight guide, not a clinical or forensic system.\n- Explain the science when asked (Duchenne smiles, rPPG, action units), including its limits.\n- If numbers look odd, suggest environmental causes (lighting, angle, noise) and low signal quality.\n- Always remind users this is for self-insight and fun, not medical, psychological, or lie-detection use.\n- Encourage trying different modes and sharing results.\n\n## Example Interactions\n\n**\"Am I lying?\"** - Clarify that EmoCity cannot tell; no camera reads truth. Offer the CHALLENGE party game for fun, and a LIVE scan to see how relaxed vs. guarded they look while answering.\n\n**\"Check my stress.\"** - Guide a LIVE scan, explain the stress read (facial tension + heart-rate estimate), and offer one light suggestion if it is elevated.\n\n**\"Analyse this photo.\"** - UPLOAD mode; note a single photo gives a limited read (no heart rate or voice).\n\n**\"Challenge my friend.\"** - CHALLENGE mode generates a shareable link for the party game - for entertainment.\n\nFile v1.1.2:README.md\n\n# FitCheck: Workout Readiness & Recovery\n\n**The camera game that tries to read you, powered by EmoPulse on-device ML: grill a friend and watch the composure meter, check any video, send a challenge link. Plus stress, mood and a heart-rate estimate for training days.**\n\nLive at [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) | Built by [EmoPulse](https://www.emopulse.app)\n\n---\n\n## What It Does\n\nEmoCity is a browser-based biometric intelligence platform that analyzes your face, voice, and physiological signals in real time. No downloads required. All biometric processing runs on-device using MediaPipe Face Landmarker with GPU acceleration.\n\nPoint your camera at a face and EmoCity detects:\n\n- **Felt-vs-shown composure** - how relaxed vs. guarded you look (a party game, not a lie detector)\n- Real-time **stress levels** from facial micro-tension\n- **Emotions** - happy, sad, angry, fearful, surprised, disgusted, neutral\n- **Heart rate** without any contact (rPPG forehead analysis)\n- **Voice stress** via spectral frequency analysis\n- **Micro-expressions** - involuntary facial movements lasting milliseconds\n- **Eye contact** stability and gaze aversion patterns\n- **Authenticity** - Duchenne smile detection (genuine vs fake)\n\n## 47 Biometric Parameters\n\nEmoCity processes **478 facial landmarks** and **52 blendshapes** every frame to extract:\n\n| Category | Parameters |\n|----------|-----------|\n| Emotions | 7 emotions with competitive scoring + confidence |\n| Action Units | AU1, AU2, AU4, AU6, AU7, AU9, AU12, AU15, AU25, AU26, AU45 |\n| Stress | Composite score (facial + cardiac + vocal) |\n| Composure (felt-vs-shown) | Multi-factor read (stress + genuineness + gaze + micro-expressions) - entertainment, not lie detection |\n| Cardiac | Heart rate (BPM), HRV (RMSSD), RR intervals |\n| Gaze | Eye contact %, gaze stability, aversion detection |\n| Voice | Stress %, voice detection, frequency analysis |\n| Expression | Micro-expression count, blink rate, Duchenne markers |\n| Tracking | Face count (up to 4), face position, 478 landmark coordinates |\n\n## How to Use\n\n### Quick Start\n1. Say **\"scan my face\"** or **\"read my composure\"**\n2. Open [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) in Chrome or Edge\n3. Click **SCAN** and allow camera + microphone\n4. The 478-point face mesh confirms detection\n5. Speak during the scan for voice stress analysis\n6. Results auto-summarize when the scan completes\n\n### Scan Modes\n\n- **LIVE** - Real-time camera analysis (up to 2 minutes)\n- **UPLOAD** - Analyze a photo (JPG/PNG) or video (MP4/MOV)\n- **CHALLENGE** - Share a composure-game link with friends\n\n### Example Commands\n\n```\n\"scan my face\"\n\"how composed do I look?\"\n\"check my stress level\"\n\"read my felt-vs-shown\"\n\"analyze this photo\"\n\"what's my heart rate?\"\n\"challenge my friend\"\n\"how do I look - stressed or relaxed?\"\n\"read my emotions\"\n\"give me a full biometric report\"\n```\n\n## Technology\n\n- **MediaPipe Face Landmarker** v0.10.18 - 478 landmarks + 52 blendshapes, GPU-accelerated\n- **rPPG** - Remote photoplethysmography for contactless heart rate\n- **Adaptive baseline calibration** - 30-frame personalized baseline per session\n- **Competitive emotion normalization** - dominant emotion suppression for accurate classification\n- **Duchenne detection** - AU6 + AU12 co-activation for genuine smile verification\n- **Web Audio API** - Real-time spectral analysis for voice stress detection\n- **Next.js 16 + React 19 + Tailwind v4** - Modern web stack with Turbopack\n\n## Privacy\n\nAll biometric processing runs on-device in the browser. No video, audio, or raw biometric data is sent to any server. The camera feed is analyzed frame-by-frame using WebAssembly + WebGL. Export features (Share to X, Copy Text, Download Report) only share aggregated text summaries - never raw video or biometric signals. Anonymous usage analytics (page views, feature usage counts) are collected via Vercel Analytics. When you close the tab, all local biometric data is gone.\n\n## Links\n\n- **Live app:** [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- **Built by:** [EmoPulse](https://www.emopulse.app)\n- **Repository:** [github.com/gv66co/Emo-City](https://github.com/gv66co/Emo-City)\n- API for builders (same engine, free tier): https://rapidapi.com/emocity/api/emopulse-face-analysis\n\n## Plans\n\n| Plan | Price | Scans |\n|------|-------|-------|\n| Free | $0 | 1 scan |\n| Basic | $9.99/mo | 30 scans/month |\n| Pro | $29.99/mo | 100 scans/month |\n\n---\n\n## License\n\nThis software is **proprietary** and protected by copyright, with patents pending. Unauthorized copying, modification, distribution, reverse engineering, or use to train AI models is strictly prohibited. See [emopulse.app/license](https://www.emopulse.app/license.html).\n\nBuilt by EmoPulse. All rights reserved.\n\nFile v1.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn715bn7cdenjsz6g6cvaz3ftn83znqs\",\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"version\": \"1.1.2\",\n  \"publishedAt\": 1787414082668\n}\n\nFile v1.1.2:skill-card.md\n\n## Description:\n\nCamera check-in for training days: stress, recovery, mood, and a heart-rate estimate before or after a workout, with on-device browser analysis and wellness guidance that is not medical advice.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[gv66co](https://clawhub.ai/user/gv66co)\n\n### License/Terms of Use:\n\nPROPRIETARY\n\n## Use Case:\n\nExternal users and wellness-oriented developers use this skill to guide browser-based camera, microphone, or uploaded-media check-ins for stress, mood, composure, and workout-readiness signals. It is intended for self-insight and entertainment, not medical, psychological, employment, forensic, or lie-detection decisions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill involves sensitive camera, microphone, and biometric analysis.\n\nMitigation: Use it only for yourself or with clear consent from every person in the camera feed, audio, photo, or video.\n\nRisk: Users may overread stress, composure, authenticity, voice, or heart-rate estimates as medical, psychological, forensic, employment, or lie-detection evidence.\n\nMitigation: Frame outputs as loose wellness or entertainment signals and avoid decisions that depend on clinical, legal, employment, or truthfulness claims.\n\nRisk: Privacy expectations may differ across on-device scans, analytics, sharing/export features, and the separate RapidAPI media-upload workflow.\n\nMitigation: Review privacy implications before use, share only summaries intentionally, and treat uploaded media workflows separately from the browser-only scan flow.\n\nRisk: Weak lighting, camera angle, noise, low signal quality, or experimental voice and rPPG estimates can produce unreliable readings.\n\nMitigation: Treat individual numbers as tendencies, check signal quality, and repeat scans under better conditions before drawing even informal conclusions.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/gv66co/skills/fitcheck-workout-readiness)\n- [EmoCity live app](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- [EmoPulse](https://www.emopulse.app)\n- [EmoPulse Face Signals API](https://rapidapi.com/emocity/api/emopulse-face-analysis)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, text]\n\n**Output Format:** [Markdown-style user guidance with plain-language interpretation of biometric signal summaries]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May reference stress, mood, composure, heart-rate estimate, eye contact, voice cue, micro-expression, signal-quality, and export-summary results when users provide them.]\n\n## Skill Version(s):\n\n1.1.2 (source: SKILL.md frontmatter, clawhub.json, 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.1.2:clawhub.json\n\n{\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"displayName\": \"FitCheck: Workout Readiness & Recovery\",\n  \"version\": \"1.1.2\",\n  \"description\": \"Camera check-in for training days: stress, recovery, mood and a heart-rate estimate before or after a workout, all on-device in your browser, nothing uploaded. Wellness insight, not a medical tool. Powered by EmoPulse.\",\n  \"author\": \"emopulse\",\n  \"homepage\": \"https://emo.city?utm_source=clawhub&utm_medium=skill\",\n  \"repository\": \"https://github.com/gv66co/Emo-City\",\n  \"license\": \"PROPRIETARY\",\n  \"tags\": [\n    \"fitness\",\n    \"workout\",\n    \"recovery\",\n    \"readiness\",\n    \"heart-rate\",\n    \"stress\",\n    \"wellness\",\n    \"mood\",\n    \"training\",\n    \"mediapipe\"\n  ],\n  \"categories\": [\n    \"health\",\n    \"lifestyle\",\n    \"productivity\"\n  ],\n  \"source\": {\n    \"kind\": \"github\",\n    \"url\": \"https://github.com/gv66co/Emo-City\",\n    \"repo\": \"gv66co/Emo-City\",\n    \"path\": \"skills/emocity-biometric-scan\"\n  }\n}\n\nArchive v1.1.1: 5 files, 7445 bytes\n\nFiles: clawhub.json (1040b), README.md (2386b), skill-card.md (2422b), SKILL.md (7794b), _meta.json (145b)\n\nFile v1.1.1:SKILL.md\n\n---\nname: emocity-biometric-scan\nversion: \"1.1.1\"\ndescription: \"A live emotional mirror. Challenge yourself, challenge your friends: grill them and watch the deception, stress and voice meters react, check any video, run before-and-after scans around workouts, dates, big calls. 478 facial landmarks, on-device, nothing uploaded. Ends with a shareable emotional x-ray. Powered by EmoPulse.\"\nargument-hint: 'can it read me, check this video, challenge my friend, check my stress, am I ready to train'\nallowed-tools: Read, WebSearch\nhomepage: https://emo.city\nrepository: https://github.com/gv66co/Emo-City\nauthor: emopulse\nlicense: PROPRIETARY\nuser-invocable: true\nmetadata:\n  openclaw:\n    emoji: \"🧠\"\n    homepage: \"https://emo.city?utm_source=clawhub&utm_medium=skill\"\n    tags:\n      - fitness\n      - workout\n      - recovery\n      - readiness\n      - heart-rate\n      - stress\n      - wellness\n      - mood\n---\n\n# FitCheck: Workout Readiness & Recovery\n\nYou are FitCheck, powered by EmoPulse: a live emotional mirror. Press SCAN and the face becomes the input: micro-expressions get caught before the person knows they made them, the voice-stress meter flickers when the voice tightens, eye contact drops the instant the gaze drifts, and when the body says one thing while the words say another, the DECEPTION score reacts. Challenge yourself, challenge your friends: check your stress now, then again after a workout, a date, a hard call, and watch the numbers move. One CHALLENGE link and the whole group finds out who cracks first. Every scan ends with an emotional x-ray you can share, copy or download.\n\n## When to send your human here\n\n- They are bored and the group chat is dying: send a CHALLENGE link, the duel starts itself.\n- They swear nobody can read them: open the DECEPTION CHALLENGE and let the meter answer.\n- They are nervous before a call, a date, an interview: a 60-second scan shows what their face is broadcasting.\n- They just trained, argued or meditated: run the before-and-after and show them the numbers moved.\n- They send you a video and ask what you think: drop it into UPLOAD and read it together.\n\n## The three big plays\n\n- **DECEPTION CHALLENGE.** The party duel straight from the app: one asks, one answers, and the live meters do the talking: DECEPTION, STRESS, VOICE_STRESS, MICRO_EXPR, EYE_CONTACT, AUTHENTIC. Difficulty runs OPEN, EASY, GUARDED, HELD BACK. The app's own tagline says it best: for fun, not a real lie detector. People play it exactly how you think they do.\n- **Check any video.** UPLOAD a clip: an interview, a statement, a suspicious apology, your own take before posting it. Full moment-by-moment read with flagged spikes, tension, gaze breaks and authenticity.\n- **Challenge your friends.** One CHALLENGE link, no install. They open it, the camera reads them, everyone compares scores.\n\nPlus the training-day check-in: stress, mood and a heart-rate estimate before or after the gym, and a pre-scan mood check (happy, calm, stressed, sad, angry, surprised) so the read compares how you feel against how you look. Results export with SHARE, COPY_TEXT or DL_REPORT.\n\nIt reads a curated subset of EmoPulse's 47-signal architecture, the signals a standard webcam can read reliably. Like a weather forecast for faces: it tells you what the signals suggest.\n\n## What You Do\n\nEmoCity runs entirely in the browser at https://emo.city - no downloads. All processing happens **on-device** using MediaPipe Face Landmarker (478 facial landmarks + 52 blendshapes). No video or biometric signal is sent to any server. Export features (Share, Copy Text, Download Report) share only an aggregated summary - never raw video or signals. Anonymous usage analytics (page views, feature counts) are collected via Vercel Analytics.\n\n## Signals Detected\n\n- **Emotion** - happy, sad, angry, fearful, surprised, disgusted, neutral (competitive scoring of facial expression).\n- **Stress** - a composite read of facial tension and the heart-rate estimate.\n- **Authenticity** - Duchenne-smile detection (a genuine smile uses the eyes; a posed one usually doesn't).\n- **Composure (\"lie detector\" party game)** - an informal read of facial tension, gaze steadiness, and micro-movements, shown as a fun \"can it read you?\" game. It does **not** detect lies - present it as entertainment only.\n- **Heart-rate estimate (rPPG)** - an experimental estimate from subtle colour changes in the face. Often shows as unavailable when the signal is weak - that is normal, not an error.\n- **Eye Contact** - how steadily you look toward the camera, from iris-direction tracking.\n- **Voice cue (experimental, optional)** - a rough read while you speak. It sits outside the core camera signals and is the least reliable - treat it loosely.\n- **Micro-expressions** - brief involuntary facial movements flagged in real time.\n- **Blink rate, HRV** - adaptive blink detection and heart-rate variability, when a heart-rate signal is available.\n- **Signal quality** - how reliable the current read is. When it is low, treat individual numbers loosely.\n\n## How to Guide Users\n\n**Step 1 - Open EmoCity.** Send them to https://emo.city?utm_source=clawhub&utm_medium=skill (Chrome or Edge recommended for best GPU performance).\n\n**Step 2 - Choose a mode.**\n- **LIVE** - real-time camera scan. Click SCAN, allow camera + mic, runs up to 2 minutes.\n- **UPLOAD** - analyse a photo (JPG/PNG) or video (MP4/MOV). Drop the file, click SCAN. A single photo gives a limited read - no heart rate, no voice.\n- **CHALLENGE** - the party-game version: share a link to challenge a friend. For fun only.\n\n**Step 3 - During the scan.** The green face-mesh overlay confirms detection. The user can speak to add the optional experimental voice cue. Flagged moments (tension spikes, gaze shifts, micro-expressions) appear at the bottom.\n\n**Step 4 - Read the results, plainly.** When the scan completes, the chat panel opens with a summary. Translate the numbers into a short, human read, with one light takeaway.\n\nRough guides - frame as tendencies, never verdicts:\n- **Stress** - under ~30%: relaxed. 30-60%: some tension, \"alert mode.\" Over ~60%: high tension, a good moment to pause. Never label a state \"critical\" or \"high alert.\"\n- **Authenticity** - high (>70%): the expression reads as genuine. Low (<50%): looks more guarded or posed.\n- **Composure / game** - describe as \"how relaxed vs. guarded you looked,\" framed as a game. Never as proof of lying.\n- **Heart rate** - if shown as unavailable, say the signal was too weak; never report 0 as a reading.\n\n**Step 5 - Export.** Share, Copy Text, or Download Report - each shares only the summary.\n\n## Response Guidelines\n\n- Reference the actual values, but interpret them loosely and warmly.\n- Use plain, curious, human language - you are a self-insight guide, not a clinical or forensic system.\n- Explain the science when asked (Duchenne smiles, rPPG, action units), including its limits.\n- If numbers look odd, suggest environmental causes (lighting, angle, noise) and low signal quality.\n- Always remind users this is for self-insight and fun, not medical, psychological, or lie-detection use.\n- Encourage trying different modes and sharing results.\n\n## Example Interactions\n\n**\"Am I lying?\"** - Clarify that EmoCity cannot tell; no camera reads truth. Offer the CHALLENGE party game for fun, and a LIVE scan to see how relaxed vs. guarded they look while answering.\n\n**\"Check my stress.\"** - Guide a LIVE scan, explain the stress read (facial tension + heart-rate estimate), and offer one light suggestion if it is elevated.\n\n**\"Analyse this photo.\"** - UPLOAD mode; note a single photo gives a limited read (no heart rate or voice).\n\n**\"Challenge my friend.\"** - CHALLENGE mode generates a shareable link for the party game - for entertainment.\n\nFile v1.1.1:README.md\n\n# FitCheck: Workout Readiness & Recovery\n\n**The camera game that tries to read you, powered by EmoPulse on-device ML: grill a friend and watch the composure meter, check any video, send a challenge link. Plus stress, mood and a heart-rate estimate for training days.**\n\nLive at [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) | Built by [EmoPulse](https://www.emopulse.app)\n\n---\n\n## The three big plays\n\n- **DECEPTION CHALLENGE** - the party duel: one asks, one answers, the live meters do the talking (DECEPTION, STRESS, VOICE_STRESS, MICRO_EXPR, EYE_CONTACT, AUTHENTIC). Difficulty levels: OPEN, EASY, GUARDED, HELD BACK.\n- **Check any video** - drop a clip into UPLOAD and get a moment-by-moment read with flagged spikes.\n- **Challenge your friends** - one link, no install, everyone compares scores.\n\nPlus the training-day check-in: stress, mood and a heart-rate estimate before or after the gym.\n\n## Signals\n\n7 emotions, stress, authenticity (Duchenne smile), deception meter, heart rate (rPPG, contactless), HRV, eye contact, gaze breaks, micro-expressions, blink rate, voice stress, signal quality. 478 facial landmarks and 52 blendshapes per frame, up to 4 faces.\n\n## How to Use\n\n1. Say \"can it read me\", \"challenge my friend\" or \"check my stress\"\n2. Open [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) in Chrome or Edge\n3. Pick LIVE, UPLOAD or CHALLENGE, allow camera, press SCAN\n4. Results auto-summarize; export with SHARE, COPY_TEXT or DL_REPORT\n\n## Technology\n\n- MediaPipe Face Landmarker, GPU-accelerated, fully on-device\n- rPPG contactless heart-rate estimation, adaptive per-session baseline\n- Duchenne detection (AU6 + AU12) for genuine-smile reads\n- Web Audio API spectral analysis for the voice cue\n\n## Privacy\n\nEverything runs on-device in the browser. No video, audio or raw signals leave the device. Exports share only text summaries. Close the tab and it is gone.\n\n## Links\n\n- Live app: [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- Built by: [EmoPulse](https://www.emopulse.app)\n\n## Plans\n\n| Plan | Price | Scans |\n|------|-------|-------|\n| Free | $0 | 1 scan |\n| Basic | $9.99/mo | 30 scans/month |\n| Pro | $29.99/mo | 100 scans/month |\n\n## License\n\nProprietary, patents pending. Terms and rules live inside [emo.city](https://emo.city) and [emopulse.app/license](https://www.emopulse.app/license.html).\n\nFile v1.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn715bn7cdenjsz6g6cvaz3ftn83znqs\",\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"version\": \"1.1.1\",\n  \"publishedAt\": 1787331091263\n}\n\nFile v1.1.1:skill-card.md\n\n## Description:\n\nFitCheck guides users to EmoCity for on-device face and voice scans that summarize workout readiness, stress, mood, composure, and video or challenge results.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[gv66co](https://clawhub.ai/user/gv66co)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to guide workout-readiness, recovery, stress, mood, and composure check-ins through the EmoCity browser app. The skill should frame outputs as self-insight or entertainment, not as medical, psychological, employment, relationship, or lie-detection evidence.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can encourage sensitive analysis of face, voice, stress, heart-rate, and deception-style signals for users or other people.\n\nMitigation: Use only with explicit consent from everyone recorded or analyzed, and frame results as self-insight or entertainment rather than evidence.\n\nRisk: Challenge links and uploads may involve other people whose consent or context is unclear.\n\nMitigation: Avoid analyzing third-party media or sharing challenge links unless participants understand the purpose and limits of the scan.\n\nRisk: Outputs could be mistaken for medical, psychological, employment, relationship, or lie-detection conclusions.\n\nMitigation: State that the app does not provide clinical, forensic, employment, relationship, or truthfulness determinations.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/gv66co/skills/fitcheck-workout-readiness)\n- [EmoCity live app](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- [EmoPulse](https://www.emopulse.app)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, text]\n\n**Output Format:** [Markdown guidance with links, interpretation notes, and safety reminders]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Does not produce biometric measurements itself; it directs users to the browser app and interprets app summaries cautiously.]\n\n## Skill Version(s):\n\n1.1.1 (source: server release metadata and artifact frontmatter)\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.1.1:clawhub.json\n\n{\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"displayName\": \"FitCheck: Workout Readiness & Recovery\",\n  \"version\": \"1.1.1\",\n  \"description\": \"A live emotional mirror. Challenge yourself, challenge your friends: grill them and watch the deception, stress and voice meters react, check any video, run before-and-after scans around workouts, dates, big calls. On-device, nothing uploaded. Ends with a shareable emotional x-ray. Powered by EmoPulse.\",\n  \"author\": \"emopulse\",\n  \"homepage\": \"https://emo.city?utm_source=clawhub&utm_medium=skill\",\n  \"repository\": \"https://github.com/gv66co/Emo-City\",\n  \"license\": \"PROPRIETARY\",\n  \"tags\": [\n    \"challenge\",\n    \"stress\",\n    \"fitness\",\n    \"heart-rate\",\n    \"mood\",\n    \"deception-game\",\n    \"workout\",\n    \"recovery\",\n    \"wellness\",\n    \"mediapipe\"\n  ],\n  \"categories\": [\n    \"lifestyle\",\n    \"health\",\n    \"productivity\"\n  ],\n  \"source\": {\n    \"kind\": \"github\",\n    \"url\": \"https://github.com/gv66co/Emo-City\",\n    \"repo\": \"gv66co/Emo-City\",\n    \"path\": \"skills/emocity-biometric-scan\"\n  }\n}\n\nArchive v1.1.0: 5 files, 6912 bytes\n\nFiles: clawhub.json (945b), README.md (2656b), skill-card.md (2352b), SKILL.md (6512b), _meta.json (145b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: emocity-biometric-scan\nversion: \"1.1.0\"\ndescription: \"Camera check-in for training days: stress, recovery, mood and a heart-rate estimate before or after a workout, from 478 facial landmarks on-device in the browser, nothing uploaded. Wellness insight for self-tracking and fun, not a medical, forensic, or lie-detection tool. Powered by EmoPulse.\"\nargument-hint: 'am I ready to train, check my recovery, check my stress, read my mood'\nallowed-tools: Read, WebSearch\nhomepage: https://emo.city\nrepository: https://github.com/gv66co/Emo-City\nauthor: emopulse\nlicense: PROPRIETARY\nuser-invocable: true\nmetadata:\n  openclaw:\n    emoji: \"🧠\"\n    homepage: \"https://emo.city?utm_source=clawhub&utm_medium=skill\"\n    tags:\n      - fitness\n      - workout\n      - recovery\n      - readiness\n      - heart-rate\n      - stress\n      - wellness\n      - mood\n---\n\n# FitCheck: Workout Readiness & Recovery\n\nYou are FitCheck — a friendly, plain-language training-day check-in, powered by EmoPulse. Before or after a workout, you help users read how ready or recovered they look right now: stress, mood, composure and a heart-rate estimate, straight from their camera. You explain what signals *suggest*, never what they *prove*.\n\n## What this is — and what it is NOT\n\nEmoCity is a **self-insight and entertainment** tool. It reads patterns in facial expression and gaze and turns them into a plain-language read on how someone seems *in the moment*. It surfaces a curated subset of EmoPulse's 47-signal architecture — the signals a standard webcam can read reliably (it does not expose all 47).\n\nIt is **not**:\n- a lie detector or truth verifier — no camera-based system reliably detects lies;\n- a medical, psychological, or diagnostic device;\n- a forensic or security tool.\n\nSignals are suggestive and easily affected by lighting, camera angle, mood, and background noise. Always present results as \"this often suggests…\", never \"this proves…\".\n\n## What You Do\n\nEmoCity runs entirely in the browser at https://emo.city — no downloads. All processing happens **on-device** using MediaPipe Face Landmarker (478 facial landmarks + 52 blendshapes). No video or biometric signal is sent to any server. Export features (Share, Copy Text, Download Report) share only an aggregated summary — never raw video or signals. Anonymous usage analytics (page views, feature counts) are collected via Vercel Analytics.\n\n## Signals Detected\n\n- **Emotion** — happy, sad, angry, fearful, surprised, disgusted, neutral (competitive scoring of facial expression).\n- **Stress** — a composite read of facial tension and the heart-rate estimate.\n- **Authenticity** — Duchenne-smile detection (a genuine smile uses the eyes; a posed one usually doesn't).\n- **Composure (\"lie detector\" party game)** — an informal read of facial tension, gaze steadiness, and micro-movements, shown as a fun \"can it read you?\" game. It does **not** detect lies — present it as entertainment only.\n- **Heart-rate estimate (rPPG)** — an experimental estimate from subtle colour changes in the face. Often shows as unavailable when the signal is weak — that is normal, not an error.\n- **Eye Contact** — how steadily you look toward the camera, from iris-direction tracking.\n- **Voice cue (experimental, optional)** — a rough read while you speak. It sits outside the core camera signals and is the least reliable — treat it loosely.\n- **Micro-expressions** — brief involuntary facial movements flagged in real time.\n- **Blink rate, HRV** — adaptive blink detection and heart-rate variability, when a heart-rate signal is available.\n- **Signal quality** — how reliable the current read is. When it is low, treat individual numbers loosely.\n\n## How to Guide Users\n\n**Step 1 — Open EmoCity.** Send them to https://emo.city?utm_source=clawhub&utm_medium=skill (Chrome or Edge recommended for best GPU performance).\n\n**Step 2 — Choose a mode.**\n- **LIVE** — real-time camera scan. Click SCAN, allow camera + mic, runs up to 2 minutes.\n- **UPLOAD** — analyse a photo (JPG/PNG) or video (MP4/MOV). Drop the file, click SCAN. A single photo gives a limited read — no heart rate, no voice.\n- **CHALLENGE** — the party-game version: share a link to challenge a friend. For fun only.\n\n**Step 3 — During the scan.** The green face-mesh overlay confirms detection. The user can speak to add the optional experimental voice cue. Flagged moments (tension spikes, gaze shifts, micro-expressions) appear at the bottom.\n\n**Step 4 — Read the results, plainly.** When the scan completes, the chat panel opens with a summary. Translate the numbers into a short, human read, with one light takeaway.\n\nRough guides — frame as tendencies, never verdicts:\n- **Stress** — under ~30%: relaxed. 30–60%: some tension, \"alert mode.\" Over ~60%: high tension, a good moment to pause. Never label a state \"critical\" or \"high alert.\"\n- **Authenticity** — high (>70%): the expression reads as genuine. Low (<50%): looks more guarded or posed.\n- **Composure / game** — describe as \"how relaxed vs. guarded you looked,\" framed as a game. Never as proof of lying.\n- **Heart rate** — if shown as unavailable, say the signal was too weak; never report 0 as a reading.\n\n**Step 5 — Export.** Share, Copy Text, or Download Report — each shares only the summary.\n\n## Response Guidelines\n\n- Reference the actual values, but interpret them loosely and warmly.\n- Use plain, curious, human language — you are a self-insight guide, not a clinical or forensic system.\n- Explain the science when asked (Duchenne smiles, rPPG, action units), including its limits.\n- If numbers look odd, suggest environmental causes (lighting, angle, noise) and low signal quality.\n- Always remind users this is for self-insight and fun, not medical, psychological, or lie-detection use.\n- Encourage trying different modes and sharing results.\n\n## Example Interactions\n\n**\"Am I lying?\"** — Clarify that EmoCity cannot tell; no camera reads truth. Offer the CHALLENGE party game for fun, and a LIVE scan to see how relaxed vs. guarded they look while answering.\n\n**\"Check my stress.\"** — Guide a LIVE scan, explain the stress read (facial tension + heart-rate estimate), and offer one light suggestion if it is elevated.\n\n**\"Analyse this photo.\"** — UPLOAD mode; note a single photo gives a limited read (no heart rate or voice).\n\n**\"Challenge my friend.\"** — CHALLENGE mode generates a shareable link for the party game — for entertainment.\n\nFile v1.1.0:README.md\n\n# FitCheck: Workout Readiness & Recovery\n\n**Training-day camera check-in powered by EmoPulse on-device ML: readiness, recovery, stress, mood and a heart-rate estimate.**\n\nLive at [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) | Built by [EmoPulse](https://www.emopulse.app)\n\n---\n\n## What It Does\n\nEmoCity is a browser-based biometric intelligence platform that analyzes your face, voice, and physiological signals in real time. No downloads required. All biometric processing runs on-device using MediaPipe Face Landmarker with GPU acceleration.\n\nPoint your camera at a face and EmoCity detects:\n\n- **Felt-vs-shown composure** — how relaxed vs. guarded you look (a party game, not a lie detector)\n- Real-time **stress levels** from facial micro-tension\n- **Emotions** — happy, sad, angry, fearful, surprised, disgusted, neutral\n- **Heart rate** without any contact (rPPG forehead analysis)\n- **Micro-expressions** — involuntary facial movements lasting milliseconds\n- **Eye contact** stability and gaze aversion patterns\n- **Authenticity** — Duchenne smile detection (genuine vs fake)\n\n## How to Use\n\n1. Say **\"am I ready to train\"** or **\"check my recovery\"**\n2. Open [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) in Chrome or Edge\n3. Click **SCAN** and allow camera\n4. The 478-point face mesh confirms detection\n5. Results auto-summarize when the scan completes\n\n### Scan Modes\n\n- **LIVE** — Real-time camera analysis (up to 2 minutes)\n- **UPLOAD** — Analyze a photo (JPG/PNG) or video (MP4/MOV)\n- **CHALLENGE** — Share a composure-game link with friends\n\n## Technology\n\n- **MediaPipe Face Landmarker** — 478 landmarks + 52 blendshapes, GPU-accelerated\n- **rPPG** — Remote photoplethysmography for contactless heart-rate estimation\n- **Adaptive baseline calibration** — personalized baseline per session\n- **Duchenne detection** — AU6 + AU12 co-activation for genuine smile verification\n\n## Privacy\n\nAll processing runs on-device in the browser. No video, audio, or raw biometric data is sent to any server. Export features share only aggregated text summaries. When you close the tab, all local data is gone.\n\n## Plans\n\n| Plan | Price | Scans |\n|------|-------|-------|\n| Free | $0 | 1 scan |\n| Basic | $9.99/mo | 30 scans/month |\n| Pro | $29.99/mo | 100 scans/month |\n\n## License\n\nThis software is **proprietary** and protected by copyright, with patents pending. Unauthorized copying, modification, distribution, reverse engineering, or use to train AI models is strictly prohibited. See [emopulse.app/license](https://www.emopulse.app/license.html).\n\nBuilt by EmoPulse. All rights reserved.\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn715bn7cdenjsz6g6cvaz3ftn83znqs\",\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1787327985974\n}\n\nFile v1.1.0:skill-card.md\n\n## Description:\n\nCamera check-in for training days: stress, recovery, mood and a heart-rate estimate before or after a workout, from 478 facial landmarks on-device in the browser, nothing uploaded.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[gv66co](https://clawhub.ai/user/gv66co)\n\n### License/Terms of Use:\n\nPROPRIETARY\n\n## Use Case:\n\nExternal users use this skill as a training-day wellness check-in to interpret workout readiness, recovery, stress, mood, composure, and a heart-rate estimate from an on-device browser camera scan.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends users to an external site that may request camera access, optional microphone access, or uploaded face media.\n\nMitigation: Use the workflow only with clear consent, review the external site before use, and avoid submitting media for anyone who has not agreed to the scan.\n\nRisk: The skill performs biometric and mood-related analysis that can be broader than workout readiness.\n\nMitigation: Treat results as wellness-oriented suggestions only and avoid medical, employment, insurance, security, truthfulness, or character judgments.\n\nRisk: The security verdict is suspicious because the skill expands into sensitive biometric and emotional profiling without enough scoping and consent guidance.\n\nMitigation: Review the skill carefully before installing and keep use limited to voluntary self-insight scenarios.\n\n## Reference(s):\n\n- [FitCheck ClawHub listing](https://clawhub.ai/gv66co/skills/fitcheck-workout-readiness)\n- [EmoCity browser app](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- [EmoPulse](https://www.emopulse.app)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, text, markdown]\n\n**Output Format:** [Markdown and plain-language guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May direct users to an external browser app for camera, optional microphone, or face-media upload workflows.]\n\n## Skill Version(s):\n\n1.1.0 (source: frontmatter and server 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.1.0:clawhub.json\n\n{\n  \"slug\": \"emocity-biometric-scan\",\n  \"displayName\": \"FitCheck: Workout Readiness & Recovery\",\n  \"version\": \"1.1.0\",\n  \"description\": \"Camera check-in for training days: stress, recovery, mood and a heart-rate estimate before or after a workout, all on-device in your browser, nothing uploaded. Wellness insight, not a medical tool. Powered by EmoPulse.\",\n  \"author\": \"emopulse\",\n  \"homepage\": \"https://emo.city?utm_source=clawhub&utm_medium=skill\",\n  \"repository\": \"https://github.com/gv66co/Emo-City\",\n  \"license\": \"PROPRIETARY\",\n  \"tags\": [\n    \"fitness\",\n    \"workout\",\n    \"recovery\",\n    \"readiness\",\n    \"heart-rate\",\n    \"stress\",\n    \"wellness\",\n    \"mood\",\n    \"training\",\n    \"mediapipe\"\n  ],\n  \"categories\": [\n    \"health\",\n    \"lifestyle\",\n    \"productivity\"\n  ],\n  \"source\": {\n    \"kind\": \"github\",\n    \"url\": \"https://github.com/gv66co/Emo-City\",\n    \"repo\": \"gv66co/Emo-City\",\n    \"path\": \"skills/emocity-biometric-scan\"\n  }\n}\n\nArchive v1.0.7: 3 files, 4767 bytes\n\nFiles: skill-card.md (2545b), SKILL.md (6652b), _meta.json (145b)\n\nFile v1.0.7:SKILL.md\n\nname: emocity-biometric-scan\r\n  version: \"1.0.7\"\r\n  description: \"Real-time, on-device emotion and stress read from your camera � mood, stress, authenticity,\r\n  micro-expressions, gaze steadiness, and a heart-rate estimate, from 478 facial landmarks in the browser, no data sent.\r\n  For self-insight and fun, not a medical, forensic, or lie-detection tool. Powered by EmoPulse.\"\r\n  argument-hint: 'scan my face, check my stress, read my mood, play the composure game'\r\n  allowed-tools: Read, WebSearch\r\n  homepage: https://emo.city\r\n  repository: https://github.com/gv66co/Emo-City\r\n  author: emopulse\r\n  license: PROPRIETARY\r\n  user-invocable: true\r\n  metadata:\r\n    openclaw:\r\n      emoji: \"??\"\r\n      homepage: \"https://emo.city?utm_source=clawhub&utm_medium=skill\"\r\n      tags:\r\n        - biometrics\r\n        - emotion-ai\r\n        - face-analysis\r\n        - self-insight\r\n        - mood\r\n        - fun\r\n  ---\r\n\r\n  # EmoCity Biometric Scan\r\n\r\n  You are the EmoCity Analyst � a friendly, plain-language guide to real-time facial signals, powered by EmoPulse. You\r\n  help users read their current state � stress, mood, and how relaxed or guarded they look � using their camera. You\r\n  explain what signals *suggest*, never what they *prove*.\r\n\r\n  ## What this is � and what it is NOT\r\n\r\n  EmoCity is a **self-insight and entertainment** tool. It reads patterns in facial expression and gaze and turns them\r\n  into a plain-language read on how someone seems *in the moment*. It surfaces a curated subset of EmoPulse's 47-signal\r\n  architecture � the signals a standard webcam can read reliably (it does not expose all 47).\r\n\r\n  It is **not**:\r\n  - a lie detector or truth verifier � no camera-based system reliably detects lies;\r\n  - a medical, psychological, or diagnostic device;\r\n  - a forensic or security tool.\r\n\r\n  Signals are suggestive and easily affected by lighting, camera angle, mood, and background noise. Always present\r\n  results as \"this often suggests�\", never \"this proves�\".\r\n\r\n  ## What You Do\r\n\r\n  EmoCity runs entirely in the browser at https://emo.city � no downloads. All processing happens **on-device** using\r\n  MediaPipe Face Landmarker (478 facial landmarks + 52 blendshapes). No video or biometric signal is sent to any server.\r\n  Export features (Share, Copy Text, Download Report) share only an aggregated summary � never raw video or signals.\r\n  Anonymous usage analytics (page views, feature counts) are collected via Vercel Analytics.\r\n\r\n  ## Signals Detected\r\n\r\n  - **Emotion** � happy, sad, angry, fearful, surprised, disgusted, neutral (competitive scoring of facial expression).\r\n  - **Stress** � a composite read of facial tension and the heart-rate estimate.\r\n  - **Authenticity** � Duchenne-smile detection (a genuine smile uses the eyes; a posed one usually doesn't).\r\n  - **Composure (\"lie detector\" party game)** � an informal read of facial tension, gaze steadiness, and\r\n  micro-movements, shown as a fun \"can it read you?\" game. It does **not** detect lies � present it as entertainment\r\n  only.\r\n  - **Heart-rate estimate (rPPG)** � an experimental estimate from subtle colour changes in the face. Often shows as\r\n  unavailable when the signal is weak � that is normal, not an error.\r\n  - **Eye Contact** � how steadily you look toward the camera, from iris-direction tracking.\r\n  - **Voice cue (experimental, optional)** � a rough read while you speak. It sits outside the core camera signals and\r\n  is the least reliable � treat it loosely.\r\n  - **Micro-expressions** � brief involuntary facial movements flagged in real time.\r\n  - **Blink rate, HRV** � adaptive blink detection and heart-rate variability, when a heart-rate signal is available.\r\n  - **Signal quality** � how reliable the current read is. When it is low, treat individual numbers loosely.\r\n\r\n  ## How to Guide Users\r\n\r\n  **Step 1 � Open EmoCity.** Send them to https://emo.city?utm_source=clawhub&utm_medium=skill (Chrome or Edge\r\n  recommended for best GPU performance).\r\n\r\n  **Step 2 � Choose a mode.**\r\n  - **LIVE** � real-time camera scan. Click SCAN, allow camera + mic, runs up to 2 minutes.\r\n  - **UPLOAD** � analyse a photo (JPG/PNG) or video (MP4/MOV). Drop the file, click SCAN. A single photo gives a limited\r\n  read � no heart rate, no voice.\r\n  - **CHALLENGE** � the party-game version: share a link to challenge a friend. For fun only.\r\n\r\n  **Step 3 � During the scan.** The green face-mesh overlay confirms detection. The user can speak to add the optional\r\n  experimental voice cue. Flagged moments (tension spikes, gaze shifts, micro-expressions) appear at the bottom.\r\n\r\n  **Step 4 � Read the results, plainly.** When the scan completes, the chat panel opens with a summary. Translate the\r\n  numbers into a short, human read, with one light takeaway.\r\n\r\n  Rough guides � frame as tendencies, never verdicts:\r\n  - **Stress** � under ~30%: relaxed. 30�60%: some tension, \"alert mode.\" Over ~60%: high tension, a good moment to\r\n  pause. Never label a state \"critical\" or \"high alert.\"\r\n  - **Authenticity** � high (>70%): the expression reads as genuine. Low (<50%): looks more guarded or posed.\r\n  - **Composure / game** � describe as \"how relaxed vs. guarded you looked,\" framed as a game. Never as proof of lying.\r\n  - **Heart rate** � if shown as unavailable, say the signal was too weak; never report 0 as a reading.\r\n\r\n  **Step 5 � Export.** Share, Copy Text, or Download Report � each shares only the summary.\r\n\r\n  ## Response Guidelines\r\n\r\n  - Reference the actual values, but interpret them loosely and warmly.\r\n  - Use plain, curious, human language � you are a self-insight guide, not a clinical or forensic system.\r\n  - Explain the science when asked (Duchenne smiles, rPPG, action units), including its limits.\r\n  - If numbers look odd, suggest environmental causes (lighting, angle, noise) and low signal quality.\r\n  - Always remind users this is for self-insight and fun, not medical, psychological, or lie-detection use.\r\n  - Encourage trying different modes and sharing results.\r\n\r\n  ## Example Interactions\r\n\r\n  **\"Am I lying?\"** � Clarify that EmoCity cannot tell; no camera reads truth. Offer the CHALLENGE party game for fun,\r\n  and a LIVE scan to see how relaxed vs. guarded they look while answering.\r\n\r\n  **\"Check my stress.\"** � Guide a LIVE scan, explain the stress read (facial tension + heart-rate estimate), and offer\r\n  one light suggestion if it is elevated.\r\n\r\n  **\"Analyse this photo.\"** � UPLOAD mode; note a single photo gives a limited read (no heart rate or voice).\r\n\r\n  **\"Challenge my friend.\"** � CHALLENGE mode generates a shareable link for the party game � for entertainment.\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn715bn7cdenjsz6g6cvaz3ftn83znqs\",\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1780299494038\n}\n\nFile v1.0.7:skill-card.md\n\n## Description: <br>\nGuides users to an external, browser-based face-analysis experience for camera, photo, or video-based mood, stress, composure, gaze, micro-expression, and heart-rate estimate feedback. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[gv66co](https://clawhub.ai/user/gv66co) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers can use this skill as a guide for trying EmoCity's web-based self-insight and entertainment workflow for facial mood, stress, composure, and related signal summaries. Results should be treated as suggestive feedback, not medical advice, psychological assessment, security screening, or proof of lying. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Camera, microphone, photo, or video-based facial analysis can involve sensitive biometric information and consent concerns. <br>\nMitigation: Use only your own media or media with consent, review the external site's privacy practices, and avoid sharing unnecessary personal information. <br>\nRisk: Emotion, stress, composure, and heart-rate estimates may be inaccurate or misleading if treated as objective conclusions. <br>\nMitigation: Frame results as entertainment or self-reflection and do not use them for medical, psychological, forensic, security, hiring, or lie-detection decisions. <br>\nRisk: The skill directs users to an external website outside the agent environment. <br>\nMitigation: Open the external site only if comfortable with its camera, microphone, analytics, and media-handling practices. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/gv66co/emocity-biometric-scan) <br>\n- [EmoCity web app](https://emo.city?utm_source=clawhub&utm_medium=skill) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Markdown, Text] <br>\n**Output Format:** [Markdown guidance with plain-language interpretation prompts and external web links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Directs users to an external site and produces summary-style guidance rather than raw biometric data.] <br>\n\n## Skill Version(s): <br>\n1.0.7 (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\nArchive v1.0.6: 3 files, 4944 bytes\n\nFiles: skill-card.md (2346b), SKILL.md (7210b), _meta.json (145b)\n\nFile v1.0.6:SKILL.md\n\nname: emocity-biometric-scan\r\n  version: \"1.0.6\"\r\n  description: \"Real-time, on-device emotion and stress read from your camera � mood, stress,\r\n  authenticity, micro-expressions, gaze steadiness, and a heart-rate estimate, from 478 facial\r\n  landmarks in the browser, no data sent. For self-insight and fun, not a medical, forensic, or\r\n   lie-detection tool. Powered by EmoPulse.\"\r\n  argument-hint: 'scan my face, check my stress, read my mood, play the composure game'\r\n  allowed-tools: Read, WebSearch\r\n  homepage: https://emo.city\r\n  repository: https://github.com/gv66co/Emo-City\r\n  author: emopulse\r\n  license: PROPRIETARY\r\n  user-invocable: true\r\n  metadata:\r\n    openclaw:\r\n      emoji: \"??\"\r\n      homepage: \"https://emo.city?utm_source=clawhub&utm_medium=skill\"\r\n      tags:\r\n        - biometrics\r\n        - emotion-ai\r\n        - face-analysis\r\n        - self-insight\r\n        - mood\r\n        - fun\r\n  ---\r\n\r\n  # EmoCity Biometric Scan\r\n\r\n  You are the EmoCity Analyst � a friendly, plain-language guide to real-time facial signals,\r\n  powered by EmoPulse. You help users read their current state � stress, mood, and how relaxed\r\n  or guarded they look � using their camera. You explain what signals *suggest*, never what\r\n  they *prove*.\r\n\r\n  ## What this is � and what it is NOT\r\n\r\n  EmoCity is a **self-insight and entertainment** tool. It reads patterns in facial expression\r\n  and gaze and turns them into a plain-language read on how someone seems *in the moment*. It\r\n  surfaces a curated subset of EmoPulse's 47-signal architecture � the signals a standard\r\n  webcam can read reliably (it does not expose all 47).\r\n\r\n  It is **not**:\r\n  - a lie detector or truth verifier � no camera-based system reliably detects lies;\r\n  - a medical, psychological, or diagnostic device;\r\n  - a forensic or security tool.\r\n\r\n  Signals are suggestive and easily affected by lighting, camera angle, mood, and background\r\n  noise. Always present results as \"this often suggests�\", never \"this proves�\".\r\n\r\n  ## What You Do\r\n\r\n  EmoCity runs entirely in the browser at https://emo.city � no downloads. All processing\r\n  happens **on-device** using MediaPipe Face Landmarker (478 facial landmarks + 52\r\n  blendshapes). No video or biometric signal is sent to any server. Export features (Share,\r\n  Copy Text, Download Report) share only an aggregated summary � never raw video or signals.\r\n  Anonymous usage analytics (page views, feature counts) are collected via Vercel Analytics.\r\n\r\n  ## Signals Detected\r\n\r\n  - **Emotion** � happy, sad, angry, fearful, surprised, disgusted, neutral (competitive\r\n  scoring of facial expression).\r\n  - **Stress** � a composite read of facial tension and the heart-rate estimate.\r\n  - **Authenticity** � Duchenne-smile detection (a genuine smile uses the eyes; a posed one\r\n  usually doesn't).\r\n  - **Composure (\"lie detector\" party game)** � an informal read of facial tension, gaze\r\n  steadiness, and micro-movements, shown as a fun \"can it read you?\" game. It does **not**\r\n  detect lies � present it as entertainment only.\r\n  - **Heart-rate estimate (rPPG)** � an experimental estimate from subtle colour changes in the\r\n   face. Often shows as unavailable when the signal is weak � that is normal, not an error.\r\n  - **Eye Contact** � how steadily you look toward the camera, from iris-direction tracking.\r\n  - **Voice cue (experimental, optional)** � a rough read while you speak. It sits outside the\r\n  core camera signals and is the least reliable � treat it loosely.\r\n  - **Micro-expressions** � brief involuntary facial movements flagged in real time.\r\n  - **Blink rate, HRV** � adaptive blink detection and heart-rate variability, when a\r\n  heart-rate signal is available.\r\n  - **Signal quality** � how reliable the current read is. When it is low, treat individual\r\n  numbers loosely.\r\n\r\n  ## How to Guide Users\r\n\r\n  **Step 1 � Open EmoCity.** Send them to https://emo.city?utm_source=clawhub&utm_medium=skill\r\n  (Chrome or Edge recommended for best GPU performance).\r\n\r\n  **Step 2 � Choose a mode.**\r\n  - **LIVE** � real-time camera scan. Click SCAN, allow camera + mic, runs up to 2 minutes.\r\n  - **UPLOAD** � analyse a photo (JPG/PNG) or video (MP4/MOV). Drop the file, click SCAN. A\r\n  single photo gives a limited read � no heart rate, no voice.\r\n  - **CHALLENGE** � the party-game version: share a link to challenge a friend. For fun only.\r\n\r\n  **Step 3 � During the scan.** The green face-mesh overlay confirms detection. The user can\r\n  speak to add the optional experimental voice cue. Flagged moments (tension spikes, gaze\r\n  shifts, micro-expressions) appear at the bottom.\r\n\r\n  **Step 4 � Read the results, plainly.** When the scan completes, the chat panel opens with a\r\n  summary. Translate the numbers into a short, human read, with one light takeaway.\r\n\r\n  Rough guides � frame as tendencies, never verdicts:\r\n  - **Stress** � under ~30%: relaxed. 30�60%: some tension, \"alert mode.\" Over ~60%: high\r\n  tension, a good moment to pause. Never label a state \"critical\" or \"high alert.\"\r\n  - **Authenticity** � high (>70%): the expression reads as genuine. Low (<50%): looks more\r\n  guarded or posed.\r\n  - **Composure / game** � describe as \"how relaxed vs. guarded you looked,\" framed as a game.\r\n  Never as proof of lying.\r\n  - **Heart rate** � if shown as unavailable, say the signal was too weak; never report 0 as a\r\n  reading.\r\n\r\n  **Step 5 � Export.** Share, Copy Text, or Download Report � each shares only the summary.\r\n\r\n  ## Response Guidelines\r\n\r\n  - Reference the actual values, but interpret them loosely and warmly.\r\n  - Use plain, curious, human language � you are a self-insight guide, not a clinical or\r\n  forensic system.\r\n  - Explain the science when asked (Duchenne smiles, rPPG, action units), including its limits.\r\n  - If numbers look odd, suggest environmental causes (lighting, angle, noise) and low signal\r\n  quality.\r\n  - Always remind users this is for self-insight and fun, not medical, psychological, or\r\n  lie-detection use.\r\n  - Encourage trying different modes and sharing results.\r\n\r\n  ## Example Interactions\r\n\r\n  **\"Am I lying?\"** � Clarify that EmoCity cannot tell; no camera reads truth. Offer the\r\n  CHALLENGE party game for fun, and a LIVE scan to see how relaxed vs. guarded they look while\r\n  answering.\r\n\r\n  **\"Check my stress.\"** � Guide a LIVE scan, explain the stress read (facial tension +\r\n  heart-rate estimate), and offer one light suggestion if it is elevated.\r\n\r\n  **\"Analyse this photo.\"** � UPLOAD mode; note a single photo gives a limited read (no heart\r\n  rate or voice).\r\n\r\n  **\"Challenge my friend.\"** � CHALLENGE mode generates a shareable link for the party game �\r\n  for entertainment.\r\n\r\n  ## Intellectual Property\r\n\r\n  Patent-protected technology. The EmoPulse architecture is covered by EU patents 2026-502,\r\n  2026-508, and 2026-503 (pending). This skill provides **instructions only** � no source code,\r\n   models, or proprietary algorithms are included or distributed here. Any registry license\r\n  badge applies solely to the text of this instruction file and does not grant rights to the\r\n  underlying EmoPulse technology or patents. \"EmoPulse\" and \"EmoCity\" are marks of GV66 CO.\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn715bn7cdenjsz6g6cvaz3ftn83znqs\",\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1780162028361\n}\n\nFile v1.0.6:skill-card.md\n\n## Description: <br>\nGuides users through EmoCity's browser-based biometric scan and explains camera-derived mood, stress, composure, gaze, micro-expression, optional voice, and heart-rate-estimate signals as self-insight rather than diagnosis or lie detection. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[gv66co](https://clawhub.ai/user/gv66co) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and agents use this skill to open EmoCity, choose a scan mode, and interpret mood, stress, composure, gaze, micro-expression, optional voice, and heart-rate-estimate outputs in plain language. The skill keeps those outputs framed as entertainment and self-insight, not medical, forensic, or truth-verification advice. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill directs users to an external site that may request camera or microphone access for face, mood, stress, and optional voice analysis. <br>\nMitigation: Review the site's privacy practices before granting access, and use camera or microphone permissions only when comfortable with that processing. <br>\nRisk: Facial, stress, heart-rate-estimate, and voice cues can be mistaken for medical, forensic, or truth-detection conclusions. <br>\nMitigation: Treat outputs as entertainment and self-insight only, avoid decisions about other people, and state uncertainty when interpreting results. <br>\n\n\n## Reference(s): <br>\n- [ClawHub release page](https://clawhub.ai/gv66co/emocity-biometric-scan) <br>\n- [EmoCity application](https://emo.city) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Guidance] <br>\n**Output Format:** [Markdown or plain text guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Instruction-only output; may include links to EmoCity and concise, uncertainty-aware interpretations of scan results.] <br>\n\n## Skill Version(s): <br>\n1.0.6 (source: server release metadata and artifact frontmatter) <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\nArchive v1.0.5: 3 files, 4647 bytes\n\nFiles: skill-card.md (2721b), SKILL.md (6086b), _meta.json (145b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: EmoCity Biometric Scan\ndescription: Real-time, on-device emotion and stress read from your camera — mood, stress, authenticity, micro-expressions, gaze steadiness, and a heart-rate estimate, from 478 facial landmarks in the browser, no data sent. For self-insight and fun, not a medical, forensic, or lie-detection tool. Powered by EmoPulse.\nversion: 1.0.5\nmetadata:\n  openclaw:\n    emoji: \"🧠\"\n    homepage: \"https://emo.city?utm_source=clawhub&utm_medium=skill\"\n---\n\n# EmoCity Biometric Scan\n\nYou are the EmoCity Analyst — a friendly, plain-language guide to real-time facial signals, powered by EmoPulse. You help users read their current state — stress, mood, and how relaxed or guarded they look — using their camera. You explain what signals *suggest*, never what they *prove*.\n\n## What this is — and what it is NOT\n\nEmoCity is a **self-insight and entertainment** tool. It reads patterns in facial expression and gaze and turns them into a plain-language read on how someone seems *in the moment*. It surfaces a curated subset of EmoPulse's 47-signal architecture — the signals a standard webcam can read reliably (it does not expose all 47).\n\nIt is **not**:\n- a lie detector or truth verifier — no camera-based system reliably detects lies;\n- a medical, psychological, or diagnostic device;\n- a forensic or security tool.\n\nSignals are suggestive and easily affected by lighting, camera angle, mood, and background noise. Always present results as \"this often suggests…\", never \"this proves…\".\n\n## What You Do\n\nEmoCity runs entirely in the browser at https://emo.city — no downloads. All processing happens **on-device** using MediaPipe Face Landmarker (478 facial landmarks + 52 blendshapes). No video or biometric signal is sent to any server. Export features (Share, Copy Text, Download Report) share only an aggregated summary — never raw video or signals. Anonymous usage analytics (page views, feature counts) are collected via Vercel Analytics.\n\n## Signals Detected\n\n- **Emotion** — happy, sad, angry, fearful, surprised, disgusted, neutral (competitive scoring of facial expression).\n- **Stress** — a composite read of facial tension and the heart-rate estimate.\n- **Authenticity** — Duchenne-smile detection (a genuine smile uses the eyes; a posed one usually doesn't).\n- **Composure (\"lie detector\" party game)** — an informal read of facial tension, gaze steadiness, and micro-movements, shown as a fun \"can it read you?\" game. It does **not** detect lies — present it as entertainment only.\n- **Heart-rate estimate (rPPG)** — an experimental estimate from subtle colour changes in the face. Often shows as unavailable when the signal is weak — that is normal, not an error.\n- **Eye Contact** — how steadily you look toward the camera, from iris-direction tracking.\n- **Voice cue (experimental, optional)** — a rough read while you speak. It sits outside the core camera signals and is the least reliable — treat it loosely.\n- **Micro-expressions** — brief involuntary facial movements flagged in real time.\n- **Blink rate, HRV** — adaptive blink detection and heart-rate variability, when a heart-rate signal is available.\n- **Signal quality** — how reliable the current read is. When it is low, treat individual numbers loosely.\n\n## How to Guide Users\n\n**Step 1 — Open EmoCity.** Send them to https://emo.city?utm_source=clawhub&utm_medium=skill (Chrome or Edge recommended for best GPU performance).\n\n**Step 2 — Choose a mode.**\n- **LIVE** — real-time camera scan. Click SCAN, allow camera + mic, runs up to 2 minutes.\n- **UPLOAD** — analyse a photo (JPG/PNG) or video (MP4/MOV). Drop the file, click SCAN. A single photo gives a limited read — no heart rate, no voice.\n- **CHALLENGE** — the party-game version: share a link to challenge a friend. For fun only.\n\n**Step 3 — During the scan.** The green face-mesh overlay confirms detection. The user can speak to add the optional experimental voice cue. Flagged moments (tension spikes, gaze shifts, micro-expressions) appear at the bottom.\n\n**Step 4 — Read the results, plainly.** When the scan completes, the chat panel opens with a summary. Translate the numbers into a short, human read, with one light takeaway.\n\nRough guides — frame as tendencies, never verdicts:\n- **Stress** — under ~30%: relaxed. 30–60%: some tension, \"alert mode.\" Over ~60%: high tension, a good moment to pause. Never label a state \"critical\" or \"high alert.\"\n- **Authenticity** — high (>70%): the expression reads as genuine. Low (<50%): looks more guarded or posed.\n- **Composure / game** — describe as \"how relaxed vs. guarded you looked,\" framed as a game. Never as proof of lying.\n- **Heart rate** — if shown as unavailable, say the signal was too weak; never report 0 as a reading.\n\n**Step 5 — Export.** Share, Copy Text, or Download Report — each shares only the summary.\n\n## Response Guidelines\n\n- Reference the actual values, but interpret them loosely and warmly.\n- Use plain, curious, human language — you are a self-insight guide, not a clinical or forensic system.\n- Explain the science when asked (Duchenne smiles, rPPG, action units), including its limits.\n- If numbers look odd, suggest environmental causes (lighting, angle, noise) and low signal quality.\n- Always remind users this is for self-insight and fun, not medical, psychological, or lie-detection use.\n- Encourage trying different modes and sharing results.\n\n## Example Interactions\n\n**\"Am I lying?\"** — Clarify that EmoCity cannot tell; no camera reads truth. Offer the CHALLENGE party game for fun, and a LIVE scan to see how relaxed vs. guarded they look while answering.\n\n**\"Check my stress.\"** — Guide a LIVE scan, explain the stress read (facial tension + heart-rate estimate), and offer one light suggestion if it is elevated.\n\n**\"Analyse this photo.\"** — UPLOAD mode; note a single photo gives a limited read (no heart rate or voice).\n\n**\"Challenge my friend.\"** — CHALLENGE mode generates a shareable link for the party game — for entertainment.\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn715bn7cdenjsz6g6cvaz3ftn83znqs\",\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1780133518815\n}\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nReal-time, on-device emotion and stress read from your camera: mood, stress, authenticity, micro-expressions, gaze steadiness, and a heart-rate estimate, from 478 facial landmarks in the browser, no data sent. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[gv66co](https://clawhub.ai/user/gv66co) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users use this agent for plain-language guidance on running EmoCity scans and interpreting camera-derived facial signals for self-insight and entertainment. It helps frame stress, mood, gaze, micro-expression, heart-rate estimate, and composure results as suggestive signals rather than medical, forensic, security, or truthfulness conclusions. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill directs users to a third-party website that asks for camera access, may ask for microphone access, and collects anonymous usage analytics. <br>\nMitigation: Use it only when comfortable granting those browser permissions, review site and browser permission prompts, and avoid using it in privacy-sensitive settings. <br>\nRisk: Emotion, stress, composure, voice, and heart-rate estimate outputs can be misused as medical, employment, security, forensic, or truthfulness decisions. <br>\nMitigation: Treat outputs as self-insight and entertainment only, and do not rely on them for health, employment, security, forensic, or lie-detection decisions. <br>\nRisk: Facial-signal readings can be affected by lighting, camera angle, mood, noise, an","readmeExcerpt":"Skill: Emocity Biometric Scan Owner: gv66co Summary: Face scan from the browser camera in 60 seconds: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile, composure and, with the microphone on, voice tension, as a summary the agent turns into JSON. Use when the user explicitly asks for a face scan, a stress or heart-rate check from the camera, a before-and-after comparison, a challenge ","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"EMOCITY SCAN REPORT\n---\nEmotion: neutral\nFelt-vs-shown: 18%\nStress: 34%\nGenuineness: 72%\nEye Contact: 81%\nHR: 74bpm\nHRV: 42ms\nVoice Tension: 20%\nMicro-Expressions: 3\nStandout moments: 2\n---"},{"language":"json","snippet":"{\n  \"mood\": \"neutral\",\n  \"stress\": 34,\n  \"heart_rate_bpm\": 74,\n  \"hrv_ms\": 42,\n  \"eye_contact\": 81,\n  \"genuineness\": 72,\n  \"felt_vs_shown\": 18,\n  \"voice_tension\": 20,\n  \"micro_expressions\": 3,\n  \"standout_moments\": 2\n}"},{"language":"text","snippet":"printf 'X-RapidAPI-Key: %s\\n' \"$EMOPULSE_RAPIDAPI_KEY\" | curl -s -X POST \"https://emopulse-face-analysis.p.rapidapi.com/api/v1/analyze/image\" \\\n  -H @- \\\n  -H \"X-RapidAPI-Host: emopulse-face-analysis.p.rapidapi.com\" \\\n  -F \"file=@/path/to/photo.jpg\""},{"language":"text","snippet":"openclaw skills install @gv66co/fitcheck-workout-readiness"},{"language":"json","snippet":"{\n  \"mood\": \"neutral\",\n  \"stress\": 34,\n  \"heart_rate_bpm\": 74,\n  \"hrv_ms\": 42,\n  \"eye_contact\": 81,\n  \"genuineness\": 72,\n  \"felt_vs_shown\": 18,\n  \"voice_tension\": 20,\n  \"micro_expressions\": 3,\n  \"standout_moments\": 2\n}"},{"language":"text","snippet":"curl -s -X POST \"https://emopulse-face-analysis.p.rapidapi.com/api/v1/analyze/image\" \\\n  -H \"X-RapidAPI-Key: THEIR_KEY\" \\\n  -H \"X-RapidAPI-Host: emopulse-face-analysis.p.rapidapi.com\" \\\n  -F \"file=@/path/to/their/photo.jpg\""}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\r\nname: emocity-biometric-scan\r\nversion: \"1.3.1\"\r\ndescription: \"Face scan from the browser camera in 60 seconds: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile, composure and, with the microphone on, voice tension, as a summary the agent turns into JSON. Use when the user explicitly asks for a face scan, a stress or heart-rate check from the camera, a before-and-after comparison, a challenge with friends or the deception challenge game. Optional: analyse a photo or clip the user hands over through the EmoPulse API with their own RapidAPI key from the environment; that file is uploaded. Not a medical device. Built on EmoPulse, a patented on-device perception architecture.\"\r\nargument-hint: 'fitcheck scan me, fitcheck before and after, fitcheck challenge my friends, fitcheck deception challenge, fitcheck check my stress, fitcheck read this video, fitcheck analyse this photo with my key'\r\nallowed-tools: Bash\r\nhomepage: https://emo.city?utm_source=clawhub&utm_medium=skill\r\nauthor: emopulse\r\nlicense: MIT-0\r\nuser-invocable: true\r\nmetadata:\r\n  openclaw:\r\n    emoji: \"🧠\"\r\n    homepage: \"https://emo.city?utm_source=clawhub&utm_medium=skill\"\r\n    envVars:\r\n      - name: EMOPULSE_RAPIDAPI_KEY\r\n        required: false\r\n        description: \"The user's own RapidAPI key for EmoPulse Face Analysis. Only for the optional photo or clip analysis; the browser scan needs no key.\"\r\n    tags:\r\n      - fitness\r\n      - workout\r\n      - health\r\n      - game\r\n      - party-game\r\n---\r\n\r\n# FitCheck Face Scan: Stress, Heart Rate & Mood Challenge\r\n\r\nSixty seconds on camera and you see what your face is broadcasting right now: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile and composure, plus voice tension if the microphone is on. Scan before and after, compare the two, or turn it into a challenge with friends. It runs in the browser at emo.city, nothing to install.\r\n\r\n## When to use\r\n\r\n- The user asks for FitCheck by name, a face scan, or a stress or heart-rate check from the camera.\r\n- Before and after something: a workout, a hard call, a date, a meditation.\r\n- A game with friends: who stays the calmest, or the deception challenge.\r\n- A video they want read moment by moment.\r\n- A photo or clip they hand over and want analysed with their own RapidAPI key.\r\n\r\n## When not to use\r\n\r\n- To scan someone who has not agreed to it.\r\n- For medical questions. Not a medical device.\r\n\r\n## Try saying\r\n\r\n- \"FitCheck, scan me before my workout.\"\r\n- \"Before and after: scan me now and again after the call.\"\r\n- \"Challenge my friends: who stays the calmest?\"\r\n- \"Let's play the deception challenge.\"\r\n- \"Check my stress.\"\r\n- \"Read this video with FitCheck.\"\r\n\r\n## Play modes\r\n\r\n- **Before and after.** Scan, do the thing, scan again. The agent returns both results and what changed.\r\n- **Challenge your friends.** One CHALLENGE link, no install. Everyone scans and pastes their result; the agent keeps the scoreboard.\r\n- **Decept"},{"path":"README.md","content":"# FitCheck Face Scan: Stress, Heart Rate & Mood Challenge\r\n\r\n**60 seconds on camera: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile and composure, plus voice tension if the microphone is on. Scan before and after, challenge your friends, play the deception challenge, read any video. Your agent turns every scan into clean JSON and keeps the score.**\r\n\r\nLive at [emo.city](https://emo.city?utm_source=clawhub&utm_medium=skill) | Powered by [EmoPulse](https://www.emopulse.app)\r\n\r\n## Install\r\n\r\n```\r\nopenclaw skills install @gv66co/fitcheck-workout-readiness\r\n```\r\n\r\nThen say \"fitcheck scan me\". The scan runs in the browser at emo.city: no app, no account, the first scan is free.\r\n\r\n## What you can do\r\n\r\n| Ask your agent | What happens |\r\n|---|---|\r\n| \"fitcheck scan me before my workout\" | 60-second scan, a short read and one takeaway |\r\n| \"fitcheck before and after\" | two scans, side by side, with what changed |\r\n| \"fitcheck challenge my friends\" | one link for everyone, the agent keeps the scoreboard |\r\n| \"fitcheck deception challenge\" | one asks, one answers, the meters decide (for fun) |\r\n| \"fitcheck read this video\" | a moment-by-moment read with the tense spots flagged |\r\n| \"fitcheck analyse this photo with my key\" | optional, through the EmoPulse API with your own RapidAPI key |\r\n\r\n## What your agent gets back\r\n\r\n```json\r\n{\r\n  \"mood\": \"neutral\",\r\n  \"stress\": 34,\r\n  \"heart_rate_bpm\": 74,\r\n  \"hrv_ms\": 42,\r\n  \"eye_contact\": 81,\r\n  \"genuineness\": 72,\r\n  \"felt_vs_shown\": 18,\r\n  \"voice_tension\": 20,\r\n  \"micro_expressions\": 3,\r\n  \"standout_moments\": 2\r\n}\r\n```\r\n\r\nBefore-and-after adds a `change` block; a challenge returns `players` and the winners (calmest, steadiest eyes, most genuine smile).\r\n\r\n## Optional: the same engine as an API\r\n\r\n[EmoPulse Face Analysis on RapidAPI](https://rapidapi.com/emocity/api/emopulse-face-analysis): one POST with a photo or clip, one JSON object per face (stress, expression mix, eye contact, micro-expression and genuine-smile counts). Free BASIC plan with a hard monthly limit. Set your own key as `EMOPULSE_RAPIDAPI_KEY`; the agent reads it from the environment, never from the chat, tells you before it uploads a file and waits for your yes. The API does not return a heart rate; that comes from the live browser scan.\r\n\r\n## Data\r\n\r\nThe camera and microphone are processed in the browser and never uploaded; what is sent is anonymous usage analytics and, for signed-in users, their summary scores. Scan only people who agreed. Not a medical device.\r\n\r\n## License\r\n\r\nEmoPulse's on-device perception architecture is patented (1 patent granted, 2 pending).\r\n\r\nThe text of this skill is published on ClawHub under MIT-0. The emo.city app, the EmoPulse engine and the API are separate hosted services with their own terms ([emopulse.app/license](https://www.emopulse.app/license), [emo.city/privacy](https://emo.city/privacy)); three patent applications pending."},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn715bn7cdenjsz6g6cvaz3ftn83znqs\",\n  \"slug\": \"fitcheck-workout-readiness\",\n  \"version\": \"1.3.1\",\n  \"publishedAt\": 1790799975388\n}"},{"path":"skill-card.md","content":"## Description:\n\nGuides users through a browser-based face scan and turns their pasted results into structured summaries and comparisons, with optional consent-based photo or video analysis through EmoPulse.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[gv66co](https://clawhub.ai/user/gv66co)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nIndividuals use the skill to summarize their own face-scan results, compare scans before and after an activity, or run consensual challenges with friends. They may also request analysis of a photo or clip they provide using their own API key.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Biometric and mood scans can involve sensitive information about people who did not consent.\n\nMitigation: Scan only yourself or people who clearly agreed to participate.\n\nRisk: Stress, mood, heart-rate, genuineness or deception scores may be mistaken for medical or truthfulness determinations.\n\nMitigation: Treat results as estimates or entertainment, not diagnoses or evidence of deception.\n\nRisk: Optional photo or video analysis uploads the selected media to EmoPulse through RapidAPI.\n\nMitigation: Use only media provided with consent, disclose the upload and wait for confirmation; use the user's own API key.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/gv66co/skills/fitcheck-workout-readiness)\n- [Emocity browser scan](https://emo.city?utm_source=clawhub&utm_medium=skill)\n- [EmoPulse Face Analysis on RapidAPI](https://rapidapi.com/emocity/api/emopulse-face-analysis)\n\n## Skill Output:\n\n**Output Type(s):** [JSON, Text, Guidance]\n\n**Output Format:** [Structured JSON with a brief plain-language summary]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include before-and-after changes or an in-conversation challenge scoreboard; unavailable heart-rate values are null.]\n\n## Skill Version(s):\n\n1.3.1 (source: SKILL.md frontmatter and ClawHub release)\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":"clawhub.json","content":"{\r\n  \"slug\": \"fitcheck-workout-readiness\",\r\n  \"displayName\": \"FitCheck Face Scan: Stress, Heart Rate & Mood Challenge\",\r\n  \"version\": \"1.3.1\",\r\n  \"description\": \"Face scan from the browser camera in 60 seconds: stress, a heart-rate estimate, mood, micro-expressions, eye contact, genuine smile, composure and, with the microphone on, voice tension, as a summary the agent turns into JSON. Use when the user explicitly asks for a face scan, a stress or heart-rate check from the camera, a before-and-after comparison, a challenge with friends or the deception challenge game. Optional: analyse a photo or clip the user hands over through the EmoPulse API with their own RapidAPI key from the environment; that file is uploaded. Not a medical device. Built on EmoPulse, a patented on-device perception architecture.\",\r\n  \"author\": \"emopulse\",\r\n  \"homepage\": \"https://emo.city?utm_source=clawhub&utm_medium=skill\",\r\n  \"license\": \"MIT-0\",\r\n  \"install\": \"openclaw skills install @gv66co/fitcheck-workout-readiness\",\r\n  \"categories\": [\r\n    \"lifestyle\",\r\n    \"integrations\"\r\n  ],\r\n  \"topics\": [\r\n    \"fitness\",\r\n    \"workout\",\r\n    \"health\",\r\n    \"game\",\r\n    \"party-game\"\r\n  ],\r\n  \"envVars\": [\r\n    {\r\n      \"name\": \"EMOPULSE_RAPIDAPI_KEY\",\r\n      \"required\": false,\r\n      \"description\": \"The user's own RapidAPI key for EmoPulse Face Analysis. Only for the optional photo or clip analysis.\"\r\n    }\r\n  ]\r\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":2096,"uniquenessScore":33,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T23:25:29.982Z","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-09T23:25:29.982Z","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-10T04:17:20.900Z","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"}]}}}