Emc
aklofas/kicad-happy
EMC pre-compliance risk analysis for KiCad PCB designs — 18 check categories, 44 rule IDs covering ground planes, decoupling, I/O filtering, switching harmonics, clock routing, differential pair…
Generate tests from Allium specifications. An agent skill from DataDog/datadog-agent.
$ npx skills add DataDog/datadog-agent --skill propagate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DataDog/datadog-agent propagate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/allium/skills/propagate .claude/skills/propagate && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "propagate" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/allium/skills/propagate into .claude/skills/propagate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "propagate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/allium/skills/propagateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add DataDog/datadog-agent --skill propagate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DataDog/datadog-agent propagate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/allium/skills/propagate .agents/skills/propagate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "propagate" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/allium/skills/propagate into .agents/skills/propagate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "propagate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DataDog/datadog-agent --skill propagate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DataDog/datadog-agent propagate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/allium/skills/propagate .cursor/skills/propagate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "propagate" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/allium/skills/propagate into .cursor/skills/propagate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "propagate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/DataDog/datadog-agent.git --path .agents/skills/allium/skills/propagate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add DataDog/datadog-agent --skill propagate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DataDog/datadog-agent propagate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/allium/skills/propagate .gemini/skills/propagate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "propagate" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/allium/skills/propagate into .gemini/skills/propagate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "propagate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install DataDog/datadog-agent propagateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add DataDog/datadog-agent --skill propagate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/allium/skills/propagate .github/skills/propagate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "propagate" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/allium/skills/propagate into .github/skills/propagate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "propagate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DataDog/datadog-agent --skill propagate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install DataDog/datadog-agent propagate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/allium/skills/propagate .opencode/skills/propagate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "propagate" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/allium/skills/propagate into .opencode/skills/propagate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "propagate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
propagateGenerate tests from Allium specifications. An agent skill from DataDog/datadog-agent.
Propagate is an agent skill from DataDog/datadog-agent, published by the product's own GitHub organization. Generate tests from Allium specifications. Use when the user wants to propagate tests, generate test files from a spec, write tests for a specification, create property-based tests, produce state machine tests, check test coverage against spec obligations, or understand what tests a specification requires.
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering Test generation. The repository describes itself as: Main repository for Datadog Agent. The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 20eff25. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Propagate loads about 3.5k tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 1,805 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from DataDog/datadog-agent at commit 20eff25, republished under its Apache-2.0 licence (© DataDog). 1,805 words, ~3,542 tokens.
.claude/skills/propagate/SKILL.md (or your agent's skills folder).This skill generates tests from Allium specifications. Propagation is how plants reproduce from cuttings of the parent: the spec is the parent, the tests are the offspring.
Deterministic tools guarantee completeness (every spec construct maps to a test obligation). You handle the implementation bridge: correlating spec constructs with code, generating tests in the project's conventions.
Before propagating tests, you need:
.allium file describing the system's behaviourallium plan <spec> (JSON listing every required test)allium model <spec> (JSON describing entity shapes, constraints, state machines)If the CLI tools are not available, derive test obligations manually from the spec using the test-generation taxonomy in references/test-generation.md.
Generates boundary tests from surface declarations. Use when the user wants to test an API, UI contract or integration boundary.
For each surface in the spec:
exposes is accessible to the specified actor, including for iteration over collectionswhen conditions are true and are hidden otherwise, including when the corresponding rule's requires clauses are not metidentified_by predicate can interact; for actors with within, verify interaction is scoped to the declared contextcontext predicatedemands are satisfied by the counterpart, fulfils are supplied by this surface, including all typed signatures@guarantee annotations hold across the boundaryWalks the full test obligations document. Use when the user wants comprehensive test coverage for the entire specification.
Categories from the test-generation taxonomy:
?) null handling, when-clause state-dependent presence, relationships, join lookups, equality.created trigger narrowing-> field extraction, parameterised derived values, now volatility, collection operationsif guards read resulting state), entity creation, removal, bulk updates, rule-level for iteration, let bindings, chained triggerstransitions_to vs becomes semanticswithin scoping, context scoping, related navigation@invariant honouring, demands/fulfils directionwhen set, absence obligations on leaving, no obligation when moving within or outside, convergent transitions all set the field, guard required to access when-qualified fields, derived value when inference via input intersectionFor deterministic obligations: field presence, enum membership, transition validity, surface exposure, state-dependent field presence and absence. These are standard unit/integration tests.
For invariants and rule properties. Each expression-bearing invariant becomes a PBT property:
Use the project's PBT framework:
| Language | Framework | Discovery |
|---|---|---|
| TypeScript | fast-check | package.json |
| Python | Hypothesis | pyproject.toml |
| Rust | proptest | Cargo.toml |
| Go | rapid | go.mod |
| Elixir | StreamData | mix.exs |
Fall back to assertion-based tests if no PBT framework is present.
For entities with status enums. When a transition graph is declared, walk every path through the graph. When no graph is declared, derive valid transitions from rules.
when clausesState machine tests require an action map: a function per transition edge that takes the entity in the source state and produces it in the target state by calling the actual implementation code. Without this map, the test framework can describe valid paths through the graph but cannot execute them.
To build the action map:
requires clauses), invokes the code, and returns the entity in the target state(from_state, to_state) keyOnce the map is built, the PBT framework can walk random valid paths: start at any non-terminal state, pick a random outbound edge, apply its action, check all entity-level invariants, repeat. The path length and starting state are generated randomly. This is the fullest expression of the spec's transition graph as a test.
You correlate spec constructs with implementation code, the same way the weed agent correlates for divergence checking.
Map surfaces to their implementation:
Discover the mapping by reading the codebase. Look for naming patterns, route definitions and handler registrations.
For each rule in the spec:
Temporal triggers (deadline-based rules) need a controllable time source in the test. If the implementation uses wall-clock time (Instant.now(), System.currentTimeMillis()), the test cannot reliably position itself before, at or after a deadline.
Before attempting temporal tests, check whether the component accepts an injected clock or time parameter. Common patterns: a Clock parameter on the constructor, an epoch-millisecond argument on the method, a TimeProvider interface. If the seam exists, inject a controllable time source. If it does not, flag this as a test infrastructure gap: the temporal tests cannot be generated until the component supports time injection. Do not attempt to test temporal behaviour by sleeping or racing against wall-clock time.
When a rule emits a trigger that another spec's rule receives (e.g. the Arbiter emits ClerkReceivesEvent, the Clerk handles it), testing the chain requires multiple components wired together.
Before generating cross-module tests:
Cross-module tests are integration tests by nature. They verify that the spec's trigger chains are faithfully implemented across component boundaries, but the setup cost is high. Prioritise them after single-component tests are passing.
When exploring the codebase, note which spec obligations are already covered by existing tests. An existing integration test that exercises the happy path from event submission through to acknowledged output already covers multiple rule_success obligations and the end-to-end scenario.
When an existing test covers a spec obligation, reference it rather than generating a duplicate. The propagate skill's value at the integration level is verifying that coverage is complete against the spec's obligation list, identifying gaps, and generating tests to fill them. Replacing working hand-written tests with generated equivalents adds no value.
Deferred specifications are fully specified in separate files. When the target codebase doesn't include the deferred spec's module, generate a test stub with a placeholder:
// TODO: deferred spec — InterviewerMatching.suggest
// This behaviour is specified as deferred. Provide a mock or skip.allium plan output or manual derivationallium model output or manual derivationBefore generating tests, establish:
__tests__/, tests/, etc.)When generator specs are available, use them to produce valid test data:
when clauses (e.g. a shipped Order has tracking_number and shipped_at populated; a pending Order does not)© DataDog, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/allium/skills/propagate of DataDog/datadog-agent.
Open the folder on GitHubat commit 20eff25
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in DataDog/datadog-agent, which our catalogue first saw on October 8, 2026.
Propagate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Propagate this skillDataDog/datadog-agent | 3.8k | 1 repos | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Emcaklofas/kicad-happy | 1.4k | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Swig Testswig/swig | 6.3k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Generate Test Cases342164796/generate-test-cases | 119 | 1 repos | ~2.9k | Automated safety check: Pass | None | |
| Verify Cc Safety Netkenryu42/cc-safety-net | 1.6k | — | ~2k | Automated safety check: Pass | MIT | |
| Wioworkersio/skills | 190 | — | ~5.8k | Automated safety check: Pass | MIT |
aklofas/kicad-happy
EMC pre-compliance risk analysis for KiCad PCB designs — 18 check categories, 44 rule IDs covering ground planes, decoupling, I/O filtering, switching harmonics, clock routing, differential pair…
swig/swig
Run SWIG test suite for specific languages. An agent skill from swig/swig.
342164796/generate-test-cases
自主学习型测试文档生成器。从需求文档(Markdown)生成测试用例 XMind 文件,支持持久化记忆和持续学习。当用户提到"生成测试用例"、"根据需求生成测试"时触发。
kenryu42/cc-safety-net
Launch and drive the real cc-safety-net CLI — the hook decision path, explain, status/doctor, logs, and the local policy GUI — against an isolated home, capturing evidence.
workersio/skills
Testing workflow skill for finding high-value test candidates, writing focused tests, generating realistic workloads, reviewing test value, and diagnosing test-suite health.
microsoft/WindowsProtocolTestSuites
ALWAYS LOAD THIS SKILL when working with FileServer, SMB, SMB2, SMB3, CIFS, file sharing, MS-SMB2, MS-FSCC, MS-FSA, MS-DFSC, MS-FSRVP, MS-RSVD, MS-SQOS, or any file server protocol test…
DataDog/datadog-agent
Classify a failed CI as either caused by an active incident, flakiness, or a true code regression.
DataDog/datadog-agent
Run a structured discovery session to build an Allium specification through conversation.
DataDog/datadog-agent
Monitor the current PR's GitLab pipeline to completion, then report success, auto-fix, or investigate a failure.
DataDog/datadog-agent
A skill your agent uses when an engineer or manager asks to recap, summarize, or post an update on a Jira Epic — a progress update for an in-progress Epic (how far along it is, what's shipped so…
DataDog/datadog-agent
Explains a lading.yaml config file from the regression test suite, using the lading Rust source as ground truth for field meanings and defaults.
DataDog/datadog-agent
Extract an Allium specification from an existing codebase. An agent skill from DataDog/datadog-agent.
Categories
Generate tests from Allium specifications. An agent skill from DataDog/datadog-agent. Propagate is an agent skill from DataDog/datadog-agent, published by the product's own GitHub organization. Generate tests from Allium specifications.
Propagate fits situations like: the user wants to propagate tests; generate test files from a spec; write tests for a specification; create property-based tests.
Run `npx skills add DataDog/datadog-agent --skill propagate -a claude-code`. Or copy the skill folder (.agents/skills/allium/skills/propagate in DataDog/datadog-agent) into .claude/skills/propagate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DataDog/datadog-agent --skill propagate -a codex`. Or copy the skill folder (.agents/skills/allium/skills/propagate in DataDog/datadog-agent) into .agents/skills/propagate in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DataDog/datadog-agent --skill propagate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/propagate, .gemini/skills/propagate, .github/skills/propagate and .opencode/skills/propagate in your project.
SKILL.md names no scripts, command-line tools or credentials: Propagate is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Propagate is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Propagate: Emc (aklofas/kicad-happy, 1.4k stars), Swig Test (swig/swig, 6.3k stars), Generate Test Cases (342164796/generate-test-cases, 119 stars) and Verify Cc Safety Net (kenryu42/cc-safety-net, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
DataDog (a GitHub organization, an official publisher) maintains it in DataDog/datadog-agent, which has 3,757 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 8, 2026.
Source: DataDog/datadog-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.