本文へ移動
cccskills
無料GitHub で公開

dag-runtime

Specifies bounded DAG execution contracts and evaluates executor receipts for dispatch, cancellation, joins, and effect reconciliation. Use when an implementation must bind a planned DAG to named runtime controls. NOT for claiming an executor is active, spawning agents, or certifying an effect from a plan.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md7.9 KB
  • references/runtime-lifecycle-limits.md710 B

SKILL.md(原文)

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

DAG Runtime

Specifies bounded DAG execution contracts and evaluates executor receipts. A plan does not establish that dispatch, isolation, cancellation, join, or external effects occurred.

Use Runtime lifecycle limits. Planned topology does not establish dispatch, cancellation, join, or effect behavior.

Decision Points

Boundary selection

flowchart TD
 A[Task data/effect contract] --> B[Name file, process, network, secret, resource, and context boundaries]
 B --> C{Named control enforces required boundary?}
 C -->|Yes| D[Record principal, lifetime, and readback]
 C -->|No| E[Reduce scope, add control, or stop]

Failure disposition

flowchart TD
 A[Failure/timeout receipt] --> B{Effect reconciled and retry safe?}
 B -->|No| C[Contain dependents and reconcile]
 B -->|Yes| D{Authorized changed-factor experiment?}
 D -->|Yes| E[Propose revision/retry with acceptance check]
 D -->|No| F[Record failure or escalate]

Join and release

flowchart LR
 A[Attempt receipts] --> B{Declared AND/OR/partial join condition met?}
 B -->|Yes| C[Release dependents with attributed limitations]
 B -->|No| D[Block, contain, or escalate]

Failure Modes

Permission Creep

  • Symptoms: Child nodes have more permissions than parent
  • Detection: Compare delegated grants by principal, operation, canonical resource, conditions, expiry and policy version. Tool-name subsets alone do not establish attenuation.
  • Fix: Have the named policy evaluator derive an attenuated grant; deny or hold unresolved comparisons before dispatch.

Context Pollution

  • Symptoms: Node sees conversation history from unrelated nodes
  • Detection: Compare supplied context identities and disclosure scopes with declared input grants; a permitted dependency reference is not leakage.
  • Fix: Enforce context isolation, only pass declared inputs

Zombie Wave

  • Symptoms: Wave never completes, some nodes stuck in "running" state
  • Detection: The named executor has no terminal/cancellation receipt by its declared deadline or heartbeat policy.
  • Fix: Contain dependents and use the executor's authorized cancellation/reconciliation path; do not assert a kill occurred without its receipt.

Resource Exhaustion

  • Symptoms: New agents fail to spawn, memory/CPU limits hit
  • Detection: Agent spawn returns resource error
  • Fix: Reconcile resource receipts, bound admission and queue eligible nodes; changing isolation alone does not create capacity.

Cost Spiral

  • Symptoms: Nodes repeatedly retry expensive operations
  • Detection: Compare attributed usage with the node and run budgets under their declared units and accounting source.
  • Fix: Follow the declared hold/escalation policy; budget data does not itself grant continuation authority.

Worked Examples

Multi-Wave DAG with Failure Recovery

Scenario: 3-wave codebase analysis DAG where Wave 2 node fails

flowchart LR
  A[scan-files: completed] --> B[analyze-architecture: malformed output]
  A --> C[check-security: completed]
  B --> D{Declared partial join condition?}
  C --> D
  D -->|required architecture output| E[generate-report: blocked]
  D -->|partial result explicitly allowed| F[generate-report: attributed limitation]

Decision Navigation:

  1. Failure occurs: analyze-architecture returns malformed JSON
  2. Reconciliation check: Determine whether an effect was attempted, its idempotency/effect key, and the executor receipt.
  3. Retry guard: Retry only if the policy authorizes a changed-factor attempt, the effect state is reconciled, and its acceptance check is recorded; otherwise contain and escalate.
  4. Wave completion check: One node failed, one succeeded
    • check-security succeeded, output available
    • analyze-architecture has an unavailable/unknown attempt result; do not encode that as JSON null.
  5. Dependency check: generate-report requires both outputs
    • Decision: Can proceed with partial data? Check node config
    • If required: false → advance with warning
    • If required: true → halt execution

Expert catches: Checking dependency requirements before advancing wave Novice misses: Would either block forever or advance with missing critical data

Isolation Trade-offs

Scenario: Code execution node needs filesystem access but has security concerns

node: code-formatter
skills: [python-formatter]
inputs: {source_files: [...]}
permissions: {tools: [Read, Write, Bash], paths: ["/workspace/src"]}

