You built something useful. A workflow that automates code reviews. A prompt chain that writes better cold emails. A data enrichment skill that saves hours of manual scraping.
Right now that capability lives in your local directory. Maybe a GitHub repo. It works for you, and that's it.
What if it worked for a thousand agents — and you got paid every time one installed it?
PackDrop turns your AI expertise into a product. You package it, set a price, publish it, and the marketplace handles discovery, payments, and delivery. This guide walks you through the entire seller flow, from zero to published pack.
Why Sell Packs
The AI agent ecosystem is growing faster than the tooling around it. Developers build agents that can reason, plan, and execute — but those agents constantly need new capabilities. Someone has to build them.
That someone gets paid.
The economics are simple: you spend a few hours packaging work you've already done. Once it's published, every install is passive revenue. No customer support calls. No deployment ops. No SLAs. The marketplace handles distribution, payments, and delivery.
If you've built a useful agent skill, workflow, or tool, you're sitting on inventory. Time to sell it.
Step 1: Create Your Seller Profile
Everything starts with packdrop seller init. This creates your seller identity on the marketplace:
packdrop seller init? Display name: DataPipe Co
? Bio: We build automation tools for data-driven teams
? Website (optional): https://datapipe.dev
✓ Seller profile created!
Username: datapipeco
Display name: DataPipe Co
Status: active
Public profile: https://packdrop.polsia.app/seller/datapipecoYour seller profile is public — buyers see your display name, bio, and catalog of published packs. A strong profile builds trust. Use a real name or company name. Write a bio that signals expertise.
Check your profile anytime with:
packdrop seller status --json{
"username": "datapipeco",
"display_name": "DataPipe Co",
"bio": "We build automation tools for data-driven teams",
"website": "https://datapipe.dev",
"total_packs": 0,
"total_revenue_cents": 0,
"status": "active"
}Zero packs, zero revenue. Let's fix that.
Step 2: Package Your Work
A pack is a bundle of assets — code, prompts, configs — wrapped in a structured manifest. The manifest tells agents exactly what the pack does, what it needs, and how to install it.
Create a new pack:
packdrop pack create \
--name "Sales Pipeline Automator" \
--type workflow \
--category automation \
--description "Build and execute multi-step sales pipelines with automatic follow-up scheduling and CRM sync" \
--tags "sales,automation,crm,pipeline" \
--json{
"id": 42,
"name": "Sales Pipeline Automator",
"slug": "sales-pipeline-automator",
"type": "workflow",
"category": "automation",
"version": "1.0.0",
"status": "draft",
"manifest": {
"entry": "main.js",
"capabilities": [],
"requirements": [],
"compatibility": [],
"permissions": [],
"assets": []
}
}The pack starts in draft status. You can update the manifest before publishing.
What Goes in a Pack
Packs support five asset types:
| Type | Purpose | Example | |------|---------|---------| | tool | Executable code an agent calls | pipeline.js, scraper.py | | prompt | System prompts or prompt chains | prompts/sales-follow-up.md | | config | Configuration files or templates | connectors/hubspot.json | | knowledge | Reference data or documentation | data/industry-benchmarks.csv | | schema | API schemas or type definitions | schemas/pipeline-input.json |
A good pack bundles everything an agent needs to gain a new capability. Don't make the buyer assemble pieces from five different sources.
The Manifest
The manifest is the machine-readable contract between your pack and the agent installing it. Here's a complete example:
{
"entry": "pipeline.js",
"capabilities": [
"pipeline.create",
"pipeline.execute",
"pipeline.schedule_followup",
"crm.sync_contacts"
],
"requirements": ["crm_api_key"],
"compatibility": ["claude-code", "cli-agents", "api-agents"],
"permissions": ["network", "filesystem.read"],
"assets": [
{ "path": "pipeline.js", "type": "tool" },
{ "path": "prompts/follow-up-sequence.md", "type": "prompt" },
{ "path": "connectors/hubspot.json", "type": "config" },
{ "path": "schemas/pipeline-input.json", "type": "schema" }
],
"install": {
"method": "copy",
"target": ".packdrop/packs/sales-pipeline-automator"
}
}Key fields:
capabilities— What the agent gains by installing your pack. Be specific.pipeline.createis better thanpipeline.requirements— External dependencies the buyer needs. OAuth tokens, API keys, or other packs.compatibility— Which agent runtimes your pack supports. Agents filter by this field during discovery.permissions— What access your pack needs. Network, filesystem, or specific APIs. Transparency builds trust.
Step 3: Set Pricing
PackDrop supports free and paid packs. Your pricing decision depends on the value you're delivering:
| Strategy | When to Use | Range | |----------|-------------|-------| | Free | Building audience, simple utilities, open-source ethos | $0 | | Paid | Significant time savings, proprietary logic, production-ready | $4.99 – $29.99 |
Set or update pricing with:
packdrop pack update-price sales-pipeline-automator --price 19.99✓ Price updated: sales-pipeline-automator → $19.99Pricing advice: price based on the time your pack saves, not the time it took to build. A workflow that saves an agent developer 4 hours of integration work is worth $19.99, even if you wrote it in an afternoon.
Free packs are a legitimate strategy. They build your seller reputation, drive traffic to your profile, and make buyers more likely to trust your paid offerings.
Step 4: Publish
Draft packs are invisible to buyers. Publishing makes your pack live in the marketplace — searchable, viewable, and purchasable:
packdrop pack publish sales-pipeline-automator --json{
"slug": "sales-pipeline-automator",
"status": "published",
"version": "1.0.0",
"published_at": "2026-04-09T10:30:00.000Z",
"message": "Pack is now live in the marketplace"
}That's it. Your pack is live. Agents can find it via packdrop search, view the manifest, and install it.
Version Management
Ship updates without breaking existing installs:
packdrop pack version sales-pipeline-automator --bump minor --json{
"slug": "sales-pipeline-automator",
"previous_version": "1.0.0",
"new_version": "1.1.0",
"message": "Version bumped successfully"
}Versioning follows semver:
- Patch (
--bump patch): Bug fixes, typo corrections.1.0.0→1.0.1 - Minor (
--bump minor): New capabilities added, backward compatible.1.0.0→1.1.0 - Major (
--bump major): Breaking changes to the manifest contract.1.0.0→2.0.0
Agents check version compatibility before installing. A clear versioning history signals a maintained, trustworthy pack.
Step 5: Track Revenue
Once sales start flowing, track everything from the CLI:
packdrop revenue --json{
"total_revenue_cents": 15994,
"total_sales": 12,
"period": "all",
"by_pack": [
{
"slug": "sales-pipeline-automator",
"name": "Sales Pipeline Automator",
"revenue_cents": 11994,
"sales_count": 8
},
{
"slug": "quick-data-enricher",
"name": "Quick Data Enricher",
"revenue_cents": 4000,
"sales_count": 4
}
]
}Filter by time period:
# Last 7 days
packdrop revenue --period 7d --json
# Last 30 days
packdrop revenue --period 30d --jsonRevenue is tracked per pack, so you can see which products are performing and double down on what's working.
Best Practices for Sellers
After watching the first wave of packs come through, a few patterns separate the ones that sell from the ones that don't:
Write descriptions for agents, not humans. Your pack description gets parsed by AI agents during discovery. Include specific capability names, compatible runtimes, and concrete use cases. "Automates multi-step sales follow-up sequences with HubSpot CRM sync" beats "Great sales tool!"
Declare compatibility tags. Agents filter search results by the compatibility array in your manifest. If you don't declare compatibility, agents won't find you. Test your pack on each runtime you claim to support.
Start with one pack, do it well. A single polished pack with clear capabilities, documented requirements, and a reasonable price will outperform five half-baked ones. Depth over breadth.
Use semantic versioning honestly. Agents that rely on your pack will check version changes before updating. If you ship a breaking change as a patch, you'll break trust — and agents won't install your packs again.
Price confidently. Free is fine as a strategy, but don't undercharge for real value. A pack that saves an hour of work every time it runs is worth more than $4.99.
Fill your manifest completely. Every empty field in your manifest is a question an agent can't answer. Capabilities, requirements, permissions, compatibility — fill them all. The more information you provide, the more likely an agent is to choose your pack over a competitor's.
The Seller Flywheel
Here's what makes this interesting: every seller is also a potential buyer.
You publish a sales automation pack. Another developer publishes a CRM data enrichment pack. You install theirs to make yours better. They install yours to complement their workflow. Both packs get more installs, more reviews, more revenue.
The marketplace grows from both sides simultaneously. More sellers attract more buyers. More buyers attract more sellers. Your pack's value increases as the ecosystem around it expands.
The whole thing starts with one command: packdrop seller init.
PackDrop is the agent-first marketplace for AI capability packs. Start selling: packdrop seller init. Browse the catalog at packdrop.polsia.app.