Read and update your Fons profile, company, product, metrics and data room from the terminal. OAuth in the browser; no token ever pasted.
Fons CLI exposes 8 tools with basic descriptions but critical gaps in schema documentation and parameter clarity. Tool names are action-oriented (login, logout, profile get/set, connect, disconnect) but descriptions are terse (10-50 chars for most tools). Input schemas are partially visible in the source but lack formal JSON Schema type declarations and descriptions for most parameters. The profile set tool has 18 parameters with minimal guidance on format, constraints, or mutual exclusivity. No output schemas are documented. Error handling is absent from tool definitions. Security concerns: login stores tokens locally; no mention of secret injection or permission gates.
Print a browser link to verify an account.
List verified connections (✓).
Remove a verified connection.
Authorize in the browser and store a token.
Remove the stored token.
Print your profile.
Update profile fields (scalars + --*-json for structured fields: current-role, job-history, links, faq, certifications, field-visibility).
profile set has 18 parameters with no type definitions, format constraints, or mutual exclusivity documentation. Parameters like 'current-role-json', 'job-history-json' expect JSON strings but lack validation guidance or examples of valid structures.
No output schemas documented for any tool. LLMs cannot infer what fields to expect from profile get, connections, or whoami responses, forcing them to guess at downstream field names.
Tool descriptions are under 50 characters for 6 of 8 tools (e.g., 'Show which account you're connected as' for whoami).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Show which account you're connected as.
login tool stores tokens locally without documented secret injection pattern. No mention of how tokens are protected, rotated, or revoked. Agents may log or expose tokens in traces.
No error handling guidance in tool definitions. If login fails (invalid base URL, network error, OAuth timeout), LLMs have no recovery path. No distinction between retryable and fatal errors.