Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add port-labs/port-skills --skill port-dashboard-pluginsgit clone --depth 1 https://github.com/port-labs/port-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/port-labs/port-skills/port-dashboard-plugins)<a href="https://agentmods.dev/skills/port-labs/port-skills/port-dashboard-plugins"><img src="https://agentmods.dev/badge/skills/port-labs/port-skills/port-dashboard-plugins/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/port-labs/port-skills/port-dashboard-plugins"><img src="https://agentmods.dev/badge/skills/port-labs/port-skills/port-dashboard-plugins.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00192 | $0.05043 |
| Opus 5 | $0.00096 | $0.02521 |
| Sonnet 5 | $0.00038 | $0.01009 |
| Haiku 4.5 | $0.00019 | $0.00504 |
Grade A, and why
port-dashboard-plugins scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 367 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Port custom plugin widgets
A Port custom plugin is a small React/TypeScript app that compiles to a
single self-contained dist/index.html and runs inside an <iframe> on a
dashboard or entity page. Port and the plugin talk over window.postMessage
only: the plugin never gets direct DOM access to the host page, and the
host never runs the plugin's code outside the iframe sandbox. This skill is
reference-only: static knowledge of the SDK, the host bridge protocol, and
the upload CLI, drawn from @port-labs/plugins-sdk, @port-labs/port-plugins-cli,
and Port's plugins docs. It doesn't need a live Port account or MCP server
to scaffold and build a plugin, only a real account to upload and view it.
Out of scope: Port's built-in dashboard widget types (tables, number
charts, pie charts, and the rest) need no custom code at all, that's the
parent port-dashboards skill. Ocean integrations (data
ingestion into the context lake) are a different system with a different SDK.
Blueprint and property modeling with no widget implementation is owned by
port-blueprints; this skill only covers how a plugin reads that schema at
design time and at runtime.
Skill class
Reference skill: the SDK contract, hooks-order rule, and webpack safety
patches below are static platform rules, not something a live account
changes. Context lake design (which blueprint or relation a plugin should read)
benefits from the Port MCP server
(list_blueprints, upsert_blueprint) as an optional, design-time-only
enhancement, never call MCP from inside plugin runtime code. Without MCP,
use the Port UI's blueprint builder, or GET /v1/blueprints /
GET /v1/blueprints/{identifier} directly.
Prerequisites
- Go over the
port-getting-startedskill first if this is your first time working with Port. - Node.js >= 20.
- A Port account with permission to add custom plugins (admin, in most
organizations). Search
search_port_knowledge_sourcesfor anything this skill doesn't cover. @port-labs/port-plugins-clifor uploading the built plugin (npm install -g @port-labs/port-plugins-cliornpx), with aclient_id/client_secretpair from ... menu > Credentials in the Port app.- Read access to the target blueprint's schema, from the Port UI, the API,
or MCP if connected, before writing
upload-params.json.
What ships with it
15 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/template-App.css 6.5 KB
- assets/template-App.tsx 2.0 KB
- assets/template-config.ts 1.9 KB runs code
- assets/template-index.html 249 B
- assets/template-index.tsx 428 B
- assets/template-package.json 951 B
- assets/template-README.md 6.0 KB
- assets/template-resolveHostEntity.ts 859 B runs code
- assets/template-tsconfig.json 256 B
- assets/template-types.ts 944 B runs code
- assets/template-upload-params.json 107 B
- assets/template-usePostMessageData.ts 2.6 KB runs code
- assets/template-useScrollMirror.ts 2.2 KB runs code
- assets/template-webpack.config.js 1.7 KB runs code
- assets/webpack/lodash-root-shim.js 343 B runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 367 lines · 192 tokens per session scan A cddeabf062b0
port-dashboard-plugins is a skill published in the GitHub repository port-labs/port-skills (3 stars, last pushed 9d ago), licensed MIT. It adds 192 tokens to every session and 5,043 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
effect-best-practices
Enforces Effect-TS patterns for services, errors, layers, and atoms. Use when writing code with Effect.Service, Schema.TaggedError, Layer composition, or effect-atom React components.
effector-ecosystem
Use when designing, reviewing, generating, or refactoring React applications built with Effector, effector-react, Farfetched, Atomic Router, @effector/next, patronum, effector-storage, forms, i18n, testing, and related Effector ecosystem tooling. For Feature-Sliced Design project structure and placement decisions, use…
react-bits
Use when adding an animated UI component, text effect, cursor/hover effect, or WebGL/canvas background to a React project via React Bits (reactbits.dev) — or when asked to recall/write a React Bits component's code, props, or install steps from memory instead of fetching it.
chakra-ui-builder
Build responsive, accessible UI components and layouts using Chakra UI v3, install or configure Chakra UI in new and existing projects, and design scalable themes using tokens, semantic tokens, recipes, and slot recipes. Use this skill whenever a user asks to build, create, or generate any UI component, page, form…
material-ui-tailwind
Integrates Material UI with Tailwind CSS v4 using cascade layers (enableCssLayer, @layer order) and documents Tailwind v3 interoperability (preflight, important, injectFirst, portals). Use when combining MUI with Tailwind utilities, slotProps className, or theme token bridges.
fuzzy-ranking
Rank fuzzy matches with rankItem, filter with RankingInfo.passed, compare saved ranking metadata with compareItems, and configure rankings, thresholds, accessors, min/max bounds, or diacritics. Load for @tanstack/match-sorter-utils itself or fuzzy Table filterMeta wiring.