CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

setting-up-a-custom-rest-source

Connect an arbitrary REST API to the PostHog data warehouse as a Custom source by authoring a JSON manifest, with no per-source code. Use when the user points at an API that has no built-in PostHog connector — "import data from this REST API", "sync my internal API", "connect this API from its docs", "build a custom data warehouse source" — and gives a docs URL or a natural-language description of the endpoints. Walks through drafting the RESTAPIConfig manifest (auth — bearer, API key, HTTP basic, or OAuth2 client credentials / refresh token — pagination, record path, incremental cursor, parent/child fan-out), validating it, test-reading live rows to verify the field mappings, and creating the source. If the API already has a native PostHog connector, use setting-up-a-data-warehouse-source instead — this skill checks the connector registry first and only handles APIs with no native connector.

73

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

—

The risk profile of this skill

SKILL.md
Quality
Evals
Security

Quality

Content

85%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-sequenced, highly actionable workflow with explicit validation and feedback loops, written concisely for a Claude that does not know PostHog specifics. Its main defect is a missing critical reference file that the body repeatedly depends on for drafting the manifest.

Suggestions

Ship references/manifest-reference.md in the bundle — the body treats it as 'the full RESTAPIConfig field reference' and instructs Claude to draft from it rather than guess field names, so its absence breaks the core drafting step.

Until the reference exists, inline a compact auth/paginator/cursor quick-reference table in SKILL.md so manifest drafting can proceed without the external file.

State the auth-payload-key rule once (e.g. in the Available tools or grammar section) and back-reference it from Steps 3–5 instead of restating 'the auth_token key varies by auth type' three times.

DimensionReasoningScore

Conciseness

Dense and PostHog-specific (RESTAPIConfig, auth payload keys, alpha caps) without explaining basics Claude already knows, but the auth-payload-key caveat is restated across Steps 3–5 and secrets handling is repeated — minor trimming possible.

4 / 5

Actionability

Provides a concrete JSON skeleton, exact tool names, exact call payloads with field names (e.g. { source_type: "Custom", manifest_json, auth_token }), and example error messages — copy-paste ready for the common cases.

5 / 5

Workflow Clarity

Steps 0–5 are clearly sequenced with explicit validation (Step 3 db-schema) and feedback loops ("Loop here until it validates", "Iterate Steps 2–4 until the sample looks right") plus a guard check in Step 0.

5 / 5

Progressive Disclosure

The body is structured as an overview pointing one level deep to references/manifest-reference.md, but that file is absent from the bundle, leaving the central drafting reference dangling and navigation broken.

3 / 5

Total

17

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, third-person description that concretely states what the skill does and when to use it, with natural quoted trigger phrases and explicit disambiguation against the native-connector skill. No first/second-person voice or vague fluff.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — authoring a JSON manifest, validating it, test-reading live rows, and creating the source — and enumerates auth types, pagination, record path, incremental cursor, and parent/child fan-out for comprehensive coverage.

5 / 5

Completeness

Explicitly answers both what (connect an arbitrary REST API as a Custom source via a JSON manifest, no per-source code) and when ("Use when the user points at an API that has no built-in PostHog connector") with concrete trigger phrases.

5 / 5

Trigger Term Quality

Quotes several natural phrases a user would actually say — "import data from this REST API", "sync my internal API", "connect this API from its docs", "build a custom data warehouse source" — giving comprehensive natural-term coverage.

5 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (APIs with no built-in connector) and actively disambiguates from the native-connector skill ("If the API already has a native PostHog connector, use setting-up-a-data-warehouse-source instead"), minimizing conflict risk.

5 / 5

Total

20

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 2 missing

Warning

referenced_paths_exist

Referenced path issues: 4 missing

Warning

Total

14

/

16

Passed

Repository

PostHog/posthog

Path

products/warehouse_sources/skills/setting-up-a-custom-rest-source/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.