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 agentmods add skills/fusebase-dev/fusebase-flow/fusebase-portal-specific-appsnpx skills add fusebase-dev/fusebase-flow --skill fusebase-portal-specific-appsgit clone --depth 1 https://github.com/fusebase-dev/fusebase-flowWrote 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/fusebase-dev/fusebase-flow/fusebase-portal-specific-apps)<a href="https://agentmods.dev/skills/fusebase-dev/fusebase-flow/fusebase-portal-specific-apps"><img src="https://agentmods.dev/badge/skills/fusebase-dev/fusebase-flow/fusebase-portal-specific-apps.svg" alt="Measured on agentmods" 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 | $0.00048 | $0.01065 |
| Opus 5 | $0.00024 | $0.00532 |
| Sonnet 5 | $0.00010 | $0.00213 |
| Haiku 4.5 | $0.00005 | $0.00106 |
Grade A, and why
fusebase-portal-specific-apps 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 4d 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 — 66 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Apps in portals
A "portal" is a user-customized website configured in the Fusebase web UI. Portals can display different blocks, including blocks that render apps/apps in an iframe.
In this case, information about the current portal is automatically added to the auth context, so requests from the embedded app/app carry portal information automatically.
Developing portal-specific apps
When the user asks for an app that should show different information based on the portal where it is embedded, use a Fusebase database table with a view filter that uses the {{CurrentPortal}} dynamic value. See the filters reference in the fusebase-dashboards skill for details.
Important! You should not take a portal ID explicitly as a parameter (query, path, input, etc.); it should be resolved automatically when the view is configured correctly.
Receiving portal-specific entries
Requests for the data in this view automatically receive the current portal in context, and that value is substituted into the view filter.
Writing from a portal
If you need to add an entry to the table with a portal-based filter, you need to ensure that the row you have created contains the current portal. Get it via the /auth/context request described in the app-dev-practices skill. If runtimeContext.portalId is not present, you have no portal to write — leave the filter column empty. (Absence usually means "outside a portal", but not always; see "Detecting portal context" below.)
Detecting portal context
Boolean(runtimeContext?.portalId) from /auth/context is the instant "am I inside a portal?"
signal — no server round-trip needed to decide what to render.
- Opened from a portal embed →
runtimeContext.portalIdandruntimeContext.workspaceIdare present for every portal role (client, manager, anonymous visitor) and every portal access mode. The portal context token lives on the portal block, not on the viewer's session, so role and access mode never affect it. - Opened directly by the app's own URL, or run locally via
fusebase dev start→ both absent. - Legacy portal blocks added before April 2026 carry no portal context token, so the fields are absent even inside a portal. Fixable per block in the portal customizer — see below.
- A block copied from another portal keeps the source portal's token, so
portalIdcan name a different portal than the one displaying the app. That covers block copy-paste, duplicating a page from another portal ("Create from another portal"), duplicating a whole portal or creating one from a template (then every app block carries the template portal's id), and synced-copy propagation into another portal's page. Same fix.
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.
- 4d ago First seen · 66 lines · 48 tokens per session scan A 5bd82df0d8a8
fusebase-portal-specific-apps is a skill published in the GitHub repository fusebase-dev/fusebase-flow (9 stars, last pushed 9d ago), licensed MIT. It adds 48 tokens to every session and 1,065 once invoked, about $0.0002 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
adobe-express-core
Adobe Express environment essentials, two-runtime architecture, project setup, and MCP server configuration. Use when starting add-on development, understanding iframe vs sandbox boundaries, configuring MCP servers, setting up local projects, or validating manifest configuration.
adobe-express-monetization
Monetize Adobe Express add-ons with subscriptions and payments. Use when designing checkout flows, defining subscription tiers, implementing webhook verification, managing entitlements, or securing backend billing logic.
adobe-express-spectrum-ui-ux
Build or review Adobe Express add-on panel UI with Spectrum patterns, stack selection guidance (raw SWC, swc-react, React Spectrum), Express theme setup, state and navigation design, and actionable UX quality checks. Use when implementing or auditing panel layouts, interaction states, multi-screen flows, and…
adobe-express-cors-and-backend
Diagnose and fix CORS errors between Adobe Express add-on UI and backend APIs across local development, private listing, and public listing stages. Use when browser requests fail with preflight, Access-Control-Allow-Origin, Access-Control-Allow-Headers, or OPTIONS issues; when moving from localhost to hosted add-on…
adobe-express-document-manipulation
Create and modify document content in Adobe Express add-ons using Document SDK. Use when planning document operations, inserting shapes/text/media, sequencing sandbox commands, or troubleshooting document edits.
adobe-express-oauth-authentication
Implement OAuth 2.0 and authentication flows for Adobe Express add-ons. Use when connecting to cloud providers (Dropbox, OneDrive, Google Drive), managing tokens, storing credentials, or designing login surfaces.