Agent skill

Pathling Fhirpath Review

by aehrc in aehrc/pathling

Review a FHIRPath implementation change in Pathling against a correctness rubric covering collection semantics, empty propagation, column cardinality, type coercion, error-vs-empty behaviour, spec…

Apache-2.0Auto-check passedEducation

Install Pathling Fhirpath Review

skills CLI
$ npx skills add aehrc/pathling --skill pathling-fhirpath-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aehrc/pathling pathling-fhirpath-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aehrc/pathling.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/pathling-fhirpath-review .claude/skills/pathling-fhirpath-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pathling-fhirpath-review
GitHub stars
137
Token cost
~2k tokens
SKILL.md length
1,042 words
Files
1
Skills in repo
25
Repo updated
First seen
Licence
Apache-2.0

At a glance

Review a FHIRPath implementation change in Pathling against a correctness rubric covering collection semantics, empty propagation, column cardinality, type coercion, error-vs-empty behaviour, spec…

  • Works in 10 steps: Collection semantics → Column cardinality → Null versus empty → …
  • Reviewing a branch
  • SKILL.md covers Establish the range, Rubric, Severity and What not to flag, plus 1 more section
  • Calls git

What it does

Pathling Fhirpath Review is an agent skill from aehrc/pathling. Review a FHIRPath implementation change in Pathling against a correctness rubric covering collection semantics, empty propagation, column cardinality, type coercion, error-vs-empty behaviour, spec fidelity, and test coverage. Use this skill when reviewing a branch, diff, or PR that adds or changes a FHIRPath function, operator, or evaluation behaviour, or when the user asks for a correctness review of FHIRPath work. Trigger on phrases like "review this FHIRPath change", "review the diff", "check this…

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Education, covering Quizzes and assessments, Test coverage and Code review. The repository describes itself as: Tools that make it easier to use FHIR and clinical terminology within data analytics, built on Apache Spark. The licence is Apache-2.0.

When your agent uses it

  • Reviewing a branch
  • Changes a FHIRPath function
  • Evaluation behaviour
  • The user asks for a correctness review of FHIRPath work

Example prompts

  • “review this FHIRPath change”
  • “review the diff”
  • “check this implementation”
  • “/pathling-fhirpath-review”

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Collection semantics
  2. Column cardinality
  3. Null versus empty
  4. Type coercion and promotion
  5. Error versus empty
  6. Spec fidelity
  7. Registration and annotations
  8. Project conventions
  9. Test coverage
  10. Exclusion baseline

What it can do on your machine

Read from SKILL.md and the folder at commit 56a3b4a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pathling Fhirpath Review loads about 2k tokens when it runs. Until then it costs about 157 tokens; SKILL.md has 1,042 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~157
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from aehrc/pathling at commit 56a3b4a, republished under its Apache-2.0 licence (© aehrc). 1,042 words, ~2,025 tokens.

