ato_readiness
Score your system against FedRAMP/DoD ATO requirements to identify critical gaps, estimate timeline, and get prioritized actions.
Instructions
Score a system description against FedRAMP/DoD ATO requirements. Returns readiness score, critical gaps, estimated timeline, and prioritized next actions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| systemDescription | Yes | Describe the system | |
| azureServices | Yes | Azure services in scope | |
| targetAuthorization | Yes | Target authorization level | |
| currentMaturity | Yes | Current compliance maturity | |
| existingDocumentation | No | Existing docs e.g. ["SSP draft","PIA","FIPS-199"] |
Implementation Reference
- The main handler function handleAtoReadiness that executes the tool logic: takes args, validates via Zod schema, calls Anthropic API with a specialized ATO readiness system prompt, and returns the assessment text.
export async function handleAtoReadiness(args: unknown): Promise<string> { return runTool('ato_readiness', args, Schema, async ({ systemDescription, azureServices, targetAuthorization, currentMaturity, existingDocumentation }) => { const response = await anthropic.messages.create({ model: MODEL, max_tokens: getTokenBudget('ato_readiness'), system: ATO_SYSTEM, messages: [ { role: 'user', content: `Assess ATO readiness for this system: **Target Authorization:** ${targetAuthorization} **Current Maturity:** ${currentMaturity} **Azure Services:** ${azureServices.join(', ')} **Existing Documentation:** ${(existingDocumentation ?? []).length > 0 ? (existingDocumentation ?? []).join(', ') : 'None'} **System Description:** ${systemDescription} Provide the complete readiness assessment including the brutally honest AO kickoff risks.`, }, ], }); return response.content[0].type === 'text' ? response.content[0].text : ''; }); } - Zod schema (Schema) for validating inputs: systemDescription, azureServices, targetAuthorization, currentMaturity, existingDocumentation.
const Schema = z.object({ systemDescription: z.string().max(2000), azureServices: z.array(z.string().max(500)).max(50), targetAuthorization: z.enum(['fedramp-moderate', 'fedramp-high', 'dod-il4', 'dod-il5', 'dod-il6']), currentMaturity: z.enum(['initial', 'developing', 'defined', 'managed']), existingDocumentation: z.array(z.string().max(500)).default([]), }); - atoReadinessTool definition with name 'ato_readiness', description, and JSON inputSchema (type, properties, required fields).
export const atoReadinessTool = { name: 'ato_readiness', description: 'Score a system description against FedRAMP/DoD ATO requirements. Returns readiness score, critical gaps, estimated timeline, and prioritized next actions.', inputSchema: { type: 'object' as const, properties: { systemDescription: { type: 'string', description: 'Describe the system' }, azureServices: { type: 'array', items: { type: 'string' }, description: 'Azure services in scope', }, targetAuthorization: { type: 'string', enum: ['fedramp-moderate', 'fedramp-high', 'dod-il4', 'dod-il5', 'dod-il6'], description: 'Target authorization level', }, currentMaturity: { type: 'string', enum: ['initial', 'developing', 'defined', 'managed'], description: 'Current compliance maturity', }, existingDocumentation: { type: 'array', items: { type: 'string' }, description: 'Existing docs e.g. ["SSP draft","PIA","FIPS-199"]', }, }, required: ['systemDescription', 'azureServices', 'targetAuthorization', 'currentMaturity'], }, }; - src/tools/index.ts:67-67 (registration)Case branch in handleToolCall that routes the 'ato_readiness' tool name to handleAtoReadiness(args).
case 'ato_readiness': return handleAtoReadiness(args); - src/utils/tool-runner.ts:17-18 (helper)Token budget configuration for ato_readiness (4096 tokens) in TOKEN_BUDGETS.
ato_readiness: 4096, control_lookup: 4096,