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

realtime-systems-coding

Use when designing, implementing, reviewing, debugging, testing, profiling, or porting concurrent, parallel, distributed, high-performance, network dataplane, kernel-bypass, or real-time software, including locks, semaphores, monitors, MPI, CSP rendezvous, DPDK, VPP, eBPF, XDP, AF_XDP, SR-IOV, RSS, RoCEv2/RDMA, RMS/EDF, priority inversion, and environment selection from silicon to edge.

インストール方法を見る

含まれるファイル(41)

  • SKILL.md8.0 KB
  • agent.md4.5 KB
  • agents/openai.yaml330 B
  • commands/concurrency-code-review.md844 B
  • commands/environment-selection.md1.2 KB
  • commands/schedulability-review.md835 B
  • commands/timing-benchmark.md712 B
  • references/development-environments/abstraction-level-map.md2.9 KB
  • references/development-environments/level--1-silicon-circuits.md2.1 KB
  • references/development-environments/level-0-hardware-offload.md2.5 KB
  • references/development-environments/level-1-bare-metal.md2.7 KB
  • references/development-environments/level-2-virtual-machines.md2.2 KB
  • references/development-environments/level-3-cloud-native-containers.md2.4 KB
  • references/development-environments/level-4-edge-geographic.md2.0 KB
  • references/distributed-programming-models.md7.3 KB
  • references/exercise-derived-patterns.md15.1 KB
  • references/flow-and-diagram-patterns.md5.5 KB
  • references/knowledge-map.md4.6 KB
  • references/message-passing-distributed.md4.8 KB
  • references/monitor-signalling-semantics.md8.3 KB
  • references/mutual-exclusion-algorithms.md5.7 KB
  • references/network-dataplane-and-kernel-bypass.md14.8 KB
  • references/performance-engineering.md3.3 KB
  • references/realtime-scheduling-analysis.md5.3 KB
  • references/review-checklist.md3.4 KB
  • references/shared-memory-synchronization.md5.5 KB
  • references/verification-and-correctness.md3.3 KB
  • scripts/concurrency_static_scan.py7.6 KB
  • scripts/schedulability.py12.3 KB
  • scripts/tooling_probe.sh1.3 KB
  • tasks/apply-exercise-patterns.md2.7 KB
  • tasks/derive-correctness-proof.md2.6 KB
  • tasks/design-message-passing-system.md3.0 KB
  • tasks/design-network-dataplane-system.md3.0 KB
  • tasks/design-realtime-scheduler.md2.6 KB
  • tasks/design-shared-memory-concurrency.md3.2 KB
  • tasks/diagnose-concurrency-bug.md2.2 KB
  • tasks/implement-high-performance-pattern.md2.7 KB
  • tasks/intake-and-modeling.md1.6 KB
  • tasks/model-with-diagrams.md1.9 KB
  • tasks/verify-and-test-concurrent-realtime.md2.7 KB

SKILL.md(原文)

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

Realtime Systems Coding

Core Rule

Treat every task as a state, timing, and synchronization contract. Identify the execution units, shared state, communication mode, timing limits, platform abstraction level, and correctness properties before writing or changing code.

Knowledge Grounding

  • Use references/knowledge-map.md for the conceptual map.
  • Use references/shared-memory-synchronization.md for locks, semaphores, monitors, condition variables, and Java/POSIX patterns.
  • Use references/mutual-exclusion-algorithms.md for Dijkstra conditions, refinement flow, Dekker, Peterson, N-process filters, busy waiting, and custom mutual exclusion proof.
  • Use references/monitor-signalling-semantics.md for AS, SC, SX, SW, SU, signal stealing, urgent queues, nested monitor calls, and monitor verification rules.
  • Use references/exercise-derived-patterns.md for canonical synchronization pseudocode: monitor semaphores, rendezvous, encoded-count buffers, readers-writers, bridge traffic, dining philosophers, priority allocation, FIFO/SJF queues, controller wakeups, and service pipelines.
  • Use references/message-passing-distributed.md for rendezvous, buffered/non-blocking communication, MPI, and SPMD systems.
  • Use references/distributed-programming-models.md for CSP guarded commands, alternative/repetitive orders, lack of fairness, RPC/RMI, remote invocation, and rendezvous entry points.
  • Use references/realtime-scheduling-analysis.md for clocks, timers, drift, task attributes, RMS, EDF, blocking, priority inversion, and aperiodic servers.
  • Use references/network-dataplane-and-kernel-bypass.md for DPDK, VPP, eBPF, XDP, AF_XDP, Linux TC, RSS, NAPI, IRQ suspension, SR-IOV, RoCEv2/RDMA, SmartNIC/DPU offload, TCP handoff, and IOAM-style telemetry.
  • Use references/flow-and-diagram-patterns.md when a diagram, timeline, proof flow, monitor queue model, message-passing sequence, or Gantt-style task model would make the work safer.
  • Use references/development-environments/abstraction-level-map.md before choosing ASIC/FPGA, accelerator/offload, bare-metal, VM, container, or edge targets.

