# Composition Scoring Skill

> 高考语文作文评分工具，依据严格的评分标准（基础等级+发展等级）对作文进行打分和点评，支持硬性指标检测。使用场景：(1) 对作文进行自动评分和诊断，(2) 获取基于"八病八要"的改进建议，(3) 检查作文是否符合字数、标题等硬性要求。触发条件：用户提交作文内容并请求评分。 Use when this capability is needed.

- Skill: `tomevault-io/composition-scoring-skill` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/composition-scoring-skill`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/composition-scoring-skill/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/composition-scoring-skill

---


# Composition Scoring Skill

## 简介
本技能用于模拟高考语文作文评分流程，结合规则检测（字数、段落数统计）和 AI 语义评估（立意、文采），输出符合 `references/scoring-criteria.md` 标准的详细评分报告。

## 功能特性
- **精准评分**：基于高考语文作文评分标准，分为基础等级和发展等级
- **硬性指标检测**：通过 CLI 脚本精确统计字数和段落数
- **详细报告**：包含总分、分项得分、优缺点分析和改进建议
- **标准化流程**：遵循严格的评分流程，确保评估一致性

## 使用指南

### 1. 基础评分流程
#### 1.1 推荐格式（分开提交）
1. 用户先提交**作文题目**（考试给定的题目）
2. 然后提交作文内容（包含考生拟定的**标题**和正文）
3. Agent 评估作文并生成评分报告

#### 1.2 直接粘贴格式（题目+作文）
如果用户直接粘贴题目和作文内容，请确保题目和正文之间有明显分隔（如空行或明确标记），例如：

```
题目：谈责任

标题：责任在我心

