Agent Skillsfanfan-de/anybox › native-data-fetching

native-data-fetching

GitHub

处理所有网络请求、API调用及数据获取的Skill。涵盖fetch、React Query、SWR、缓存、离线支持及Expo Router加载器,用于实现、调试和优化数据层逻辑。

plugins/Anybox-Plugins/expo/skills/native-data-fetching/SKILL.md fanfan-de/anybox

Trigger Scenarios

实现或调试网络请求 配置API调用与数据获取 处理缓存与离线策略 使用React Query或SWR 调试网络故障

Install

npx skills add fanfan-de/anybox --skill native-data-fetching -g -y
More Options

Non-standard path

npx skills add https://github.com/fanfan-de/anybox/tree/master/plugins/Anybox-Plugins/expo/skills/native-data-fetching -g -y

Use without installing

npx skills use fanfan-de/anybox@native-data-fetching

指定 Agent (Claude Code)

npx skills add fanfan-de/anybox --skill native-data-fetching -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": "native-data-fetching",
    "license": "MIT",
    "version": "1.0.0",
    "description": "Use when implementing or debugging ANY network request, API call, or data fetching. Covers fetch API, React Query, SWR, error handling, caching, offline support, and Expo Router data loaders (`useLoaderData`)."
}

Expo Networking

You MUST use this skill for ANY networking work including API requests, data fetching, caching, or network debugging.

References

Consult these resources as needed:

references/
  expo-router-loaders.md   Route-level data loading with Expo Router loaders (web, SDK 55+)

When to Use

Use this skill when:

  • Implementing API requests
  • Setting up data fetching (React Query, SWR)
  • Using Expo Router data loaders (useLoaderData, web SDK 55+)
  • Debugging network failures
  • Implementing caching strategies
  • Handling offline scenarios
  • Authentication/token management
  • Configuring API URLs and environment variables

Preferences

  • Avoid axios, prefer expo/fetch

Common Issues & Solutions

1. Basic Fetch Usage

Simple GET request:

const fetchUser = async (userId: string) => {
  const response = await fetch(`https://api.example.com/users/${userId}`);

  if (!response.ok) {
    throw new Error(`HTTP error! status: ${response.status}`);
  }

  return response.json();
};

POST request with body:

const createUser = async (userData: UserData) => {
  const response = await fetch("https://api.example.com/users", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Authorization: `Bearer ${token}`,
    },
    body: JSON.stringify(userData),
  });

  if (!response.ok) {
    const error = await response.json();
    throw new Error(error.message);
  }

  return response.json();
};

2. React Query (TanStack Query)

Setup:

// app/_layout.tsx
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";

const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      staleTime: 1000 * 60 * 5, // 5 minutes
      retry: 2,
    },
  },
});

export default function RootLayout() {
  return (
    <QueryClientProvider client={queryClient}>
      <Stack />
    </QueryClientProvider>
  );
}

Fetching data:

import { useQuery } from "@tanstack/react-query";

function UserProfile({ userId }: { userId: string }) {
  const { data, isLoading, error, refetch } = useQuery({
    queryKey: ["user", userId],
    queryFn: () => fetchUser(userId),
  });

  if (isLoading) return <Loading />;
  if (error) return <Error message={error.message} />;

  return <Profile user={data} />;
}

Mutations:

import { useMutation, useQueryClient } from "@tanstack/react-query";

function CreateUserForm() {
  const queryClient = useQueryClient();

  const mutation = useMutation({
    mutationFn: createUser,
    onSuccess: () => {
      // Invalidate and refetch
      queryClient.invalidateQueries({ queryKey: ["users"] });
    },
  });

  const handleSubmit = (data: UserData) => {
    mutation.mutate(data);
  };

  return <Form onSubmit={handleSubmit} isLoading={mutation.isPending} />;
}

3. Error Handling

Comprehensive error handling:

class ApiError extends Error {
  constructor(message: string, public status: number, public code?: string) {
    super(message);
    this.name = "ApiError";
  }
}

