Tutorials

Describing Zine Creators

Creating AgentCore2 records for people, collectives, and organizations

This tutorial teaches you how to create AgentCore2 records for zine creators. You'll learn how to document people (including pseudonymous creators), collectives, and organizations involved in zine-making.

What You'll Learn

  • The difference between ZineCore2 and AgentCore2
  • How to handle pseudonyms and alternative names
  • How to document collectives and organizations
  • How to link creators to external identifiers (ORCID, Wikidata)
  • Privacy considerations for zine creators

Why AgentCore2?

ZineCore2 records reference creators by name:

{
  "title": "My Zine",
  "creator": ["Alex Martinez"]
}

But what if you want to track:

  • Alternative names or pseudonyms
  • Biographical information
  • Multiple zines by the same person
  • Collective membership

That's where AgentCore2 comes in. It's a separate profile for describing creators, contributors, and publishers.

AgentCore2 Basics

Every AgentCore2 record has three required fields:

  1. agent_id - A unique identifier you assign
  2. display_name - The name to show publicly
  3. agent_kind - Person, Collective, or Organization

Tutorial 1: Individual Creator

Let's create a record for a zinester:

Riley Chen

  • Makes perzines about mental health
  • Also goes by "R. Chen" in some zines
  • Pronouns: they/them
  • Active since 2019
  • Based in Seattle, WA

Step 1: Required Fields

{
  "agent_id": "riley-chen-001",
  "display_name": "Riley Chen",
  "agent_kind": "Person"
}

agent_id should be unique within your system. Common patterns:

  • firstname-lastname-###
  • username-###
  • uuid (for automatic systems)

Step 2: Add Alternative Names

Riley sometimes uses "R. Chen":

{
  "agent_id": "riley-chen-001",
  "display_name": "Riley Chen",
  "agent_kind": "Person",
  "alternative_names": ["R. Chen"]
}

Step 3: Add Pronouns

{
  "pronouns": ["they/them"]
}

Step 4: Add Biography

{
  "biography": "Riley Chen is a zinester based in Seattle who has been making perzines about mental health, queerness, and everyday life since 2019."
}

Step 5: Add Location and Dates

{
  "location": "Seattle, Washington, United States",
  "active_dates": "2019-present"
}

Step 6: Complete Record

{
  "agent_id": "riley-chen-001",
  "display_name": "Riley Chen",
  "agent_kind": "Person",
  "alternative_names": ["R. Chen"],
  "pronouns": ["they/them"],
  "biography": "Riley Chen is a zinester based in Seattle who has been making perzines about mental health, queerness, and everyday life since 2019.",
  "location": "Seattle, Washington, United States",
  "active_dates": "2019-present"
}

Tutorial 2: Pseudonymous Creator

Many zinesters use pseudonyms. Let's create a record that respects privacy:

"Staple Queen"

  • Pseudonymous zinester
  • Real name unknown (or not public)
  • Makes punk music zines
  • Based somewhere in the UK

Pseudonymous Record

{
  "agent_id": "staple-queen",
  "display_name": "Staple Queen",
  "agent_kind": "Person",
  "scope_note": "Pseudonymous zinester. No biographical information publicly available.",
  "location": "United Kingdom"
}
Privacy First: Never include someone's real name if they use a pseudonym, even if you know it. Respect creator anonymity.

Tutorial 3: Collective

Collectives are groups of people working together. Let's document one:

"Riot Print Collective"

  • A collectively-run risograph print shop
  • Founded in 2015 in Oakland, CA
  • Publishes zines by members and community
  • Website: https://riotprint.example.org

Collective Record

{
  "agent_id": "riot-print-collective",
  "display_name": "Riot Print Collective",
  "agent_kind": "Collective",
  "biography": "Worker-owned risograph print collective based in Oakland, CA. Publishes zines, art prints, and community publications.",
  "location": "Oakland, California, United States",
  "active_dates": "2015-present",
  "website": ["https://riotprint.example.org"]
}
Collective vs Organization: Use "Collective" for informal groups and worker-owned cooperatives. Use "Organization" for formal institutions like libraries or publishers.

Tutorial 4: Publisher/Organization

Let's document a zine publisher:

"Microcosm Publishing"

  • Independent publisher
  • Publishes zines and books
  • Based in Portland, OR
  • Founded 1996

Organization Record

{
  "agent_id": "microcosm-publishing",
  "display_name": "Microcosm Publishing",
  "agent_kind": "Organization",
  "biography": "Independent publisher and distributor of progressive and radical books, zines, and DIY publications.",
  "location": "Portland, Oregon, United States",
  "active_dates": "1996-present",
  "website": ["https://microcosmpublishing.com"]
}

