Agent skill

Support Digest

by ChanningLua in ChanningLua/prax-agent

本地处理客服工单 JSON 导出,产出脱敏后的每日简报 —— 不出数据、不调外部 API. An agent skill from ChanningLua/prax-agent.

MITAuto-check: notesDevelopment

Install Support Digest

skills CLI
$ npx skills add ChanningLua/prax-agent --skill support-digest -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ChanningLua/prax-agent support-digest --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ChanningLua/prax-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/prax/skills/support-digest .claude/skills/support-digest && rm -rf skills-src

Use ~/.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/

Facts

Skill name
support-digest
GitHub stars
273
Token cost
~1.2k tokens
SKILL.md length
269 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

本地处理客服工单 JSON 导出,产出脱敏后的每日简报 —— 不出数据、不调外部 API. An agent skill from ChanningLua/prax-agent.

  • Works in 8 steps: :定位输入 → :加载 + 脱敏 → :分类统计 → …
  • Development work in your project
  • SKILL.md covers 何时触发, 输入, 输出 and 工作流程, plus 4 more sections
  • Calls bash

What it does

Support Digest is an agent skill from ChanningLua/prax-agent. 本地处理客服工单 JSON 导出,产出脱敏后的每日简报 —— 不出数据、不调外部 API

Its SKILL.md is about 1.2k 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 Development. The repository describes itself as: Self-improving agent runtime that learns from experience — test-verify-fix loops, correction detection, cross-project memory, multi-model orchestration. The licence is MIT.

When your agent uses it

  • Development work in your project

Example prompts

  • “/support-digest”

Requirements

  • Pre-approved tools (allowed-tools): Read, Write, Glob, Grep, Bash, Notify

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. :定位输入
  2. :加载 + 脱敏
  3. :分类统计
  4. :识别 top issues
  5. :趋势识别
  6. :写 digest
  7. :归档原文件
  8. :通知

What it can do on your machine

Read from SKILL.md and the folder at commit 19d016b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Glob
    • Grep
    • Bash
    • Notify

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Support Digest loads about 1.2k tokens when it runs. Until then it costs about 15 tokens; SKILL.md has 269 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~15
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Glob, Grep, Bash, Notify

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.

SKILL.md

The full file from ChanningLua/prax-agent at commit 19d016b, republished under its MIT licence (© ChanningLua). 269 words, ~1,162 tokens.

