---
title: "Pick what AI tools already know · Agent Wranglers"
url: https://agentwranglers.se/playbook/stack/how-to-choose/known-to-ai-tools
updated: 2026-10-21
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Pick what AI tools already know

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers). Updated 2026-10-21.

For AI agents: [llms.txt](https://agentwranglers.se/llms.txt) is a short guide that sends you to the rules your problem needs, and [rules.json](https://agentwranglers.se/playbook/stack/rules.json) holds every rule of this playbook as JSON.

- Level: Recommended
- Chapter: [How to choose](https://agentwranglers.se/playbook/stack/how-to-choose)
- Rule: Choose software that AI coding tools write correctly without extra documentation, and stay one major version behind the newest for six months after its release.
- How: AI tools learn from public code, docs and answers. Software that is old, popular and stable fills their training data, so agents write it correctly and spot its mistakes. A new major version changes APIs after the training cutoff, so agents mix old and new syntax. Pin the major version and move up once it has been out for six months and your agent writes it without errors. Put the exact versions in the [agent instructions file](https://agentwranglers.se/playbook/ai-assisted-development/setting-up-the-project/instructions-file), so the agent does not guess.
- Check: Two different AI coding assistants each build the pick's official getting-started example with no documentation pasted in. Both results run and pass the example's own test on the first or second try.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### JavaScript example

```js
// Pin the major version the agent knows, and say so in the instructions file
// package.json
// "dependencies": { "react": "^19.1.0" }
const pinnedMajor = range => /^\^(\d+)\./.exec(range)?.[1];
```

### Python example

```python
# Pin the major version the agent knows, and say so in the instructions file
# pyproject.toml: dependencies = ["django>=5.2,<6"]
import re

def pinned_major(spec: str) -> str | None:
    match = re.search(r"<(\d+)", spec)
    return str(int(match.group(1)) - 1) if match else None
```

## Related rules

- [Write one instructions file for agents](https://agentwranglers.se/playbook/ai-assisted-development/setting-up-the-project/instructions-file) in AI development
- [Use React for the front end](https://agentwranglers.se/playbook/stack/web-frameworks/react) in Software choices
- [Use OpenTelemetry to instrument your code](https://agentwranglers.se/playbook/stack/operations-tools/opentelemetry) in Software choices

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/stack/how-to-choose/known-to-ai-tools">Agent Wranglers software choices playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Pick what most teams already use](https://agentwranglers.se/playbook/stack/how-to-choose/widely-used)
- Next: [Pick software a new developer learns alone](https://agentwranglers.se/playbook/stack/how-to-choose/easy-to-learn)
- [How to choose](https://agentwranglers.se/playbook/stack/how-to-choose)