Linking to External Identifiers

If a creator has external identifiers, include them:

ORCID (researchers/academics)

{
  "agent_id": "dr-jane-smith",
  "display_name": "Dr. Jane Smith",
  "agent_kind": "Person",
  "orcid": "https://orcid.org/0000-0002-1825-0097"
}

Wikidata (notable people)

{
  "agent_id": "kathleen-hanna",
  "display_name": "Kathleen Hanna",
  "agent_kind": "Person",
  "wikidata": "http://www.wikidata.org/entity/Q467251",
  "biography": "Musician, artist, and zinester best known as the lead singer of Bikini Kill and for her influential role in the riot grrrl movement."
}

Other Identifiers

{
  "other_identifiers": [
    "https://www.instagram.com/username",
    "https://example.org/creators/12345"
  ]
}

Handling Complex Names

Preferred Name vs Display Name

  • display_name: What you show publicly (required)
  • preferred_name: What they prefer to be called (optional)
{
  "display_name": "Dr. Jane Marie Smith",
  "preferred_name": "Jane Smith"
}

Sort Name

For alphabetizing (family name first):

{
  "display_name": "Riley Chen",
  "sort_name": "Chen, Riley"
}

Multiple Alternative Names

{
  "display_name": "Alex Taylor",
  "alternative_names": [
    "A. Taylor",
    "Alexandria Taylor",
    "Alex T."
  ]
}

Anonymous and Unknown Creators

Anonymous Creator (by choice)

{
  "agent_id": "anonymous-001",
  "display_name": "Anonymous",
  "agent_kind": "Person",
  "scope_note": "Creator chose to remain anonymous. No biographical information available."
}

Unknown Creator (information lost)

{
  "agent_id": "unknown-punk-zinester",
  "display_name": "Unknown",
  "agent_kind": "Person",
  "scope_note": "Creator information not available on zine. Mid-1980s punk zine from Portland, OR."
}

Linking Agents to Zines

Once you have an AgentCore2 record, reference it in ZineCore2:

ZineCore2 Record

{
  "title": "Mental Health Matters",
  "creator": ["riley-chen-001"],
  "subject": ["mental-health"],
  "format": "print"
}

The creator field now contains the agent_id which links to the full AgentCore2 record.

Some implementations allow nested objects instead of IDs. Check your system's documentation.

Complete Example: Multiple Roles

A zine with different contributors:

Zine Record (ZineCore2)

{
  "title": "Collaborative Zine #3",
  "creator": ["alex-martinez-001"],
  "contributor": [
    {
      "agent": "jordan-lee-002",
      "role": "illustrator"
    },
    {
      "agent": "sam-wong-003",
      "role": "photographer"
    }
  ],
  "subject": ["art", "photography"],
  "format": "print"
}

Agent Records (AgentCore2)

[
  {
    "agent_id": "alex-martinez-001",
    "display_name": "Alex Martinez",
    "agent_kind": "Person"
  },
  {
    "agent_id": "jordan-lee-002",
    "display_name": "Jordan Lee",
    "agent_kind": "Person"
  },
  {
    "agent_id": "sam-wong-003",
    "display_name": "Sam Wong",
    "agent_kind": "Person"
  }
]

Validation

Validate your AgentCore2 records:

Online

Use the Schema Validator and select "AgentCore2" schema.

Command Line

curl -o agentcore2.schema.json \
  https://zinecore.org/v2/schema/agentcore2.schema.json

ajv validate -s agentcore2.schema.json -d agent-record.json

Privacy and Ethics

Best Practices

  1. Use the name they use - Don't "correct" pseudonyms or deadnames
  2. Respect pronouns - Include them if known
  3. Protect privacy - Don't dox pseudonymous creators
  4. Ask permission - When possible, ask before publishing biographical info
  5. Be inclusive - Document creators of all genders, backgrounds, and identities

What NOT to Include

  • Real names of pseudonymous creators (without permission)
  • Personal information that could compromise safety
  • Deadnames or pre-transition names
  • Private contact information without consent

Practice Exercise

Create an AgentCore2 record for:

"The Zine Syndicate"

  • A collective of three zinesters
  • Based in Chicago, IL
  • Active 2018-2022
  • Made political zines together
Click to see one possible answer
{
  "agent_id": "zine-syndicate",
  "display_name": "The Zine Syndicate",
  "agent_kind": "Collective",
  "biography": "A collective of three zinesters who collaborated on political zines about social justice, housing rights, and community organizing in Chicago.",
  "location": "Chicago, Illinois, United States",
  "active_dates": "2018-2022"
}

Next Steps

Need Help?

Copyright ©2026 ZineCore2 Contributors,