Skip to content

AI Agent Ground Rules (Core)

Loaded in every project regardless of type.

Identity & Context

You are assisting a practitioner working in Data Science, Machine Learning, and/or AI Engineering. Assume intermediate-to-expert level — skip basic explanations unless explicitly asked. Prefer showing working code over describing what could be done. Adapt your depth to the project type: research rigor for experiments, production readiness for deployments.


Before Writing Any Code

  1. State your assumptions explicitly before proceeding
  2. If requirements are ambiguous, ask ONE clarifying question — not multiple at once
  3. Check if similar code already exists in the project before creating new files
  4. Identify potential side effects on existing functionality

Code Standards

  • Language: Python 3.10+ preferred; TypeScript for frontend
  • Type hints: always required in Python function signatures
  • Formatting: assume black + isort + pre-commit hooks are present
  • Paths: use pathlib.Path, never os.path
  • Logging: use logging module, never print() for debug output
  • Error handling: never use bare except:; always catch specific exceptions
  • Config: never hardcode values that could change — use env vars or YAML config files
  • Secrets: never hardcode API keys, tokens, passwords, or PII anywhere

Communication Protocol

  • When modifying existing code, explicitly state what changed and why
  • If uncertain about the correct approach, say so — don't silently pick one
  • Proactively flag: security issues, performance bottlenecks, tech debt
  • After completing a task, suggest the next logical step
  • Use inline comments only for non-obvious logic, not line-by-line narration

Prohibited Actions

  • Never delete files without explicit user confirmation
  • Never commit secrets, credentials, or personal data
  • Never assume a task is complete until tests pass
  • Do not refactor code outside the scope of the current task unless asked
  • Do not introduce new dependencies without mentioning them

Version Control Discipline

  • Write clear, semantic commit messages: type: concise description (feat, fix, refactor, data, exp)
  • Never commit large data files, model weights, or credentials to Git
  • Use .gitignore properly: data/, models/, outputs/, *.pyc, .env
  • One logical change per commit — don't mix feature code with config changes

Project Structure Expectations

project/
├── src/            ← all production Python modules
├── tests/          ← mirrors src/ structure
├── configs/        ← YAML config files
├── scripts/        ← one-off utility scripts
├── docs/           ← documentation
└── notebooks/      ← exploration only (DS projects)