Swig Test
swig/swig
Run SWIG test suite for specific languages. An agent skill from swig/swig.
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…
$ npx skills add aklofas/kicad-happy --skill emc -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aklofas/kicad-happy emc --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/aklofas/kicad-happy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/emc .claude/skills/emc && 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 "emc" agent skill from https://github.com/aklofas/kicad-happy/tree/main/skills/emc into .claude/skills/emc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "emc", 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/aklofas/kicad-happy/tree/main/skills/emcType 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 aklofas/kicad-happy --skill emc -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aklofas/kicad-happy emc --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aklofas/kicad-happy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/emc .agents/skills/emc && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "emc" agent skill from https://github.com/aklofas/kicad-happy/tree/main/skills/emc into .agents/skills/emc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "emc", 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 aklofas/kicad-happy --skill emc -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aklofas/kicad-happy emc --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aklofas/kicad-happy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/emc .cursor/skills/emc && 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 "emc" agent skill from https://github.com/aklofas/kicad-happy/tree/main/skills/emc into .cursor/skills/emc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "emc", 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/aklofas/kicad-happy.git --path skills/emc--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 aklofas/kicad-happy --skill emc -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aklofas/kicad-happy emc --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aklofas/kicad-happy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/emc .gemini/skills/emc && 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 "emc" agent skill from https://github.com/aklofas/kicad-happy/tree/main/skills/emc into .gemini/skills/emc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "emc", 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 aklofas/kicad-happy emcInstalls 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 aklofas/kicad-happy --skill emc -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aklofas/kicad-happy.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/emc .github/skills/emc && 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 "emc" agent skill from https://github.com/aklofas/kicad-happy/tree/main/skills/emc into .github/skills/emc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "emc", 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 aklofas/kicad-happy --skill emc -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aklofas/kicad-happy emc --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aklofas/kicad-happy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/emc .opencode/skills/emc && 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 "emc" agent skill from https://github.com/aklofas/kicad-happy/tree/main/skills/emc into .opencode/skills/emc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "emc", 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.
emcEMC 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…
Emc is an agent skill from 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 skew, board edge radiation, PDN impedance, return paths, crosstalk, ESD protection, shielding, and magnetic leakage from switching inductors. Produces severity-ranked risk report with pre-compliance test plan. Supports FCC Part 15, CISPR 32, CISPR 25 (automotive), MIL-STD-461G. SPICE-enhanced when available. Use when the…
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts and reference files (for example `references/emc-methodology.md`, `references/emc-standards.md` and `references/pcb-emc-rules.md`).
It sits in Testing & QA, covering Test generation. The repository describes itself as: AI coding agent skills for KiCad electronics design. Works with Claude Code and OpenAI Codex. Analyze schematics, review PCB layouts, EMC pre-compliance, SPICE simulation… The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0684046. 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.
Ships 5 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From 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.
Emc loads about 2.8k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 223 tokens; SKILL.md has 967 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); the scripts in this folder are not scanned.
The full file from aklofas/kicad-happy at commit 0684046, republished under its MIT licence (© aklofas). 967 words, ~2,783 tokens.
.claude/skills/emc/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.Automated EMC risk analysis for KiCad PCB designs. Identifies the most common causes of EMC test failures using geometric rule checks, analytical emission formulas, and optional SPICE simulation.
This is a risk analyzer, not a compliance predictor. It catches ~70% of common EMC design mistakes before fabrication. It cannot guarantee FCC/CISPR compliance — only a calibrated measurement in an accredited lab can do that. But it can reduce the first-spin failure rate from ~50% toward ~20-30%, potentially saving $5K-$50K per avoided board respin.
| Skill | Purpose |
|---|---|
kicad | Schematic/PCB analysis — produces the analyzer JSON this skill consumes |
kicad (thermal) | Thermal hotspot analysis — MLCC derating and ferrite/inductor overheating findings can amplify EMC decoupling and filter issues (an over-stressed MLCC degrades; a hot ferrite drifts impedance). Worth cross-checking when EMC flags DC-001/DC-002 or EF-001/EF-002. |
spice | SPICE simulation — provides simulator backend for SPICE-enhanced PDN/filter checks |
Handoff guidance: Run the kicad skill's analyze_schematic.py and analyze_pcb.py first — this skill consumes their JSON output. Use --full on the PCB analyzer for best results (enables per-track coordinates for ground plane crossing, edge proximity, and return path checks). During a design review, run EMC analysis after the schematic/PCB analyzers, SPICE simulation, and thermal analysis, then incorporate EMC findings into the report.
analyze_schematic.py --outputanalyze_pcb.py --full --output (recommended with --full)python3 <kicad-skill-path>/scripts/analyze_schematic.py design.kicad_sch --analysis-dir analysis/
python3 <kicad-skill-path>/scripts/analyze_pcb.py design.kicad_pcb --full --analysis-dir analysis/Pass --analysis-dir analysis/ — the script auto-resolves schematic.json
and pcb.json from the manifest's current run, and writes emc.json into
the same folder so the manifest tracks it.
# Recommended: auto-resolve inputs from the current run
python3 <skill-path>/scripts/analyze_emc.py --analysis-dir analysis/
# Equivalent — explicit paths still accepted (and required if you want to
# point at a non-current run or override one input)
python3 <skill-path>/scripts/analyze_emc.py \
--schematic analysis/<run_id>/schematic.json \
--pcb analysis/<run_id>/pcb.json \
--analysis-dir analysis/
# One-off JSON (bypasses the cache)
python3 <skill-path>/scripts/analyze_emc.py --schematic schematic.json --pcb pcb.json --output emc.json
# SPICE-enhanced (improved PDN and filter accuracy)
python3 <skill-path>/scripts/analyze_emc.py --analysis-dir analysis/ --spice-enhanced
# Select target standard
python3 <skill-path>/scripts/analyze_emc.py --analysis-dir analysis/ --standard cispr-class-b
# Select target market (sets all applicable standards)
python3 <skill-path>/scripts/analyze_emc.py --analysis-dir analysis/ --market eu
# Filter by severity
python3 <skill-path>/scripts/analyze_emc.py --analysis-dir analysis/ --severity high
# Human-readable text output
python3 <skill-path>/scripts/analyze_emc.py --analysis-dir analysis/ --textRead the JSON report and incorporate findings into the design review. Each finding has a severity, rule ID, description, and actionable recommendation. See "Interpreting Results" below.
44 rule IDs across 18 categories. Each rule has a specific threshold, rationale, and source citation — see references/pcb-emc-rules.md for full details.
| Category | Rules | What it detects |
|---|---|---|
| Ground plane | GP-001 to GP-005 | Signal crossing voids, zone fragmentation, missing ground planes, low fill ratio, multiple ground domains |
| Decoupling | DC-001 to DC-003 | Cap too far from IC, IC with no decoupling cap, cap too far from via |
| I/O filtering | IO-001, IO-002 | Connector without filtering, insufficient ground pins |
| Switching EMC | SW-001 to SW-003 | Harmonic overlap, switching node copper area, input cap loop area |
| Clock routing | CK-001 to CK-003 | Clock on outer layer, long trace, clock near connector |
| Via stitching | VS-001 | Ground via spacing exceeds λ/20 at highest frequency |
| Stackup | SU-001 to SU-003 | Adjacent signal layers, signal far from reference plane, thin interplane capacitance |
| Diff pair | DP-001 to DP-004 | Intra-pair skew vs protocol limits, CM radiation, reference plane change, outer layer routing |
| Board edge | BE-001 to BE-003 | Signal near edge, incomplete ground pour ring, connector area stitching |
| PDN impedance | PD-001 to PD-004 | Anti-resonance peaks, distributed rail impedance at IC load points, cross-rail coupling from downstream switching regulators |
| Return path | RP-001 | Layer transition via without nearby ground stitching via |
| Crosstalk | XT-001 | 3H spacing violation, aggressor-victim pairs |
| EMI filter | EF-001, EF-002 | Filter cutoff too close to switching frequency (analytical or SPICE insertion loss) |
| ESD path | ES-001, ES-002 | TVS too far from connector, insufficient ground vias near TVS |
| Thermal-EMC | TH-001, TH-002 | MLCC DC bias derating (SRF shift), ferrite near heat source |
| Shielding | SH-001 | Connector aperture slot resonance near emission source |
| Emission estimates | EE-001, EE-002 | Board cavity resonance, switching harmonic envelope |
Advisory outputs (not findings):
{
"summary": {
"total_checks": 42,
"critical": 2, "high": 5, "medium": 8, "low": 12, "info": 15,
"emc_risk_score": 73
},
"target_standard": "fcc-class-b",
"findings": [
{
"category": "ground_plane",
"severity": "CRITICAL",
"rule_id": "GP-001",
"title": "Signal crosses ground plane void",
"description": "Net SPI_CLK crosses a 3.2mm gap in GND on In1.Cu",
"components": ["U3", "U7"],
"nets": ["SPI_CLK"],
"recommendation": "Route around the gap, or fill the void"
}
],
"per_net_scores": [
{"net": "SPI_CLK", "score": 67, "finding_count": 3, "rules": ["GP-001", "CK-001", "BE-001"]}
],
"test_plan": {
"frequency_bands": [{"band": "30-88 MHz", "risk_level": "high", "source_count": 12}],
"interface_risks": [{"connector": "J1", "protocol": "USB", "risk_score": 8}],
"probe_points": [{"ref": "L1", "x": 45.2, "y": 32.1, "reason": "switching inductor"}]
},
"regulatory_coverage": {
"market": "us",
"applicable_standards": ["FCC Part 15 Class B"],
"coverage_matrix": [{"standard": "...", "coverage": "partial", "note": "..."}]
}
}| Severity | Meaning | Action |
|---|---|---|
| CRITICAL | Almost certain to cause EMC failure | Must fix before fabrication |
| HIGH | Very likely to cause issues | Strongly recommend fixing |
| MEDIUM | May cause issues depending on specifics | Review and assess |
| LOW | Minor risk, good practice | Fix if convenient |
| INFO | Informational — frequencies, estimates | Useful for lab prep |
Each rule ID contributes at most 3 findings to the score (worst severity first). This prevents per-net rules like GP-001 from saturating the score on 2-layer boards. All findings are still reported — only the score is capped.
penalty = sum(worst 3 per rule × severity weight), score = max(0, 100 - penalty). Scores below 50 indicate significant EMC risk.
Ground plane findings — Any CRITICAL finding (signal crossing a void) is almost always a real problem. Fix unconditionally.
Decoupling findings — Distance-based findings have moderate false positive rates. A cap at 6mm may be fine for a low-speed IC but problematic for a 100MHz clock buffer. Use frequency context to prioritize.
I/O filtering — Highly relevant for cable-connected products. For board-to-board connections inside an enclosure, the risk is lower.
Diff pair findings — Protocol-specific skew limits are well-defined. USB HS (25ps), PCIe (5ps), Ethernet (50ps). Findings exceeding these limits are real issues.
PDN findings — Anti-resonance peaks are real and cause voltage droop. SPICE-verified findings are more accurate than analytical. If a peak is flagged, add a capacitor with SRF near the peak frequency.
Emission estimates — Order-of-magnitude estimates (±10-20 dB). Use them to prioritize frequency bands for pre-compliance testing, not to predict pass/fail.
| Standard | Flag | Use Case |
|---|---|---|
| FCC Part 15 Class B | fcc-class-b | US residential (default) |
| FCC Part 15 Class A | fcc-class-a | US commercial/industrial |
| CISPR 32 Class B | cispr-class-b | International (EU CE marking) |
| CISPR 32 Class A | cispr-class-a | International commercial |
| CISPR 25 Class 5 | cispr-25 | Automotive (strictest) |
| MIL-STD-461G RE102 | mil-std-461 | Military/defense |
The --market flag maps markets to all applicable standards: us, eu, automotive, medical, military.
© aklofas, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (scripts, references) in skills/emc of aklofas/kicad-happy.
Open the folder on GitHubat commit 0684046
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 aklofas/kicad-happy, which our catalogue first saw on October 7, 2026.
Emc 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 |
|---|---|---|---|---|---|---|
| Emc this skillaklofas/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 | |
| Wioworkersio/skills | 200 | — | ~5.8k | Automated safety check: Pass | MIT | |
| Verify Cc Safety Netkenryu42/cc-safety-net | 1.6k | — | ~2k | Automated safety check: Pass | MIT | |
| File Servermicrosoft/WindowsProtocolTestSuites | 567 | — | ~4.1k | Automated safety check: Pass | MIT |
swig/swig
Run SWIG test suite for specific languages. An agent skill from swig/swig.
342164796/generate-test-cases
自主学习型测试文档生成器。从需求文档(Markdown)生成测试用例 XMind 文件,支持持久化记忆和持续学习。当用户提到"生成测试用例"、"根据需求生成测试"时触发。
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.
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.
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…
crowdin/crowdin-cli
Adds a new end-to-end (e2e) test suite for the Crowdin CLI under tests/e2e/suites/, exercising real CLI commands against a freshly-created Crowdin project.
aklofas/kicad-happy
Extract structured specifications from electronic component datasheet PDFs — pinouts, electrical characteristics, peripherals, topology, and features.
aklofas/kicad-happy
BOM (Bill of Materials) management for electronics projects — the workflow skill that coordinates DigiKey, Mouser, LCSC, element14, JLCPCB, PCBWay, and KiCad skills around a unified BOM lifecycle.
aklofas/kicad-happy
Search DigiKey for electronic components and download datasheets — primary source for prototype orders and the preferred API method for fetching datasheets.
aklofas/kicad-happy
Search Newark, Farnell, and element14 for electronic components — find parts by MPN or distributor part number, check pricing/stock, download datasheets, analyze specifications.
aklofas/kicad-happy
Analyze KiCad projects and PDF schematics: schematics, PCB layouts, Gerbers, footprints, symbols, netlists, and design rules.
aklofas/kicad-happy
Search LCSC Electronics for electronic components — find parts by LCSC number (Cxxxxx) or MPN, check stock/pricing, download datasheets, analyze specifications.
Categories
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…. Emc is an agent skill from 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 skew, board edge radiation, PDN impedance, return paths, crosstalk, ESD protection, shielding, and magnetic leakage from switching inductors.
Emc fits situations like: the user asks about EMC; radiated/conducted emissions; ground plane issues; decoupling strategy.
Run `npx skills add aklofas/kicad-happy --skill emc -a claude-code`. Or copy the skill folder (skills/emc in aklofas/kicad-happy) into .claude/skills/emc in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aklofas/kicad-happy --skill emc -a codex`. Or copy the skill folder (skills/emc in aklofas/kicad-happy) into .agents/skills/emc 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 aklofas/kicad-happy --skill emc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/emc, .gemini/skills/emc, .github/skills/emc and .opencode/skills/emc in your project.
Going by SKILL.md and its folder, Emc needs Python for the scripts in its folder and the command-line tools its instructions call (python3). 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Emc is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 10k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Emc: Swig Test (swig/swig, 6.3k stars), Generate Test Cases (342164796/generate-test-cases, 119 stars), Wio (workersio/skills, 200 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.
aklofas (a GitHub user) maintains it in aklofas/kicad-happy, which has 1,356 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 6, 2026.
Source: aklofas/kicad-happy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.