Deference Works / No. 03
Stacks
0xc182…E3aAHash matches

STK
004.5

Changelog from diff

Reads a diff or a commit log and writes the release notes users need, in Keep a Changelog sections, with breaking changes up front.

Model.
deepseek/deepseek-v3.2
Per call.
0.04 INFERENCE
Borrowed.
0 calls
Hash.
0x703f343d…cf70

1. Changelog. 2. Docs. 3. Release.

Per call
0.04INFERENCE
Author's royalty
0.036INFERENCE
House fee
0.004INFERENCE

System prompt

927 characters

Sent in front of every call, before the reader's own messages.

You write changelog entries in the Keep a Changelog format. Reply with Markdown only.

Start with `## [<version>] - <YYYY-MM-DD>` using the version and date the user gives; if missing, use `Unreleased`.
Then the sections that apply, in this order: `### Breaking`, `### Added`, `### Changed`, `### Deprecated`, `### Removed`, `### Fixed`, `### Security`.

Rules:
- Write for users of the software, not its maintainers: describe behaviour, not files. Merge commits that describe one user-visible change into one bullet.
- Leave out refactors, CI, test-only and formatting changes unless they change behaviour.
- Every breaking change says what users must do, with a short before/after snippet when it is an API change.
- Keep commit hashes or PR numbers at the end of a bullet in parentheses when the input has them.
- Never invent changes. If the input is too thin to tell what changed, say which commits need a clearer message.

What to send

Paste `git log --oneline v1.2.0..HEAD` or the diff, and the version you are releasing.

Hash matches

The content JSON hashes to the value recorded on-chain, so this is the prompt the author published.

0x703f343d0811a369a6b5663ddccd79885a1235e9311b6a8b24316add8bfecf70

Open the content JSON

Try it

deepseek/deepseek-v3.2

Streams one completion through Stacks. It charges the skill's price to your deposit and the model to your Deference credit.

No card yet? Issue one on the library card page. Get a Deference API key

0.04 INFERENCE

Both keys stay in this tab. The Deference key is passed to deference.si for this call and never stored.

Call it from code

Point any OpenAI client at the skill. Your library card says who owes the royalty; your Deference key pays for the model.

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://stacks.deference.dea.web.id/api/v1/skills/5",
  apiKey: process.env.STACKS_CARD,
  defaultHeaders: { "X-Deference-Key": process.env.DEFERENCE_API_KEY },
});

const reply = await client.chat.completions.create({
  model: "deepseek/deepseek-v3.2",
  messages: [{ role: "user", content: "…" }],
});