Agent Skillsfanfan-de/anybox › swiftui-view-refactor

swiftui-view-refactor

GitHub

指导重构 SwiftUI 视图,优先使用轻量级 MV 架构而非 MVVM。规范代码结构顺序,提倡将大型视图拆分为独立的子 View 类型,减少 ViewModel 依赖,确保状态管理清晰、逻辑解耦及可测试性。

plugins/Anybox-Plugins/build-ios-apps/skills/swiftui-view-refactor/SKILL.md fanfan-de/anybox

Trigger Scenarios

拆分大型 SwiftUI 视图文件 优化数据流与 Observation 所有权 清理视图中的业务逻辑

Install

npx skills add fanfan-de/anybox --skill swiftui-view-refactor -g -y
More Options

Non-standard path

npx skills add https://github.com/fanfan-de/anybox/tree/master/plugins/Anybox-Plugins/build-ios-apps/skills/swiftui-view-refactor -g -y

Use without installing

npx skills use fanfan-de/anybox@swiftui-view-refactor

指定 Agent (Claude Code)

npx skills add fanfan-de/anybox --skill swiftui-view-refactor -a claude-code -g -y

安装 repo 全部 skill

npx skills add fanfan-de/anybox --all -g -y

预览 repo 内 skill

npx skills add fanfan-de/anybox --list

SKILL.md

Frontmatter
{
    "name": "swiftui-view-refactor",
    "description": "Refactor SwiftUI view files into stable, testable structure. Use when splitting large views, tightening data flow, or cleaning Observation ownership."
}

SwiftUI View Refactor

Overview

Refactor SwiftUI views toward small, explicit, stable view types. Default to vanilla SwiftUI: local state in the view, shared dependencies in the environment, business logic in services/models, and view models only when the request or existing code clearly requires one.

Core Guidelines

1) View ordering (top → bottom)

  • Enforce this ordering unless the existing file has a stronger local convention you must preserve.
  • Environment
  • private/public let
  • @State / other stored properties
  • computed var (non-view)
  • init
  • body
  • computed view builders / other view helpers
  • helper / async functions

2) Default to MV, not MVVM

  • Views should be lightweight state expressions and orchestration points, not containers for business logic.
  • Favor @State, @Environment, @Query, .task, .task(id:), and onChange before reaching for a view model.
  • Inject services and shared models via @Environment; keep domain logic in services/models, not in the view body.
  • Do not introduce a view model just to mirror local view state or wrap environment dependencies.
  • If a screen is getting large, split the UI into subviews before inventing a new view model layer.

3) Strongly prefer dedicated subview types over computed some View helpers

  • Flag body properties that are longer than roughly one screen or contain multiple logical sections.
  • Prefer extracting dedicated View types for non-trivial sections, especially when they have state, async work, branching, or deserve their own preview.
  • Keep computed some View helpers rare and small. Do not build an entire screen out of private var header: some View-style fragments.
  • Pass small, explicit inputs (data, bindings, callbacks) into extracted subviews instead of handing down the entire parent state.
  • If an extracted subview becomes reusable or independently meaningful, move it to its own file.

Prefer:

var body: some View {
    List {
        HeaderSection(title: title, subtitle: subtitle)
        FilterSection(
            filterOptions: filterOptions,
            selectedFilter: $selectedFilter
        )
        ResultsSection(items: filteredItems)
        FooterSection()
    }
}

private struct HeaderSection: View {
    let title: String
    let subtitle: String

    var body: some View {
        VStack(alignment: .leading, spacing: 6) {
            Text(title).font(.title2)
            Text(subtitle).font(.subheadline)
        }
    }
}

private struct FilterSection: View {
    let filterOptions: [FilterOption]
    @Binding var selectedFilter: FilterOption

    var body: some View {
        ScrollView(.horizontal, showsIndicators: false) {
            HStack {
                ForEach(filterOptions, id: \.self) { option in
                    FilterChip(option: option, isSelected: option == selectedFilter)
                        .onTapGesture { selectedFilter = option }
                }
            }
        }
    }
}

Avoid:

var body: some View {
    List {
        header
        filters
        results
        footer
    }
}

private var header: some View {
    VStack(alignment: .leading, spacing: 6) {
        Text(title).font(.title2)
        Text(subtitle).font(.subheadline)
    }
}

