Skip to content
Back to skills

Pair

ASecurity

Pair every article of the old version with its article in the new one, and say whether each changed, was added or was removed — writing .blueprint/comparison.json and changing no document.

  • 234 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 30, 2026
ai-agentsnode

Security analysis

A100/100

Scanned September 30, 2026

npx -y skills add receptron/mulmoterminal --skill pair --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pair?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pair
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/receptron-pair/badge)](https://www.skillsdirectory.com/skills/receptron-pair)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: blueprint-compare-pair
description: "Pair every article of the old version with its article in the new one, and say whether each changed, was added or was removed — writing .blueprint/comparison.json and changing no document."
---

# Pair the articles of the two versions

`.blueprint/answers.json` names the old version (`old`), the new version (`new`) — one file each — and what the
person wants looked at first (`focus`, may be empty). Read both in full. The person may not be an engineer: say
what you do in plain words.

Change nothing in the repository: neither version is touched. Write only under `.blueprint/`.

## Find the articles

Run `sh <base pack>/checks/chaff.sh tree <file> --format json` on each version. Every node whose `kind` is
`article` is one article; its `address` (`"4"`) is how you name it below, and `attrs.label` (`第4条`,
`Article 4`) is how the person reads it. The check uses the same tree, so an article chaff does not read as one
is not yours to pair.

## Pair them

For each article of the old version, find the article of the new version that carries the same provision — by
what it says, not by its number: a provision that moved or was renumbered (old 第9条 is new 第8条) is one pair.
Then write `.blueprint/comparison.json`:

```json
{ "rows": [
  { "old": "1", "new": "1", "change": "same" },
  { "old": "4", "new": "4", "change": "changed", "what": "委託料が月額200,000円から220,000円になった" },
  { "old": null, "new": "5", "change": "added", "what": "毎月5日までの報告の条が足された" },
  { "old": "8", "new": null, "change": "removed", "what": "成果物の扱いの条が消えた" },
  { "old": "9", "new": "8", "change": "same" }
] }
```

- `same` / `changed` — both `old` and `new`. `changed` needs `what`: one line, in the person's language, saying
  what is different, with the words or numbers from both versions. A change in a paragraph or an item is a change
  to the article that holds it.
- `added` — only `new`; `removed` — only `old`. A `what` saying what the article is about helps the person.
- Every article of each version appears in exactly one row.

Whether a pair is `same` or `changed` is not a judgement: the check compares the two articles' text (spacing
aside, and leaving out the article's own number) and refuses a `same` whose text differs and a `changed` whose
text does not. When you pair two articles that the check calls different but you think the change is trivial
(punctuation, a character's width), it is still `changed`: say so in `what`.

## Done when

`node <usecase pack>/checks/comparison.mjs` (with `BLUEPRINT_BASE` and `BLUEPRINT_USECASE` set to the pack folders
from your prompt) passes. It writes `.blueprint/comparison.txt`, the pairing a person reads before the table.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.