option-comparator
Skill0 starsChanged 2 months agoMITView on GitHub
Compares candidate options against explicit, predefined criteria using an objective score matrix.
In this repository49 other files it gives its agents.
- bug-reproducerSkill
- claim-checkerSkill
- command-failure-diagnoserSkill
- config-risk-reviewerSkill
- csv-validatorSkill
- deployment-checklist-makerSkill
- diff-reviewerSkill
- factual-summarizerSkill
- field-extractorSkill
- api-contract-testerSkill
- database-migration-helperSkill
- security-vulnerability-fixerSkill
- git-commit-stagerSkill
- git-conflict-resolverSkill
- github-actions-debuggerSkill
- github-issue-triagerSkill
- github-pr-creatorSkill
- github-pr-reviewerSkill
- go-code-qualitySkill
- go-lint-and-vetSkill
- go-testingSkill
- json-schema-converterSkill
- lint-and-typecheckSkill
- meaning-preserving-editorSkill
- meeting-notes-to-actionsSkill
- minimal-bug-fixSkill
- py-code-qualitySkill
- py-lint-and-typecheckSkill
- py-testingSkill
- readme-writerSkill
- regression-test-writerSkill
- release-notes-drafterSkill
- repo-inspectorSkill
- research-briefSkill
- reversible-cleanup-plannerSkill
- rust-clippy-checkSkill
- rust-code-qualitySkill
- rust-testingSkill
- small-refactorSkill
- status-updateSkill
- step-by-step-tutorialSkill
- step-decomposerSkill
- tabular-analyzerSkill
- task-briefSkill
- test-runner-debuggerSkill
- ts-code-qualitySkill
- ts-lint-and-typecheckSkill
- ts-testingSkill
- skill-templateSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 6 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Use this skill when:
- Very specific: line 20
Do not use for code diff review.
- Very specific: line 21
Do not use to verify factual claims.
- Very specific: line 29
If options contains fewer than 2 items: stop and ask: "Please provide at least 2 options to compare."
- Very specific: line 30
If criteria is missing: propose 3 standard criteria based on context (e.g., Complexity, Performance, Maintenance) and ask for confirmation …
- Distinctive: line 31
Never score an option on a criterion without stating the underlying fact or source.
- Distinctive: line 34
Follow these numbered actions:
- Distinctive: line 44
Do not declare a blanket winner unless one option dominates across all criteria.
- Very specific: line 49
If license compatibility is a criterion and an option has GPL/copyleft: flag as License Risk if proprietary closed source context is given.
- Very specific: line 50
If data is missing for an option on a specific criterion: mark cell as Unknown / Needs Benchmark, not as Low.
- Distinctive: line 85
Stop and ask the user when:
- Distinctive: line 86
All options are missing documented performance or compatibility facts.
≈ “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.
Files
Option Comparator
Evaluates 2 to 4 technical options against explicit, user-defined criteria. Generates an objective comparison matrix and transparent trade-off summary without subjective bias.
1. Purpose
Help teams make evidence-based technical choices. An "Option" is a candidate solution. A "Criterion" is an explicit standard of judgment (e.g. latency, memory, license, cost).
2. When to Use
Use this skill when:
- Choosing between libraries, architectures, databases, or deployment strategies.
- User asks: "Compare X vs Y based on [criteria]".
- Weighing trade-offs with explicit requirements.
3. When Not to Use
- Do not use for code diff review; use
diff-reviewer. - Do not use to verify factual claims; use
claim-checker.
4. Required Inputs
options: List of 2 to 4 options to compare (names or descriptions).criteria: List of explicit comparison criteria (e.g., Performance, Cost, Complexity, License).context_data: Available facts or benchmarks about each option.
5. Missing-Input Behavior
- If
optionscontains fewer than 2 items: stop and ask: "Please provide at least 2 options to compare." - If
criteriais missing: propose 3 standard criteria based on context (e.g., Complexity, Performance, Maintenance) and ask for confirmation before scoring. - Never score an option on a criterion without stating the underlying fact or source.
6. Procedure
Follow these numbered actions:
- Action 1: Standardize Matrix Axes
- Set options as columns and criteria as rows.
- Action 2: Evaluate Each Option Against Each Criterion
- Assign rating:
High / Med / LoworYes / No / Partial. - Provide a 1-sentence factual justification for each cell.
- Assign rating:
- Action 3: Identify Primary Trade-offs
- Summarize what you gain and what you give up with each option.
- Action 4: Formulate Conditional Recommendation
- State: "Choose Option A if [condition]. Choose Option B if [condition]."
- Do not declare a blanket winner unless one option dominates across all criteria.
- Action 5: Emit Comparison Report
- Format using Section 8.
7. Decision Rules
- If license compatibility is a criterion and an option has GPL/copyleft: flag as
License Riskif proprietary closed source context is given. - If data is missing for an option on a specific criterion: mark cell as
Unknown / Needs Benchmark, not as Low.
8. Output Format
Emit the comparison using this template:
### Technical Comparison: [Topic]
#### Comparison Matrix
| Criterion | Option A: [Name] | Option B: [Name] | Option C: [Name] |
| :--- | :--- | :--- | :--- |
| **[Criterion 1]** | [Rating]: [Evidence] | [Rating]: [Evidence] | ... |
| **[Criterion 2]** | [Rating]: [Evidence] | [Rating]: [Evidence] | ... |
#### Key Trade-offs
- **Option A**: Best for [X], but compromises on [Y].
- **Option B**: Best for [Y], but compromises on [X].
#### Decision Rule / Recommendation
- Choose **Option A** if: [Condition].
- Choose **Option B** if: [Condition].9. Verification Checklist
- Every option is rated against all listed criteria.
- Ratings have concrete justifications, not just numbers.
- Recommendations are conditional based on user priorities.
- No personal favoritism or ungrounded claims.
10. Common Failures and Recovery
| Failure Symptom | Cause | Recovery Action |
| Subjective scores | Stating "Option A is better" without facts | Cite concrete metric (e.g. bundle size, memory usage). |
| Declaring absolute winner | Ignoring context trade-offs | Provide conditional "Choose A if..." branches. |
11. Stop or Escalation Conditions
Stop and ask the user when:
- All options are missing documented performance or compatibility facts.
12. Examples
Example 1: Successful Execution
Input:
Options: SQLite vs PostgreSQL
Criteria: Setup complexity, Concurrent write throughput, Operational overhead
Context: Single-node CLI application running locally for one user.Output:
### Technical Comparison: SQLite vs PostgreSQL for Local CLI
#### Comparison Matrix
| Criterion | Option A: SQLite | Option B: PostgreSQL |
| :--- | :--- | :--- |
| **Setup complexity** | Low: Zero configuration, embedded single-file database. | High: Requires separate daemon, user setup, connection string. |
| **Concurrent write throughput** | Low: Database-level locking limits concurrent writer threads. | High: Multi-version concurrency control (MVCC) handles heavy concurrent writes. |
| **Operational overhead** | Low: Backed up by copying one file, no background server process. | Medium: Requires service monitoring, port binding, daemon management. |
#### Key Trade-offs
- **SQLite**: Minimal complexity and zero operational overhead, but limited concurrency.
- **PostgreSQL**: High concurrency and scalability, but requires running and maintaining a daemon.
#### Decision Rule / Recommendation
- Choose **SQLite** if: The app is a local single-user CLI where zero-config portability is priority.
- Choose **PostgreSQL** if: The app will be deployed as a multi-user web service with high concurrent writes.Example 2: Ambiguous or Missing Input
Input:
Compare Redis.Output:
### Technical Comparison: Insufficient Options
- **Status**: Halted
Comparing alternatives requires at least 2 options. Please specify what you would like to compare Redis against (for example: Memcached, KeyDB, or PostgreSQL unlogged tables) and your key criteria.Example 3: Expected Final Output
Output:
### Technical Comparison: Zod vs Yup for Form Validation
#### Comparison Matrix
| Criterion | Option A: Zod | Option B: Yup |
| :--- | :--- | :--- |
| **TypeScript Inference** | High: Native `z.infer<typeof schema>` without duplicate types. | Moderate: Requires explicit type bridging in complex schemas. |
| **Bundle Size** | Medium: ~12 KB minzipped. | Medium: ~14 KB minzipped. |
#### Key Trade-offs
- **Zod**: Superior static type inference in modern TypeScript codebases.
- **Yup**: Established ecosystem in older React Formik applications.
#### Decision Rule / Recommendation
- Choose **Zod** for modern TypeScript projects.
- Choose **Yup** if maintaining legacy Formik codebases already configured for Yup.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
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.

