agentleFS
d-oitd-oit/rust-2026-template/.agents/skills/dora-report/SKILL.md

dora-report

Skill15 starsChanged 5 months agoMITView on GitHub

Generate a DORA-REPORT.md for this repository by computing the five core DORA software delivery performance metrics and three DORA agentic metrics from available data sources. Use this when asked to generate a DORA report or assess delivery performance.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When asked to generate a DORA report or assess delivery performance

    line 19
  2. Distinctive:

    When evaluating the ROI of AI tooling adoption

    line 21
  3. Distinctive:

    All four core DORA metrics and three agentic metrics are populated.

    line 91
  4. Very specific:

    Use gh run watch to gate DORA recovery recording on CI passing:

    line 111

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill: dora-report

Purpose

Generate a DORA-REPORT.md for this repository by computing the five core DORA software delivery performance metrics and three DORA agentic metrics from available data sources.

When to use

  • When asked to generate a DORA report or assess delivery performance
  • During sprint reviews or quarterly assessments
  • When evaluating the ROI of AI tooling adoption
  • Run this skill monthly to track trends

Prerequisites

  • GitHub CLI (gh) installed and authenticated
  • Python 3.9+ available
  • .agents/metrics.jsonl exists
  • dora-metrics.jsonl exists (event log: deployment, change-failure and recovery events)
  • reports/dora-history.jsonl exists (weekly report snapshots for the trend table; created on first run when missing)

Steps

1. Fetch Deployment Frequency data from GitHub API

# Note: Combine paginated GitHub API JSON arrays using jq -s 'add // []' to avoid concatenated JSON files
# See historical failure case dora-report-gen-20260914 in .agents/ci/regression-matrix.json
gh api "/repos/{owner}/{repo}/releases" --paginate \
  --jq '[.[] | {tag: .tag_name, published: .published_at}]' \
  | jq -s 'add // []' \
  > /tmp/releases.json

2. Fetch PR Lead Time data

gh api "/repos/{owner}/{repo}/pulls?state=closed&base=main" --paginate \
  --jq '[.[] | select(.merged_at != null) | {pr: .number, created: .created_at, merged: .merged_at}]' \
  | jq -s 'add // []' \
  > /tmp/prs.json

3. Run the compute script

python3 .agents/skills/dora-report/scripts/compute_dora.py \
  --releases /tmp/releases.json \
  --prs /tmp/prs.json \
  --agent-metrics .agents/metrics.jsonl \
  --dora-metrics dora-metrics.jsonl \
  --policy plans/dora.json \
  --template .agents/skills/dora-report/templates/DORA-REPORT.md.jinja \
  --output reports/DORA-REPORT.md \
  --manifest-output reports/dora-manifest.json \
  --history reports/dora-history.jsonl \
  --period-days 30 \
  --repo $(git remote get-url origin | sed 's/.*github.com[:\/]\(.*\)\.git/\1/')

--dora-metrics is the event log; --history is the report snapshot history. The script replaces any stored snapshot from the same UTC ISO week with the current one, appends snapshots from new weeks, and renders the latest three snapshots (rolling windows ending on each report date) as the report's trend table.

4. Review and commit the report

git add reports/DORA-REPORT.md reports/dora-manifest.json reports/dora-history.jsonl
git commit -m "docs(dora): update reports/DORA-REPORT.md [skip ci]"

5. Log the report generation in metrics.jsonl

Append to .agents/metrics.jsonl:

echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","agent":"claude","skill":"dora-report","task_description":"Generated monthly DORA report","success":true,"human_interventions":0}' >> .agents/metrics.jsonl

Success Criteria

  • reports/DORA-REPORT.md is generated with up-to-date metrics.
  • All four core DORA metrics and three agentic metrics are populated.
  • The report is committed to the repository.
  • The activity is logged in .agents/metrics.jsonl.

Rationalizations

RationalizationReality
"We shipped a lot of features, so DORA must be good."DORA measures flow efficiency, not volume. Ship fast but measure lead time.
"Our MTTR is low because we roll back quickly."Rollback isn't recovery. Recovery means the fix is deployed and working.
"Manual deployment is fine for our team size."Manual deployment is the #1 blocker for Deployment Frequency improvement.

Red Flags

  • Running DORA report less than monthly (trends need data points)
  • Ignoring Lead Time for Changes (the hardest metric to improve)
  • Not tracking human_interventions in metrics (hides true agent performance)

GH CLI Usage

Use gh run watch to gate DORA recovery recording on CI passing:

# Find latest CI run for a branch
RUN_ID=$(gh run list --branch hotfix/my-fix --workflow ci.yml \
  --limit 1 --json databaseId --jq '.[0].databaseId')

# Block until CI completes; exits non-zero if CI fails
gh run watch "$RUN_ID" --exit-status

This ensures FDRT recovery is only counted after a verified green build.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.