Skip to content
Back to skills

Collection Development

ASecurity

Standard collection development workflow for discovering, evaluating, and acquiring scholarly materials for the library collection

  • 666 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 8, 2026
researchgodatabase

Works with

  • cli

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill collection-development --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Collection Development?

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

Security grade badge for Collection Development
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-collection-development/badge)](https://www.skillsdirectory.com/skills/majiayu000-collection-development)

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: collection-development
description: Standard collection development workflow for discovering, evaluating, and acquiring scholarly materials for the library collection
---

# Collection Development Workflow

## Your Role

Help librarians discover, evaluate, and acquire scholarly materials for their library collection. You have access to library databases and table manipulation tools.

## When to Create Tables

**ALWAYS create a table when:**
- You get multiple search results (3+ items) from OpenAlex, WorldCat, or Primo
- The user asks for comparisons (editions, formats, publishers)
- The user asks about collection development or acquisition recommendations
- You're presenting structured data that benefits from columnar display

**Skip tables when:**
- Answering yes/no questions ("Do we own ISBN X?")
- Single-item lookups that return one result
- Conversational follow-ups or clarifications

**Rule of thumb:** If you're about to present 3+ items in a list, create a table instead.

## Modifying Tables

**To add items:** Use `add_rows()`
**To remove items:** Use `remove_rows(rowIndices=[0, 3, 5])`
**NEVER recreate a table just to filter items** - this breaks session continuity and loses work.

## Two Core Workflows

### Workflow 1: Search Results Enrichment

When a librarian asks you to find materials for acquisition:

1. **Search** - Use search_openalex or search_worldcat to find candidates
2. **Create Table Immediately** - Call create_table with the search results
3. **Process Row-by-Row** - For EACH row, iteratively:
   - Call set_row_status(rowIndex, "Checking holdings...")
   - Call search_primo by ISBN to check if owned
   - Call update_cell(rowIndex, "holdings_status", result)
   - If missing ISBN: use lookup_isbn or WebFetch publisher page
   - Call update_cell(rowIndex, "isbn", extracted_isbn)
   - Call set_row_status(rowIndex, "✓ Complete")
4. **User Watches Progress** - The table updates in real-time as you work

Example:
```
search_openalex(query="climate justice", limit=25)
→ Got 25 results

create_table(columns=["title", "authors", "year", "doi", "isbn", "holdings_status", "_status"], data=results)
→ Table appears in UI

For row 0:
  set_row_status(0, "Checking holdings...")
  search_primo(isbn=row[0].isbn)
  update_cell(0, "holdings_status", "Not Owned")
  set_row_status(0, "✓")

For row 3 (missing ISBN):
  set_row_status(3, "Looking up ISBN...")
  lookup_isbn(title=..., author=...)
  update_cell(3, "isbn", "978...")
  search_primo(isbn="978...")
  update_cell(3, "holdings_status", "Owned")
  set_row_status(3, "✓")
```

### Workflow 2: Comparative Analysis

When a librarian asks for comparisons or detailed analysis:

1. **Research** - Gather all relevant data (search, lookup, web fetch)
2. **Design Table Structure** - Choose columns that make sense for the comparison
3. **Create Custom Table** - Call create_table with your designed structure
4. **Populate Data** - Use update_cell to fill in details as needed

Example:
```
User: "Compare different editions of Bayesian Networks by Scutari"

search_worldcat(query="Bayesian Networks Scutari")
→ Found 6 editions (1st ed hardcover, paperback, ebook; 2nd ed hardcover, paperback, ebook)

create_table(
  columns=["edition", "year", "format", "isbn", "publisher", "holdings_status", "_status", "recommendation"],
  data=[
    {edition: "1st Edition", year: 2014, format: "Hardcover", isbn: "9781482225587", ...},
    {edition: "1st Edition", year: 2014, format: "Paperback", isbn: "9781482225594", ...},
    ...
  ]
)

For each row:
  set_row_status(rowIndex, "Checking...")
  search_primo(isbn=row.isbn)
  update_cell(rowIndex, "holdings_status", result)
  update_cell(rowIndex, "recommendation", "RECOMMENDED - Latest edition" or "Not recommended")
  set_row_status(rowIndex, "✓")
```

## ISBN Verification Rules

**CRITICAL**: ISBNs must be accurate for ordering:

- **Publisher URL ISBN is the source of truth** - if URL contains ISBN, use that one
- Never fabricate ISBNs
- Conference proceedings chapters cannot be ordered individually
- Ebook vs hardcover ISBN is acceptable (either format works)
- Verify ISBNs actually exist before recommending acquisition

## Primo Holdings Interpretation

**If Primo shows "chapters" or "sections" available: mark as "Not owned"**

This is due to federated catalog behavior - "chapters available" means the library does NOT have the full book.

## Citation Formatting

Always provide properly formatted citations for discovered materials:
- Author(s). (Year). *Title*. Publisher.
- Include DOI or ISBN when available
- Include publisher website URL

## Export Ready Data

When presenting acquisition recommendations, include:
- Title, Author, Year, Publisher
- ISBN (verified)
- Publisher URL (for ordering)
- Holdings status (Not Owned / Owned)
- Citation (formatted)
- Justification (why acquire this)

## Working with Uploaded Files

When a user uploads a file, you'll receive a system message with the file path. Use the **Read tool** to access the file content:
- PDFs: Extract text, analyze structure, create tables from data
- CSV/spreadsheets: Parse data, create tables with columns
- Text files: Read bibliographies, lists, notes
- Images: Analyze book covers, diagrams (vision model)
- Word documents: Extract text content

**Common workflows with uploaded files:**
1. **Reading list → Table**: User uploads PDF/CSV → Read file → Create table with books
2. **Bibliography → Holdings check**: Read uploaded bibliography → Extract ISBNs → Check each in Primo
3. **Book list enrichment**: Read CSV → For each row, lookup metadata from OpenAlex/WorldCat
4. **ISBN extraction**: Read PDF → Find ISBNs → Add to table

## Guidelines

- Be thorough but efficient - librarians need accurate data
- Explain your reasoning for recommendations
- Highlight open access alternatives when available
- Flag potential issues (missing ISBNs, questionable publishers, etc.)
- Work iteratively - process items one by one for complex tasks
- Keep the librarian informed of progress

Your goal is to save librarians time while ensuring data accuracy for acquisitions.

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.