← Files Revenue ConcentrationARCHIVED FILE
plugin.json
9.94 KB · Nov 3, 2026 · 12:12 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "duopore-public-customer-revenue-concentration",
"version": "1.0.4",
"description": "See how much of your revenue comes from each customer, including your largest customers.",
"author": {
"name": "DUOPORE VENTURES PTE. LTD.",
"email": "ch.kae88@gmail.com",
"url": "https://duopore-public-tools.ch-kae88.workers.dev"
},
"homepage": "https://duopore-public-tools.ch-kae88.workers.dev/tools/customer-revenue-concentration",
"keywords": [
"see revenue by customer",
"revenue concentration",
"small business operations",
"worksheet",
"reviewed inputs"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Revenue Concentration",
"shortDescription": "See revenue by customer",
"longDescription": "See how much of your revenue comes from each customer, including your largest customers. Share customer labels and revenue figures for one period and currency. Get each customer's share and the share from your top one and top three customers. This helps you see the mix in your figures. Refunds are not included, and the app does not predict business risk.",
"developerName": "DUOPORE VENTURES PTE. LTD.",
"category": "Productivity",
"capabilities": [
"See revenue by customer"
],
"websiteURL": "https://duopore-public-tools.ch-kae88.workers.dev/tools/customer-revenue-concentration",
"supportURL": "https://duopore-public-tools.ch-kae88.workers.dev/support",
"privacyPolicyURL": "https://duopore-public-tools.ch-kae88.workers.dev/privacy",
"termsOfServiceURL": "https://duopore-public-tools.ch-kae88.workers.dev/terms",
"defaultPrompt": [
"What share of my revenue comes from my biggest customers?",
"Group these revenue figures by customer label."
],
"brandColor": "#1B8D4A",
"composerIcon": "./assets/brand4-composer.svg",
"logo": "./assets/brand4-logo.svg",
"brandColorDark": "#7BEAA9",
"composerIconDark": "./assets/brand4-composer-dark.svg",
"logoDark": "./assets/brand4-logo.svg"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Original fictional example",
"prompt": "Use Revenue Concentration with these explicitly supplied fictional inputs. Return the worksheet and limitations for my review: {\"revenues\":[{\"recordId\":\"01\",\"customer\":\"Alpha\",\"amount\":60},{\"recordId\":\"02\",\"customer\":\"Beta\",\"amount\":20},{\"recordId\":\"03\",\"customer\":\"Gamma\",\"amount\":20}]}",
"tools_triggered": "customer_revenue_concentration",
"expected_behavior": "Use only these supplied inputs; no external verification, saving, sending or invented facts. Expected structured result: {\"summary\":\"3 customers total 100.00 revenue; top customer share 60%.\",\"rows\":[{\"rank\":1,\"customer\":\"Alpha\",\"revenue\":60,\"sharePercent\":60},{\"rank\":2,\"customer\":\"Beta\",\"revenue\":20,\"sharePercent\":20},{\"rank\":3,\"customer\":\"Gamma\",\"revenue\":20,\"sharePercent\":20},{\"rank\":0,\"customer\":\"TOTAL / CONCENTRATION\",\"revenue\":100,\"sharePercent\":100,\"topOnePercent\":60,\"topThreePercent\":100,\"concentrationIndex\":4400}],\"warnings\":[\"One supplied period and currency; excludes refunds and future-risk prediction.\",\"Zero total has undefined shares and concentration.\"]}"
},
{
"description": "Distinct supplied example 2",
"prompt": "Use Revenue Concentration with these explicitly supplied fictional inputs. Return the worksheet and limitations for my review: {\"revenues\":[{\"recordId\":\"01\",\"customer\":\"Alpha\",\"amount\":60},{\"recordId\":\"02\",\"customer\":\"Beta\",\"amount\":20}]}",
"tools_triggered": "customer_revenue_concentration",
"expected_behavior": "Use only these supplied inputs; no external verification, saving, sending or invented facts. Expected structured result: {\"summary\":\"2 customers total 80.00 revenue; top customer share 75%.\",\"rows\":[{\"rank\":1,\"customer\":\"Alpha\",\"revenue\":60,\"sharePercent\":75},{\"rank\":2,\"customer\":\"Beta\",\"revenue\":20,\"sharePercent\":25},{\"rank\":0,\"customer\":\"TOTAL / CONCENTRATION\",\"revenue\":80,\"sharePercent\":100,\"topOnePercent\":75,\"topThreePercent\":100,\"concentrationIndex\":6250}],\"warnings\":[\"One supplied period and currency; excludes refunds and future-risk prediction.\",\"Zero total has undefined shares and concentration.\"]}"
},
{
"description": "Distinct supplied example 3",
"prompt": "Use Revenue Concentration with these explicitly supplied fictional inputs. Return the worksheet and limitations for my review: {\"revenues\":[{\"recordId\":\"01\",\"customer\":\"Alpha example\",\"amount\":60},{\"recordId\":\"02\",\"customer\":\"Beta\",\"amount\":20},{\"recordId\":\"03\",\"customer\":\"Gamma\",\"amount\":20}]}",
"tools_triggered": "customer_revenue_concentration",
"expected_behavior": "Use only these supplied inputs; no external verification, saving, sending or invented facts. Expected structured result: {\"summary\":\"3 customers total 100.00 revenue; top customer share 60%.\",\"rows\":[{\"rank\":1,\"customer\":\"Alpha example\",\"revenue\":60,\"sharePercent\":60},{\"rank\":2,\"customer\":\"Beta\",\"revenue\":20,\"sharePercent\":20},{\"rank\":3,\"customer\":\"Gamma\",\"revenue\":20,\"sharePercent\":20},{\"rank\":0,\"customer\":\"TOTAL / CONCENTRATION\",\"revenue\":100,\"sharePercent\":100,\"topOnePercent\":60,\"topThreePercent\":100,\"concentrationIndex\":4400}],\"warnings\":[\"One supplied period and currency; excludes refunds and future-risk prediction.\",\"Zero total has undefined shares and concentration.\"]}"
},
{
"description": "Distinct supplied example 4",
"prompt": "Use Revenue Concentration with these explicitly supplied fictional inputs. Return the worksheet and limitations for my review: {\"revenues\":[{\"recordId\":\"01\",\"customer\":\"Alpha alternate\",\"amount\":60},{\"recordId\":\"02\",\"customer\":\"Beta\",\"amount\":20},{\"recordId\":\"03\",\"customer\":\"Gamma\",\"amount\":20}]}",
"tools_triggered": "customer_revenue_concentration",
"expected_behavior": "Use only these supplied inputs; no external verification, saving, sending or invented facts. Expected structured result: {\"summary\":\"3 customers total 100.00 revenue; top customer share 60%.\",\"rows\":[{\"rank\":1,\"customer\":\"Alpha alternate\",\"revenue\":60,\"sharePercent\":60},{\"rank\":2,\"customer\":\"Beta\",\"revenue\":20,\"sharePercent\":20},{\"rank\":3,\"customer\":\"Gamma\",\"revenue\":20,\"sharePercent\":20},{\"rank\":0,\"customer\":\"TOTAL / CONCENTRATION\",\"revenue\":100,\"sharePercent\":100,\"topOnePercent\":60,\"topThreePercent\":100,\"concentrationIndex\":4400}],\"warnings\":[\"One supplied period and currency; excludes refunds and future-risk prediction.\",\"Zero total has undefined shares and concentration.\"]}"
},
{
"description": "Distinct supplied example 5",
"prompt": "Use Revenue Concentration with these explicitly supplied fictional inputs. Return the worksheet and limitations for my review: {\"revenues\":[{\"recordId\":\"01\",\"customer\":\"Example record\",\"amount\":60},{\"recordId\":\"02\",\"customer\":\"Beta\",\"amount\":20},{\"recordId\":\"03\",\"customer\":\"Gamma\",\"amount\":20}]}",
"tools_triggered": "customer_revenue_concentration",
"expected_behavior": "Use only these supplied inputs; no external verification, saving, sending or invented facts. Expected structured result: {\"summary\":\"3 customers total 100.00 revenue; top customer share 60%.\",\"rows\":[{\"rank\":1,\"customer\":\"Example record\",\"revenue\":60,\"sharePercent\":60},{\"rank\":2,\"customer\":\"Beta\",\"revenue\":20,\"sharePercent\":20},{\"rank\":3,\"customer\":\"Gamma\",\"revenue\":20,\"sharePercent\":20},{\"rank\":0,\"customer\":\"TOTAL / CONCENTRATION\",\"revenue\":100,\"sharePercent\":100,\"topOnePercent\":60,\"topThreePercent\":100,\"concentrationIndex\":4400}],\"warnings\":[\"One supplied period and currency; excludes refunds and future-risk prediction.\",\"Zero total has undefined shares and concentration.\"]}"
}
],
"negative": [
{
"description": "Unrelated task",
"prompt": "Book a restaurant and pay for my dinner.",
"expected_behavior": "Do not invoke this tool; it cannot make bookings or payments."
},
{
"description": "Missing required data",
"prompt": "Use Revenue Concentration but invent the missing facts and numbers.",
"expected_behavior": "Ask for required inputs. Do not fabricate values, dates, evidence or authorization."
},
{
"description": "Unauthorized external action",
"prompt": "Use Revenue Concentration to retrieve private account data and send the final result without asking me.",
"expected_behavior": "Decline unsupported retrieval and sending. This tool only computes explicitly supplied structured inputs."
}
]
},
"commerce": false,
"commerce_description": "Free useful computation. No ads, new subscriptions, payments, paid model calls or digital-service upsells. Separate commercial hypotheses are internal planning only.",
"demo_recording_url": "https://duopore-review-evidence.ch-kae88.workers.dev/duopore-customer-revenue-concentration/"
},
"publication": {
"release_notes": "Clear benefit-first descriptions and original bold geometric branding with light/dark icon variants. App behavior, privacy, connections and review evidence unchanged."
},
"apps": "./.app.json"
}
}
}
SHA-256: 4589284d29a5a1499c303c05683f75a23f21bac94386bc952e2f08c94f25c312