project_skill

This skill extracts specified nested metadata from each note in a collection, returning only the requested fields for structured downstream use.
  • Python

9

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill bdambrosio/cognitive_workbench --skill project

  • Skill.md3.0 KB

Overview

This skill extracts structured metadata fields from every Note in a Collection, returning a new Collection where each Note contains only the requested fields. It is designed for JSON/dict Notes and preserves nested structure (e.g., metadata.uri). Notes missing any requested field are excluded rather than causing an error.

How this skill works

Provide a Collection target and a list of field paths (supports dot notation like metadata.uri). The skill inspects each Note (must be a dict/JSON object), selects the requested keys, and emits a Collection of Notes each containing only those fields. If a Note lacks any requested field it is filtered out; an empty result means no Notes matched the projection.

When to use it

  • You need to extract specific metadata (titles, URIs, years, scores) from search or paper results.
  • Preparing a slimmed-down dataset before running joins, aggregations, or downstream transforms.
  • Creating a list of URIs to feed into a fetch-text or downloader step.
  • Filtering out Notes that don't contain required fields for a subsequent pipeline stage.

Best practices

  • Ensure the target is a Collection of dict/JSON Notes; single Note or collections of arrays are unsupported.
  • Specify only existing field paths; missing fields cause Notes to be excluded (not an error).
  • Use dot notation for nested metadata (metadata.title, metadata.uri) to preserve structure.
  • Convert arrays to a Collection with split before projecting elements inside arrays.
  • Treat an empty output as a valid 'no matches' result, not a failure.

Example use cases

  • Extract metadata.uri from search results to build a list of links for fetch-text.
  • Project metadata.title and metadata.year from a papers Collection for metadata-driven filtering.
  • Select metadata.source_id and metadata.score to rank or analyze search hits.
  • Trim Notes to {text, metadata.uri, char_count} before joining with another dataset.

FAQ

Those Notes are excluded from the output; the resulting Collection contains only Notes that have all requested fields.

Can I project fields from a Collection of arrays or plain text?

No. Elements must be dict/JSON objects. Convert arrays to a Collection first or use the refine tool for text parsing.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
project skill by bdambrosio/cognitive_workbench | VeilStrat