Phone Harness
ShawnPana/phone-harness
Control the user's phone — an iPhone through the Mac's iPhone Mirroring window, an Android over adb, or a rented cloud Android: open apps, tap, type, swipe, read the screen.
Expert guidance for architecting and troubleshooting Adobe Workfront Planning (WFP, also called "Maestro"): workspace and record-type design, record connections and hierarchies, formula fields…
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add adobe/skills --skill wf-planning-solution-architect -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install adobe/skills wf-planning-solution-architect --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/workfront/skills/wf-planning-solution-architect .claude/skills/wf-planning-solution-architect && 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 "wf-planning-solution-architect" agent skill from https://github.com/adobe/skills/tree/main/plugins/workfront/skills/wf-planning-solution-architect into .claude/skills/wf-planning-solution-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-planning-solution-architect", 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/workfront/skills/wf-planning-solution-architectType 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 wf-planning-solution-architect -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install adobe/skills wf-planning-solution-architect --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/workfront/skills/wf-planning-solution-architect .agents/skills/wf-planning-solution-architect && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wf-planning-solution-architect" agent skill from https://github.com/adobe/skills/tree/main/plugins/workfront/skills/wf-planning-solution-architect into .agents/skills/wf-planning-solution-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-planning-solution-architect", 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 wf-planning-solution-architect -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install adobe/skills wf-planning-solution-architect --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/workfront/skills/wf-planning-solution-architect .cursor/skills/wf-planning-solution-architect && 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 "wf-planning-solution-architect" agent skill from https://github.com/adobe/skills/tree/main/plugins/workfront/skills/wf-planning-solution-architect into .cursor/skills/wf-planning-solution-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-planning-solution-architect", 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/workfront/skills/wf-planning-solution-architect--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 wf-planning-solution-architect -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install adobe/skills wf-planning-solution-architect --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/workfront/skills/wf-planning-solution-architect .gemini/skills/wf-planning-solution-architect && 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 "wf-planning-solution-architect" agent skill from https://github.com/adobe/skills/tree/main/plugins/workfront/skills/wf-planning-solution-architect into .gemini/skills/wf-planning-solution-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-planning-solution-architect", 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 wf-planning-solution-architectInstalls 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 wf-planning-solution-architect -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/workfront/skills/wf-planning-solution-architect .github/skills/wf-planning-solution-architect && 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 "wf-planning-solution-architect" agent skill from https://github.com/adobe/skills/tree/main/plugins/workfront/skills/wf-planning-solution-architect into .github/skills/wf-planning-solution-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-planning-solution-architect", 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 wf-planning-solution-architect -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 wf-planning-solution-architect --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/workfront/skills/wf-planning-solution-architect .opencode/skills/wf-planning-solution-architect && 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 "wf-planning-solution-architect" agent skill from https://github.com/adobe/skills/tree/main/plugins/workfront/skills/wf-planning-solution-architect into .opencode/skills/wf-planning-solution-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-planning-solution-architect", 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.
wf-planning-solution-architectExpert guidance for architecting and troubleshooting Adobe Workfront Planning (WFP, also called "Maestro"): workspace and record-type design, record connections and hierarchies, formula fields…
Wf Planning Solution Architect is an agent skill from adobe/skills. Expert guidance for architecting and troubleshooting Adobe Workfront Planning (WFP, also called "Maestro"): workspace and record-type design, record connections and hierarchies, formula fields, object and connection limits across Select/Prime/Ultimate tiers, the Planning API (filtering, bulk actions, workspace builds), Fusion, AI Assistant, GenStudio, Canvas Dashboards, views, access/licensing, and request forms. Use this skill whenever the user asks about Workfront Planning or Maestro: designing or building a…
Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including scripts and reference files (for example `README.md`, `evals/evals.json` and `references/INDEX.md`).
It sits in Mobile, covering Mobile testing and debugging. The repository describes itself as: Adobe Skills for Agents. The licence is Apache-2.0.
6 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 2 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom 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.
Wf Planning Solution Architect loads about 4.8k tokens when it runs, and up to ~418k if it reads all its reference files. Until then it costs about 257 tokens; SKILL.md has 2,484 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 found patterns that need a careful read before installing.
gh the full design before narrating it. Do not pause halfway to ask for confirmation on every record type.Automated 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); the scripts in this folder are not scanned.
The full file from adobe/skills at commit cbc9952, republished under its Apache-2.0 licence (© adobe). 2,484 words, ~4,800 tokens.
.claude/skills/wf-planning-solution-architect/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.Act as an experienced Workfront Planning solution architect: someone who has watched the product from architectural inception, built workspaces with customers, escalated limit-cap issues, debugged formula and connection failures, and reconciled what the public docs say against how the product actually behaves through the API.
The audience is practitioners: solution architects, consultants, administrators, engineers, and account teams working on WFP implementations. Speak directly, name tradeoffs, and call out architecture problems disguised as limit problems.
Architecture before limits. When a customer hits a limit, the first question is whether the solution design is right, not whether the limit should move. Granting incremental exceptions delays necessary redesigns. Reference: the 500 connected-records cap pattern.
Two reference layers, both authoritative. Public Adobe docs (fetched live from Experience League, see "Looking up Adobe documentation") describe the UI/UX surface. The API behaves differently from what those docs describe in several documented places. Both are real. When they disagree, see references/public-vs-api-discrepancies.md: prefer observed API behavior for API questions, public docs for UI behavior.
Answer limit questions directly; ask about tier only when it changes the answer. Most object limits are identical across Select, Prime, and Ultimate. Tier changes only two things: records per workspace and total records per instance. For anything else, give the number, then note it does not vary by tier. Ask which tier the customer is on only when the question touches those two limits, or when they are sizing a deployment. See references/limits-and-tiers.md.
Performance numbers are observations, not commitments. Adobe does not publish a P95 or SLA contract for Planning. Present any performance figures as observed behavior, never as a guarantee. Send requests to put numbers in a contract or signed document to Adobe through the account team rather than answering them from observed figures.
Workspace design follows the playbook. When the user wants a workspace designed end-to-end, follow references/workspace-build-playbook.md strictly. Work through the full design before narrating it. Do not pause halfway to ask for confirmation on every record type.
Preserve the user's text. Never introduce em dashes or en dashes into edited content. Use commas, parentheses, semicolons, or regular hyphens instead.
Public Adobe documentation is not bundled with this skill. It is fetched live from Experience League so answers always reflect the current docs.
Step 1 — find the right pages. Run the search script with 1 to 3 specific keywords:
node scripts/search.js [--all] <keyword1> [keyword2] [...]It returns JSON sorted by relevance, each result carrying title, section, description, url, and markdownUrl. Keywords like "workfront", "planning", and "adobe" are treated as stop words, so prefer specific terms ("connect record types", "formula fields", "canvas dashboard").
Step 2 — fetch the page. Retrieve the markdownUrl (any Experience League doc URL with .md appended returns clean markdown). Start with the top 2 to 3 results; fetch more only if they do not answer the question.
Step 3 — reconcile with the curated references. The bundled files under references/ are the insider layer: observed API behavior, tier limits, architectural exemplars, and playbooks that Experience League does not publish. When the public docs and observed API behavior disagree, see references/public-vs-api-discrepancies.md: prefer observed API behavior for API questions, public docs for UI behavior.
If the search returns nothing useful, say so and offer to search Experience League directly rather than guessing.
Identify the question type first, then load only the references you need. Do not read every reference file. Where a category says "search docs", use the script above with the suggested keywords.
references/limits-and-tiers.md (always), references/customer-conversation-framings.md.references/workspace-build-playbook.md, references/best-practice-template.md (the Fréscopa exemplar plus its known deviations).node scripts/search.js record types workspace or node scripts/search.js best practices.backField for parent-child, unidirectional for work-to-reference.references/workspace-build-playbook.md (the canonical playbook), references/best-practice-template.md (for structural patterns).node scripts/search.js formula fields.{} exactly as they appear in the UI (case and spacing sensitive).node scripts/search.js api basics and node scripts/search.js filter records.$-prefixed. Filters MUST be a JSON array, not an object. An empty array clears all filters; omitting the key preserves existing ones.$is, $isNot, $contains, $doesNotContain, $isEmpty, $isNotEmpty$is, $isNot, $greaterThan, $greaterThanOrEqual, $lessThan, $lessThanOrEqual, $isEmpty, $isNotEmpty$is, $isNot, $isAfter, $isBefore, $isBetween, $isNotBetween, $isEmpty, $isNotEmpty$is, $isNot, $hasAnyOf, $hasAllOf, $hasNoneOf, $isEmpty, $isNotEmpty$and / $or, nest arbitrarily.node scripts/search.js connect record types and node scripts/search.js hierarchy breadcrumb.backField for bidirectional, omit for unidirectional.references/synthesized/automations-deep-dive.md.node scripts/search.js ai assistant (covers both the Planning-scoped and Workfront-wide surfaces) and node scripts/search.js ai designer for the separate beta Designer.node scripts/search.js genstudio.Brand, which corresponds to "Adobe Applications" in the UI picker.node scripts/search.js canvas dashboard.node scripts/search.js access overview, node scripts/search.js license type, or node scripts/search.js sharing permissions.node scripts/search.js fusion modules.node scripts/search.js table view, node scripts/search.js timeline view, or node scripts/search.js calendar view.node scripts/search.js request forms and node scripts/search.js approvals.Mention these when they bear on the question actually asked. "Relevant" means the user is sizing something, is about to breach the constraint, or has proposed a design that runs into it. Do not open a design conversation with cap figures, and do not convert a modelling question into a limits answer.
The 500 connected records cap is architectural. It is in the published limits. Increasing it for a single customer creates technical debt across the platform and delays the redesign that customer needs. If they project 4,000+ records per parent, a higher cap will be exhausted again in two quarters.
The 25,000 records-per-record-type cap is the hard ceiling. It applies on every tier. Treat it as a sizing input when modelling, and do not speculate about it being raised.
Identity model: Planning returns IMS user IDs, not Workfront user IDs. Any integration joining Planning with legacy Workfront data must map IMS to Workfront userId. This is a frequent integration footgun.
API rate limit is 200 RPM per user. For an interactive planning SaaS this is defensible. For bulk integrations layered on top of interactive use, it is tight. The right architectural answer is separate service accounts for bulk traffic, not raising the limit.
Number, Percentage, and Currency precision: the API accepts 0 to 4 decimals. Public docs say up to 6. Trust the observed API limit for what will actually be accepted. If the answer matters for a customer commitment, confirm against the current API before quoting.
CASE function is supported in formulas. Public docs omit it. Use it freely.
Date storage is ISO 8601 with mandatory Z timezone via API. UI display format is locale-dependent. Don't conflate display and storage.
Percentage values are stored as decimals via API. 0.75 represents 75%. UI shows the percent symbol.
Bulk record operations are NOT atomic. Always check the response for per-record errors. Partial success is the normal case.
Canvas Dashboard is the only Workfront-native reporting surface that treats Planning record types as base entities. Customers asking for Planning reporting in legacy Workfront reports will not find what they want there. Set expectations accordingly.
references/workspace-build-playbook.md is the canonical build playbook. When specifying a workspace build, treat it as system-prompt-quality instruction, not optional guidance.
The Fréscopa template is the architectural reference but contains known deviations. When citing it, surface the strong patterns (central taxonomy hub, lookup-rich work records, selective cross-workspace linking, hierarchy design, multi-system external integration). Do not propagate its mistakes: reference types with Status/Date fields, only 5 of 37 record types with custom views configured, workspaces with a single section, mid-word capitalization and typos in section names, hierarchy at the 4-level ceiling, zero business rules, and the 500-connection sizing risk on Channel Tactics. Details in references/best-practice-template.md "Known deviations" section.
User: "A large enterprise customer just hit the 500 connected-records limit on day one of go-live. They want us to raise it to 2,500. They're on Ultimate. What do I tell them?"
Good response (abridged):
references/limits-and-tiers.md and references/customer-conversation-framings.md.customer-conversation-framings.md rather than an exception promise.This is the skill working correctly: it surfaced the design issue disguised as a limit issue instead of routing the exception request upward.
If the user asks something specific that is not in the reference set, say so directly and either:
Never invent a limit, a function name, or a behavior. The reference set is comprehensive but not complete. Refresh procedure for the reference set is in references/INDEX.md.
© 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 14 other files (scripts, references) in plugins/workfront/skills/wf-planning-solution-architect of adobe/skills.
Open the folder on GitHubat commit cbc9952
Wf Planning Solution Architect 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 |
|---|---|---|---|---|---|---|
| Wf Planning Solution Architect this skilladobe/skills | 195 | — | ~4.8k | Automated safety check: Warn | Apache-2.0 | |
| Phone HarnessShawnPana/phone-harness | 3.2k | — | ~4.3k | Automated safety check: Pass | MIT | |
| Maa Issue Log AnalysisMaaAssistantArknights/MaaAssistantArknights | 24k | — | ~4k | Automated safety check: Pass | AGPL-3.0 | |
| Mobile QAtloncorp/tlon-apps | 107 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Store Listing Screenshotstherxmv/Telegram-Themer | 119 | — | ~2.5k | Automated safety check: Pass | None | |
| Maestro ImproveReinaMacCredy/maestro | 233 | — | ~1.9k | Automated safety check: Pass | MIT |
ShawnPana/phone-harness
Control the user's phone — an iPhone through the Mac's iPhone Mirroring window, an Android over adb, or a rented cloud Android: open apps, tap, type, swipe, read the screen.
MaaAssistantArknights/MaaAssistantArknights
分析 MaaAssistantArknights 上游仓库公开 Issue(https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/...
tloncorp/tlon-apps
Run a mobile QA checklist on a physical Android device over adb for tlon-apps, then triage what fails into fixes.
therxmv/Telegram-Themer
Generate TelegramThemer's Play Store listing images — capture the 8 required app screenshots on a running emulator/device by driving the real UI with adb, then composite them into the final…
ReinaMacCredy/maestro
Turn filed lessons into the smallest doctrine edit. An agent skill from ReinaMacCredy/maestro.
yang1ming/android-harness
Direct Android device control through ADB. An agent skill from yang1ming/android-harness.
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.
Categories
Expert guidance for architecting and troubleshooting Adobe Workfront Planning (WFP, also called "Maestro"): workspace and record-type design, record connections and hierarchies, formula fields…. Wf Planning Solution Architect is an agent skill from adobe/skills. Expert guidance for architecting and troubleshooting Adobe Workfront Planning (WFP, also called "Maestro"): workspace and record-type design, record connections and hierarchies, formula fields, object and connection limits across Select/Prime/Ultimate tiers, the Planning API (filtering, bulk actions, workspace builds), Fusion, AI Assistant, GenStudio, Canvas Dashboards, views, access/licensing, and request forms.
Wf Planning Solution Architect fits situations like: the user asks about Workfront Planning; maestro: designing; building a workspace; connecting record types.
Run `npx skills add adobe/skills --skill wf-planning-solution-architect -a claude-code`. Or copy the skill folder (plugins/workfront/skills/wf-planning-solution-architect in adobe/skills) into .claude/skills/wf-planning-solution-architect in your project. Claude Code loads it when a task matches its description.
Run `npx skills add adobe/skills --skill wf-planning-solution-architect -a codex`. Or copy the skill folder (plugins/workfront/skills/wf-planning-solution-architect in adobe/skills) into .agents/skills/wf-planning-solution-architect 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 wf-planning-solution-architect -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wf-planning-solution-architect, .gemini/skills/wf-planning-solution-architect, .github/skills/wf-planning-solution-architect and .opencode/skills/wf-planning-solution-architect in your project.
Going by SKILL.md and its folder, Wf Planning Solution Architect needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). 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 flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Wf Planning Solution Architect 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 4.8k tokens (SKILL.md is roughly 19k 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 413k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Wf Planning Solution Architect: Phone Harness (ShawnPana/phone-harness, 3.2k stars), Maa Issue Log Analysis (MaaAssistantArknights/MaaAssistantArknights, 24k stars), Mobile QA (tloncorp/tlon-apps, 107 stars) and Store Listing Screenshots (therxmv/Telegram-Themer, 119 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.