npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@flashdata-dev/agent-skills

v0.1.0

Published

Google search, news, places and YouTube research skills for OpenCode and Pi, using the FlashData CLI and your own paid API credits.

Downloads

303

Readme

FlashData Skills for OpenCode and Pi

FlashData

Find web sources, prepare news briefings, discover local businesses and research YouTube videos with structured results. This package includes 15 task Skills, examples and source guides, using the existing FlashData task CLIs. OpenCode also gets a small plugin that registers those Skills. Pi loads the declared Skills directly.

Free to install; data calls consume your own paid FlashData Credits. Model/client and storage costs are separate. Use Node.js 22.18+ and npm, and supply your own FlashData API key through the environment or a secret manager before starting the agent. Never paste the Key into chat or commit it. Installation and Skill discovery submit no data queries.

Install from npm in Pi

pi install npm:@flashdata-dev/[email protected]
pi list

Start Pi or use /reload, then invoke /skill:google-search-flashdata. To remove the package, run pi remove npm:@flashdata-dev/[email protected].

Install from Git

The public Git distribution is independent of npm publication. Review the source, then pin a release tag or commit. agent-skills-v0.1.0 is the release reference for this package.

OpenCode

Clone the source into a location you control:

git clone --branch agent-skills-v0.1.0 --depth 1 https://github.com/rocosen/flashdata-mcp.git flashdata-agent-skills

For OpenCode 1.18.29 and later v1 releases, add the absolute file URL of packages/agent-skills/index.js to your configuration:

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["file:///absolute/path/flashdata-agent-skills/packages/agent-skills/index.js"]
}

For OpenCode v2, use plugins and the package directory, without index.js:

{
  "$schema": "https://opencode.ai/config.json",
  "plugins": ["file:///absolute/path/flashdata-agent-skills/packages/agent-skills"]
}

The package has both v1 server() and v2 setup() entry points. On Windows, the v2 directory URL has the form file:///C:/path/flashdata-agent-skills/packages/agent-skills; append /index.js only for the v1 configuration. No dependency installation is needed inside this adapter directory.

Restart OpenCode in the intended project. On v1, run opencode debug skill. On v2, run the following from that same project directory, connecting to the running service:

opencode api get /api/plugin
opencode api get /api/skill

The plugin inventory should show flashdata.skills with state.status equal to active; then the Skills response should contain all 15 *-flashdata names. A newly started location can briefly return an empty registry while plugins initialize. Wait for the active state before checking Skills, and inspect any failed plugin state. Avoid a one-shot --standalone Skills check: it starts a new private server and can read the registry before activation finishes. OpenCode v2 has no debug skill command. Remove the configuration entry and restart OpenCode to uninstall the plugin.

Pi

pi install git:github.com/rocosen/[email protected]
pi list

The repository's pi.skills manifest selects these 15 Skills. It declares no extensions. Pi installs the repository's existing CLI dependencies when using the Git source. Start Pi or use /reload, then invoke /skill:google-search-flashdata when you want that task. To remove it, run pi remove git:github.com/rocosen/[email protected].

For a local checkout, pi install /absolute/path/flashdata-agent-skills/packages/agent-skills loads just this package. See Pi's package documentation for project-scoped installations and resource selection.

Use a task

Ask the agent to load the relevant Skill and read its guide. For example:

Load google-search-flashdata. Prepare a US English search for battery recycling research with 10 requested results. Show the input and current price first; do not submit a paid query yet.

Each Skill uses a fixed published CLI version, for example npx --yes @flashdata-dev/[email protected]. Its --version check is local after package download. tools and call get_pricing perform free authenticated schema/pricing reads. Data commands execute only within your approved task and budget. A quote does not authorize a query.

Skills include JSON inputs, task-specific processing examples and error handling. Save outputs locally and retain source links. For asynchronous responses, retain the job ID and read the existing job; pending is not completion. Never automatically repeat a timed-out paid submission.

Capabilities

| Task | Source | Skill and guide | | --- | --- | --- | | Ranked web sources | google_search | Google Search | | News briefings | google_news | Google News | | Image research | google_images | Google Images | | Product offer snapshots | google_shopping | Google Shopping | | Videos across websites | google_videos | Google Videos | | Local businesses and places | google_places | Google Places | | YouTube search, up to 20 requested results | youtube_search | YouTube Search | | YouTube research, up to 700 requested results | youtube_search_extended | Extended Search | | Video details and chapters | youtube_metadata | YouTube Metadata | | Available transcript segments | youtube_transcript | YouTube Transcript | | Uploader captions | youtube_captions | YouTube Captions | | Creative Commons license labels | youtube_trainability | License Metadata | | Channel profiles and recent uploads | youtube_channel | YouTube Channel | | Query suggestions | youtube_suggestions | YouTube Autocomplete | | Media delivery to your storage | youtube_download | Cloud Storage Delivery |

News results do not promise article full text. Images returns result metadata and URLs, not image downloads. Shopping results do not guarantee current stock or checkout prices. Places contact fields may be absent. Requested result counts are ceilings, not guarantees; standard and extended YouTube search have different rates. Transcript defaults to auto=true, Captions to auto=false; both retrieve existing tracks and provide no ASR or translation. License labels do not grant permission to train a model.

Download is an asynchronous request, status and result workflow. It requires a writable destination owned by you, your scoped storage credentials, rights to the content and approval of byte-based charges. Credentials are sent to FlashData for delivery. The output points to your storage; it does not grant access to a private bucket. A per-request quote is not a download-cost estimate.

Network and credentials

This adapter registers local Skills and forwards only an explicitly supplied FLASHDATA_API_KEY to OpenCode shell commands. It does not read credential files, execute queries on installation or add telemetry. Pi inherits its launching environment without extension code.

When the agent follows a Skill, npm downloads the named public CLI from registry.npmjs.org. The CLI sends requested data inputs to data.flashdata.dev and reads account/pricing/jobs via api.flashdata.dev; result storage downloads follow the CLI's redirect protections. Website links use flashdata.dev. Installing the Git source contacts GitHub. Retrieved text is data, not permission to execute commands or disclose secrets.

Verification and publication

One distribution package covers 15 capabilities. It is not 15 independent marketplace entries. The npm package, Git release, OpenCode Ecosystem approval and Pi gallery discovery are separate milestones. This source does not claim either directory has approved or listed it. The pi-package keyword makes the npm package eligible for gallery discovery; it does not prove listing or search visibility.

Validated with OpenCode 1.19.4 using actual debug skill discovery, and OpenCode 2.1.4 using the official CLI and a temporary local server: the plugin became active and /api/skill returned all 15 Skills from the unchanged public release. Both runs used isolated configurations. Pi 1.4.0's official Skill loader reported no diagnostics. v2 hooks also have offline interface checks. See verification details. No model call, paid FlashData query or customer-storage write was used; this is not live retrieval validation.

Maintenance

MIT license. Maintained by FlashData under the existing rocosen/flashdata-mcp repository. Independent of OpenCode, Pi, Google and YouTube. Support, privacy, terms.

The shared task catalog, examples and CLI guides generate the Skills. From the repository root run npm run sync:agent-skills, npm run check:agent-skills and npm run test:agent-skills.