Agent skill

Define Domains

by PINA-org in PINA-org/PINA

Create and manipulate domains for PINA physics-driven problems.

MITAuto-check passedAI & LLM Engineering

Install Define Domains

skills CLI
$ npx skills add PINA-org/PINA --skill define-domains -a claude-code

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

GitHub CLI
$ gh skill install PINA-org/PINA define-domains --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/PINA-org/PINA.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/define-domains .claude/skills/define-domains && 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
define-domains
GitHub stars
798
Token cost
~1.1k tokens
SKILL.md length
268 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Create and manipulate domains for PINA physics-driven problems.

  • Works in 3 steps: Create domains → Domain methods for problem setup → Discretise domains (sampling)
  • Tasks that involve Deep learning
  • SKILL.md covers Step 1 — Create domains, Step 2 — Domain methods for…, Step 3 — Discretise domains… and Checklist
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Define Domains is an agent skill from PINA-org/PINA. Create and manipulate domains for PINA physics-driven problems. Covers domain types (Cartesian, Ellipsoid, Simplex), set operations, partial/update methods, and domain discretisation.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: opencode, codex, claude

It sits in AI & LLM Engineering, covering Deep learning. The repository describes itself as: Physics-Informed Neural networks for Advanced modeling. The licence is MIT.

When your agent uses it

  • Tasks that involve Deep learning

Example prompts

  • “/define-domains”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): opencode, codex, claude

Workflow steps

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

  1. Create domains
  2. Domain methods for problem setup
  3. Discretise domains (sampling)

What it can do on your machine

Read from SKILL.md and the folder at commit 0cd8afb. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

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

  • Network

    No URLs in SKILL.md.

    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.

  • Compatibility

    opencode, codex, claude

    From compatibility in the SKILL.md frontmatter.

Context cost

Define Domains loads about 1.1k tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 268 words of instructions outside code blocks.

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

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 PINA-org/PINA at commit 0cd8afb, republished under its MIT licence (© PINA-org). 268 words, ~1,072 tokens.

