{
"file_path": "/Users/warrenthompson/Source/LoginID/CLAUDE.md"
}1 # LoginID Take-Home POC — Project Root
2
3 ## Role
4
5 You are the project manager agent for this repository. This file is the shared context every track refers back to. Each of the five track directories below has its own CLAUDE.md that can be worked independently by a scoped subagent, but that subagent should read this root file first for the assignment, the overall narrative, and how its track fits with the other four.
6
7 When you spin up agents or subagents to do work in a track, point them at that track's CLAUDE.md as their brief, and tell them this root file exists for cross-track context. Don't let a track's agent silently duplicate scope another track owns — check the "Owns / does not own" boundaries below first.
8
9 ## What this repository is
10
11 This is a take-home assignment for a LoginID interview, submitted as a full directory. The goal is not just to answer three coding questions — it's to demonstrate capability as an AI architect: how you scope a problem, use AI tooling deliberately, reason about security and data, and produce something that reads as an intentional, well-run engineering effort rather than a quick script.
12
13 Code does not need to work or be fully complete. LoginID has said explicitly they care more about the design and the reasoning behind it, and about which AI tools/frameworks were used and how. Every track should document its reasoning, not just its output.
14
15 ## The assignment (verbatim from LoginID)
16
17 Provide code solutions for the following questions in Go (preferably) or other languages — describe any tool, framework, or AI used.
18
19 1. Code of a database DAO that can store and retrieve `user_profile` (name, address, phone) and `user_credential` (username, method, password), with support for multiple databases (PostgreSQL or CockroachDB, SQLite, etc).
20 2. Design a RESTful API web service to search and retrieve the above user profile data, plus security API authentication.
21 3. Design a service connector to third-party identity providers (referred to generically as ABC or XYZ) to retrieve personal data from vendors, with the following endpoints:
22 - `/auth` — retrieves an `access_token` based on a POST JSON body `{"username": "<string>", "password": "<string>"}`
23 - `/identity` — retrieves user PII (name, phone, address: `street_address`, `locality`, `region`, `postal_code`, `country`) based on a POST JSON body `{"phone": "<string>", "name": "<string>"}`
24
25 Go is the preferred language. Other languages are acceptable if justified.
26
27 ## Track structure
28
29 Five directories, each independently workable, each owning a distinct slice of the problem:
30
31 | Directory | Track | Owns |
32 |---|---|---|
33 | `01-product-industry-research-design/` | Product & Industry Research (incl. Design) | Market/industry framing (IAM, passwordless auth, IDP aggregation space), personas and use cases, API and data contract design rationale, UX of the surfaces that would sit on top of this |
34 | `02-ai-security-architecture/` | AI Architecture & Security Architecture | The AI tooling/workflow used to produce this submission, threat modeling, auth/authz design for the API, credential and PII handling, secrets management, third-party connector security |
35 | `03-engineering-delivery/` | Engineering & Delivery | The actual Go code for all three questions, project structure, test strategy, delivery documentation |
36 | `04-infra-devops/` | Infra & DevOps | How this would be built, containerized, deployed, and operated — CI/CD, environments, multi-database configuration, observability |
37 | `05-data-ops/` | Data Ops | Data modeling for `user_profile` / `user_credential`, multi-database abstraction strategy, migrations, PII data governance and retention |
38
39 Directories are numbered for reading order in the final submission, not for sequencing of work — tracks can be worked in any order or in parallel.
40
41 ## Working principles for every track
42
43 - State your reasoning, not just your conclusion. LoginID is grading the "why" as much as the "what."
44 - Name the AI tool/workflow you used for that track's output (this project is being built with Claude Code; say so, and say how — e.g., subagents scoped per track, a given skill, a given model).
45 - Keep each track's CLAUDE.md self-contained enough that a fresh agent with no other context can pick it up and do correct work from it alone, plus this root file.
46 - Cross-reference other tracks by relative path (e.g., `../05-data-ops/CLAUDE.md`) rather than restating their content.
47 - Do not start writing code until each track's CLAUDE.md is in place and reviewed.
48
49 ## Status
50
51 Scaffolding phase — track directories and their CLAUDE.md files are being established. No implementation work has started yet.
52 {
"file_path": "/Users/warrenthompson/Source/LoginID/02-ai-security-architecture/CLAUDE.md"
}1 # Track: AI Architecture & Security Architecture 2 3 Refer back to `../CLAUDE.md` for the full assignment text and how this track fits with the other four. 4 5 ## Mission 6 7 Own two things that are related but distinct: (1) the story of how AI was used as an architecture and delivery tool across this whole submission, and (2) the security architecture for everything the engineering track builds — the DAO, the REST API, and the third-party IDP connector. 8 9 LoginID explicitly asked submitters to describe any tool, framework, or AI used — this track is where that answer lives in full, even though other tracks should each note their own AI usage briefly too. 10 11 ## Owns 12 13 - AI architecture narrative: what Claude Code was used for across the project, how the five-track structure itself was designed and orchestrated (root CLAUDE.md + per-track CLAUDE.md + scoped subagents), what was AI-generated vs. human-directed, and why that workflow was chosen. 14 - Threat modeling for the system: attacker-relevant risks around storing `user_credential` (usernames/passwords), storing and serving `user_profile` PII, and the third-party connector holding vendor `access_token`s. 15 - API authentication/authorization design for the REST service in question 2 — what "security API authentication" means here (e.g., API keys, OAuth2 client credentials, mTLS, or JWT bearer tokens), and why. 16 - Credential handling: password storage (hashing/salting strategy), token lifecycle for third-party `access_token`s from question 3, and secrets management for any credentials this service itself needs to call ABC/XYZ. 17 - Security review of the connector contracts in question 3: what happens to the third-party `access_token` once retrieved, how `/identity` calls are authenticated to the vendor, and what this service should and shouldn't log or persist from a PII/security standpoint. 18 19 ## Does not own 20 21 - The industry/product framing for why this system exists — that's `../01-product-industry-research-design/CLAUDE.md`. 22 - Writing the Go code itself — that's `../03-engineering-delivery/CLAUDE.md`, though this track's design should be specific enough to implement directly. 23 - Runtime secrets storage mechanics in a deployed environment (e.g., which secrets manager, which CI/CD injects what) — that's `../04-infra-devops/CLAUDE.md`; this track sets the requirement, infra/devops implements it. 24 - Data retention/governance policy for stored PII — that's `../05-data-ops/CLAUDE.md`; this track covers security of access and transit, not lifecycle/retention. 25 26 ## Deliverables 27 28 - A written AI-tooling/workflow summary for the whole project. 29 - A threat model covering credential storage, PII exposure, and third-party token handling. 30 - A concrete auth/authz design for the REST API in question 2. 31 - A security design for the IDP connector in question 3, including token handling and what gets logged. 32 33 ## AI tooling note 34 35 This track is itself where the project's AI-usage story is documented in depth — treat it as both a subject-matter track and the place other tracks' brief AI notes get rolled up if useful. 36
{
"query": "select:WebSearch,WebFetch",
"max_results": 5
}[tool reference: ] [tool reference: ]
{
"subagent_type": "fork",
"description": "Research Anthropic agentic architecture best practices",
"prompt": "Do NOT write any files. Just research and report back findings as text (this is a fork, so do your own WebSearch/WebFetch calls now).\n\nResearch Anthropic's own official published guidance (primary sources only — anthropic.com/engineering, docs.claude.com, docs.anthropic.com, claude.com/product/claude-code docs, Anthropic Academy) on:\n\n1. Agentic coding workflows and \"Claude Code best practices\" (there is a well-known Anthropic engineering blog post literally titled \"Claude Code: Best Practices for Agentic Coding\" — find and summarize it, with URL).\n2. Context management / context engineering guidance — Anthropic has published pieces on \"effective context engineering for AI agents\", context window management, compaction, and the difference between context engineering and prompt engineering. Find and summarize with URLs.\n3. Subagent / multi-agent orchestration patterns — Anthropic's \"multi-agent research system\" blog post and any Claude Code subagent documentation (the `.claude/agents/*.md` pattern, orchestrator-worker patterns, how subagents keep the orchestrator's context small). Find and summarize with URLs.\n4. Prompt caching — official docs on how it works, cache breakpoints, and best practices for structuring prompts (system prompt / tools stable, conversation appended) to maximize cache hits. Find and summarize with URL.\n5. Tool-use design guidance from Anthropic (tool definitions, minimizing tool count/verbosity, agentic tool design principles). URL.\n6. Any Anthropic-published Claude certification / \"Building with Claude\" / Anthropic Academy curriculum that describes competencies for using Claude as an architecture/engineering tool — what it tests for. If nothing official exists publicly, say so explicitly rather than guessing.\n7. Anthropic guidance (if any) on structured memory files / CLAUDE.md patterns for large or multi-part projects, and progressive summarization / hand-off documents between agent sessions.\n\nFor each item, clearly separate \"Anthropic official primary source\" (blog/docs URL) from any third-party commentary you happen to encounter (label it as such, deprioritize it).\n\nReport back as organized text with headers matching the 7 items above, each with: 1-2 sentence summary of the guidance + the exact URL. Be concrete — I need real URLs and real claims, not vague gestures. Keep total report under 1500 words."
}Fork started — processing in background
{
"query": "Anthropic \"Claude Code: Best Practices for Agentic Coding\" engineering blog"
}Web search results for query: "Anthropic "Claude Code: Best Practices for Agentic Coding" engineering blog"
Links: [{"title":"Claude Code: Practical Best Practices for Agentic Coding | by Habib Mrad | Medium","url":"https://medium.com/@habib.mrad.83/claude-code-practical-best-practices-for-agentic-coding-2be1b62cfeff"},{"title":"GitHub - awattar/claude-code-best-practices: 💻 Best practices and examples for using Claude Code - Anthropic’s terminal-native AI - for writing, editing, and refactoring code with deep project awareness, prompt design, and safe automation.","url":"https://github.com/awattar/claude-code-best-practices"},{"title":"Best practices for Claude Code - Claude Code Docs","url":"https://code.claude.com/docs/en/best-practices"},{"title":"Claude Code Best Practices: 12 Patterns Agentic Engineers Use | by huizhou92 | Level Up Coding","url":"https://levelup.gitconnected.com/claude-code-best-practices-12-patterns-agentic-engineers-use-65264e3eb919?gi=9869c287f74b"},{"title":"How Claude Code is used in practice \\ Anthropic","url":"https://www.anthropic.com/research/claude-code-expertise"},{"title":"Claude Code Best Practices: From Vibe Coding to Agentic Engineering (2026)","url":"https://mcp.directory/blog/claude-code-best-practices"},{"title":"Agentic Coding Guide 2026: Claude Code, Codex & 5 Patterns","url":"https://www.teamday.ai/blog/complete-guide-agentic-coding-2026"},{"title":"www.anthropic.com","url":"https://www.anthropic.com/engineering?p=88"},{"title":"Engineering at Anthropic","url":"https://www.anthropic.com/engineering/claude-code-best-practices"}]
I found the Anthropic engineering blog post on Claude Code best practices! Here are the key details:
Anthropic recently released Claude Code, a command line tool for agentic coding that was developed as a research project to give Anthropic engineers and researchers a more native way to integrate Claude into their coding workflows.
Claude Code is intentionally low-level and unopinionated, providing close to raw model access without forcing specific workflows, creating a flexible, customizable, scriptable, and safe power tool.
The blog post outlines general patterns that have proven effective both for Anthropic's internal teams and for external engineers using Claude Code across various codebases, languages, and environments.
One of the key practices discussed is customization: CLAUDE.md is a special file that Claude automatically pulls into context when starting a conversation, making it ideal for documenting common bash commands, core files and utility functions, code style guidelines, testing instructions, and repository etiquette.
The official blog post can be found at: **https://www.anthropic.com/engineering/claude-code-best-practices**
REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.{
"query": "Anthropic \"effective context engineering for AI agents\""
}Web search results for query: "Anthropic "effective context engineering for AI agents""
Links: [{"title":"Anthropic Context Engineering - Agentic AI Knowledge Base","url":"https://agentic-ai.readthedocs.io/en/latest/ContextEngineering/anthropic/"},{"title":"Effective context engineering for AI agents \\ Anthropic","url":"https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents"},{"title":"Prompt Governance? On Governing Technologies Governed by Natural Language","url":"https://arxiv.org/pdf/2606.07539"},{"title":"Effective Context Engineering for AI Agents: A Developer’s Guide - MachineLearningMastery.com","url":"https://machinelearningmastery.com/effective-context-engineering-for-ai-agents-a-developers-guide/"},{"title":"Written by AI, Managed by AI: Semantic Space Control and Index Sickness Elimination Across 391 Consecutive Sessions","url":"https://arxiv.org/pdf/2606.19121"},{"title":"LOCA-bench: Benchmarking Language Agents Under Controllable and Extreme Context Growth","url":"https://arxiv.org/pdf/2602.07962"},{"title":"Effective Context Engineering for AI Agents: Anthropic's Guide, Read and Highlighted - YouTube","url":"https://www.youtube.com/watch?v=grs8yPUJ8j0"},{"title":"Anthropic’s Approach to Effective Context Engineering for AI Agents | Cronus","url":"https://cr0nu3.github.io/posts/Effective_context_engineering_for_AI_Agents/"}]
Based on the search results, I found relevant information about Anthropic's "Effective Context Engineering for AI Agents."
## Overview
Context engineering has become a prominent term in applied AI, replacing prompt engineering as the focus of attention. Anthropic views context engineering as the natural progression of prompt engineering and refers to it as the set of strategies for curating and maintaining the optimal set of tokens (information) during LLM inference.
## Key Concepts
Context is a critical but finite resource for AI agents. Building with language models is becoming less about finding the right words and phrases for your prompts, and more about answering the broader question of "what configuration of context is most likely to generate our model's desired behavior?"
As agents move from one-shot tasks to multi-turn, long-horizon work, the challenge shifts from "how to write a good prompt" to "what configuration of context is most likely to generate the desired behavior at each step."
## Core Challenge
The core constraint is that LLMs have a finite attention budget, as the transformer architecture creates n² pairwise relationships for n tokens, and as context grows, the model's ability to capture these relationships gets stretched thin.
Anthropic has published comprehensive resources on this topic, including detailed guides and practical implementations for managing context in long-running AI agents.
REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.{
"query": "Anthropic engineering \"multi-agent research system\" blog post"
}Web search results for query: "Anthropic engineering "multi-agent research system" blog post"
Links: [{"title":"Anthropic’s multi-agent research system raises the bar for open-ended AI reasoning | Centific","url":"https://www.centific.com/blog/anthropic-s-multi-agent-research-system-raises-the-bar-for-open-ended-ai-reasoning"},{"title":"How Anthropic Built a Multi-Agent Research System","url":"https://blog.bytebytego.com/p/how-anthropic-built-a-multi-agent"},{"title":"How and when to build multi-agent systems","url":"https://www.langchain.com/blog/how-and-when-to-build-multi-agent-systems"},{"title":"Anthropic: Building a Multi-Agent Research System for Complex Information Tasks - ZenML LLMOps Database","url":"https://www.zenml.io/llmops-database/building-a-multi-agent-research-system-for-complex-information-tasks"},{"title":"Anthropic's Multi-Agent Research Architecture Explained","url":"https://theaiengineer.substack.com/p/how-anthropic-built-multi-agent-deep"},{"title":"Anthropic: How we built our multi-agent research system","url":"https://simonwillison.net/2025/Jun/14/multi-agent-research-system/"},{"title":"Anthropic's Multi-Agent Blueprint: We Validated It in Production (Here's What Worked)","url":"https://fountaincity.tech/resources/blog/anthropic-multi-agent-blueprint-production/"},{"title":"How we built our multi-agent research system — Anthropic | by Kushal Banda | Artificial Intelligence in Plain English","url":"https://ai.plainenglish.io/how-we-built-our-multi-agent-research-system-5f5e10b2a8d6?gi=a610b8f62c64"},{"title":"Engineering at Anthropic","url":"https://www.anthropic.com/engineering/multi-agent-research-system"}]
Based on the search results, I found Anthropic's official blog post on their multi-agent research system. Here's what I found:
Anthropic published "How we built our multi-agent research system," describing Claude's Research capabilities that allow it to search across the web, Google Workspace, and integrations to accomplish complex tasks.
Their Research feature involves an agent that plans a research process based on user queries, and then uses tools to create parallel agents that search for information simultaneously.
Key findings from the blog post include:
- **Performance Benefits**: A multi-agent system with Claude Opus 4 as the lead agent and Claude Sonnet 4 subagents outperformed single-agent Claude Opus 4 by 90.2% on their internal research evaluation.
- **Use Cases**: Multi-agent research systems excel especially for breadth-first queries that involve pursuing multiple independent directions simultaneously.
- **Engineering Insights**: The journey of this multi-agent system from prototype to production taught them critical lessons about system architecture, tool design, and prompt engineering.
The official blog post is available at: https://www.anthropic.com/engineering/multi-agent-research-system
REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.{
"query": "Anthropic docs prompt caching cache breakpoints best practices"
}Web search results for query: "Anthropic docs prompt caching cache breakpoints best practices"
Links: [{"title":"Explicit Prompt Caching (Anthropic API) - MiniMax API Docs","url":"https://platform.minimax.io/docs/api-reference/anthropic-api-compatible-cache"},{"title":"Unlocking Efficiency: A Practical Guide to Claude Prompt Caching | by Mark Craddock | Medium","url":"https://medium.com/@mcraddock/unlocking-efficiency-a-practical-guide-to-claude-prompt-caching-3185805c0eef"},{"title":"Prompt Caching Support in Spring AI with Anthropic Claude","url":"https://spring.io/blog/2025/10/27/spring-ai-anthropic-prompt-caching-blog/"},{"title":"Prompt caching - Claude Platform Docs","url":"https://platform.claude.com/docs/en/build-with-claude/prompt-caching"},{"title":"Claude: How prompt caching actually works","url":"https://www.mager.co/blog/2026-04-29-claude-prompt-caching/"},{"title":"Anthropic Claude API Prompt Caching and Token Efficiency Guide - Cache Breakpoints, Batch Processing, and Context Engineering | hidekazu-konishi.com","url":"https://hidekazu-konishi.com/entry/anthropic_claude_api_prompt_caching_and_token_efficiency.html"},{"title":"Prompt Caching Tutorial Anthropic: Cut API Costs 90% with Cache Control · AI Prompt Generator Hub","url":"https://aipromptshub.co/blog/prompt-caching-anthropic-tutorial"}]
I found several resources on Anthropic's prompt caching with information about cache breakpoints and best practices. Here's what the search revealed:
## Cache Breakpoints Overview
You can define up to 4 cache breakpoints in your prompt. Each breakpoint checkpoints the prefix at that position, and you can use all four: one after the system prompt, one after tool definitions, one after a retrieved document, and one after few-shot examples.
## Best Practices
Place cached content at the beginning of your prompt for optimal performance and use cache breakpoints strategically to separate different cacheable sections. Cache stable, reusable content like system instructions and background information.
You can use just one cache breakpoint at the end of your static content, and the system will automatically find the longest matching prefix.
## Cache Duration
The cache has a 5-minute lifetime (TTL), which is refreshed each time the cached content is used. If you find that 5 minutes is too short, Anthropic also offers a 1-hour cache duration at additional cost.
## Cache Invalidation
Changes to tool_choice or the presence/absence of images anywhere in the prompt will invalidate the cache, requiring a new cache entry to be created.
For the official Anthropic documentation, you can refer to the [Claude Platform Docs on Prompt Caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching).
REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.{
"query": "Anthropic Claude Code subagents documentation .claude/agents"
}Web search results for query: "Anthropic Claude Code subagents documentation .claude/agents"
Links: [{"title":"Claude Code agents: what they actually are","url":"https://joseparreogarcia.substack.com/p/claude-code-agents-explained"},{"title":"Claude Code Subagents: How to Create, Use, and Debug Them","url":"https://www.builder.io/blog/claude-code-subagents"},{"title":"How and when to use subagents in Claude Code | Claude by Anthropic","url":"https://claude.com/blog/subagents-in-claude-code"},{"title":"Claude Code Subagents: The Complete Guide to AI Agent Delegation | by Sathish Raju | Medium","url":"https://medium.com/@sathishkraju/claude-code-subagents-the-complete-guide-to-ai-agent-delegation-d0a9aba419d0"},{"title":"Introduction to subagents - Anthropic Courses","url":"https://anthropic.skilljar.com/introduction-to-subagents"},{"title":"Claude Code Subagents and Multi-Agent Orchestration Guide - Delegation, Parallel Fan-Out, and Custom Agent Definitions | hidekazu-konishi.com","url":"https://hidekazu-konishi.com/entry/claude_code_subagents_and_orchestration_guide.html"},{"title":"Claude Code subagents: the 2026 production playbook (with examples) - Totalum Blog","url":"https://www.totalum.app/blog/claude-code-subagents-totalum"},{"title":"Sub-Agents in Claude Code: The Subagent Orchestration Behind the Response Awareness Methodology","url":"https://responseawareness.substack.com/p/sub-agents-in-claude-code-the-subagent"}]
I found relevant information about Claude Code subagents and the `.claude/agents` directory structure. Here are the key findings:
## What are Claude Code Subagents?
Subagents are "specialized AI assistants that handle specific types of tasks. Each subagent runs in its own context window with a custom system prompt, specific tool access, and independent permissions."
## File Locations
Custom subagents live as markdown files in .claude/agents/ (project-level, shared with the team) or ~/.claude/agents/ (user-level, available across all projects).
## Creating Subagents
You can create Claude Code subagents either from the /agents UI or by writing Markdown files with YAML frontmatter. In practice you create a subagent definition by dropping a markdown file into .claude/agents/ with frontmatter for name, description, tools, model, and a system-prompt body.
## Key Configuration Elements
Each one gets its own system prompt, tool permissions, and optionally its own model. The main things to get right are scope, description, tool access, permission mode, and prompt design.
## Benefits
When the main agent delegates a task to a subagent, the subagent runs independently, does its work, and returns only its final output to the parent. All the intermediate noise — the file reads, the search results, the exploratory tool calls — stays inside the subagent's context and never touches the main conversation.
REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.{
"query": "Anthropic Academy certification \"building with Claude\" curriculum"
}Web search results for query: "Anthropic Academy certification "building with Claude" curriculum"
Links: [{"title":"Claude Certification Program by Anthropic - Pearson VUE","url":"https://www.pearsonvue.com/us/en/anthropic.html"},{"title":"Building with the Claude API - Anthropic Courses","url":"https://anthropic.skilljar.com/claude-with-the-anthropic-api"},{"title":"CLAUDE-CERTIFICATIONS/guide/courses.md at main · Amey-Thakur/CLAUDE-CERTIFICATIONS","url":"https://github.com/Amey-Thakur/CLAUDE-CERTIFICATIONS/blob/main/guide/courses.md"},{"title":"Anthropic Courses","url":"https://anthropic.skilljar.com/"},{"title":"Claude Certifications in 2026: Which One Is Right for You?","url":"https://blog.udemy.com/claude-certifications-guide/"},{"title":"The Complete Prep Guide to Anthropic's Claude Certifications (2026)","url":"https://cloud-authority.com/the-complete-prep-guide-to-anthropic-s-claude-certifications-2026"},{"title":"Claude Certification in 2026: What Really Exists — AItomation Academy","url":"https://www.aitomationacademy.com/blog/claude-certification"},{"title":"Anthropic Academy Guide: All 13 Free Claude Courses | Termdock","url":"https://www.termdock.com/en/blog/anthropic-academy-claude-courses-guide"},{"title":"Claude Certified Architect Courses — Claude Code, Agent SDK & MCP","url":"https://www.anthropiccertifications.com/courses"}]
Based on the search results, here's what I found about Anthropic Academy and Claude certification curriculum:
## Anthropic Academy Overview
Anthropic launched Anthropic Academy in March 2026 with thirteen courses, all free and self-paced, with official certificates on completion.
## "Building with Claude" Curriculum
The "Building with the Claude API" course is a comprehensive video course that teaches developers how to integrate Claude AI into applications using the Anthropic API, with curriculum covering fundamental API operations, advanced prompting techniques, tool integration, and architectural patterns for building AI-powered systems. Through hands-on exercises and practical examples, participants learn to implement conversational AI, retrieval-augmented generation, automated workflows, and leverage Claude's multimodal capabilities for processing text, images, and documents.
## Course Structure
Six courses require no coding and work for everyone, while seven are developer-focused, requiring Python or CLI experience. "Building with the Claude API" covers Messages API, tool use, RAG, and agents, and is core for Developer and Architect certifications.
## Certification Program
The Claude Certification Program validates the skills behind advising, designing, and building Claude solutions, with three roles to choose from: Practitioner, Architect, and Developer. Anthropic runs free Academy courses that anyone can take for a completion certificate, and a paid, proctored Claude Certification Program (Associate, Developer, and Architect exams via Pearson VUE) gated to people at organizations in the Claude Partner Network.
REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.{
"query": "Anthropic tool use best practices agentic tool design docs.claude.com"
}Web search results for query: "Anthropic tool use best practices agentic tool design docs.claude.com"
Links: [{"title":"Building Effective AI Agents \\ Anthropic","url":"https://www.anthropic.com/engineering/building-effective-agents"},{"title":"Writing effective tools for AI agents—using AI agents \\ Anthropic","url":"https://www.anthropic.com/engineering/writing-tools-for-agents"},{"title":"Tool reference - Claude Platform Docs","url":"https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-reference"},{"title":"Tool use with Claude - Claude Platform Docs","url":"https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview"},{"title":"Define tools - Claude Platform Docs","url":"https://platform.claude.com/docs/en/agents-and-tools/tool-use/define-tools"},{"title":"How to implement tool use - Claude API Docs","url":"https://platform.claude.com/docs/en/agents-and-tools/tool-use/implement-tool-use"},{"title":"Build with Claude · Claude Academy","url":"https://www.anthropic.com/learn/build-with-claude"},{"title":"www.anthropic.com","url":"https://www.anthropic.com/engineering?p=88"},{"title":"Engineering at Anthropic","url":"https://anthropic.com/engineering/advanced-tool-use"},{"title":"Thinking as a Tool","url":"https://patmcguinness.substack.com/p/thinking-as-a-tool"}]
Based on the search results, I found comprehensive information about Anthropic's tool use best practices and agentic tool design. Here are the key resources and guidance:
## Key Best Practices
Effective tools are intentionally and clearly defined, use agent context judiciously, can be combined together in diverse workflows, and enable agents to intuitively solve real-world tasks.
It is crucial to design toolsets and their documentation clearly and thoughtfully.
## Documentation Resources
For deeper guidance on tool design (consolidation, naming, and response shaping), see Writing tools for agents. Additionally, best practices for tool definitions can be found in the Developer Guide.
## Advanced Tool Use
To build effective agents, they need to work with unlimited tool libraries without stuffing every definition into context upfront, and agents should discover and load tools on-demand, keeping only what's relevant for the current task.
## Tool Input Examples
You can provide concrete examples of valid tool inputs to help Claude understand how to use your tools more effectively, which is particularly useful for complex tools with nested objects, optional parameters, or format-sensitive inputs, by adding an optional input_examples field to your tool definition.
These resources are available on the Claude Platform Docs and Anthropic's Engineering blog for more detailed guidance.
REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.{
"query": "Claude Code CLAUDE.md memory file documentation best practices docs.claude.com"
}Web search results for query: "Claude Code CLAUDE.md memory file documentation best practices docs.claude.com"
Links: [{"title":"Claude Code Memory: Complete Guide to Persistence","url":"https://vectorize.io/articles/claude-code-memory"},{"title":"How Claude remembers your project - Claude Code Docs","url":"https://code.claude.com/docs/en/memory"},{"title":"The Complete Guide to CLAUDE.md: Memory, Rules, Loading, and Cross-Tool Compression | by Bijit Ghosh | Medium","url":"https://medium.com/@bijit211987/the-complete-guide-to-claude-md-memory-rules-loading-and-cross-tool-compression-97cc12ed037b"},{"title":"CLAUDE.md, Rules, and Memory | Developing with AI Tools | Steve Kinney","url":"https://stevekinney.com/courses/ai-development/claude-dot-md"},{"title":"CLAUDE.md: What It Is, Template & Best Practices (Plain English) – CC for Everyone","url":"https://ccforeveryone.com/fundamentals/project-memory"},{"title":"CLAUDE.md & Memory Management: The Complete Guide (2026) | Product Builder","url":"https://www.productbuilder.net/learn/claude-code-memory"},{"title":"CLAUDE.md in Claude Code: Memory, Rules, and Docs","url":"https://claudecode101.com/en/mechanics/claude-md"},{"title":"github.com","url":"https://github.com/ambient-code/platform/issues/357"}]
I found comprehensive information about Claude Code's CLAUDE.md memory file and documentation best practices. Here's what the search revealed:
## Overview
CLAUDE.md files are markdown files that give Claude persistent instructions for a project, your personal workflow, or your entire organization, which Claude reads at the start of every session.
## Key Best Practices
**Writing Quality Instructions:**
- The more specific and concise your instructions, the more consistently Claude follows them.
- Treat CLAUDE.md as the place you write down what you'd otherwise re-explain, adding to it when a new teammate would need the same context to be productive.
- Keep it short and link to deeper documentation instead of turning the file into a manual.
**Memory Systems:**
The system has four CLAUDE.md scopes, an Auto Memory subsystem that captures session learnings, a consolidation pipeline built on Anthropic's Dreams primitive that reorganizes those captures, a MEMORY.md index file that anchors the auto-memory directory, and a /memory command for managing the whole thing.
**Team Practices:**
- For a team repository, treat CLAUDE.md like lightweight engineering documentation, committing the shared project file while keeping local secrets and sandbox URLs in gitignored CLAUDE.local.md.
- If Claude ignores a rule, run /memory first.
The official Claude Code documentation is available at code.claude.com/docs/en/memory for the most current information.
REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.{
"url": "https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents",
"prompt": "Summarize the key recommendations on context management for long-running agents: context window limits, compaction, structured note-taking, sub-agent architectures, just-in-time retrieval. List concrete techniques mentioned."
}# Context Management for Long-Running Agents ## Core Challenge LLMs face inherent limitations managing extended interactions. The article identifies "context pollution and information relevance concerns" that persist regardless of window size. ## Key Recommendations **1. Compaction** Summarize conversation history when approaching context limits, then restart with a condensed summary. The approach "distills the contents of a context window in a high-fidelity manner, enabling the agent to continue with minimal performance degradation." Start by maximizing recall, then improve precision by removing redundant content like old tool outputs. **2. Structured Note-Taking** Agents maintain persistent memory outside the context window through files or dedicated memory systems. This allows tracking progress across complex tasks without consuming immediate context space. **3. Sub-Agent Architectures** Specialized agents handle focused tasks with clean context windows while reporting condensed summaries (typically 1,000-2,000 tokens) to a coordinating agent. This separates detailed exploration work from high-level synthesis. **4. Just-in-Time Retrieval** Rather than pre-loading all data, agents use tools to dynamically retrieve references (file paths, queries, links) at runtime. This mirrors human cognition—maintaining lightweight identifiers instead of exhaustive information. **5. Hybrid Approach** Combine upfront retrieval for speed with autonomous exploration at the agent's discretion, suited to the specific task requirements. The overarching principle: "find the smallest set of high-signal tokens that maximize the likelihood of your desired outcome."
{
"url": "https://www.anthropic.com/engineering/claude-code-best-practices",
"prompt": "Summarize the key best practices for agentic coding with Claude Code: CLAUDE.md usage, workflows, tool permissions, subagents, and any guidance on managing context across long tasks."
}REDIRECT DETECTED: The URL redirects to a location that was not fetched automatically.
Original URL: https://www.anthropic.com/engineering/claude-code-best-practices
Redirect URL (from the server's Location header — server-supplied, not verified): https://code.claude.com/docs/en/best-practices
Status: 308 Permanent Redirect
To complete your request, I need to fetch content from the redirected URL. Please use WebFetch again with these parameters:
- url: "https://code.claude.com/docs/en/best-practices"
- prompt: "Summarize the key best practices for agentic coding with Claude Code: CLAUDE.md usage, workflows, tool permissions, subagents, and any guidance on managing context across long tasks."{
"url": "https://www.anthropic.com/engineering/multi-agent-research-system",
"prompt": "Summarize the architectural lessons: orchestrator-worker pattern, how subagents keep context isolated, prompt engineering for multi-agent systems, and how work is handed off/synthesized between agents."
}# Architectural Lessons from Anthropic's Multi-Agent Research System ## Orchestrator-Worker Pattern Anthropic employs a lead agent that "analyzes [queries], develops a strategy, and spawns subagents to explore different aspects simultaneously." The lead researcher coordinates the workflow while delegating specialized tasks to parallel workers, enabling efficient decomposition of complex research problems. ## Context Isolation in Subagents Subagents maintain independent context windows, which Anthropic identifies as critical for scaling. Each subagent operates with "separation of concerns—distinct tools, prompts, and exploration trajectories—which reduces path dependency." This isolation prevents cross-contamination and allows parallel exploration of different research dimensions. ## Prompt Engineering Principles Key strategies include teaching "the orchestrator how to delegate" with detailed task descriptions that specify objectives, output formats, and tool guidance. The system uses "scaling rules in the prompts" to match effort to query complexity, preventing both underinvestment and wasteful overallocation. Extended thinking serves as "a controllable scratchpad" for planning, while heuristics replace rigid rules to encode expert research strategies. ## Handoff and Synthesis Subagents "return findings to the LeadResearcher," which then "synthesizes these results and decides whether more research is needed." A specialized CitationAgent processes findings to verify source attribution. This staged approach with "lightweight references" prevents information loss during multi-stage handoffs.