بنقرة واحدة
github-api-hybrid
Rules for using both GraphQL and REST APIs simultaneously for GitHub data fetching.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Rules for using both GraphQL and REST APIs simultaneously for GitHub data fetching.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Node.js best practices and runtime configuration for GitData-BackEnd.
Mandatory rule requiring a corresponding Vitest/React Testing Library test file for every React component (.tsx) in GitData frontend.
Catalog of all specialized skills used across the GitData Monorepo project.
Guidelines for mathematically deducing advanced widget data on the backend.
Architecture rules for building UI widgets, supporting i18n locales, and multi-theme logic.
Mandatory rule to keep CSS files inside a styles/ folder relative to their component.
| name | github-api-hybrid |
| description | Rules for using both GraphQL and REST APIs simultaneously for GitHub data fetching. |
When building widgets for GitData, the GitHub GraphQL API is excellent for deep relational data (like PRs, repositories, and languages). However, it is poorly optimized for fetching chronological event feeds or exact timestamps of recent activity. Therefore, GitData uses a Hybrid approach.
contributionsCollection).GET /users/{username}/events/public) strictly for time-sensitive, chronological feeds (e.g., Activity Stream or determining the exact hours a user codes).try/catch block. If it fails, the backend must gracefully degrade and return empty arrays for the activity stream, but MUST still return the GraphQL data successfully.// GraphQL Call
const response = await octokit.graphql(query, { login: username });
// Supplemental REST Call
let publicEvents = [];
try {
const eventsRes = await octokit.request('GET /users/{username}/events/public', { username, per_page: 50 });
publicEvents = eventsRes.data;
} catch (e) {
console.warn('Could not fetch REST events', e);
}