First Pass

  1. Classify the work: concurrency bug, shared-memory design, message passing design, network dataplane design, real-time scheduling, performance tuning, environment selection, or code review.
  2. Identify execution units: process, thread, task, ISR, server, actor, MPI rank, kernel thread, accelerator kernel, VM, container, isolate, or edge worker.
  3. Identify interaction mode: shared memory, lock/semaphore/monitor, condition queue, synchronous rendezvous, buffered channel, non-blocking message, RPC/RMI, hardware offload queue, NIC RX/TX queue, or completion queue.
  4. State correctness properties: safety, liveness, fairness, absence of deadlock/starvation, data consistency, bounded blocking, and deadline satisfaction.
  5. Define verification evidence: invariant, interleaving argument, Gantt/timeline, schedulability test, stress test, trace, benchmark, or platform measurement.

Required Reads By Task

  • Intake, modeling, or ambiguous requirements: tasks/intake-and-modeling.md.
  • Shared-memory synchronization: tasks/design-shared-memory-concurrency.md, plus tasks/apply-exercise-patterns.md for canonical monitor/semaphore pseudocode, references/mutual-exclusion-algorithms.md for custom protocols, and references/monitor-signalling-semantics.md for monitor/condition signalling.
  • Message passing, MPI, distributed server processes, CSP, RPC/RMI, or rendezvous: tasks/design-message-passing-system.md and references/distributed-programming-models.md.
  • Network dataplane, kernel bypass, packet steering, RDMA, SR-IOV, eBPF/XDP/Linux TC, DPDK, VPP, SmartNIC/DPU, or TCP handoff: tasks/design-network-dataplane-system.md.
  • Periodic, sporadic, aperiodic, deadline, or priority work: tasks/design-realtime-scheduler.md.
  • High-performance implementation: tasks/implement-high-performance-pattern.md.
  • Race, deadlock, starvation, drift, missed deadline, or intermittent failures: tasks/diagnose-concurrency-bug.md.
  • Correctness argument, invariants, non-interference, monitor proof, or property review: tasks/derive-correctness-proof.md.
  • Diagram, timeline, state machine, queue model, or Gantt-style explanation: tasks/model-with-diagrams.md.
  • Final validation and review: tasks/verify-and-test-concurrent-realtime.md and references/review-checklist.md.

Design Heuristics

  • Do not assume process speed, scheduling order, or interleaving unless the platform contract explicitly guarantees it.
  • Minimize excluded interleavings: lock only the shared state that needs atomicity, and keep critical sections bounded.
  • Prefer blocking primitives over busy waiting unless latency constraints, hardware context, or a measured spin duration justify spinning.
  • Use hierarchical lock/semaphore ordering for nested resources; document the order and release in reverse order.
  • For monitors, associate each logical wait condition with the narrowest available condition variable and signal only when the condition is true.
  • For monitor signalling, name the assumed semantics. SC, SX, SW, and SU have different post-signal obligations.
  • For canonical synchronization problems, start from invariant-driven patterns before inventing new wait/signal code.
  • For message passing, choose blocking for safety and simplicity; choose non-blocking only with explicit completion checks before mutating buffers.
  • For network dataplanes, define queue-to-core mapping, buffer ownership, rule lifecycle, completion signal, rollback, and reset behavior before tuning throughput.
  • For guarded alternatives, never depend on nondeterministic choice being random or fair unless the runtime contract proves it.
  • For real-time work, distinguish sufficient tests from exact evidence; utilization alone is not proof when blocking, sporadic jobs, or resource sharing exists.

Script Helpers

  • Run scripts/schedulability.py --help to compute RMS/EDF utilization checks and simulate preemptive schedules over a bounded horizon.
  • Run scripts/concurrency_static_scan.py <path> for heuristic checks around locks, semaphores, waits, notifications, MPI, sleeps, and drift risks.
  • Run scripts/tooling_probe.sh to inspect local tooling for C/C++, POSIX, MPI, RT Linux, containers, FPGA, and edge/Wasm targets.

