{"id":"b8efd10f-e27c-438e-ba56-0b87f16bc0ca","entityType":"agent","slug":"clawhub-byteroverinc-byterover","name":"ByteRover","canonicalUrl":"https://www.xpersona.co/agent/clawhub-byteroverinc-byterover","canonicalPath":"/agent/clawhub-byteroverinc-byterover","generatedAt":"2026-10-09T07:40:13.572Z","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":"Manages project knowledge using ByteRover context tree. Provides two operations: query (retrieve knowledge) and curate (store knowledge). Invoke when user requests information lookup, pattern discovery, or knowledge persistence. Developed by ByteRover Inc. (https://byterover.dev/) Skill: ByteRover Owner: byteroverinc Summary: Manages project knowledge using ByteRover context tree. Provides two operations: query (retrieve knowledge) and curate (store knowledge). Invoke when user requests information lookup, pattern discovery, or knowledge persistence. Developed by ByteRover Inc. (https://byterover.dev/) Tags: latest:1.2.2 Version history: v1.2.2 | 2026-01-27T15:05:52.095Z | user - Added author","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 22.7K downloads reported by the source. Last updated 4/15/2026.","installCommand":"clawhub skill install kn73aw5gqbhxdqygjachxpd401800y76:byterover","sourceUrl":"https://clawhub.ai/byteroverinc/byterover","homepage":"https://clawhub.ai/byteroverinc/byterover","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/byteroverinc/byterover","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":85,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Manages project knowledge using ByteRover context tree. Provides two operations: query (retrieve knowledge) and curate (store knowledge). Invoke when user reque"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No protocol or capability metadata is available."},"protocols":[],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":0,"capabilityMatrix":{"rows":[],"flattenedTokens":""}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"stars":null,"forks":null,"downloads":22722,"packageName":null,"latestVersion":"1.2.2","tractionLabel":"22.7K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-02-28T16:49:01.642Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-28T16:49:01.642Z","lastIndexedAt":null,"nextCrawlAt":"2026-03-01T16:49:01.642Z","lastVerifiedAt":null,"highlights":[{"version":"1.2.2","createdAt":"2026-01-27T15:05:52.095Z","changelog":"- Added author and version metadata to the SKILL.md file. - Updated description to include developer attribution and website link: ByteRover Inc. (https://byterover.dev/). - No changes to functionality or file structure.","fileCount":4,"zipByteSize":7121},{"version":"1.2.1","createdAt":"2026-01-27T10:13:25.216Z","changelog":"ByteRover Agent Skill change summary: - Added comprehensive SKILL.md documentation covering query and curate operations, usage scenarios, quality guidelines, and best practices. - Included examples and command references for improved onboarding and usage clarity. - Outlined context curation standards and troubleshooting instructions. - Linked to additional resources for workflows and troubleshooting.","fileCount":4,"zipByteSize":7065}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install kn73aw5gqbhxdqygjachxpd401800y76:byterover","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-byteroverinc-byterover/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-byteroverinc-byterover/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-byteroverinc-byterover/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-byteroverinc-byterover/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-byteroverinc-byterover/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-byteroverinc-byterover/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":[]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T07:40:13.571Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-byteroverinc-byterover/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-byteroverinc-byterover/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-byteroverinc-byterover/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-byteroverinc-byterover/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\n\nOwner: byteroverinc\n\nSummary: Manages project knowledge using ByteRover context tree. Provides two operations: query (retrieve knowledge) and curate (store knowledge). Invoke when user requests information lookup, pattern discovery, or knowledge persistence. Developed by ByteRover Inc. (https://byterover.dev/)\n\nTags: latest:1.2.2\n\nVersion history:\n\nv1.2.2 | 2026-01-27T15:05:52.095Z | user\n\n- Added author and version metadata to the SKILL.md file.\n- Updated description to include developer attribution and website link: ByteRover Inc. (https://byterover.dev/).\n- No changes to functionality or file structure.\n\nv1.2.1 | 2026-01-27T10:13:25.216Z | user\n\nByteRover Agent Skill change summary:\n- Added comprehensive SKILL.md documentation covering query and curate operations, usage scenarios, quality guidelines, and best practices.\n- Included examples and command references for improved onboarding and usage clarity.\n- Outlined context curation standards and troubleshooting instructions.\n- Linked to additional resources for workflows and troubleshooting.\n\nArchive index:\n\nArchive v1.2.2: 4 files, 7121 bytes\n\nFiles: SKILL.md (3708b), TROUBLESHOOTING.md (1360b), WORKFLOWS.md (10495b), _meta.json (128b)\n\nFile v1.2.2:SKILL.md\n\n---\nname: byterover\ndescription: \"Manages project knowledge using ByteRover context tree. Provides two operations: query (retrieve knowledge) and curate (store knowledge). Invoke when user requests information lookup, pattern discovery, or knowledge persistence. Developed by ByteRover Inc. (https://byterover.dev/)\"\nmetadata:\n  author: ByteRover Inc. (https://byterover.dev/)\n  version: \"1.2.1\"\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.2:_meta.json\n\n{\n  \"ownerId\": \"kn73aw5gqbhxdqygjachxpd401800y76\",\n  \"slug\": \"byterover\",\n  \"version\": \"1.2.2\",\n  \"publishedAt\": 1769526352095\n}\n\nFile v1.2.2: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.2: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\"\n\nArchive v1.2.1: 4 files, 7065 bytes\n\nFiles: SKILL.md (3576b), TROUBLESHOOTING.md (1360b), WORKFLOWS.md (10495b), _meta.json (128b)\n\nFile v1.2.1:SKILL.md\n\n---\nname: byterover\ndescription: \"Manages project knowledge using ByteRover context tree. Provides two operations: query (retrieve knowledge) and curate (store knowledge). Invoke when user requests information lookup, pattern discovery, or knowledge persistence.\"\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\": \"kn73aw5gqbhxdqygjachxpd401800y76\",\n  \"slug\": \"byterover\",\n  \"version\": \"1.2.1\",\n  \"publishedAt\": 1769508805216\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 Owner: byteroverinc Summary: Manages project knowledge using ByteRover context tree. Provides two operations: query (retrieve knowledge) and curate (store knowledge). Invoke when user requests information lookup, pattern discovery, or knowledge persistence. Developed by ByteRover Inc. (https://byterover.dev/) Tags: latest:1.2.2 Version history: v1.2.2 | 2026-01-27T15:05:52.095Z | user - Added author ","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: \"Manages project knowledge using ByteRover context tree. Provides two operations: query (retrieve knowledge) and curate (store knowledge). Invoke when user requests information lookup, pattern discovery, or knowledge persistence. Developed by ByteRover Inc. (https://byterover.dev/)\"\nmetadata:\n  author: ByteRover Inc. (https://byterover.dev/)\n  version: \"1.2.1\"\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"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn73aw5gqbhxdqygjachxpd401800y76\",\n  \"slug\": \"byterover\",\n  \"version\": \"1.2.2\",\n  \"publishedAt\": 1769526352095\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":"Manages project knowledge using ByteRover context tree. Provides two operations: query (retrieve knowledge) and curate (store knowledge). Invoke when user requests information lookup, pattern discovery, or knowledge persistence. Developed by ByteRover Inc. (https://byterover.dev/) Skill: ByteRover Owner: byteroverinc Summary: Manages project knowledge using ByteRover context tree. Provides two operations: query (retrieve knowledge) and curate (store knowledge). Invoke when user requests information lookup, pattern discovery, or knowledge persistence. Developed by ByteRover Inc. (https://byterover.dev/) Tags: latest:1.2.2 Version history: v1.2.2 | 2026-01-27T15:05:52.095Z | user - Added author","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1018,"uniquenessScore":54,"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":"agent-directory","verified":false,"confidence":"low","updatedAt":"2026-10-09T07:40:13.572Z","emptyReason":"No close protocol neighbors were found."},"items":[],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[]}}}