正文：责任是每个人应当承担的义务...
```

**说明**：
- **题目**：考试给定的作文题，用于评估审题准确性
- **标题**：考生自己拟定的作文标题，是作文的一部分

### 2. 硬性指标检测
**必须使用 CLI 工具进行字数统计**，不可由 AI 估算。

#### 2.1 CLI 工具功能说明
- **功能范围**：CLI 工具仅用于统计作文正文的字符数
- **统计标准**：按照高考作文字数统计标准，包括所有正文内容（汉字、标点符号、空格等）
- **不统计内容**：不统计题目、标题、标记文字等非正文内容
- **输入要求**：只传递作文正文内容

#### 2.2 从文件读取
```bash
python scripts/cli.py <file_path>
```

#### 2.3 从标准输入读取
```bash
echo "作文内容" | python scripts/cli.py
# 或在PowerShell中
"作文内容" | python scripts/cli.py
```

**示例输出**：
```text
=== Composition Analysis ===
Character Count: 856
Note: Character count includes all text content, including punctuation and spaces.
```

**查看帮助**：
```bash
python scripts/cli.py --help
```

**重要提示**：
- CLI 工具仅统计字符数，不统计段落数
- **保留原始格式**：输入文本应保留原始格式，不要去除换行或空格
- **只传递作文正文内容**：不要包含题目、标题、标记文字等

## Agent 操作指南
当用户请求评分时，Agent 应执行以下步骤：

### 步骤 1：处理输入格式
**[核心任务]**：正确识别并分离题目、标题和正文

**[处理流程]**：

**情况 A：用户分开提交**
- **识别特征**：用户先提交一行或一段内容，明确表示为题目，然后再提交作文内容
- **处理方法**：
  1. 将第一部分内容识别为**题目**（考试给定）
  2. 将第二部分内容识别为**作文内容**（包含标题和正文）
  3. 从作文内容中进一步分离出**标题**和**正文**

**情况 B：用户直接粘贴题目+作文**
- **识别特征**：用户将题目、标题和正文一起粘贴为一段内容
- **处理方法**：
  1. **首先分离题目**：
     - 寻找明确的题目标记："题目："、"题目:"、"题目 "、"作文题："、"作文题:"等
     - 寻找题目和正文之间的空行分隔
     - 如果有明确标记，提取标记后的内容作为题目
     - 如果没有明确标记，查找第一行或前几行中最可能是题目的内容
  2. **然后分离标题**：
     - 寻找明确的标题标记："标题："、"标题:"、"标题 "等
     - 查找题目之后、正文之前的独立行
     - 标题通常是作文的第一行，格式相对正式
  3. **最后确定正文**：
     - 排除已识别的题目和标题部分
     - 剩余内容即为正文

**[分离规则详解]**：

**1. 题目识别规则**：
- 优先级 1：明确的题目标记（如"题目："、"题目:"等）
- 优先级 2：独立成行的简短语句（通常 1-20 字）
- 优先级 3：用户特别标注的内容

**2. 标题识别规则**：
- 优先级 1：明确的标题标记（如"标题："、"标题:"等）
- 优先级 2：题目之后、正文之前的独立行
- 优先级 3：作文内容的第一行（如果格式明显是标题）

**3. 正文识别规则**：
- 排除已识别的题目和标题部分
- 剩余的主要内容即为正文
- 正文通常是篇幅最长的部分

**[确认机制]**：
- 如果无法明确分离题目、标题和正文，**必须向用户确认**
- 确认时应提供初步识别结果，让用户验证或修正
- 例如："我识别的题目是'谈责任'，标题是'责任在我心'，正文从'责任是每个人应当承担的义务...'开始，是否正确？"

**概念区分**：
- **题目**：考试给定的作文题，用于评估审题准确性
- **标题**：考生自己拟定的作文标题，是作文的一部分，属于硬性指标检测范围
- **正文**：作文的主要内容，是字数统计和评分的核心对象

### 步骤 2：获取精确字数
**[强制要求]**：
- 必须通过 `python scripts/cli.py <file_path>` 命令获取精确字数
- 严禁AI自行估算字数或使用其他方法统计字数
- 只允许使用 `scripts/cli.py` 脚本进行字数统计

**[操作指令]**：
1. 提取作文正文内容，保留原始格式（包括换行和空格）
2. 将正文内容写入临时文件
3. 执行 `python scripts/cli.py <临时文件路径>` 命令，获取精确字数
4. 检查输出，确保包含 `Character Count:` 行
5. 立即删除临时文件，避免遗留无用数据

**示例命令**：
```powershell
# 写入临时文件
Set-Content temp.txt "作文正文内容"
# 统计字数
python scripts/cli.py temp.txt
# 删除临时文件
Remove-Item temp.txt
```

**注意事项**：
- 只传递作文正文内容给CLI工具，不要包含题目、标题、标记文字等非正文内容
- 如脚本调用失败，立即重试，确保获取到精确字数
- 如无法获取字数，立刻告知用户并请求协助

**CLI工具说明**：
- 仅用于统计作文正文字符数
- 统计标准：包括所有正文内容（汉字、标点符号、空格等）
- 调用前务必先提取正文内容

### 步骤 3：检查硬性指标
- 字数是否达标（以 CLI 输出为准）
- 是否有标题
- 其他格式要求

### 步骤 4：判定基础等级
**必须依据 `references/scoring-criteria.md` 中的评分标准进行综合评估**，包括：
- 审题是否准确？（偏离题意直接四类卷）
- 中心是否明确？
- 文体是否规范？
- 内容是否充实？
- 语言是否通顺？
- 结构是否合理？

**评分标准参考**：
- 基础等级评分细则详见 `references/scoring-criteria.md`
- 根据各项指标综合判定基础等级（一类卷、二类卷、三类卷、四类卷）

### 步骤 5：判定发展等级
**必须依据 `references/scoring-criteria.md` 中的评分标准进行综合评估**，寻找作文亮点：
- 深刻：见解独到，分析深刻
- 丰富：材料丰富，论据充实
- 文采：语言生动，富有文采
- 创意：构思新颖，富有创意

**评分标准参考**：
- 发展等级评分细则详见 `references/scoring-criteria.md`
- 根据各项亮点指标综合判定发展等级（一等、二等、三等、四等）

### 步骤 6：计算总分
- **必须依据 `references/scoring-criteria.md` 中的评分标准进行计算**
- 总分 = 基础分 + 发展分 - 硬性扣分
- 确保各项得分符合评分标准中的分值范围和计算规则

### 步骤 7：生成详细报告
**必须依据 `references/scoring-criteria.md` 中的评分标准生成综合评估报告**，包括：
- 总分
- 分项得分详情（基础等级得分、发展等级得分、硬性指标扣分）
- 主要优点（基于评分标准中的优秀指标）
- 主要缺点（基于评分标准中的不足指标）
- 改进建议（针对"八病"与"八要"，结合评分标准中的具体要求）

## 评分标准
**所有评分必须严格依据 `references/scoring-criteria.md` 文件中的详细标准进行综合评估**。

评分标准包括：
- **基础等级**：审题、中心、内容、语言、结构等
  - 一类卷、二类卷、三类卷、四类卷的判定标准
  - 各等级对应的分值范围
- **发展等级**：深刻、丰富、有文采、有创意等
  - 一等、二等、三等、四等的判定标准
  - 各等级对应的分值范围
- **硬性指标**：字数要求、标题要求等
  - 各项硬性指标的具体要求和扣分规则

**重要提示**：
- 必须仔细阅读并理解 `references/scoring-criteria.md` 中的所有评分细则
- 评分过程中要综合考虑各项指标，不能只看单一指标
- 所有得分判定必须有明确的评分标准依据

## 资源
- [评分标准 (Scoring Criteria)](./references/scoring-criteria.md)
- [CLI 工具脚本](./scripts/cli.py)

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/drfccv) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-13 -->