Download SKILL.mdSave it as .claude/skills/support-digest/SKILL.md (or your agent's skills folder).
name
support-digest
description
本地处理客服工单 JSON 导出,产出脱敏后的每日简报 —— 不出数据、不调外部 API
allowed-tools
Read, Write, Glob, Grep, Bash, Notify
triggers
support digest, 客服简报, 工单简报, ticket digest, 客户反馈, customer feedback, 投诉汇总
tags
support, pm, privacy, local-only, digest
priority
7

Support Ticket Digest

痛点:PM 每天早上要花 20 分钟翻昨天 200 条客服工单,才能知道"哪个 feature 坑多"、"有没有新涌出的抱怨"。这个 skill 把翻 ticket 的动作自动化,所有数据留在本地,不调任何外部 API,方便合规严格的团队。

何时触发

  • cron 每天早上 9 点跑
  • 用户手动:"生成昨日客服简报"
  • 客服系统 CSV/JSON 导出到指定目录触发 hook

输入

  • 必需:.prax/inbox/tickets-<YYYY-MM-DD>.json(或 .csv 也支持)
    • 标准字段:id / created_at / status / category / subject / body / customer_email / severity
    • 字段缺失时尽量宽容,但 id / created_at / body 必须有
  • 可选:.prax/support-digest.yaml 配置(见下方)

Prax 不负责从 Zendesk / Freshdesk 拉数据——export 是 IT 或客服负责人的事。skill 只做本地文件处理。

输出

.prax/vault/support/<YYYY-MM-DD>/digest.md

外加原始统计数据的结构化副本:

.prax/vault/support/<YYYY-MM-DD>/stats.json

用于下游工具(BI、周报生成等)复用。

工作流程

Step 1:定位输入
bash
# 最新的 tickets 文件
ls -t .prax/inbox/tickets-*.{json,csv} 2>/dev/null | head -1

没找到 → 停下来告诉用户:"请把昨日工单导出为 JSON/CSV 放到 .prax/inbox/tickets-YYYY-MM-DD.json"。

Step 2:加载 + 脱敏

读进来后立刻脱敏用户信息:

字段脱敏规则
customer_emailfoo@bar.com → f***@b***.com
customer_phone13812345678 → 138****5678
body 里的 email正则替换同上
body 里的手机/银行卡号正则识别,全替换成 [REDACTED]
body 里出现的 SSN / 身份证号全替换成 [REDACTED]

脱敏后才进入后续处理——避免不小心把 PII 写进 digest。

Step 3:分类统计

按 category 字段(或从 subject 启发式推断)聚类:

  • 计数:今日 vs 昨日 vs 过去 7 天均值
  • 热度:新增占比(category_today / category_7d_avg)
  • 严重程度:severity=high 的占比
  • 新类别:今日有而过去 7 天没出现过的 category
Step 4:识别 top issues

抽取前 5 条"关注度高"的工单,标准(按分数降序):

信号分数
severity=high+3
status=escalated / status=re-opened+2
同一 category 今日数量 > 7d_avg × 2+2
body 包含 "refund" / "退款" / "退费"+2
body 包含 "lawyer" / "律师" / "投诉" / "举报"+3
response_time > 24h(如果有此字段)+1

取前 5 条,每条附脱敏后的 body 摘录(≤ 100 字)。

Step 5:趋势识别

对比"今日 vs 过去 7 天均值":

  • 📈 涨幅 > 50% 的 category:列出来
  • 📉 跌幅 > 50% 的 category:列出来(有时代表问题解决了)
  • 🆕 今日首次出现:全列
Step 6:写 digest

模板:

markdown
---
date: 2026-04-22
ticket_count: 187
category_count: 12
highlights_count: 5
generated_at: 2026-04-22T09:05:00+08:00
---

# 客服简报 · 2026-04-22

## 总览(一句话)
昨日共 **187** 条工单,比 7 日均值 +12%;`billing` 类翻倍,`auth` 类回落。

## 今日亮点(top 5)

### 1. [high] Billing — duplicate charge
- 工单数:23(占 12%)
- 代表性摘要:"On 4-20 I was charged twice for the Pro plan. Please refund immediately."
- 建议 owner:@finance-ops

### 2. [escalated] 登录流 — OAuth timeout
- ...

## 趋势

### 📈 涨
- `billing`:23 vs 7d 均值 11(+109%)
- `mobile-app-crash`:8 vs 3(+167%)

### 📉 跌
- `auth`:12 vs 19(-37%)

### 🆕 新出现
- `integration-slack`(6 条)

## 分类统计

| Category | Today | 7d avg | Δ |
|---|---|---|---|
| billing | 23 | 11 | +12 |
| auth | 12 | 19 | -7 |
| ...|

## 报告位置
- Raw 脱敏 JSON:`.prax/vault/support/2026-04-22/tickets-redacted.json`
- Stats:`.prax/vault/support/2026-04-22/stats.json`
- 原始文件已归档到:`.prax/inbox/archive/tickets-2026-04-22.json`
Step 7:归档原文件
bash
mkdir -p .prax/inbox/archive
mv .prax/inbox/tickets-<date>.json .prax/inbox/archive/

避免下次跑重复处理同一天数据。

Step 8:通知

若 .prax/notify.yaml 有 pm-team channel:

Notify(
  channel = "pm-team",
  title = "客服简报 · 2026-04-22",
  body = <digest 的"总览 + top 5"段>,
  level = "warn" if 有 severity=high >= 5 else "info",
)

硬约束

  1. 本地处理,零外部 API:不调 OpenAI Embedding、不查 GitHub、不拉 Zendesk。所有逻辑用本地字符串匹配 + LLM 本地推理完成。
  2. 先脱敏再处理:PII 在进入任何 LLM 上下文前必须已替换。脱敏是 Step 2 的第一个子步骤,不得延后。
  3. highlights 上限 5:多了信息过载。宁愿筛严格。
  4. body 摘录 ≤ 100 字:不要把完整 body 粘进 digest——digest 是一屏可看完。
  5. 原文件必须归档:处理完后移动到 .prax/inbox/archive/,避免下次重复处理。

工具选择(很关键)

  • 创建新文件(digest.md、tickets-redacted.json):必须用 Write 工具(自动 mkdir -p)。
  • 修改已存在文件:用 Edit / HashlineEdit。
  • 归档原 ticket 文件(Step 7):用 Bash mv ... 或 Read+Write+Bash rm 的组合。归档失败会导致下次重复处理,不能跳过。
  • HashlineEdit / Edit 对不存在的路径会 File not found —— 新文件必须走 Write。

配置(可选).prax/support-digest.yaml

yaml
input_glob: ".prax/inbox/tickets-*.json"
archive_dir: ".prax/inbox/archive"
output_dir: ".prax/vault/support"
redaction:
  extra_regex: []       # 用户自定义额外 PII 模式
  skip_fields: []       # 某些字段不做 body 内扫描(譬如已是脱敏 field)
highlights_max: 5
severity_field: "severity"
category_field: "category"
lookback_days: 7
notify_channel: pm-team

和其他 skill 的接力

  • docs-audit + support-digest:工单里反复出现"文档不清楚"的抱怨 → 拿去驱动 docs-audit 的 backlog
  • pr-triage + support-digest:某 PR 上线后对应 category 工单激增 → digest 里提醒回滚评估

© ChanningLua, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in src/prax/skills/support-digest of ChanningLua/prax-agent.

Open the folder on GitHubat commit 19d016b

Compare with similar skills

Support Digest 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.

Support Digest compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Support Digest this skillChanningLua/prax-agent273—~1.2kAutomated safety check: NotesMIT
Vercel Composition Patternssupabase/supabase111k59 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 59 repos~726 tokens
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed

More from ChanningLua/prax-agent

All 12 skills in this repo
  • Prax Shift

    ChanningLua/prax-agent

    Hand coding work or explicitly authorized one-shot verification to Prax Shift, inspect a shift, or schedule supported coding work with Claude as the worker.

    273 GitHub stars~1.4k tokensUpdated 26 days ago
    Auto-check passed
  • Prax Shift

    ChanningLua/prax-agent

    Hand coding work or explicitly authorized one-shot verification to Prax Shift, inspect a shift, or schedule supported coding work with Codex as the worker.

    273 GitHub stars~1.6k tokensUpdated 26 days ago
    Auto-check passed
  • AI News Daily

    ChanningLua/prax-agent

    端到端 pipeline —— 抓 X/知乎/Bilibili AI 相关热门 → 整理成 wiki → 推送飞书日报. An agent skill from ChanningLua/prax-agent.

    273 GitHub stars~1.3k tokensUpdated 26 days ago
    Auto-check: notes
  • Browser Scrape

    ChanningLua/prax-agent

    用 AutoCLI 二进制驱动用户已登录的 Chrome 抓取 Twitter/X、知乎、Bilibili、Reddit 等 55+ 站点

    273 GitHub stars~587 tokensUpdated 26 days ago
    Auto-check: notes
  • Hotspot Article

    ChanningLua/prax-agent

    从近期大事件、真实需求和常青决策中选题,完成多源研究、业务落地、实测、事实核验和精选文章. An agent skill from ChanningLua/prax-agent.

    273 GitHub stars~2.7k tokensUpdated 26 days ago
    Auto-check: notes
  • Knowledge Compile

    ChanningLua/prax-agent

    把一堆 raw markdown(抓取/笔记/文章)压成 Obsidian 风格 wiki —— 有 TOC、有按主题聚合、有日简报

    273 GitHub stars~914 tokensUpdated 26 days ago
    Auto-check: notes

Categories

Questions about Support Digest

What does Support Digest do?

本地处理客服工单 JSON 导出,产出脱敏后的每日简报 —— 不出数据、不调外部 API. An agent skill from ChanningLua/prax-agent. Support Digest is an agent skill from ChanningLua/prax-agent.

When should I use Support Digest?

Support Digest fits situations like: development work in your project.

How do I install Support Digest in Claude Code?

Run `npx skills add ChanningLua/prax-agent --skill support-digest -a claude-code`. Or copy the skill folder (src/prax/skills/support-digest in ChanningLua/prax-agent) into .claude/skills/support-digest in your project. Claude Code loads it when a task matches its description.

How do I install Support Digest in Codex?

Run `npx skills add ChanningLua/prax-agent --skill support-digest -a codex`. Or copy the skill folder (src/prax/skills/support-digest in ChanningLua/prax-agent) into .agents/skills/support-digest in your project. Codex loads it when a task matches its description.

Can I use Support Digest in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ChanningLua/prax-agent --skill support-digest -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/support-digest, .gemini/skills/support-digest, .github/skills/support-digest and .opencode/skills/support-digest in your project.

What does Support Digest need to run?

Going by SKILL.md and its folder, Support Digest needs the command-line tools its instructions call (bash). Its frontmatter pre-approves these tools: Read, Write, Glob, Grep, Bash, Notify.

Does Support Digest access the network?

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.

Is Support Digest safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Support Digest use?

Support Digest is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Support Digest use?

About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Support Digest?

Skills that share tags, products or a category with Support Digest: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Support Digest?

ChanningLua (a GitHub user) maintains it in ChanningLua/prax-agent, which has 273 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on September 11, 2026.

Source: ChanningLua/prax-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.