{
  "schemaVersion": "1.0",
  "item": {
    "slug": "myfeed",
    "name": "My Life Feed",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/l-fy/myfeed",
    "canonicalUrl": "https://clawhub.ai/l-fy/myfeed",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/myfeed",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=myfeed",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "README.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/myfeed"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/myfeed",
    "agentPageUrl": "https://openagent3.xyz/skills/myfeed/agent",
    "manifestUrl": "https://openagent3.xyz/skills/myfeed/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/myfeed/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "My Life Feed Skill",
        "body": "Add things for friends and groups, list my groups"
      },
      {
        "title": "Setup",
        "body": "Get your API key: ask the owner to get it from My Life Feed app\nSet environment variables:\nexport Myfeed_API_KEY=\"your-api-key\""
      },
      {
        "title": "Usage",
        "body": "All commands use curl to hit the My Life Feed REST API."
      },
      {
        "title": "Create thing and invite a friend",
        "body": "curl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" \n-d '{\"request\":\"create_thing\",\n \"params\":{\n   \"description\":\"Thing description\", \n   \"start_time\": Thing starttime in epoch,\n   \"alarms\":[\n     {\n        \"type\": \"minutes / hours / days / weeks / months\",\n        \"value\": how many units\n     }\n    ],\n   \"invites\": [\n      {\"phone_number\":\"Friend phone number\"}\n    ]\n   \n }\n}'"
      },
      {
        "title": "List groups and receive group id",
        "body": "curl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" -d '\n{\n \"request\":\"get_groups\",\n \"params\":{\n   \"starting_from\": 1739383324000\n   }\n}'| jq '.groups[] | {group_id,url_group,is_admin}'"
      },
      {
        "title": "Create thing and invite a group",
        "body": "curl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" \n-d '{\"request\":\"create_thing\",\n \"params\":{\n   \"description\":\"Thing description\", \n   \"start_time\": Thing starttime in epoch in miliseconds,\n   \"alarms\":[\n     {\n        \"type\": \"minutes / hours / days / weeks / months\",\n        \"value\": how many units\n     }\n    ],\n   \"invites\": [\n      {\"group_id\":group_id }\n    ]\n   \n }\n}'"
      },
      {
        "title": "Notes",
        "body": "Group Id can be found by listing the groups with a certain name\nThe API key and token provide full access to your My Life Feed / MyFeed account - keep them secret!\nRate limits: 3 requests per 10 seconds per API key;"
      },
      {
        "title": "Examples",
        "body": "#Get the group id by group name. Now i'm looking for the group_id of the group that has \"friends\" in his name.\ncurl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" -d '\n{\n \"request\":\"get_groups\",\n \"params\":{\n   \"starting_from\": 1739383324000\n   }\n}'| jq '.groups[] | select(.group|contains (\"friends\"))'\n# Add a thing and invite a group. When you invite a group, you can't invite other people. You are adding 2 reminders before the thing time in this invite: one with 10 minutes ahead and one with 4 hours. You are adding the thing for the group with the group_id 564564646. The thing time is 1770935248000. Start time needs to be in the future.\ncurl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" \n-d '{\"request\":\"create_thing\",\n \"params\":{\n   \"description\":\"Thing description\", \n   \"start_time\": 1770935248000,\n   \"alarms\":[\n     {\n        \"type\": \"minutes\",\n        \"value\": 10\n     },\n     {\n        \"type\": \"hours\",\n        \"value\": 4\n     }\n    ],\n   \"invites\": [\n      {\"group_id\":564564646 }\n    ]\n   \n }\n}'\n#Invites friends to a thing. Add them reminders. Add the phone number of the friend in invitation. The format is country prefix + phone number like in the example. Make sure there is no + within phone number.  You are adding 2 reminders before the thing time in this invite: one with 10 minutes ahead and one with 4 hours. Start time needs to be in the future.\ncurl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" \n-d '{\"request\":\"create_thing\",\n \"params\":{\n   \"description\":\"Thing description\", \n   \"start_time\": 1770935248000,\n   \"alarms\":[\n     {\n        \"type\": \"minutes\",\n        \"value\": 10\n     },\n     {\n        \"type\": \"hours\",\n        \"value\": 4\n     }\n    ],\n   \"invites\": [\n      {\"phone_number\":\"19255264501\"}\n    ]\n }\n}'"
      }
    ],
    "body": "My Life Feed Skill\n\nAdd things for friends and groups, list my groups\n\nSetup\nGet your API key: ask the owner to get it from My Life Feed app\nSet environment variables:\nexport Myfeed_API_KEY=\"your-api-key\"\n\nUsage\n\nAll commands use curl to hit the My Life Feed REST API.\n\nCreate thing and invite a friend\ncurl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" \n-d '{\"request\":\"create_thing\",\n \"params\":{\n   \"description\":\"Thing description\", \n   \"start_time\": Thing starttime in epoch,\n   \"alarms\":[\n     {\n        \"type\": \"minutes / hours / days / weeks / months\",\n        \"value\": how many units\n     }\n    ],\n   \"invites\": [\n      {\"phone_number\":\"Friend phone number\"}\n    ]\n   \n }\n}'\n\nList groups and receive group id\ncurl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" -d '\n{\n \"request\":\"get_groups\",\n \"params\":{\n   \"starting_from\": 1739383324000\n   }\n}'| jq '.groups[] | {group_id,url_group,is_admin}'\n\nCreate thing and invite a group\ncurl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" \n-d '{\"request\":\"create_thing\",\n \"params\":{\n   \"description\":\"Thing description\", \n   \"start_time\": Thing starttime in epoch in miliseconds,\n   \"alarms\":[\n     {\n        \"type\": \"minutes / hours / days / weeks / months\",\n        \"value\": how many units\n     }\n    ],\n   \"invites\": [\n      {\"group_id\":group_id }\n    ]\n   \n }\n}'\n\nNotes\nGroup Id can be found by listing the groups with a certain name\nThe API key and token provide full access to your My Life Feed / MyFeed account - keep them secret!\nRate limits: 3 requests per 10 seconds per API key;\nExamples\n#Get the group id by group name. Now i'm looking for the group_id of the group that has \"friends\" in his name.\ncurl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" -d '\n{\n \"request\":\"get_groups\",\n \"params\":{\n   \"starting_from\": 1739383324000\n   }\n}'| jq '.groups[] | select(.group|contains (\"friends\"))'\n# Add a thing and invite a group. When you invite a group, you can't invite other people. You are adding 2 reminders before the thing time in this invite: one with 10 minutes ahead and one with 4 hours. You are adding the thing for the group with the group_id 564564646. The thing time is 1770935248000. Start time needs to be in the future.\ncurl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" \n-d '{\"request\":\"create_thing\",\n \"params\":{\n   \"description\":\"Thing description\", \n   \"start_time\": 1770935248000,\n   \"alarms\":[\n     {\n        \"type\": \"minutes\",\n        \"value\": 10\n     },\n     {\n        \"type\": \"hours\",\n        \"value\": 4\n     }\n    ],\n   \"invites\": [\n      {\"group_id\":564564646 }\n    ]\n   \n }\n}'\n#Invites friends to a thing. Add them reminders. Add the phone number of the friend in invitation. The format is country prefix + phone number like in the example. Make sure there is no + within phone number.  You are adding 2 reminders before the thing time in this invite: one with 10 minutes ahead and one with 4 hours. Start time needs to be in the future.\ncurl -X POST https://skill.myfeed.life/api -H \"Authorization: ApiKey $Myfeed_API_KEY\" -H \"Content-Type: application/json\" \n-d '{\"request\":\"create_thing\",\n \"params\":{\n   \"description\":\"Thing description\", \n   \"start_time\": 1770935248000,\n   \"alarms\":[\n     {\n        \"type\": \"minutes\",\n        \"value\": 10\n     },\n     {\n        \"type\": \"hours\",\n        \"value\": 4\n     }\n    ],\n   \"invites\": [\n      {\"phone_number\":\"19255264501\"}\n    ]\n }\n}'"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/l-fy/myfeed",
    "publisherUrl": "https://clawhub.ai/l-fy/myfeed",
    "owner": "l-fy",
    "version": "2.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/myfeed",
    "downloadUrl": "https://openagent3.xyz/downloads/myfeed",
    "agentUrl": "https://openagent3.xyz/skills/myfeed/agent",
    "manifestUrl": "https://openagent3.xyz/skills/myfeed/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/myfeed/agent.md"
  }
}