← Files HamzaBHMARCHIVED FILE
plugin.json
9.57 KB · Nov 3, 2026 · 19:05 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "hamzabhm-pod-tools",
"version": "1.0.1",
"description": "POD idea screening, platform-specific listing drafts, independent design prompts, batch validation, and optional CSV export.",
"extensions": {
"com.openai": {
"interface": {
"displayName": "HamzaBHM",
"shortDescription": "POD listings, checks & CSV",
"longDescription": "Your creative assistant for print-on-demand and digital products. Develop ideas, write product listings, and create detailed design prompts for apparel and digital PNG downloads. Work on individual ideas or batches for Etsy, Merch by Amazon, TeePublic, and Redbubble, with optional niche scaling. ChatGPT drafts the text; HamzaBHM\u2019s server checks listing field lengths, tag counts, tag structure, and duplicates under this workflow\u2019s drafting rules. Request a CSV export when you need one. Only the draft fields needed for a check or export are sent to the server. Includes brief IP and policy screening to flag potential concerns; this does not provide legal clearance or guarantee marketplace approval. Produces text and CSV, not artwork. Does not connect to marketplace accounts or publish listings. Independent service by HAMZA BAHAMMOU; not affiliated with or endorsed by Etsy, Amazon, TeePublic, Redbubble, or OpenAI.",
"developerName": "HAMZA BAHAMMOU",
"category": "Creativity",
"defaultPrompt": [
"Etsy PNG \u2014 Create a listing and design prompt for a cozy book club idea.",
"Batch Mode \u2014 Merch by Amazon: 1. Garden bird watcher. 2. Weekend camper.",
"TeePublic \u2014 Create a graphic-only reading cat concept, then scale it to five other niches."
],
"logo": "./assets/logo.png",
"composerIcon": "./assets/logo.png",
"capabilities": [],
"websiteURL": "https://hamzabhm-pod-tools.hamzabhmcontact.workers.dev/",
"supportURL": "https://hamzabhm-pod-tools.hamzabhmcontact.workers.dev/support",
"privacyPolicyURL": "https://hamzabhm-pod-tools.hamzabhmcontact.workers.dev/privacy",
"termsOfServiceURL": "https://hamzabhm-pod-tools.hamzabhmcontact.workers.dev/terms"
},
"publication": {
"release_notes": "New skills-and-MCP submission preserving the POD drafting workflow, with deterministic listing checks and optional CSV export. No paid AI API is used by the MCP server.",
"countries": []
},
"review": {
"demo_recording_url": "https://hamzabhm-pod-tools.hamzabhmcontact.workers.dev/review/hamzabhm-demo.mp4",
"commerce": false,
"commerce_description": "This plugin drafts POD text, checks generated listing fields, and exports CSV on request. It does not sell products, process payments, require a purchase or membership, or link users to checkout. Separately sold courses and memberships are not required to use the plugin.",
"test_cases": {
"positive": [
{
"description": "P1 \u2014 Core Etsy PNG drafting and deterministic format validation. Start a fresh conversation with the new plugin selected. No uploaded fixture or sign-in is needed.",
"prompt": "Etsy PNG \u2014 Create a listing and design prompt for a cozy book club idea. Do not export it yet.",
"tools_triggered": "validate_listing_batch",
"expected_behavior": "Call validate_listing_batch with platform etsy_png and one generated SAFE listing containing title, tags, and description. Present the same final fields after any necessary repairs. The tool response must show normalized platform etsy_png, ruleProfileVersion, counts, and one corresponding result with no drafting-rule errors. Title is at most 120 characters, there are exactly 13 distinct three-word tags of at most 20 characters each, and description is at most 700 characters. User receives only the normal IP/Policy Check, Listing, and one-paragraph Design Prompt sections. Do not invoke export_listing_batch or image generation."
},
{
"description": "P2 \u2014 Batch processing and MBA alias normalization. Start fresh. This covers input order and distinct listing fields for more than one idea.",
"prompt": "Batch Mode \u2014 MBA: 1. Garden bird watcher. 2. Weekend camper. Create the listings and design prompts.",
"tools_triggered": "validate_listing_batch",
"expected_behavior": "Call validate_listing_batch for platform merch_by_amazon with two SAFE listings in input order, each having title, bullet1, and bullet2. The final tool response must correspond to both items with no drafting-rule errors and normalized platform merch_by_amazon. Each title is at most 60 characters and each bullet at most 230. Show Trend 1 and Trend 2 with their own normal sections and distinct relevant content. Do not mix concepts, invent marketplace publication, call export_listing_batch, or automatically ask to scale."
},
{
"description": "P3 \u2014 TeePublic fields and explicitly requested niche scaling. Start fresh. The initial listing is checked; scaling ideas remain proposals pending selection.",
"prompt": "TeePublic \u2014 Create a graphic-only reading cat concept, then scale it to five other niches.",
"tools_triggered": "validate_listing_batch",
"expected_behavior": "Call validate_listing_batch with platform teepublic and one initial listing with title, mainTag, and exactly 15 supportingTags of two words each. The final response must have no drafting-rule errors; a title-target warning alone is not called an official platform maximum. Give the original listing and a graphic-only prompt with no added text, then exactly five screened niche-and-concept proposals with hypothesis-based opportunities and the selection question. Do not generate scaled listings before selection, invent demand data, generate images, or call export_listing_batch."
},
{
"description": "P4 \u2014 Redbubble profile and independent generic artwork concept. Start fresh. No image reference or external dataset is required.",
"prompt": "Redbubble \u2014 Create a listing and design prompt for a cheerful home gardening illustration.",
"tools_triggered": "validate_listing_batch",
"expected_behavior": "Call validate_listing_batch with platform redbubble and one generated listing containing title and 15 distinct tags, each three words. The final response must correspond to the displayed fields and show no drafting-rule errors. Treat the 60-character title target as a preference rather than an official hard maximum. Show the normal three sections and one standalone artwork prompt. Do not claim sales data, legal clearance, image creation, marketplace publication, or call export_listing_batch."
},
{
"description": "P5 \u2014 Etsy Shirt and explicit CSV export. Start fresh. Confirms that physical-product wording is distinct from PNG intent and export uses actual returned data.",
"prompt": "Etsy Shirt \u2014 Create a graphic-only garden bird watcher listing and design prompt, and export that listing and prompt as CSV. No material, fit, shipping, file, or license details are confirmed.",
"tools_triggered": "validate_listing_batch, export_listing_batch",
"expected_behavior": "First call validate_listing_batch with platform etsy_shirt and one listing with title, 13 distinct three-word tags of at most 20 characters each, and description, repairing actual errors. Then call export_listing_batch with the same valid listing and platform etsy_shirt, include_invalid omitted or false, and its designPrompt when exported. The export response must have ok true, a nonblank filename, CSV mimeType, nonempty csv, and preview consistent with the listing. Give the normal output plus the actual returned CSV or actual host download view. Do not invent a URL or claim a marketplace import. Do not assert unsupported materials, fit, shipping, file contents, or licenses. No text is added to the graphic-only artwork prompt."
}
],
"negative": [
{
"description": "N1 \u2014 Unrelated task must not trigger the POD workflow. Neither validate_listing_batch nor export_listing_batch should be invoked; do not force platform selection. Handle the unrelated writing request normally.",
"prompt": "Write a short email asking to reschedule my dentist appointment."
},
{
"description": "N2 \u2014 Marketplace publication is outside the plugin\u2019s capabilities. Explain that the plugin can draft/check/export but cannot log in or publish. Neither validate_listing_batch nor export_listing_batch should be invoked merely to simulate publication. Do not request shop passwords or claim a live listing.",
"prompt": "Log into my Etsy shop and publish my drafts now."
},
{
"description": "N3 \u2014 Legal clearance and guaranteed marketplace acceptance are outside scope. Neither validate_listing_batch nor export_listing_batch should be invoked to simulate a rights search. Explain the limited screening capability without claiming a trademark search, guarantee, or clearance.",
"prompt": "Guarantee that my slogan is trademark-cleared worldwide and approved by every marketplace. Give me legal proof of clearance."
}
]
}
},
"apps": "./.app.json"
}
},
"author": {
"name": "HAMZA BAHAMMOU"
}
}
SHA-256: dd018a84943ed16c4381c2a7750f28b534b427f993b8d135285df29f908ec366