const fetchWithErrorHandling = async (url: string, options?: RequestInit) => {
  try {
    const response = await fetch(url, options);

    if (!response.ok) {
      const error = await response.json().catch(() => ({}));
      throw new ApiError(
        error.message || "Request failed",
        response.status,
        error.code
      );
    }

    return response.json();
  } catch (error) {
    if (error instanceof ApiError) {
      throw error;
    }
    // Network error (no internet, timeout, etc.)
    throw new ApiError("Network error", 0, "NETWORK_ERROR");
  }
};

Retry logic:

const fetchWithRetry = async (
  url: string,
  options?: RequestInit,
  retries = 3
) => {
  for (let i = 0; i < retries; i++) {
    try {
      return await fetchWithErrorHandling(url, options);
    } catch (error) {
      if (i === retries - 1) throw error;
      // Exponential backoff
      await new Promise((r) => setTimeout(r, Math.pow(2, i) * 1000));
    }
  }
};

4. Authentication

Token management:

import * as SecureStore from "expo-secure-store";

const TOKEN_KEY = "auth_token";

export const auth = {
  getToken: () => SecureStore.getItemAsync(TOKEN_KEY),
  setToken: (token: string) => SecureStore.setItemAsync(TOKEN_KEY, token),
  removeToken: () => SecureStore.deleteItemAsync(TOKEN_KEY),
};

// Authenticated fetch wrapper
const authFetch = async (url: string, options: RequestInit = {}) => {
  const token = await auth.getToken();

  return fetch(url, {
    ...options,
    headers: {
      ...options.headers,
      Authorization: token ? `Bearer ${token}` : "",
    },
  });
};

Token refresh:

let isRefreshing = false;
let refreshPromise: Promise<string> | null = null;

const getValidToken = async (): Promise<string> => {
  const token = await auth.getToken();

  if (!token || isTokenExpired(token)) {
    if (!isRefreshing) {
      isRefreshing = true;
      refreshPromise = refreshToken().finally(() => {
        isRefreshing = false;
        refreshPromise = null;
      });
    }
    return refreshPromise!;
  }

  return token;
};

5. Offline Support

Check network status:

import NetInfo from "@react-native-community/netinfo";

// Hook for network status
function useNetworkStatus() {
  const [isOnline, setIsOnline] = useState(true);

  useEffect(() => {
    return NetInfo.addEventListener((state) => {
      setIsOnline(state.isConnected ?? true);
    });
  }, []);

  return isOnline;
}

Offline-first with React Query:

import { onlineManager } from "@tanstack/react-query";
import NetInfo from "@react-native-community/netinfo";

// Sync React Query with network status
onlineManager.setEventListener((setOnline) => {
  return NetInfo.addEventListener((state) => {
    setOnline(state.isConnected ?? true);
  });
});

// Queries will pause when offline and resume when online

6. Environment Variables

Using environment variables for API configuration:

Expo supports environment variables with the EXPO_PUBLIC_ prefix. These are inlined at build time and available in your JavaScript code.

// .env
EXPO_PUBLIC_API_URL=https://api.example.com
EXPO_PUBLIC_API_VERSION=v1

// Usage in code
const API_URL = process.env.EXPO_PUBLIC_API_URL;

const fetchUsers = async () => {
  const response = await fetch(`${API_URL}/users`);
  return response.json();
};

Environment-specific configuration:

// .env.development
EXPO_PUBLIC_API_URL=http://localhost:3000

// .env.production
EXPO_PUBLIC_API_URL=https://api.production.com

Creating an API client with environment config:

// api/client.ts
const BASE_URL = process.env.EXPO_PUBLIC_API_URL;

if (!BASE_URL) {
  throw new Error("EXPO_PUBLIC_API_URL is not defined");
}

export const apiClient = {
  get: async <T,>(path: string): Promise<T> => {
    const response = await fetch(`${BASE_URL}${path}`);
    if (!response.ok) throw new Error(`HTTP ${response.status}`);
    return response.json();
  },

  post: async <T,>(path: string, body: unknown): Promise<T> => {
    const response = await fetch(`${BASE_URL}${path}`, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify(body),
    });
    if (!response.ok) throw new Error(`HTTP ${response.status}`);
    return response.json();
  },
};

