Give a critical, evidence-based opinion on a whole codebase's architecture and delivery pipeline: pros and cons, breaking points, what is hard to maintain, manage or monitor, useless or nonsensical...
Produce an honest assessment the owner can act on. Flattery wastes their time and a vague "consider refactoring" is just as useless: every claim needs evidence from the code, config or logs, and every recommendation needs its tradeoff.
Read-only by default. Propose changes; do not apply them, and never delete anything without asking first. Evidence may be reproduced cheaply (run the tests, simulate a failing dependency) but only in a scratch copy, never in the target repository. Answer in the user's language.
Read the whole project, not a sample. Build a one-page mental model and keep it for the report:
Use git log for history when a decision looks strange. A weird choice is often a scar from an
old incident, and saying so makes the review fairer and more useful.
Follow one unit of work from trigger to final outcome and write the steps down. Mark each step as needed, redundant, or unknown. Nonsensical logic usually shows up here: a step that undoes the previous one, a check that can never fail, a manual hop between two automated stages, the same fact configured in three places.
Use the checklist in references/checklist.md (Reliability, Security, Operational excellence,
Performance, Cost, Sustainability, plus CI/CD hygiene and delivery metrics). Skip pillars that
do not apply and say so in one line, rather than padding.
Walk each pipeline for missing timeouts, no concurrency control, unpinned third-party actions,
broad token permissions, cache keys that never hit, steps that run on every change though only
some paths matter, duplicated workflows that could be one reusable definition, stages
serialised without reason, and deploy jobs that run on every branch. Some failures are visible
by reading alone (a test command that finds no tests, a script that is not executable in git):
report them directly. If run history is available (a remote with recent runs), hand the
analysis of failing runs to the ci-failure-analysis skill instead of guessing at causes.
Logs turn opinions into evidence. Look for repeated errors, retry storms, long gaps between
steps, and steps that dominate the elapsed time. If the question is how long things take and how
to speed them up, use the pipeline-throughput-analysis skill, which has a script for it.
Use this structure, in this order. Start with a short scope note: what you read, what you ran and where, what you could not see, and which pillars you skipped because they do not apply.
path:line or log excerpt), failure scenario, blast radius.Offer to record accepted decisions as Architecture Decision Records. Append-only: a changed decision gets a new record that supersedes the old one.