Scheduled Code Review
Daily unattended code review: custom skill + Auto Mode goal + cron schedule. Verify with Run now, iterate on the skill.
What you will build
This recipe wires a recurring, unattended code review: every morning the agent pulls the last day of commits from a repository, reviews them against a custom skill, and writes a summary to workspace/reviews/. The Scheduler triggers the goal; Auto Mode drives the task loop; the diary carries context between runs.
You should already be comfortable with Auto Mode and skills. This recipe does not re-explain how goals, tasks, or the diary work.
Prerequisites
- GolemCore Bot is running and the dashboard is reachable.
- At least one coding-tier model is configured in
preferences/model-router.json. - The repository you want to review is either cloned into the sandbox or reachable via the GitHub MCP skill (see the GitHub MCP recipe).
- Auto Mode is enabled in
preferences/runtime-config.json.
1. Create the review skill
The skill is what makes the review consistent across runs. It pins the tier to coding, names the review output location, and describes what to check.
---
name: daily-review
description: Review commits from the last 24 hours for bugs and style issues
tier: coding
---
Review the commits landed in the target repository in the last 24 hours.
For each commit:
- Summarize the intent in one line.
- Flag logic errors, missing edge cases, and obvious regressions.
- Note style violations only if they change readability.
- Suggest a concrete improvement when you flag something.
Write the output to workspace/reviews/YYYY-MM-DD.md using that date
format. Include a short "No issues" section if nothing needs attention —
never skip writing the file.docker exec golemcore-bot ls /app/workspace/skills/daily-review/SKILL.md2. Create the goal and schedule
Open Scheduler in the dashboard and create a goal. The goal owns the task list and the diary; the schedule only decides when the goal advances.
- Click New goal. Title: Daily review of alexk-dev/golemcore-bot.
- Set the skill to
daily-review. The goal will activate this skill on every run. - Plan three tasks: fetch recent commits, review each commit, write the summary file. Auto Mode will walk them in order each trigger.
- Add a cron trigger.
0 9 * * *fires every day at 09:00 in the runtime container's timezone.
Goal: Daily review of alexk-dev/golemcore-bot
Skill: daily-review
Tasks: 3 pending
Next trigger: 2026-04-11 09:00 UTC3. Trigger the first run and verify
Do not wait a day to see if it worked. Use the Run now button on the schedule to trigger the goal immediately. The Sessions page shows the goal activating, each task progressing, and the skill being applied.
docker logs -f golemcore-bot | grep -E "goal|task|daily-review"[auto-mode] goal=daily-review-1 starting trigger=manual
[auto-mode] task=fetch-commits state=IN_PROGRESS
[auto-mode] task=fetch-commits state=COMPLETED
[auto-mode] task=review-commits state=IN_PROGRESS
[skill] activating daily-review tier=coding
[auto-mode] task=review-commits state=COMPLETED
[auto-mode] task=write-summary state=COMPLETED
[auto-mode] goal=daily-review-1 idle next=2026-04-11T09:00Zdocker exec golemcore-bot cat /app/workspace/reviews/2026-04-10.md | head -n 204. Check the output and tune
The review is rarely perfect on the first iteration. Look at the diary to see what the agent noticed, and adjust the skill instructions — not the task list — when the output drifts.
Read the diary
Open Sessions → the daily-review goal → Diary. The diary accumulates across runs and is how the agent carries context forward.
Inspect
Tune the skill, not the tasks
Edit workspace/skills/daily-review/SKILL.md on disk, or through Settings → Skills. Changes take effect on the next trigger without restarting the runtime.
Adjust
Check write permissions
If the output file is missing, check that the sandbox volume is mounted and that write_file is enabled in preferences/tools.json.
Verify
Variants
Local-only repository
Point the skill at workspace/projects/<repo>/ instead of GitHub. The review becomes a local git log walk — no token, no MCP.
No GitHub
Review several times a day
Swap the cron to 0 */4 * * * for a four-hour cadence. Raise startup_timeout on the skill if the review runs long.
Cadence
Deeper review tier
Set the skill tier to deep for slower, higher-reasoning reviews. Expect longer runs and higher token spend; track usage in Settings → Usage.
Quality
Mail or webhook the summary
Add a second task that mails the summary via the Mail plugin, or sends it to a webhook. Keeps the review visible without opening the dashboard.
Delivery
Gotchas
Goal never advances
Check: Sessions → goal → Tasks. If every task is still PENDING, the trigger did not fire. Fix: confirm the cron expression and that the scheduler is enabled in Settings → Scheduler.
no run
Skill does not activate
Check: Logs for [skill] activating daily-review. If missing, the skill name in the goal does not match the SKILL.md name field. Fix: rename one to match the other exactly.
skill
Summary file never updates
Check: the last review file's date. If the file never changes, the task that writes it is skipping. Fix: make sure the instructions explicitly say 'never skip writing the file' — models will otherwise omit an empty report.
output
Token spend grows unbounded
Check: Settings → Usage for the goal's token spend. If it spikes, the skill is pulling too much context per run. Fix: add a hard limit in the SKILL.md instructions (e.g., 'review at most 20 commits per run').
cost
What to do next
Related pages
User Guide
Auto Mode
How the agent runs goal-driven workflows: goals, tasks, diary, and the state machine that drives autonomous execution.
User Guide
Skills
What a skill is, how sticky activation works, and the SKILL.md contract. For concrete recipes, see the Cookbook.
Cookbook
Connect GitHub via MCP
Create a skill that launches the GitHub MCP server, wire up authentication, activate, and verify with a test query.