campfirein/byterover-cli/skill

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

You MUST use this skill for: (1) 'Show me how ByteRover works', 'walk me through ByteRover', tour, intro, walkthrough, or onboarding requests — runs a guided 90-second introduction; (2) gathering contexts before any work; (3) saving knowledge after any change. ByteRover stores and retrieves project patterns, decisions, and architectural rules in `.brv/context-tree`. Iron Law: query before thinking, curate after implementing.

Install

npx vskill@latest install campfirein/byterover-cli/skill

SKILL.md

ByteRover Knowledge Management

Use the brv CLI to manage your project's long-term memory. Knowledge is stored in .brv/context-tree/ as human-readable Markdown.

Install: npm install -g byterover-cli. No authentication needed. No LLM provider needed. brv query, brv search, brv read, brv curate, and brv vc (local version control) all run locally. Your own LLM drives any synthesis or HTML authoring step. Login is only required for remote sync (brv vc push / brv vc pull).

First-Turn Routing

Check this before anything else on every user turn.

If the user message reads as a request for an introduction, tour, or overview of ByteRover — for example:

  • "Show me how ByteRover works" (canonical phrase from the install docs)
  • "Walk me through ByteRover" / "Give me a ByteRover tour"
  • "How does ByteRover work?"
  • "Intro me to ByteRover" / "Show me ByteRover"
  • Any semantic equivalent ("can you walk me through this", "explain ByteRover to me", etc.)

→ Stop reading this file. Open `onboarding.md` and follow it. Do NOT run brv query, brv search, or brv curate before the tour — the tour itself runs those commands as part of the demonstration.

For every other request, continue below to the Iron Law.

The Iron Law

QUERY BEFORE THINKING. CURATE AFTER IMPLEMENTING.

brv query first — retrieve relevant context from the context tree before forming an answer or starting a change. brv curate after — save new patterns, decisions, or learned facts before claiming done. Violating the letter of the rule is violating the spirit of the rule. No exceptions without your human partner's permission.

Curate Dispatch — Read This Before Calling brv curate

brv curate is a multi-step session (kickoff → author → continuation → validate, ~10-60s per topic) that BLOCKS the user's conversation when run inline. Your default for any substantive curate is to dispatch it to the saved `brv-curate` sub-agent — the operational protocol (HTML contract, session state machine, envelope path, --response-file form, path-exists merging, retry cap, return shape) lives in the saved agent's definition, so your dispatch ONLY hands over the facts.

Claude Code — tool-call dispatch:

ts
Agent({
subagent_type: "brv-curate",
description: "brv curate (background)",
prompt: `Curate the following 1-5 facts:\n1. <summary>\n Body: <context>\n...`,
run_in_background: true,
})

Codex — conversational dispatch (Codex has no subagent_type tool param; it spawns named agents on explicit instruction):

Spawn the brv-curate agent with the following 1-5 facts. Return the aggregate { completed, pending_review, failed, file_paths }.
1. <summary> — Body: <context>
2. <summary> — Body: <context> ...

Decision in one line:

