{"id":"18713388-9907-48b8-85ac-d3ae89d07dc5","entityType":"agent","slug":"clawhub-ryanng1403-byterover-test","name":"byterover-test","canonicalUrl":"https://www.xpersona.co/agent/clawhub-ryanng1403-byterover-test","canonicalPath":"/agent/clawhub-ryanng1403-byterover-test","generatedAt":"2026-10-09T13:00:15.480Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Queries and curates knowledge in ByteRover context tree. Use when user asks to remember information, add context, search patterns, query implementations, or manage project knowledge. Triggers on phrases like \"remember this\", \"add to context\", \"how does X work\", \"what are the patterns\", \"store this\", \"save this knowledge\", \"curate\", \"brv query\", \"check context tree\". Skill: byterover-test Owner: RyanNg1403 Summary: Queries and curates knowledge in ByteRover context tree. Use when user asks to remember information, add context, search patterns, query implementations, or manage project knowledge. Triggers on phrases like \"remember this\", \"add to context\", \"how does X work\", \"what are the patterns\", \"store this\", \"save this knowledge\", \"curate\", \"brv query\", \"check context tree\". Ta","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 4/15/2026.","installCommand":"clawhub skill install kn78m6bsbgwt197d802754qhbn7zzcfw:byterover-test","sourceUrl":"https://clawhub.ai/RyanNg1403/byterover-test","homepage":"https://clawhub.ai/RyanNg1403/byterover-test","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/RyanNg1403/byterover-test","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Queries and curates knowledge in ByteRover context tree. Use when user asks to remember information, add context, search patterns, query implementations, or man"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"stars":null,"forks":null,"downloads":1144,"packageName":null,"latestVersion":"1.2.1","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-03-01T00:08:01.214Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-03-01T00:08:01.214Z","lastIndexedAt":null,"nextCrawlAt":"2026-03-02T00:08:01.214Z","lastVerifiedAt":null,"highlights":[{"version":"1.2.1","createdAt":"2026-01-27T03:57:02.999Z","changelog":"Initial release of ByteRover test skill. - Adds integration with ByteRover context tree for project-level knowledge management. - Supports commands to query, curate, and manage technical context across sessions. - Provides best practices and command examples for effective usage. - Ensures users query before working and curate after learning for improved knowledge sharing. - Outlines troubleshooting steps and prerequisites for correct operation.","fileCount":4,"zipByteSize":7122}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install kn78m6bsbgwt197d802754qhbn7zzcfw:byterover-test","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/clawhub-ryanng1403-byterover-test/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanng1403-byterover-test/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanng1403-byterover-test/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ryanng1403-byterover-test/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ryanng1403-byterover-test/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ryanng1403-byterover-test/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T13:00:15.480Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanng1403-byterover-test/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanng1403-byterover-test/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanng1403-byterover-test/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ryanng1403-byterover-test/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":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"Skill: byterover-test\n\nOwner: RyanNg1403\n\nSummary: Queries and curates knowledge in ByteRover context tree. Use when user asks to remember information, add context, search patterns, query implementations, or manage project knowledge. Triggers on phrases like \"remember this\", \"add to context\", \"how does X work\", \"what are the patterns\", \"store this\", \"save this knowledge\", \"curate\", \"brv query\", \"check context tree\".\n\nTags: latest:1.2.1\n\nVersion history:\n\nv1.2.1 | 2026-01-27T03:57:02.999Z | user\n\nInitial release of ByteRover test skill.\n\n- Adds integration with ByteRover context tree for project-level knowledge management.\n- Supports commands to query, curate, and manage technical context across sessions.\n- Provides best practices and command examples for effective usage.\n- Ensures users query before working and curate after learning for improved knowledge sharing.\n- Outlines troubleshooting steps and prerequisites for correct operation.\n\nArchive index:\n\nArchive v1.2.1: 4 files, 7122 bytes\n\nFiles: SKILL.md (3714b), TROUBLESHOOTING.md (1360b), WORKFLOWS.md (10495b), _meta.json (133b)\n\nFile v1.2.1:SKILL.md\n\n---\nname: byterover\ndescription: Queries and curates knowledge in ByteRover context tree. Use when user asks to remember information, add context, search patterns, query implementations, or manage project knowledge. Triggers on phrases like \"remember this\", \"add to context\", \"how does X work\", \"what are the patterns\", \"store this\", \"save this knowledge\", \"curate\", \"brv query\", \"check context tree\".\n---\n\n# ByteRover Context Tree\n\nA project-level knowledge repository that persists across sessions. Use it to avoid re-discovering patterns, conventions, and decisions.\n\n## Why Use ByteRover\n\n- **Query before working**: Get existing knowledge about patterns, conventions, and past decisions before implementing\n- **Curate after learning**: Capture insights, decisions, and bug fixes so future sessions start informed\n\n## Quick Reference\n\n| Command | When | Example |\n|---------|------|---------|\n| `brv query \"question\"` | Before starting work | `brv query \"How is auth implemented?\"` |\n| `brv curate \"context\" -f file` | After completing work | `brv curate \"JWT 24h expiry\" -f auth.ts` |\n| `brv status` | To check prerequisites | `brv status` |\n\n## When to Use\n\n**Query** when you need to understand something:\n- \"How does X work in this codebase?\"\n- \"What patterns exist for Y?\"\n- \"Are there conventions for Z?\"\n\n**Curate** when you learned or created something valuable:\n- Implemented a feature using specific patterns\n- Fixed a bug and found root cause\n- Made an architecture decision\n\n## Curate Quality\n\nContext must be **specific** and **actionable**:\n\n```bash\n# Good - specific, explains where and why\nbrv curate \"Auth uses JWT 24h expiry, tokens in httpOnly cookies\" -f src/auth.ts\n\n# Bad - too vague\nbrv curate \"Fixed auth\"\n```\n\n**Note:** Context argument must come before `-f` flags. Max 5 files.\n\n## Best Practices\n\n1. **Break down large contexts** - Run multiple `brv curate` commands for complex topics rather than one massive context. Smaller chunks are easier to retrieve and update.\n\n2. **Let ByteRover read files** - Don't read files yourself before curating. Use `-f` flags to let ByteRover read them directly:\n   ```bash\n   # Good - ByteRover reads the files\n   brv curate \"Auth implementation details\" -f src/auth.ts -f src/middleware/jwt.ts\n\n   # Wasteful - reading files twice\n   # [agent reads files] then brv curate \"...\" -f same-files\n   ```\n\n3. **Be specific in queries** - Queries block your workflow. Use precise questions to get faster, more relevant results:\n   ```bash\n   # Good - specific\n   brv query \"What validation library is used for API request schemas?\"\n\n   # Bad - vague, slow\n   brv query \"How is validation done?\"\n   ```\n\n4. **Signal outdated context** - When curating updates that replace existing knowledge, explicitly tell ByteRover to clean up:\n   ```bash\n   brv curate \"OUTDATED: Previous auth used sessions. NEW: Now uses JWT with refresh tokens. Clean up old session-based auth context.\" -f src/auth.ts\n   ```\n\n5. **Specify structure expectations** - Guide ByteRover on how to organize the knowledge:\n   ```bash\n   # Specify topics/domains\n   brv curate \"Create separate topics for: 1) JWT validation, 2) refresh token flow, 3) logout handling\" -f src/auth.ts\n\n   # Specify detail level\n   brv curate \"Document the error handling patterns in detail (at least 30 lines covering all error types)\" -f src/errors/\n   ```\n\n## Prerequisites\n\nRun `brv status` first. If errors occur, the agent cannot fix them—instruct the user to take action in their brv terminal. See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for details.\n\n---\n\n**See also:** [WORKFLOWS.md](WORKFLOWS.md) for detailed patterns and examples, [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for error handling\n\nFile v1.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn78m6bsbgwt197d802754qhbn7zzcfw\",\n  \"slug\": \"byterover-test\",\n  \"version\": \"1.2.1\",\n  \"publishedAt\": 1769486222999\n}\n\nFile v1.2.1:TROUBLESHOOTING.md\n\n# ByteRover Troubleshooting\n\n## Quick Diagnosis\n\n```bash\nbrv status\n```\n\n## User Action Required\n\nThese errors require user intervention (agent cannot fix):\n\n| Error | User Action |\n|-------|-------------|\n| \"No ByteRover instance is running\" | Start `brv` in separate terminal |\n| \"Not authenticated\" | Run `/login` in brv REPL |\n| \"Project not initialized\" | Run `/init` in brv REPL |\n| \"Connection failed\" | Restart `brv` (Ctrl+C, then `brv`) |\n\n**Template response:**\n> Please [action] in your brv terminal, then I'll retry the command.\n\n## Agent-Fixable Errors\n\n| Error | Fix |\n|-------|-----|\n| \"Context argument required\" | Add text before `-f`: `brv curate \"text\" -f file` |\n| \"Maximum 5 files allowed\" | Reduce to 5 or fewer `-f` flags |\n| \"File not found\" | Verify path with `ls`, use relative paths from project root |\n| \"No relevant context found\" | Try different query phrasing, or curate knowledge first |\n\n## Architecture\n\nByteRover uses client-server architecture:\n- User runs `brv` to start server (interactive REPL)\n- Agent commands (`query`, `curate`, `status`) connect to server\n- Server must be running for commands to work\n\n## Exit Codes\n\n| Code | Meaning |\n|------|---------|\n| 0 | Success |\n| 1 | General error |\n| 2 | Connection error |\n\n## Getting Help\n\n- Email: support@byterover.dev\n- Discord: https://discord.com/invite/UMRrpNjh5W\n\nFile v1.2.1:WORKFLOWS.md\n\n# ByteRover Workflows\n\n## Pattern 1: Research Before Implementation\n\nUse when starting new features or working in unfamiliar areas.\n\n**Workflow:**\n```\nQuery existing knowledge → Implement following patterns → Curate new decisions\n```\n\n**Example: Adding a new API endpoint**\n\n```bash\n# 1. Query for existing patterns\n# Be SPECIFIC to get faster, more relevant results\nbrv query \"What middleware chain is used for authenticated API endpoints?\"\nbrv query \"What is the standard error response format for API routes?\"\n\n# 2. Implement following discovered patterns\n# ... write code ...\n\n# 3. Curate decisions made\n# Don't read the file first - let ByteRover read it via -f flag\nbrv curate \"Added /api/users/profile endpoint. Uses authMiddleware for JWT validation, returns UserProfileDTO. Error handling follows ApiError pattern\" -f src/api/routes/users.ts\n```\n\n**Example: Implementing a new React component**\n\n```bash\n# 1. Query patterns - specific questions save time\nbrv query \"What data fetching hook pattern is used in list components?\"\nbrv query \"Are CSS modules or styled-components used for component styling?\"\n\n# 2. Implement\n# ... write component ...\n\n# 3. Curate with file reference - ByteRover reads the file\nbrv curate \"Created UserAvatar component. Uses React Query for data fetching, CSS modules for styling. Follows existing pattern in src/components/common/\" -f src/components/UserAvatar.tsx\n```\n\n## Pattern 2: Debug and Document\n\nUse when fixing bugs to capture learnings and prevent recurrence.\n\n**Workflow:**\n```\nQuery known issues → Debug and fix → Curate root cause and solution\n```\n\n**Example: Fixing a race condition**\n\n```bash\n# 1. Query for context - be specific about the symptom\nbrv query \"Are there known race condition patterns or AbortController usage in data fetching hooks?\"\n\n# 2. Debug and fix\n# ... investigate, find root cause, implement fix ...\n\n# 3. Curate the learning with structured format\nbrv curate \"Bug: stale data after rapid navigation. Cause: useEffect cleanup not cancelling requests. Fix: AbortController with cleanup. Pattern: always abort fetch in useEffect cleanup\" -f src/hooks/useUserData.ts\n```\n\n**Example: Fixing an authentication issue**\n\n```bash\n# 1. Specific query about the problem area\nbrv query \"How are credentials and cookies configured in the API client fetch calls?\"\n\n# 2. Fix\n# ... debug and fix ...\n\n# 3. Curate with emphasis on the gotcha\nbrv curate \"Bug: unexpected logouts. Cause: fetch missing credentials option. Fix: added 'credentials: include' to fetch config. IMPORTANT: all API calls must include credentials for cookie-based auth\" -f src/lib/api-client.ts\n```\n\n## Pattern 3: Multi-File Changes\n\nUse when changes span multiple files to maintain context.\n\n**Example: Adding a new feature across layers**\n\n```bash\n# 1. Query architecture - specific about the layers\nbrv query \"How are full-stack features organized across API routes, service layer, and React components?\"\n\n# 2. Implement across files\n# ... write code ...\n\n# 3. Curate with multiple files (max 5)\n# Let ByteRover read all files - don't read them yourself first\n# Specify the topics you want created\nbrv curate \"Added user notifications feature. Create separate topics for: 1) API endpoint structure, 2) NotificationService business logic, 3) useNotifications React hook pattern, 4) NotificationBell UI component\" -f src/api/notifications.ts -f src/services/NotificationService.ts -f src/hooks/useNotifications.ts -f src/components/NotificationBell.tsx\n```\n\n**Example: Database schema change with migrations**\n\n```bash\n# 1. Query migration patterns\nbrv query \"What is the migration naming convention and how are schema changes tested?\"\n\n# 2. Implement\n# ... create migration, update models, update queries ...\n\n# 3. Multiple curates for different concerns - break down large context\nbrv curate \"Added user_preferences table with JSONB settings column. Migration: 20240115_add_user_preferences\" -f migrations/20240115_add_user_preferences.ts\n\nbrv curate \"UserPreferences model with type-safe JSONB access. Includes validation for theme, notifications, locale settings\" -f src/models/UserPreferences.ts\n\nbrv curate \"Updated UserService to load/save preferences. Uses transaction for atomic updates with user record\" -f src/services/UserService.ts\n```\n\n## Pattern 4: Updating Existing Knowledge\n\nUse when changes make previous context outdated.\n\n**Example: Refactoring authentication system**\n\n```bash\n# 1. Query current documented state\nbrv query \"What is currently documented about authentication implementation and token handling?\"\n\n# 2. Implement refactor\n# ... refactor code ...\n\n# 3. Curate with explicit cleanup signal\n# Tell ByteRover to clean up outdated context\nbrv curate \"OUTDATED: Previous auth used session cookies stored in Redis. NEW: Migrated to JWT with refresh tokens. Access token in memory (15min), refresh token in httpOnly cookie (7d). Remove/update any session-based auth context in the tree\" -f src/auth/jwt.ts -f src/auth/refresh.ts\n```\n\n**Example: Replacing a library**\n\n```bash\n# 1. Query what's documented about the old library\nbrv query \"What patterns are documented for moment.js date handling?\"\n\n# 2. Implement replacement\n# ... replace library usage ...\n\n# 3. Curate the replacement with cleanup signal\nbrv curate \"REPLACED: Removed moment.js (bloated, mutable). Now using date-fns (tree-shakeable, immutable). Clean up any moment.js context. New patterns: format(date, 'yyyy-MM-dd'), parseISO(string), differenceInDays(date1, date2)\" -f src/utils/dates.ts\n```\n\n**Example: API versioning change**\n\n```bash\n# Curate with explicit version context\nbrv curate \"OUTDATED: API v1 endpoints deprecated. NEW: All endpoints now v2 with breaking changes. v2 uses camelCase response keys, pagination via cursor (not offset), errors include requestId. Update any v1 API context\" -f src/api/v2/routes.ts\n```\n\n## Pattern 5: Comprehensive Documentation\n\nUse when documenting complex systems that need detailed breakdown.\n\n**Example: Documenting a payment module**\n\n```bash\n# Break into multiple curates - don't try to capture everything in one\n# Specify structure and detail level for each topic\n\n# Overview first\nbrv curate \"Payment module overview: Stripe integration with webhooks for subscription management. Create 4 separate detailed topics covering the full payment lifecycle\" -f src/payments/\n\n# Topic 1 - detailed with line count guidance\nbrv curate \"Topic: Payment checkout flow. Cover: 1) cart validation, 2) createPaymentIntent call, 3) client-side confirmation, 4) success/failure handling. Include error scenarios. At least 50 lines of detailed documentation\" -f src/payments/checkout.ts -f src/payments/intent.ts\n\n# Topic 2 - webhook handling\nbrv curate \"Topic: Stripe webhook handling. Cover: 1) signature verification with STRIPE_WEBHOOK_SECRET, 2) idempotency with processed_events table, 3) event types (payment_intent.succeeded, payment_intent.failed, customer.subscription.*). At least 40 lines\" -f src/payments/webhooks.ts\n\n# Topic 3 - subscription management\nbrv curate \"Topic: Subscription lifecycle. Cover: trial period handling, upgrade/downgrade proration, cancellation with grace period, reactivation flow\" -f src/payments/subscriptions.ts\n\n# Topic 4 - error handling\nbrv curate \"Topic: Payment error handling. Cover: StripeError types (CardError, InvalidRequestError, APIError), retry logic for transient failures, user-facing error messages mapping\" -f src/payments/errors.ts\n```\n\n**Example: Documenting a state management system**\n\n```bash\n# Multiple focused curates instead of one massive one\n\nbrv curate \"State management overview: Using Zustand with persistence middleware. Create topics for: store structure, async actions, persistence, devtools integration\" -f src/store/\n\nbrv curate \"Topic: Store structure. Separate stores per domain (userStore, cartStore, uiStore). Each store follows pattern: state interface, actions, selectors. No cross-store dependencies\" -f src/store/userStore.ts -f src/store/cartStore.ts\n\nbrv curate \"Topic: Async actions. Pattern: set loading -> try/catch -> set data/error -> clear loading. All API calls go through apiClient. Optimistic updates for cart operations\" -f src/store/cartStore.ts -f src/store/actions/\n\nbrv curate \"Topic: Persistence. userStore persisted to localStorage (excluding sensitive data). cartStore persisted to sessionStorage. Custom serializer excludes functions and timestamps\" -f src/store/middleware/persist.ts\n```\n\n## Pattern 6: Exploratory Documentation\n\nUse when you need to document an unfamiliar codebase area.\n\n**Example: Understanding and documenting an existing module**\n\n```bash\n# 1. Query what's already known\nbrv query \"What is documented about the notification system and real-time updates?\"\n\n# 2. Explore the code (agent reads files to understand)\n# ... read and understand the code ...\n\n# 3. Curate in chunks as you understand different parts\n# First curate: high-level architecture\nbrv curate \"Notification system uses WebSocket for real-time delivery with Redis pub/sub for horizontal scaling. Three components: NotificationService (creation/storage), NotificationGateway (WebSocket), NotificationWorker (background processing)\" -f src/notifications/\n\n# Second curate: specific implementation detail\nbrv curate \"WebSocket authentication: JWT token passed in connection query params, validated on connect, stored in socket.data. Rooms: user_{id} for personal, team_{id} for team broadcasts\" -f src/notifications/NotificationGateway.ts\n\n# Third curate: gotchas discovered\nbrv curate \"Notification gotchas: 1) Must call gateway.joinRoom after auth, 2) Unread count cached in Redis (5min TTL) - call invalidateUnreadCount after marking read, 3) Batch notifications throttled to max 10/second per user\" -f src/notifications/NotificationService.ts\n```\n\n## What to Curate\n\n**Do curate:**\n- Architecture decisions: \"Chose Redis for sessions because of horizontal scaling\"\n- Patterns: \"All forms use react-hook-form with zod. Pattern in LoginForm.tsx\"\n- Non-obvious conventions: \"File uploads go to /tmp first, then S3 after validation\"\n- Bug root causes: \"Memory leak from event listeners not removed on unmount\"\n- Gotchas: \"PostgreSQL JSONB queries need explicit casting for arrays\"\n- Replacements: \"OUTDATED: X, NEW: Y\" when refactoring\n\n**Don't curate:**\n- Obvious facts: \"Uses TypeScript\", \"Has a README\"\n- Temporary states: \"Currently debugging X\"\n- Personal preferences: \"I prefer tabs\"\n- Trivial changes: \"Fixed typo in comment\"","readmeExcerpt":"Skill: byterover-test Owner: RyanNg1403 Summary: Queries and curates knowledge in ByteRover context tree. Use when user asks to remember information, add context, search patterns, query implementations, or manage project knowledge. Triggers on phrases like \"remember this\", \"add to context\", \"how does X work\", \"what are the patterns\", \"store this\", \"save this knowledge\", \"curate\", \"brv query\", \"check context tree\". Ta","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Good - specific, explains where and why\nbrv curate \"Auth uses JWT 24h expiry, tokens in httpOnly cookies\" -f src/auth.ts\n\n# Bad - too vague\nbrv curate \"Fixed auth\""},{"language":"bash","snippet":"# Good - ByteRover reads the files\n   brv curate \"Auth implementation details\" -f src/auth.ts -f src/middleware/jwt.ts\n\n   # Wasteful - reading files twice\n   # [agent reads files] then brv curate \"...\" -f same-files"},{"language":"bash","snippet":"# Good - specific\n   brv query \"What validation library is used for API request schemas?\"\n\n   # Bad - vague, slow\n   brv query \"How is validation done?\""},{"language":"bash","snippet":"brv curate \"OUTDATED: Previous auth used sessions. NEW: Now uses JWT with refresh tokens. Clean up old session-based auth context.\" -f src/auth.ts"},{"language":"bash","snippet":"# Specify topics/domains\n   brv curate \"Create separate topics for: 1) JWT validation, 2) refresh token flow, 3) logout handling\" -f src/auth.ts\n\n   # Specify detail level\n   brv curate \"Document the error handling patterns in detail (at least 30 lines covering all error types)\" -f src/errors/"},{"language":"bash","snippet":"brv status"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: byterover\ndescription: Queries and curates knowledge in ByteRover context tree. Use when user asks to remember information, add context, search patterns, query implementations, or manage project knowledge. Triggers on phrases like \"remember this\", \"add to context\", \"how does X work\", \"what are the patterns\", \"store this\", \"save this knowledge\", \"curate\", \"brv query\", \"check context tree\".\n---\n\n# ByteRover Context Tree\n\nA project-level knowledge repository that persists across sessions. Use it to avoid re-discovering patterns, conventions, and decisions.\n\n## Why Use ByteRover\n\n- **Query before working**: Get existing knowledge about patterns, conventions, and past decisions before implementing\n- **Curate after learning**: Capture insights, decisions, and bug fixes so future sessions start informed\n\n## Quick Reference\n\n| Command | When | Example |\n|---------|------|---------|\n| `brv query \"question\"` | Before starting work | `brv query \"How is auth implemented?\"` |\n| `brv curate \"context\" -f file` | After completing work | `brv curate \"JWT 24h expiry\" -f auth.ts` |\n| `brv status` | To check prerequisites | `brv status` |\n\n## When to Use\n\n**Query** when you need to understand something:\n- \"How does X work in this codebase?\"\n- \"What patterns exist for Y?\"\n- \"Are there conventions for Z?\"\n\n**Curate** when you learned or created something valuable:\n- Implemented a feature using specific patterns\n- Fixed a bug and found root cause\n- Made an architecture decision\n\n## Curate Quality\n\nContext must be **specific** and **actionable**:\n\n```bash\n# Good - specific, explains where and why\nbrv curate \"Auth uses JWT 24h expiry, tokens in httpOnly cookies\" -f src/auth.ts\n\n# Bad - too vague\nbrv curate \"Fixed auth\"\n```\n\n**Note:** Context argument must come before `-f` flags. Max 5 files.\n\n## Best Practices\n\n1. **Break down large contexts** - Run multiple `brv curate` commands for complex topics rather than one massive context. Smaller chunks are easier to retrieve and update.\n\n2. **Let ByteRover read files** - Don't read files yourself before curating. Use `-f` flags to let ByteRover read them directly:\n   ```bash\n   # Good - ByteRover reads the files\n   brv curate \"Auth implementation details\" -f src/auth.ts -f src/middleware/jwt.ts\n\n   # Wasteful - reading files twice\n   # [agent reads files] then brv curate \"...\" -f same-files\n   ```\n\n3. **Be specific in queries** - Queries block your workflow. Use precise questions to get faster, more relevant results:\n   ```bash\n   # Good - specific\n   brv query \"What validation library is used for API request schemas?\"\n\n   # Bad - vague, slow\n   brv query \"How is validation done?\"\n   ```\n\n4. **Signal outdated context** - When curating updates that replace existing knowledge, explicitly tell ByteRover to clean up:\n   ```bash\n   brv curate \"OUTDATED: Previous auth used sessions. NEW: Now uses JWT with refresh tokens. Clean up old session-based auth context.\" -f src/auth.ts\n   ```\n\n5. **Specify structure expectations** -"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn78m6bsbgwt197d802754qhbn7zzcfw\",\n  \"slug\": \"byterover-test\",\n  \"version\": \"1.2.1\",\n  \"publishedAt\": 1769486222999\n}"},{"path":"TROUBLESHOOTING.md","content":"# ByteRover Troubleshooting\n\n## Quick Diagnosis\n\n```bash\nbrv status\n```\n\n## User Action Required\n\nThese errors require user intervention (agent cannot fix):\n\n| Error | User Action |\n|-------|-------------|\n| \"No ByteRover instance is running\" | Start `brv` in separate terminal |\n| \"Not authenticated\" | Run `/login` in brv REPL |\n| \"Project not initialized\" | Run `/init` in brv REPL |\n| \"Connection failed\" | Restart `brv` (Ctrl+C, then `brv`) |\n\n**Template response:**\n> Please [action] in your brv terminal, then I'll retry the command.\n\n## Agent-Fixable Errors\n\n| Error | Fix |\n|-------|-----|\n| \"Context argument required\" | Add text before `-f`: `brv curate \"text\" -f file` |\n| \"Maximum 5 files allowed\" | Reduce to 5 or fewer `-f` flags |\n| \"File not found\" | Verify path with `ls`, use relative paths from project root |\n| \"No relevant context found\" | Try different query phrasing, or curate knowledge first |\n\n## Architecture\n\nByteRover uses client-server architecture:\n- User runs `brv` to start server (interactive REPL)\n- Agent commands (`query`, `curate`, `status`) connect to server\n- Server must be running for commands to work\n\n## Exit Codes\n\n| Code | Meaning |\n|------|---------|\n| 0 | Success |\n| 1 | General error |\n| 2 | Connection error |\n\n## Getting Help\n\n- Email: support@byterover.dev\n- Discord: https://discord.com/invite/UMRrpNjh5W"},{"path":"WORKFLOWS.md","content":"# ByteRover Workflows\n\n## Pattern 1: Research Before Implementation\n\nUse when starting new features or working in unfamiliar areas.\n\n**Workflow:**\n```\nQuery existing knowledge → Implement following patterns → Curate new decisions\n```\n\n**Example: Adding a new API endpoint**\n\n```bash\n# 1. Query for existing patterns\n# Be SPECIFIC to get faster, more relevant results\nbrv query \"What middleware chain is used for authenticated API endpoints?\"\nbrv query \"What is the standard error response format for API routes?\"\n\n# 2. Implement following discovered patterns\n# ... write code ...\n\n# 3. Curate decisions made\n# Don't read the file first - let ByteRover read it via -f flag\nbrv curate \"Added /api/users/profile endpoint. Uses authMiddleware for JWT validation, returns UserProfileDTO. Error handling follows ApiError pattern\" -f src/api/routes/users.ts\n```\n\n**Example: Implementing a new React component**\n\n```bash\n# 1. Query patterns - specific questions save time\nbrv query \"What data fetching hook pattern is used in list components?\"\nbrv query \"Are CSS modules or styled-components used for component styling?\"\n\n# 2. Implement\n# ... write component ...\n\n# 3. Curate with file reference - ByteRover reads the file\nbrv curate \"Created UserAvatar component. Uses React Query for data fetching, CSS modules for styling. Follows existing pattern in src/components/common/\" -f src/components/UserAvatar.tsx\n```\n\n## Pattern 2: Debug and Document\n\nUse when fixing bugs to capture learnings and prevent recurrence.\n\n**Workflow:**\n```\nQuery known issues → Debug and fix → Curate root cause and solution\n```\n\n**Example: Fixing a race condition**\n\n```bash\n# 1. Query for context - be specific about the symptom\nbrv query \"Are there known race condition patterns or AbortController usage in data fetching hooks?\"\n\n# 2. Debug and fix\n# ... investigate, find root cause, implement fix ...\n\n# 3. Curate the learning with structured format\nbrv curate \"Bug: stale data after rapid navigation. Cause: useEffect cleanup not cancelling requests. Fix: AbortController with cleanup. Pattern: always abort fetch in useEffect cleanup\" -f src/hooks/useUserData.ts\n```\n\n**Example: Fixing an authentication issue**\n\n```bash\n# 1. Specific query about the problem area\nbrv query \"How are credentials and cookies configured in the API client fetch calls?\"\n\n# 2. Fix\n# ... debug and fix ...\n\n# 3. Curate with emphasis on the gotcha\nbrv curate \"Bug: unexpected logouts. Cause: fetch missing credentials option. Fix: added 'credentials: include' to fetch config. IMPORTANT: all API calls must include credentials for cookie-based auth\" -f src/lib/api-client.ts\n```\n\n## Pattern 3: Multi-File Changes\n\nUse when changes span multiple files to maintain context.\n\n**Example: Adding a new feature across layers**\n\n```bash\n# 1. Query architecture - specific about the layers\nbrv query \"How are full-stack features organized across API routes, service layer, and React components?\"\n\n# 2. Implement across files\n# ... write code ...\n\n# 3. Cu"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Queries and curates knowledge in ByteRover context tree. Use when user asks to remember information, add context, search patterns, query implementations, or manage project knowledge. Triggers on phrases like \"remember this\", \"add to context\", \"how does X work\", \"what are the patterns\", \"store this\", \"save this knowledge\", \"curate\", \"brv query\", \"check context tree\". Skill: byterover-test Owner: RyanNg1403 Summary: Queries and curates knowledge in ByteRover context tree. Use when user asks to remember information, add context, search patterns, query implementations, or manage project knowledge. Triggers on phrases like \"remember this\", \"add to context\", \"how does X work\", \"what are the patterns\", \"store this\", \"save this knowledge\", \"curate\", \"brv query\", \"check context tree\". Ta","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1032,"uniquenessScore":52,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","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-04-15T00:45:39.800Z","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-09T13:00:15.480Z","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/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}