category-filtering-and-difficulty-analysis SKILL.md skillA
category-filtering-and-difficulty-analysis from opensensenova/sensenova-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add opensensenova/sensenova-skills/category-filtering-and-difficulty-analysis@git:20260426.f0ab496Pins git:20260426.f0ab496 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- opensensenova/sensenova-skills
- Path
skills/sn-da-excel-workflow/capability/excel-data-filtering/category-filtering/SKILL.md- Versions recorded
- 1
- Latest version
- git:20260426.f0ab496, committed Apr 26, 2026
- Size
- 7,580 bytes
- Repository stars
- 6,031
- License
- MIT
对Excel数据进行自定义分类统计、交叉分析与可视化,并基于多维度指标(如文本长度、术语密度、正则匹配等)进行综合评分与分级,适用于多类别数据分布统计及文本内容难度/质量评估场景。.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
## Skill Steps
### Step1 加载数据与环境配置
```python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import re
# 配置中文字体,确保图表正常显示
plt.rcParams['font.sans-serif'] = ['SimHei', 'DejaVu Sans', 'WenQuanYi Zen Hei']
plt.rcParams['axes.unicode_minus'] = False
def load_excel_data(file_path: str, skip_rows: int = 2):
"""读取并加载Excel文件中的数据,跳过标题行以获取原始数据"""
# 技巧:处理合并单元格可使用 df.ffill() 等方法
df = pd.read_excel(file_path, skiprows=skip_rows)
return df
```
### Step2 定义分类映射函数骨架
```python
def categorize_data(item: str) -> str:
"""将具体项归类到大类中(分类映射函数骨架)"""
if pd.isna(item):
return '未知'
if item in ['类别A1', '类别A2', '类别A3']:
return '大类A'
elif item in ['类别B1', '类别B2']:
return '大类B'
else:
return '其他'
```
### Step3 统一分析与可视化流程(柱状图、饼图、交叉分析)
```python
def analyze_and_visualize(df: pd.DataFrame, category_col: str, group_col: str = None, output_path: str = './', top_n: int = None, custom_categorize=None):
"""统一分析与可视化流程:生成柱状图、饼图、交叉分析堆叠柱状图"""
df_clean = df.copy()
# 应用自定义分类规则
if custom_categorize:
df_clean[f'{category_col}大类'] = df_clean[category_col].apply(custom_categorize)
…Read the whole file at its exact version.
How to install
mdr add opensensenova/sensenova-skills/category-filtering-and-difficulty-analysis@sha256:491f09cc2f98526fThe line at the top of this page pins the label git:20260426.f0ab496, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_x7ucpi4r53dkxqtx)
3 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 1 version of this file, committed on Apr 26, 2026.
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (7580 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
opensensenova/sensenova-skills · 6,031 stars · license MIT · pushed 2026-11-03 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_x7ucpi4r53dkxqtx GET https://markdownregistry.com/api/v1/resolve?ref=opensensenova/sensenova-skills/category-filtering-and-difficulty-analysis GET https://markdownregistry.com/api/v1/blob/491f09cc2f98526fdb5e615b7b26ecd4da9f43da724c021090ebe3db789987b5
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.