{
  "generatedAt": "2026-10-29T07:15:19.602Z",
  "skills": [
    {
      "name": "arabic-rtl",
      "description": "Add full Arabic and right-to-left support to a web app (Next.js App Router and Tailwind first), covering locale routing, dir, logical CSS, mirroring, Arabic typography, numbers, dates, plurals, mixed-direction text, forms, translation and visual QA. Use when the user asks to add Arabic, RTL, or localize an app for Arabic speakers. Don't use for translating a single document.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/arabic-rtl",
      "latest": "0.1.1",
      "versions": [
        {
          "version": "0.1.1",
          "sha": "823cfe874318cf905ffcd8eb1051963c966059bd"
        }
      ],
      "category": [
        "i18n",
        "web"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "arabic",
      "kind": "quality",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "demo": {
        "screenshots": [
          "01-home-en.jpg",
          "01-home-ar.jpg",
          "02-pricing-en.jpg",
          "02-pricing-ar.jpg",
          "03-about-en.jpg",
          "03-about-ar.jpg",
          "04-contact-en.jpg",
          "04-contact-ar.jpg",
          "05-home-phone-en.jpg",
          "05-home-phone-ar.jpg",
          "06-pricing-phone-en.jpg",
          "06-pricing-phone-ar.jpg"
        ]
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:18.974Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "arch-visualize",
      "description": "Map a project's architecture from its code and config and generate one interactive, offline web page that shows each component with its technology icon, animated request flows between them, and possible risks such as a single database or missing rate limiting. Use when the user asks to visualize, map or explain a system's architecture or request flow. Don't use for UI mockups, live production monitoring or code-level call graphs.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/arch-visualize",
      "latest": "0.1.1",
      "versions": [
        {
          "version": "0.1.1",
          "sha": "3ff5cbf412cf332afb06e4ade4ac86dce996977d"
        }
      ],
      "category": [
        "architecture",
        "web"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "arch",
      "kind": "quality",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "demo": {
        "url": "/demos/arch-visualize/devpath.html",
        "caption": "DevPath is a Next.js learning platform with MongoDB, Redis and a job queue, three AI providers (Anthropic, OpenAI and Gemini), a code-execution sandbox and Docker-based practice labs. The page below is exactly what /arch-visualize generated for it, not a mock-up. It shows how requests would travel according to the code, not live traffic, and every risk is something to check, not a verdict.",
        "embed": true,
        "steps": [
          {
            "title": "Discover (a script)",
            "text": "discover.mjs read 4 files (package.json, docker-compose.yml, the Dockerfile and the .env.example variable names) and found 11 of the 12 components and 2 of the 13 connections. It counted .env.local as skipped and never opened it."
          },
          {
            "title": "Read (the agent)",
            "text": "The agent searched for where each service is created and read only those lines. It added the WebSocket server the scripts cannot see, 11 more connections each with a file and line, and marked 2 connections as inferred (dashed) because no file shows them."
          },
          {
            "title": "Write the flows (the agent)",
            "text": "4 request flows, each following the real code: run code in a lesson, ask the AI mentor, sign in with GitHub, and start an infra lab in the background. Press Play on each to watch it."
          },
          {
            "title": "Check (scripts)",
            "text": "model-check confirmed that every item has evidence or is marked inferred and that nothing looks like a secret. risk-check then added 3 possible risks by rule (a single database, no health check, data ports published to the host). The agent added 1 from its own reading: the Docker socket mounted into the app, with its file and line."
          },
          {
            "title": "Render (a script)",
            "text": "render.mjs wrote one offline HTML file of about 75 KB. It makes no network requests, which is why it can sit inside this page."
          }
        ],
        "screenshots": [
          "01-overview-light.jpg",
          "02-overview-dark.jpg",
          "03-request-flow.jpg",
          "04-response-flow.jpg",
          "05-node-evidence.jpg",
          "06-risks.jpg",
          "07-checkout-flow.jpg",
          "08-phone-list.jpg"
        ]
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 2,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.026Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "brand-guidelines",
      "description": "Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.",
      "source": "community",
      "author": "anthropics",
      "repo": "anthropics/skills",
      "path": "skills/brand-guidelines",
      "latest": "1.0.0",
      "versions": [
        {
          "version": "1.0.0",
          "sha": "dbd4588f9e1033efb41dad4bef2f7947c8993d44"
        },
        {
          "version": "0.9.0",
          "sha": "ef740771ac901e03fbca3ce4e1c453a96010f30a"
        }
      ],
      "category": [
        "design"
      ],
      "clients": [
        "claude-code"
      ],
      "runsScripts": false,
      "verified": false,
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 2,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.444Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "budget",
      "description": "Strict low-cost mode for the rest of the session, with tighter reading limits and terse replies. Slash command only. Run it when you want the agent to spend as few tokens as possible.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/budget",
      "latest": "1.0.0",
      "versions": [
        {
          "version": "1.0.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "workflow"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": false,
      "verified": true,
      "niche": "core",
      "kind": "saver",
      "tier": "core",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob"
        ],
        "writesFiles": false,
        "runsScripts": false,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.038Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "code-quality",
      "description": "Apply clear-code rules while writing or changing code, then run the project's own lint, type check and tests and fix what fails. Use when writing or editing code, when asked to clean up or tidy code, and before saying a coding task is done. Do not use for prose, design work or one-line fixes the user dictated exactly.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/code-quality",
      "latest": "1.0.0",
      "versions": [
        {
          "version": "1.0.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "code",
        "quality"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "code",
      "kind": "saver",
      "tier": "baseline",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.046Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "commit",
      "description": "Write a clear git commit for the current changes, splitting unrelated work into separate commits. Use when asked to commit or to split work into logical commits. Do not use to push, amend or rewrite history unless the user asks.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/commit",
      "latest": "1.1.0",
      "versions": [
        {
          "version": "1.1.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "code",
        "git"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": false,
      "verified": true,
      "niche": "core",
      "kind": "saver",
      "tier": "core",
      "permissions": {
        "tools": [
          "Read",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": false,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.049Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "db-migrate",
      "description": "Plan and write safe database migrations with reversible SQL, backfills and lock-time warnings, checked by a linter. Use when the user asks to change a table, add or drop a column or index, rename something or backfill data in an existing database. Do not use for designing a new schema from scratch or tuning queries.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/db-migrate",
      "latest": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "sha": "276ea59b8d8b1800044a137dd7d218e75e1d05e3"
        }
      ],
      "category": [
        "database"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "db",
      "kind": "saver",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.055Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "db-optimize-query",
      "description": "Speed up a slow SQL query by reading its execution plan, finding missing indexes and N+1 patterns, and proving the change with before and after timings. Use when the user reports a slow query, a slow page caused by the database, or asks to review query performance. Do not use for schema design or migrations.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/db-optimize-query",
      "latest": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "sha": "276ea59b8d8b1800044a137dd7d218e75e1d05e3"
        }
      ],
      "category": [
        "database"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "db",
      "kind": "saver",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.059Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "db-schema",
      "description": "Design or review a relational database schema from requirements, producing normalized tables, keys, constraints and indexes as a migration plus a short ER summary. Use when the user asks to design tables, model data, add an entity or review a schema. Do not use for query tuning, data migration of existing rows or non-relational stores.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/db-schema",
      "latest": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "sha": "276ea59b8d8b1800044a137dd7d218e75e1d05e3"
        }
      ],
      "category": [
        "database"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "db",
      "kind": "saver",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.063Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "db-seed",
      "description": "Generate realistic, deterministic seed or fixture data for a database from a short spec, as SQL inserts, JSON or CSV, with a seed so reruns match. Use when the user needs sample data, test fixtures or a populated development database. Do not use to copy or anonymize production data.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/db-seed",
      "latest": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "sha": "276ea59b8d8b1800044a137dd7d218e75e1d05e3"
        }
      ],
      "category": [
        "database"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "db",
      "kind": "saver",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.082Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "debug-trace",
      "description": "Debug a bug with hypotheses instead of guesses. Reproduce it, isolate it, verify the root cause, make the smallest fix and add a regression test. Use when the user reports a bug, an error, a crash or unexpected behavior and the cause is unknown. Do not use for planned features or refactors.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/debug-trace",
      "latest": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "sha": "276ea59b8d8b1800044a137dd7d218e75e1d05e3"
        }
      ],
      "category": [
        "debugging"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "debug",
      "kind": "saver",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.085Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "design-clean-saas",
      "description": "Build or extend a clean, minimal startup or SaaS website (landing page, pricing, about, contact) using this skill's component kit and design tokens. Use when the user asks for a minimal, modern product or startup site, or adds pages to a site already using this kit. Do not use for animation-heavy portfolios, dashboards, docs sites or dark editorial styles.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/design-clean-saas",
      "latest": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "sha": "a8bf5c03008ff968baccf8bf63bca006bc490bed"
        }
      ],
      "category": [
        "design",
        "web"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "design",
      "kind": "quality",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "demo": {
        "screenshots": [
          "01-hero.jpg",
          "02-features.jpg",
          "03-feature-split.jpg",
          "04-feature-split-reversed.jpg",
          "05-stats-and-testimonials.jpg",
          "06-faq-open.jpg",
          "07-newsletter-and-footer.jpg",
          "08-pricing-monthly.jpg",
          "09-pricing-yearly.jpg",
          "10-about-team.jpg",
          "11-contact-validation.jpg",
          "12-contact-sent.jpg",
          "13-reduced-motion.jpg",
          "14-phone-hero.jpg",
          "15-phone-menu.jpg",
          "16-phone-pricing.jpg"
        ]
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.107Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "design-motion-portfolio",
      "description": "Build or extend an animation-heavy, dark, editorial portfolio website (kinetic type, smooth scroll, scroll reveals) using this skill's component kit and design tokens. Use when the user asks for a motion-rich portfolio, studio or personal site in this style, or adds pages to a site already using this kit. Do not use for dashboards, docs sites, or minimal/corporate styles.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/design-motion-portfolio",
      "latest": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "sha": "c04b139bc8c705dc7be75829431ece7fcb47362c"
        }
      ],
      "category": [
        "design",
        "web"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "design",
      "kind": "quality",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "demo": {
        "screenshots": [
          "01-hero.jpg",
          "02-statement-and-numbers.jpg",
          "03-work-gallery-start.jpg",
          "04-work-gallery-scrolling.jpg",
          "05-services-hover.jpg",
          "06-contact-and-footer.jpg",
          "07-case-study.jpg",
          "08-menu-overlay.jpg",
          "10-about.jpg",
          "11-work-grid.jpg",
          "12-journal.jpg",
          "13-contact.jpg",
          "14-reduced-motion.jpg",
          "09-phone-hero.jpg",
          "15-phone-menu.jpg",
          "16-phone-work.jpg"
        ]
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.128Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "doc-coauthoring",
      "description": "Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.",
      "source": "community",
      "author": "anthropics",
      "repo": "anthropics/skills",
      "path": "skills/doc-coauthoring",
      "latest": "1.0.0",
      "versions": [
        {
          "version": "1.0.0",
          "sha": "dbd4588f9e1033efb41dad4bef2f7947c8993d44"
        }
      ],
      "category": [
        "writing"
      ],
      "clients": [
        "claude-code"
      ],
      "runsScripts": false,
      "verified": false,
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.587Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "edit",
      "description": "Tighten and clarify writing without changing its meaning or voice. Use when asked to edit, proofread or shorten an article, email, README or other document. Do not use to write new content or to change what an argument says.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/edit",
      "latest": "1.1.0",
      "versions": [
        {
          "version": "1.1.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "writing"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": false,
      "verified": true,
      "niche": "core",
      "kind": "quality",
      "tier": "core",
      "permissions": {
        "tools": [
          "Read",
          "Edit",
          "Write"
        ],
        "writesFiles": true,
        "runsScripts": false,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.130Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "explore",
      "description": "Map an unfamiliar codebase before changing it, reading only what the question needs. Use when asked to understand, survey or find where something lives in a repository, or before changing code you have not seen. Do not use when you already know where the change goes.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/explore",
      "latest": "1.1.0",
      "versions": [
        {
          "version": "1.1.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "code"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": false,
      "verified": true,
      "niche": "core",
      "kind": "saver",
      "tier": "core",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Bash"
        ],
        "writesFiles": false,
        "runsScripts": false,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.132Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "handoff",
      "description": "Write a short handoff note so a fresh session can resume cheaply, and read it at the start of the next one. Use when stopping work with something unfinished, when a session is getting long, or when asked to hand off. Do not use to record a finished task or to document the code.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/handoff",
      "latest": "1.0.0",
      "versions": [
        {
          "version": "1.0.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "workflow"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "core",
      "kind": "saver",
      "tier": "core",
      "permissions": {
        "tools": [
          "Read",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.134Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "implement",
      "description": "Carry out an agreed plan in small steps, checking each one before the next. Use after a plan is approved, or when asked to build or change something with clear requirements. Do not use when the requirements are still unclear; plan or ask first.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/implement",
      "latest": "1.1.0",
      "versions": [
        {
          "version": "1.1.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "code"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": false,
      "verified": true,
      "niche": "core",
      "kind": "saver",
      "tier": "core",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": false,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.136Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "plan",
      "description": "Turn a request into an ordered, checkable plan before touching any files. Use when a task spans several files or steps, when requirements are unclear, or when asked to plan first. Do not use for one-step changes or for questions that need an answer rather than a plan.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/plan",
      "latest": "1.1.0",
      "versions": [
        {
          "version": "1.1.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "code",
        "planning"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": false,
      "verified": true,
      "niche": "core",
      "kind": "saver",
      "tier": "core",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob"
        ],
        "writesFiles": false,
        "runsScripts": false,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.138Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "review",
      "description": "Review a diff for correctness, clarity and risk, and report findings by severity. Use when asked to review changes, a pull request or a commit. Do not use to write the fix; report first, change code only when asked.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/review",
      "latest": "1.1.0",
      "versions": [
        {
          "version": "1.1.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "code",
        "review"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": false,
      "verified": true,
      "niche": "core",
      "kind": "quality",
      "tier": "core",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Bash"
        ],
        "writesFiles": false,
        "runsScripts": false,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.139Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "rtl-check",
      "description": "After editing UI code in a project that supports right-to-left languages (it has i18n.config.json with an Arabic locale), check the changed files for RTL problems such as physical Tailwind classes, hardcoded dir=\"ltr\", unflipped directional icons and locale-less number or date formatting. Read-only. Use when you have just written or changed React, Next.js or CSS files in such a project. Don't use in projects without RTL support.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/rtl-check",
      "latest": "0.1.1",
      "versions": [
        {
          "version": "0.1.1",
          "sha": "823cfe874318cf905ffcd8eb1051963c966059bd"
        }
      ],
      "category": [
        "i18n",
        "web"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "rtl",
      "kind": "quality",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Bash"
        ],
        "writesFiles": false,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.146Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "test-fix",
      "description": "Fix failing tests from trimmed runner output, find the real cause, and never weaken an assertion without asking. Use when tests fail, CI is red, or the user asks to fix failing tests. Do not use to write new tests or to make a red suite green by deleting or skipping tests.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/test-fix",
      "latest": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "sha": "276ea59b8d8b1800044a137dd7d218e75e1d05e3"
        }
      ],
      "category": [
        "testing"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "test",
      "kind": "saver",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.151Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "test-write",
      "description": "Write tests only for the code that changed, using the project's own test framework and conventions, then run them. Use when the user asks to add tests, or after changing logic that has no tests. Do not use to rewrite a whole test suite or to chase coverage numbers.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/test-write",
      "latest": "0.1.0",
      "versions": [
        {
          "version": "0.1.0",
          "sha": "276ea59b8d8b1800044a137dd7d218e75e1d05e3"
        }
      ],
      "category": [
        "testing"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "test",
      "kind": "saver",
      "tier": "specialty",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.158Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "verify",
      "description": "Run the project's lint, type check and tests (and the route JavaScript budget when available) and print failures only, before calling work done. Use when finishing a coding task, before a commit or pull request, or when asked to check that everything still passes. Do not use as a substitute for reading the failures; fix what it reports.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/verify",
      "latest": "1.0.0",
      "versions": [
        {
          "version": "1.0.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "code",
        "quality"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "core",
      "kind": "saver",
      "tier": "core",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Bash"
        ],
        "writesFiles": false,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "A",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 0,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.162Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "web-performance",
      "description": "Keep a Next.js site fast while building or changing pages, components, images, fonts and animation, and check each route's JavaScript against a budget. Use when adding or editing pages, media or motion in a Next.js App Router project, or when asked to speed a site up. Do not use for backend-only work, non-Next.js stacks or visual design decisions.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/web-performance",
      "latest": "1.0.0",
      "versions": [
        {
          "version": "1.0.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "web",
        "performance"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "web",
      "kind": "saver",
      "tier": "baseline",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": false,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.166Z",
        "auditVersion": "1.0.0"
      }
    },
    {
      "name": "web-security",
      "description": "Apply web security rules while building or changing a Next.js app (input validation, authorization, secrets, headers, redirects, HTML, rate limits, dependencies) and run secret, header and dependency checks. Use when touching forms, server actions, route handlers, auth, data access, environment variables, next.config or dependencies, or when asked for a security review. Do not use for non-web code or for penetration testing a live site.",
      "source": "official",
      "author": "agentsaisle",
      "repo": "HazemSalah29/agentsaisle",
      "path": "registry/official/web-security",
      "latest": "1.0.0",
      "versions": [
        {
          "version": "1.0.0",
          "sha": "4036c95cc55ccac61b06741ec02478db44d69f62"
        }
      ],
      "category": [
        "web",
        "security"
      ],
      "clients": [
        "claude-code",
        "codex",
        "cursor"
      ],
      "runsScripts": true,
      "verified": true,
      "niche": "web",
      "kind": "saver",
      "tier": "baseline",
      "permissions": {
        "tools": [
          "Read",
          "Grep",
          "Glob",
          "Edit",
          "Write",
          "Bash"
        ],
        "writesFiles": true,
        "runsScripts": true,
        "network": true,
        "needsApiKeys": []
      },
      "audit": {
        "grade": "B",
        "counts": {
          "critical": 0,
          "high": 0,
          "medium": 1,
          "low": 0,
          "info": 4
        },
        "auditedAt": "2026-10-29T07:15:19.181Z",
        "auditVersion": "1.0.0"
      }
    }
  ],
  "profiles": [
    {
      "id": "code",
      "name": "Code",
      "description": "Plan, build, check and commit changes in a software project.",
      "skills": [
        "plan",
        "implement",
        "explore",
        "review",
        "commit"
      ]
    },
    {
      "id": "writing",
      "name": "Writing",
      "description": "Edit prose and keep documents on-brand.",
      "skills": [
        "edit",
        "brand-guidelines"
      ]
    },
    {
      "id": "media",
      "name": "Media",
      "description": "Design and brand work. This bundle grows as video and image skills are added.",
      "skills": [
        "brand-guidelines"
      ]
    },
    {
      "id": "motion-portfolio-site",
      "name": "Motion portfolio site",
      "description": "A dark, animation-heavy portfolio built from one component kit, with the checks that keep it fast, safe and clean.",
      "skills": [
        "design-motion-portfolio",
        "code-quality",
        "web-performance",
        "web-security",
        "verify"
      ],
      "aisle": "web-design"
    },
    {
      "id": "clean-saas-site",
      "name": "Clean SaaS site",
      "description": "A minimal startup or SaaS site built from one component kit, with the checks that keep it fast, safe and clean.",
      "skills": [
        "design-clean-saas",
        "code-quality",
        "web-performance",
        "web-security",
        "verify"
      ],
      "aisle": "web-design"
    }
  ],
  "questions": [
    {
      "id": "focus",
      "prompt": "What do you mostly make with your agent?",
      "options": [
        {
          "label": "Software",
          "adds": [
            "explore",
            "implement",
            "commit"
          ]
        },
        {
          "label": "Video, images and design",
          "adds": [
            "brand-guidelines"
          ]
        },
        {
          "label": "Articles and docs",
          "adds": [
            "edit"
          ]
        },
        {
          "label": "A bit of everything",
          "adds": [
            "explore",
            "edit"
          ]
        }
      ]
    },
    {
      "id": "start",
      "prompt": "How do you like to start a task?",
      "options": [
        {
          "label": "Plan first, then build",
          "adds": [
            "plan"
          ]
        },
        {
          "label": "Just start",
          "adds": []
        }
      ]
    },
    {
      "id": "codebase",
      "prompt": "Do you often work in a codebase you did not write?",
      "options": [
        {
          "label": "Yes",
          "adds": [
            "explore"
          ]
        },
        {
          "label": "No",
          "adds": []
        }
      ]
    },
    {
      "id": "second-pair",
      "prompt": "Do you want a second pair of eyes on finished work?",
      "options": [
        {
          "label": "Yes, review it",
          "adds": [
            "review"
          ]
        },
        {
          "label": "No, I will check it myself",
          "adds": []
        }
      ]
    },
    {
      "id": "commits",
      "prompt": "Should your agent write your git commits?",
      "options": [
        {
          "label": "Yes",
          "adds": [
            "commit"
          ]
        },
        {
          "label": "No",
          "adds": []
        }
      ]
    }
  ],
  "aisles": [
    {
      "id": "baseline",
      "name": "Baseline",
      "description": "Habits every project benefits from. The core kit and a quality check for every change.",
      "niches": [
        "core",
        "code"
      ]
    },
    {
      "id": "web-design",
      "name": "Web design",
      "description": "Complete visual systems with a component kit, so every page follows one design.",
      "niches": [
        "design"
      ]
    },
    {
      "id": "frontend",
      "name": "Frontend",
      "description": "Keep websites fast and safe while you build them.",
      "niches": [
        "web"
      ]
    },
    {
      "id": "database",
      "name": "Database",
      "description": "Design schemas, migrate them safely, speed up queries and seed test data.",
      "niches": [
        "db"
      ]
    },
    {
      "id": "testing",
      "name": "Testing and debugging",
      "description": "Write tests for what changed, fix failures without weakening tests, and debug with evidence.",
      "niches": [
        "test",
        "debug"
      ]
    },
    {
      "id": "localization",
      "name": "Localization",
      "description": "Make an app work in more languages, starting with Arabic and right-to-left layouts.",
      "niches": [
        "arabic",
        "rtl"
      ]
    },
    {
      "id": "architecture",
      "name": "Architecture",
      "description": "Map how a system fits together from its code, with animated request flows and possible risks.",
      "niches": [
        "arch"
      ]
    },
    {
      "id": "media",
      "name": "Media",
      "description": "Images and video. Coming later.",
      "niches": [
        "image",
        "video"
      ]
    }
  ],
  "elsewhere": [
    {
      "name": "frontend-design",
      "author": "Anthropic",
      "repo": "anthropics/skills",
      "path": "skills/frontend-design",
      "description": "Guidance for distinctive visual design when building or reshaping a user interface.",
      "license": "Apache-2.0",
      "aisle": "web-design"
    },
    {
      "name": "webapp-testing",
      "author": "Anthropic",
      "repo": "anthropics/skills",
      "path": "skills/webapp-testing",
      "description": "Test and debug local web apps with Playwright, including screenshots and browser logs.",
      "license": "Apache-2.0",
      "aisle": "testing"
    },
    {
      "name": "skill-creator",
      "author": "Anthropic",
      "repo": "anthropics/skills",
      "path": "skills/skill-creator",
      "description": "Create, improve and measure other skills.",
      "license": "Apache-2.0",
      "aisle": "baseline"
    },
    {
      "name": "react-best-practices",
      "author": "Vercel",
      "repo": "vercel-labs/agent-skills",
      "path": "skills/react-best-practices",
      "description": "Performance guidelines for React and Next.js code.",
      "license": "MIT",
      "aisle": "frontend"
    },
    {
      "name": "composition-patterns",
      "author": "Vercel",
      "repo": "vercel-labs/agent-skills",
      "path": "skills/composition-patterns",
      "description": "React component composition patterns that scale.",
      "license": "MIT",
      "aisle": "frontend"
    },
    {
      "name": "systematic-debugging",
      "author": "Jesse Vincent",
      "repo": "obra/superpowers",
      "path": "skills/systematic-debugging",
      "description": "A disciplined process for bugs, test failures and unexpected behavior.",
      "license": "MIT",
      "aisle": "testing"
    },
    {
      "name": "test-driven-development",
      "author": "Jesse Vincent",
      "repo": "obra/superpowers",
      "path": "skills/test-driven-development",
      "description": "Write the test first when implementing a feature or fixing a bug.",
      "license": "MIT",
      "aisle": "testing"
    },
    {
      "name": "brainstorming",
      "author": "Jesse Vincent",
      "repo": "obra/superpowers",
      "path": "skills/brainstorming",
      "description": "Explore intent and options before starting creative or build work.",
      "license": "MIT",
      "aisle": "baseline"
    },
    {
      "name": "handoff",
      "author": "Matt Pocock",
      "repo": "mattpocock/skills",
      "path": "skills/productivity/handoff",
      "description": "Compact the current conversation into a handoff for another session.",
      "license": "MIT",
      "aisle": "baseline"
    },
    {
      "name": "grill-me",
      "author": "Matt Pocock",
      "repo": "mattpocock/skills",
      "path": "skills/productivity/grill-me",
      "description": "An interview that sharpens a plan or design.",
      "license": "MIT",
      "aisle": "baseline"
    },
    {
      "name": "differential-review",
      "author": "Trail of Bits",
      "repo": "trailofbits/skills",
      "path": "plugins/differential-review/skills/differential-review",
      "description": "Security-focused review of a code change.",
      "license": "CC-BY-SA-4.0",
      "aisle": "baseline"
    },
    {
      "name": "supabase-postgres-best-practices",
      "author": "Supabase",
      "repo": "supabase/agent-skills",
      "path": "skills/supabase-postgres-best-practices",
      "description": "Postgres schema, migration, security and performance practices.",
      "license": "MIT",
      "aisle": "database"
    },
    {
      "name": "caveman-compress",
      "author": "Julius Brussee",
      "repo": "JuliusBrussee/caveman",
      "path": "plugins/caveman/skills/caveman-compress",
      "description": "Shrinks a memory file to save input tokens.",
      "license": "Apache-2.0",
      "aisle": "baseline"
    }
  ],
  "houseRules": "## Agent Aisle house rules\n\n- Search before you read. Find the right spot with grep or a symbol search, then read line ranges instead of whole files, and stop after a few files per step.\n- Change only what the task needs. No drive-by refactors, renames or formatting sweeps.\n- When something is unclear, state your assumption in one line and carry on. Ask only when a wrong guess would be costly.\n- Do not recap work the user can already see in the diff. End with a short summary: what changed, what you ran, what is left.\n- Run the project's own checks (tests, type check, lint) before you say a task is done, and report any that fail.\n- If a DESIGN.md exists at the project root, every UI change follows it."
}
