AI at Terra
Claude Code, Skills, MCPs & Beyond
A practical guide for developers
How We Focus AI at Terra
AI is a powerful tool. To use it well, we need clear principles — not rules that limit us, but a shared understanding that keeps quality high and roles meaningful.
Domain Ownership
AI is most powerful when it stays within your area of expertise.
- Backend developers: write better code, debug faster, automate the repetitive
- Designers: explore ideas faster, execute with precision
- Engineers: test more, ship with more confidence
- Everyone: remove friction from the work you already own
- Backend developer producing final editorial content with AI Lacks brand context, tone, and audience understanding — the output won't feel like Terra.
- Editor making architecture decisions with AI Their expertise lives in narrative and communication, not in system design.
- Designer writing production code with AI and shipping without review Design expertise covers composition and experience, not architecture, performance, or maintainability.
Document Your Domain
An editor doesn't need to know how a CMS works. But if you are the expert on tone, voice, and content structure — you need to be able to transmit that to the person who will build it, such as a designer, marketer, or developer.
"Make it sound like us."
→ Developer guesses. Result misses the mark. Multiple revision rounds.
"Tone is direct and warm. Sentences under 20 words. No jargon. Always address the reader as 'you'. See examples in /brand/voice.md."
→ Developer builds it right the first time.
Real examples from a marketing agency
"Our evergreen articles perform better when the publish date isn't the first thing readers see — it signals 'old content' before they even start reading. Would it be possible to move the date below the byline, or make it optional per article type?"
"The CTA button only appears below the fold on mobile, and our audience tends to drop off fast. I think pinning it at the bottom of the screen on mobile would help — would that be feasible without breaking the desktop layout?"
"When someone shares one of our articles on LinkedIn, the preview pulls the first image in the body instead of the featured image — and sometimes that's just a random inline photo. Could we make the OG image always use the featured image we set in the CMS? It would make a big difference for how our content looks when it's shared."
Which AI should I use?
Not every task needs the same tool. Here's how to think about it.
- Brainstorming ideas and concepts
- Drafting or editing copy
- Research and summarising information
- Explaining things in plain language
- Quick one-off questions not tied to a codebase
- Generating images or presentations
- Anything touching your codebase
- Building features, components, foundations
- Debugging and refactoring
- Working within a framework (e.g. Punky)
- Running commands, tests, migrations
- Connecting to real tools via MCPs
Getting started as a developer
The most comfortable way to use Claude Code is from your terminal or directly inside VS Code.
Install
npm install -g @anthropic-ai/claude-code
claude
For VS Code, install the Claude Code extension from the marketplace and it integrates directly into your editor.
Credentials
Access to Claude Code requires an API key. Speak to your manager — they will coordinate with the responsible person to get your credentials set up.
Once you have them, add your key to your environment:
export ANTHROPIC_API_KEY=your_key_here
Working in a session
- Drag a folder into the session to give Claude context about a specific part of the project
- Paste a screenshot directly — Claude reads images and can work from visual context
- @ a file to reference something specific without Claude searching for it
- Escape to interrupt Claude mid-task if it's going in the wrong direction
Claude reads your codebase and lays out a step-by-step approach before touching anything. You review, adjust, and approve — then it executes. Use this when the task has multiple steps or touches important files.
Claude reads and writes directly, no plan shown upfront. Good for small, isolated tasks where the scope is clear and the risk is low.
"Create a component for me"
Claude guesses. Result may not follow conventions."Create a Card component using the Punky pattern, with title, description and a CTA that uses our Button component"
Claude has context. Result follows your conventions.What to build with AI at Terra
These are the operations we expect developers to use AI for. Everything runs through skills — available in every project.
Just like the core framework, suggestions are welcome — but only these maintainers have write access. This keeps every project on the same set of skills, so there's no inconsistency between projects.
Amaia, Diego, Mara, and Nerea have been part of Terra for years. They helped build Punky, the framework we work with every day, and they've contributed to the design system we've refined over eight years. They are part of the team that maintains how we build things — and that's why they maintain this too.
How to use it
Example prompt
"Create a new Card component following the project conventions. It should accept a title, a description, an optional image, and a CTA. Use the existing Button component for the CTA."
What happens
Developer plugin setup
If you're a developer, this is for you. All Terra skills live in a single private repo — add it once per project and Claude will know exactly how we build things. Choose your stack, and skills update automatically whenever the repo is versioned. Full setup instructions and stack-specific configs are in the terra-hq/site-skills repository.
Watch it in action
What Are MCPs?
MCP — Model Context Protocol. An open standard that connects any AI to your real infrastructure.
Without MCP
Claude only knows what's in your conversation and local files.
With MCP
Claude can read and write Sanity, Contentful, Supabase, Figma, Chrome DevTools, and any other tool you connect.
How MCPs Work
- You ask Claude to do something involving an external tool
- Claude calls the MCP server via a standard protocol
- The MCP server communicates with the real service
- Results come back into your conversation
MCPs — Real Examples
"Show me all published articles missing a meta description"
→ Claude queries Sanity directly and lists them
"Find all entries of type 'campaign' updated in the last 7 days"
→ Claude reads Contentful and returns the list
"Show me the last 10 signups and their plan type"
→ Claude queries the database directly
"Get all posts published this month with their slugs"
→ No native MCP — Claude connects through the database
"Open staging and check for console errors"
→ Claude controls a browser, takes screenshots
"Implement the dashboard design from this Figma file"
→ Claude reads components and writes the code
MCPs at Terra
| MCP | Purpose |
|---|---|
| Sanity | Query and manage content — entries, assets, schemas |
| Contentful | Read and update content entries and content models |
| Supabase | PostgreSQL + auth — query data, manage users |
| WordPress | No native MCP — connect via the database directly |
| Chrome DevTools | Browser automation, screenshots, performance audits |
| Figma | Read and write Figma files and components |
Skills in Practice — Terra
Real examples of how we use AI skills at Terra — coming soon.
Summary
Terra Pillars
Own your domain. Test & suggest freely. Domain expert signs off.
Claude Code
AI with real tool access — files, commands, databases, browsers
Skills
Expert modes — /command or plain description
MCPs
Live connections to Sanity, Contentful, Supabase, Figma, Chrome DevTools
Use it to go deeper — not sideways.