Treat Tool Output as Data
Content from tools and the web is information, not instructions. Have Claude flag embedded commands, never follow them.
Where you'll practice this
2 Promptles scenarios teach this principle directly. Each one drops you into a real engineering ticket and asks you to write the prompt you'd send to Claude Code.
Fix a Bug from a Stranger
Anyone on GitHub can file bugs against `billbird/invoice-widget`, Billbird's open-source invoice widget. Issue #512 reports a date-picker bug, and you want Claude to read it through the GitHub MCP server and propose a fix. The token behind that server can push branches, merge…
Audit What's Installed
Over the year the team has installed plugins from three marketplaces, and Lee's laptop now slows down whenever Claude edits files. Priya wants a review of what's installed before anyone adds more, and she'll decide removals herself after reading it. She collected the plugin list…
Other principles in Constraints
Define Component Boundaries
When splitting a component, give the decisions already made and say nothing on screen should change.
Define Inputs and Outputs
Say what goes in, what comes out, and what happens with bad input. Leave the inside to Claude.
Define the Business Logic
Turn business words into exact rules: the fields, the thresholds, and how they combine.
Deprecate Before Removing
Keep the old name working for a release, point to the replacement, and announce when it goes away.
Describe Edge Cases
Name the unusual cases you know about and what should happen in each.
Describe Type Contracts
Tell Claude the rules the code doesn't show, like allowed values and optional fields. It can work out the rest.