数据报告撰写

SKILL研究检索
研究检索 未标注权限 许可证不明确
安装这个技能

来自 user_2f63f22a 的 Agent Skill,适用于 主流 AI 客户端。

一句话选型结论

按资料字段整理

数据报告撰写是研究检索类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类研究检索 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_2f63f22a/outputreport
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

研究检索
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_2f63f22a仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791736310
正文体量8.2 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
查资料并整理出处

让模型按主题查资料,并把引用来源整理成清单。

网页与文献要点提炼

把长文、论文、网页压成能直接看的要点。

竞品与行业汇总

按关键词汇总竞品动态与行业信息。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在研究检索场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
数据报告撰写当前 未标注权限 未标注 未标注 未标注 有
寻找技能 浏览器控制 GitHub 仓库 3120.0 万 Codex、Claude、Cursor 有
自我改进 Agent 接触敏感数据 ClawHub 市场 1646.4 万 OpenClaw 有
灵魂追踪 联网访问 GitHub 仓库 758.9 万 Codex、Claude、Cursor 有
自我完善 联网访问 ClawHub 市场 682.9 万 OpenClaw 有
微软代工厂 调用外部服务 GitHub 仓库 661.4 万 Codex、Claude、Cursor 有

SKILL.md 全文

8.2 KB
模型实际读到的说明书原文,来自技能仓库

import json
import datetime
from typing import Dict, List, Optional

class DataReportSkill:
"""
数据报告撰写Skill:自动生成图文并茂的HTML数据报告
支持:自定义数据、分析目标、报告风格,自动生成图表+分析文案
"""

# 报告风格配置(内嵌CSS类,基于Tailwind CSS)
STYLE_TEMPLATES = {
    "商务正式": {
        "primary_color": "bg-blue-900 text-white",
        "card_bg": "bg-white shadow-lg rounded-lg p-6",
        "font": "font-sans",
        "title_size": "text-3xl font-bold"
    },
    "简洁清爽": {
        "primary_color": "bg-teal-600 text-white",
        "card_bg": "bg-gray-50 border border-gray-200 rounded-lg p-5",
        "font": "font-sans",
        "title_size": "text-2xl font-semibold"
    },
    "可视化聚焦": {
        "primary_color": "bg-purple-700 text-white",
        "card_bg": "bg-white shadow-md rounded-xl p-6",
        "font": "font-mono",
        "title_size": "text-3xl font-bold text-purple-800"
    }
}

def __init__(
    self,
    report_title: str,
    analyze_data: Dict,
    analyze_target: str,
    report_style: str = "商务正式",
    author: str = "数据分析师"
):
    """
    初始化报告Skill
    :param report_title: 报告标题
    :param analyze_data: 分析数据(字典格式,支持一维/二维数据)
    :param analyze_target: 分析目标(如:季度销售复盘、用户增长分析、业务效率评估)
    :param report_style: 报告风格(商务正式/简洁清爽/可视化聚焦)
    :param author: 报告作者
    """
    self.title = report_title
    self.data = analyze_data
    self.target = analyze_target
    self.style = self.STYLE_TEMPLATES.get(report_style, self.STYLE_TEMPLATES["商务正式"])
    self.author = author
    self.date = datetime.datetime.now().strftime("%Y年%m月%d日")
    self.chart_id = f"chart_{int(datetime.datetime.now().timestamp())}"

def _auto_select_chart_type(self) -> str:
    """自动根据数据结构选择图表类型:饼图(占比)/折线图(趋势)/柱状图(对比)"""
    data_values = list(self.data.values())

    # 饼图:数据总和为100%(占比类数据)
    if all(0 <= v <= 100 for v in data_values) and abs(sum(data_values) - 100) <= 1:
        return "pie"
    # 折线图:时间序列/趋势数据(键为日期/月份)
    if any(key in ["1月","2月","Q1","周一","2024"] for key in self.data.keys()):
        return "line"
    # 默认柱状图:分类对比数据
    return "bar"

def _generate_analysis_text(self) -> List[str]:
    """自动生成数据分析文案:核心结论、数据洞察、优化建议"""
    if not self.data:
        return ["无有效数据可分析"]

    max_key = max(self.data, key=self.data.get)
    min_key = min(self.data, key=self.data.get)
    max_val = self.data[max_key]
    min_val = self.data[min_key]
    total = sum(self.data.values())

    # 核心结论
    conclusion = f"【核心结论】本次{self.target}中,{max_key}表现最优,数值为{max_val};{min_key}表现最弱,数值为{min_val}。"
    # 数据洞察
    insight = f"【数据洞察】整体数据总量为{total},数据分布呈现{max_key}主导的特征,符合{self.target}的业务预期。"
    # 优化建议
    suggestion = f"【优化建议】针对{min_key}的短板,建议结合业务场景制定提升策略,缩小与头部指标{max_key}的差距。"

    return [conclusion, insight, suggestion]

