Skip to content

DailyOps

DailyOps workflows automate incremental progress toward large goals through small, scheduled daily changes. Work happens automatically in manageable pieces that are easy to review and integrate.

  • Continuous improvement - Daily code quality improvements
  • Progressive migrations - Gradually update dependencies or patterns
  • Documentation maintenance - Keep docs fresh with daily updates
  • Technical debt - Chip away at issues one small PR at a time

Workflows run on weekday schedules (avoiding weekends) with workflow_dispatch enabled for manual testing:

---
on:
schedule:
- cron: "0 2 * * 1-5" # Weekdays only (no short syntax available)
workflow_dispatch:
---

Work proceeds through three phases with maintainer approval between each:

  1. Research - Analyze state, create discussion with findings
  2. Configuration - Define steps, create config PR
  3. Execution - Make improvements, verify, create draft PRs

Use GitHub discussions to maintain continuity across runs. The workflow creates a discussion (if none exists) and adds progress comments on subsequent runs:

safe-outputs:
create-discussion:
title-prefix: "${{ github.workflow }}"
category: "ideas"

The safe-outputs: (validated GitHub operations) configuration lets the AI request discussion creation without requiring write permissions.

For workflows that post updates to an existing discussion, use add-comment with discussion: true and a specific target discussion number:

safe-outputs:
add-comment:
target: "4750"
discussion: true

This pattern is ideal for daily status posts, recurring reports, or community updates. The daily-fact.md workflow demonstrates this by posting daily facts about the repository to a pinned discussion thread.

Enable cache-memory to maintain state at /tmp/gh-aw/cache-memory/ across runs, useful for tracking progress, storing metrics, and building knowledge bases over time:

tools:
cache-memory: true

This repository implements several DailyOps workflows demonstrating different use cases:

  • daily-fact.md - Posts daily facts about the repository to a discussion thread
  • daily-test-improver.md - Systematically adds tests to improve coverage incrementally
  • daily-perf-improver.md - Identifies and implements performance optimizations
  • daily-doc-updater.md - Keeps documentation synchronized with merged code changes
  • daily-team-status (from agentics) - Creates daily team status reports with activity summaries
  • daily-repo-chronicle.md - Produces newspaper-style repository updates
  • daily-firewall-report.md - Analyzes and reports on firewall activity

All follow the phased approach with discussions for tracking and draft pull requests for review.

  1. Define Goal - Identify ongoing goal (test coverage, performance, docs sync)
  2. Design Workflow - Set weekday schedule, configure safe-outputs for discussions/PRs
  3. Research Phase - Analyze state, create discussion, wait for approval
  4. Config Phase - Create config files, test, submit PR, wait for approval
  5. Execute Daily - Make small improvements, verify, create draft PRs, update discussion
  • IssueOps - Trigger workflows from issue creation or comments
  • ChatOps - Trigger workflows from slash commands in comments
  • LabelOps - Trigger workflows when labels change on issues or pull requests
  • Planning Workflow - Use /plan command to split large discussions into actionable work items, then assign sub-tasks to Copilot for execution

DailyOps complements these patterns by providing scheduled automation that doesn’t require manual triggers.