Download SKILL.mdSave it as .claude/skills/define-domains/SKILL.md (or your agent's skills folder).
name
define-domains
description
Create and manipulate domains for PINA physics-driven problems. Covers domain types (Cartesian, Ellipsoid, Simplex), set operations, partial/update methods, and domain discretisation.
compatibility
opencode, codex, claude
license
MIT
metadata.audience
users
metadata.workflow
problem-creation

Define Domains for a PINA Problem

[!IMPORTANT] Read RULES.md before using this skill — it applies to all skills. This is a sub-skill of create-problem. Load the entry-point skill first.

Use this skill to create spatial, temporal, and parameter domains, and to discretise them for training.

Step 1 — Create domains

For each domain type, ask:

What are the variable names and their ranges?

If the user does not specify a domain, ask for:

  1. Variable name (e.g. x)
  2. Lower bound (e.g. 0)
  3. Upper bound (e.g. 1)
Domain types available
python
from pina.domain import CartesianDomain, EllipsoidDomain, SimplexDomain
Domain typeDescriptionExample
CartesianDomainHyperrectangle (most common)CartesianDomain({"x": [0, 1], "y": [0, 1]})
EllipsoidDomainHyperellipsoidEllipsoidDomain({"x": [0, 1], "y": [0, 1]})
SimplexDomainSimplex defined by verticesSimplexDomain(vertices=[...])

CartesianDomain supports sampling modes: random, grid, chebyshev, latin/lh.

Set operations on domains
python
from pina.domain import Union, Intersection, Difference, Exclusion

combined = Union(domain_a, domain_b)
overlap = Intersection(domain_a, domain_b)
subtracted = Difference(domain_a, domain_b)
excluded = Exclusion(domain_a, domain_b)

Step 2 — Domain methods for problem setup

partial() — extract boundary

Creates a sub-domain representing the boundary of the parent domain:

python
spatial_domain = CartesianDomain({"x": [0, 1], "y": [0, 1]})
boundary = spatial_domain.partial()  # boundary of the square
update() — combine domains (space + time)

Creates the Cartesian product of two domains. Essential for space-time problems:

python
spatial_domain = CartesianDomain({"x": [-1, 1]})
temporal_domain = CartesianDomain({"t": [0, 1]})

interior = spatial_domain.update(temporal_domain)
# Equivalent to CartesianDomain({"x": [-1, 1], "t": [0, 1]})

Common patterns:

python
domains = {
    "D": spatial_domain.update(temporal_domain),   # space-time interior
    "ic": spatial_domain.update(CartesianDomain({"t": 0})),  # initial condition
    "boundary": spatial_domain.partial().update(temporal_domain),  # moving boundary
}

Step 3 — Discretise domains (sampling)

After the problem class is fully defined, sample points from each domain:

python
problem.discretise_domain(n=5000, mode="random", domains=["D"])
problem.discretise_domain(n=500, mode="random", domains=["boundary"])
ModeDescription
"random"Uniform random sampling (default)
"latin"/"lh"Latin hypercube sampling
"grid"Regular grid points
"chebyshev"Chebyshev nodes (good for polynomials)

After all domains are discretised:

python
problem.move_discretisation_into_conditions()
assert problem.are_all_domains_discretised

Checklist

  • All required domains are defined (spatial_domain, temporal_domain, parameter_domain, or unknown_parameter_domain as appropriate)
  • domains dict contains a key for every domain referenced in conditions
  • For space-time problems: spatial_domain.update(temporal_domain) used to build the interior domain
  • For boundary conditions: spatial_domain.partial() used correctly
  • problem.discretise_domain(n=..., mode=..., domains=...) called for each physics domain
  • problem.move_discretisation_into_conditions() called before training
  • problem.are_all_domains_discretised is True after discretisation

© PINA-org, MIT. 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 .opencode/skills/define-domains of PINA-org/PINA.

Open the folder on GitHubat commit 0cd8afb

Compare with similar skills

Define Domains 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.

Define Domains compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Define Domains this skillPINA-org/PINA798—~1.1kAutomated safety check: PassMIT
Add Uint Supportpytorch/pytorch104k2 repos~2.3kAutomated safety check: PassCustom licence
Segment Anything Model GuideOrchestra-Research/AI-Research-SKILLs13k8 repos~3.3kAutomated safety check: PassMIT
Add Oponnx/onnx22k—~1.2kAutomated safety check: PassApache-2.0
CLIP Image-Text MatchingOrchestra-Research/AI-Research-SKILLs13k7 repos~1.7kAutomated safety check: PassMIT
Add Function Bodyonnx/onnx22k—~1.1kAutomated safety check: PassApache-2.0

Similar skills

  • Add Uint Support

    pytorch/pytorch

    Add unsigned integer (uint) type support to PyTorch operators by updating ATDISPATCH macros.

    104k GitHub starsUsed in 2 repos~2.3k tokens
    AI & LLM EngineeringAuto-check passed
  • Segment Anything Model Guide

    Orchestra-Research/AI-Research-SKILLs

    Guide to using Meta's Segment Anything Model for zero-shot image segmentation with point, box or mask prompts, or automatic mask generation.

    13k GitHub starsUsed in 8 repos~3.3k tokens
    AI & LLM EngineeringAuto-check passed
  • Add Op

    onnx/onnx

    Add a new ONNX operator or update an existing operator to a new opset version.

    22k GitHub stars~1.2k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • CLIP Image-Text Matching

    Orchestra-Research/AI-Research-SKILLs

    Explains OpenAI's CLIP model for zero-shot image classification, image-text similarity, semantic image search and content moderation, with install steps and code patterns.

    13k GitHub starsUsed in 7 repos~1.7k tokens
    AI & LLM EngineeringAuto-check passed
  • Add a function body definition to an ONNX operator, defining how it decomposes into simpler ops.

    22k GitHub stars~1.1k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Paddle Design Distributed

    PaddlePaddle/Paddle

    A skill your agent uses when working with Paddle's distributed training system: understanding parallelism strategies (DP, ZeRO, TP, PP, SP), semi-automatic parallel with ProcessMesh + shardtensor…

    24k GitHub stars~660 tokensUpdated today
    AI & LLM EngineeringAuto-check passed

More from PINA-org/PINA

All 10 skills in this repo
  • Create Skill

    PINA-org/PINA

    Create, modify, and improve PINA skills. An agent skill from PINA-org/PINA.

    798 GitHub stars~1.8k tokensUpdated 4 days ago
    Auto-check passed
  • Pina Workflow

    PINA-org/PINA

    Orchestrates a complete session from problem definition through trained solver.

    798 GitHub stars~1.1k tokensUpdated 4 days ago
    Auto-check passed
  • Select Model

    PINA-org/PINA

    Guides users through selecting, configuring, or creating a PyTorch model for a PINA problem.

    798 GitHub stars~2.4k tokensUpdated 4 days ago
    Auto-check passed
  • Select Solver

    PINA-org/PINA

    Guides users through selecting the right PINA solver for their problem, or creating a custom solver when no built-in fits.

    798 GitHub stars~2.9k tokensUpdated 4 days ago
    Auto-check passed
  • Select Trainer

    PINA-org/PINA

    Guides users through configuring the PINA Trainer for solver training, including batching strategy, data splitting, and Lightning options.

    798 GitHub stars~1.3k tokensUpdated 4 days ago
    Auto-check passed
  • Skill Sync Checker

    PINA-org/PINA

    Audits SKILL.md files in this repo's skills directory for references to functions, classes, or modules (mentioned by name in prose, e.g.

    798 GitHub stars~1.5k tokensUpdated 4 days ago
    Auto-check passed

Questions about Define Domains

What does Define Domains do?

Create and manipulate domains for PINA physics-driven problems. Define Domains is an agent skill from PINA-org/PINA. Create and manipulate domains for PINA physics-driven problems.

When should I use Define Domains?

Define Domains fits situations like: tasks that involve Deep learning.

How do I install Define Domains in Claude Code?

Run `npx skills add PINA-org/PINA --skill define-domains -a claude-code`. Or copy the skill folder (.opencode/skills/define-domains in PINA-org/PINA) into .claude/skills/define-domains in your project. Claude Code loads it when a task matches its description.

How do I install Define Domains in Codex?

Run `npx skills add PINA-org/PINA --skill define-domains -a codex`. Or copy the skill folder (.opencode/skills/define-domains in PINA-org/PINA) into .agents/skills/define-domains in your project. Codex loads it when a task matches its description.

Can I use Define Domains 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 PINA-org/PINA --skill define-domains -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/define-domains, .gemini/skills/define-domains, .github/skills/define-domains and .opencode/skills/define-domains in your project.

What does Define Domains need to run?

SKILL.md names no scripts, command-line tools or credentials: Define Domains is instructions for the agent only. Our summary lists: Python 3. Compatibility (from SKILL.md): opencode, codex, claude.

Does Define Domains access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Define Domains 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 Define Domains use?

Define Domains is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Define Domains use?

About 1.1k tokens (SKILL.md is roughly 4.3k 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 Define Domains?

Skills that share tags, products or a category with Define Domains: Add Uint Support (pytorch/pytorch, 104k stars), Segment Anything Model Guide (Orchestra-Research/AI-Research-SKILLs, 13k stars), Add Op (onnx/onnx, 22k stars) and CLIP Image-Text Matching (Orchestra-Research/AI-Research-SKILLs, 13k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Define Domains?

PINA-org (a GitHub organization) maintains it in PINA-org/PINA, which has 798 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 6, 2026.

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