Artificial Intelligence + Giraffe = a match made in tech heaven. Connect with Claude right in your Giraffe window.
Why Giraffe AI?
AI has collapsed the cost of building custom tools. The best analysts and development managers are already:
Automating repetitive workflows
Encoding institutional logic
Building internal apps
Extending feasibility models
Generating scenarios in minutes
That's a competitive advantage — if it sits on solid infrastructure.
A general-purpose LLM doesn't understand your zoning envelopes, setback logic, feasibility thresholds, or site geometry. It needs a governed, structured backend.
That backend is Giraffe.
The world of consultants, pdfs and disconnected workflows is over. The future of real estate development is well orchestrated APIs and AI agents.
Giraffe is the platform to organize them. Spatial, visual, and optimized for the built environment. It lets LLMs work safely, and beautifully.
Add the App
Navigate to the appstore and add "Chat" .
Don't see Chat (Giraffe AI) in your account? Reach out to sales.
Click on the Chat app logo to initialize it.
Get Started
Set yourself up for success by configuring the app.
Settings
Click the Settings gear in the top right of the app.
Region
The region selection controls which Giraffe-authored skills are loaded.
Select a region:
US: imperial units (feet/acres) and Regrid parcels enabled. AU cadastre disabled.
AUS: AU national cadastre enabled. Regrid disabled. Units follow project setting.
International: neither parcel skill is loaded. Units follow project setting.
Credentials
Giraffe AI requires an AI API key.
Select Anthropic or/and Fireworks tokens.
You can choose manual entry from the dropdown to paste the token directly into the app.
OR
Your workspace administrator can share an AI Credential with the app. Once shared, you can select the credential from the dropdown.
Select the AI Model
Select an Anthropic model to use in your chats.
Remember, your personal AI plan will control the pricing for credit usage.
Regrid
Optionally, insert your Regrid API key as well to allow Giraffe AI to search for parcels using Regrid's dataset.
More Settings
Compact Conversation: When input tokens exceed this limit, older messages are summarised to keep responses fast.
Testing Mode: Shows a row of pre-canned test prompts above the chat input. Each button auto-sends a representative prompt for measuring tool / namespace activation behaviour. Dev only.
Skills
Add your own skills to train the Chat app on your org's workflows and data
Start Chatting!
Once your API keys and settings are configured, you can chat with Giraffe AI just like you would with any LLM. Ask about your market, find comps, search for parcels, and more! Once you identify a parcel for study, use Giraffe AI to analyze yield, identify zoning constraints and lot restrictions, and even run a simple proforma.
Type in the text box, then click "send."
You can also upload attachments, like text, pdfs, or images to give more context to your request. Click the Paper Clip icon to add an attachment.
Remember: Claude can make mistakes. Double check the results.
Start from scratch
Click "New Chat" in the top bar to wipe the existing chat and start fresh.
Status Bar + Quick Settings
Auto-approve all actions -
Show prompt inspector - view prompt performance
SDK docs enabled - allows Chat to use the Giraffe SDK
Web fetch enabled - allows Chat to search web
Cache inspector - shows preview of current chat cache
In status
Out status
Credit cost estimator
How the AI works
Your message
API Request
system All active skills concatenated into one cached block
tools 39 tool definitions — name, description, schema
messages Conversation history
LLM Decides
Skills tell it when and why to act
Tool descriptions tell it how
→ Text response shown to you
→ Tool calls executed by the app
Tool Execution
Read tools → auto-executed
Mutation tools → you approve/reject
Results sent back to LLM · Loop continues until done
Tools vs Skills
| Tool | Skill |
What | A function the AI can call | Markdown instructions in the system prompt |
Gives the AI | Capability — "here is a function and its parameters" | Judgment — "when to use it, why, and what to watch out for" |
Defined in | Code (tools.ts) — wrappers around Giraffe SDK RPC functions. If a tool isn't available in the core set, the AI can call any Giraffe SDK function directly via invoke_rpc / get_state, and look up docs first via fetch_docs. | Markdown (.md files) — editable in Settings. Create your own or modify the built-in core skills. |
Togglable | No — all tools are always sent | Yes — toggle off to remove from prompt and save tokens |
Example | updateUsages({ usages: {...} }) | "Only call updateUsages when user says 'assumptions'. For buildings, use updateSections." |
Active skills
Skills are instructions in the system prompt that teach the AI when and why to use tools. Toggle them in Settings to control what the AI knows.
Skill | Description | Tokens |
Core BehaviorLOCKED | Identity, workflows, conventions, response format. Always active. | ~2,534 |
Layers | Layer operations: visibility, filtering, styling, organizing the layer tree. | ~1,674 |
Sections | Building CRUD: find, create, update, delete sections. Routing rules for updateSections vs updateUsages. | ~2,232 |
Summaries | Ad-hoc aggregation, charting, groupBy queries via findSections. | ~352 |
Usage Types | Usage type definitions, dwelling patterns, hotel keys, property reference, delete usages. | ~1,542 |
Content Library | Browse and import content packs and Lightning Bolt flows from the Giraffe library. | ~1,105 |
Giraffe Analytics | Analytics measures/line items, categories, tabs, formulas. Create/delete/reorder reporting. | ~2,540 |
GeoJSON Layers | Create map layers from GeoJSON data via createGeoJSONLayer RPC. Styling, 3D extrusion, labels. | ~787 |
Total | 8 skills active | ~12,764 |
Available tools
Tools are functions the AI can call. It reads the tool name and description to decide which one to use. Skills provide the behavioral guidance for when and why.
Writing a skill
Skills are markdown instructions injected into the system prompt. Click "+ New" under User Skills to create one. A good skill has these parts:
## Skill Name One sentence saying what this skill covers and when the AI should use it. ### Suggested tools These tools should be used together for this workflow: 1. getLayers → see what's available 2. getLayerContents → inspect features 3. filterLayerFeatures → highlight matches ### When to use - "user says X" → do Y - "user says Z" → do W ### Rules - Always do A before B - Never do C without checking D ### Examples ``` toolName({ param: "value" }) ``` ### Gotchas - Common mistake and how to avoid itKey principles:
Be self-describing. Start with what the skill covers. The AI has no other way to know when to apply it.
Write "when/why", not "how". Tool parameter docs are already in the tool definitions. Skills should teach decision logic: "if the user says X, use tool Y because Z."
Use trigger phrases. List the exact words the user might say and map them to actions. This prevents the AI from guessing.
Include examples. Show the exact tool call with realistic parameters. The AI copies patterns.
Flag ambiguity. If a phrase could mean two things, tell the AI to ask the user to clarify.
Suggest tools. Add a "Suggested tools" section that lists the tools for a workflow in order. The AI will prefer these tools and follow the sequence. You can't add new tools, but you can tell the AI which existing ones to reach for and in what order.
Keep it short. Every token in a skill is sent on every message. Cut anything the AI doesn't need to make decisions.
Prompting tips
Be specific about what you want changed. "Make the office 10 levels" is better than "make it taller".
Say "assumptions" or "usage type" explicitly when you want to change project-wide defaults, not individual buildings.
Name places and the AI will web search for coordinates and fly there.
Ask for charts — "bar chart of cost by usage" works with findSections.
Toggle off unused skills in Settings to reduce token costs and keep the AI focused.














