skills/ppt-station-skill/tests/test_describe_chart.sh
wangyitong a65adcc2e5 Initial commit: merged, deduplicated, and vetted skill collection
Sources: extracted from two upstream archives (skill-repo, skills-main),
merged with the following policy:

- 15 broken symlinks (pointing to /Users/jameslee/.cc-switch/skills or
  ../../.agents/skills on a foreign machine) discarded
- 3 real name collisions with identical content (ai-pair, ifind-http-api,
  zhipu-websearch) kept as one copy
- Functional overlaps deduped keeping the strongest variant:
  - docx family: kept docx (official, full toolchain) + docx-cn
    (GB/T 9704 Chinese official-document constants),
    dropped docx_writer (no scripts, name collided with docx)
  - humanizer family: kept humanizer-zh (6 zh reference docs),
    dropped humanizer (en, redundant for CN workflow)
- Skills that only ran in a foreign environment removed:
  ablemind-ops, app-publish, hlb-design-system, openclaw-adj-skill,
  claude-driver
- alphapai excluded from this public repo because its SKILL.md hard-coded
  live credentials

Result: 25 skills, 572 files, ~7.5 MB.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 14:47:12 +08:00

37 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# 测试 describe_chart.py - 描述已有图表
set -e
PYTHON=$(which python3 || which python)
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJ_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
SCRIPT="$SCRIPT_DIR/../scripts/describe_chart.py"
echo "=== 测试 describe_chart.py ==="
echo "输入: $PROJ_DIR/aim/aim00.pptx"
OUTPUT=$($PYTHON "$SCRIPT" "$PROJ_DIR/aim/aim00.pptx" 2>/dev/null)
# 验证输出是合法 JSON
echo "$OUTPUT" | $PYTHON -m json.tool > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "FAIL: 输出不是合法 JSON"
exit 1
fi
# 验证包含 slides 键
echo "$OUTPUT" | $PYTHON -c "
import sys, json
d = json.load(sys.stdin)
assert 'slides' in d, 'missing slides key'
slide_count = len(d['slides'])
chart_count = sum(len(s['charts']) for s in d['slides'])
print(f' 幻灯片数: {slide_count}')
print(f' 图表总数: {chart_count}')
for s in d['slides']:
for c in s['charts']:
print(f' - Slide {s[\"slide_index\"]}: {c.get(\"title\", \"无标题\")} ({len(c.get(\"series\", []))} 系列)')
" 2>/dev/null
echo "PASS: describe_chart.py 输出正确"