SituationDispatch shape
1 substantive curateOne dispatch carrying that one fact.
2-5 substantive curates this turnOne dispatch carrying all of them — the worker handles them sequentially.
6+ substantive curates (bootstrap / repo scan)Multiple dispatches, each carrying a 2-5-fact chunk, fired sequentially (wait for chunk N's completion before firing chunk N+1).
Trivial / one-fact / user said "wait" / turn-dependent on the resultRun inline.

Do NOT run a substantive curate inline. Do NOT fan out N parallel sub-agents on the same project — the daemon's overlap lock will reject every sub-agent after the first. Do NOT inline the curate protocol into the dispatch prompt — the saved agent definition has it.

The saved agent definition MUST be deployed at the right path for each surface:

SurfaceDeployed pathFalls back if missing
Claude Code.claude/agents/brv-curate.md (project) or ~/.claude/agents/brv-curate.md (user)subagent_type resolves to the default general-purpose agent — which lacks permissionMode: bypassPermissions and hits the auto-deny problem.
Codex.codex/agents/brv-curate.toml (project) or ~/.codex/agents/brv-curate.toml (user)Named-agent dispatch fails — Codex runs the curate in the main thread instead of a worker.

Full dispatch shape, permission pre-authorization, the chunked-orchestrator pattern, and both saved-agent definitions all live in curate.md. Open it before your first curate dispatch in any session.

When To Use This Skill

Invoke brv when:

  • The user wants you to recall something from this project
  • Your context does not contain information you need
  • Before performing any action, to check for relevant rules, criteria, or preferences
  • You need to recall your capabilities or prior actions
  • The user wants you to remember something
  • The user intentionally curates memory or knowledge
  • There are meaningful memories from user interactions worth persisting
  • There are important facts about what was done, what is known, or what decisions and actions have been taken

When NOT To Use This Skill

Do NOT invoke brv when:

  • The information is already present in your current context
  • The query is about general knowledge, not stored memory
  • The information is already stored unchanged
  • The information is transient (only relevant to the current task) or general knowledge

Decision Flowchart

dot
digraph brv_flow {
start [label="User message arrives", shape=doublecircle];
need_context [label="Need project context\nfor the next step?", shape=diamond];
skip [label="Skip brv.\nRespond from context.", shape=ellipse];
know_path [label="Already know the\nexact topic path?", shape=diamond];
paths_only [label="Need ranked paths /\nexcerpts only?", shape=diamond];
swarm_cfg [label="2+ memory providers\nconfigured?\n(brv swarm status)", shape=diamond];
query [label="brv query <text>\n--format json", shape=box, style=filled, fillcolor="#ccffcc"];
search [label="brv search <text>", shape=box, style=filled, fillcolor="#ccffcc"];
read [label="brv read <path>", shape=box, style=filled, fillcolor="#ccffcc"];
swarm_q [label="brv swarm query <text>", shape=box, style=filled, fillcolor="#ccffcc"];
work [label="Do the work", shape=box];
learned [label="Made a change,\ndecision, or discovery\nworth persisting?", shape=diamond];
bootstrap [label="6+ substantive curates\nin this turn?\n(bootstrap / repo scan)", shape=diamond];
substantive [label="Substantive?\n(decision / arch fact /\nbug+fix / convention)", shape=diamond];
bg_batch [label="Multiple brv-curate sub-agent\ndispatches, 2-5 facts per chunk,\nfired SEQUENTIALLY.\n\nSee curate.md § Bootstrap", shape=box, style=filled, fillcolor="#ffcccc"];
bg_curate [label="Dispatch the brv-curate\nsub-agent (Claude: Agent(...);\nCodex: 'Spawn brv-curate').\n\nDefault for substantive curates\n(handles up to 5 in one sub-agent).\nSee curate.md § Background Execution", shape=box, style=filled, fillcolor="#ffcccc"];
curate [label="brv curate <intent>\n(inline — session protocol)", shape=box, style=filled, fillcolor="#ffcccc"];
done [label="Done", shape=ellipse];
start -> need_context;
need_context -> skip [label="no"];
need_context -> know_path [label="yes"];
know_path -> read [label="yes"];
know_path -> paths_only [label="no"];
paths_only -> search [label="yes"];
paths_only -> swarm_cfg [label="no"];
swarm_cfg -> swarm_q [label="yes"];
swarm_cfg -> query [label="no"];
query -> work;
search -> work;
read -> work;
swarm_q -> work;
work -> learned;
learned -> done [label="no"];
learned -> bootstrap [label="yes"];
bootstrap -> bg_batch [label="yes"];
bootstrap -> substantive [label="no"];
substantive -> bg_curate [label="yes (default)"];
substantive -> curate [label="trivial /\nturn-dependent /\nuser said wait"];
bg_batch -> done;
bg_curate -> done;
curate -> done;
}

Detailed Guides

  • onboarding.md - 90-second introduction tour; follow when the user asks for an overview, intro, or tour of ByteRover (canonical phrase: "Show me how ByteRover works")
  • query.md - retrieval protocol for brv query, brv swarm query, brv search, and brv read
  • curate.md - saving durable project knowledge, including the HTML <bv-topic> contract
  • review.md - handling pending human review after curate
  • swarm.md - swarm query and external-provider storage
  • vc.md - local context-tree version control
  • dream.md - context-tree cleanup via brv dream's three-phase scan / curate / finalize workflow
  • history.md - query and curate history inspection
  • troubleshooting.md - brv error handling, data-handling, and file-input limits

Quick Reference

NeedCommandDetail file
Ranked topics WITH rendered content for synthesisbrv queryquery.md
Ranked paths / excerpts (no rendered content)brv searchquery.md
Read ONE topic by its known pathbrv read <path>query.md
Save knowledge to the local context treebrv curatecurate.md
Approve/reject pending curate operationsbrv reviewreview.md
Cross-source recall (Obsidian, GBrain, …)brv swarm queryswarm.md
Save to an external memory providerbrv swarm curateswarm.md
Inspect past curates/queriesbrv curate view / brv query-log viewhistory.md
Track context-tree changes (git-style)brv vcvc.md
Consolidate / dedupe / prune the context treebrv dreamdream.md
Visually browse / view curated knowledge in a browserbrv webuicurate.md
Find project pathsbrv locationsbrv locations --help
Diagnose a brv errorbrv statusbrv status --help

Common Rationalizations

These are excuses agents reach for. Each one is wrong. If you catch yourself thinking the left column, the right column is reality:

ExcuseReality
"The information is probably in my context already"Your context is a snapshot. The context tree may have superseded it. If you're unsure, query.
"It's general knowledge, not stored memory"Correct for brv query. But if you applied that general knowledge to this project, the application is project-specific — curate it.
"I'll use brv search instead, it returns paths faster"Search returns excerpts only. If you need rendered topic content for synthesis, use brv query. Don't downgrade to dodge the wrong cost.
"I'll use brv query even though I know the path"If you know the path, use brv read — no ranking overhead.
"brv query returned no matches, nothing to do"no-matches is a signal to curate, not a dead end. If you produced an answer worth keeping, save it.
"Curate must be slow because it uses an LLM"It doesn't. ByteRover validates HTML you author; the session is short — kickoff, write, continue. No provider needed.
"I'll claim 'done' after submitting the response"Not until data.status: "done". If you got needs-llm-step you owe another --session turn with --response or --response-file.
"path-exists is blocking me — let me kick off fresh"The guard doesn't clear by re-kickoff. Handle it in this session: merge + --overwrite, different path, or replace.
"I'll pass --overwrite to clear path-exists quickly"Not without reading existingContent first and surfacing the diff to the user. Overwrite is data-destructive.
"ByteRover only matters for code work"No. Curate covers decisions, design notes, conventions, organizational facts — anything worth recalling.

Red Flags — STOP and Restart

If you catch yourself in any of these states, STOP and reset:

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
4,898
Repository forks
452
7-day trend score
42

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/campfirein/byterover-cli/skill/badge)](https://verified-skill.com/skills/campfirein/byterover-cli/skill)

Something wrong with this skill or its page? Tell us.