本文へ移動
cccskills
無料GitHub で公開日本語紹介

Workflows

`workflow` CLIで定義を作成・検証し、ローカル実行やスケジュール設定、別ワークフローとの連携、実行状況の確認まで行うスキルです。

原文原文の説明を見る

Authors and operates Workflows v2 definitions through the `workflow` CLI: scaffold a definition, validate it until clean, graph it, run it locally, put a schedule on it, link workflows with after triggers or workflow steps, and inspect definitions and runs. USE WHEN new workflow, create a workflow, make a workflow, I want a workflow for, workflow for doing this, define a workflow, remind me, set a reminder, follow up on, check back on, scheduled task, recurring job, schedule this, run this every, run it nightly, run workflow, run the workflow, link these workflows, chain workflows, run after, when this finishes run, validate workflow, workflow graph, list workflows, what workflows do I have, did the workflow run, pause workflow. NOT FOR the inventory of everything LifeOS runs, missing or orphaned jobs and acknowledgements (use Workflows.ts in LIFEOS/WORKFLOWS), Cloudflare Worker deploys (Cloudflare), or building a whole skill (CreateSkill).

danielmiessler/LifeOSスター 19,635(GitHub 19,635 + cccskills 0)
連携ツールCloudflare

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • 定期処理のワークフローを作成したいとき
  • リマインダーや実行スケジュールを設定したいとき
  • ワークフローを検証して流れを確認したいとき
  • 処理後に別のワークフローを連携させたいとき
  • 実行履歴や定義の内容を調べたいとき

日本語での紹介

できること

workflow CLIを使ってWorkflows v2の定義を作成し、検証、図式化、ローカル実行、スケジュール設定、別のワークフローとの連携を行います。リマインダーや定期処理は、実行可能な定義として作成し、次回の実行時刻や実行履歴も確認できます。定義の検証は形式を確認するもので、実行はステップを実際に動かします。送信、支払い、デプロイなどの処理には副作用を明記し、必要に応じて人の承認ステップを組み込みます。

こんなときに便利

繰り返し行う作業をワークフローとして定義したいときや、指定時刻のリマインダーを設定したいときに使えます。処理の順序や実行状況を確認したい場合、複数のワークフローをつなぎたい場合にも向いています。

使い方の例

  • 「毎朝7時にこの処理を実行するワークフローを作って」
  • 「このワークフローを検証して、処理の流れを見せて」
  • 「エクスポートが終わったらレポートを実行して」

注意点

利用には bun とLifeOSの LIFEOS/WORKFLOWS/ エンジンが必要です。このマシン上でスケジュールを動かすにはmacOSが必要です。validate は定義を確認しますが、run は実際に処理を実行し、モデル利用で費用が発生したり、人の承認待ちになったりする場合があります。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

資料チェック

SKILL.md の記述から、注意が要る操作と導入の前提を AI が確認しました。点数は実際に動かした結果(実行検証)だけで付けています。

安全面送信・削除・コマンド実行などの扱いが明示されているか
A良好送信・支払い・デプロイに副作用宣言と人の承認を求め、実行の費用も記載します。
導入のしやすさ必要なツールや API キーが少ないか、書かれているか
A良好`bun`、LifeOSエンジン、定期実行時のmacOS要件が明記されています。

点数には入れていません。 2026年10月28日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。

評価が違うと思ったら、見直しを依頼する

どの項目が、なぜ違うと思うかを書いてください。ログインは不要です。内容を SKILL.md と照らし合わせて評価を作り直し、この欄に反映します。

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

含まれるファイル(9)

  • SKILL.md11.3 KB
  • Format.md7.0 KB
  • Intents/Create.md3.6 KB
  • Intents/Inspect.md2.2 KB
  • Intents/Link.md3.1 KB
  • Intents/Reminder.md4.0 KB
  • Intents/Run.md2.7 KB
  • Intents/Schedule.md4.4 KB
  • Tools/CheckEvalOutput.ts6.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Workflows

The principal says "I want a new workflow for doing this." This skill turns that into a definition in the definitions home, validated by the workflow CLI, and visible on the Workflows page in Pulse.

The CLI is the source of truth: bun LIFEOS/WORKFLOWS/workflow.ts help --json lists the commands that exist, their usage strings and exit codes. The format and the system doctrine are in LIFEOS/DOCUMENTATION/Workflows/WorkflowsSystem.md. This skill names only commands that help --json lists, plus LIFEOS/WORKFLOWS/engine/schedule-install.ts, which after a hand edit checks the schedule compiles and the dispatcher is loaded, and is not in that catalog.

Ideal State

  • Every definition passes workflow validate (exit 0) before it is reported done, and any deploy, send or pay step declares its side_effects and sits under a human approval upstream.
  • A scheduled or reminder request becomes a <name>.workflow.yaml definition with its trigger enabled for the dispatcher, never an issue alone, and shows in workflow list and Pulse.
  • Every report states the validate-vs-run distinction that applies: validate checks shape, run executes for real and may spend money or park on a human gate.

Intent Routing

