{
  "schema": 1,
  "taxonomy": {
    "version": 1,
    "languages": {
      "bash": "Bash",
      "c": "C",
      "cpp": "C++",
      "csharp": "C#",
      "dart": "Dart",
      "elixir": "Elixir",
      "go": "Go",
      "java": "Java",
      "javascript": "JavaScript",
      "kotlin": "Kotlin",
      "lua": "Lua",
      "php": "PHP",
      "python": "Python",
      "ruby": "Ruby",
      "rust": "Rust",
      "scala": "Scala",
      "sql": "SQL",
      "swift": "Swift",
      "typescript": "TypeScript"
    },
    "stack": {
      "dotnet": ".NET",
      "aspnetcore": "ASP.NET Core",
      "efcore": "Entity Framework Core",
      "blazor": "Blazor",
      "maui": ".NET MAUI",
      "node": "Node.js",
      "commander": "Commander",
      "hono": "Hono",
      "express": "Express",
      "fastify": "Fastify",
      "nestjs": "NestJS",
      "nextjs": "Next.js",
      "react": "React",
      "vue": "Vue",
      "svelte": "Svelte",
      "angular": "Angular",
      "astro": "Astro",
      "tailwind": "Tailwind CSS",
      "vite": "Vite",
      "go": "Go",
      "cobra": "Cobra",
      "python": "Python",
      "typer": "Typer",
      "celery": "Celery",
      "langgraph": "LangGraph",
      "django": "Django",
      "fastapi": "FastAPI",
      "flask": "Flask",
      "spring-boot": "Spring Boot",
      "ktor": "Ktor",
      "rails": "Ruby on Rails",
      "laravel": "Laravel",
      "gin": "Gin",
      "axum": "Axum",
      "phoenix": "Phoenix",
      "flutter": "Flutter",
      "react-native": "React Native",
      "swiftui": "SwiftUI",
      "jetpack-compose": "Jetpack Compose",
      "unity": "Unity",
      "godot": "Godot",
      "unreal": "Unreal Engine",
      "bevy": "Bevy",
      "postgres": "PostgreSQL",
      "mysql": "MySQL",
      "sqlite": "SQLite",
      "sqlserver": "SQL Server",
      "mongodb": "MongoDB",
      "redis": "Redis",
      "docker": "Docker",
      "kubernetes": "Kubernetes",
      "terraform": "Terraform",
      "github-actions": "GitHub Actions",
      "aws": "AWS",
      "azure": "Azure",
      "gcp": "Google Cloud",
      "cloudflare": "Cloudflare",
      "vercel": "Vercel",
      "mcp": "Model Context Protocol"
    },
    "platforms": {
      "ios": "iOS",
      "android": "Android",
      "web": "Web",
      "windows": "Windows",
      "macos": "macOS",
      "linux": "Linux",
      "docker": "Docker",
      "cloud": "Cloud"
    },
    "distribution": {
      "free": "Free",
      "ads": "Ad-supported",
      "paid": "Paid",
      "iap": "In-app purchase",
      "open-source": "Open source",
      "saas": "SaaS",
      "internal": "Internal"
    },
    "project_type": {
      "api": "API service",
      "web": "Web application",
      "mobile": "Mobile application",
      "game": "Game",
      "cli": "Command-line tool",
      "lib": "Library",
      "data": "Data or analytics",
      "agent": "AI agent or MCP server",
      "infra": "Infrastructure"
    },
    "audience": {
      "beginner": "Beginner",
      "intermediate": "Intermediate",
      "advanced": "Advanced"
    },
    "requirements": {
      "auth": "Authentication",
      "rbac": "Role-based access control",
      "multi-tenant": "Multi-tenancy",
      "payments": "Payments",
      "realtime": "Realtime updates",
      "offline": "Offline support",
      "background-jobs": "Background jobs",
      "caching": "Caching",
      "search": "Full-text search",
      "file-upload": "File upload and storage",
      "email": "Transactional email",
      "notifications": "Push notifications",
      "i18n": "Internationalization",
      "accessibility": "Accessibility",
      "seo": "SEO",
      "analytics": "Product analytics",
      "observability": "Logging, metrics and tracing",
      "rate-limiting": "Rate limiting",
      "api-docs": "API documentation",
      "testing": "Automated testing",
      "ci": "Continuous integration",
      "cd": "Continuous delivery",
      "iac": "Infrastructure as code",
      "containerization": "Containerization",
      "monorepo": "Monorepo layout",
      "migrations": "Database migrations"
    },
    "domains": {
      "software": "Software engineering",
      "data": "Data and analytics",
      "ai": "AI and machine learning",
      "security": "Security",
      "devops": "DevOps and platform",
      "quality": "Quality engineering",
      "product": "Product management",
      "design": "Design",
      "docs": "Technical writing",
      "research": "Research",
      "finance": "Finance and analytics",
      "legal": "Legal and compliance",
      "education": "Education and training",
      "marketing": "Marketing",
      "operations": "Operations",
      "support": "Customer support"
    },
    "roles": {
      "software-architect": "Software architect",
      "backend-engineer": "Backend engineer",
      "frontend-engineer": "Frontend engineer",
      "fullstack-engineer": "Full-stack engineer",
      "mobile-engineer": "Mobile engineer",
      "game-developer": "Game developer",
      "embedded-engineer": "Embedded engineer",
      "api-designer": "API designer",
      "performance-engineer": "Performance engineer",
      "data-engineer": "Data engineer",
      "data-scientist": "Data scientist",
      "analytics-engineer": "Analytics engineer",
      "database-administrator": "Database administrator",
      "ml-engineer": "Machine learning engineer",
      "mlops-engineer": "MLOps engineer",
      "prompt-engineer": "Prompt engineer",
      "agent-designer": "Agent designer",
      "security-reviewer": "Security reviewer",
      "appsec-engineer": "Application security engineer",
      "penetration-tester": "Penetration tester",
      "privacy-engineer": "Privacy engineer",
      "platform-engineer": "Platform engineer",
      "site-reliability-engineer": "Site reliability engineer",
      "cloud-architect": "Cloud architect",
      "release-manager": "Release manager",
      "observability-engineer": "Observability engineer",
      "qa-automation-lead": "QA automation lead",
      "test-engineer": "Test engineer",
      "accessibility-specialist": "Accessibility specialist",
      "product-manager": "Product manager",
      "technical-program-manager": "Technical program manager",
      "business-analyst": "Business analyst",
      "ux-designer": "UX designer",
      "ui-designer": "UI designer",
      "design-systems-lead": "Design systems lead",
      "ux-researcher": "UX researcher",
      "technical-writer": "Technical writer",
      "documentation-architect": "Documentation architect",
      "developer-advocate": "Developer advocate",
      "research-engineer": "Research engineer",
      "literature-reviewer": "Literature reviewer",
      "financial-analyst": "Financial analyst",
      "pricing-analyst": "Pricing analyst",
      "revenue-analyst": "Revenue analyst",
      "compliance-officer": "Compliance officer",
      "contract-analyst": "Contract analyst",
      "data-protection-officer": "Data protection officer",
      "curriculum-designer": "Curriculum designer",
      "instructional-designer": "Instructional designer",
      "coding-mentor": "Coding mentor",
      "content-strategist": "Content strategist",
      "growth-marketer": "Growth marketer",
      "seo-specialist": "SEO specialist",
      "operations-manager": "Operations manager",
      "project-manager": "Project manager",
      "supply-chain-analyst": "Supply chain analyst",
      "support-engineer": "Support engineer",
      "incident-commander": "Incident commander"
    },
    "seniority": {
      "mid": "Mid-level",
      "senior": "Senior",
      "principal": "Principal"
    },
    "deliverables": {
      "adr": "Architecture decision record",
      "architecture-review": "Architecture review",
      "c4-diagram": "C4 diagram",
      "sequence-diagram": "Sequence diagram",
      "data-model": "Data model",
      "api-design-review": "API design review",
      "api-spec": "API specification",
      "threat-model": "Threat model",
      "threat-model-review": "Threat model review",
      "security-review": "Security review",
      "dependency-audit": "Dependency audit",
      "code-review": "Code review",
      "refactoring-plan": "Refactoring plan",
      "performance-report": "Performance report",
      "test-plan": "Test plan",
      "test-suite": "Test suite",
      "accessibility-audit": "Accessibility audit",
      "runbook": "Runbook",
      "incident-review": "Incident review",
      "slo-definition": "SLO definition",
      "observability-plan": "Observability plan",
      "release-plan": "Release plan",
      "migration-plan": "Migration plan",
      "infrastructure-plan": "Infrastructure plan",
      "cost-review": "Cost review",
      "product-brief": "Product brief",
      "user-story-set": "User story set",
      "roadmap": "Roadmap",
      "delivery-plan": "Delivery plan",
      "assumption-log": "Assumption log",
      "delivery-report": "Delivery report",
      "research-summary": "Research summary",
      "usability-review": "Usability review",
      "design-spec": "Design specification",
      "content-outline": "Content outline",
      "documentation-set": "Documentation set",
      "tutorial": "Tutorial",
      "compliance-checklist": "Compliance checklist",
      "privacy-review": "Privacy review",
      "data-quality-report": "Data quality report",
      "analysis-notebook": "Analysis notebook",
      "dashboard-spec": "Dashboard specification",
      "pricing-model": "Pricing model",
      "evaluation-harness": "Evaluation harness",
      "prompt-suite": "Prompt suite"
    },
    "integration_kind": {
      "mcp": "MCP server",
      "plugin": "Plugin",
      "connector": "Connector"
    },
    "agents": {
      "claude-code": "Claude Code",
      "cline": "Cline",
      "codex": "Codex CLI",
      "copilot-cli": "GitHub Copilot CLI",
      "cursor": "Cursor",
      "gemini-cli": "Gemini CLI",
      "kiro": "Kiro",
      "opencode": "OpenCode",
      "windsurf": "Windsurf"
    },
    "tier": {
      "community": "Community",
      "verified": "Verified",
      "official": "Official"
    },
    "aliases": {
      "languages": {
        "golang": "go",
        "js": "javascript",
        "ts": "typescript",
        "py": "python",
        "c-sharp": "csharp",
        "dotnet": "csharp",
        ".net": "csharp",
        "node": "javascript",
        "nodejs": "javascript",
        "node-js": "javascript"
      },
      "stack": {
        "asp.net": "aspnetcore",
        "aspnet": "aspnetcore",
        "asp.net-core": "aspnetcore",
        "entity-framework": "efcore",
        "entity-framework-core": "efcore",
        "ef": "efcore",
        "psql": "postgres",
        "mssql": "sqlserver",
        "k8s": "kubernetes",
        "gha": "github-actions",
        "actions": "github-actions",
        "next": "nextjs",
        "nest": "nestjs",
        "rn": "react-native",
        "ue": "unreal"
      },
      "project_type": {
        "rest-api": "api",
        "backend": "api",
        "service": "api",
        "website": "web",
        "frontend": "web",
        "library": "lib",
        "package": "lib",
        "tool": "cli",
        "command-line": "cli",
        "mcp-server": "agent",
        "mcp": "agent"
      },
      "distribution": {
        "oss": "open-source",
        "opensource": "open-source",
        "subscription": "saas",
        "b2b": "saas",
        "in-app-purchase": "iap"
      },
      "requirements": {
        "authentication": "auth",
        "authn": "auth",
        "login": "auth",
        "authz": "rbac",
        "roles": "rbac",
        "permissions": "rbac",
        "multitenancy": "multi-tenant",
        "multi-tenancy": "multi-tenant",
        "tenancy": "multi-tenant",
        "websockets": "realtime",
        "real-time": "realtime",
        "queues": "background-jobs",
        "workers": "background-jobs",
        "cron": "background-jobs",
        "uploads": "file-upload",
        "storage": "file-upload",
        "smtp": "email",
        "localization": "i18n",
        "a11y": "accessibility",
        "telemetry": "observability",
        "logging": "observability",
        "metrics": "observability",
        "tracing": "observability",
        "tests": "testing",
        "docker": "containerization",
        "containers": "containerization",
        "infrastructure-as-code": "iac",
        "terraform": "iac"
      }
    }
  },
  "blueprints": [
    {
      "slug": "astro-content-site",
      "name": "Astro Content Site",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Static content site in Astro with Tailwind, a typed content collection, and tests that assert the built HTML carries the SEO and accessibility work.",
      "stack": [
        "astro",
        "tailwind"
      ],
      "languages": [
        "typescript"
      ],
      "platforms": [
        "web",
        "linux",
        "macos",
        "windows"
      ],
      "distribution": [
        "open-source",
        "free"
      ],
      "project_type": "web",
      "audience": [
        "beginner",
        "intermediate"
      ],
      "requirements": [
        "seo",
        "accessibility",
        "ci"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {
        "content": [
          "markdown",
          "mdx"
        ]
      },
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "node>=22.12"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "dotnet-mcp-server",
      "name": "C# MCP Server",
      "version": "1.2.0",
      "tier": "official",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "MCP server in C# on the official ModelContextProtocol SDK, over stdio or streamable HTTP.",
      "stack": [
        "dotnet",
        "mcp"
      ],
      "languages": [
        "csharp"
      ],
      "platforms": [
        "windows",
        "linux",
        "macos"
      ],
      "distribution": [
        "open-source",
        "internal"
      ],
      "project_type": "agent",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "ci",
        "testing"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {
        "transport": [
          "stdio",
          "http"
        ]
      },
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "dotnet>=10",
        "node>=20"
      ],
      "provenance": "human",
      "recommended_experts": [
        "dotnet-senior-architect",
        "security-reviewer"
      ],
      "recommended_crew": null,
      "integrations": [
        "github-mcp",
        "context7-mcp"
      ],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "dotnet-multitenant-saas-api",
      "name": "Multi-tenant SaaS API",
      "version": "1.2.1",
      "tier": "official",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "ASP.NET Core 10 SaaS API with tenant isolation enforced in the data layer and proven by tests.",
      "stack": [
        "dotnet",
        "aspnetcore",
        "efcore"
      ],
      "languages": [
        "csharp"
      ],
      "platforms": [
        "linux",
        "docker"
      ],
      "distribution": [
        "saas"
      ],
      "project_type": "api",
      "audience": [
        "advanced"
      ],
      "requirements": [
        "multi-tenant",
        "auth",
        "ci",
        "containerization"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {
        "database": [
          "postgres",
          "sqlserver"
        ],
        "tenancy": [
          "shared-db-tenant-column",
          "db-per-tenant"
        ]
      },
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "dotnet>=10",
        "docker",
        "curl"
      ],
      "provenance": "human",
      "recommended_experts": [
        "dotnet-senior-architect",
        "sql-data-engineer",
        "security-reviewer"
      ],
      "recommended_crew": "saas-launch-crew",
      "integrations": [
        "github-mcp",
        "sentry-mcp"
      ],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "dotnet-web-api",
      "name": "ASP.NET Core REST API",
      "version": "1.1.0",
      "tier": "official",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "ASP.NET Core 10 minimal API with EF Core, bearer authentication, a container image and CI.",
      "stack": [
        "dotnet",
        "aspnetcore",
        "efcore"
      ],
      "languages": [
        "csharp"
      ],
      "platforms": [
        "linux",
        "docker"
      ],
      "distribution": [
        "internal",
        "saas"
      ],
      "project_type": "api",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "auth",
        "ci",
        "containerization"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {
        "database": [
          "postgres",
          "sqlserver"
        ],
        "auth": [
          "jwt",
          "oidc"
        ]
      },
      "provides": {
        "mcp": [],
        "skills": [
          "efcore-migrations"
        ]
      },
      "requires_tools": [
        "dotnet>=10",
        "docker",
        "curl"
      ],
      "provenance": "human",
      "recommended_experts": [
        "dotnet-senior-architect",
        "security-reviewer",
        "qa-automation-lead"
      ],
      "recommended_crew": "api-hardening-crew",
      "integrations": [
        "github-mcp",
        "context7-mcp"
      ],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md",
        "skills/efcore-migrations/SKILL.md"
      ],
      "i18n": []
    },
    {
      "slug": "fastapi-service",
      "name": "FastAPI Service",
      "version": "1.0.1",
      "tier": "official",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "FastAPI service with SQLAlchemy, bearer token verification, a container image and CI.",
      "stack": [
        "fastapi",
        "postgres"
      ],
      "languages": [
        "python"
      ],
      "platforms": [
        "linux",
        "docker"
      ],
      "distribution": [
        "internal",
        "saas"
      ],
      "project_type": "api",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "auth",
        "ci",
        "containerization"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {
        "database": [
          "postgres",
          "sqlite"
        ]
      },
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "python>=3.11",
        "docker",
        "curl"
      ],
      "provenance": "human",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "go-cli",
      "name": "Go CLI",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Command-line tool in Go on Cobra, with commands tested through the real parser and a binary that builds from a checkout.",
      "stack": [
        "go",
        "cobra"
      ],
      "languages": [
        "go"
      ],
      "platforms": [
        "windows",
        "linux",
        "macos"
      ],
      "distribution": [
        "open-source",
        "internal"
      ],
      "project_type": "cli",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "ci",
        "testing"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {},
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "go>=1.22"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "go-http-service",
      "name": "Go HTTP Service",
      "version": "1.1.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "HTTP service in Go on Gin with bearer token verification, a distroless container, and tests that prove an unauthenticated request is refused.",
      "stack": [
        "go",
        "gin",
        "docker"
      ],
      "languages": [
        "go"
      ],
      "platforms": [
        "linux",
        "docker"
      ],
      "distribution": [
        "open-source",
        "internal",
        "saas"
      ],
      "project_type": "api",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "auth",
        "ci",
        "containerization"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {},
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "go>=1.25",
        "docker",
        "curl"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "langgraph-agent",
      "name": "LangGraph Agent",
      "version": "1.1.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Agent on LangGraph with one narrow tool, a bounded loop, and tests that drive the whole graph with a fake model — no API key needed.",
      "stack": [
        "python",
        "langgraph"
      ],
      "languages": [
        "python"
      ],
      "platforms": [
        "linux",
        "macos",
        "windows"
      ],
      "distribution": [
        "open-source",
        "internal"
      ],
      "project_type": "agent",
      "audience": [
        "advanced"
      ],
      "requirements": [
        "ci",
        "testing"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {},
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "python>=3.10"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "nextjs-fullstack-app",
      "name": "Next.js Full-stack App",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Full-stack Next.js application with Tailwind and Postgres through Drizzle, with migrations generated, applied and proved by a test.",
      "stack": [
        "nextjs",
        "react",
        "tailwind",
        "postgres"
      ],
      "languages": [
        "typescript"
      ],
      "platforms": [
        "web",
        "linux",
        "docker"
      ],
      "distribution": [
        "open-source",
        "saas",
        "internal"
      ],
      "project_type": "web",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "migrations",
        "ci",
        "testing"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {},
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "node>=22",
        "docker"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "node-cli",
      "name": "Node.js CLI",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Command-line tool in TypeScript on Commander, with the parsing tested in-process and a binary that runs from a checkout.",
      "stack": [
        "node",
        "commander"
      ],
      "languages": [
        "typescript"
      ],
      "platforms": [
        "windows",
        "linux",
        "macos"
      ],
      "distribution": [
        "open-source",
        "internal"
      ],
      "project_type": "cli",
      "audience": [
        "beginner",
        "intermediate"
      ],
      "requirements": [
        "ci",
        "testing"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {},
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "node>=20"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "python-background-worker",
      "name": "Python Background Worker",
      "version": "1.1.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Celery worker with Redis as the broker, retry and acknowledgement decided explicitly, and a check that puts a real job through a real worker.",
      "stack": [
        "python",
        "celery",
        "redis",
        "docker"
      ],
      "languages": [
        "python"
      ],
      "platforms": [
        "linux",
        "docker"
      ],
      "distribution": [
        "open-source",
        "internal",
        "saas"
      ],
      "project_type": "data",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "background-jobs",
        "ci",
        "containerization"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {},
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "python>=3.10",
        "docker"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "python-cli",
      "name": "Python CLI",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Command-line tool in Python on Typer, with commands tested through the real parser and a module that runs with python -m.",
      "stack": [
        "python",
        "typer"
      ],
      "languages": [
        "python"
      ],
      "platforms": [
        "windows",
        "linux",
        "macos"
      ],
      "distribution": [
        "open-source",
        "internal"
      ],
      "project_type": "cli",
      "audience": [
        "beginner",
        "intermediate"
      ],
      "requirements": [
        "ci",
        "testing"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {},
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "python>=3.10"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "python-mcp-server",
      "name": "Python MCP Server",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "MCP server in Python on the official SDK, over stdio or streamable HTTP, with tests that speak the protocol in-process.",
      "stack": [
        "python",
        "mcp"
      ],
      "languages": [
        "python"
      ],
      "platforms": [
        "windows",
        "linux",
        "macos"
      ],
      "distribution": [
        "open-source",
        "internal"
      ],
      "project_type": "agent",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "ci",
        "testing"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {
        "transport": [
          "stdio",
          "http"
        ]
      },
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "python>=3.10",
        "curl"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "terraform-module",
      "name": "Terraform Module",
      "version": "1.1.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Reusable Terraform module with validated inputs, an example, and native tests that prove both the outputs and the refusals without touching a cloud.",
      "stack": [
        "terraform",
        "github-actions"
      ],
      "languages": [
        "bash"
      ],
      "platforms": [
        "linux",
        "macos",
        "windows",
        "cloud"
      ],
      "distribution": [
        "open-source",
        "internal"
      ],
      "project_type": "infra",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "iac",
        "ci",
        "testing"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {},
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "terraform>=1.9"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "ts-http-service",
      "name": "TypeScript HTTP Service",
      "version": "1.1.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "HTTP service in TypeScript on Hono with bearer token verification, a container, and tests that prove an unauthenticated request is refused.",
      "stack": [
        "node",
        "hono",
        "docker"
      ],
      "languages": [
        "typescript"
      ],
      "platforms": [
        "linux",
        "docker"
      ],
      "distribution": [
        "open-source",
        "internal",
        "saas"
      ],
      "project_type": "api",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "auth",
        "ci",
        "containerization"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {},
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "node>=22",
        "docker",
        "curl"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "ts-library",
      "name": "TypeScript Library",
      "version": "1.1.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Publishable TypeScript library with an exports map, type declarations, a test suite, and a release workflow that publishes from a tag with npm provenance.",
      "stack": [
        "node"
      ],
      "languages": [
        "typescript"
      ],
      "platforms": [
        "windows",
        "linux",
        "macos"
      ],
      "distribution": [
        "open-source"
      ],
      "project_type": "lib",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "ci",
        "cd",
        "testing"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {},
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "node>=20"
      ],
      "provenance": "generated",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    },
    {
      "slug": "ts-mcp-server",
      "name": "TypeScript MCP Server",
      "version": "1.1.0",
      "tier": "official",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "MCP server in TypeScript on the official SDK, over stdio or streamable HTTP, with tests that speak the protocol.",
      "stack": [
        "node",
        "mcp"
      ],
      "languages": [
        "typescript"
      ],
      "platforms": [
        "windows",
        "linux",
        "macos"
      ],
      "distribution": [
        "open-source",
        "internal"
      ],
      "project_type": "agent",
      "audience": [
        "intermediate"
      ],
      "requirements": [
        "ci",
        "testing"
      ],
      "agents": [
        "claude-code"
      ],
      "options": {
        "transport": [
          "stdio",
          "http"
        ]
      },
      "provides": {
        "mcp": [],
        "skills": []
      },
      "requires_tools": [
        "node>=20",
        "curl"
      ],
      "provenance": "human",
      "recommended_experts": [],
      "recommended_crew": null,
      "integrations": [],
      "deprecated": false,
      "supersedes": null,
      "files": [
        "AGENTS.md",
        "CHANGELOG.md",
        "manifest.yaml",
        "overview.md",
        "setup.md"
      ],
      "i18n": []
    }
  ],
  "agents": [
    {
      "id": "claude-code",
      "name": "Claude Code",
      "vendor": "Anthropic",
      "kind": "cli",
      "mcp": {
        "stdio": true,
        "http": true,
        "sse": true
      },
      "context_files": [
        "CLAUDE.md",
        ".claude/CLAUDE.md",
        ".claude/rules/*.md",
        "AGENTS.md"
      ],
      "context_note": "AGENTS.md is read directly from v2.1.277; where it is not available, a CLAUDE.md that imports it covers the same ground.",
      "skill_format": "SKILL.md",
      "skill_path": ".claude/skills/<name>/SKILL.md",
      "install_mcp": "claude mcp add-json <name> '<json>'",
      "secrets_via": [
        "env",
        "oauth",
        "ui"
      ],
      "headless": true,
      "headless_command": "claude -p \"<prompt>\"",
      "limits": "Project instruction loading is configurable, so which file an agent reads depends on a setting the catalog cannot see.",
      "render": {
        "path": "CLAUDE.md",
        "frontmatter": null,
        "max_chars": null
      },
      "docs": "https://code.claude.com/docs/en/memory",
      "last_checked": "2026-09-23"
    },
    {
      "id": "codex",
      "name": "Codex CLI",
      "vendor": "OpenAI",
      "kind": "cli",
      "mcp": {
        "stdio": true,
        "http": true,
        "sse": false
      },
      "context_files": [
        "AGENTS.md",
        ".codex/config.toml"
      ],
      "context_note": "Instructions are read from ~/.codex/AGENTS.md, then each AGENTS.md on the way down to the working directory; AGENTS.override.md replaces broader guidance for one subtree.",
      "skill_format": null,
      "skill_path": null,
      "install_mcp": "codex mcp add <name> --env KEY=VALUE -- <command>",
      "secrets_via": [
        "env",
        "oauth",
        "headers"
      ],
      "headless": true,
      "headless_command": "codex exec \"<prompt>\"",
      "limits": "Project-scoped .codex/config.toml only loads in a trusted directory; the first encounter in an untrusted one prompts before any server starts.",
      "render": {
        "path": "AGENTS.md",
        "frontmatter": null,
        "max_chars": null
      },
      "docs": "https://learn.chatgpt.com/docs/extend/mcp?surface=cli",
      "last_checked": "2026-09-23"
    },
    {
      "id": "copilot-cli",
      "name": "GitHub Copilot CLI",
      "vendor": "GitHub",
      "kind": "cli",
      "mcp": {
        "stdio": true,
        "http": true,
        "sse": false
      },
      "context_files": [
        ".github/copilot-instructions.md",
        ".github/instructions/**/*.instructions.md",
        "AGENTS.md"
      ],
      "context_note": "Repository instructions are included automatically for prompts entered in that repository.",
      "skill_format": null,
      "skill_path": null,
      "install_mcp": "copilot mcp add --transport http <name> <url>",
      "secrets_via": [
        "env",
        "ui"
      ],
      "headless": true,
      "headless_command": "copilot -p \"<prompt>\" -s",
      "limits": "Ships with the GitHub MCP server already configured; servers live in ~/.copilot/mcp-config.json. Grant tools individually with --allow-tool rather than --allow-all-tools.",
      "render": {
        "path": ".github/copilot-instructions.md",
        "frontmatter": null,
        "max_chars": null
      },
      "docs": "https://docs.github.com/en/copilot/how-tos/use-copilot-agents/use-copilot-cli",
      "last_checked": "2026-09-23"
    },
    {
      "id": "cursor",
      "name": "Cursor",
      "vendor": "Anysphere",
      "kind": "ide",
      "mcp": {
        "stdio": true,
        "http": true,
        "sse": true
      },
      "context_files": [
        ".cursor/rules/*.mdc",
        "AGENTS.md"
      ],
      "context_note": "A rule file needs YAML frontmatter with description, globs and alwaysApply; a plain .md in .cursor/rules has none and is ignored. Nested AGENTS.md files apply to their own subtree, most specific first.",
      "skill_format": null,
      "skill_path": null,
      "install_mcp": null,
      "secrets_via": [
        "env",
        "ui"
      ],
      "headless": false,
      "headless_command": null,
      "limits": "An editor, not a CLI: setup recipes that assume a terminal agent have to be run by the user. MCP servers are added through the settings UI.",
      "render": {
        "path": ".cursor/rules/{slug}.mdc",
        "frontmatter": {
          "description": "{summary}",
          "alwaysApply": "true"
        },
        "max_chars": null
      },
      "docs": "https://cursor.com/docs/rules",
      "last_checked": "2026-09-23"
    },
    {
      "id": "gemini-cli",
      "name": "Gemini CLI",
      "vendor": "Google",
      "kind": "cli",
      "mcp": {
        "stdio": true,
        "http": true,
        "sse": true
      },
      "context_files": [
        "GEMINI.md",
        ".gemini/settings.json"
      ],
      "context_note": "The context file name is the `context.fileName` setting and takes a list, so AGENTS.md can be added alongside GEMINI.md rather than replacing it.",
      "skill_format": "SKILL.md",
      "skill_path": ".gemini/skills/<name>/SKILL.md",
      "install_mcp": "gemini mcp add <name> <commandOrUrl> [args...]",
      "secrets_via": [
        "env",
        "headers",
        "oauth"
      ],
      "headless": true,
      "headless_command": "gemini -p \"<prompt>\" --output-format json",
      "limits": "Environment variables are expanded in the config with $VAR or ${VAR}, and %VAR% on Windows only.",
      "render": {
        "path": "GEMINI.md",
        "frontmatter": null,
        "max_chars": null
      },
      "docs": "https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md",
      "last_checked": "2026-09-23"
    },
    {
      "id": "windsurf",
      "name": "Windsurf",
      "vendor": "Cognition",
      "kind": "ide",
      "mcp": {
        "stdio": true,
        "http": true,
        "sse": true
      },
      "context_files": [
        ".windsurf/rules/*.md",
        ".devin/rules/*.md",
        "AGENTS.md"
      ],
      "context_note": "Rule files carry a `trigger` frontmatter field — always_on, model_decision, glob or manual. A root AGENTS.md has no frontmatter and is always on.",
      "skill_format": null,
      "skill_path": null,
      "install_mcp": null,
      "secrets_via": [
        "env",
        "oauth",
        "ui"
      ],
      "headless": false,
      "headless_command": null,
      "limits": "Workspace rule files are capped at 12,000 characters and global ones at 6,000, so a long AGENTS.md is silently truncated. OAuth is unavailable for stdio servers. Documentation now redirects to docs.devin.ai and the config path has moved with it; the legacy path was ~/.codeium/windsurf/mcp_config.json.",
      "render": {
        "path": ".windsurf/rules/{slug}.md",
        "frontmatter": {
          "trigger": "always_on"
        },
        "max_chars": 12000
      },
      "docs": "https://docs.devin.ai/windsurf/plugins/cascade/mcp",
      "last_checked": "2026-09-23"
    },
    {
      "id": "cline",
      "name": "Cline",
      "vendor": "Cline",
      "kind": "ide",
      "mcp": {
        "stdio": true,
        "http": true,
        "sse": true
      },
      "context_files": [
        ".clinerules/",
        ".cline/rules/",
        "AGENTS.md"
      ],
      "context_note": "Reads a workspace AGENTS.md and a cross-tool ~/.agents/AGENTS.md as the standard format for compatibility with other agents.",
      "skill_format": null,
      "skill_path": null,
      "install_mcp": null,
      "secrets_via": [
        "env",
        "headers"
      ],
      "headless": true,
      "headless_command": "cline config mcp --json",
      "limits": "MCP servers live in ~/.cline/mcp.json for the CLI and in the panel for the extensions. SSE is legacy; use streamableHttp for new servers.",
      "render": {
        "path": ".clinerules/{slug}.md",
        "frontmatter": null,
        "max_chars": null
      },
      "docs": "https://docs.cline.bot/features/cline-rules",
      "last_checked": "2026-09-23"
    },
    {
      "id": "opencode",
      "name": "OpenCode",
      "vendor": "SST",
      "kind": "cli",
      "mcp": {
        "stdio": true,
        "http": true,
        "sse": false
      },
      "context_files": [
        "AGENTS.md",
        "opencode.json"
      ],
      "context_note": "AGENTS.md is preferred and CLAUDE.md is the fallback; the first match wins per category. `instructions` in opencode.json adds more files, and accepts globs and remote URLs.",
      "skill_format": null,
      "skill_path": null,
      "install_mcp": null,
      "secrets_via": [
        "env",
        "headers",
        "oauth"
      ],
      "headless": true,
      "headless_command": "opencode run \"<prompt>\" --format json",
      "limits": "MCP servers are declared in opencode.json under `mcp` with type local or remote; there is no add subcommand, the file is edited.",
      "render": {
        "path": "AGENTS.md",
        "frontmatter": null,
        "max_chars": null
      },
      "docs": "https://opencode.ai/docs/mcp-servers/",
      "last_checked": "2026-09-23"
    },
    {
      "id": "kiro",
      "name": "Kiro",
      "vendor": "AWS",
      "kind": "ide",
      "mcp": {
        "stdio": true,
        "http": true,
        "sse": false
      },
      "context_files": [
        ".kiro/steering/*.md",
        "AGENTS.md"
      ],
      "context_note": "Steering files use an `inclusion` frontmatter field — always, fileMatch, manual or auto — which must be the first content in the file. An AGENTS.md needs no inclusion mode and is always included.",
      "skill_format": null,
      "skill_path": null,
      "install_mcp": null,
      "secrets_via": [
        "env",
        "oauth"
      ],
      "headless": false,
      "headless_command": null,
      "limits": "MCP servers live in .kiro/settings/mcp.json, and an environment variable is only expanded after it is added to the approved-variables setting.",
      "render": {
        "path": ".kiro/steering/{slug}.md",
        "frontmatter": {
          "inclusion": "always"
        },
        "max_chars": null
      },
      "docs": "https://kiro.dev/docs/steering/",
      "last_checked": "2026-09-23"
    }
  ],
  "experts": [
    {
      "schema": 1,
      "slug": "devops-platform-engineer",
      "name": "DevOps Platform Engineer",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Pin by digest, give the build least privilege, make rollback a tested path, and define the SLO before the dashboard.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "role": "platform-engineer",
      "domain": "devops",
      "seniority": "senior",
      "stack": [
        "docker",
        "kubernetes",
        "terraform"
      ],
      "deliverables": [
        "infrastructure-plan",
        "release-plan",
        "runbook",
        "slo-definition",
        "observability-plan",
        "cost-review"
      ],
      "checklists": [
        "pipeline-integrity",
        "secrets-in-ci",
        "container-image",
        "rollout-and-rollback",
        "slo-and-alerting"
      ],
      "pairs_with": [
        "security-reviewer",
        "qa-automation-lead",
        "sql-data-engineer"
      ],
      "files": [
        "CHANGELOG.md",
        "SKILL.md",
        "checklists/container-image.md",
        "checklists/pipeline-integrity.md",
        "checklists/rollout-and-rollback.md",
        "checklists/secrets-in-ci.md",
        "checklists/slo-and-alerting.md",
        "manifest.yaml",
        "overview.md",
        "references.md"
      ]
    },
    {
      "schema": 1,
      "slug": "dotnet-senior-architect",
      "name": ".NET Senior Software Architect",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Decide the expensive things first, hold the dependency direction, and refuse the eleven patterns that are structural to remove.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "role": "software-architect",
      "domain": "software",
      "seniority": "senior",
      "languages": [
        "csharp"
      ],
      "stack": [
        "dotnet",
        "aspnetcore",
        "efcore"
      ],
      "deliverables": [
        "adr",
        "architecture-review",
        "c4-diagram",
        "api-design-review",
        "migration-plan"
      ],
      "checklists": [
        "layering",
        "dependency-direction",
        "config-separation",
        "transaction-boundary",
        "async-discipline",
        "observability"
      ],
      "files": [
        "CHANGELOG.md",
        "SKILL.md",
        "checklists/async-discipline.md",
        "checklists/config-separation.md",
        "checklists/dependency-direction.md",
        "checklists/layering.md",
        "checklists/observability.md",
        "checklists/transaction-boundary.md",
        "manifest.yaml",
        "overview.md",
        "references.md"
      ]
    },
    {
      "schema": 1,
      "slug": "product-manager",
      "name": "Product Manager",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "The problem before the solution, a metric that could come back negative, criteria somebody could fail, and what is not being built.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "role": "product-manager",
      "domain": "product",
      "seniority": "senior",
      "deliverables": [
        "product-brief",
        "user-story-set",
        "roadmap",
        "research-summary"
      ],
      "checklists": [
        "problem-first",
        "measurable",
        "ready-to-build"
      ],
      "pairs_with": [
        "qa-automation-lead",
        "technical-writer"
      ],
      "files": [
        "CHANGELOG.md",
        "SKILL.md",
        "checklists/measurable.md",
        "checklists/problem-first.md",
        "checklists/ready-to-build.md",
        "manifest.yaml",
        "overview.md",
        "references.md"
      ]
    },
    {
      "schema": 1,
      "slug": "qa-automation-lead",
      "name": "QA Automation Lead",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Test the behaviour, make it deterministic, treat a flaky test as a failed one, and keep the signal worth acting on.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "role": "qa-automation-lead",
      "domain": "quality",
      "seniority": "senior",
      "deliverables": [
        "test-plan",
        "test-suite",
        "evaluation-harness",
        "code-review"
      ],
      "checklists": [
        "behaviour-not-implementation",
        "determinism",
        "coverage",
        "test-data",
        "ci-signal"
      ],
      "pairs_with": [
        "dotnet-senior-architect",
        "devops-platform-engineer"
      ],
      "files": [
        "CHANGELOG.md",
        "SKILL.md",
        "checklists/behaviour-not-implementation.md",
        "checklists/ci-signal.md",
        "checklists/coverage.md",
        "checklists/determinism.md",
        "checklists/test-data.md",
        "manifest.yaml",
        "overview.md",
        "references.md"
      ]
    },
    {
      "schema": 1,
      "slug": "security-reviewer",
      "name": "Security Reviewer",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Boundaries first, then authorization. Every finding cites a control at a version, or it is an opinion and stays out.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "role": "security-reviewer",
      "domain": "security",
      "seniority": "senior",
      "deliverables": [
        "security-review",
        "threat-model",
        "threat-model-review",
        "dependency-audit",
        "compliance-checklist"
      ],
      "checklists": [
        "trust-boundaries",
        "authn-authz",
        "input-and-output",
        "secrets-and-config",
        "dependencies",
        "logging-and-errors"
      ],
      "pairs_with": [
        "dotnet-senior-architect"
      ],
      "files": [
        "CHANGELOG.md",
        "SKILL.md",
        "checklists/authn-authz.md",
        "checklists/dependencies.md",
        "checklists/input-and-output.md",
        "checklists/logging-and-errors.md",
        "checklists/secrets-and-config.md",
        "checklists/trust-boundaries.md",
        "manifest.yaml",
        "overview.md",
        "references.md"
      ]
    },
    {
      "schema": 1,
      "slug": "sql-data-engineer",
      "name": "SQL Data Engineer",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Model first, migrate in three deploys rather than one, index because a query asked, and assume every load runs twice.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "role": "data-engineer",
      "domain": "data",
      "seniority": "senior",
      "languages": [
        "sql"
      ],
      "stack": [
        "postgres"
      ],
      "deliverables": [
        "data-model",
        "migration-plan",
        "data-quality-report",
        "performance-report"
      ],
      "checklists": [
        "schema-design",
        "migration-safety",
        "query-performance",
        "data-quality"
      ],
      "pairs_with": [
        "dotnet-senior-architect",
        "security-reviewer"
      ],
      "files": [
        "CHANGELOG.md",
        "SKILL.md",
        "checklists/data-quality.md",
        "checklists/migration-safety.md",
        "checklists/query-performance.md",
        "checklists/schema-design.md",
        "manifest.yaml",
        "overview.md",
        "references.md"
      ]
    },
    {
      "schema": 1,
      "slug": "technical-program-manager",
      "name": "Technical Program Manager",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Split work across agents only when the plan is wide enough to repay it, freeze the interfaces first, and never let a worker mark its own work done.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "role": "technical-program-manager",
      "domain": "software",
      "seniority": "senior",
      "deliverables": [
        "delivery-plan",
        "assumption-log",
        "delivery-report"
      ],
      "checklists": [
        "before-fan-out",
        "handoff",
        "before-done"
      ],
      "pairs_with": [
        "qa-automation-lead"
      ],
      "files": [
        "CHANGELOG.md",
        "SKILL.md",
        "checklists/before-done.md",
        "checklists/before-fan-out.md",
        "checklists/handoff.md",
        "examples/assumption-log.md",
        "examples/delivery-plan.yaml",
        "examples/delivery-report.md",
        "manifest.yaml",
        "overview.md",
        "references.md"
      ]
    },
    {
      "schema": 1,
      "slug": "technical-writer",
      "name": "Technical Writer",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Decide the document's type before its first sentence, write for the reader's task, run every sample, and delete more than you add.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "role": "technical-writer",
      "domain": "docs",
      "seniority": "senior",
      "deliverables": [
        "documentation-set",
        "tutorial",
        "content-outline",
        "research-summary"
      ],
      "checklists": [
        "document-type",
        "accuracy",
        "deletion"
      ],
      "pairs_with": [
        "dotnet-senior-architect"
      ],
      "files": [
        "CHANGELOG.md",
        "SKILL.md",
        "checklists/accuracy.md",
        "checklists/deletion.md",
        "checklists/document-type.md",
        "manifest.yaml",
        "overview.md",
        "references.md"
      ]
    }
  ],
  "crews": [
    {
      "schema": 1,
      "slug": "api-hardening-crew",
      "name": "API Hardening Crew",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Three specialists for an API that already has users, where the job is finding what is wrong rather than deciding what to build.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "byline": "Assembled by @aliosmanmho",
      "members": [
        "security-reviewer",
        "qa-automation-lead",
        "devops-platform-engineer"
      ],
      "integrations": [
        "github-mcp",
        "playwright-mcp"
      ],
      "for_what": "Hardening an API that is already in production: finding the authorization gaps, making the suite worth gating on, and turning a rollback from a belief into a tested path.",
      "not_for": "A greenfield project, where there is nothing to harden yet and the decisions worth taking are architectural rather than defensive.",
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    },
    {
      "schema": 1,
      "slug": "saas-launch-crew",
      "name": "SaaS Launch Crew",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "The four specialists a multi-tenant SaaS needs before its first customer, and the two integrations they all reach for.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "byline": "Assembled by @aliosmanmho",
      "members": [
        "dotnet-senior-architect",
        "sql-data-engineer",
        "security-reviewer",
        "qa-automation-lead"
      ],
      "integrations": [
        "github-mcp",
        "sentry-mcp"
      ],
      "for_what": "Taking a multi-tenant SaaS from an empty repository to a first paying customer, where the decisions that are expensive to reverse are taken before there is data to migrate.",
      "not_for": "A prototype, an internal tool, or anything single-tenant. Four experts on a project with no customers is four opinions nobody has time to reconcile.",
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    }
  ],
  "integrations": [
    {
      "schema": 1,
      "slug": "chrome-devtools-mcp",
      "name": "Chrome DevTools MCP",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Read the console, the network log and a performance trace from a running Chrome, from an agent.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "kind": "mcp",
      "upstream": "https://github.com/ChromeDevTools/chrome-devtools-mcp",
      "upstream_version": "1.9.0",
      "verified_on": "2026-09-23",
      "install": {
        "claude-code": "claude mcp add-json chrome-devtools '{\"command\":\"npx\",\"args\":[\"-y\",\"chrome-devtools-mcp@1.9.0\"]}'",
        "codex": "codex mcp add chrome-devtools -- npx -y chrome-devtools-mcp@1.9.0",
        "gemini-cli": "gemini mcp add chrome-devtools npx -y chrome-devtools-mcp@1.9.0"
      },
      "permissions_summary": "Attaches to a Chrome instance and reads its console, network traffic and performance traces.",
      "fits": [
        "software",
        "quality"
      ],
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    },
    {
      "schema": 1,
      "slug": "context7-mcp",
      "name": "Context7",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Library documentation at the version in use, fetched on demand instead of recalled from training.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "kind": "mcp",
      "upstream": "https://github.com/upstash/context7",
      "upstream_version": "4.1.1",
      "verified_on": "2026-09-23",
      "install": {
        "claude-code": "claude mcp add-json context7 '{\"command\":\"npx\",\"args\":[\"-y\",\"@upstash/context7-mcp@4.1.1\"]}'",
        "codex": "codex mcp add context7 -- npx -y @upstash/context7-mcp@4.1.1",
        "gemini-cli": "gemini mcp add context7 npx -y @upstash/context7-mcp@4.1.1"
      },
      "permissions_summary": "Sends the library name and your query to Context7's service and returns documentation.",
      "fits": [
        "software",
        "docs"
      ],
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    },
    {
      "schema": 1,
      "slug": "exa-mcp",
      "name": "Exa Search MCP",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Web search built for agents: results as content rather than as a list of links to fetch.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "kind": "mcp",
      "upstream": "https://github.com/exa-labs/exa-mcp-server",
      "upstream_version": "3.4.1",
      "verified_on": "2026-09-23",
      "install": {
        "claude-code": "claude mcp add-json exa '{\"command\":\"npx\",\"args\":[\"-y\",\"exa-mcp-server@3.4.1\"],\"env\":{\"EXA_API_KEY\":\"$EXA_API_KEY\"}}'",
        "codex": "codex mcp add exa --env EXA_API_KEY=$EXA_API_KEY -- npx -y exa-mcp-server@3.4.1",
        "gemini-cli": "gemini mcp add exa -e EXA_API_KEY=$EXA_API_KEY npx -y exa-mcp-server@3.4.1"
      },
      "needs_secrets": [
        "EXA_API_KEY"
      ],
      "permissions_summary": "Sends your search query to Exa's service and returns page content.",
      "fits": [
        "research",
        "software",
        "marketing"
      ],
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    },
    {
      "schema": 1,
      "slug": "figma-mcp",
      "name": "Figma Context MCP",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Read a Figma file's layout and styles as structured data, so generated UI matches the design.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "kind": "mcp",
      "upstream": "https://github.com/GLips/Figma-Context-MCP",
      "upstream_version": "0.13.2",
      "verified_on": "2026-09-23",
      "install": {
        "claude-code": "claude mcp add-json figma '{\"command\":\"npx\",\"args\":[\"-y\",\"figma-developer-mcp@0.13.2\",\"--stdio\"],\"env\":{\"FIGMA_API_KEY\":\"$FIGMA_API_KEY\"}}'",
        "codex": "codex mcp add figma --env FIGMA_API_KEY=$FIGMA_API_KEY -- npx -y figma-developer-mcp@0.13.2 --stdio",
        "gemini-cli": "gemini mcp add figma -e FIGMA_API_KEY=$FIGMA_API_KEY npx -y figma-developer-mcp@0.13.2 --stdio"
      },
      "needs_secrets": [
        "FIGMA_API_KEY"
      ],
      "permissions_summary": "Reads the Figma files the access token can reach, through Figma's API.",
      "fits": [
        "design",
        "software"
      ],
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    },
    {
      "schema": 1,
      "slug": "filesystem-mcp",
      "name": "Filesystem MCP",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Read and write files under directories named on the command line, and nowhere else.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "kind": "mcp",
      "upstream": "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem",
      "upstream_version": "2026.8.31",
      "verified_on": "2026-09-23",
      "install": {
        "claude-code": "claude mcp add-json filesystem '{\"command\":\"npx\",\"args\":[\"-y\",\"@modelcontextprotocol/server-filesystem@2026.8.31\",\"/path/to/allowed/dir\"]}'",
        "codex": "codex mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem@2026.8.31 /path/to/allowed/dir",
        "gemini-cli": "gemini mcp add filesystem npx -y @modelcontextprotocol/server-filesystem@2026.8.31 /path/to/allowed/dir"
      },
      "permissions_summary": "Reads and writes every file under the directories passed as arguments, with the privileges of the user running it.",
      "fits": [
        "software",
        "data",
        "operations"
      ],
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    },
    {
      "schema": 1,
      "slug": "github-mcp",
      "name": "GitHub MCP Server",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Issues, pull requests, Actions and code search on the repositories a token can reach.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "kind": "mcp",
      "upstream": "https://github.com/github/github-mcp-server",
      "upstream_version": "v1.12.2",
      "verified_on": "2026-09-23",
      "install": {
        "claude-code": "claude mcp add-json github '{\"type\":\"http\",\"url\":\"https://api.githubcopilot.com/mcp/\",\"headers\":{\"Authorization\":\"Bearer $GITHUB_PERSONAL_ACCESS_TOKEN\"}}'",
        "gemini-cli": "gemini mcp add github https://api.githubcopilot.com/mcp/ --transport http --header \"Authorization: Bearer $GITHUB_PERSONAL_ACCESS_TOKEN\""
      },
      "needs_secrets": [
        "GITHUB_PERSONAL_ACCESS_TOKEN"
      ],
      "permissions_summary": "Reads and writes every repository the token can reach: issues, pull requests, workflow runs and file contents.",
      "fits": [
        "software",
        "devops",
        "product"
      ],
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    },
    {
      "schema": 1,
      "slug": "memory-mcp",
      "name": "Memory MCP",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "A local knowledge graph an agent writes to and reads back across sessions.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "kind": "mcp",
      "upstream": "https://github.com/modelcontextprotocol/servers/tree/main/src/memory",
      "upstream_version": "2026.8.31",
      "verified_on": "2026-09-23",
      "install": {
        "claude-code": "claude mcp add-json memory '{\"command\":\"npx\",\"args\":[\"-y\",\"@modelcontextprotocol/server-memory@2026.8.31\"]}'",
        "codex": "codex mcp add memory -- npx -y @modelcontextprotocol/server-memory@2026.8.31",
        "gemini-cli": "gemini mcp add memory npx -y @modelcontextprotocol/server-memory@2026.8.31"
      },
      "permissions_summary": "Reads and writes a knowledge graph in a local file; reaches nothing else.",
      "fits": [
        "software",
        "research",
        "operations"
      ],
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    },
    {
      "schema": 1,
      "slug": "notion-mcp",
      "name": "Notion MCP",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Read and write the Notion pages and databases an integration token has been granted.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "kind": "mcp",
      "upstream": "https://github.com/makenotion/notion-mcp-server",
      "upstream_version": "2.5.2",
      "verified_on": "2026-09-23",
      "install": {
        "claude-code": "claude mcp add-json notion '{\"command\":\"npx\",\"args\":[\"-y\",\"@notionhq/notion-mcp-server@2.5.2\"],\"env\":{\"NOTION_TOKEN\":\"$NOTION_TOKEN\"}}'",
        "codex": "codex mcp add notion --env NOTION_TOKEN=$NOTION_TOKEN -- npx -y @notionhq/notion-mcp-server@2.5.2",
        "gemini-cli": "gemini mcp add notion -e NOTION_TOKEN=$NOTION_TOKEN npx -y @notionhq/notion-mcp-server@2.5.2"
      },
      "needs_secrets": [
        "NOTION_TOKEN"
      ],
      "permissions_summary": "Reads and writes the pages and databases explicitly shared with the integration.",
      "fits": [
        "docs",
        "product",
        "operations"
      ],
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    },
    {
      "schema": 1,
      "slug": "playwright-mcp",
      "name": "Playwright MCP",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Drive a real browser from an agent: navigate, fill, click and read the accessibility tree.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "kind": "mcp",
      "upstream": "https://github.com/microsoft/playwright-mcp",
      "upstream_version": "0.0.82",
      "verified_on": "2026-09-23",
      "install": {
        "claude-code": "claude mcp add-json playwright '{\"command\":\"npx\",\"args\":[\"-y\",\"@playwright/mcp@0.0.82\"]}'",
        "codex": "codex mcp add playwright -- npx -y @playwright/mcp@0.0.82",
        "gemini-cli": "gemini mcp add playwright npx -y @playwright/mcp@0.0.82"
      },
      "permissions_summary": "Launches a browser on this machine and visits whatever the agent asks it to, including local services.",
      "fits": [
        "software",
        "quality",
        "design"
      ],
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    },
    {
      "schema": 1,
      "slug": "sentry-mcp",
      "name": "Sentry MCP",
      "version": "1.0.0",
      "tier": "community",
      "maintainers": [
        "aliosmanmho"
      ],
      "summary": "Read issues, events and stack traces from Sentry, so an agent debugs from the real error.",
      "agents": [
        "claude-code"
      ],
      "provenance": "generated",
      "deprecated": false,
      "supersedes": null,
      "kind": "mcp",
      "upstream": "https://github.com/getsentry/sentry-mcp",
      "upstream_version": "0.39.0",
      "verified_on": "2026-09-23",
      "install": {
        "claude-code": "claude mcp add-json sentry '{\"command\":\"npx\",\"args\":[\"-y\",\"@sentry/mcp-server@0.39.0\"],\"env\":{\"SENTRY_ACCESS_TOKEN\":\"$SENTRY_ACCESS_TOKEN\"}}'",
        "codex": "codex mcp add sentry --env SENTRY_ACCESS_TOKEN=$SENTRY_ACCESS_TOKEN -- npx -y @sentry/mcp-server@0.39.0",
        "gemini-cli": "gemini mcp add sentry -e SENTRY_ACCESS_TOKEN=$SENTRY_ACCESS_TOKEN npx -y @sentry/mcp-server@0.39.0"
      },
      "needs_secrets": [
        "SENTRY_ACCESS_TOKEN"
      ],
      "permissions_summary": "Reads issues, events and stack traces from the Sentry organisations the token can reach.",
      "fits": [
        "software",
        "devops",
        "quality"
      ],
      "files": [
        "CHANGELOG.md",
        "README.md",
        "manifest.yaml"
      ]
    }
  ]
}
