# Hcls Build Agent

> Use when a developer wants to build a new healthcare or life sciences agent, structure tools and system prompts for an HCLS workflow, or create a Strands agent with domain-specific capabilities. Also use when someone asks about agent architecture, tool design, or system prompt patterns for clinical, genomics, or drug discovery use cases.

- Skill: `aws-samples/hcls-build-agent` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add aws-samples/hcls-build-agent`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aws-samples/hcls-build-agent/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: aws-samples (https://skillmd.com/u/aws-samples)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/aws-samples/hcls-build-agent

---


# Building an HCLS Agent

## When to use this skill

- Developer asks "how do I create a new HCLS agent?"
- Developer needs to structure tools, prompts, and workflows for a healthcare domain
- Developer is building an agent for genomics, drug discovery, clinical trials, or other HCLS workflows

## Agent Architecture

An HCLS agent is composed of:

```
Agent = System Prompt + Tools (MCP) + Skills (Knowledge) + Guardrails
```

## Steps

### 1. Choose a template

| Template | When to use |
|----------|------------|
| `agentcore_template/` | Backend-focused: agent runtime + Gateway tools + Streamlit UI |
| [FAST](https://github.com/awslabs/fullstack-solution-template-for-agentcore) | Full-stack: React frontend + Cognito auth + CDK deployment |

### 2. Define your agent's domain scope

- What HCLS workflow does it address?
- What data sources does it need? (databases, ontologies, literature)
- What actions should it perform? (query, analyze, generate, validate)
- What guardrails are needed? (PHI handling, clinical disclaimers, data validation)

### 3. Create tools

Tools are Python functions exposed via AgentCore Gateway (Lambda targets) or as local Strands tools.

```python
# Local Strands tool
from strands import tool

@tool
def search_variants(gene: str, significance: str = "pathogenic") -> dict:
    """Search for genetic variants by gene name and clinical significance."""
    # Implementation
    pass
```

For Gateway tools (accessible to any MCP client), create Lambda functions and register as Gateway targets. See `agents_catalog/28-Research-agent-biomni-gateway-tools/` for the pattern.

### 4. Write the system prompt

Include:
- Domain expertise and role definition
- Available tools and when to use each
- Output format expectations
- Clinical/scientific disclaimers
- Guardrails (what NOT to do)

### 5. Add MCP server connections

Reference existing MCP servers for domain tools the agent needs:
- Biomedical databases: deploy Biomni Gateway (`mcp-servers/agentcore-gateway/biomni-research-tools/`)
- Ontology lookup: deploy OLS server (`mcp-servers/agentcore-runtime/ontology-lookup-service/`)
- Literature: configure PubMed (`mcp-servers/third-party/pubmed/`)
- Genomics workflows: configure HealthOmics (`mcp-servers/aws-public/aws-healthomics/`)

### 6. Test

```bash
# Local testing with Strands
python main.py --prompt "Your test query"

# Test Gateway tools independently
python tests/test_gateway.py --prompt "Your test query"
```

## References

- Reference implementation (simple): `agents_catalog/24-Deep-Research-agent/`
- Reference implementation (full Gateway): `agents_catalog/28-Research-agent-biomni-gateway-tools/`
- Reference implementation (FAST template): `agents_catalog/35-Terminology-agent/`
- Strands Agents docs: use the `strands-docs` MCP server
- AgentCore docs: use the `agentcore-docs` MCP server

## AWS MCP Servers Used

When building infrastructure for the agent, use:
- `aws-mcp` — create IAM roles, Lambda functions, S3 buckets
- `agentcore-docs` — AgentCore API reference for Gateway/Runtime/Memory configuration
- `aws-healthomics` — if the agent needs genomics workflow capabilities