Download SKILL.mdSave it as .claude/skills/pathling-fhirpath-review/SKILL.md (or your agent's skills folder).
name
pathling-fhirpath-review
description
Review a FHIRPath implementation change in Pathling against a correctness rubric covering collection semantics, empty propagation, column cardinality, type coercion, error-vs-empty behaviour, spec fidelity, and test coverage. Use this skill when reviewing a branch, diff, or PR that adds or changes a FHIRPath function, operator, or evaluation behaviour, or when the user asks for a correctness review of FHIRPath work. Trigger on phrases like "review this FHIRPath change", "review the diff", "check this implementation", "is this correct", or a review request naming a FHIRPath function or operator.

Pathling FHIRPath review

A correctness rubric for FHIRPath implementation changes. It exists so a reviewer checks the things that actually break in this codebase, rather than producing generic code-review output.

Review is most useful in a fresh context that sees the diff and this rubric but not the reasoning that produced the change. When invoked as part of a larger workflow, dispatch a subagent with the diff range and this rubric rather than reviewing inline.

Establish the range

bash
BASE_SHA=$(git merge-base origin/main HEAD)
git diff --stat $BASE_SHA..HEAD
git diff $BASE_SHA..HEAD

Read the linked issue and the governing spec section before judging behaviour. Use the fhirpath-spec skill for spec lookups — the spec decides, not intuition.

When this rubric is being applied inside a dispatched subagent — the usual case, and what the paragraph above recommends — there is no user to answer a question, so pass --unattended to fhirpath-spec. Without it, a missing reference-implementation pin leaves that skill waiting on an answer that cannot arrive.

Rubric

Work through these in order. The first five are where FHIRPath implementations actually go wrong.

1. Collection semantics

Every FHIRPath expression evaluates to a collection. Check each of the three input shapes is handled as the spec requires:

  • Empty — does {} propagate, or does the spec require a value (count() → 0, empty() → true)? Empty-propagation-by-default is right for most functions and wrong for existence and aggregate functions.
  • Singleton — the common case, usually correct.
  • Multi-item — where a function expects a single item, the spec's singleton evaluation rules apply: one item is used, empty returns empty, and multiple items are an error. Silently taking the first item is a bug.
2. Column cardinality

In the Spark layer a singular FHIR element is a scalar column and a non-singular element is an array column. Code that works on one can fail on the other. Confirm the change handles both, and that tests cover both — a test suite using only literals exercises neither.

3. Null versus empty

Spark nulls and FHIRPath's empty collection are related but not identical. Check that a null column value produces empty rather than propagating a null into a result struct, and that a typed-empty field behaves the same as an absent one where the spec says it should.

4. Type coercion and promotion
  • Integer to Decimal promotion in mixed arithmetic and comparison
  • String conversions that must return empty rather than throw on unparseable input
  • Date/time partial precision: differing precision alone does not make a comparison empty. Components are compared in order, and a difference found before the coarser operand runs out of precision gives a definite answer — @2018-03-01 > @2018-01-01 is true, @2012-01 = @2013 is false. The result is empty only when the precisions differ and the values are equal up to the coarser one, as in @2018-03 > @2018-03-01 or @2012-01 = @2012 — equal values at matching precision are simply equal, so @2012 = @2012 is true. Applies to = as well as </>; both directions of this have caused regressions before
  • Quantity units — calendar durations and UCUM units are not interchangeable above seconds
5. Error versus empty

The spec distinguishes "return empty" from "signal an error", and they are easy to conflate. toInteger() on a non-numeric string returns empty; single() on a multi-item collection errors. Check each failure path against the spec text, and check the tests assert the right one — testEmpty and testError are not interchangeable.

6. Spec fidelity
  • Behaviour matches the spec section, including its examples
  • Javadoc carries an @see link to the governing spec section, as the existing providers do
  • Any deliberate divergence is called out in a comment with its reason, not left silent
7. Registration and annotations
  • @FhirPathFunction on the method; a new provider class also needs a MethodDefinedFunction.mapOf line in StaticFunctionRegistry
  • @SqlOnFhirConformance(Profile.…) where the function maps to a SQL-on-FHIR profile feature — check against sibling functions rather than guessing
  • @Nonnull / @Nullable on parameters, returns, and fields
  • Substantial logic lives in a *Logic helper (as ConversionFunctions delegates to ConversionLogic), not inline in the provider method
Show full SKILL.md (397 more words)Show less
8. Project conventions

Only flag these where they are actually violated — do not restate them as advice.

  • No inner classes, records, or enums; each type gets its own file
  • final on variables, parameters, and methods that do not change
  • Functional style with Optional/Stream over imperative null checks and loops, but broken after 3–4 chained calls for readability
  • Comments are complete sentences ending in a period, explaining intent rather than restating code
  • No System.out / System.err
  • No TODOs
9. Test coverage
  • One @FhirPathTest method per function, in a *DslTest class named by capability — except where the DSL's one-subject-per-method constraint forces a split by subject (e.g. ExistenceFunctionsDslTest.testCount() plus testCountOnFhirResource()); don't flag that as a violation
  • Spec examples present as test cases
  • Both cardinalities covered (scalar field and array field)
  • Empty covered in its distinct forms: {} literal, typed-empty field, computed empty (where(false))
  • Error conditions asserted with testError
  • Tests assert spec-derived expectations, not observed implementation output

See the fhirpath-test-designer skill for the dimension matrix and the DSL surface.

10. Exclusion baseline

If the change implements a feature, the YAML exclusion baseline should have been swept — obsolete exclusions removed, over-broad matchers narrowed, mislabelled types corrected. The build catches exclusions that became obsolete, but not exclusions that are now over-broad. See the pathling-yaml-exclusions skill.

Severity

SeverityMeaning
CriticalWrong results, spec violation, crash, or a regression in existing behaviour
ImportantA real gap that will bite: an unhandled input shape, a missing test for behaviour the change claims to support, an annotation or registration omission
MinorNaming, structure, or convention issues with no behavioural consequence

What not to flag

A reviewer asked to find problems will always find some, and chasing all of them produces defensive over-engineering. Stay on correctness and requirement gaps.

  • Style choices consistent with the surrounding code
  • Speculative generality — "this won't scale to a case nobody has asked for"
  • Performance micro-optimisation without a measurement
  • Requests for comments where the code is already clear
  • Rewrites of untouched code that merely happens to be nearby
  • Anything that does not survive a second read of the cited lines

Output

Report findings grouped by severity, each with a file:line citation, what is wrong, and the input that would demonstrate it. Then a single verdict line:

Ready to merge: Yes | No

State a finding once. If you are unsure whether something is a defect, say so and explain the uncertainty rather than promoting it to a finding or dropping it silently.

© aehrc, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/pathling-fhirpath-review of aehrc/pathling.

Open the folder on GitHubat commit 56a3b4a

Compare with similar skills

Pathling Fhirpath Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pathling Fhirpath Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pathling Fhirpath Review this skillaehrc/pathling137—~2kAutomated safety check: PassApache-2.0
Comment Judgefmflurry/settings-opencode171—~2.5kAutomated safety check: PassMIT
Malloy Reviewmalloydata/publisher116—~2.5kAutomated safety check: PassMIT
Evaluate PR Testsdotnet/maui23k—~2.9kAutomated safety check: PassMIT
Evaluationguanyang/open-agent-hub9772 repos~4.2kAutomated safety check: PassMIT
Code Reviewpolyipseity/obsidian-terminal951—~1.6kAutomated safety check: PassAGPL-3.0

Similar skills

  • Comment Judge

    fmflurry/settings-opencode

    LLM-as-a-judge rubric for code comments (forbidden, false, stale, narration, noise, keep).

    171 GitHub stars~2.5k tokensUpdated 4 days ago
    EducationAuto-check passed
  • Malloy Review

    malloydata/publisher

    Malloy semantic-model code review. An agent skill from malloydata/publisher.

    116 GitHub stars~2.5k tokensUpdated yesterday
    EducationAuto-check passed
  • Official

    Reviews the tests added in a pull request for fix coverage, quality, edge cases and test type, and recommends lighter test types where they would do.

    23k GitHub stars~2.9k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Evaluation

    guanyang/open-agent-hub

    This skill should be used when building agent evaluation systems: deterministic checks, regression suites, multi-dimensional rubrics, quality gates, production monitoring, baseline comparison, and…

    977 GitHub starsUsed in 2 repos~4.2k tokens
    EducationAuto-check passed
  • Code Review

    polyipseity/obsidian-terminal

    A skill your agent uses when reviewing PRs, code changes, or conducting code audits in obsidian-terminal.

    951 GitHub stars~1.6k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Core Components Code Review

    core-ds/core-components

    Review a Pull Request or diff in the @alfalab/core-components UI library — correctness bugs, public API/breaking changes, accessibility, keyboard/focus/pointer interaction, component states…

    137 GitHub stars~5.4k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from aehrc/pathling

All 25 skills in this repo
  • Databricks CLI

    aehrc/pathling

    Expert guidance for using the Databricks CLI to manage Databricks workspaces, clusters, jobs, pipelines, Unity Catalog, SQL warehouses, serving endpoints, secrets, bundles, and all other Databricks…

    137 GitHub stars~2.1k tokensUpdated 3 days ago
    Auto-check passed
  • Fhir API

    aehrc/pathling

    Expert guidance for implementing FHIR RESTful API servers and clients following the HL7 FHIR specification.

    137 GitHub stars~1.5k tokensUpdated 3 days ago
    Auto-check passed
  • Fhir Bulk Data

    aehrc/pathling

    Expert guidance for implementing FHIR Bulk Data Access (Flat FHIR) following the HL7 specification.

    137 GitHub stars~1.8k tokensUpdated 3 days ago
    Auto-check passed
  • Fhir Search Spec

    aehrc/pathling

    FHIR RESTful search specification expert with access to the official HL7 search specification text and the formal SearchParameter registry.

    137 GitHub stars~649 tokensUpdated 3 days ago
    Auto-check passed
  • Design and generate comprehensive FHIRPath test suites using input domain partitioning and Pathling's DSL test framework.

    137 GitHub stars~3.6k tokensUpdated 3 days ago
    Auto-check passed
  • Hapi Fhir Server

    aehrc/pathling

    Expert guidance for implementing FHIR servers using HAPI FHIR Plain Server framework.

    137 GitHub stars~2.6k tokensUpdated 3 days ago
    Auto-check passed

Questions about Pathling Fhirpath Review

What does Pathling Fhirpath Review do?

Review a FHIRPath implementation change in Pathling against a correctness rubric covering collection semantics, empty propagation, column cardinality, type coercion, error-vs-empty behaviour, spec…. Pathling Fhirpath Review is an agent skill from aehrc/pathling. Review a FHIRPath implementation change in Pathling against a correctness rubric covering collection semantics, empty propagation, column cardinality, type coercion, error-vs-empty behaviour, spec fidelity, and test coverage.

When should I use Pathling Fhirpath Review?

Pathling Fhirpath Review fits situations like: reviewing a branch; changes a FHIRPath function; evaluation behaviour; the user asks for a correctness review of FHIRPath work.

How do I install Pathling Fhirpath Review in Claude Code?

Run `npx skills add aehrc/pathling --skill pathling-fhirpath-review -a claude-code`. Or copy the skill folder (.claude/skills/pathling-fhirpath-review in aehrc/pathling) into .claude/skills/pathling-fhirpath-review in your project. Claude Code loads it when a task matches its description.

How do I install Pathling Fhirpath Review in Codex?

Run `npx skills add aehrc/pathling --skill pathling-fhirpath-review -a codex`. Or copy the skill folder (.claude/skills/pathling-fhirpath-review in aehrc/pathling) into .agents/skills/pathling-fhirpath-review in your project. Codex loads it when a task matches its description.

Can I use Pathling Fhirpath Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aehrc/pathling --skill pathling-fhirpath-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pathling-fhirpath-review, .gemini/skills/pathling-fhirpath-review, .github/skills/pathling-fhirpath-review and .opencode/skills/pathling-fhirpath-review in your project.

What does Pathling Fhirpath Review need to run?

Going by SKILL.md and its folder, Pathling Fhirpath Review needs the command-line tools its instructions call (git).

Does Pathling Fhirpath Review access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Pathling Fhirpath Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Pathling Fhirpath Review use?

Pathling Fhirpath Review is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pathling Fhirpath Review use?

About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pathling Fhirpath Review?

Skills that share tags, products or a category with Pathling Fhirpath Review: Comment Judge (fmflurry/settings-opencode, 171 stars), Malloy Review (malloydata/publisher, 116 stars), Evaluate PR Tests (dotnet/maui, 23k stars) and Evaluation (guanyang/open-agent-hub, 977 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pathling Fhirpath Review?

aehrc (a GitHub organization) maintains it in aehrc/pathling, which has 137 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 8, 2026.

Source: aehrc/pathling on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.