[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DA35JGKREZP9ZM2ZYH0J7M":3,"skill-same:01M6DA35JGKREZP9ZM2ZYH0J7M":72},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M6DA35JGKREZP9ZM2ZYH0J7M","scion-scheduler",null,"Schedule one-shot and recurring events for agents using the Scion CLI. Covers when to use scheduled events vs inline message delays, recurring cron schedules, lifecycle management, and the blocked-wait pairing rule.","GoogleCloudPlatform\u002Fscion","GoogleCloudPlatform","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2810941?v=4","01M6DA2FX07AS0KCQ4FBRS84A2","Google Cloud Platform","01M6DA2G1EA6A2E5MKG6THG0KK",2108,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fscion\u002Fblob\u002Fmain\u002Fresources\u002Fplatform_skills\u002Fscion-scheduler\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"scheduler","scion scheduler","when","cli","schedules","when to use","pairing","inline","for","scheduled","rule","events","wait","message","use","recurring","management","schedule","cron","lifecycle","2026-11-10 10:12:30",false,"---\nname: scion-scheduler\ndescription: >-\n  Schedule one-shot and recurring events for agents using the Scion CLI.\n  Covers when to use scheduled events vs inline message delays, recurring\n  cron schedules, lifecycle management, and the blocked-wait pairing rule.\n---\n\n# Scion Scheduler\n\nSchedule future events that deliver messages to agents — either one-shot\n(fire once at a specific time) or recurring (fire on a cron schedule).\nAll schedules are **project-scoped** — an agent can only create and manage\nschedules within its own project.\n\nFor full command syntax: `scion schedule --help` and its subcommands.\n\n## Two ways to schedule — when to use which\n\nScion has two scheduling mechanisms. They solve different problems:\n\n| | `scion message --in\u002F--at` | `scion schedule create` \u002F `create-recurring` |\n|---|---|---|\n| Nature | fire-and-forget delayed send | durable, project-scoped event |\n| Manageable | no handle once sent | list, inspect, cancel, pause, resume, delete, history |\n| Visibility | only sender knows it exists | any agent in the project can `scion schedule list` |\n| Recurrence | no | yes (`create-recurring --cron`) |\n\n**Use `scion message --in`** for a simple self-callback during your own wait —\nyou need a poke, not a managed object.\n\n**Use `scion schedule create`** when any of these apply:\n- The event is recurring\n- Another agent may need to inspect, cancel, or take over the schedule\n- The wait outlives the current agent's session\n- You need execution history or failure tracking\n\n## Waiting on external processes — the blocked-wait pairing rule\n\nWhen waiting on an external, non-agent process (CI run, build job, deploy,\nthird-party API), calling `sciontool status blocked \"...\"` alone is **not\nsufficient**. That command marks intentional waiting for the stall detector —\nit does not poll anything or wake you when the external condition resolves.\nWithout a separate wake mechanism, you go fully idle and only resume if an\nunrelated inbound message happens to arrive.\n\n**Correct pattern:** schedule a self-callback, then set blocked status.\n\n```\nscion message --in 5m agent:\u003Cself> \"recheck CI status\"\nsciontool status blocked \"Waiting for CI run to complete\"\n```\n\nThe self-callback delivers the wake-up; `status blocked` prevents the stall\ndetector from flagging you during the wait. **Neither replaces the other.**\n\n- `status blocked` alone → stall detector is happy, but you never wake up\n- Self-callback alone → you wake up, but the stall detector may flag you first\n\n`sciontool status blocked` alone **is** sufficient when waiting on another\nagent or a scheduled event already tracked by the orchestration system —\nthose fire their own state-change notifications.\n\n## Self-scheduling\n\nTo schedule a message to yourself, resolve your own agent name first:\n\n```bash\nscion schedule create --non-interactive --type message \\\n  --agent \"$(scion whoami --non-interactive --format json | jq -r .name)\" \\\n  --message \"Check if deployment completed\" \\\n  --in 15m\n```\n\n## Two event types\n\n### One-shot events\n\nFire once, then done. Specify timing with `--in` (relative delay: `30m`,\n`2h`) or `--at` (absolute ISO 8601 timestamp, UTC).\n\n### Recurring schedules\n\nFire on a cron expression (5-field: minute hour day-of-month month\nday-of-week), evaluated in **UTC only**. Each recurring schedule has a name,\ncan be paused and resumed, and maintains execution history.\n\n## Message-to-orchestrator pattern\n\nTo create agents on a timer, message a long-lived orchestrator rather than\ndispatching agents directly from the schedule. The orchestrator receives the\nmessage and creates\u002Fmanages task agents as needed — keeping agent lifecycle\nowned by something that can reason about it.\n\n## Lifecycle management\n\n| Action | Command |\n|---|---|\n| List all events and schedules | `scion schedule list` |\n| List only recurring | `scion schedule list --show recurring` |\n| List only one-shot | `scion schedule list --show events` |\n| Inspect | `scion schedule get \u003Cid>` |\n| Cancel a one-shot event | `scion schedule cancel \u003Cid>` |\n| Pause a recurring schedule | `scion schedule pause \u003Cid>` |\n| Resume a paused schedule | `scion schedule resume \u003Cid>` |\n| Delete a recurring schedule | `scion schedule delete \u003Cid>` |\n| View execution history | `scion schedule history \u003Cid>` |\n\n## Gotchas\n\n- **Cron is UTC only.** An expression cannot carry a timezone, and there is\n  no timezone setting. Convert from local time before writing the expression.\n  A fixed UTC time shifts by an hour against local time across DST changes.\n- **`cancel` vs `pause` vs `delete`:** `cancel` is for one-shot events only.\n  `pause` and `delete` are for recurring schedules only. Using the wrong command\n  on the wrong type will result in an error.\n- **Schedule names must be unique** within the project.\n- **Clean up recurring schedules** when the task they serve is complete —\n  they fire indefinitely until paused or deleted.\n- **Check existing schedules** with `scion schedule list` before creating\n  new ones — duplicate schedules deliver duplicate messages.\n","# Scion Scheduler\n\nSchedule future events that deliver messages to agents — either one-shot\n(fire once at a specific time) or recurring (fire on a cron schedule).\nAll schedules are **project-scoped** — an agent can only create and manage\nschedules within its own project.\n\nFor full command syntax: `scion schedule --help` and its subcommands.\n\n## Two ways to schedule — when to use which\n\nScion has two scheduling mechanisms. They solve different problems:\n\n| | `scion message --in\u002F--at` | `scion schedule create` \u002F `create-recurring` |\n|---|---|---|\n| Nature | fire-and-forget delayed send | durable, project-scoped event |\n| Manageable | no handle once sent | list, inspect, cancel, pause, resume, delete, history |\n| Visibility | only sender knows it exists | any agent in the project can `scion schedule list` |\n| Recurrence | no | yes (`create-recurring --cron`) |\n\n**Use `scion message --in`** for a simple self-callback during your own wait —\nyou need a poke, not a managed object.\n\n**Use `scion schedule create`** when any of these apply:\n- The event is recurring\n- Another agent may need to inspect, cancel, or take over the schedule\n- The wait outlives the current agent's session\n- You need execution history or failure tracking\n\n## Waiting on external processes — the blocked-wait pairing rule\n\nWhen waiting on an external, non-agent process (CI run, build job, deploy,\nthird-party API), calling `sciontool status blocked \"...\"` alone is **not\nsufficient**. That command marks intentional waiting for the stall detector —\nit does not poll anything or wake you when the external condition resolves.\nWithout a separate wake mechanism, you go fully idle and only resume if an\nunrelated inbound message happens to arrive.\n\n**Correct pattern:** schedule a self-callback, then set blocked status.\n\n```\nscion message --in 5m agent:\u003Cself> \"recheck CI status\"\nsciontool status blocked \"Waiting for CI run to complete\"\n```\n\nThe self-callback delivers the wake-up; `status blocked` prevents the stall\ndetector from flagging you during the wait. **Neither replaces the other.**\n\n- `status blocked` alone → stall detector is happy, but you never wake up\n- Self-callback alone → you wake up, but the stall detector may flag you first\n\n`sciontool status blocked` alone **is** sufficient when waiting on another\nagent or a scheduled event already tracked by the orchestration system —\nthose fire their own state-change notifications.\n\n## Self-scheduling\n\nTo schedule a message to yourself, resolve your own agent name first:\n\n```bash\nscion schedule create --non-interactive --type message \\\n  --agent \"$(scion whoami --non-interactive --format json | jq -r .name)\" \\\n  --message \"Check if deployment completed\" \\\n  --in 15m\n```\n\n## Two event types\n\n### One-shot events\n\nFire once, then done. Specify timing with `--in` (relative delay: `30m`,\n`2h`) or `--at` (absolute ISO 8601 timestamp, UTC).\n\n### Recurring schedules\n\nFire on a cron expression (5-field: minute hour day-of-month month\nday-of-week), evaluated in **UTC only**. Each recurring schedule has a name,\ncan be paused and resumed, and maintains execution history.\n\n## Message-to-orchestrator pattern\n\nTo create agents on a timer, message a long-lived orchestrator rather than\ndispatching agents directly from the schedule. The orchestrator receives the\nmessage and creates\u002Fmanages task agents as needed — keeping agent lifecycle\nowned by something that can reason about it.\n\n## Lifecycle management\n\n| Action | Command |\n|---|---|\n| List all events and schedules | `scion schedule list` |\n| List only recurring | `scion schedule list --show recurring` |\n| List only one-shot | `scion schedule list --show events` |\n| Inspect | `scion schedule get \u003Cid>` |\n| Cancel a one-shot event | `scion schedule cancel \u003Cid>` |\n| Pause a recurring schedule | `scion schedule pause \u003Cid>` |\n| Resume a paused schedule | `scion schedule resume \u003Cid>` |\n| Delete a recurring schedule | `scion schedule delete \u003Cid>` |\n| View execution history | `scion schedule history \u003Cid>` |\n\n## Gotchas\n\n- **Cron is UTC only.** An expression cannot carry a timezone, and there is\n  no timezone setting. Convert from local time before writing the expression.\n  A fixed UTC time shifts by an hour against local time across DST changes.\n- **`cancel` vs `pause` vs `delete`:** `cancel` is for one-shot events only.\n  `pause` and `delete` are for recurring schedules only. Using the wrong command\n  on the wrong type will result in an error.\n- **Schedule names must be unique** within the project.\n- **Clean up recurring schedules** when the task they serve is complete —\n  they fire indefinitely until paused or deleted.\n- **Check existing schedules** with `scion schedule list` before creating\n  new ones — duplicate schedules deliver duplicate messages.\n",{"name":5,"description":7},"main","d2283cad8aa80efb245b118b91c4accb684e287e","resources\u002Fplatform_skills\u002Fscion-scheduler",309,"https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fscion","https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform","https:\u002F\u002Fcloud.google.com","2026-11-11 09:33:15",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add GoogleCloudPlatform\u002Fscion --skill scion-scheduler",{"tool":58,"command":59},"bunx","bunx skills add GoogleCloudPlatform\u002Fscion --skill scion-scheduler",{"tool":61,"command":62},"pnpm","pnpm dlx skills add GoogleCloudPlatform\u002Fscion --skill scion-scheduler","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fscion\u002Fblob\u002Fmain\u002Fresources\u002Fplatform_skills\u002Fscion-scheduler\u002FSKILL.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"testing-anti-patterns.md","REFERENCE","参考文档",8251,"https:\u002F\u002Fgithub.com\u002Fdahaliztupe-sketch\u002FKalmeron-Two\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftest-driven-development\u002Ftesting-anti-patterns.md",[73,109,142,160,171,188],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":84,"publishedAt":39},"01M6DA3C2RTK8R5TQ9YZVBYT1D","team-creation","Create or extend scion agent team templates from a high-level description of roles and workflow. Use when the user describes a multi-agent team, panel, crew, pipeline, or any scenario requiring coordinated LLM agents with distinct roles. Also use when adding new roles to an existing team, modifying workflows, or restructuring agent coordination. Produces ready-to-use template directories in .scion\u002Ftemplates\u002F by default, or in a custom path if specified.","https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fscion\u002Fblob\u002Fmain\u002Fresources\u002Fplatform_skills\u002Fteam-creation\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[85,86,87,88,89,90,33,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,21,107,108],"creation","team","team creation","ready","pipeline","default","llm agents","workflows","workflow","coordination","roles","create","agent team","template","crew","templates","scenario","multi-agent","user","directories","agent coordination","new","path","extend",{"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":115,"publishedAt":39},"01M6DA385P0S838W8ZXQ7SVDFM","scion-web-serving","How to serve a web page, app, API or other HTTP service from inside your agent so a person or program can reach it through the Hub's port proxy: scion expose and unexpose, the URL to hand over, what the proxy carries, and scion tunnel for full apps. The link serves web protocols only; for a non-HTTP port, point the person to scion tunnel. Use before running scion expose. For web pages and apps, also read references\u002Fweb-apps.md.","https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fscion\u002Fblob\u002Fmain\u002Fresources\u002Fplatform_skills\u002Fscion-web-serving\u002FSKILL.md",[],[116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,33,132,133,134,135,136,27,137,138,139,140,141],"scion web serving","web","serving","app","references","what the","protocols","how","proxy","page","hub","read","pages","tunnel","only","service","http","full","api","running","point","how to","apps","URL","program","hand",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":148,"publishedAt":39},"01M6DA328HMWYY0R65MVVJJG3S","scion-messaging","Use when sending messages to users or agents with scion message, choosing conversations and mentions, or interpreting incoming messages. Covers user-facing formatting, agent delivery, and reading conversation history.","https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fscion\u002Fblob\u002Fmain\u002Fresources\u002Fplatform_skills\u002Fscion-messaging\u002FSKILL.md",[],[149,150,33,32,151,152,153,154,155,156,157,158,159,103,21],"messaging","scion messaging","conversation","delivery","history","conversations","messages","users","with","reading","formatting",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":39},"01M6DA2YXJ384EVWJX6RPHDZ9R","scion-conversation","How to use the scion conversation command for managing conversations. Covers listing, creating, viewing, participant management, and message retrieval. Complements the scion-messaging skill.","https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fscion\u002Fblob\u002Fmain\u002Fresources\u002Fplatform_skills\u002Fscion-conversation\u002FSKILL.md",[],[151,167,149,32,168,123,33,35,154,27,137,169,170],"scion conversation","command","listing","retrieval",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":177,"publishedAt":39},"01M6DA2WCR1XJK9A3NSV2VGP56","scion-cli-operations","Operational constraints for Scion agents running in containerized sandboxes. Covers prohibited commands and hub-only API access. Complements the scion CLI reference and messaging skills.","https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fscion\u002Fblob\u002Fmain\u002Fresources\u002Fplatform_skills\u002Fscion-cli-operations\u002FSKILL.md",[],[22,178,179,149,126,180,130,181,182,134,183,135,27,184,185,186,187],"operations","scion cli operations","commands","reference","access","constraints","cli reference","sandboxes","operational constraints","containerized",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":195,"publishedAt":39},"01M6DA2SNFM7QDR29R12HZGNQH","scion-agent-manage","Manage concurrent LLM-based code agents with scion - orchestrate parallel agents with isolated workspaces, troubleshoot and recover stuck agents","https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fscion\u002Fblob\u002Fmain\u002Fresources\u002Fplatform_skills\u002Fscion-agent-manage\u002FSKILL.md",[194],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},[196,197,198,199,200,201,202,203,204,157],"manage","scion agent manage","parallel","orchestrate","workspaces","troubleshoot","parallel agents","code","code agents"]