can-signal-hunter

Extract candidate CAN signals from .asc, .log, .blf, or .csv logs.

2|Updated Apr 26, 2026
One-click install
npx skills add https://github.com/gaebalai/gaebalai-marketplace --skill can-signal-hunter
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: can-signal-hunter
Source: https://github.com/gaebalai/gaebalai-marketplace/tree/main/plugins/car-can-checker/skills/can-signal-hunter
Command: npx skills add https://github.com/gaebalai/gaebalai-marketplace --skill can-signal-hunter

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, pandas, matplotlib, python-can, cantools, and includes scripts (resource) components.

What problem does it solve?

CAN logs often contain many signals with unknown meanings. can-signal-hunter automatically identifies candidate signals per CAN ID, generates validation graphs, and produces a DBC draft to accelerate reverse-engineering of ECUs.

Core Features & Use Cases

  • Analyzes CAN logs in .asc, .log, .blf, or .csv formats to compute per-ID statistics and detect signal candidates.
  • Produces a four-panel validation plot (RPM/Speed/Steering/Gear) and an auto-generated DBC draft for review.
  • Outputs artifacts such as id_stats.csv, candidates.csv, summary.md, and guess.dbc for iterative refinement.

Quick Start

Run the CAN Signal Hunter on your CAN log to identify candidate signals and generate a DBC draft and verification plots.

Frequently Asked Questions about can-signal-hunter

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reverse-engineer unknown CAN signals from a CAN log file?

To reverse-engineer unknown CAN signals, this Skill analyzes CAN logs to compute per-ID statistics and detect signal candidates automatically. It extracts candidate signals per CAN ID and outputs a DBC draft to accelerate ECU reverse-engineering.

What formats are supported for parsing CAN bus logs to identify signal candidates?

CAN bus logs in .asc, .log, .blf, or .csv formats are supported for parsing. The Skill processes these files to compute per-ID statistics, detect signal candidates, and generate validation plots and a DBC draft for review.

How do I generate a DBC draft from raw CAN data?

To generate a DBC draft from raw CAN data, the Skill uses cantools to process parsed logs and identify candidate signals. It outputs a guess.dbc file alongside per-ID statistics and candidate lists for iterative refinement.

Does this CAN signal extraction tool work with python-can and cantools?

Yes, the CAN signal extraction relies on python-can and cantools as dependencies. It uses deterministic Python scripts to parse logs and leverages cantools specifically for DBC generation and validation.

What validation outputs are produced when identifying CAN signal candidates?

When identifying CAN signal candidates, the process produces a four-panel validation plot for RPM, Speed, Steering, and Gear. It also outputs artifacts like id_stats.csv, candidates.csv, summary.md, and guess.dbc for review.

What are the limitations of auto-generating a DBC from CAN logs?

Auto-generating a DBC from CAN logs produces a draft requiring iterative refinement. The identified signal candidates are guesses based on per-ID statistics and need manual review against the validation plots and summary artifacts.