Loading...
Loading...
Found 5,458 Skills
End-to-end testing of email-dependent flows — signup confirmation, password reset, magic-link login, OTP/MFA codes, and notification emails. Covers the capture-inbox decision tree (Mailpit, Mailosaur, MailSlurp, Ethereal), Playwright polling without fixed sleeps, regex extraction of links/OTPs from the email body, deterministic per-test addresses (plus-addressing, per-inbox), subject/from/header/link assertions, and SPF/DKIM/DMARC deliverability checks as a separate suite. Use when: "test the signup confirmation email," "password reset email test," "magic-link login test," "capture OTP from email," "Mailpit," "Mailosaur," "MailSlurp," "email arrives flaky in CI," "assert email subject/from/links." Not for: Sending transactional email from your app code, or API-only contract tests of an email provider — those are api-testing / app concerns. Email HTML rendering across clients (Outlook/Gmail dark mode) is out of scope (note it as a gap; use visual-testing or Litmus). Related: playwright-automation, api-testing, test-data-management, qa-project-context.
New SwiftUI APIs, behaviors, and deprecations introduced in the 2027 OS releases (iOS 27, macOS 27, watchOS 27, tvOS 27, visionOS 27). Use when a SwiftUI view using @State fails to compile with "used before being initialized", "invalid redeclaration of synthesized property", or "extraneous argument label" errors after an SDK update (@State migrated from a property wrapper to a macro in SDK 27; the obvious fix of reordering init assignments is WRONG and produces incorrect runtime behavior; you MUST consult this skill's references before answering); when @ViewBuilder or @ContentBuilder code hits ambiguous overloads in overlay/background or type-check performance regressions after an SDK update; when the user asks what's new in SwiftUI (generally, or for a specific 2027 platform); when adding drag-to-reorder to any container (List, LazyVStack, LazyVGrid, stacks, or custom layouts) via reorderable()/reorderContainer, including the drag-and-drop that integrates with it (dragContainer, dropDestination), or combining items by dropping one onto another; when working with AsyncImage loading and caching (images reloading when scrolling back, the default HTTP cache, a per-request cache policy via AsyncImage(request:)/URLRequest, or applying a custom URLSession with asyncImageURLSession); when adding swipe actions to rows (swipe-to-delete or other swipe actions) in a ScrollView, LazyVStack, LazyVGrid, or stack and not just List, via swipeActions()/swipeActionsContainer(); when working with toolbars, such as controlling which items stay visible versus move into the overflow menu when space is constrained or buttons get cut off (visibilityPriority, ToolbarOverflowMenu), pinning an item so it never overflows (topBarPinnedTrailing), minimizing the navigation bar or toolbar on scroll (toolbarMinimizeBehavior), generating toolbar items with ForEach, or hiding the status bar via the statusBar toolbar placement; when presenting a confirmation dialog or alert from an optional item binding (the sheet(item:) shape) so it shows when the bound value becomes non-nil and passes the unwrapped item into the actions and message closures; when building or migrating a document-based app (including read-only document viewers), reading or writing files through DocumentGroup, optimizing autosave performance for package documents, accessing the document's file URL directly (for example to hand to AVFoundation, PDFKit, Core Image, or any C library that takes a path), reporting progress from a save or load, or migrating from FileDocument / ReferenceFileDocument; or when resolving other SDK 27.0 source incompatibilities and deprecation warnings (for example statusBarHidden on visionOS).
Jetpack Compose animation foundations - animate*AsState, AnimatedVisibility, Crossfade, updateTransition, SharedTransitionLayout, gestures.
Manage finances across multiple businesses or legal entities.
Use when the user asks to "generate subject line variants", "pre-score my subject lines", or "will this subject get truncated / trigger spam filters"; produces a labeled subject + preheader variant set and a per-variant heuristic pre-score card — spam-trigger flags, length/truncation across desktop + mobile, emoji-count, and the inbox preview render (from-name + subject + preheader) — before any test is run. Not for the body copy or CTA — use email-creative-builder; not for the A/B test design or significance read — use send-experiment-designer; not for the profile-weighted EQS or the S1/S2/N1/D1 vetoes — use email-quality-auditor. 邮件主题行生成/主题行预打分/截断与垃圾词检查
Use when investigating Jetpack Compose recomposition cost, compiler stability reports, skippability, unstable parameters, frame-rate State reads, cross-phase snapshot back-writing, or @ReadOnlyComposable contracts.
Final craft pass applying the compound details from the polish checklist — micro-typography, spacing rhythm, hover states, and a signature detail — directly to code. Use when the surface is functionally complete but feels unfinished, or when the user says "polish this" / "it looks generic" / "add the final touches". Invoke when the user asks for polish on their UI, or mentions 'polish' alongside design / UI / frontend work.
Cross-version Symbol Migration and Binary Diff. Use this when you have symbols/reverse-engineering results from an old version and need to quickly migrate them to a new version. Applicable scenarios: Kernel PDB missing, deriving with old version symbols; batch migrating function names after program update; quickly locating new offsets after application update. Core method: Use LLM for structured difference comparison, programmatic input and output, with extremely low cost (~1 yuan for 200 functions). Trigger keywords: symbol migration, bindiff, cross-version, PDB missing, function offset migration, symbol migration, binary diff, version comparison.
Upgrade an ObjectStack metadata project across a protocol major — run the deterministic conversion chain, then work the semantic residue the chain cannot express (intent choices, custom code on retired APIs, stale prose) to a decision with the project's owner, and finish with a green `validate` plus a human-readable upgrade report. Use when a project is on an older protocol major and must move to the current one, when `@objectstack/spec` was bumped across a major and metadata or code stopped parsing, when a parse or `tsc` error quotes a `[REMOVED]` prescription, or when asked to "upgrade to v17" / "升级到 v17" / "一键升级元数据项目". Do not use to author new metadata (the domain skills cover that), to design a retirement in the ObjectStack platform repo itself (that is the platform's own internal playbook), or to hand-write a rewrite the conversion chain already applies — running the chain is always the first step, never a fallback.
Audit images across AEM Edge Delivery Services pages for SEO and performance. Checks alt text quality, missing dimensions, lazy loading on LCP images, fetch priority, file naming, and decorative image handling. Generates a per-page report with specific fix instructions for alt text (in the source document) and performance attributes (in block code or scripts). Use when optimizing Core Web Vitals, improving image accessibility, or auditing image SEO.
Audit and update metadata across multiple AEM Edge Delivery Services pages. Scans pages via the query index, identifies missing or inconsistent metadata (titles, descriptions, og tags, robots), and generates a corrected bulk metadata spreadsheet. Use when standardizing metadata across a site, preparing for launch, or fixing SEO issues at scale.
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 workspace, connecting record types, fixing a broken formula, hitting or asking to raise a limit (such as the 500 connected-records or 25,000 records-per-type caps), tier and capacity questions, filtering records through the API, choosing an automation surface, or reconciling Adobe's public docs against actual API behavior. Also trigger for "build me a Planning workspace", "why is my formula failing", "what's the max records per type", or "Select vs Prime vs Ultimate limits".