Cadasto
- 15 skills
- 0 followers
- 9 hours ago last updated
- ▌ Go Coding · cadastoGo coding-standards router — Go 1.26.4+ (1.27 supported, its additions flagged as hints), golangci-lint v2. This skill should be used when a Go task spans several areas, is unspecified, or the question is which tool or standard applies — it names the deterministic tool to run, then the focused skill that owns the topic (go-errors, go-concurrency, go-testing, go-idioms, go-layout, go-lint-setup). Loading the router alone does not apply the standards — load the skill it names next. For one already-identified topic, load that skill directly. Go only; not for business rules.
- ▌ Go Errors · cadastoIdiomatic Go error handling. This skill should be used when the user writes, reviews, or debugs Go error code — wrapping with `%w`, `errors.Is`/`errors.AsType`, sentinel vs typed errors, `errors.Join`, an unchecked `Close`, when panic is legitimate, `Must` helpers, enum-switch dispatch defaults, keeping payload values out of boundary errors and logs, or chasing a swallowed or context-losing error. Pair with the `errorlint` linter. Go only.
- ▌ Go Idioms · cadastoModern idiomatic Go (`modernize`) — Go 1.26+, 1.27 additions noted. This skill should be used when a diff contains a rewritable construct, when the user asks to modernize Go or run `go fix`, or asks which fixer owns a rewrite — range-over-int, `min`/`max`, `slices`/`maps`, `strings.Cut`, `any`, iterators, `omitzero`, `os.Root`, `new(expr)`, `errors.AsType`, and Go 1.27's `atomictypes`, `embedlit`, `slicesbackward`, `unsafefuncs` — rewrites go to `go fix ./...` or `golangci-lint --enable-only=modernize`, a nested `:=` that shadows `err` to the opt-in `shadow` analyzer, a redundant `break` in a `switch` to staticcheck S1023. Not for linter configuration (go-lint-setup). Go only.
- ▌ Go Layout · cadastoGo project layout, package design and API surface. This skill should be used when the user creates a package, adds or renames an exported identifier, decides between cmd/ and internal/, writes a doc comment on an API, or reviews a diff that changes a public type or signature — also import grouping and blank or dot imports, struct literals of foreign types, receiver naming, initialisms, in-band errors, util/common grab-bags, and hexagonal/DDD ceremony. Pair with revive and `go vet` (composites). Not for error handling (go-errors) or tests (go-testing).
- ▌ Go Testing · cadastoIdiomatic Go testing. This skill should be used when the user writes or reviews Go tests, benchmarks or fuzz targets — any _test.go file, table-driven `t.Run`, a can-fail control proving a guard is mutation-detectable, `t.Parallel` and what cannot run under it, `t.Context`, `t.TempDir` vs `t.ArtifactDir`, `testing.B.Loop`, `Example` functions with `// Output:`, stable comparisons of serialised or map-derived output, `testing/synctest` for time and concurrency, the race detector, goroutine-leak checks, golden files, or failure messages that diagnose. Pair with `go test -race`. Go only; error wrapping belongs to go-errors.
- ▌ Go Lint Setup · cadastoScaffold, adopt, or debug the golangci-lint v2 config in a Go repo. This skill should be used when the user runs `/go-lint-setup`, asks to "set up", "scaffold", "add" or "bootstrap" golangci-lint or a `.golangci.yml`, or asks why golangci-lint v2 rejects a config, how to migrate a v1 config, which linters the default set enables, how to adopt modernize/errorlint in an existing repo, what `golangci-lint fmt` does, how to write a `linters.exclusions` rule, or how to suppress a finding with `//nolint`. Writes the reference v2 config (modernize + stack linters); never overwrites an existing one unprompted. Go only.
- ▌ Go Concurrency · cadastoIdiomatic, leak-free Go concurrency. This skill should be used when a diff or question contains go func, chan, select, sync.WaitGroup/Mutex/Once, atomic, errgroup, context.WithCancel/Timeout/Cause, a retry or backoff loop, a worker pool, per-request cancellation, or a Close on a goroutine-owned resource — goroutine lifetime and leaks, context propagation and cancel causes, work outliving a request, typed atomics, mutex misuse, data races. Pair with go test -race and goleak. Time-dependent tests belong to go-testing (synctest). Go only.
- ▌ Aql Authoring · cadastoThis skill should be used when the user asks to "write an AQL query", "optimize an AQL query", "review AQL", or "query openEHR data" — the multi-step authoring/optimization workflow for AQL (Archetype Query Language) over openEHR clinical data. For a one-off explanation of an existing query or a single AQL keyword/operator (no authoring), the `/openehr-explain` command suffices.
- ▌ Semantic Diff · cadasto bundleThis skill should be used when the user asks to "diff two archetypes", "compare two templates", "what changed between these two versions", "is this a patch, minor or major bump?", "how compatible are these two artefacts?", or invokes `/semantic-diff`. Auto-detects archetype vs template (any serialisation) and version vs sibling comparison, then reports a version-bump verdict (rule G1) or a compatibility report with a path-compatibility table. Not a textual/git diff; to review or fix a single artefact, use the `archetype-authoring` or `template-authoring` skill.
- ▌ Archetype Lint · cadastoThis skill should be used when the user asks to "lint an archetype", "validate an archetype", "check archetype compliance", "check archetype rules compliance", or "run archetype rules". Applies 24 normative lint rules with ERROR/WARNING/INFO severity. Supports STRICT and PERMISSIVE modes. Reports violations only — it does not modify files; to lint *and* remediate, use the `archetype-authoring` skill. Auto-invoked on lint/validate intent, and also directly invocable as `/archetype-lint <file or id> [strict]`.
- ▌ Openehr Assistant · cadasto bundleThis skill should be used when a conversation touches openEHR outside a task owned by a dedicated skill — e.g. "what is an archetype?", "how do openEHR templates work?", "which composition category fits this data?", "find me a guide on X", "where do I start with openEHR modeling?" — or names openEHR concepts (ADL, CKM, RM types, OPT, terminology bindings, CGEM). Provides general openEHR awareness, guide browsing (`guide_search` / `guide_get`), clinical modeling guidance, and tool/skill routing. Not for focused tasks owned by a dedicated skill — archetype authoring/linting, template authoring, composition building, AQL authoring, artefact diffing, or demographic modeling — route those to the matching skill; this skill is the awareness and routing layer.
- ▌ Template Authoring · cadasto bundleThis skill should be used when the user asks to "create a template", "design a template", "constrain archetypes into a template", "review a template", "categorise a dataset with CGEM", "should this be persistent, episodic or event?", "split this form across compositions", "sketch a template from this form / which archetypes does this form need", or "work with OET / .t.json / OPT / web-template files" — OET authoring, constraint review, the form → template-sketch inverse workflow, and reading the tool-generated serialisations. Use `/ckm-search` to find existing CKM templates and `/openehr-explain` to explain one; this skill is for authoring and constraining new OET designs.
- ▌ Archetype Authoring · cadasto bundleThis skill should be used when the user asks to "create", "edit", "specialize", "review / remediate", "write the rationale for", "translate / localise", or "fix the ADL syntax of" an openEHR archetype (including "this archetype won't parse / won't validate"), or to import a CKM archetype into the workspace for reuse. It covers the full author → review (lint → fix → re-lint) → rationale → translate lifecycle. To merely explain an existing archetype with no edits, use `/openehr-explain` instead.
- ▌ Composition Builder · cadastoThis skill should be used when the user asks to "build a composition", "create a composition", "validate a composition", "convert a composition", or "generate FLAT/STRUCTURED/CANONICAL format". Covers building openEHR compositions in all simplified formats and guiding their validation and format conversion (against a target template; there is no automated validator/converter tool). Also handles quick format explanations and single-payload sketches directly. For designing the template itself (OET/OPT), use `template-authoring`; this skill produces runtime data instances against an existing template.
- ▌ Demographic Modeling · cadastoThis skill should be used when the user asks to "design a demographic model", "model a person/organisation/role", "design party relationships", "plan identity structures", or "work with demographic archetypes". Covers designing openEHR demographic models using the PARTY hierarchy, roles, capabilities, relationships, and identity patterns. For clinical EHR archetypes (OBSERVATION/EVALUATION/etc.) use `archetype-authoring`; for a one-off lookup of a demographic RM type with no design work, `/openehr-explain` suffices. This skill owns the demographic PARTY model.