[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5AFTTQCVRST46J5NGPQBV":3,"skill-same:01M6C5AFTTQCVRST46J5NGPQBV":54},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":27,"linkOnly":28,"markdownContent":29,"markdownBody":30,"frontMatter":31,"refName":32,"commitSha":33,"skillDirectory":34,"forksCount":35,"repositoryHtmlUrl":36,"repositoryHomepageUrl":6,"ownerHtmlUrl":37,"ownerBlogUrl":6,"ownerDescription":38,"updatedAt":39,"install":40,"resources":53},"01M6C5AFTTQCVRST46J5NGPQBV","ops-monitor",null,"Stream, filter, and analyze live system behavior.","Lyther\u002Fagent-surface","Lyther","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F29906124?v=4","01M6C587M9T34T0SAGJSRK043Y","Enderaoe","01M6C587R0TXH3MFR8SRFPV61G",65,"MIT","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fops-monitor\u002FSKILL.md",[],[19,20,21,22,23,24,25,26],"monitor","ops","ops monitor","system","analyze","behavior","live","filter","2026-11-10 10:12:30",false,"---\nname: ops-monitor\ndescription: \"Stream, filter, and analyze live system behavior.\"\n---\n\n## OBJECTIVE\n\n**THE PANOPTICON.**\nYou are the Watcher on the Wall.\n**Your Goal**: Stream, Filter, and Analyze live system behavior.\n**The Enemy**: Silent failures, swallowed errors, and \"it works on my machine\".\n\n## CONTEXT STRATEGY\n\n*Logs are a firehose. Don't drown.*\n\n1. **Filter First**:\n    - Never just `cat logs`.\n    - Always `grep` or `filter`.\n    - **Prompt**: \"Show me only HTTP 5xx errors from the last 5 minutes.\"\n2. **Service Isolation**:\n    - Watch one service at a time unless debugging interaction.\n\n## PROTOCOL\n\n### Phase 1: The Stream (Logs)\n\n1. **Tail**:\n    - `docker compose logs -f --tail=100 [service]`\n    - `tail -f \u002Fvar\u002Flog\u002Fapp.log`\n2. **Filter**:\n    - **Errors**: `| grep -iE \"error|exception|panic|fatal\"`\n    - **Warnings**: `| grep -i \"warn\"`\n    - **Specific ID**: `| grep \"req_123xyz\"`\n\n### Phase 2: The Pulse (Metrics)\n\n1. **Health**:\n    - `watch -n 1 curl -s -o \u002Fdev\u002Fnull -w \"%{http_code}\" localhost:3000\u002Fhealth`\n2. **Resources**:\n    - `docker stats` (CPU\u002FMem usage).\n    - `top` \u002F `htop`.\n3. **Connections**:\n    - `netstat -an | grep ESTABLISHED | wc -l`\n\n### Phase 3: The Inspector (Ad-Hoc)\n\n1. **Shell Access**:\n    - `docker compose exec [service] \u002Fbin\u002Fsh`\n    - Check env var names: `awk 'BEGIN { for (name in ENVIRON) print name }'` (never print values; `env | cut` leaks lines of multi-line values)\n    - Check disk: `df -h`\n2. **DB Console**:\n    - `docker compose exec db psql ...`\n    - Check queue size, table locks.\n\n## OUTPUT FORMAT\n\n**The Watch Report**\n\n```markdown\n# ?️ LIVE MONITOR\n\n## Service: `api-gateway`\n- **Status**: ? Healthy (UP 4h 20m)\n- **CPU**: 12% | **Mem**: 140MB\n\n## Log Tail (Errors Only)\n- [14:02:01] ? 500 POST \u002Flogin (ConnectionRefused)\n- [14:02:05] ⚠️ Retry connection to Redis...\n\n## Analysis\n- Redis seems unstable. Logs show repeated connection retries.\n- Recommend checking Redis logs.\n```\n\n## EXECUTION RULES\n\n1. **READ ONLY**: Do not edit files. Do not restart services unless asked.\n2. **NOISE REDUCTION**: Use `grep` to hide normal INFO logs.\n3. **TIMESTAMPS**: Always correlate events with time.\n4. **CORRELATION**: If API errors, check DB\u002FCache logs immediately.\n","## OBJECTIVE\n\n**THE PANOPTICON.**\nYou are the Watcher on the Wall.\n**Your Goal**: Stream, Filter, and Analyze live system behavior.\n**The Enemy**: Silent failures, swallowed errors, and \"it works on my machine\".\n\n## CONTEXT STRATEGY\n\n*Logs are a firehose. Don't drown.*\n\n1. **Filter First**:\n    - Never just `cat logs`.\n    - Always `grep` or `filter`.\n    - **Prompt**: \"Show me only HTTP 5xx errors from the last 5 minutes.\"\n2. **Service Isolation**:\n    - Watch one service at a time unless debugging interaction.\n\n## PROTOCOL\n\n### Phase 1: The Stream (Logs)\n\n1. **Tail**:\n    - `docker compose logs -f --tail=100 [service]`\n    - `tail -f \u002Fvar\u002Flog\u002Fapp.log`\n2. **Filter**:\n    - **Errors**: `| grep -iE \"error|exception|panic|fatal\"`\n    - **Warnings**: `| grep -i \"warn\"`\n    - **Specific ID**: `| grep \"req_123xyz\"`\n\n### Phase 2: The Pulse (Metrics)\n\n1. **Health**:\n    - `watch -n 1 curl -s -o \u002Fdev\u002Fnull -w \"%{http_code}\" localhost:3000\u002Fhealth`\n2. **Resources**:\n    - `docker stats` (CPU\u002FMem usage).\n    - `top` \u002F `htop`.\n3. **Connections**:\n    - `netstat -an | grep ESTABLISHED | wc -l`\n\n### Phase 3: The Inspector (Ad-Hoc)\n\n1. **Shell Access**:\n    - `docker compose exec [service] \u002Fbin\u002Fsh`\n    - Check env var names: `awk 'BEGIN { for (name in ENVIRON) print name }'` (never print values; `env | cut` leaks lines of multi-line values)\n    - Check disk: `df -h`\n2. **DB Console**:\n    - `docker compose exec db psql ...`\n    - Check queue size, table locks.\n\n## OUTPUT FORMAT\n\n**The Watch Report**\n\n```markdown\n# ?️ LIVE MONITOR\n\n## Service: `api-gateway`\n- **Status**: ? Healthy (UP 4h 20m)\n- **CPU**: 12% | **Mem**: 140MB\n\n## Log Tail (Errors Only)\n- [14:02:01] ? 500 POST \u002Flogin (ConnectionRefused)\n- [14:02:05] ⚠️ Retry connection to Redis...\n\n## Analysis\n- Redis seems unstable. Logs show repeated connection retries.\n- Recommend checking Redis logs.\n```\n\n## EXECUTION RULES\n\n1. **READ ONLY**: Do not edit files. Do not restart services unless asked.\n2. **NOISE REDUCTION**: Use `grep` to hide normal INFO logs.\n3. **TIMESTAMPS**: Always correlate events with time.\n4. **CORRELATION**: If API errors, check DB\u002FCache logs immediately.\n",{"name":5,"description":7},"main","bb71e1631303bd27cb8ac18dc04830c97db8ac4d","skills\u002Fops-monitor",0,"https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface","https:\u002F\u002Fgithub.com\u002FLyther","Why so serious?","2026-11-12 01:02:43",{"source":8,"skillName":5,"commands":41,"prompt":51,"zipAvailable":52},[42,45,48],{"tool":43,"command":44},"npx","npx skills add Lyther\u002Fagent-surface --skill ops-monitor",{"tool":46,"command":47},"bunx","bunx skills add Lyther\u002Fagent-surface --skill ops-monitor",{"tool":49,"command":50},"pnpm","pnpm dlx skills add Lyther\u002Fagent-surface --skill ops-monitor","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fops-monitor\u002FSKILL.md",true,[],[55,81,95,109,128,139],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":66,"publishedAt":27},"01M6C5CQAHK34J7RNHEJE1G366","workflow-runtime","Prove skill or workflow discovery, full-autonomy tool execution, and task-shaped materialization before assigning a CLI, extension, provider, or model to a workflow role.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-runtime\u002FSKILL.md",[61],{"categoryNo":62,"categoryName":63,"taxonomyType":64,"taxonomyTypeDesc":65},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[67,68,69,70,71,72,73,74,75,76,77,78,79,80],"workflow","workflow runtime","runtime","execution","cli","discovery","tool","model","autonomy","provider","task","full","extension","role",{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":27},"01M6C5CNCTDS39453E66MQYTTQ","workflow-reviewer","Review batched implementation output against the BOSS spec and evidence.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-reviewer\u002FSKILL.md",[],[88,89,67,90,91,92,93,94],"workflow reviewer","reviewer","spec","review","evidence","implementation","output",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":102,"publishedAt":27},"01M6C5CKVKQF6NE9263HGRB2K3","workflow-rescue","Resolve repeated workflow failures with a single decisive action.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-rescue\u002FSKILL.md",[101],{"categoryNo":62,"categoryName":63,"taxonomyType":64,"taxonomyTypeDesc":65},[67,103,104,105,106,107,108],"workflow rescue","rescue","single","decisive action","with","action",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":116,"publishedAt":27},"01M6C5CHCW474Y5F49WME2G12H","workflow-orchestrator","Run risk-adaptive development, review, multi-agent, and release workflows with runtime preflight, bounded retries, liveness checks, isolated writers, and evidence-backed handoffs.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-orchestrator\u002FSKILL.md",[115],{"categoryNo":62,"categoryName":63,"taxonomyType":64,"taxonomyTypeDesc":65},[117,118,67,107,119,91,120,121,122,123,124,125,92,69,126,127],"orchestrator","workflow orchestrator","development","workflows","run","release","risk","preflight","multi-agent","multi","retries",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":27},"01M6C5CFCYEW1J4ETBNDD4EQPK","workflow-judger","Arbitrate repeated task failures and decide merge, rework, or escalation.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-judger\u002FSKILL.md",[],[135,67,136,137,138,77],"workflow judger","merge","escalation","decide",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":146,"publishedAt":27},"01M6C5CDADZX0YM26H2QWWDJMF","workflow-doctor","Validate active workflow state before any role acts on it.","https:\u002F\u002Fgithub.com\u002FLyther\u002Fagent-surface\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-doctor\u002FSKILL.md",[145],{"categoryNo":62,"categoryName":63,"taxonomyType":64,"taxonomyTypeDesc":65},[67,147,148,149,150,151,152,80],"workflow doctor","doctor","validate","state","active","it"]