Verification Gate

  • For shared memory, name the protected data, synchronization object, acquisition order, blocking behavior, and invariant.
  • For monitors, name AS/SC/SX/SW/SU semantics, condition predicates, signal placement, and any nested monitor call policy.
  • For message passing, name sender, receiver, channel/tag/communicator, buffering mode, completion rule, and deadlock scenario considered.
  • For network dataplanes, name hook placement, RSS/NAPI/queue mapping, IRQ strategy, NUMA placement, buffer ownership, hardware/software rule lifecycle, and reset handling.
  • For real-time tasks, name Ci, Ti, Di, priority, phase, blocking Bi, clock granularity, timeout policy, and drift-control method.
  • Validate with code inspection plus at least one dynamic strategy: stress interleavings, sanitizer, deterministic scheduler, timeline simulation, trace, or runtime deadline monitor.
  • Do not claim correctness from a passing run alone; tie the claim to a property and evidence.

Output Standard

Lead with the chosen concurrency or real-time model. State assumptions, task/resource map, synchronization or communication protocol, schedulability/performance evidence, commands run, and residual platform risks.

レビュー

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

同じリポジトリのスキル

概要と使いどころ

Use when evaluating, designing, drafting, revising, stress-testing, or preparing academic articles, empirical research reports, literature reviews, systematic reviews, meta-analyses, journal submissions, reviewer responses, research methods, sampling, measurement, analysis, publication readiness, or citation/source audits.

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

oghie/skillsets92026年10月3日 更新

Android device offensive security, forensic extraction, and mobile app exploitation. Use this whenever the user needs to: break into or bypass the lock screen of an Android phone, extract data from a seized Android device for evidence, analyze or reverse-engineer an APK to find vulnerabilities, intercept communications on an Android device, exploit Android apps via deeplinks, steal crypto wallets or app data, set up rogue WiFi to target a phone, or plan any mobile device investigation or penetration test. Also trigger when the user mentions Android forensics, mobile pentesting, law enforcement phone extraction, device exploitation, WhatsApp or Telegram extraction from a phone, Android app reversing, CVE research for Android, or needing a chain of custody for mobile evidence. Even if the user describes the scenario casually or in another language, if they need to gain access to or pull data from an Android phone, use this skill.

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

oghie/skillsets92026年10月3日 更新

Use when performing cybersecurity operations - offensive or defensive - including threat detection and hunting, SOC operations, incident response, digital forensics and DFIR, malware analysis and reverse engineering, threat intelligence, cloud/container/network/application/API security, identity-access and zero-trust, OT/ICS and endpoint security, vulnerability and supply-chain management, DevSecOps, cryptography, AI security, compliance and governance, and red-team or penetration testing under signed rules of engagement; routes to one of 800+ technique playbooks mapped to MITRE ATT&CK, D3FEND, and NIST CSF.

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

oghie/skillsets92026年10月3日 更新

Use when designing, reviewing, modifying, migrating, optimizing, securing, operating, troubleshooting, or decommissioning data architectures across data model exploration, SQL, ISO SQL conformance, NoSQL, vector, graph, document, time-series, NewSQL, search, in-memory, SQLite, CDC/Debezium, DBMS storage/query/recovery internals, database incident prevention, hardware acceleration, cache, big-data, lakehouse, and warehouse systems.

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

oghie/skillsets92026年10月3日 更新

Use when developing, reviewing, debugging, porting, or engineering Linux kernel device drivers, kernel modules, device tree bindings, bus clients, subsystem drivers, DMA/IRQ/memory paths, userspace interfaces, or hardware bring-up plans.

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

oghie/skillsets92026年10月3日 更新

Use when designing, evaluating, documenting, modernizing, reviewing, refactoring, or implementing software architecture and code-level structure, including requirements, context, architecture style selection, microservices patterns, WebAssembly/WASI/Component Model, UMA portable capabilities, runtime contracts, capability graphs, governed MCP/agent orchestration, clean code, code smells, Rust crate/library API architecture, Cargo feature/MSRV/SemVer policy, unsafe/FFI/no_std/library testing, modularity, views, NFR tactics, IAM/auth, security patterns, cost estimation, architecture-as-code fitness functions, ADR/RFC work, and engineering execution plans.

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

oghie/skillsets92026年10月3日 更新

oghie のスキルをすべて見る

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