Decision Navigation:

  1. Threat assessment: Bash tool + external code = high risk
  2. Isolation decision: select a named control only after its boundary, principal, mount, and readback are evaluated. A container alone does not determine host-write authority.
  3. Trade-off resolution:
    • Constructed local configuration: a writable mount maps /workspace/src to /container/workspace; the mount grant, not the container label, authorizes that path.
    • Use a named enforceable command/process policy; the phrase "safe commands" does not constrain subprocesses, filesystem access, or network effects.
    • Constructed local limits are selected from the task workload and threat model, then recorded with the executor receipt.

Expert catches: Need to balance security with functionality Novice misses: Would either over-isolate (breaking functionality) or under-isolate (security risk)

Quality Gates

  • Each node starts only after its required dependency and authority conditions are satisfied.
  • Each node has valid isolation level for its threat profile
  • Delegation attenuation is evaluated over complete grants; unresolved resource/condition comparisons block dispatch.
  • All required trace fields populated (node_id, model, tokens, cost, duration)
  • Deadlines, cancellation semantics, and readback source are declared; no default timeout is assumed.
  • Cost budgets defined and monitored per node
  • Retry is conditioned on idempotency/effect state, changed-factor rationale, budget, and acceptance check.
  • Context isolation prevents cross-node conversation leakage
  • Failed, unavailable, absent, and unknown output states remain distinguishable.
  • Resume eligibility preserves input/version identity, attempt receipts, and validated artifact state.

Evidence and Book candidate

The reference inspected Kotlin coroutine lifecycle documentation, not an agent-runtime implementation. Book candidate, not Book prose: planned topology, dispatch receipt, and external-effect reconciliation are distinct claims. Compare with the Book-review files before asserting novelty or placement.

NOT-FOR Boundaries

Don't use dag-runtime for:

  • DAG structure planning → Use dag-planner instead
  • Output quality validation → Use dag-quality instead
  • Skill-to-task matching → Use dag-skills-matcher instead
  • Real-time interactive workflows → Use direct agent calls
  • Single-step tasks → Use individual skills directly

Delegate to other skills when:

  • Output doesn't meet quality standards → dag-quality
  • Need to modify DAG structure mid-execution → dag-planner
  • Agent needs different skill for retry → dag-skills-matcher

レビュー

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

同じリポジトリのスキル

概要と使いどころ

Expert in 2000s-era music visualization (Milkdrop, AVS, Geiss) and modern WebGL implementations. Specializes in Butterchurn integration, Web Audio API AnalyserNode FFT data, GLSL shaders for audio-reactive visuals, and psychedelic generative art. Activate on "Milkdrop", "music visualization", "WebGL visualizer", "Butterchurn", "audio reactive", "FFT visualization", "spectrum analyzer". NOT for simple bar charts/waveforms (use basic canvas), video editing, or non-audio visuals.

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

Expert legal research agent for finding and scraping expungement data state by state. Knows authoritative sources, URL patterns, Firecrawl configuration, and 2026 legal landscape.

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

Expert in 3D computer vision labeling tools, workflows, and AI-assisted annotation for LiDAR, point clouds, and sensor fusion. Covers SAM4D/Point-SAM, human-in-the-loop architectures, and vertical-specific training strategies. Activate on '3D labeling', 'point cloud annotation', 'LiDAR labeling', 'SAM 3D', 'SAM4D', 'sensor fusion annotation', '3D bounding box', 'semantic segmentation point cloud'. NOT for 2D image labeling (use clip-aware-embeddings), general ML training (use ml-engineer), video annotation without 3D (use computer-vision-pipeline), or VLM prompt engineering (use prompt-engineer).

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

Apply crisis decision-making research to agent routing, uncertainty triage, and coordination failure analysis in time-pressured systems. Use when diagnosing handoff failures, analytical paralysis, or expert judgment under incomplete information. NOT for routine coding, simple CRUD design, or static single-agent tasks with complete information.

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

Use for insight, reframing, contradiction, impasse, and anomaly-driven problem solving when execution effort no longer helps. NOT for routine optimization, error correction, or well-specified tasks with known solution paths.

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

Apply cognitive task analysis to expert work that depends on perceptual cues, branching judgment, and recurring monitoring loops. Use when decomposing expert capability into agent structure, simulation design, or validation interviews. NOT for ordinary step-by-step SOP capture or simple pipelines with no tacit cue layer.

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

curiositech のスキルをすべて見る

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