Agentic Engineering.
Work smarter with AI agents.
Mohammad Emran Hasan
Co-Founder & CEO
The shift.
Yesterday you drove and it suggested. Today it drives and you steer.
The bottleneck is no longer typing. It’s specifying, reviewing, verifying.
Context is
everything the
model can see.
Prompts, files, tool output, images — all stacked in one window.
SYSTEM PROMPT
CLAUDE.md
@-mentioned files
User messages
Tool results
Images
More context ≠ better answers.
Past 50% of the context window, quality drops.
Context is the constraint.
Performance degrades as the window fills. Every other practice follows from this.
SPECIFY
so the context you spend is worth it.
VERIFY
so you don’t ship plausible-looking nonsense.
PLAN
so the agent doesn’t fill the window guessing.
Same task. Two prompts. Two bills.
A failing test in checkout. Same goal, two ways to ask.
Bad
> can you fix the discount bug somewhere in checkout process?
· Read 47 files searching…
· Tool calls: 31
· Tokens: 184,200
· Time: 6m 12s
· Result: edited the wrong file
Good
> fix the failing test in @tests/Feature/DiscountTest.php
expected total = 90.00, actual = 99.00. smallest safe change.
· Read 3 files
· Tool calls: 6
· Tokens: 9,400
· Time: 47s
· Result: 1 line changed, suite green
Three ways to fill the window well.
Precise input. Shaped output. Clear fences.
01 · Input
Be specific.
Be multimodal.
- @ file paths, not folders.
- Paste screenshots & errors raw.
- Link the code you’re modelling after.
02 · Output
Shape what done looks like.
- Format. “Return a unified diff.”
- Files. “Edit only these two.”
- Stop. “Stop when tests pass.”
03 · Fences
Set the guardrails.
- DO validate via FormRequest.
- DO NOT touch vendor/.
- STOP WHEN composer test passes.
Give the agent a way to check itself.
Spell the cases out. Make the agent run them.
Bad
> Implement email validation.
Good
> Implement email validation, prevent signing up
using throwaway providers.
Do a DNS check with a fallback mechanism,
do not allow suffix like email+1@gmail.com.
Run the full registration test suite.
Give the agent a way to check itself.
Hand it the design. Make it compare its work.
Bad
> Make the dashboard look better
Good
> [paste screenshot] Match the dashboard with
this design. Once done, screenshot the result
and list the differences. Fix them all.
Give the agent a way to check itself.
Paste the failure. Tell it to verify the fix.
Bad
> The build is failing!!
Good
> Build fails with the following error. Fix the
root cause, don’t suppress anything.
Verify the build succeeds and all tests green.
[paste error log]
The single highest-leverage thing you can do.
Three phases. One loop.
Start with intent. Each phase ends with a check, and leaves an artifact in the repo.
01 / EXPLORE
Read first.
Plan mode on. No writes yet.
→ understanding
›
02 / PLAN
Agree the approach.
Files, tests, risks — on the table.
→ plan.md
›
03 / IMPLEMENT
Build small.
Verify. Commit. Next.
→ green PR
Use skills from Matt Pockok / Addy Osmani to strengthen your workflow.
CLAUDE.md — a README for the agent.
Auto-loaded every session. Tell Claude how to work with your codebase.
# Code style
- Use ES modules (import/export), not CommonJS
- Destructure imports when possible
# Workflow
- Typecheck after a series of changes
- Prefer single tests over the full suite for speed
# Repo
- Branch names: feat/… or fix/…
- PRs need a passing CI run before review
Amplifiers.
Each adds capability without polluting the core loop.
Skills
Reusable recipes the agent loads on demand.
e.g.
test-runner — scaffold tests from a spec, then run them.
Subagents
Specialists with their own context window.
e.g.
code-reviewer — audit a PR before you merge.
MCP
Plug in tools: GitHub, Postgres, Sentry, Figma.
e.g.
Playwright MCP — drive a browser, scrape a page.
Hooks
Run scripts at various lifecycle points.
e.g.
pre-commit — auto-format every edit.
Keep learning.
Plus spec frameworks, parallel-agent tooling, and dozens more —