Skip to content
rev0Docs

Run a repo report

A report is a ready-made agent you run by name, with no prompt to write: it reads the repo, writes a markdown report and attaches it to the ticket. Run one once, or on a schedule so a fresh report lands every week.

  • A working directory: the repo the report reads.
  • For PR triage, a GitHub origin and gh signed in.
ReportSkillGathersSuggested schedule
Git health reportgit-healthStale and unmerged branches, large files, commit cadenceMondays 09:00
Security scansecurity-reviewSecrets, injection, auth and other risky patterns in the pending changesMondays 09:00
PR triagepr-triageOpen pull requests, review backlog, staleness, a suggested priority orderEvery day 09:00
Dependency auditdependency-auditOutdated and vulnerable dependencies (uv, pip, npm)Mondays 09:00
Repo digestrepo-digestAn architecture overview and recent activityFridays 16:00

Every report is read-only: it writes nothing to the repo, merges nothing and upgrades nothing.

  1. Click Create.
  2. Under Report library, click Start from a report template… and pick a report.
  3. Click Run once. It fills in the title and description and sets Type to Command (runs a /skill) with the report’s skill.
  4. Set the Working directory and click Create.

Result: the agent runs the skill and the report is attached to the ticket under Artifacts.

  1. Click Create, then pick a report under Report library.
  2. Click Schedule. Type becomes Loop (runs on a cron schedule), with the report’s suggested schedule filled in.
  3. Adjust the schedule, set the Working directory and click Create.

Result: a Loop that runs the report at each scheduled time. Each run is a ticket of its own in the Loop’s history, with a fresh report attached. Change the times in the Loop’s Schedule tab (Run a Loop).

A report is one case of a command ticket. To run any other skill:

  1. Click Create and set Type to Command (runs a /skill).
  2. Under Skill / command, pick a skill, or Custom skill name… and type its name.

The list holds the skills this machine has: the board’s own, your ~/.claude/skills, the repo’s .claude/skills and commands, plugin skills and the Claude Code built-ins.

Result: the agent runs that one skill. Command tickets run on Claude Code: Codex and Cursor cannot expand a slash command, so a command ticket on one of their models is refused before it starts.

  1. In the board’s repo, write the skill as .claude/skills/<name>/SKILL.md.
  2. Add an entry to config/report_library.json: an id, a title, the skill, a one-line summary, the description the ticket gets, and a suggested_schedule.

Result: the report shows in the Report library and its skill in the Skill / command list. Write the description so it names the skill (“Run the /my-report skill and save the report as an artifact”): a scheduled run is a plain task and follows the description.

A skill lives in a repo’s .claude/skills, which an agent only sees when it runs in that repo. Most tickets run in a worktree of another repo, so the board installs its skills where every engine looks, at startup and whenever you ask:

  1. Each skill is linked into an index, ~/.rev0/skills/<name>.
  2. The index is linked into each engine’s user directory: ~/.claude/skills (Claude Code) and ~/.agents/skills (Codex and Gemini). Cursor reads no skills.

They are links, so editing a SKILL.md applies to the next run with no reinstall. A skill you wrote by hand in one of those directories is never overwritten.

To check and repair it:

  • At the bottom of Settings > Agents, Skills per engine lists every skill with where it came from and a mark per engine it reaches. Refresh reads it again. A warning names any skill the board’s own instructions rely on that an engine cannot reach.

  • From a terminal:

    Terminal window
    rev0 skills sync # install or repair the links; safe to run again
    rev0 skills reach # one line per skill, and a PROBLEM line for each gap
    rev0 skills uninstall # remove every link the board made

Result: every engine that reads skills finds the board’s.

This is a command ticket but no command is set

Section titled “This is a command ticket but no command is set”

The ticket’s type is Command but it names no skill. Edit it and pick one under Skill / command.

rev0 skills reach found an engine that cannot see a skill. Run rev0 skills sync, or restart the board. If a real directory of the same name is in the way, the board leaves it alone: rename or remove it yourself.