Frontmcp Auth UI
agentfront/frontmcp
A skill your agent uses when customizing, branding, or replacing the built-in FrontMCP OAuth pages (the login, consent, federated-select, incremental-authorization, and error pages) with your own…
A skill your agent uses when writing or fixing the server-side code of a Workfront App Builder extension — the Adobe I/O Runtime action the React SPA calls to do work the browser can't.
$ npx skills add adobe/skills --skill workfront-actions -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install adobe/skills workfront-actions --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/app-builder/skills/appbuilder-workfront/workfront-actions .claude/skills/workfront-actions && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "workfront-actions" agent skill from https://github.com/adobe/skills/tree/main/plugins/app-builder/skills/appbuilder-workfront/workfront-actions into .claude/skills/workfront-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workfront-actions", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/adobe/skills/tree/main/plugins/app-builder/skills/appbuilder-workfront/workfront-actionsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add adobe/skills --skill workfront-actions -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install adobe/skills workfront-actions --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/app-builder/skills/appbuilder-workfront/workfront-actions .agents/skills/workfront-actions && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "workfront-actions" agent skill from https://github.com/adobe/skills/tree/main/plugins/app-builder/skills/appbuilder-workfront/workfront-actions into .agents/skills/workfront-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workfront-actions", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add adobe/skills --skill workfront-actions -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install adobe/skills workfront-actions --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/app-builder/skills/appbuilder-workfront/workfront-actions .cursor/skills/workfront-actions && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "workfront-actions" agent skill from https://github.com/adobe/skills/tree/main/plugins/app-builder/skills/appbuilder-workfront/workfront-actions into .cursor/skills/workfront-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workfront-actions", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/adobe/skills.git --path plugins/app-builder/skills/appbuilder-workfront/workfront-actions--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add adobe/skills --skill workfront-actions -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install adobe/skills workfront-actions --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/app-builder/skills/appbuilder-workfront/workfront-actions .gemini/skills/workfront-actions && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "workfront-actions" agent skill from https://github.com/adobe/skills/tree/main/plugins/app-builder/skills/appbuilder-workfront/workfront-actions into .gemini/skills/workfront-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workfront-actions", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install adobe/skills workfront-actionsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add adobe/skills --skill workfront-actions -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/app-builder/skills/appbuilder-workfront/workfront-actions .github/skills/workfront-actions && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "workfront-actions" agent skill from https://github.com/adobe/skills/tree/main/plugins/app-builder/skills/appbuilder-workfront/workfront-actions into .github/skills/workfront-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workfront-actions", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add adobe/skills --skill workfront-actions -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install adobe/skills workfront-actions --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/app-builder/skills/appbuilder-workfront/workfront-actions .opencode/skills/workfront-actions && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "workfront-actions" agent skill from https://github.com/adobe/skills/tree/main/plugins/app-builder/skills/appbuilder-workfront/workfront-actions into .opencode/skills/workfront-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workfront-actions", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
workfront-actionsA skill your agent uses when writing or fixing the server-side code of a Workfront App Builder extension — the Adobe I/O Runtime action the React SPA calls to do work the browser can't.
Workfront Actions is an agent skill from adobe/skills. Use when writing or fixing the server-side code of a Workfront App Builder extension — the Adobe I/O Runtime action the React SPA calls to do work the browser can't. Reach for this whenever the user is: structuring or editing action code; deciding what shape an action returns so the frontend can tell success from failure (the {data,error} body); passing the IMS token through and calling an external API from the backend so credentials never reach the browser; calling Workfront's own Public API v21 (search/count…
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files and assets (for example `assets/action-boilerplate.js`, `evals/evals.json` and `references/integrations.md`).
It sits in Backend & APIs, covering Backend development. It works with React. The repository describes itself as: Adobe Skills for Agents. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit cbc9952. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (JavaScript), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Workfront Actions loads about 1.8k tokens when it runs, and up to ~2.6k if it reads all its reference files. Until then it costs about 249 tokens; SKILL.md has 812 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
env is empty once deployed — inputs flow .env → config inputs → params). Also covers CommonJS-only structure, require-ad- **Inputs flow `.env` → action `inputs` (in config) → `params`. Do NOT read `process.env` at runtime.** Under `aio appAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from adobe/skills at commit cbc9952, republished under its Apache-2.0 licence (© adobe). 812 words, ~1,834 tokens.
.claude/skills/workfront-actions/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Actions are the back end — small functions Adobe runs in its cloud on demand ("serverless"; Adobe I/O Runtime, built on OpenWhisk). The front end (SPA, see workfront-ui-extension) calls them via actionWebInvoke; they hold the credentials and call external APIs. The browser must never call Workfront/Adobe APIs directly — that is the action's job, so login tokens never reach the user's browser.
For generic action patterns and templates (webhook receiver, database CRUD, custom event provider, journaling consumer, large-payload redirect, action sequence, Asset Compute worker) and the App Builder SDKs (State/Files/Events/DB), use
appbuilder-action-scaffolder. This skill is the Workfront-specific layer: the{data,error}contract, IMS passthrough, and Workfront's own Public API.
actions/<name>/index.js # exports main(params)exports.main. (App Builder supports only CommonJS, not ES Modules.)app.config.yaml, or in an extension's ext.config.yaml (which compiles into app.config.yaml), following the OpenWhisk wskdeploy YAML spec.async function main (params) {
// ...
return { statusCode: 200, body: { data, error: null } }
}
exports.main = mainAlways return { data, error } in the body; the UI checks error before using data.
return { statusCode: 400, body: { data: null, error: 'missing parameter(s) ...' } }require-adobe-auth is a per-action choice, off by default (the platform default) — decide deliberately, don't blanket-enable it. When true, Adobe validates the user's IMS token at the gateway before your code runs.imsToken to Workfront/Planning, which rejects bad tokens — or unless explicitly asked to enable it.imsToken (→ Authorization: Bearer …) and the Workfront instance URL as params; never hardcode them.auth.imsOrgID (capital ID — not imsOrgId/imsOrg; that casing trap costs hours). The front end reads sharedContext.get('auth').imsOrgID and passes it down; the action uses params.imsOrgId / the x-gw-ims-org-id header. Two traps: (1) reject the strings "undefined"/"null"/empty — an empty front-end value becomes the header string "undefined" (→ 401 "Org Id undefined is not in the list of user org Ids"); (2) with require-adobe-auth: true the gateway validates the org header before your code runs..env → action inputs (in config) → params. Do NOT read process.env at runtime. Under aio app dev actions run in-process, so process.env may appear to work locally but will be empty once deployed. Wire keys/secrets as inputs and read them from params.For any API — Workfront, Planning, Adobe services:
imsToken plus any apiKey / IDs as params.fetch the public REST endpoint with Authorization: Bearer <imsToken> (add x-api-key / x-gw-ims-org-id where required).{ data, error }. Never log the token.references/integrations.md); if it isn't connected, stop and tell the user to connect the Workfront MCP before continuing. Other Adobe services → references/integrations.md. Confirm endpoints from the live source rather than guessing.Workfront's own REST API — the /attask/api/v21.0 layer. Call it from an action (never from the SPA).
{workFrontInstanceUrl}/attask/api/v21.0{path} — a single version constant. workFrontInstanceUrl and imsToken arrive as params (never hardcoded).{ data, error }.DE: fields need {field}_Mod=notblank on search/count, or they are silently omitted from results.PUT /{obj}?updates=[...] (the updates array in the query string) — chunk requests to stay under the ~8 KB URL-length limit; fall back to per-record PUT /{obj}/{ID} when a chunk is still too long.wfFetch helper; register the action in app.config.yaml; the SPA reaches it via actionWebInvoke only.The action the SPA calls via actionWebInvoke is a web action, so it's bound by Adobe I/O Runtime's 60 s cap on web/blocking actions — raising limits.timeout doesn't lift it (full limits table in appbuilder-action-scaffolder). So don't fetch or process a big dataset in one call: page Workfront search and chunk bulk-PUT work across multiple actionWebInvoke calls (see Workfront Public API v21.0 above), and show partial progress from the UI. A user-facing timeout is a candidate action-timeout, but can equally be a slow CDN/static load, cold start, or downstream API — check aio app logs before concluding.
aio app add action (or hand-create actions/<name>/index.js).app.config.yaml / ext.config.yaml with a runtime kind (e.g. runtime: nodejs:20) and its inputs; set require-adobe-auth per the Auth & inputs rule above. runtime is mandatory — deploy fails with Invalid or missing property "runtime" without it (and, when require-adobe-auth is on, the same error fires on the generated __secured_<action> wrapper).workfront-ui-extension.test/actions/; run aio app test. View logs with aio app logs (command catalog: appbuilder-workfront → references/commands.md).aio app deploy. A ready-to-edit starting point is in assets/action-boilerplate.js.© adobe, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references, assets) in plugins/app-builder/skills/appbuilder-workfront/workfront-actions of adobe/skills.
Open the folder on GitHubat commit cbc9952
Workfront Actions next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Workfront Actions this skilladobe/skills | 195 | — | ~1.8k | Automated safety check: Notes | Apache-2.0 | |
| Frontmcp Auth UIagentfront/frontmcp | 146 | — | ~3.7k | Automated safety check: Pass | Apache-2.0 | |
| Laravel Inertia React Structurefreekmurze/dotfiles | 1k | — | ~1k | Automated safety check: Pass | None | |
| Twenty Syncable Entity Cache and Transformtwentyhq/twenty | 58k | — | ~2.4k | Automated safety check: Pass | Custom licence | |
| Livewire Developmentcoollabsio/coolify | 63k | — | ~964 | Automated safety check: Pass | MIT | |
| Livewire Developmentyungifez/skuul | 409 | 1 repos | ~1.9k | Automated safety check: Pass | MIT |
agentfront/frontmcp
A skill your agent uses when customizing, branding, or replacing the built-in FrontMCP OAuth pages (the login, consent, federated-select, incremental-authorization, and error pages) with your own…
freekmurze/dotfiles
Frontend structure conventions for Laravel Inertia React applications based on Spatie's production practices.
twentyhq/twenty
Walks through step 2 of adding a syncable entity to the Twenty server: a cache service for flat entity maps and utilities that transform entities and DTOs into universal flat entities.
coollabsio/coolify
A skill your agent uses for any task or question involving Livewire.
yungifez/skuul
A skill your agent uses for any task or question involving Livewire.
slimani-dev/muraqib
A skill your agent uses for Laravel Wayfinder which auto-generates typed functions for Laravel controllers and routes.
adobe/skills
Scaffolds, implements, deploys and debugs Adobe Runtime actions in App Builder projects, with templates for webhooks, events, database CRUD, sequences and Asset Compute workers.
adobe/skills
Launches Chrome with an unpacked extension over CDP, opens its sidepanel, popup or options page, and hands over to cdp-connect for clicks, typing and screenshots.
adobe/skills
Extracts icons, metadata, text, forms, videos and social links from any web page with playwright-cli, with SVG icon classification and cleanup.
adobe/skills
Detect all languages used on a webpage — both declared (html@lang, hreflang alternate links, nested lang= attributes, meta content-language) and actually present in the body text (Google CLD3 via…
adobe/skills
Prepare any webpage for clean interaction by detecting and removing disruptive overlays (cookie banners, GDPR consent, modals, popups, newsletter signups, paywalls, login walls).
adobe/skills
Reduce a webpage to a structural skeleton with semantic tokens.
Works with
Categories
A skill your agent uses when writing or fixing the server-side code of a Workfront App Builder extension — the Adobe I/O Runtime action the React SPA calls to do work the browser can't. Workfront Actions is an agent skill from adobe/skills. Use when writing or fixing the server-side code of a Workfront App Builder extension — the Adobe I/O Runtime action the React SPA calls to do work the browser can't.
Workfront Actions fits situations like: tasks that involve Backend development.
Run `npx skills add adobe/skills --skill workfront-actions -a claude-code`. Or copy the skill folder (plugins/app-builder/skills/appbuilder-workfront/workfront-actions in adobe/skills) into .claude/skills/workfront-actions in your project. Claude Code loads it when a task matches its description.
Run `npx skills add adobe/skills --skill workfront-actions -a codex`. Or copy the skill folder (plugins/app-builder/skills/appbuilder-workfront/workfront-actions in adobe/skills) into .agents/skills/workfront-actions in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add adobe/skills --skill workfront-actions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/workfront-actions, .gemini/skills/workfront-actions, .github/skills/workfront-actions and .opencode/skills/workfront-actions in your project.
Going by SKILL.md and its folder, Workfront Actions needs JavaScript for the scripts in its folder. Our summary lists: Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Workfront Actions is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 745 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Workfront Actions: Frontmcp Auth UI (agentfront/frontmcp, 146 stars), Laravel Inertia React Structure (freekmurze/dotfiles, 1k stars), Twenty Syncable Entity Cache and Transform (twentyhq/twenty, 58k stars) and Livewire Development (coollabsio/coolify, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
adobe (a GitHub organization) maintains it in adobe/skills, which has 195 GitHub stars. The repository holds 105 skills in this directory. The repository was last updated on October 6, 2026.
Source: adobe/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.