3b) Extract actions and side effects out of body

  • Do not keep non-trivial button actions inline in the view body.
  • Do not bury business logic inside .task, .onAppear, .onChange, or .refreshable.
  • Prefer calling small private methods from the view, and move real business logic into services/models.
  • The body should read like UI, not like a view controller.
Button("Save", action: save)
    .disabled(isSaving)

.task(id: searchText) {
    await reload(for: searchText)
}

private func save() {
    Task { await saveAsync() }
}

private func reload(for searchText: String) async {
    guard !searchText.isEmpty else {
        results = []
        return
    }
    await searchService.search(searchText)
}

4) Keep a stable view tree (avoid top-level conditional view swapping)

  • Avoid body or computed views that return completely different root branches via if/else.
  • Prefer a single stable base view with conditions inside sections/modifiers (overlay, opacity, disabled, toolbar, etc.).
  • Root-level branch swapping causes identity churn, broader invalidation, and extra recomputation.

Prefer:

var body: some View {
    List {
        documentsListContent
    }
    .toolbar {
        if canEdit {
            editToolbar
        }
    }
}

Avoid:

var documentsListView: some View {
    if canEdit {
        editableDocumentsList
    } else {
        readOnlyDocumentsList
    }
}

5) View model handling (only if already present or explicitly requested)

  • Treat view models as a legacy or explicit-need pattern, not the default.
  • Do not introduce a view model unless the request or existing code clearly calls for one.
  • If a view model exists, make it non-optional when possible.
  • Pass dependencies to the view via init, then create the view model in the view's init.
  • Avoid bootstrapIfNeeded patterns and other delayed setup workarounds.

Example (Observation-based):

@State private var viewModel: SomeViewModel

init(dependency: Dependency) {
    _viewModel = State(initialValue: SomeViewModel(dependency: dependency))
}

6) Observation usage

  • For @Observable reference types on iOS 17+, store them as @State in the owning view.
  • Pass observables down explicitly; avoid optional state unless the UI genuinely needs it.
  • If the deployment target includes iOS 16 or earlier, use @StateObject at the owner and @ObservedObject when injecting legacy observable models.

Workflow

  1. Reorder the view to match the ordering rules.
  2. Remove inline actions and side effects from body; move business logic into services/models and keep only thin orchestration in the view.
  3. Shorten long bodies by extracting dedicated subview types; avoid rebuilding the screen out of many computed some View helpers.
  4. Ensure stable view structure: avoid top-level if-based branch swapping; move conditions to localized sections/modifiers.
  5. If a view model exists or is explicitly required, replace optional view models with a non-optional @State view model initialized in init.
  6. Confirm Observation usage: @State for root @Observable models on iOS 17+, legacy wrappers only when the deployment target requires them.
  7. Keep behavior intact: do not change layout or business logic unless requested.

Notes

  • Prefer small, explicit view types over large conditional blocks and large computed some View properties.
  • Keep computed view builders below body and non-view computed vars above init.
  • A good SwiftUI refactor should make the view read top-to-bottom as data flow plus layout, not as mixed layout and imperative logic.
  • For MV-first guidance and rationale, see references/mv-patterns.md.
  • In addition to the references above, use web search to consult current Apple Developer documentation when SwiftUI APIs, Observation behavior, or platform guidance may have changed.

Large-view handling

When a SwiftUI view file exceeds ~300 lines, split it aggressively. Extract meaningful sections into dedicated View types instead of hiding complexity in many computed properties. Use private extensions with // MARK: - comments for actions and helpers, but do not treat extensions as a substitute for breaking a giant screen into smaller view types. If an extracted subview is reused or independently meaningful, move it into its own file.

Version History

  • 08dc189 Current 2026-07-05 18:55

Same Skill Collection

