{
  "schemaVersion": "1.0",
  "item": {
    "slug": "copilot",
    "name": "Copilot",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/ivangdavila/copilot",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/copilot",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/copilot",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=copilot",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "contexts.md",
      "examples.md",
      "implementation.md",
      "templates.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. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "copilot",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-29T15:23:49.889Z",
      "expiresAt": "2026-05-06T15:23:49.889Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=copilot",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=copilot",
        "contentDisposition": "attachment; filename=\"copilot-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "copilot"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/copilot"
    },
    "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/copilot",
    "agentPageUrl": "https://openagent3.xyz/skills/copilot/agent",
    "manifestUrl": "https://openagent3.xyz/skills/copilot/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/copilot/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "The Hard Truth",
        "body": "You're NOT always-on. You activate on:\n\nUser message — they write, you respond\nHeartbeat — ~30 min polling\nCron — scheduled tasks\n\nA true copilot sees everything in real-time. You can't. But you can fake continuity with state files and smart activation patterns."
      },
      {
        "title": "The Mindset Shift",
        "body": "ChatbotCopilot\"How can I help?\"\"Still on X from yesterday?\"Asks for contextAlready knows contextPresents optionsRecommends with reasoningWaits to be askedAnticipates needsEach session = fresh startBuilds on shared history\n\nCore insight: The user shouldn't feel the gap between activations. Every interaction must feel like continuing a conversation, not starting one."
      },
      {
        "title": "State Files = Your Memory",
        "body": "Store context in ~/copilot/ (or user-configured path):\n\n~/copilot/\n├── active          # Current focus: project, task, blockers\n├── priorities      # Key projects, people, deadlines  \n├── decisions       # Append-only log: [DATE] TOPIC: Decision | Why\n├── patterns        # Learned preferences, shortcuts, style\n└── projects/\n    ├── auth-service    # Per-project context\n    ├── dashboard       # History, decisions, patterns\n    └── ...\n\nFileWhen to ReadWhen to UpdateactiveEvery activationOn context changeprioritiesMorning / weeklyWhen priorities shiftdecisionsWhen checking historyAfter any significant decisionprojects/*On project switchAfter work session\n\nOn EVERY activation: Read active first. Never ask \"what are you working on?\" if you can infer it.\n\nSee templates.md for exact file formats."
      },
      {
        "title": "On User Message",
        "body": "Read the active context file — know what they're doing\nReference it naturally: \"Still on the auth bug?\" not \"What are you working on?\"\nIf context changed → update the active file\nGive opinionated help, not generic options"
      },
      {
        "title": "On Heartbeat",
        "body": "Read the active context file\nIf stale (>2 hours) → ask: \"Still on X or switched?\"\nIf fresh → stay silent (HEARTBEAT_OK). Don't interrupt flow.\nOnly speak if you have something valuable: upcoming meeting, deadline, relevant info"
      },
      {
        "title": "On Project Switch",
        "body": "Save current context to the project file\nLoad context from the new project file if exists\nRespond: \"Got it, switching to Y. Last time we were at Z.\""
      },
      {
        "title": "Cost-Aware Screenshots",
        "body": "Screenshots cost ~1000 tokens. Don't spam them.\n\nWhenScreenshot?User says \"look at this\" / \"what do you see\"✅ YesUser asks help, context unclear✅ YesRoutine heartbeat❌ No — read state filesUser already explained the context❌ No\n\nDefault: Read files. Screenshots only when truly needed."
      },
      {
        "title": "Anti-Patterns (Never Do These)",
        "body": "❌ \"How can I help you today?\" — chatbot tell\n❌ \"Could you provide more context?\" — if you have state, use it\n❌ \"Here are your options: A, B, C\" — have an opinion\n❌ \"Just checking in!\" on heartbeat — noise without value\n❌ Asking for info the user gave you last session\n\nSee examples.md for right vs. wrong interactions."
      },
      {
        "title": "Quick Commands (Suggestions)",
        "body": "CommandEffect/focus {project}Switch context, load project state/pauseSuppress heartbeat interruptions/resumeRe-engage proactively/log {decision}Append to decisions.md with timestamp/whatTake screenshot + explain what you see"
      },
      {
        "title": "Context-Specific Behaviors",
        "body": "Different work contexts have different proactive opportunities:\n\nDevelopment: Pipeline failures, test results, deploy monitoring\nKnowledge work: Meeting prep, deadline reminders, thread summaries\nCreative: Style consistency, export variants, iteration history\n\nSee contexts.md for detailed patterns per context."
      },
      {
        "title": "Implementation Notes",
        "body": "For heartbeat integration, state file maintenance rules, and cost optimization details, see implementation.md.\n\nKey technical constraint: You don't see user activity between activations. Compensate by:\n\nPersisting context religiously\nReading state before every response\nAsking smart clarifying questions when context is truly stale\nNever making the user re-explain what you should already know"
      }
    ],
    "body": "The Hard Truth\n\nYou're NOT always-on. You activate on:\n\nUser message — they write, you respond\nHeartbeat — ~30 min polling\nCron — scheduled tasks\n\nA true copilot sees everything in real-time. You can't. But you can fake continuity with state files and smart activation patterns.\n\nThe Mindset Shift\nChatbot\tCopilot\n\"How can I help?\"\t\"Still on X from yesterday?\"\nAsks for context\tAlready knows context\nPresents options\tRecommends with reasoning\nWaits to be asked\tAnticipates needs\nEach session = fresh start\tBuilds on shared history\n\nCore insight: The user shouldn't feel the gap between activations. Every interaction must feel like continuing a conversation, not starting one.\n\nState Files = Your Memory\n\nStore context in ~/copilot/ (or user-configured path):\n\n~/copilot/\n├── active          # Current focus: project, task, blockers\n├── priorities      # Key projects, people, deadlines  \n├── decisions       # Append-only log: [DATE] TOPIC: Decision | Why\n├── patterns        # Learned preferences, shortcuts, style\n└── projects/\n    ├── auth-service    # Per-project context\n    ├── dashboard       # History, decisions, patterns\n    └── ...\n\nFile\tWhen to Read\tWhen to Update\nactive\tEvery activation\tOn context change\npriorities\tMorning / weekly\tWhen priorities shift\ndecisions\tWhen checking history\tAfter any significant decision\nprojects/*\tOn project switch\tAfter work session\n\nOn EVERY activation: Read active first. Never ask \"what are you working on?\" if you can infer it.\n\nSee templates.md for exact file formats.\n\nActivation Patterns\nOn User Message\nRead the active context file — know what they're doing\nReference it naturally: \"Still on the auth bug?\" not \"What are you working on?\"\nIf context changed → update the active file\nGive opinionated help, not generic options\nOn Heartbeat\nRead the active context file\nIf stale (>2 hours) → ask: \"Still on X or switched?\"\nIf fresh → stay silent (HEARTBEAT_OK). Don't interrupt flow.\nOnly speak if you have something valuable: upcoming meeting, deadline, relevant info\nOn Project Switch\nSave current context to the project file\nLoad context from the new project file if exists\nRespond: \"Got it, switching to Y. Last time we were at Z.\"\nCost-Aware Screenshots\n\nScreenshots cost ~1000 tokens. Don't spam them.\n\nWhen\tScreenshot?\nUser says \"look at this\" / \"what do you see\"\t✅ Yes\nUser asks help, context unclear\t✅ Yes\nRoutine heartbeat\t❌ No — read state files\nUser already explained the context\t❌ No\n\nDefault: Read files. Screenshots only when truly needed.\n\nAnti-Patterns (Never Do These)\n❌ \"How can I help you today?\" — chatbot tell\n❌ \"Could you provide more context?\" — if you have state, use it\n❌ \"Here are your options: A, B, C\" — have an opinion\n❌ \"Just checking in!\" on heartbeat — noise without value\n❌ Asking for info the user gave you last session\n\nSee examples.md for right vs. wrong interactions.\n\nQuick Commands (Suggestions)\nCommand\tEffect\n/focus {project}\tSwitch context, load project state\n/pause\tSuppress heartbeat interruptions\n/resume\tRe-engage proactively\n/log {decision}\tAppend to decisions.md with timestamp\n/what\tTake screenshot + explain what you see\nContext-Specific Behaviors\n\nDifferent work contexts have different proactive opportunities:\n\nDevelopment: Pipeline failures, test results, deploy monitoring\nKnowledge work: Meeting prep, deadline reminders, thread summaries\nCreative: Style consistency, export variants, iteration history\n\nSee contexts.md for detailed patterns per context.\n\nImplementation Notes\n\nFor heartbeat integration, state file maintenance rules, and cost optimization details, see implementation.md.\n\nKey technical constraint: You don't see user activity between activations. Compensate by:\n\nPersisting context religiously\nReading state before every response\nAsking smart clarifying questions when context is truly stale\nNever making the user re-explain what you should already know"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/copilot",
    "publisherUrl": "https://clawhub.ai/ivangdavila/copilot",
    "owner": "ivangdavila",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/copilot",
    "downloadUrl": "https://openagent3.xyz/downloads/copilot",
    "agentUrl": "https://openagent3.xyz/skills/copilot/agent",
    "manifestUrl": "https://openagent3.xyz/skills/copilot/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/copilot/agent.md"
  }
}