본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

Workflows

`workflow` CLI로 Workflows v2 정의를 만들고 검증합니다. 흐름도를 확인하고 로컬 실행, 일정 설정, 다른 워크플로 연결을 할 수 있으며 정의와 실행 기록도 살펴볼 수 있습니다.

원문원문 설명 보기

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,636(GitHub 19,636 + cccskills 0)
연동 도구Cloudflare

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • 반복 작업을 위한 워크플로 만들기
  • 알림이나 실행 일정 설정하기
  • 워크플로를 검증하고 흐름도 확인하기
  • 작업 완료 후 다른 워크플로 연결하기
  • 정의와 실행 기록 살펴보기

한국어 소개

할 수 있는 일

Workflows는 workflow CLI를 사용해 Workflows v2 정의를 만들고 검증하며, 흐름도로 표시하고 로컬에서 실행하거나 일정을 설정하고 다른 워크플로와 연결합니다. 알림과 반복 작업을 실행 가능한 정의로 만들 수 있고, 다음 실행 시각과 실행 기록도 확인할 수 있습니다. 검증은 정의의 형식을 점검하고, 실행은 단계들을 실제로 작동시킵니다. 전송, 결제, 배포 같은 작업은 부작용을 명시해야 하며, 필요하면 사람의 승인 단계를 넣을 수 있습니다.

이럴 때 유용합니다

반복해서 하는 일을 워크플로로 정의하거나 특정 시각에 알림을 설정할 때 사용할 수 있습니다. 단계 순서와 실행 상태를 확인하거나 여러 워크플로를 연결할 때도 유용합니다.

사용 예시

  • “매일 아침 7시에 이 작업을 실행하는 워크플로를 만들어 주세요.”
  • “이 워크플로를 검증하고 처리 흐름을 보여 주세요.”
  • “내보내기가 끝나면 보고서를 실행해 주세요.”

주의 사항

사용하려면 bun과 LifeOS의 LIFEOS/WORKFLOWS/ 엔진이 필요합니다. 이 기기에서 일정을 실행하려면 macOS가 필요합니다. validate는 정의를 검사하지만 run은 단계를 실제로 실행하며, 모델 비용이 발생하거나 사람의 승인을 기다릴 수 있습니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

문서 점검

AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.

안전성전송·삭제·명령 실행 등을 명시하고 있는가
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 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

AnnualReports

무료요약 있음

여러 업체와 공공기관의 사이버 보안 보고서를 검색하고 가져와 위협, 랜섬웨어, 침해 통계 등의 추세를 비교합니다. 분석에는 출처별 업체, 연도, 보고서를 표시하고 자료 간 차이도 따로 다룹니다.

  • 분류별 위협 보고서를 찾을 때
  • 특정 업체의 보고서를 가져올 때
  • 여러 업체의 랜섬웨어 동향을 비교할 때
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

ApertureOscillation

무료요약 있음

기능이나 구성 요소 자체의 설계 요구와 시스템 전체의 목표를 세 단계로 비교합니다. 설계상의 충돌과 적절한 구현 범위를 정리하고, 제안한 설계가 전체 방향과 맞는지 평가합니다.

  • 서비스나 라이브러리를 분리할지 판단하기
  • 기능 요구와 제품 방향 비교하기
  • 새 구성 요소와 기존 시스템의 정합성 확인하기
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

Aphorisms

무료요약 있음

글의 주제에 맞는 격언과 인용문을 찾아 저자와 선정 이유를 함께 제안합니다. 출처가 있는 인용문을 추가하고, 사상가의 말을 주제별로 조사하며, 사용 기록을 관리해 같은 인용문을 반복하지 않도록 돕습니다.

  • 뉴스레터에 어울리는 인용문 찾기
  • 출처와 함께 중복 없이 인용문 저장하기
  • 주제별로 사상가의 말 조사하기
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

Art

무료요약 있음

블로그 삽화, 기술 도표, 비교 그림, 만화, 아이콘 등을 용도에 맞는 절차로 제작합니다. 구도와 색상, 이미지 모델을 정하고 검토용 이미지를 출력합니다.

  • 블로그 제목 이미지를 만들 때
  • 시스템 구조를 그림으로 설명할 때
  • 비교나 연대표를 시각화할 때
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

ArtDirection

무료요약 있음

브리프와 제작 기준에 따라 이미지, 영상, 슬라이드, 사이트 화면 캡처의 시각 품질을 평가합니다. 두 비전 심사자가 점수와 결함 우선순위를 제시하고, 정해진 횟수 안에서 수정을 돕습니다. 평가를 통과한 결과물만 전달할 수 있으며, 사람의 점수와 의견은 별도 기록해 심사 보정에 활용합니다.

  • 이미지 수정 항목의 우선순위 정리
  • 기준에 따라 영상이나 슬라이드 평가
  • 공개 전 시각 품질 점검
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

ArXiv

무료요약 있음

주제, 연구 분야, 논문 ID로 arXiv 논문을 찾고 제목, 저자, 초록, 링크를 정리합니다. 새 논문을 확인하고, 제공되는 경우 AlphaXiv의 AI 생성 개요도 가져옵니다.

  • AI·머신러닝 분야의 새 논문 확인
  • 특정 주제의 논문 검색
  • 논문 ID나 arXiv 주소로 조회
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

danielmiessler의 스킬 모두 보기

이 스킬의 문제 신고