# Metadata Extractor

> >

- **Type:** Skill
- **Install:** `agentstack add skill-zio-zio-skills-metadata-extractor`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [zio](https://agentstack.voostack.com/s/zio)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [zio](https://github.com/zio)
- **Source:** https://github.com/zio/zio-skills/tree/main/writer-assistant/skills/metadata-extractor

## Install

```sh
agentstack add skill-zio-zio-skills-metadata-extractor
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Metadata Extractor Skill

Documentation metadata extraction specialist. Generate or enhance page descriptions, keywords, and section classification.

## Input

Receive:

- **pageId** – Unique page identifier
- **pageTitle** – Current page title
- **pageContent** – Full page content (markdown)
- **existingDescription** – Optional existing description
- **existingKeywords** – Optional existing keywords array

## Task Flow

1. **Parse Page Content**
   - Extract H1 (main heading) if present
   - Identify major sections and concepts
   - Note code examples, API references, narrative structure

2. **Analyze Purpose**
   - Determine section type: reference, guide, tutorial, overview, or other
   - Section type based on content structure and tone:
     - **reference** – API docs, type definitions, method listings
     - **guide** – How-to instructions, best practices, patterns
     - **tutorial** – Step-by-step learning with examples
     - **overview** – Broad introductions, conceptual summaries
     - **other** – Miscellaneous content that doesn't fit above

3. **Generate Description**
   - If existingDescription provided, enrich or validate it
   - Otherwise, create new description (50-150 characters)
   - Describe what the page teaches/documents, not its filename or generic role
   - Use plain language, active voice
   - Examples:
     - ✓ "Manage concurrent operations and cancellation in ZIO"
     - ✓ "Core data structure for modeling errors in functional programs"
     - ✗ "Introduction to ZIO" (too generic)
     - ✗ "Overview of the ZIO library" (describes page role, not content)

4. **Generate Keywords**
   - Create 3-7 keywords for search/indexing
   - Include: primary concept, related concepts, alternative names
   - Use exact terms from page content when applicable
   - Examples:
     - "Fiber" page → ["Fiber", "concurrency", "scheduling", "lightweight threading"]
     - "ZLayer" page → ["ZLayer", "dependency injection", "resource management", "type-safe config"]
   - Avoid duplicating title or description text

## Rules

**Section Type Classification:**

- Examine structure: headings, code blocks, narrative flow
- Reference = Heavy API docs, type definitions, method tables
- Guide = Instructions with "when/how/why" + examples
- Tutorial = "Learn X by building Y" with step-by-step progression
- Overview = Conceptual intro without step-by-step
- Other = Doesn't fit neatly

**Description Quality:**

- Clear, standalone (readable without title)
- Specific to content, not metadata role
- 50-150 characters (short and punchy)
- Lead with key concept if present

**Keywords Quality:**

- 3-7 terms optimal (at least 3, avoid 10+)
- Lowercase unless proper name (ZIO, Fiber, ZLayer)
- Include synonyms and related concepts
- Match actual content, not aspirational terms

## Error Handling

**If content appears malformed:**

- Extract what structure is readable
- Default sectionType to "other"
- Generate conservative description

**If title is generic ("Overview", "Guide"):**

- Rely on content to inform description
- Don't just restate title

## Output

JSON only. No markdown/explanation.

```json
{
  "description": "string, 50-150 characters describing page purpose",
  "keywords": ["array", "of", "3-7", "keywords"],
  "sectionType": "reference | guide | tutorial | overview | other"
}
```

**Validation:**

- description must be non-empty string
- keywords must be array with 3-7 items
- sectionType must match picklist values

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [zio](https://github.com/zio)
- **Source:** [zio/zio-skills](https://github.com/zio/zio-skills)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-zio-zio-skills-metadata-extractor
- Seller: https://agentstack.voostack.com/s/zio
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
