{"id":"23425ca6-d207-49ee-8f21-e0a985501f29","entityType":"agent","slug":"crewai-aseumal-qualityguard","name":"qualityguard","canonicalUrl":"https://www.xpersona.co/agent/crewai-aseumal-qualityguard","canonicalPath":"/agent/crewai-aseumal-qualityguard","generatedAt":"2026-10-09T14:04:44.691Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T04:28:06.376Z","emptyReason":null},"description":"Agentic QA intelligence system on CrewAI Flows — turns a plain-text feature spec into a VRTQ-scored risk register and executable Playwright test scaffolds, ready for CI. QualityGuard AI An agentic QA intelligence system built on **CrewAI Flows** that takes a plain-text feature specification and autonomously produces a VRTQ-scored risk register and executable Playwright TypeScript test scaffolds — ready to run against your application in CI. Built by **Anthony Seumal** — Head of Software Quality, Cambridge University Press & Assessment. What this demonstrates This project is a working","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.","installCommand":null,"sourceUrl":"https://github.com/aseumal/qualityguard","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/aseumal/qualityguard","kind":"source"}],"safetyScore":66,"overallRank":18.6,"popularityScore":0,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Agentic QA intelligence system on CrewAI Flows — turns a plain-text feature spec into a VRTQ-scored risk register and executable Playwright test scaffolds, read"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T04:28:06.376Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"crewai","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"multi-agent","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-10-09T04:28:06.376Z","emptyReason":"No source adoption metrics were available."},"stars":0,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-10-09T04:28:06.371Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T04:28:06.376Z","lastCrawledAt":"2026-10-09T04:28:06.371Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T04:28:06.371Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":null,"setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-aseumal-qualityguard/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-aseumal-qualityguard/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-aseumal-qualityguard/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-aseumal-qualityguard/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-aseumal-qualityguard/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-aseumal-qualityguard/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_REPOS","generatedAt":"2026-10-09T14:04:44.691Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-aseumal-qualityguard/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-aseumal-qualityguard/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-aseumal-qualityguard/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-aseumal-qualityguard/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"high","updatedAt":"2026-10-09T04:28:06.376Z","emptyReason":null},"readme":"# QualityGuard AI\n\nAn agentic QA intelligence system built on **CrewAI Flows** that takes a plain-text feature specification and autonomously produces a VRTQ-scored risk register and executable Playwright TypeScript test scaffolds — ready to run against your application in CI.\n\nBuilt by **Anthony Seumal** — Head of Software Quality, Cambridge University Press & Assessment.\n\n![QualityGuard AI — landing page](docs/screenshots/hero.png)\n\n## What this demonstrates\n\nThis project is a working answer to \"how do you embed AI into a QA engineering workflow without losing engineering rigour\" — not a chatbot, not a test generator that writes TODO-filled stubs. A few things specifically engineered into it:\n\n- **End-to-end autonomous pipeline** — paste a feature spec, get a prioritised risk register, Playwright spec files written to disk, and real test execution results, all in one flow. Nothing simulated.\n- **VRTQ framework as executable domain IP** — a proprietary risk-scoring model (Value 30%, Risk 35%, Time 20%, Quality 15%) implemented as a custom CrewAI `@tool`. The framework drives both which areas to test and how urgently, with P1/P2/P3 tiers that map directly to CI gate decisions.\n- **CrewAI Flows `@start/@listen` orchestration** — two specialist crews run in a typed, event-driven chain. Crew 1 emits a validated `RiskRegister` Pydantic model; `@listen` triggers Crew 2 only when that contract is satisfied. No glue code, no string parsing between crews.\n- **`output_pydantic` on every final task** — both crews use structured output, giving type-safe data flow between agents. If an agent's output doesn't match the schema, the pipeline fails fast rather than silently passing bad data downstream.\n- **Real Playwright execution, not scaffold downloads** — the Playwright Engineer agent generates tests with real browser actions. After analysis, spec files are written to `playwright-runner/tests/generated/` and the UI's \"Run tests\" button executes them via `npx playwright test` against the target URL you specify.\n- **Deliberate framework contrast with CoreAssist** — CoreAssist (companion project) uses LangGraph's explicit graph/node model. QualityGuard uses CrewAI's role-based hierarchical delegation. Both solve multi-agent orchestration with fundamentally different mental models; I built both to speak credibly to the tradeoffs.\n- **Token-efficient by design** — Claude Haiku for all agents (tool-calling, not reasoning-heavy), `Process.sequential` instead of `Process.hierarchical` (eliminates manager-LLM round-trips), memory disabled. Full pipeline completes in ~2-3 minutes.\n\n## Architecture\n\n```\nFeature spec + Target URL\n        │\n        ▼\n┌─────────────────────────────────────────────┐\n│  QualityGuardFlow  (@start / @listen)        │\n│                                             │\n│  @start ──► Crew 1: Risk Analysis           │\n│             ├─ Feature Analyst              │\n│             │   Extracts testable risk areas│\n│             └─ Risk Strategist              │\n│                 vrtq_scorer @tool × N       │\n│                 → RiskRegister (Pydantic)   │\n│                                             │\n│  @listen ──► Crew 2: Test Generation        │\n│              ├─ Test Architect              │\n│              │   Designs prioritised strategy│\n│              └─ Playwright Engineer         │\n│                  playwright_generator @tool ×N\n│                  → TestPlan (Pydantic)      │\n│                                             │\n│  @listen ──► Finalise → QualityGuardState   │\n└─────────────────────────────────────────────┘\n        │\n        ▼\n  spec files written to disk\n        │\n        ▼\n  npx playwright test → real pass/fail results\n```\n\n**LLM:** Claude Haiku via LiteLLM / Anthropic API (provider prefix `anthropic/` required for LiteLLM routing)\n**Observability:** LangSmith — zero config, every crew run traced automatically via `LANGCHAIN_TRACING_V2=true`\n\n## Tech stack\n\n| Layer | Technology |\n|---|---|\n| Agent framework | CrewAI Flows (`crewai>=1.14`, `@start/@listen` event chain) |\n| LLM | Claude Haiku 4.5 via LiteLLM → Anthropic API |\n| Custom tools | `vrtq_scorer` — VRTQ risk scoring; `playwright_generator` — test scaffold generation |\n| Data contracts | Pydantic v2 (`VRTQScore`, `RiskItem`, `RiskRegister`, `TestCase`, `TestPlan`) |\n| Backend API | FastAPI + Uvicorn |\n| Frontend | React 19 + Vite + Tailwind CSS + Recharts |\n| Test execution | Playwright (`@playwright/test`) — generated specs run against any target URL |\n| Observability | LangSmith (automatic tracing, zero instrumentation code) |\n\n## Demo\n\nThe app has five result tabs, each showing a different stage of the pipeline:\n\n| Tab | What it shows |\n|---|---|\n| Risk heatmap | Recharts Treemap — area proportional to VRTQ composite score, colour = tier (P1 red / P2 orange / P3 green). Risk table with V/R/T/Q dimension breakdown per item. |\n| Test plan | Summary metrics (total, P1, P2, coverage estimate). Spec file tabs — click any tab to expand test cases and see the generated Playwright TypeScript scaffold. Download individual `.spec.ts` files. |\n| QA review | Verdict banner (APPROVED / APPROVED\\_WITH\\_NOTES / NEEDS\\_REVISION). Strengths, recommendations, and coverage gaps from the QA Reviewer agent. |\n| Test results | Runs the generated spec files via `npx playwright test` against the target URL you specified. Real pass/fail results, duration chart, per-test error messages. |\n| Agent feed | Simulated replay of the CrewAI collaboration — which agent ran, which tool was called, what was emitted — reconstructed from the final result. |\n\n![Risk heatmap — VRTQ scores visualised as treemap](docs/screenshots/risk-heatmap.png)\n\n![Test plan — generated Playwright scaffolds by spec file](docs/screenshots/test-plan.png)\n\n![QA review — automated verdict with coverage gaps](docs/screenshots/qa-review.png)\n\n![Agent feed — CrewAI collaboration replay](docs/screenshots/agent-feed.png)\n\n## VRTQ framework\n\nA proprietary QA governance model for prioritising test automation investment:\n\n| Dimension | Weight | What it measures |\n|---|---|---|\n| Value | 30% | Business/user value protected by testing this area |\n| Risk | 35% | Probability × impact of failure reaching production |\n| Time | 20% | Inverse of testing cost — fast stable tests score high |\n| Quality | 15% | Historical quality signal — low defect history = high score |\n\n**Composite:** `(V×0.30) + (R×0.35) + (T×0.20) + (Q×0.15)`\n\n**Priority tiers:**\n- **P1 ≥ 7.0** — Block CI on failure. Automate immediately.\n- **P2 ≥ 4.5** — Nightly suite. Automate within sprint.\n- **P3 < 4.5** — Manual testing acceptable.\n\n## Running locally\n\n```bash\n# 1. Clone and set up Python environment\ngit clone https://github.com/aseumal/qualityguard.git\ncd qualityguard\npython -m venv .venv && source .venv/bin/activate\npip install -e .\n\n# 2. Set environment variables\ncp .env.example .env\n# Fill in: ANTHROPIC_API_KEY, OPENAI_API_KEY (for embeddings), LANGCHAIN_API_KEY (optional)\n\n# 3. Start the FastAPI backend\npython -m uvicorn api:app --reload --port 8000\n\n# 4. Start the React frontend (separate terminal)\ncd react-ui && npm install && npm run dev\n\n# 5. Install Playwright browser\ncd ../playwright-runner && npm install && npx playwright install chromium\n```\n\nOpen `http://localhost:5173`. Paste a feature specification, set a target URL (defaults to `https://www.saucedemo.com`), click **Run QualityGuard**.\n\nAfter analysis, switch to the **Test results** tab and click **Run Playwright tests** to execute the generated specs against your target URL.\n\n## Project structure\n\n```\nsrc/\n  models/schemas.py          Pydantic contracts: VRTQScore, RiskItem, RiskRegister, TestCase, TestPlan\n  tools/\n    vrtq_scorer.py           Custom @tool — VRTQ framework scorer\n    playwright_generator.py  Custom @tool — generates runnable Playwright TypeScript inline tests\n  crews/\n    risk_analysis_crew.py    Crew 1: Feature Analyst + Risk Strategist (Sequential)\n    test_generation_crew.py  Crew 2: Test Architect + Playwright Engineer (Sequential)\n  flow/\n    qualityguard_flow.py     QualityGuardFlow: @start → @listen chain\n  runner/\n    test_runner.py           Shells out npx playwright test, parses JSON report\nreact-ui/                    React + Vite + Tailwind frontend\nplaywright-runner/\n  tests/\n    generated/               Generated .spec.ts files (written after each analysis)\napi.py                       FastAPI: POST /analyse → POST /run-tests\n```\n\n## Portfolio context\n\nThis project is one of two multi-agent systems I built to demonstrate different orchestration approaches:\n\n| | QualityGuard AI (this repo) | CoreAssist AI |\n|---|---|---|\n| Framework | CrewAI Flows | LangGraph |\n| Orchestration model | Role-based agents with goals/backstories; manager delegates | Explicit graph nodes, edges, conditional routing |\n| State passing | `output_pydantic` between crew tasks | Typed `AgentState` through graph edges |\n| Crew trigger | `@listen` event on prior crew output | Conditional edge from supervisor node |\n\n> \"CoreAssist uses LangGraph's graph-state model where I explicitly define nodes, edges, and conditional routing. QualityGuard uses CrewAI's role-based hierarchical delegation — I describe agents as professionals with goals and backstories, and the framework figures out delegation. Both solve multi-agent orchestration but with fundamentally different mental models. I built both deliberately to speak credibly to the tradeoffs.\"\n\n---\n\nAnthony Seumal · [LinkedIn](https://www.linkedin.com/in/anthonyseumal) · Head of Software Quality, Cambridge University Press & Assessment\n","readmeExcerpt":"QualityGuard AI An agentic QA intelligence system built on **CrewAI Flows** that takes a plain-text feature specification and autonomously produces a VRTQ-scored risk register and executable Playwright TypeScript test scaffolds — ready to run against your application in CI. Built by **Anthony Seumal** — Head of Software Quality, Cambridge University Press & Assessment. What this demonstrates This project is a working","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"Feature spec + Target URL\n        │\n        ▼\n┌─────────────────────────────────────────────┐\n│  QualityGuardFlow  (@start / @listen)        │\n│                                             │\n│  @start ──► Crew 1: Risk Analysis           │\n│             ├─ Feature Analyst              │\n│             │   Extracts testable risk areas│\n│             └─ Risk Strategist              │\n│                 vrtq_scorer @tool × N       │\n│                 → RiskRegister (Pydantic)   │\n│                                             │\n│  @listen ──► Crew 2: Test Generation        │\n│              ├─ Test Architect              │\n│              │   Designs prioritised strategy│\n│              └─ Playwright Engineer         │\n│                  playwright_generator @tool ×N\n│                  → TestPlan (Pydantic)      │\n│                                             │\n│  @listen ──► Finalise → QualityGuardState   │\n└─────────────────────────────────────────────┘\n        │\n        ▼\n  spec files written to disk\n        │\n        ▼\n  npx playwright test → real pass/fail results"},{"language":"bash","snippet":"# 1. Clone and set up Python environment\ngit clone https://github.com/aseumal/qualityguard.git\ncd qualityguard\npython -m venv .venv && source .venv/bin/activate\npip install -e .\n\n# 2. Set environment variables\ncp .env.example .env\n# Fill in: ANTHROPIC_API_KEY, OPENAI_API_KEY (for embeddings), LANGCHAIN_API_KEY (optional)\n\n# 3. Start the FastAPI backend\npython -m uvicorn api:app --reload --port 8000\n\n# 4. Start the React frontend (separate terminal)\ncd react-ui && npm install && npm run dev\n\n# 5. Install Playwright browser\ncd ../playwright-runner && npm install && npx playwright install chromium"},{"language":"text","snippet":"src/\n  models/schemas.py          Pydantic contracts: VRTQScore, RiskItem, RiskRegister, TestCase, TestPlan\n  tools/\n    vrtq_scorer.py           Custom @tool — VRTQ framework scorer\n    playwright_generator.py  Custom @tool — generates runnable Playwright TypeScript inline tests\n  crews/\n    risk_analysis_crew.py    Crew 1: Feature Analyst + Risk Strategist (Sequential)\n    test_generation_crew.py  Crew 2: Test Architect + Playwright Engineer (Sequential)\n  flow/\n    qualityguard_flow.py     QualityGuardFlow: @start → @listen chain\n  runner/\n    test_runner.py           Shells out npx playwright test, parses JSON report\nreact-ui/                    React + Vite + Tailwind frontend\nplaywright-runner/\n  tests/\n    generated/               Generated .spec.ts files (written after each analysis)\napi.py                       FastAPI: POST /analyse → POST /run-tests"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"Agentic QA intelligence system on CrewAI Flows — turns a plain-text feature spec into a VRTQ-scored risk register and executable Playwright test scaffolds, ready for CI. QualityGuard AI An agentic QA intelligence system built on **CrewAI Flows** that takes a plain-text feature specification and autonomously produces a VRTQ-scored risk register and executable Playwright TypeScript test scaffolds — ready to run against your application in CI. Built by **Anthony Seumal** — Head of Software Quality, Cambridge University Press & Assessment. What this demonstrates This project is a working","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":374,"uniquenessScore":68,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T04:28:06.376Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T04:28:06.376Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T14:04:44.691Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_repos","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}