{
  "schemaVersion": "1.0",
  "item": {
    "slug": "devops-bridge",
    "name": "DevOps Bridge",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ariktulcha/devops-bridge",
    "canonicalUrl": "https://clawhub.ai/ariktulcha/devops-bridge",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/devops-bridge",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=devops-bridge",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.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": "devops-bridge",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T11:59:44.134Z",
      "expiresAt": "2026-05-09T11:59:44.134Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=devops-bridge",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=devops-bridge",
        "contentDisposition": "attachment; filename=\"devops-bridge-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "devops-bridge"
      },
      "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/devops-bridge"
    },
    "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/devops-bridge",
    "agentPageUrl": "https://openagent3.xyz/skills/devops-bridge/agent",
    "manifestUrl": "https://openagent3.xyz/skills/devops-bridge/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/devops-bridge/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": "DevOps Bridge",
        "body": "The missing link between your dev tools. This skill connects GitHub, CI/CD, Slack/Discord, and issue trackers into workflows that actually make sense — so you stop context-switching between 6 browser tabs."
      },
      {
        "title": "Why This Exists",
        "body": "Developers already use separate skills for GitHub, Slack, etc. But nobody has built the bridge: when CI fails, automatically link it to the PR, notify the right Slack channel, and update the ticket. This skill is that bridge."
      },
      {
        "title": "1. Smart Notifications",
        "body": "Transform noisy GitHub events into actionable, context-rich messages. Instead of \"Build failed\", deliver:\n\n🔴 CI Failed — PR #142 \"Add OAuth flow\" by @alice\n  └─ Test: auth.test.ts:47 — Expected 200, got 401\n  └─ Last passing commit: abc1234 (2 hours ago)  \n  └─ Linked issue: LINEAR-389 \"Implement SSO\"\n  └─ Action: Reply \"fix\" to see the failing test, \"logs\" for full output\n\nWhen sending notifications, always:\n\nInclude the PR title and author, not just the number\nLink to the specific failing test or check, not just \"CI failed\"\nMention the last known good commit for quick bisect context\nCross-reference related issues/tickets if they exist\nSuggest a concrete next action"
      },
      {
        "title": "2. PR Review Management",
        "body": "Track pull request lifecycle across tools:\n\nReview reminders:\n\nScan open PRs daily and flag those waiting for review\nEscalate based on age: gentle reminder at 24h, stronger at 48h, urgent at 72h+\nSend reminders to the assigned reviewer via Slack/Discord DM or channel\nFormat:\n👀 Review needed:\n• PR #142 \"Add OAuth flow\" — waiting 3 days (assigned: @bob)\n• PR #156 \"Fix pagination\" — waiting 1 day (assigned: @carol)\n\nReview status sync:\n\nWhen a PR gets approved on GitHub, post to the team channel\nWhen changes are requested, notify the author directly\nWhen all checks pass + approved, prompt: \"Ready to merge — want me to merge it?\""
      },
      {
        "title": "3. CI/CD Intelligence",
        "body": "Go beyond \"pass/fail\" with intelligent CI analysis:\n\nFailure grouping: if multiple PRs fail on the same test, flag it as a systemic issue rather than spamming individual notifications\nFlaky test detection: if a test fails intermittently across PRs, note it: \"This test has failed 3 times this week across different PRs — likely flaky\"\nDuration tracking: \"This build took 45 min, up from the usual 20 min — something may be wrong\"\nAuto-retry suggestion: for known flaky failures, suggest or trigger a re-run"
      },
      {
        "title": "4. Issue Tracker Sync",
        "body": "Keep issue trackers (Linear, Jira, GitHub Issues) in sync with actual development activity:\n\nWhen a PR references an issue (e.g., \"Fixes #123\"), update the issue status automatically\nWhen a PR is merged, move the linked issue to \"Done\" or \"In Review\"\nWhen CI fails on a PR linked to an issue, add a comment to the issue noting the blocker\nSurface orphaned PRs: \"PR #167 doesn't reference any issue — should it?\""
      },
      {
        "title": "5. Daily Dev Standup",
        "body": "Generate a team-level development summary on demand or via cron:\n\n🧑‍💻 Dev Standup — [Date]\n\nMerged yesterday:\n  • PR #140 \"Refactor auth module\" by @alice → LINEAR-385 closed\n  • PR #143 \"Update deps\" by @bob\n\nIn review:\n  • PR #142 \"Add OAuth flow\" by @alice — 2 approvals, CI passing ✅\n  • PR #156 \"Fix pagination\" by @carol — changes requested by @bob\n\nBlocked:\n  • PR #158 \"Migrate DB\" by @dave — CI failing (migration timeout)\n  • Issue LINEAR-402 — no assignee, due tomorrow\n\nCI Health: 87% pass rate (down from 94% last week)\n  └─ Flaky: auth.test.ts (failed 4/10 runs)"
      },
      {
        "title": "Required Tools",
        "body": "gh CLI (GitHub) — for repo activity, PRs, issues, CI status\nAt least one messaging channel configured (Slack, Discord, Telegram)"
      },
      {
        "title": "Optional Tools",
        "body": "Linear CLI or API — for Linear issue tracking\nJira API — for Jira integration\nGitHub Issues — works out of the box with gh"
      },
      {
        "title": "Setup Flow",
        "body": "On first use, gather configuration interactively:\n\nWhich repos to monitor? Ask for a list or use \"all repos I have push access to\"\nWhere to send notifications? Slack channel, Discord channel, Telegram, or all\nHow aggressive should reminders be? Options: gentle (72h), moderate (48h), aggressive (24h)\nInclude CI details? Some users want full logs, others just pass/fail\nWho's on the team? Map GitHub usernames to Slack/Discord handles for @mentions\n\nStore configuration in workspace memory for persistence."
      },
      {
        "title": "Cron Setup",
        "body": "Suggest these default schedules (user can customize):\n\n[\n  {\n    \"name\": \"Morning dev digest\",\n    \"schedule\": \"0 9 * * 1-5\",\n    \"prompt\": \"Generate dev standup summary for my repos\"\n  },\n  {\n    \"name\": \"PR review reminder\",  \n    \"schedule\": \"0 14 * * 1-5\",\n    \"prompt\": \"Check for PRs waiting for review and send reminders\"\n  },\n  {\n    \"name\": \"End of day CI report\",\n    \"schedule\": \"0 17 * * 1-5\",\n    \"prompt\": \"Summarize today's CI/CD activity and flag any issues\"\n  }\n]"
      },
      {
        "title": "Command Reference",
        "body": "Users can trigger specific actions with natural language:\n\nUser saysAction\"What's happening in my repos?\"Full activity summary across all monitored repos\"Any failing builds?\"CI status check with details on failures\"Who needs a review?\"List PRs awaiting review with age and assignee\"Standup\"Generate daily dev standup summary\"Notify #dev-team about PR 142\"Send a formatted notification about a specific PR\"Link PR 142 to LINEAR-389\"Create cross-reference between PR and issue\"Set up CI alerts for repo X\"Configure monitoring for a specific repository\"Merge PR 142\"Merge if all checks pass and approved; warn if not"
      },
      {
        "title": "Edge Cases",
        "body": "Monorepo: if monitoring a monorepo, group notifications by directory/team, not just by PR\nForks: when PRs come from forks, note this clearly (different trust level)\nDraft PRs: don't send review reminders for draft PRs unless user asks\nStale PRs: if a PR has been open >7 days with no activity, suggest closing or rebasing\nRate limits: GitHub API has rate limits. Batch requests and cache results within a session\nNo messaging configured: if no Slack/Discord/Telegram, output to the current conversation instead\nMultiple orgs: if user has repos across multiple GitHub orgs, handle them all but label clearly"
      },
      {
        "title": "Integration Pattern",
        "body": "This skill works best with other installed skills. When detected:\n\ngithub skill: defer raw GitHub operations to it, use devops-bridge for cross-tool logic\nslack skill: use it for message delivery, devops-bridge composes the messages\ndaily-briefing-hub: feed dev activity data into the morning briefing's \"Dev Activity\" section"
      }
    ],
    "body": "DevOps Bridge\n\nThe missing link between your dev tools. This skill connects GitHub, CI/CD, Slack/Discord, and issue trackers into workflows that actually make sense — so you stop context-switching between 6 browser tabs.\n\nWhy This Exists\n\nDevelopers already use separate skills for GitHub, Slack, etc. But nobody has built the bridge: when CI fails, automatically link it to the PR, notify the right Slack channel, and update the ticket. This skill is that bridge.\n\nCore Capabilities\n1. Smart Notifications\n\nTransform noisy GitHub events into actionable, context-rich messages. Instead of \"Build failed\", deliver:\n\n🔴 CI Failed — PR #142 \"Add OAuth flow\" by @alice\n  └─ Test: auth.test.ts:47 — Expected 200, got 401\n  └─ Last passing commit: abc1234 (2 hours ago)  \n  └─ Linked issue: LINEAR-389 \"Implement SSO\"\n  └─ Action: Reply \"fix\" to see the failing test, \"logs\" for full output\n\n\nWhen sending notifications, always:\n\nInclude the PR title and author, not just the number\nLink to the specific failing test or check, not just \"CI failed\"\nMention the last known good commit for quick bisect context\nCross-reference related issues/tickets if they exist\nSuggest a concrete next action\n2. PR Review Management\n\nTrack pull request lifecycle across tools:\n\nReview reminders:\n\nScan open PRs daily and flag those waiting for review\nEscalate based on age: gentle reminder at 24h, stronger at 48h, urgent at 72h+\nSend reminders to the assigned reviewer via Slack/Discord DM or channel\nFormat:\n👀 Review needed:\n• PR #142 \"Add OAuth flow\" — waiting 3 days (assigned: @bob)\n• PR #156 \"Fix pagination\" — waiting 1 day (assigned: @carol)\n\n\nReview status sync:\n\nWhen a PR gets approved on GitHub, post to the team channel\nWhen changes are requested, notify the author directly\nWhen all checks pass + approved, prompt: \"Ready to merge — want me to merge it?\"\n3. CI/CD Intelligence\n\nGo beyond \"pass/fail\" with intelligent CI analysis:\n\nFailure grouping: if multiple PRs fail on the same test, flag it as a systemic issue rather than spamming individual notifications\nFlaky test detection: if a test fails intermittently across PRs, note it: \"This test has failed 3 times this week across different PRs — likely flaky\"\nDuration tracking: \"This build took 45 min, up from the usual 20 min — something may be wrong\"\nAuto-retry suggestion: for known flaky failures, suggest or trigger a re-run\n4. Issue Tracker Sync\n\nKeep issue trackers (Linear, Jira, GitHub Issues) in sync with actual development activity:\n\nWhen a PR references an issue (e.g., \"Fixes #123\"), update the issue status automatically\nWhen a PR is merged, move the linked issue to \"Done\" or \"In Review\"\nWhen CI fails on a PR linked to an issue, add a comment to the issue noting the blocker\nSurface orphaned PRs: \"PR #167 doesn't reference any issue — should it?\"\n5. Daily Dev Standup\n\nGenerate a team-level development summary on demand or via cron:\n\n🧑‍💻 Dev Standup — [Date]\n\nMerged yesterday:\n  • PR #140 \"Refactor auth module\" by @alice → LINEAR-385 closed\n  • PR #143 \"Update deps\" by @bob\n\nIn review:\n  • PR #142 \"Add OAuth flow\" by @alice — 2 approvals, CI passing ✅\n  • PR #156 \"Fix pagination\" by @carol — changes requested by @bob\n\nBlocked:\n  • PR #158 \"Migrate DB\" by @dave — CI failing (migration timeout)\n  • Issue LINEAR-402 — no assignee, due tomorrow\n\nCI Health: 87% pass rate (down from 94% last week)\n  └─ Flaky: auth.test.ts (failed 4/10 runs)\n\nConfiguration\nRequired Tools\ngh CLI (GitHub) — for repo activity, PRs, issues, CI status\nAt least one messaging channel configured (Slack, Discord, Telegram)\nOptional Tools\nLinear CLI or API — for Linear issue tracking\nJira API — for Jira integration\nGitHub Issues — works out of the box with gh\nSetup Flow\n\nOn first use, gather configuration interactively:\n\nWhich repos to monitor? Ask for a list or use \"all repos I have push access to\"\nWhere to send notifications? Slack channel, Discord channel, Telegram, or all\nHow aggressive should reminders be? Options: gentle (72h), moderate (48h), aggressive (24h)\nInclude CI details? Some users want full logs, others just pass/fail\nWho's on the team? Map GitHub usernames to Slack/Discord handles for @mentions\n\nStore configuration in workspace memory for persistence.\n\nCron Setup\n\nSuggest these default schedules (user can customize):\n\n[\n  {\n    \"name\": \"Morning dev digest\",\n    \"schedule\": \"0 9 * * 1-5\",\n    \"prompt\": \"Generate dev standup summary for my repos\"\n  },\n  {\n    \"name\": \"PR review reminder\",  \n    \"schedule\": \"0 14 * * 1-5\",\n    \"prompt\": \"Check for PRs waiting for review and send reminders\"\n  },\n  {\n    \"name\": \"End of day CI report\",\n    \"schedule\": \"0 17 * * 1-5\",\n    \"prompt\": \"Summarize today's CI/CD activity and flag any issues\"\n  }\n]\n\nCommand Reference\n\nUsers can trigger specific actions with natural language:\n\nUser says\tAction\n\"What's happening in my repos?\"\tFull activity summary across all monitored repos\n\"Any failing builds?\"\tCI status check with details on failures\n\"Who needs a review?\"\tList PRs awaiting review with age and assignee\n\"Standup\"\tGenerate daily dev standup summary\n\"Notify #dev-team about PR 142\"\tSend a formatted notification about a specific PR\n\"Link PR 142 to LINEAR-389\"\tCreate cross-reference between PR and issue\n\"Set up CI alerts for repo X\"\tConfigure monitoring for a specific repository\n\"Merge PR 142\"\tMerge if all checks pass and approved; warn if not\nEdge Cases\nMonorepo: if monitoring a monorepo, group notifications by directory/team, not just by PR\nForks: when PRs come from forks, note this clearly (different trust level)\nDraft PRs: don't send review reminders for draft PRs unless user asks\nStale PRs: if a PR has been open >7 days with no activity, suggest closing or rebasing\nRate limits: GitHub API has rate limits. Batch requests and cache results within a session\nNo messaging configured: if no Slack/Discord/Telegram, output to the current conversation instead\nMultiple orgs: if user has repos across multiple GitHub orgs, handle them all but label clearly\nIntegration Pattern\n\nThis skill works best with other installed skills. When detected:\n\ngithub skill: defer raw GitHub operations to it, use devops-bridge for cross-tool logic\nslack skill: use it for message delivery, devops-bridge composes the messages\ndaily-briefing-hub: feed dev activity data into the morning briefing's \"Dev Activity\" section"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ariktulcha/devops-bridge",
    "publisherUrl": "https://clawhub.ai/ariktulcha/devops-bridge",
    "owner": "ariktulcha",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/devops-bridge",
    "downloadUrl": "https://openagent3.xyz/downloads/devops-bridge",
    "agentUrl": "https://openagent3.xyz/skills/devops-bridge/agent",
    "manifestUrl": "https://openagent3.xyz/skills/devops-bridge/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/devops-bridge/agent.md"
  }
}