# Number Bonds

> 当孩子/学生需要把一个数拆成两个数、或找"几和几组成几"时调用; 当用户问"怎么教孩子数的分与合""5 可以分成几和几"、出现 "分与合" "分成" "组成" "number bonds / decomposition" 等信号时调用。用途是系统枚举一个数的所有分法并说明它作为加减法基础的作用。 不适用于: 直接算加减法结果、比大小、位值概念。 trigger: 分与合 / 分成几和几 / 组成 / number bonds / decompose

- Skill: `mickcui/number-bonds` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add mickcui/number-bonds`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mickcui/number-bonds/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: mickcui (https://skillmd.com/u/mickcui)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/mickcui/number-bonds

---


# 分与合 (数的分解与组成)

## R — 原文 (Reading)

> "5 个 分成两堆，可以怎样分？5 可以分成几和几？几和几组成 5？"
> "按顺序分真好。成对写出分与合，方便又全面。"
>
> — 《数学一年级上册》书页 20、39

## I — 方法论骨架 (Interpretation)

"分与合"是数的分解(分成)与组成(合成)的统称，是加减法的思维地基:

- **分成**: 一个数 a 可以拆成两个数 b 和 c(a = b + c)，读作"a 分成 b 和 c"。
- **组成**: 两个数 b 和 c 合起来是 a，读作"b 和 c 组成 a"。
- 二者互逆: "a 分成 b 和 c" ⇔ "b 和 c 组成 a"。

关键技巧(教材点出): **按顺序分**——从 1 和 a-1 开始依次拆，直到中位；**成对写出**——把"b 和 c"与"c 和 b"这对互补分法一起写出，保证不重不漏。例如 6 的分与合: 1和5、2和4、3和3、4和2、5和1。

分与合一旦熟练，加法(几和几组成几)和减法(几分成几和几)都能直接"想出来"。

## A1 — 书中的应用 (Past Application)

### 案例 1: 5 的分与合
- **问题**: 5 可以分成几和几?
- **方法论的使用**: 按顺序分: 1和4、2和3、3和2、4和1(成对写出)。
- **结论**: 5 的全部分法一次列全，不漏不重。
- **结果**: 孩子由此能直接想 1+4=5、2+3=5、5-1=4…

### 案例 2: 6、7、8、9、10 的分与合
- **问题**: 7 朵花分成两组怎么分?
- **方法论的使用**: 按顺序+成对写: 1和6、2和5、3和4、4和3、5和2、6和1。
- **结论**: 系统获得 7 的所有分法，成为加减法(尤其凑十)的算力基础。

## A2 — 触发场景 (Future Trigger) ★

### 用户会在什么情境下需要这个 skill?

1. 教孩子把一个数(如 6、8、10)完整拆成几和几，孩子漏分法。
2. 问"几和几组成 5/7/9"，或"5 可以分成几和几"。
3. 想让孩子打牢加减法/凑十的地基。

### 语言信号 (用户的话里出现这些就应激活)

- "5 可以分成几和几"
- "几和几组成 7"
- "怎么教数的分与合 / number bonds"
- "把 8 拆成…"

### 与相邻 skill 的区分

- 与 `make-ten-addition`(凑十法): 凑十是"用拆数凑成 10 的进位算法"，分与合是"系统枚举一个数的全部分法"；凑十依赖分与合但不是分与合本身。
- 与 `add-subtract-meaning`: 分与合提供"想数"的原材料，那个管"判断加还是减"。
- 与 `counting-strategy`: 分与合是数的结构，计数是数物品的顺序。

---

## E — 可执行步骤 (Execution)

当 skill 被激活后，agent 应按以下步骤执行:

1. **确认要分解的数 a**，并判断范围(一年级为 2～10)。
   - 完成标准: 明确得到要拆的目标数 a。

2. **按顺序列出全部分法**: 从 1 和 a-1 起，逐一拆到中位；成对写出互补分法。
   - 完成标准: 输出如 "a: 1和(a-1)、2和(a-2)、…、中位" 的完整不重不漏列表。
   - 判停条件: 若用户只要一种分法，直接给出一种即可。

3. **回读组成并给 2 道练习**: 把每种分法读成"几和几组成 a"，并出题(如"填一填: 几和几组成 6")。
   - 完成标准: 同时说明"分成↔组成"互逆，并给出练习题。

---

## B — 边界 (Boundary) ★

### 不要在以下情况使用此 skill

- 用户要的是某个加减法算式的结果(那是计算，不是枚举分法)。
- 目标数是比大小/位值/凑十的场景，请转对应 skill。
- 目标数超过 20 或不限范围。

### 作者在书中警告的失败模式

- 漏掉某种分法(不按顺序)。
- 只写一半互补分法(不"成对写出")。
- 把"分成"和"组成"的读法用反。

### 作者的盲点 / 时代局限

- 教材假定"会背分与合"就懂加减法，但若孩子只是机械背、没有"数感"，仍需回到实物(小棒/圆片)具象。
- 分与合对 0 这个数通常不展开(0 有专门 skill)。

### 容易混淆的邻近方法论

- 凑十法、加减法计算、计数。

---

## 相关 skills

- composes-with: `make-ten-addition`(凑十依赖分与合)
- composes-with: `add-subtract-meaning`
- contrasts-with: `counting-strategy`

---

## 审计信息

- **验证通过**: V1 ✓ / V2 ✓ / V3 ✓
- **测试通过率**: 100% (6/6, 详见 test-prompts.json)
- **蒸馏时间**: 未记录

