Shortcut System Guide
Shortcuts are the fastest way to invoke FAOS agents. Instead of looking up agent IDs and constructing API calls, use a simple two-part command.
How Shortcuts Workβ
A shortcut command follows the pattern:
<module> <agent>
| Part | Description | Example |
|---|---|---|
| Module | Industry vertical | bank, health, mfg |
| Agent | Specialist within module | credit-analyst, patient-intake |
When you call client.shortcut("bank credit-analyst"), the SDK:
- Sends the command to the shortcut resolution API
- Matches against registered shortcut patterns
- Returns the resolved agent ID and metadata
- Invokes the matched agent
Available Modulesβ
FAOS includes 21 industry modules:
| Shortcut | Module | Agents |
|---|---|---|
bank | Banking & Finance | 38 |
invest | Investment Management | 25+ |
insurance | Insurance | 25+ |
fintech | FinTech | 25+ |
health | Healthcare | 30+ |
mfg | Manufacturing | 25+ |
retail | Retail | 20+ |
logistics | Logistics & Supply Chain | 25+ |
talent | Talent & HR | 20+ |
profserv | Professional Services | 25+ |
martech | MarTech | 20+ |
software | Software Development | 25+ |
si | Systems Integration | 20+ |
auto | Automotive | 25+ |
aviation | Aviation | 20+ |
agri | Agriculture | 20+ |
agritech | AgriTech | 20+ |
travel | Travel & Hospitality | 20+ |
game | Gaming | 20+ |
edutech | EduTech | 20+ |
proptech | PropTech | 20+ |
Shortcut Typesβ
Module Shortcutsβ
View all agents in a module:
# Python
shortcuts = await client.shortcuts.list(module="faos-bank")
// TypeScript
const shortcuts = await client.shortcuts.list({ module: 'faos-bank' });
Agent Shortcutsβ
Invoke a specific agent directly:
# Python
response = await client.shortcut("bank credit-analyst")
// TypeScript
const response = await client.shortcut('bank credit-analyst');
Fuzzy Matchingβ
If you mistype a shortcut, the resolution API returns suggestions:
from faos import ShortcutNotFoundError
try:
await client.shortcut("bnk credit-analyst")
except ShortcutNotFoundError as e:
print(e.suggestions)
# ["bank credit-analyst"]
Resolution Detailsβ
When resolving a shortcut, you get full context about the matched agent:
resolution = await client.shortcuts.resolve("bank credit-analyst")
print(resolution.resolved) # True
print(resolution.agent_id) # "agent_abc123"
print(resolution.module_key) # "faos-bank"
print(resolution.module_name) # "Banking & Finance"
print(resolution.agent_name) # "Credit Risk Analyst"
print(resolution.task_template) # Default task for the agent
print(resolution.capabilities) # ["credit_analysis", "risk_assessment"]
Using Context Hintsβ
Provide context to help resolve ambiguous shortcuts:
resolution = await client.shortcuts.resolve(
"analyst",
context={"industry": "banking", "task": "credit risk"}
)
Task Overrideβ
Override the default task template when invoking via shortcut:
response = await client.shortcut(
"bank credit-analyst",
task="Analyze credit risk for a $500K commercial loan application"
)
Searching Shortcutsβ
Search across all modules for agents matching a keyword:
results = await client.shortcuts.list(search="risk")
for s in results:
print(f"{s.pattern}: {s.description}")
# bank risk-manager: Portfolio-level risk assessment
# insurance risk-assessor: Insurance risk evaluation
# invest risk-analyst: Investment risk analysis
Best Practicesβ
- Use specific shortcuts --
"bank credit-analyst"is better than"analyst" - Cache resolutions -- If calling the same shortcut repeatedly, resolve once and reuse the agent ID
- Handle not-found gracefully -- Always catch
ShortcutNotFoundErrorand show suggestions to users - Stream for long responses -- Use
shortcut_stream()for agent tasks that produce lengthy output
Next Stepsβ
- SDK Getting Started -- Install and configure the SDK
- Industry Module Guides -- Explore domain-specific agents
- Python SDK Reference -- Full Python API docs
- TypeScript SDK Reference -- Full TypeScript API docs