Awesome-openclaw-skills byterover-headless
Query and curate knowledge-base using ByteRover CLI. Use `brv query` for knowledge retrieval, `brv curate` for adding context, and `brv push/pull` for syncing.
git clone https://github.com/sundial-org/awesome-openclaw-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/byterover-headless" ~/.claude/skills/sundial-org-awesome-openclaw-skills-byterover-headless && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/byterover-headless" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-byterover-headless && rm -rf "$T"
skills/byterover-headless/SKILL.mdByteRover Knowledge Management
Use the
brv CLI to manage your own knowledgebase. ByteRover maintains a context tree that stores patterns, decisions, and implementation details about a project.
IMPORTANT: For headless/automated use, always add
--headless --format json flags to get machine-parseable JSON output.
Setup (Headless)
- ByteRover can be fully set up in headless mode. If user has not logged in or initialized
in the current working directory (check via.brv/
and andprojectInitialized
inauthStatus
response), ask them to provide:brv status --headless --format json
- API key - for authentication (obtain from https://app.byterover.dev/settings/keys)
- Team and space - names or IDs for project initialization
Login with API Key
Authenticate using an API key:
brv login --api-key <key>
Outputs text:
Logged in as <email> on success.
Initialize Project
Initialize ByteRover for a project (requires team and space for headless mode - can use either ID or name):
# Using names brv init --headless --team my-team --space my-space --format json # Using IDs brv init --headless --team team-abc123 --space space-xyz789 --format json
Force re-initialization:
brv init --headless --team my-team --space my-space --force --format json
Example response:
{ "success": true, "command": "init", "data": { "status": "success", "teamName": "MyTeam", "spaceName": "MySpace", "configPath": "/path/to/project/.brv/config.json" } }
Note: You can use either team/space names or IDs. Names are matched case-insensitively.
Check Status
Check the current status of ByteRover and the project:
brv status --headless --format json
Example response:
{ "success": true, "command": "status", "data": { "cliVersion": "1.0.0", "authStatus": "logged_in", "userEmail": "user@example.com", "projectInitialized": true, "teamName": "MyTeam", "spaceName": "MySpace", "mcpStatus": "connected", "contextTreeStatus": "has_changes" } }
Query Knowledge
Ask questions to retrieve relevant knowledge:
brv query "How is authentication implemented?" --headless --format json
Example response:
{ "success": true, "command": "query", "data": { "status": "completed", "result": "Authentication uses JWT tokens...", "toolCalls": [{"tool": "search_knowledge", "status": "success", "summary": "5 matches"}] } }
Curate Context
Add new knowledge or context to the project's context tree:
brv curate "Auth uses JWT with 24h expiry. Tokens stored in httpOnly cookies via authMiddleware.ts" --headless --format json
Include specific files for comprehensive context (max 5 files):
brv curate "Authentication middleware validates JWT tokens" --files src/middleware/auth.ts --headless --format json
Example response:
{ "success": true, "command": "curate", "data": { "status": "queued", "taskId": "abc123", "message": "Context queued for processing" } }
Push Context Tree
Push local context tree changes to ByteRover cloud storage:
brv push --headless --format json -y
The
-y flag skips confirmation prompt (required for headless mode).
Push to a specific branch:
brv push --branch feature-branch --headless --format json -y
Example response:
{ "success": true, "command": "push", "data": { "status": "success", "added": 3, "edited": 1, "deleted": 0, "branch": "main", "url": "https://app.byterover.com/team/space" } }
Possible statuses:
- Push completedsuccess
- No context changes to pushno_changes
- Push was cancelledcancelled
- Push failederror
Pull Context Tree
Pull context tree from ByteRover cloud storage:
brv pull --headless --format json
Pull from a specific branch:
brv pull --branch feature-branch --headless --format json
Example response:
{ "success": true, "command": "pull", "data": { "status": "success", "added": 5, "edited": 2, "deleted": 1, "branch": "main", "commitSha": "abc123def" } }
Possible statuses:
- Pull completedsuccess
- Local changes exist, push firstlocal_changes
- Pull failederror
Error Handling
Always check the
success field in JSON responses:
- Operation completed successfullysuccess: true
- Operation failed, checksuccess: false
ordata.error
for detailsdata.message
Common error scenarios:
- Not authenticated: Run
brv login --api-key <key> - Project not initialized: Run
brv init --headless --team <team> --space <space> --format json - Local changes exist: Push local changes before pulling
Tips
- For pull and push operations, you should ask for user permission first.
- Always use
for automation (except--headless --format json
which outputs text).brv login - Check
first to verify auth and project state.brv status --headless --format json - For curate operations, include relevant files with
for better context.--files - Query responses may include tool call details showing what knowledge was searched.
- For push operations, always use
to skip confirmation in headless mode. For re-initialization, use-y
to force re-initialization.-f - Pull will fail if there are unpushed local changes - push first.