FreshBooks integration via Apideck's Accounting unified API — same methods work across every connector in Accounting, switch by changing `serviceId`. Use when the user wants to read, write, or reconcile invoices, bills, payments, ledger accounts, and journal entries in FreshBooks. Routes through Apideck with serviceId "freshbooks".
87
86%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Quality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly identifies the integration target (FreshBooks via Apideck), lists specific accounting objects and operations, and includes an explicit 'Use when' clause with natural trigger terms. The mention of serviceId and the unified API pattern adds helpful context for disambiguation from other Apideck accounting connectors. The description uses proper third-person voice throughout.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: read, write, reconcile invoices, bills, payments, ledger accounts, and journal entries. Also specifies the integration mechanism (Apideck's Accounting unified API) and the serviceId parameter. | 3 / 3 |
Completeness | Clearly answers both 'what' (FreshBooks integration via Apideck's Accounting unified API for invoices, bills, payments, ledger accounts, journal entries) and 'when' (explicit 'Use when the user wants to read, write, or reconcile...' clause with specific triggers). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'FreshBooks', 'invoices', 'bills', 'payments', 'ledger accounts', 'journal entries', 'reconcile', 'Apideck', and 'Accounting'. These cover the main terms a user working with FreshBooks accounting would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive due to the specific mention of 'FreshBooks' and 'serviceId "freshbooks"', clearly distinguishing it from other accounting connectors that might use the same Apideck unified API. The explicit serviceId makes it very unlikely to conflict with similar accounting skills for other platforms. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
72%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-structured connector skill with strong actionability through executable code examples and good progressive disclosure via clear references to SDK skills and specs. Its main weaknesses are moderate verbosity from repeated portability messaging and marketing language, plus a lack of validation/error-handling guidance in workflows. The entity mapping table and coverage highlights are genuinely useful additions.
Suggestions
Remove or consolidate the 'Portable across 34 Accounting connectors' section — the portability point is already made in the intro and the code example adds minimal value beyond what's shown in the minimal example.
Add error handling guidance after the create invoice example (e.g., check response status, handle common FreshBooks-specific errors like invalid customer_id or missing required fields).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill contains some unnecessary verbosity — the 'Portable across 34 Accounting connectors' section repeats the portability message already stated in the intro, and the marketing-style language ('compounding advantage') adds no actionable value. The FreshBooks description paragraph and some connector evangelism could be trimmed. | 2 / 3 |
Actionability | Provides fully executable TypeScript examples for listing and creating invoices, a complete curl command for the Proxy escape hatch, concrete entity mappings, and specific serviceId/auth details. Code is copy-paste ready with clear parameter structures. | 3 / 3 |
Workflow Clarity | The skill covers individual operations well but lacks explicit workflow sequencing for multi-step processes like invoice reconciliation or error handling flows. There are no validation checkpoints or feedback loops for operations like creating invoices (e.g., checking response status, handling failures). | 2 / 3 |
Progressive Disclosure | Excellent structure with a quick facts section, minimal example up front, and clear one-level-deep references to SDK skills, OpenAPI specs, best practices, and connector coverage. The 'See also' section and inline links to sibling connectors and language SDKs are well-signaled. | 3 / 3 |
Total | 10 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_field | 'metadata' should map string keys to string values | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
9e04d86
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.