writing-skills — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited writing-skills (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Read the full guide at docs/published/handbook/engineering/ai/writing-skills.md.
# 1. Scaffold
hogli init:skill
# 2. Write your skill in products/{product}/skills/{skill-name}/SKILL.md
# 3. Lint
hogli lint:skills
# 4. Build to verify
hogli build:skills
# 5. Test locally with PostHog Code or a coding agent
hogli sync:skill -- --name <skill-name>
# 6. Delete the test skill (optional)
hogli unsync:skill -- --name <skill-name>Distribution is automatic after merge — CI publishes to PostHog/skills.
When new functionality is added to a product and agents need to know how to work with it. A skill is not about what tools exist (that's the MCP server) — it's about how an experienced person would approach a job using those tools.
Ask: "If a customer asked an agent to do X with my feature, would the agent know the right approach?" If not, write a skill.
analyzing-llm-traces, not llm-analytics). Never prefix with posthog-*.SKILL.md entry point + references/ for detailed content. Keep SKILL.md under 500 lines.name and description are required.products/{product}/skills/{skill-name}/
SKILL.md # entry point (required)
references/ # optional
guidelines.md
models-foo.md
example-bar.md.j2 # Jinja2 template, rendered at build time
scripts/ # optional
setup.shOnly references/ and scripts/ subdirectories are collected. Others are ignored.
Files ending in .j2 are rendered with Jinja2 at build time by products/posthog_ai/scripts/build_skills.py. Extend the build pipeline so the monorepo stays the source of truth — when domain knowledge lives in code (Pydantic models, query runners, function registries), add a template function rather than duplicating it as static markdown that drifts.
Available functions:
pydantic_schema("dotted.path.to.Model") — renders a Pydantic model's JSON Schemarender_hogql_example({"kind": "TrendsQuery", ...}) — renders a query spec to HogQL SQLhogql_functions() — returns all available HogQL function namesquerying-posthog-data.md and generated .md.j2 contentproducts/posthog_ai/skills/querying-posthog-data/SKILL.mdllm-analyticsAn umbrella skill covering traces, experiments, evaluations, cost tracking, prompt management. Too broad — agents can't determine when to activate it. Break into focused skills instead.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.