Skip to content
Agentmart
Submit a tool

write-citations

Create or update a CITATION.cff for a skill or repo from provenance-backed references under references/.

Skill by ibuchanan

IndexedApache-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/ibuchanan-write-citations

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Create or update a CITATION.cff for a skill or repo from provenance-backed references under references/. Use when adding, updating, or maintaining citations, citable metadata, preferred citation, authors, DOI, or attribution.

Use cases: writing, research

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/write-citations

What's inside

Skill name
write-citations
Description
Create or update a CITATION.cff for a skill or repo from provenance-backed references under references/. Use when adding, updating, or maintaining citations, citable metadata, preferred citation, authors, DOI, or attribution.
License
Apache-2.0
Instructions
67 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (30)

  • SKILL.md
  • cspell-words.txt
  • SKILL.md · evals/fixtures/project/.claude/skills/empty-skill/
  • CITATION.cff · evals/fixtures/project/.claude/skills/existing-skill/
  • SKILL.md · evals/fixtures/project/.claude/skills/existing-skill/
  • author.md · evals/fixtures/project/.claude/skills/existing-skill/references/
  • SKILL.md · evals/fixtures/project/.claude/skills/new-skill/
  • author.md · evals/fixtures/project/.claude/skills/new-skill/references/
  • SKILL.md · evals/fixtures/project/.claude/skills/write-citations/
  • cspell-words.txt · evals/fixtures/project/.claude/skills/write-citations/
  • CITATION.cff · evals/fixtures/project/.claude/skills/write-citations/references/
  • citation-file-format-SUMMARY.md · evals/fixtures/project/.claude/skills/write-citations/references/
  • citation-file-format-authoring.md · evals/fixtures/project/.claude/skills/write-citations/references/
  • citation-file-format-people-and-identifiers.md · evals/fixtures/project/.claude/skills/write-citations/references/
  • citation-file-format-references.md · evals/fixtures/project/.claude/skills/write-citations/references/
  • citation-file-format-validation.md · evals/fixtures/project/.claude/skills/write-citations/references/
  • validate-cff.ts · evals/fixtures/project/.claude/skills/write-citations/references/
  • promptfooconfig.yaml · evals/
  • main.txt · evals/prompts/
  • create-new.yaml · evals/tests/
  • missing-references.yaml · evals/tests/
  • near-miss.yaml · evals/tests/
  • update-existing.yaml · evals/tests/
  • CITATION.cff · references/
  • citation-file-format-SUMMARY.md · references/
  • citation-file-format-authoring.md · references/
  • citation-file-format-people-and-identifiers.md · references/
  • citation-file-format-references.md · references/
  • citation-file-format-validation.md · references/
  • validate-cff.ts · references/

SKILL.md (first lines)

# Write Citations

Create or update a `CITATION.cff` file for a skill or repo by reading the provenance-backed references already gathered under the skill's `references/` directory.

This skill is the author-side counterpart to `validate-cff`. It synthesizes existing sources into CFF 1.2.0 metadata; it does not discover new sources or check schema validity.

## Scope

### Trigger when the user wants to

- Create or update a `CITATION.cff`.
- Add citations, citable metadata, preferred citation, author metadata, DOI/Zenodo, or attribution for a skill or repo.

### Redirect instead of triggering when

- The user wants to validate an existing `CITATION.cff` → hand off to `validate-cff`.
- The user wants to find or download sources → hand off to `research-references`.
- The user wants to cite a paper or add a README bibliography → hand off to `research-references` or general writing help.
- The user wants to list references in a spec → hand off to spec-writing or `research-references`.

## Workflow

1. **Identify the target directory.**
   - Default to the skill root: the directory containing the nearest `SKILL.md` upward from the current working directory.
   - Only use a different directory if the user explicitly provides one.

2. **Gather inputs.**
   - Read the existing `CITATION.cff` in the target directory, if present.
   - Discover all `references/**/*.md` files under the target directory.
   - Parse each reference's OKF frontmatter for fields that map to CFF (title, author, date, license, DOI, URL, etc.).
   - Accept any explicit metadata the user provided (title, version, authors, license, DOI).

3. **Synthesize a CFF draft.**
   - Map reference fields to CFF 1.2.0 fields using the bundled CFF references.
   - Required fields: `cff-version: 1.2.0`, `message`, `title`, `authors`.
   - Authors must be either a person (`family-names` + `given-names`) or an entity (`name`).
   - Do not invent authors, titles, or identifiers not present in the references or explicit user input.

4. **Write or propose.**
   - If no `CITATION.cff` exists, write the file immediately and show the result.
   - If a `CITATION.cff` exists, explain the mapping and the diff, then confirm before writing.
   - Preserve fields that are already correct in the existing file.

5. **Report.**
   - Summarize which reference contributed which fields.
   - Mention any required fields that were not determined from the references or explicit input and were left empty or filled with a placeholder.

## Boundaries & safety

- Do not invent references or authors.
- Do not suggest authors from git history or GitHub metadata.
- Do not fetch or research new sources.
- Do not validate the file; rely on the CFF references and `validate-cff` for validation.
- Never overwrite an existing `CITATION.cff` without explaining the diff and confirming.
- Preserve personal identifiers (ORCID, email) only when they are already present in the references or explicitly provided.

## Reference load triggers

- Read `references/citation-file-format-SUMMARY.md` for a top-level CFF map and fast rules.
- Read `references/citation-file-format-authoring.md` when deciding root-level fields and the minimal template.
- Read `references/citation-file-format-people-and-identifiers.md` when mapping authors, entities, ORCIDs, or contacts.
- Read `references/citation-file-format-references.md` when handling `preferred-citation` or related-work citations.
- Read `references/citation-file-format-validation.md` when checking file naming or schema validity conventions.
- Read `references/validate-cff.ts` to understand the exact validation rules the output must satisfy.
- Read `references/CITATION.cff` for a working example.

From ibuchanan/agent-skills-toolkit, Apache-2.0.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Aug 20, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ibuchanan

Cite this page

write-citations skill. Agent Mart. https://agentmart.dev/skills/ibuchanan-write-citations (last updated 2026-10-24)