executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
appfolio-prod-checklistProduction readiness checklist for AppFolio integrations. Trigger: "appfolio production checklist".
Independent GitHub snapshot · Automated classification · Original documentation governs
name: appfolio-prod-checklist description: 'Production readiness checklist for AppFolio integrations.
Trigger: "appfolio production checklist".
' allowed-tools: Read, Write, Edit, Bash(npm:), Bash(curl:), Grep version: 1.5.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
AppFolio manages properties, tenants, leases, and work orders for real estate operations. A production integration handles sensitive tenant PII, financial transactions, and maintenance workflows. Failures here mean missed rent collections, unprocessed work orders, or tenant data exposure under CCPA. This checklist ensures your AppFolio API integration is resilient, compliant, and observable.
APPFOLIO_API_KEY stored in secrets manager (not environment files)async function checkAppFolioReadiness(): Promise<void> {
const checks: { name: string; pass: boolean; detail: string }[] = [];
const client = createVerifiedAppFolioClient(); // contract-bound client from appfolio-security-basics
// API connectivity
try {
const res = await client.get('/properties?limit=1');
checks.push({ name: 'API Connectivity', pass: res.status >= 200 && res.status < 300, detail: `HTTP ${res.status}` });
} catch (e: any) { checks.push({ name: 'API Connectivity', pass: false, detail: e.message }); }
// Client construction proves the managed credential and provider contract are available.
checks.push({ name: 'Verified client configuration', pass: true, detail: 'Loaded from managed configuration' });
// Work order endpoint
try {
const res = await client.get('/work_orders?limit=1');
checks.push({ name: 'Work Orders', pass: res.status >= 200 && res.status < 300, detail: `HTTP ${res.status}` });
} catch (e: any) { checks.push({ name: 'Work Orders', pass: false, detail: e.message }); }
for (const c of checks) console.log(`[${c.pass ? 'PASS' : 'FAIL'}] ${c.name}: ${c.detail}`);
}
checkAppFolioReadiness();
| Check | Risk if Skipped | Priority |
|---|---|---|
| API key rotation | Expired keys halt property sync | P1 |
| Payment sync failure | Missed rent collections | P1 |
| Tenant PII exposure | CCPA violation, legal liability | P1 |
| Work order duplication | Duplicate maintenance dispatch | P2 |
| Rate limit handling | 429 errors during bulk property import | P3 |
For a work-order integration release, run the checklist first against a synthetic staging fixture, then use the managed production-shaped client for a single authorized safe read. Confirm the alert route, PII redaction, and idempotency/reconciliation controls while all writes remain disabled. If a credential, endpoint contract, readiness check, or rollback exercise cannot be verified, declare no-go, retain the previous revision, and have the assigned owner remediate before a new rehearsal.
See appfolio-security-basics for tenant data protection and access control.