WorkflowTriggerFile
Create"new workflow", "I want a workflow for", "make a workflow that", "define a workflow"Intents/Create.md
Run"run workflow", "run it", "run the workflow", "dry run"Intents/Run.md
Reminder"remind me to", "set a reminder", "follow up on", "check back on", any one-off thing due laterIntents/Reminder.md
Schedule"schedule this", "run this every night", "run it once at", "pause workflow"Intents/Schedule.md
Link"link these workflows", "run B after A", "chain workflows", "call a workflow from a workflow"Intents/Link.md
Inspect"list workflows", "did it run", "what does this workflow do", "why did it fail"Intents/Inspect.md
FileRead when
Format.mdauthoring reference — load before writing any definition
EvalState.mdthe latest authoring-eval scores (auto-generated, machine-owned)

Quick Reference

  • Definitions live in LIFEOS/USER/WORKFLOWS/ as <name>.workflow.yaml; the file stem equals name:.
  • Core commands: new, list, validate, graph, next, run, runs, schedule, pause, resume, link, show, step, put, remove; help --json has the full catalog. Every one takes --json. Exit 0 success, 1 invalid or failed, 2 usage.
  • Every command step declares side_effects ([none] when it touches nothing). A command line that deploys, sends or pays (any deploy subcommand or deploy script, a git push, gmail.ts send, Relay send.ts, YouTubeUpload upload, dd-cli order and the ordering skill's maintainer-side submit wrapper) must declare the matching effect, or validate refuses it.
  • Money, deploy and outbound steps need a human approval upstream (a human step with the default output, {approved, note}). Outbound to the principal only (recipient: principal) is exempt. At run time a decline stops the gated step even without a when; add when: { ref: steps.<human>.output.approved, equals: true } so a decline skips it and the run ends cleanly.
  • Local run executes all seven step kinds (RUNNABLE_KINDS in engine/runner.ts). A human step parks the run on disk and texts a 👍/👎 approval; model and agent steps call the OpenAI lanes and cost money; a workflow step runs the child as its own ledger run. Only runs_on: cloud is refused locally.
  • Scratch runs use LIFEOS_WORKFLOWS_DIR and LIFEOS_WORKFLOWS_LEDGER so they leave the real home and ledger alone.

Data & Config

Customizations, when present: <configRoot>/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Workflows/ (configRoot is $CLAUDE_CONFIG_DIR when set, else ~/.claude).

Setup

Nothing to configure for authoring. The skill needs bun and the LIFEOS/WORKFLOWS/ engine that ships with LifeOS. Definitions go in LIFEOS/USER/WORKFLOWS/ (create the folder if it is missing; LIFEOS_WORKFLOWS_DIR points the CLI at another one). Status check: bun LIFEOS/WORKFLOWS/workflow.ts help --json prints the command catalog and exits 0. Local schedules are evaluated by one launchd job, com.lifeos.workflows-dispatcher, so scheduled and reminder workflows that run on this machine need macOS; defining and validating a workflow does not use launchd.

Gotchas

  • Validator refusals are the design, not obstacles (2026-09-28). Step "deploy" declares side effects deploy but no human step is among its ancestors. is the fix-the-design signal. Add the human step; do not remove side_effects to pass.
  • An after link needs its upstream on disk (2026-09-28). after: upstream workflow "no-such-flow" does not exist appears when the trigger names a workflow that has no definition file yet. Create or fix the upstream first.
  • Lanes are a closed list (2026-09-28). Step "summarize" lane must be one of openaiLow, openaiMedium, sol, astra. A model name in lane: fails.
  • Validating is not running (updated 2026-10-09). validate checks shape; run executes for real. Every step kind runs locally, so a model or agent step spends money and a human step parks the run until it is answered. Only runs_on: cloud is refused by a local run; it runs on its Worker after workflow deploy. Say which applies when reporting.
  • A command step with no side_effects is refused (2026-10-09). Step "x" is a command step and must declare side_effects means say what it touches; [none] is fine for a step that only computes. Declaring less than the command line does, such as a send declared as [read], is refused too.
  • A schedule fires only while the dispatcher is alive (updated 2026-10-24). No workflow has its own launchd job. One job, com.lifeos.workflows-dispatcher, runs engine/dispatcher.ts serve under KeepAlive, evaluates every local schedule, interval and once trigger each minute, and starts after: and event workflows; cloud workflows are scheduled by their own runner. workflow schedule|pause|resume|put report scheduled by com.lifeos.workflows-dispatcher or the dispatcher skips it. After a hand edit of triggers, schedule-install.ts install <name> only checks the schedule compiles, removes any leftover per-workflow job and makes sure the dispatcher is loaded. Claim a schedule is live only when the definition validates with the trigger enabled, launchctl list | grep com.lifeos.workflows-dispatcher shows the dispatcher, bun LIFEOS/VIGIL/Vigil.ts heartbeat --json shows its workflows-dispatcher row not stale, and workflow next <name> --json shows the next fire. The direction is Cloudflare as the clock and the Mac as a worker (Workflows ISA F27).
  • A reminder goes to Vigil as --class prep, never by severity (moved from Reminder.md, 2026-10-12). The class, not the severity, decides Vigil delivery: prep is a fixed-rule class, so the next Vigil tick texts it as written. It skips the 72h story hold, quiet hours and the daily text budget, and the editor never rewords or demotes it. An ops text can be held, and a held text is never sent later.
  • Clock times follow the principal, not the identity file (2026-10-12). A clock-time trigger takes its zone from principalTimezone(), the current-location zone. A zone copied from the identity file would make "remind me at 9" fire at 06:00 local for a principal travelling three zones west of home. A stored schedule keeps the zone it was written with, so the report names that zone.
  • Reminders and scheduled work are workflows, never issues alone (2026-10-07). An issue has no schedule and nothing that texts the principal, so a reminder filed only as an issue never fires. Every reminder, follow-up and recurring job is a definition here; an issue may only link to it.
  • Two systems share the word "workflow." This skill authors definitions with the workflow CLI. The inventory of every job LifeOS runs, with missing and orphan reconciliation, is Workflows.ts. Route "what is broken or missing" there.
  • A command step gets only PATH, HOME, USER and LOGNAME, plus the names listed under env: (2026-09-30; USER and LOGNAME added 2026-10-25 so the claude CLI can find its login). A variable set on a test run, such as NODE_ENV=test meant to stop a send, never reaches the step unless the step declares it, so an undeclared test flag lets a test run send for real. Before testing any step with outbound side effects, declare the test flag under env: and confirm the test output shows the skip.
  • No interpolation (2026-09-28). "Hello ${name}" in an argv or prompt is a literal string. Pass values through with and $ref, and let the command build text from its stdin JSON.

Examples

Example 1: create

User: "I want a new workflow that builds the site, waits for my OK, then deploys it"
→ Create.md: workflow new, author build (command) → approve (human) → deploy (command, side_effects: [deploy], when approve said yes)
→ workflow validate exits 0, workflow graph summarised in four lines
→ reports the file path and what runs locally

Example 2: schedule

User: "schedule this to run every morning at 7"
→ Schedule.md: adds a schedule trigger in the principal's current zone (principalTimezone()), validates, prints the next fire times with workflow next
→ workflow schedule writes the trigger and reports scheduled by com.lifeos.workflows-dispatcher; the loaded dispatcher, a fresh heartbeat and workflow next confirm it will fire

Example 3: link

User: "run the report workflow after the export finishes"
→ Link.md: adds an after trigger on the report, checks the export's output schema fits the report's input, validates both, reads the connection class from workflow graph

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

AnnualReports

無料概要あり

複数ベンダーの年次サイバーセキュリティ報告書を探して取得し、脅威やランサムウェア、侵害統計の傾向を出典付きで比較・分析します。

  • 脅威レポートをカテゴリ別に探したいとき
  • 特定ベンダーの報告書を取得したいとき
  • ランサムウェア動向を複数社で比較したいとき
danielmiessler/LifeOS2万2026年10月28日 更新

ApertureOscillation

無料概要あり

個別の機能や部品の設計と、システム全体の目的を同じ問いで比較し、両者の食い違い、適切な実装範囲、全体との整合性を3段階で整理するスキルです。

  • サービスやライブラリの分割判断
  • 機能要求と製品方針を比較したいとき
  • 新しい部品と既存システムの整合性確認
danielmiessler/LifeOS2万2026年10月28日 更新

Aphorisms

無料概要あり

文章のテーマに合う格言や引用を探し、著者・出典と選定理由を添えて提案します。引用の追加、思想家の調査、利用履歴の管理を通じて、同じ引用の繰り返しも防ぎます。

  • ニュースレター向けの引用探し
  • 出典付きの引用を重複なく保存
  • 思想家の言葉をテーマ別に調査
danielmiessler/LifeOS2万2026年10月28日 更新

Art

無料概要あり

ブログの挿絵や技術図解、比較図、マンガ、アイコンなどを用途別の手順で制作します。形式に合う構図や配色を組み立て、確認用の画像を出力します。

  • ブログの見出し画像を作りたいとき
  • システムの仕組みを図解したいとき
  • 比較や時系列を可視化したいとき
danielmiessler/LifeOS2万2026年10月28日 更新

ArtDirection

無料概要あり

画像や映像、スライド、サイト画面の品質を複数の判定役で評価し、修正点の整理から基準を満たした成果物の引き渡しまで進めます。

  • 画像の修正点を優先順に整理したいとき
  • 映像やスライドを基準に沿って評価したいとき
  • 公開前に見た目が基準を満たすか確認したいとき
danielmiessler/LifeOS2万2026年10月28日 更新

ArXiv

無料概要あり

arXivの論文をテーマ・分野・論文IDで探し、著者や要旨、リンクをまとめます。新着論文の確認や、用意されている場合はAlphaXivのAI生成概要の取得にも対応します。

  • AI・機械学習の新着論文の確認
  • 特定テーマの論文を探したいとき
  • 論文IDやarXivのURLで照会
danielmiessler/LifeOS2万2026年10月28日 更新

danielmiessler のスキルをすべて見る

このスキルの問題を報告する