agent-council 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/RELEASE_NOTES.md ADDED
@@ -0,0 +1,25 @@
1
+ # Release Notes
2
+
3
+ ## 0.1.0 (2026-11-09)
4
+
5
+ Initial release: run one prompt through multiple models via the pi harness,
6
+ saving each model's final response as a Markdown report, with optional
7
+ consolidation by another model. `--consolidate RUN_DIR` runs just the
8
+ consolidation of a finished run. Runs go under `./agent-council-reports`,
9
+ or under the directory given with `-o` / `--output-dir`; `--consolidate`
10
+ writes into the run directory it is given. `AGENT_COUNCIL_OPTS`
11
+ holds arguments inserted before the command-line ones. Includes
12
+ sample prompts and configs under `examples/`, and a `pi-models` helper that
13
+ lists the provider/model pairs available to pi. Each run directory's
14
+ `run.json` records every agent run's outcome, duration, token usage, and,
15
+ where pi can price it, cost; reports show their duration and usage, and the
16
+ console shows usage per agent and in total. The consolidated report is
17
+ split into a `_findings.md` file, which can be pasted into an AI chat as
18
+ is, and a `_meta.md` file with the run's metadata.
19
+
20
+ agent-council does not sandbox the agents: they get pi's `bash` tool,
21
+ running as you. See [Safety and privacy](README.md#safety-and-privacy) in the README before running it.
22
+
23
+ Runs on Ruby 3.3 or later and on JRuby 10 or later (where SIGQUIT is left
24
+ to the JVM, so it doesn't stop a run). Native Windows is not supported; on
25
+ Windows, run agent-council inside WSL.
@@ -0,0 +1,28 @@
1
+ # Four agents and a consolidator for code review
2
+
3
+ | Role | Provider | Model | Why it fits |
4
+ |---|---|---|---|
5
+ | Main reviewer | `cursor` | `claude-opus-5-5-medium` | Primary review pass. |
6
+ | Fast first pass | `openai` | `gpt-6.1-sol` | Scans for bugs and missed edge cases. |
7
+ | Deep reviewer | `deepseek` | `deepseek-flash` | Independent review for complex changes. |
8
+ | Critical reviewer | `cursor` | `gemini-3.8-flash-high` | Careful final critique. |
9
+ | Consolidator | `cursor` | `claude-sonnet-5-5-high` | Synthesizes the findings. |
10
+
11
+ This uses three provider routes across four distinct agent model families. Opus 5.5 is the heavier review pass, so reserve it for consequential changes; the consolidator compares findings and highlights agreement, conflicts, and the most actionable issues.
12
+
13
+ To use it, copy the YAML block below into your config (`agent-council.yml` or `~/.agent-council.yml`), replacing any provider or model you don't have access to (see `pi --list-models`).
14
+
15
+ ```yaml
16
+ agents:
17
+ - provider: cursor
18
+ model: claude-opus-5-5-medium
19
+ - provider: openai
20
+ model: gpt-6.1-sol
21
+ - provider: deepseek
22
+ model: deepseek-flash
23
+ - provider: cursor
24
+ model: gemini-3.8-flash-high
25
+ consolidator:
26
+ provider: cursor
27
+ model: claude-sonnet-5-5-high
28
+ ```
@@ -0,0 +1,22 @@
1
+ # Sample ensemble: four analysts and a consolidator. Replace any provider or
2
+ # model you don't have credentials for (see `pi --list-models`). The
3
+ # commented-out entries are alternatives: uncommenting the extra agent adds a
4
+ # fifth analyst; to swap in the other consolidator, uncomment its provider
5
+ # and model lines and comment out the active pair.
6
+ agents:
7
+ - provider: opencode-go
8
+ model: glm-5.3
9
+ - provider: opencode-go
10
+ model: kimi-k3
11
+ - provider: openai
12
+ model: gpt-6.1-sol
13
+ # - provider: opencode-go
14
+ # model: minimax-m3
15
+ - provider: cursor
16
+ model: claude-sonnet-5-5-high
17
+
18
+ consolidator:
19
+ # provider: deepseek
20
+ # model: deepseek-v4-pro
21
+ provider: opencode-go
22
+ model: glm-5.3
@@ -0,0 +1,10 @@
1
+ # Minimal smoke-test config: one inexpensive model, for checking that your
2
+ # setup works (auth, invocation, report writing) without a full ensemble run
3
+ # (AC_HOME is the gem or source checkout directory; see the README):
4
+ #
5
+ # agent-council \
6
+ # "$AC_HOME/examples/prompts/smoke-test-prompt.md" \
7
+ # "$AC_HOME/examples/configs/single.yml"
8
+ agents:
9
+ - provider: opencode-go # OPENCODE_API_KEY
10
+ model: kimi-k2.7-code
@@ -0,0 +1,4 @@
1
+ Use examples/prompts/review-pull-request-prompt.md to review this pull request:
2
+
3
+ https\://github.com/alexdalitz/dnsruby/pull/221
4
+
@@ -0,0 +1,3 @@
1
+ Examine this code base and offer me a few catchy but technically correct names for this project/gem.
2
+
3
+ The names might contain 'multi', 'model', and/or 'ask/request/query', but feel free to innovate.
@@ -0,0 +1,62 @@
1
+ # Recommend a Model Ensemble
2
+
3
+ Discover the available provider/model entries with `pi-models --json`, then
4
+ recommend a small ensemble for the user's task and constraints.
5
+
6
+ ## Inputs
7
+
8
+ - **Task:** [Describe the task, such as code review]
9
+ - **Number of agents:** [How many recommendations to make]
10
+ - **Priorities:** [For example: insightful findings, speed, cost, provider diversity]
11
+ - **Unavailable providers or models:** [List any that do not work]
12
+ - **Current config:** [Optional existing `agents:` / `consolidator:` YAML]
13
+ - **Other constraints:** [Optional]
14
+
15
+ ## Instructions
16
+
17
+ 1. Run `pi-models --json` to discover the provider/model entries available
18
+ to pi: those of the providers the user has set up credentials for. Use
19
+ this as the source for model names and listed attributes, but do not
20
+ assume every entry is covered by the user's plan.
21
+ Exclude any providers or models the user marked unavailable. If the command
22
+ is not installed or fails, say so, and that the model list must then be
23
+ included in the prompt; do not invent available models.
24
+ 2. Recommend exactly the requested number of agents and one consolidator,
25
+ choosing only from the discovered list. If a current config is provided,
26
+ use it as the baseline and explain any meaningful changes.
27
+ 3. Optimize the full ensemble for the stated priorities. When provider
28
+ diversity matters, spread
29
+ recommendations across distinct provider routes where practical. Prefer
30
+ different underlying model families too, since multiple routes to the same
31
+ model may provide less useful independent feedback.
32
+ 4. Balance capability with speed. A useful ensemble can combine a strong
33
+ primary reviewer, a fast broad pass, and one or more independent deep or
34
+ critical reviews. Avoid making every selection a slow, heavyweight model.
35
+ 5. Assign each recommendation a clear role and briefly explain why it fits.
36
+ Note meaningful tradeoffs, such as a slower model reserved for consequential
37
+ changes.
38
+ 6. Do not infer subscription quotas, actual latency, or cost from provider
39
+ names alone. State when a recommendation depends on an assumption about the
40
+ user's subscriptions or plan limits.
41
+ 7. If browsing is available and current capability claims affect the choice,
42
+ verify them with reliable, preferably primary sources. Cite factual claims
43
+ near where they appear. Separate source-backed claims from judgment based on
44
+ the user's priorities. If browsing is unavailable, say that the ranking is
45
+ based on the discovered catalog and general model-family knowledge.
46
+ 8. Keep the result concise and actionable. Use a table with provider, model,
47
+ and role/reason for each agent and the consolidator, followed by a short
48
+ explanation of the overall mix.
49
+ 9. End with a fenced `yaml` code block containing a ready-to-copy config with
50
+ this shape:
51
+
52
+ ```yaml
53
+ agents:
54
+ - provider: ...
55
+ model: ...
56
+ consolidator:
57
+ provider: ...
58
+ model: ...
59
+ ```
60
+
61
+ Ensure every provider/model pair in the YAML appears in the discovered
62
+ catalog and preserve the requested number of agent entries.
@@ -0,0 +1,101 @@
1
+ # Review Documentation
2
+
3
+ Review the documentation of the repository in the current working directory.
4
+ Report only issues needing addressing. Do not make changes.
5
+
6
+ If the current working directory is not the repository root, don't review
7
+ it: report only that, naming the current directory.
8
+
9
+ Documentation includes the README, any other Markdown files, help and usage
10
+ output, code comments that describe behavior, and sample files such as
11
+ example configs and prompts.
12
+
13
+ Evaluate whether the documentation is:
14
+
15
+ - **Accurate:** it matches what the code actually does. Check commands,
16
+ flags, option names, method names, file names, paths, defaults, config
17
+ keys, output formats, and version or prerequisite claims against the
18
+ code. Examples run as written and produce the output shown.
19
+ - **Complete:** every user-facing feature, option, and behavior is
20
+ documented, and nothing documented has been removed or renamed. Every
21
+ setup step a command depends on is described or linked.
22
+ - **Consistent:** the documents agree with each other and with the help
23
+ output, and use the same terms for the same things.
24
+ - **Usable by a newcomer:** someone starting from scratch can install,
25
+ configure, and complete a first run by following it, without needing
26
+ knowledge it doesn't provide. Steps are in a sensible order.
27
+ - **Clear and concise:** free of ambiguity, unexplained jargon, stale
28
+ history, and text that is hard to find or easy to misread.
29
+ - **Free of duplication:** each topic has one canonical location. Where the
30
+ same material is explained in several places, say which copy to keep
31
+ and recommend replacing the others with a short link. Never recommend
32
+ duplicating content that is maintained elsewhere.
33
+ - **Correctly linked:** relative links point to files that exist, and
34
+ anchor links (`#section`) match a heading or explicit anchor in the
35
+ target, both on the repository host and on the documentation site if
36
+ the project builds one.
37
+
38
+ ## Scope
39
+
40
+ - Report documentation problems only. Do not review the code except to
41
+ verify what the documentation says about it.
42
+ - Don't review or report on files that git ignores (check with
43
+ `git check-ignore`), such as generated output, local scratch files, and
44
+ built documentation sites, or on `agent-council-reports/`
45
+ (agent-council's output, which may not be ignored). You may read
46
+ ignored files for context, but they are local to this checkout, so
47
+ judge the documentation against tracked files.
48
+ - Treat the code as the source of truth when it disagrees with the
49
+ documentation, unless the code's behavior looks like the bug; say so in
50
+ that case.
51
+ - Skip purely stylistic preferences unless they affect accuracy, clarity,
52
+ completeness, or maintainability.
53
+ - Files that consist only of a directive including another file (for
54
+ example, an MkDocs `include-markdown` stub that publishes a root file on
55
+ the documentation site) are intentional; do not report them as
56
+ incomplete.
57
+
58
+ ## Upcoming Release
59
+
60
+ Review the documentation as describing the upcoming release (the version in
61
+ the project's version file, such as `version.rb`, `package.json`, or
62
+ `pyproject.toml`), as if that release were already published. Do not report:
63
+
64
+ - that this version is not yet published, is a prerelease, or is marked
65
+ unreleased;
66
+ - that install commands would fetch an older published release, or that
67
+ the older release behaves differently from what the docs describe;
68
+ - that install commands should add a prerelease flag or pin a version.
69
+
70
+ Do not query package registries to check.
71
+
72
+ ## Verification
73
+
74
+ Investigate thoroughly before reaching conclusions.
75
+
76
+ You are permitted and encouraged to inspect files, run the program's help
77
+ output, follow the documented steps and examples, and execute commands to
78
+ confirm or refute what the documentation claims. Don't rely on a claim being
79
+ plausible: check it. Don't install software, though: check installation
80
+ steps by reading them against the code and packaging instead. Don't run
81
+ test suites, builds, servers, or database tasks either. Don't run
82
+ commands that call paid or remote services (such as AI models); check
83
+ those steps by reading the code instead.
84
+
85
+ **DO NOT EDIT ANY CODE OR TRACKED FILES, AND DO NOT COMMIT.**
86
+
87
+ Commands otherwise permitted here may generate temporary files; direct
88
+ their output to your scratch directory where the tool allows it.
89
+ Avoid unnecessary modifications to the working tree.
90
+
91
+ ## Report
92
+
93
+ For each issue, identify the document and location, quote the problematic
94
+ text, explain the problem and its impact on a reader, and propose replacement
95
+ wording or a fix. Say how you verified it (for example, a command you ran or
96
+ the code you compared against), or that it is unverified.
97
+
98
+ Order issues by importance: first those that would mislead or block a
99
+ reader, then omissions, then minor clarity problems.
100
+
101
+ If you find no issues, say so, and mention any limits of the review.
@@ -0,0 +1,46 @@
1
+ # Review Latest Commit
2
+
3
+ Review the latest commit and any uncommitted changes.
4
+ Report only issues needing addressing.
5
+
6
+ Evaluate whether the changes are:
7
+
8
+ - Correct and complete.
9
+ - As simple as practical.
10
+ - Consistent with the commit's intent.
11
+ - Accompanied by appropriate tests and documentation updates.
12
+
13
+ The commit message may describe an implementation strategy rather than the
14
+ underlying problem. Infer the intended outcome and assess whether a better
15
+ solution would be appropriate.
16
+
17
+ ## Scope
18
+
19
+ - Report only issues introduced by the latest commit or uncommitted changes.
20
+ - Report issues in uncommitted changes separately from those in the commit.
21
+ - Don't review or report on files that git ignores (check with
22
+ `git check-ignore`), or on `agent-council-reports/` (agent-council's
23
+ output, which may not be ignored). You may read ignored files for
24
+ context, but they are local to this checkout, so judge the changes
25
+ against tracked files.
26
+ - Do not report preexisting issues unless the changes introduce or worsen them.
27
+ - You may suggest improvements to the commit message, particularly if the
28
+ commit has not been pushed.
29
+
30
+ ## Verification
31
+
32
+ Investigate thoroughly before reaching conclusions.
33
+
34
+ You are permitted and encouraged to inspect files, run Git commands, execute
35
+ relevant tests and linters, and reproduce suspected defects.
36
+
37
+ **DO NOT EDIT ANY CODE OR TRACKED FILES.**
38
+
39
+ Tests and linters that generate temporary files or coverage data are
40
+ permitted (builds are not); direct their output to your scratch
41
+ directory where the tool allows it. Avoid unnecessary modifications to the
42
+ working tree.
43
+
44
+ For each issue, identify the affected file and location, explain the problem
45
+ and its impact, and propose a fix. Say how you verified it (for example, a
46
+ reproduction or a test run), or that it is unverified.
@@ -0,0 +1,91 @@
1
+ # Review Pull Request
2
+
3
+ Review the GitHub pull request for the branch checked out in the current
4
+ working directory. Report only issues needing addressing.
5
+
6
+ The user has checked out the PR's head branch (for example with
7
+ `gh pr checkout <number>`) before starting this run. Use the local checkout
8
+ for reading and searching code; use the `gh` CLI only for what exists only
9
+ on GitHub.
10
+
11
+ ## Gathering the PR
12
+
13
+ - Run `gh pr view --json number,title,body,author,baseRefName,headRefName,headRefOid,files,reviews,reviewDecision,statusCheckRollup`
14
+ for the PR's metadata and review summaries, and `gh pr view --comments` for
15
+ its discussion. Read inline review comments with
16
+ `gh api --paginate repos/{owner}/{repo}/pulls/<number>/comments`; without
17
+ `--paginate` only the first 30 are returned. To tell resolved threads from
18
+ open ones, query `reviewThreads { isResolved comments { ... } }` with
19
+ `gh api graphql`; the REST endpoint does not report resolution.
20
+ - Take the PR's changes from `gh pr diff`; it is authoritative even if the
21
+ local base branch is stale.
22
+ - For failing checks, use `gh pr checks` and `gh run view <run-id> --log-failed`.
23
+ - Compare `git rev-parse HEAD` with `headRefOid`. If they differ, or there
24
+ are uncommitted changes, say so at the top of the report: local files may
25
+ not match the PR.
26
+ - If `gh` is missing, unauthenticated, or finds no PR for this branch, don't
27
+ review: report only that, with the command and its error. Reach GitHub
28
+ only through `gh`: no `curl`, `wget`, or other HTTP client against the API
29
+ or web pages, which unauthenticated allows only 60 requests an hour,
30
+ shared by all concurrent agents.
31
+ - Do not run `gh pr checkout`, `git fetch`, `git pull`, or anything else that
32
+ changes git state, and do not post comments, reviews, or approvals.
33
+
34
+ ## Evaluation
35
+
36
+ Evaluate whether the changes are:
37
+
38
+ - Correct and complete, including edge cases and error paths.
39
+ - As simple as practical.
40
+ - Consistent with the PR's stated intent, with no unrelated changes.
41
+ - Consistent with the code base's existing architecture, naming, and idioms.
42
+ - Accompanied by appropriate tests and documentation updates.
43
+ - Compatible: changes to public interfaces (CLI options, APIs, output
44
+ formats, configuration) are intended, and incompatible ones are recorded
45
+ where the project records them (changelog, release notes, version).
46
+
47
+ The PR description may describe an implementation strategy rather than the
48
+ underlying problem. Infer the intended outcome and assess whether a better
49
+ solution would be appropriate.
50
+
51
+ Also report:
52
+
53
+ - Review comments that remain unaddressed by the current head.
54
+ - Failing CI checks, with your assessment of whether this PR causes them.
55
+
56
+ ## Scope
57
+
58
+ - Report only issues introduced by the PR. Do not report preexisting issues
59
+ unless the PR introduces or worsens them.
60
+ - Don't review or report on files that git ignores, or on
61
+ `agent-council-reports/` (agent-council's output, which may not be
62
+ ignored).
63
+ - You may suggest improvements to the PR title and description.
64
+ - Follow any Project-Specific Instructions section at the end; it overrides
65
+ these general rules where they conflict.
66
+
67
+ ## Verification
68
+
69
+ Investigate thoroughly before reaching conclusions.
70
+
71
+ You are permitted and encouraged to inspect files, run Git commands, execute
72
+ relevant tests and linters, and reproduce suspected defects.
73
+
74
+ **DO NOT EDIT ANY CODE OR TRACKED FILES.**
75
+
76
+ Tests and linters that generate temporary files or coverage data are
77
+ permitted (builds are not); direct their output to your scratch
78
+ directory where the tool allows it. Avoid unnecessary modifications to the
79
+ working tree.
80
+
81
+ ## Report
82
+
83
+ Start with a one-line verdict: ready to merge, needs minor changes, or needs
84
+ significant changes.
85
+
86
+ Then list the issues, most severe first, each marked blocking or
87
+ non-blocking. For each issue, identify the affected file and location,
88
+ explain the problem and its impact, and propose a fix. Say how you verified
89
+ it (for example, a reproduction or a test run), or that it is unverified.
90
+
91
+ If you find no issues, say so, and mention any limits of the review.
@@ -0,0 +1 @@
1
+ What is 27 * 43? Reply with just the number, then one sentence explaining how you got it.
@@ -0,0 +1,172 @@
1
+ # State of the Code Base Prompt
2
+
3
+ You are a senior software architect and code reviewer. Analyze this code base thoroughly and report on its
4
+ state, focusing on weaknesses, risks, and areas for improvement. For each issue, assess its seriousness and
5
+ cost to fix, and give a high-level strategy for addressing it.
6
+
7
+ **DO NOT MAKE ANY CODE CHANGES. REVIEW ONLY.**
8
+
9
+ > **Test coverage is out of scope for this review.** Do not analyze coverage data or score coverage; it is
10
+ > handled in depth by a separate prompt, `test-coverage-analysis-prompt.md` (in the same directory as this
11
+ > one).
12
+
13
+ ## Ground Rules
14
+
15
+ - First read the project's agent and contributor guidance (e.g., AGENTS.md, CLAUDE.md, CONTRIBUTING.md) and
16
+ the README.
17
+ - Back every finding with evidence: cite `path/to/file.rb:line` (or a command and its output). Label anything
18
+ you could not verify as an inference.
19
+ - Do not invent issues to fill sections. If a section has nothing significant, say so briefly.
20
+ - Only run commands that do not change the host or external systems (e.g., the default test suite, linters).
21
+ Do not run anything that deploys, publishes, migrates real data, or calls paid or production services.
22
+ - Follow the Project-Specific Instructions at the end, if any; they override these general rules where they
23
+ conflict.
24
+ - If earlier reports of this kind exist in the output directory, compare with the most recent one and note
25
+ what has improved or regressed.
26
+
27
+ ## Output
28
+
29
+ Write the report to `untracked/` (create it if needed) unless the Project-Specific Instructions name another
30
+ directory. Name it `YYYY-MM-DD-HH-MM-SS-state-of-the-code-base-<agent>.md`, where the timestamp is the current
31
+ UTC time to the second and `<agent>` is your lowercase tool or model family name (e.g. `claude`, `codex`,
32
+ `gemini`, `zai`).
33
+
34
+ Begin the report with:
35
+
36
+ 1. The most recent git commit (hash and subject) at the time you begin.
37
+ 2. The git-tracked files with staged or unstaged changes, from `git status`, or "None". Ignore untracked
38
+ files.
39
+ 3. A note that test coverage is excluded and is covered by the separate test coverage analysis report.
40
+
41
+ ## Scoring
42
+
43
+ Score each dimension from 1 to 10:
44
+
45
+ - **9–10:** Exemplary; nothing significant to fix.
46
+ - **7–8:** Solid; minor issues only.
47
+ - **5–6:** Adequate; notable issues that slow work or add risk.
48
+ - **3–4:** Weak; issues that regularly cause defects or friction.
49
+ - **1–2:** Failing; needs immediate attention.
50
+
51
+ Choose weights suited to this project's nature (e.g., a library, CLI, web service, or data pipeline), and
52
+ explain the choice briefly. The weights must sum to 100%.
53
+
54
+ ## Report Structure
55
+
56
+ ### Executive Summary
57
+
58
+ - A concise overview of the code base's overall health.
59
+ - The strongest and weakest areas.
60
+ - A **one-line verdict** (e.g., *"Overall: Fair, with major risks in error handling and dependencies"*).
61
+ - The **Overall Weighted Score (1–10)** from the final section.
62
+
63
+ ### Critical Blockers
64
+
65
+ Issues so severe that they must be resolved before meaningful progress can continue, or "None". For each,
66
+ give the **Description**, **Impact**, **Urgency**, and **Cost to Fix** (High/Medium/Low).
67
+
68
+ ### Architecture & Design
69
+
70
+ - Summarize the architecture (layering, main components and how they interact, key abstractions).
71
+ - Identify strengths and weaknesses, and areas of high complexity, coupling, or technical debt.
72
+ - Assess maintainability, extensibility (the cost of adding a typical new feature), and clarity.
73
+ - **Score (1–10)**
74
+
75
+ ### Code Quality
76
+
77
+ - Identify recurring issues: duplication, long methods, deep nesting, unclear naming.
78
+ - Point out readability and maintainability concerns.
79
+ - **Score (1–10)**
80
+
81
+ ### Build, CI & Release
82
+
83
+ - Evaluate CI/CD pipelines, build scripts and task runners, packaging and release processes, git hooks,
84
+ containers, and infrastructure-as-code, as present.
85
+ - Highlight brittle, outdated, or redundant configuration, and gaps in what CI verifies (platforms, runtime
86
+ versions, checks).
87
+ - **Score (1–10)**
88
+
89
+ ### Dependencies & External Integrations
90
+
91
+ - List major runtime and development dependencies, and external services, APIs, or system tools the code
92
+ relies on.
93
+ - Note outdated, unmaintained, or risky dependencies and their upgrade cost.
94
+ - Assess vendor lock-in and fragility against changes in external integrations.
95
+ - **Score (1–10)**
96
+
97
+ ### Security & Reliability
98
+
99
+ - Identify insecure practices: injection risks (shell, SQL, etc.), hardcoded secrets, secrets leaking into
100
+ logs or output, and missing input validation.
101
+ - Assess error handling, timeouts, retries, and behavior when external calls fail or return unexpected
102
+ results.
103
+ - **Score (1–10)**
104
+
105
+ ### Documentation & Onboarding
106
+
107
+ - Evaluate the README, user documentation, inline docs, and contributor/agent guidance.
108
+ - Identify missing, outdated, or inconsistent documentation, including docs that contradict the code.
109
+ - **Score (1–10)**
110
+
111
+ ### Performance & Efficiency
112
+
113
+ - Highlight bottlenecks and inefficient patterns (e.g., startup time, redundant I/O or external calls, N+1
114
+ queries, unnecessary polling).
115
+ - State whether each optimization is low-cost or high-cost.
116
+ - **Score (1–10)**
117
+
118
+ ### Formatting & Style Conformance
119
+
120
+ - Report the configured linters' and formatters' results and any significant patterns behind them.
121
+ - Report formatting problems in other files (broken Markdown, inconsistent YAML, and the like).
122
+ - **Score (1–10)**
123
+
124
+ ### Best Practices & Conciseness
125
+
126
+ - Assess adherence to the language's idioms and conventions, modularization, and separation of concerns.
127
+ - Evaluate verbosity against clarity: is the code concise without being cryptic?
128
+ - **Score (1–10)**
129
+
130
+ ### Prioritized Issue List
131
+
132
+ A table of the top issues, ordered so that working through them top to bottom delivers the most value
133
+ soonest (weigh severity against cost to fix; cheap, high-impact fixes come first).
134
+
135
+ | ID | Issue | Location | Severity | Cost to Fix | Impact if Unaddressed |
136
+ |----|-------|----------|----------|-------------|-----------------------|
137
+ | 1 | Example issue description | `src/foo.rb:42` | High | Low | Silent data loss on retry |
138
+
139
+ ### High-Level Recommendations
140
+
141
+ - General strategies for improvement (refactoring, dependency upgrades, modularization).
142
+ - Where incremental change is enough and where larger changes are justified.
143
+
144
+ ### Suggested Prompts
145
+
146
+ For each major issue, a self-contained prompt for a coding AI tool that would address it. Reference the
147
+ issue's ID.
148
+
149
+ ### Overall Weighted Score
150
+
151
+ Show the weights table and the calculation (score × weight for each dimension, summed). Then give the
152
+ **Overall Weighted Score (1–10)** with a brief justification.
153
+
154
+ | Dimension | Score | Weight | Weighted |
155
+ |------------------------------|-------|--------|----------|
156
+ | Architecture & Design | ? | ?% | ? |
157
+ | Code Quality | ? | ?% | ? |
158
+ | Build, CI & Release | ? | ?% | ? |
159
+ | Dependencies | ? | ?% | ? |
160
+ | Security & Reliability | ? | ?% | ? |
161
+ | Documentation | ? | ?% | ? |
162
+ | Performance & Efficiency | ? | ?% | ? |
163
+ | Formatting & Style | ? | ?% | ? |
164
+ | Best Practices & Conciseness | ? | ?% | ? |
165
+ | **Total** | | 100% | **?** |
166
+
167
+ ## Project-Specific Instructions
168
+
169
+ None. When adapting this prompt to a project, replace this paragraph with that project's specifics: what
170
+ kind of software it is (so the weights fit), which commands are safe to run and which must never be run,
171
+ design-decision or reviewer-guideline documents to read first, and areas each dimension should examine
172
+ closely.