agent-altitude
Skill0 starsChanged 4 months agoMITView on GitHub
Decide whether a use case actually needs an agent before any spec is written. Use at the very start — when someone says "I want to build an agent that…", or wants to sanity-check whether a problem needs an agent at all versus a simpler solution (a single LLM call, a deterministic workflow, a plain ML model, or rules). Trigger on "do I need an agent", "is this an agent problem", "agent vs workflow", "am I over-engineering this", "should this be an agent", even without those exact words. This is the front-door gate of the agent-dev-framework pipeline.
In this repository14 other files it gives its agents.
- agent-brainstormSkill
- agent-build-planSkill
- agent-competitiveSkill
- agent-data-and-evalsSkill
- agent-failure-to-evalSkill
- agent-guardrailsSkill
- agent-monitoringSkill
- agent-prd-gateSkill
- agent-prdSkill
- agent-prompt-and-contractSkill
- agent-security-and-constraintsSkill
- agent-system-designSkill
- agent-tech-specSkill
- agent-ux-specSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 22
Follow _conventions.md (read-first order, docs/ vs artifacts/, don't-clobber guard).
- Very specific: line 25
Read PROJECT.md — especially §2 (the agent: core task, autonomy, real-world actions) and §5 (success definition).
- Distinctive: line 48
If you can draw the flow as a fixed flowchart → it's a workflow (tier 3), not an agent.
- Distinctive: line 49
If it's a single transform with no next step → tier 2.
- Distinctive: line 50
If it's predicting a label/number from features → tier 1.
- Distinctive: line 51
Only if the next action genuinely depends on reasoning over what just happened, in ways you can't enumerate ahead of time → tier 4, an …
- Distinctive: line 60
If any one is "no," drop down a tier.
- Very specific: line 79
Write artifacts/altitude.md (apply the don't-clobber guard) with:
≈ “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
Agent Altitude Gate
The rest of this framework is built for agent products — and it quietly assumes you already know the thing you're building is an agent. This gate is where that assumption gets tested, before you spend a single step on a PRD, a system design, guardrails, or an eval harness the problem may not need.
The job of this gate is to talk you OUT of building an agent whenever a simpler tier will do. Most ideas that arrive described as "an agent" are actually a single model call or a deterministic workflow wearing an agent costume. Building the agent version anyway buys you planning loops, tool orchestration, non-determinism, and an eval/guardrail burden — for a problem that a linear pipeline would have solved more cheaply and more reliably. The default answer here is the lowest tier that works, not the most impressive one.
Conventions
Follow _conventions.md (read-first order, docs/ vs artifacts/, don't-clobber guard).
Before you start
Read PROJECT.md — especially §2 (the agent: core task, autonomy, real-world
actions) and §5 (success definition). If it doesn't exist yet, ask the user the
three questions the ladder turns on: what is the one task, what triggers it, and
does anything about "what to do next" have to be decided at runtime rather than
written down in advance?
The altitude ladder — pick the LOWEST tier that solves it
Climb only when the tier below genuinely cannot do the job.
| Tier | Use it when | The tell that you're NOT above it |
| 0 · Rules / heuristics | Deterministic logic: thresholds, regex, a lookup table, a state machine. | The mapping from input to output can be written down completely. No prediction needed. |
| 1 · Classic ML model | Structured prediction on data with labels — classification, ranking, regression, forecasting, recommendation. | It's a "predict a number/label from features" problem. No language understanding, no reasoning, no LLM. |
| 2 · Single generative call | One input → one output transform: summarize, extract, classify, rewrite, translate, answer-from-context. | It's one shot. No tools, no external actions, no "and then decide the next step." |
| 3 · Deterministic workflow | Multi-step, but you own the control flow. Fixed sequence of steps (some may be LLM calls); any branching is written in code, not chosen by the model. | The flow is a flowchart you could draw in advance. It's linear (or fixed branches). No planning. The model fills in steps; it doesn't decide which steps to run. |
| 4 · Agent | The model decides what to do next: it plans, reasons over intermediate results, chooses which tool to call, and loops until done. The task is hard to fully specify in advance and the trajectory varies per input. | — this is the only tier the rest of this framework is built for. |
The one gate question
Does the model need to decide what to do next at runtime — or can you write the control flow down in advance?
- If you can draw the flow as a fixed flowchart → it's a workflow (tier 3), not an agent. Code owns the branches.
- If it's a single transform with no next step → tier 2.
- If it's predicting a label/number from features → tier 1.
- Only if the next action genuinely depends on reasoning over what just happened, in ways you can't enumerate ahead of time → tier 4, an agent.
"No planning, no reasoning, very linear" is not a smaller agent. It's a different tier — say so plainly.
The four things that must ALL be true to justify tier 4
Borrowed from the same test the Claude API docs use for "should I build an agent?" If any one is "no," drop down a tier.
- Complexity — the task is multi-step and hard to fully specify up front (not "extract the total from this invoice").
- Value — the outcome justifies higher cost, latency, and non-determinism.
- Viability — the model is actually capable at this task type today.
- Cost of error — mistakes can be caught and recovered from (tests, review, undo). High-autonomy real-world actions with no recovery are a reason to lower autonomy, not to skip the question.
Downgrade signals — if you see these, you're building an agent for a non-agent problem
- The flow is linear or has only fixed, code-decidable branches.
- There's no planning and no reasoning over intermediate results — each step's input is known before you start.
- The task is one-shot (single request → single answer).
- Errors are cheap and the task runs unattended fine without judgment.
- You reached for "agent" because it sounds more capable, not because the control flow demands it.
Any of these → name the real tier and stop climbing.
Output — and the routing decision
Write artifacts/altitude.md (apply the don't-clobber guard) with:
- The tier you landed on (0–4) and a one-paragraph justification tied to the gate question.
- Why not the tier above and below — one line each, so the call is auditable.
- The routing decision (below).
If tier 4 (agent) — clear into the pipeline
State specifically what forces the agent tier (which decisions must be made at
runtime, why they can't be pre-written). Then hand off to agent-brainstorm —
the rest of the pipeline now applies.
If tier 0–3 (not an agent) — route out, don't march on
Say plainly that the agent pipeline is overkill for this, name the architecture that actually fits (a workflow, a single prompt, an ML model, rules), and tell the user which few parts of this framework still earn their keep rather than "use it or don't":
- Tier 2–3 (any LLM in the loop): a thin PRD (
agent-prd) is still worth it to pin the task and success bar, andagent-data-and-evalsstill applies — even a single generative call needs an eval set to know it works and doesn't silently regress. Skip the agent-loop design, guardrails, and the rest. - Tier 0–1 (rules / classic ML): this framework doesn't apply. Point the user at normal ML/software practice (a labeled dataset + offline metrics, or plain tests).
Either way, this gate has done its job the moment the tier is named honestly.
End by stating the tier in one sentence, the single fact that decided it, and the
routing call — into agent-brainstorm (tier 4) or out to the named simpler path
(tier 0–3). If you're genuinely between two tiers, present both and let the user
decide; bias the recommendation toward the lower one.
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.