def _generate_chart_config(self) -> str:
    """生成Chart.js图表配置(内嵌HTML)"""
    chart_type = self._auto_select_chart_type()
    labels = json.dumps(list(self.data.keys()))
    values = json.dumps(list(self.data.values()))

    return f"""
    const ctx = document.getElementById('{self.chart_id}').getContext('2d');
    new Chart(ctx, {{
        type: '{chart_type}',
        data: {{
            labels: {labels},
            datasets: [{{
                label: '{self.target}',
                data: {values},
                backgroundColor: [
                    'rgba(54, 162, 235, 0.6)',
                    'rgba(255, 99, 132, 0.6)',
                    'rgba(255, 206, 86, 0.6)',
                    'rgba(75, 192, 192, 0.6)',
                    'rgba(153, 102, 255, 0.6)'
                ],
                borderWidth: 1
            }}]
        }},
        options: {{
            responsive: true,
            maintainAspectRatio: false,
            plugins: {{
                legend: {{ position: 'top' }},
                title: {{ display: true, text: '{self.target}数据可视化' }}
            }}
        }}
    }});
    """

def generate_html_report(self, save_path: str = "data_report.html") -> str:
    """
    生成最终HTML报告并保存
    :param save_path: HTML文件保存路径
    :return: 保存路径
    """
    # 自动生成分析文案
    analysis_paragraphs = self._generate_analysis_text()
    # 图表配置
    chart_script = self._generate_chart_config()
    # 风格样式
    style = self.style

    # HTML完整模板(内嵌CDN,无外部依赖)
    html_template = f"""

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{self.title}</title>
<!-- Tailwind CSS 样式 -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- Chart.js 图表库 -->
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body class="{style['font']} bg-gray-50 min-h-screen">
<!-- 报告头部 -->
<header class="{style['primary_color']} py-8 px-6 mb-8">
<div class="max-w-6xl mx-auto">
<h1 class="{style['title_size']}">{self.title}</h1>
<p class="mt-2 opacity-90">分析目标:{self.target} | 作者:{self.author} | 生成时间:{self.date}</p>
</div>
</header>

&lt;!-- 报告主体 --&gt;
&lt;main class=&quot;max-w-6xl mx-auto px-4 pb-12&quot;&gt;
    &lt;!-- 数据可视化模块 --&gt;
    &lt;section class=&quot;{style[&#x27;card_bg&#x27;]} mb-8&quot;&gt;
        &lt;h2 class=&quot;text-xl font-bold mb-4 text-gray-800&quot;&gt;📊 数据可视化图表&lt;/h2&gt;
        &lt;div class=&quot;h-96&quot;&gt;
            &lt;canvas id=&quot;{self.chart_id}&quot;&gt;&lt;/canvas&gt;
        &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 数据分析模块 --&gt;
    &lt;section class=&quot;{style[&#x27;card_bg&#x27;]} mb-8&quot;&gt;
        &lt;h2 class=&quot;text-xl font-bold mb-4 text-gray-800&quot;&gt;📝 深度数据分析&lt;/h2&gt;
        &lt;div class=&quot;space-y-4 text-gray-700 leading-relaxed&quot;&gt;
            {&quot;&quot;.join([f&#x27;&lt;p&gt;{p}&lt;/p&gt;&#x27; for p in analysis_paragraphs])}
        &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 原始数据模块 --&gt;
    &lt;section class=&quot;{style[&#x27;card_bg&#x27;]}&quot;&gt;
        &lt;h2 class=&quot;text-xl font-bold mb-4 text-gray-800&quot;&gt;📋 原始数据明细&lt;/h2&gt;
        &lt;div class=&quot;overflow-x-auto&quot;&gt;
            &lt;table class=&quot;w-full border-collapse&quot;&gt;
                &lt;thead&gt;
                    &lt;tr class=&quot;bg-gray-100&quot;&gt;
                        &lt;th class=&quot;border p-3 text-left&quot;&gt;指标&lt;/th&gt;
                        &lt;th class=&quot;border p-3 text-left&quot;&gt;数值&lt;/th&gt;
                    &lt;/tr&gt;
                &lt;/thead&gt;
                &lt;tbody&gt;
                    {&quot;&quot;.join([f&#x27;&lt;tr&gt;&lt;td class=&quot;border p-3&quot;&gt;{k}&lt;/td&gt;&lt;td class=&quot;border p-3&quot;&gt;{v}&lt;/td&gt;&lt;/tr&gt;&#x27; for k, v in self.data.items()])}
                &lt;/tbody&gt;
            &lt;/table&gt;
        &lt;/div&gt;
    &lt;/section&gt;
&lt;/main&gt;

&lt;!-- 图表渲染脚本 --&gt;
&lt;script&gt;
    document.addEventListener(&#x27;DOMContentLoaded&#x27;, function() {{
        {chart_script}
    }});
&lt;/script&gt;

</body>
</html>
"""

    # 保存HTML文件
    with open(save_path, &quot;w&quot;, encoding=&quot;utf-8&quot;) as f:
        f.write(html_template)

    print(f&quot;✅ 报告生成成功!保存路径:{save_path}&quot;)
    return save_path

常见问题

5 问
答案由本站依据条目字段整理
数据报告撰写怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_2f63f22a/outputreport。安装方式为未标注。装完刷新技能列表或重开客户端。

数据报告撰写支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

数据报告撰写权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

数据报告撰写收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

数据报告撰写用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。