agentsclimarketplace

Ml or not

Skill tenki-labs/public-claude-skills/plugins/tenki-public-skills/skills/ml-or-not

Use when the user types /ml-or-not or asks "should we use ML for this", "do we need a model here", "is this an AI problem", "would ML help", or is scoping a feature where machine learning is being considered. Returns a structured verdict (yes / no / not yet) with reasoning and the cheapest viable alternative if ML is wrong.From its SKILL.md

Install
npx -y skills add tenki-labs/public-claude-skills --skill ml-or-not

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.5 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

/ml-or-not

Overview

Most teams reach for ML before checking whether the problem actually needs it. This skill runs a structured pre-check across the seven gates that usually predict ML success or failure, and returns a verdict the user can defend in a sprint review.

Core principle: ML earns its place when (a) the rules are unknown or unstable, (b) labeled data is available, (c) errors are tolerable and recoverable, and (d) the unit economics survive ongoing model maintenance. If any of those fails, ship something simpler.

When to Use

  • User typed /ml-or-not <problem description>.
  • User is scoping a feature and asked "should this be ML", "do we need a model", "would AI help here".
  • A PRD or spec mentions ML as the proposed solution but does not justify it.
  • A team is choosing between a rules engine, a heuristic, a search index, and a model.

Do NOT use for: problems where the user has already shipped ML and is asking how to improve it. Use /refine instead.

The Process

Step 1. Restate the problem in one sentence

What is the input, what is the desired output, who acts on the output, and what happens if the output is wrong? If the user has not said all four, ask once.

Step 2. Run the seven gates

For each gate, answer with one of: pass (ML clears this gate), fail (this gate kills ML for this problem), or unknown (the user does not yet know). Be honest. Most "ML projects" fail one or more of these but no one ran the check.

GateThe questionFail signal
1. RulesCan the problem be solved with rules a domain expert could write down?If yes, ship rules. ML is overkill.
2. StabilityAre the rules expected to change frequently?If rules are stable, hardcode. If they change weekly, ML or a configurable engine.
3. DataIs there labeled data available, or a cheap way to label it? How much?No labels and no path to labels = no ML.
4. VolumeIs the prediction volume high enough that automation pays for the model lifecycle?Low volume = humans + spreadsheet beats ML.
5. ToleranceIs the cost of a wrong answer recoverable? Is there a human in the loop or a fallback?High-stakes irreversible decisions usually do not survive ML failure modes.
6. DriftWill the input distribution change over time, and is there a monitoring plan?Drift without monitoring becomes silent failure.
7. EconomicsDoes the unit economics survive ongoing labeling, retraining, monitoring, and on-call cost?If the lifetime cost exceeds the lifetime value, do not start.

Step 3. Render the verdict

Pick one and defend it in 2 to 4 sentences:

  • Yes, use ML. All gates pass or are clearly addressable. State which approach (classification, regression, retrieval, generation) and why.
  • No, do not use ML. One or more gates clearly fail. State the cheaper alternative (rules engine, heuristic, search, deterministic check, human review queue) and why it is enough.
  • Not yet. ML could work, but a load-bearing gate is unknown (usually data or economics). State exactly what to learn before committing, and how to learn it cheaply.

Step 4. If verdict is "no" or "not yet", propose the alternative

Be concrete. "Use a rules engine" is not enough. Specify: which rules, how they are stored, how they are changed, who owns them. The point of this skill is to send the user away with a real plan, not a gentle no.

Step 5. Output

# /ml-or-not verdict: [problem]

## Restated problem
- Input: ...
- Desired output: ...
- Who acts on it: ...
- Cost of being wrong: ...

## Gate evaluation
| Gate | Status | Note |
|---|---|---|
| 1. Rules | pass / fail / unknown | ... |
| 2. Stability | ... | ... |
| 3. Data | ... | ... |
| 4. Volume | ... | ... |
| 5. Tolerance | ... | ... |
| 6. Drift | ... | ... |
| 7. Economics | ... | ... |

## Verdict
**[YES / NO / NOT YET]**

[2 to 4 sentences defending the call]

## Recommendation
[If yes: which ML approach + first milestone. If no: the cheaper alternative, concretely. If not yet: the specific thing to learn first and how.]

Common failure modes

FailureFix
Rationalized away a failing gate to keep ML on the tableFailing gates kill ML, not "the team will figure it out".
Gave a soft "yes" when "not yet" was the honest answerMost "yes" verdicts should be "not yet" with one or two unknowns to resolve.
Said "no" without proposing the alternativeA no without an alternative is useless. The user still has to ship something.
Treated low-volume problems as ML candidatesBelow ~thousands of predictions per month, ML almost never pays off vs. humans + tooling.
Ignored maintenance costThe model is the cheap part. Labeling pipelines, drift monitoring, retraining, and on-call are the long tail.
Used vague labels like "high stakes" without quantifyingTie tolerance to actual user or business impact, not adjectives.

When to chain to /design-ai-experiment

If the verdict is "yes" or "not yet, with a learnable unknown", suggest /design-ai-experiment to turn the chosen approach into a falsifiable v0 with a kill criterion. Do not just hand the team a "yes" and walk away.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,512. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.