.agents/skills/anybox-frontend-guidelines/SKILL.md
.agents/skills/anybox-mobile-release/SKILL.md
.agents/skills/deploy-anybox-tencent-docker-windows/SKILL.md
.agents/skills/deploy-anybox-tencent-server/SKILL.md
.agents/skills/fanfande-frontend-style/SKILL.md
.agents/skills/fanfande-plugin-structure/SKILL.md
.agents/skills/frontend-ui-style-kit/SKILL.md
.agents/skills/obsidian-like/SKILL.md
.agents/skills/pdf/SKILL.md
.agents/skills/transcribe/SKILL.md
.agents/skills/zhihu-md-publisher/SKILL.md
.anybox/skills/anybox-plugin-development/SKILL.md
.anybox/skills/anybox-start-dev/SKILL.md
plugins/Anybox-Plugins/anybox-plugin-development/skills/anybox-plugin-development/SKILL.md
plugins/Anybox-Plugins/atlassian-rovo/skills/capture-tasks-from-meeting-notes/SKILL.md
plugins/Anybox-Plugins/atlassian-rovo/skills/generate-status-report/SKILL.md
plugins/Anybox-Plugins/box/skills/box/SKILL.md
plugins/Anybox-Plugins/browser/skills/browser/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/ios-app-intents/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/ios-debugger-agent/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/ios-ettrace-performance/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/ios-memgraph-leaks/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/ios-simulator-browser/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/swiftui-liquid-glass/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/swiftui-performance-audit/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/swiftui-ui-patterns/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/appkit-interop/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/build-run-debug/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/liquid-glass/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/packaging-notarization/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/signing-entitlements/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/swiftpm-macos/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/swiftui-patterns/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/telemetry/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/test-triage/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/view-refactor/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/window-management/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/frontend-app-builder/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/frontend-testing-debugging/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/react-best-practices/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/shadcn-best-practices/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/supabase-best-practices/SKILL.md
plugins/Anybox-Plugins/canva/skills/canva-branded-presentation/SKILL.md
plugins/Anybox-Plugins/canva/skills/canva-resize-for-all-social-media/SKILL.md
plugins/Anybox-Plugins/canva/skills/canva-translate-design/SKILL.md
plugins/Anybox-Plugins/cinema/skills/initialize-cinema-project/SKILL.md
plugins/Anybox-Plugins/circleci/skills/builds/SKILL.md
plugins/Anybox-Plugins/circleci/skills/chunk/SKILL.md
plugins/Anybox-Plugins/circleci/skills/cli/SKILL.md
plugins/Anybox-Plugins/circleci/skills/config/SKILL.md
plugins/Anybox-Plugins/circleci/skills/smarter-testing/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/agents-sdk/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/cloudflare/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/durable-objects/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/sandbox-sdk/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/web-perf/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/workers-best-practices/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/wrangler/SKILL.md
plugins/Anybox-Plugins/coderabbit/skills/coderabbit-review/SKILL.md
plugins/Anybox-Plugins/computer-use-windows/skills/computer-use/SKILL.md
plugins/Anybox-Plugins/documents/skills/documents/SKILL.md
plugins/Anybox-Plugins/expo/skills/add-app-clip/SKILL.md
plugins/Anybox-Plugins/expo/skills/building-native-ui/SKILL.md
plugins/Anybox-Plugins/expo/skills/eas-update-insights/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-api-routes/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-brownfield/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-cicd-workflows/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-deployment/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-dev-client/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-examples/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-module/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-tailwind-setup/SKILL.md
plugins/Anybox-Plugins/expo/skills/native-data-fetching/SKILL.md
plugins/Anybox-Plugins/expo/skills/upgrading-expo/SKILL.md
plugins/Anybox-Plugins/expo/skills/use-dom/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/feishu-cli/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-base/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-calendar/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-contact/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-doc/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-drive/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-event/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-im/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-mail/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-markdown/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-minutes/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-okr/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-openapi-explorer/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-shared/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-sheets/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-skill-maker/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-slides/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-task/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-vc-agent/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-vc/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-whiteboard/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-wiki/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-workflow-meeting-summary/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-workflow-standup-report/SKILL.md
plugins/Anybox-Plugins/feishu/skills/feishu/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/game-playtest/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/game-studio/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/game-ui-frontend/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/phaser-2d-game/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/react-three-fiber-game/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/sprite-pipeline/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/three-webgl-game/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/web-3d-asset-pipeline/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/web-game-foundations/SKILL.md
plugins/Anybox-Plugins/github/skills/gh-address-comments/SKILL.md
plugins/Anybox-Plugins/github/skills/gh-fix-ci/SKILL.md
plugins/Anybox-Plugins/github/skills/github/SKILL.md
plugins/Anybox-Plugins/github/skills/yeet/SKILL.md
plugins/Anybox-Plugins/gmail/skills/gmail-inbox-triage/SKILL.md
plugins/Anybox-Plugins/gmail/skills/gmail/SKILL.md
plugins/Anybox-Plugins/google-calendar/skills/google-calendar-daily-brief/SKILL.md
plugins/Anybox-Plugins/google-calendar/skills/google-calendar-free-up-time/SKILL.md
plugins/Anybox-Plugins/google-calendar/skills/google-calendar-group-scheduler/SKILL.md
plugins/Anybox-Plugins/google-calendar/skills/google-calendar-meeting-prep/SKILL.md
plugins/Anybox-Plugins/google-calendar/skills/google-calendar/SKILL.md
plugins/Anybox-Plugins/google-drive/skills/google-docs/SKILL.md
plugins/Anybox-Plugins/google-drive/skills/google-drive-comments/SKILL.md
plugins/Anybox-Plugins/google-drive/skills/google-drive/SKILL.md
plugins/Anybox-Plugins/google-drive/skills/google-sheets/SKILL.md
plugins/Anybox-Plugins/google-drive/skills/google-slides/SKILL.md
plugins/Anybox-Plugins/hubspot/skills/hubspot-crm-data-hygiene/SKILL.md
plugins/Anybox-Plugins/hubspot/skills/hubspot-customer-prep/SKILL.md
plugins/Anybox-Plugins/hubspot/skills/hubspot-pipeline-health/SKILL.md
plugins/Anybox-Plugins/hubspot/skills/hubspot/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/cli/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/community-evals/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/datasets/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/gradio/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/paper-publisher/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/papers/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/trackio/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/transformers.js/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-cli/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-core/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-creative/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-media/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-registry/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/slideshow/SKILL.md
plugins/Anybox-Plugins/kling/skills/kling-video/SKILL.md
plugins/Anybox-Plugins/latex/skills/latex-compile/SKILL.md
plugins/Anybox-Plugins/latex/skills/latex-doctor/SKILL.md
plugins/Anybox-Plugins/latex/skills/texlive-runtime-installer/SKILL.md
plugins/Anybox-Plugins/linear/skills/linear/SKILL.md
plugins/Anybox-Plugins/neon-postgres/skills/neon-postgres/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-ai-gateway/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-blobs/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-caching/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-cli-and-deploy/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-config/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-deploy/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-edge-functions/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-forms/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-frameworks/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-functions/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-identity/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-image-cdn/SKILL.md
plugins/Anybox-Plugins/notion/skills/notion-knowledge-capture/SKILL.md
plugins/Anybox-Plugins/notion/skills/notion-meeting-intelligence/SKILL.md
plugins/Anybox-Plugins/notion/skills/notion-research-documentation/SKILL.md
plugins/Anybox-Plugins/notion/skills/notion-spec-to-implementation/SKILL.md
plugins/Anybox-Plugins/obsidian-cli/skills/obsidian-dev/SKILL.md
plugins/Anybox-Plugins/obsidian-cli/skills/obsidian-notes/SKILL.md
plugins/Anybox-Plugins/obsidian-cli/skills/obsidian-search/SKILL.md
plugins/Anybox-Plugins/obsidian-cli/skills/obsidian-shared/SKILL.md
plugins/Anybox-Plugins/obsidian-cli/skills/obsidian-tasks/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar-daily-brief/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar-free-up-time/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar-group-scheduler/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar-meeting-prep/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar-shared-calendars/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email-inbox-triage/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email-reply-drafting/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email-shared-mailboxes/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email-subscription-cleanup/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email-task-extraction/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email/SKILL.md
plugins/Anybox-Plugins/playwright-cli/skills/playwright-cli/SKILL.md
plugins/Anybox-Plugins/plugin-eval/fixtures/minimal-skill/SKILL.md
plugins/Anybox-Plugins/plugin-eval/skills/evaluate-plugin/SKILL.md
plugins/Anybox-Plugins/plugin-eval/skills/evaluate-skill/SKILL.md
plugins/Anybox-Plugins/plugin-eval/skills/improve-skill/SKILL.md
plugins/Anybox-Plugins/plugin-eval/skills/metric-pack-designer/SKILL.md
plugins/Anybox-Plugins/plugin-eval/skills/plugin-eval/SKILL.md
plugins/Anybox-Plugins/presentations/skills/presentations/SKILL.md
plugins/Anybox-Plugins/remotion/skills/remotion/SKILL.md
plugins/Anybox-Plugins/render/skills/render-background-workers/SKILL.md
plugins/Anybox-Plugins/render/skills/render-blueprints/SKILL.md
plugins/Anybox-Plugins/render/skills/render-cli/SKILL.md
plugins/Anybox-Plugins/render/skills/render-cron-jobs/SKILL.md
plugins/Anybox-Plugins/render/skills/render-debug/SKILL.md
plugins/Anybox-Plugins/render/skills/render-deploy/SKILL.md
plugins/Anybox-Plugins/render/skills/render-disks/SKILL.md
plugins/Anybox-Plugins/render/skills/render-docker/SKILL.md
plugins/Anybox-Plugins/render/skills/render-domains/SKILL.md
plugins/Anybox-Plugins/render/skills/render-env-vars/SKILL.md
plugins/Anybox-Plugins/render/skills/render-keyvalue/SKILL.md
plugins/Anybox-Plugins/render/skills/render-mcp/SKILL.md
plugins/Anybox-Plugins/render/skills/render-migrate-from-heroku/SKILL.md
plugins/Anybox-Plugins/render/skills/render-monitor/SKILL.md
plugins/Anybox-Plugins/render/skills/render-networking/SKILL.md
plugins/Anybox-Plugins/render/skills/render-postgres/SKILL.md
plugins/Anybox-Plugins/render/skills/render-private-services/SKILL.md
plugins/Anybox-Plugins/render/skills/render-scaling/SKILL.md
plugins/Anybox-Plugins/render/skills/render-web-services/SKILL.md
plugins/Anybox-Plugins/render/skills/render-workflows/SKILL.md
plugins/Anybox-Plugins/sentry/skills/sentry/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-powerpoint/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-shared-doc-maintenance/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-site-discovery/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-spreadsheet-formula-builder/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-spreadsheets/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-word-docs/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack-channel-summarization/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack-daily-digest/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack-notification-triage/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack-outgoing-message/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack-reply-drafting/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack/SKILL.md
plugins/Anybox-Plugins/spreadsheets/skills/spreadsheets/SKILL.md
plugins/Anybox-Plugins/supabase/skills/supabase-postgres-best-practices/SKILL.md
plugins/Anybox-Plugins/supabase/skills/supabase/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/brainstorming/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/dispatching-parallel-agents/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/executing-plans/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/finishing-a-development-branch/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/receiving-code-review/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/requesting-code-review/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/subagent-driven-development/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/systematic-debugging/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/test-driven-development/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/using-git-worktrees/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/using-superpowers/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/verification-before-completion/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/writing-plans/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/writing-skills/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-channel-summarization/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-daily-digest/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-messages/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-notification-triage/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-planner-task-management/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-reply-drafting/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams/SKILL.md
plugins/Anybox-Plugins/test-android-apps/skills/android-emulator-qa/SKILL.md
plugins/Anybox-Plugins/test-android-apps/skills/android-performance/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-agent-augmentation-architect/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-ai-agent-architect/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-call-recordings/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-compliance-onboarding/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-compliance-traffic/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-conference-calls/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-content-template-builder/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-conversation-intelligence/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-conversation-orchestrator/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-conversations-classic-api/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-customer-memory/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-customer-support-architect/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-debugging-observability/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-email-deliverability-advisor/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-email-send/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-identity-verification-advisor/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-lookup-phone-intelligence/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-marketing-promotions-advisor/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-messaging-overview/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-messaging-services/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-messaging-webhooks/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-notifications-alerts-advisor/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-numbers-senders/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-organizations-setup/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-rcs-messaging/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-regulatory-compliance-bundles/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-reliability-patterns/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-security-api-auth/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-security-compliance-hipaa/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-security-hardening/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-account-setup/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-email-send/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-email-settings/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-engagement-quality/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-inbound-parse/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-suppressions/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-webhooks/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sms-isv-setup/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sms-send-message/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-taskrouter-routing/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-verify-send-otp/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-voice-conversation-relay/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-voice-outbound-calls/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-voice-twiml/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-webhook-architecture/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-whatsapp-manage-senders/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-whatsapp-send-message/SKILL.md
plugins/Anybox-Plugins/vercel/skills/ai-gateway/SKILL.md
plugins/Anybox-Plugins/vercel/skills/ai-sdk/SKILL.md
plugins/Anybox-Plugins/vercel/skills/auth/SKILL.md
plugins/Anybox-Plugins/vercel/skills/bootstrap/SKILL.md
plugins/Anybox-Plugins/vercel/skills/chat-sdk/SKILL.md
plugins/Anybox-Plugins/vercel/skills/deployments-cicd/SKILL.md
plugins/Anybox-Plugins/vercel/skills/env-vars/SKILL.md
plugins/Anybox-Plugins/vercel/skills/knowledge-update/SKILL.md
plugins/Anybox-Plugins/vercel/skills/marketplace/SKILL.md
plugins/Anybox-Plugins/vercel/skills/next-cache-components/SKILL.md
plugins/Anybox-Plugins/vercel/skills/next-forge/SKILL.md
plugins/Anybox-Plugins/vercel/skills/next-upgrade/SKILL.md
plugins/Anybox-Plugins/vercel/skills/nextjs/SKILL.md
plugins/Anybox-Plugins/vercel/skills/react-best-practices/SKILL.md
plugins/Anybox-Plugins/vercel/skills/routing-middleware/SKILL.md
plugins/Anybox-Plugins/vercel/skills/runtime-cache/SKILL.md
plugins/Anybox-Plugins/vercel/skills/shadcn/SKILL.md
plugins/Anybox-Plugins/vercel/skills/turbopack/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-agent/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-cli/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-connect/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-firewall/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-functions/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-sandbox/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-storage/SKILL.md
plugins/Anybox-Plugins/vercel/skills/verification/SKILL.md
plugins/Anybox-Plugins/vercel/skills/workflow/SKILL.md
plugins/Anybox-Plugins/zotero/skills/zotero/SKILL.md
.agents/skills/fanfande-desktop-release-windows/SKILL.md
plugins/Anybox-Plugins/atlassian-rovo/skills/search-company-knowledge/SKILL.md
plugins/Anybox-Plugins/atlassian-rovo/skills/spec-to-backlog/SKILL.md
plugins/Anybox-Plugins/atlassian-rovo/skills/triage-issue/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/stripe-best-practices/SKILL.md
plugins/Anybox-Plugins/circleci/skills/onboard/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/building-ai-agent-on-cloudflare/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/building-mcp-server-on-cloudflare/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-observe/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-ui/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-approval/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-attendance/SKILL.md
plugins/Anybox-Plugins/heygen/skills/heygen-avatar/SKILL.md
plugins/Anybox-Plugins/heygen/skills/heygen-translate/SKILL.md
plugins/Anybox-Plugins/heygen/skills/heygen-video/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/jobs/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/llm-trainer/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/vision-trainer/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/embedded-captions/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/faceless-explainer/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/general-video/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/graphic-overlays/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-animation/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/motion-graphics/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/pr-to-video/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/product-launch-video/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/remotion-to-hyperframes/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/website-to-video/SKILL.md
plugins/Anybox-Plugins/neon-postgres/skills/neon-postgres-egress-optimizer/SKILL.md
plugins/Anybox-Plugins/render/skills/render-static-sites/SKILL.md
plugins/Anybox-Plugins/smtp-email/skills/smtp-email/SKILL.md
plugins/Anybox-Plugins/stripe/skills/stripe-best-practices/SKILL.md
plugins/Anybox-Plugins/stripe/skills/upgrade-stripe/SKILL.md
plugins/Anybox-Plugins/temporal/skills/temporal-developer/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-account-setup/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-cli-reference/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-enterprise-knowledge/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-messaging-channel-advisor/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-send-message/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-deliverability-advisor/SKILL.md
plugins/Anybox-Plugins/vercel/skills/microfrontends/SKILL.md
plugins/Anybox-Plugins/test-plugin/skills/hello-world/SKILL.md

Metadata

Files
0
Version
08dc189
Hash
129cbb51
Indexed
2026-07-05 18:55

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-08 20:15
浙ICP备14020137号-1 $Гость$