Important notes:

  • Only variables prefixed with EXPO_PUBLIC_ are exposed to the client bundle
  • Never put secrets (API keys with write access, database passwords) in EXPO_PUBLIC_ variables—they're visible in the built app
  • Environment variables are inlined at build time, not runtime
  • Restart the dev server after changing .env files
  • For server-side secrets in API routes, use variables without the EXPO_PUBLIC_ prefix

TypeScript support:

// types/env.d.ts
declare global {
  namespace NodeJS {
    interface ProcessEnv {
      EXPO_PUBLIC_API_URL: string;
      EXPO_PUBLIC_API_VERSION?: string;
    }
  }
}

export {};

7. Request Cancellation

Cancel on unmount:

useEffect(() => {
  const controller = new AbortController();

  fetch(url, { signal: controller.signal })
    .then((response) => response.json())
    .then(setData)
    .catch((error) => {
      if (error.name !== "AbortError") {
        setError(error);
      }
    });

  return () => controller.abort();
}, [url]);

With React Query (automatic):

// React Query automatically cancels requests when queries are invalidated
// or components unmount

Decision Tree

User asks about networking
  |-- Route-level data loading (web, SDK 55+)?
  |   \-- Expo Router loaders — see references/expo-router-loaders.md
  |
  |-- Basic fetch?
  |   \-- Use fetch API with error handling
  |
  |-- Need caching/state management?
  |   |-- Complex app -> React Query (TanStack Query)
  |   \-- Simpler needs -> SWR or custom hooks
  |
  |-- Authentication?
  |   |-- Token storage -> expo-secure-store
  |   \-- Token refresh -> Implement refresh flow
  |
  |-- Error handling?
  |   |-- Network errors -> Check connectivity first
  |   |-- HTTP errors -> Parse response, throw typed errors
  |   \-- Retries -> Exponential backoff
  |
  |-- Offline support?
  |   |-- Check status -> NetInfo
  |   \-- Queue requests -> React Query persistence
  |
  |-- Environment/API config?
  |   |-- Client-side URLs -> EXPO_PUBLIC_ prefix in .env
  |   |-- Server secrets -> Non-prefixed env vars (API routes only)
  |   \-- Multiple environments -> .env.development, .env.production
  |
  \-- Performance?
      |-- Caching -> React Query with staleTime
      |-- Deduplication -> React Query handles this
      \-- Cancellation -> AbortController or React Query

Common Mistakes

Wrong: No error handling

const data = await fetch(url).then((r) => r.json());

Right: Check response status

const response = await fetch(url);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();

Wrong: Storing tokens in AsyncStorage

await AsyncStorage.setItem("token", token); // Not secure!

Right: Use SecureStore for sensitive data

await SecureStore.setItemAsync("token", token);

Example Invocations

User: "How do I make API calls in React Native?" -> Use fetch, wrap with error handling

User: "Should I use React Query or SWR?" -> React Query for complex apps, SWR for simpler needs

User: "My app needs to work offline" -> Use NetInfo for status, React Query persistence for caching

User: "How do I handle authentication tokens?" -> Store in expo-secure-store, implement refresh flow

User: "API calls are slow" -> Check caching strategy, use React Query staleTime

User: "How do I configure different API URLs for dev and prod?" -> Use EXPOPUBLIC env vars with .env.development and .env.production files

User: "Where should I put my API key?" -> Client-safe keys: EXPOPUBLIC in .env. Secret keys: non-prefixed env vars in API routes only

User: "How do I load data for a page in Expo Router?" -> See references/expo-router-loaders.md for route-level loaders (web, SDK 55+). For native, use React Query or fetch.

Version History

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

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-ios-apps/skills/swiftui-view-refactor/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/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
ab855acd
Indexed
2026-07-05 18:57

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