Agent skill

Composite Mesh

by Cai-aa in Cai-aa/CAE-Agent-Hub

Generate through-thickness mesh for composite curing simulation.

MITAuto-check passed

Install Composite Mesh

skills CLI
$ npx skills add Cai-aa/CAE-Agent-Hub --skill composite-mesh -a claude-code

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

GitHub CLI
$ gh skill install Cai-aa/CAE-Agent-Hub composite-mesh --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/Cai-aa/CAE-Agent-Hub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Skill/abaqus/composite-curing-simulation/modeling/composite-mesh .claude/skills/composite-mesh && 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
composite-mesh
GitHub stars
998
Token cost
~3.5k tokens
SKILL.md length
1,511 words
Files
1
Skills in repo
57
Repo updated
First seen
Licence
MIT

At a glance

Generate through-thickness mesh for composite curing simulation.

  • Works in 5 steps: Parse all elements: Read the *Element,… → Parse all nodes: Read the *Node block to… → Identify surface nodes: Find nodes that… → …
  • Needs C3D8 solid elements
  • SKILL.md covers Element Type, Through-Thickness Direction, 4-Ply Mesh and 8-Ply Mesh, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Composite Mesh is an agent skill from Cai-aa/CAE-Agent-Hub. Generate through-thickness mesh for composite curing simulation. Invoke when user needs C3D8 solid elements, composite mesh, or through-thickness element layout.

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

The licence is MIT.

When your agent uses it

  • Needs C3D8 solid elements
  • Through-thickness element layout

Example prompts

  • “/composite-mesh”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Parse all elements: Read the *Element, type=C3D8 block to get all element
  2. Parse all nodes: Read the *Node block to get all node coordinates.
  3. Identify surface nodes: Find nodes that lie on the outer surface (S1) or inner
  4. Identify surface elements: For each element, check if it has a face (4 nodes)
  5. Build element set: Collect all element IDs that have a face on the target surface.

What it can do on your machine

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

Context cost

Composite Mesh loads about 3.5k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 1,511 words of instructions outside code blocks.

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

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 Cai-aa/CAE-Agent-Hub at commit 194ef49, republished under its MIT licence (© Cai-aa). 1,511 words, ~3,502 tokens.

Download SKILL.mdSave it as .claude/skills/composite-mesh/SKILL.md (or your agent's skills folder).
name
composite-mesh
description
Generate through-thickness mesh for composite curing simulation. Invoke when user needs C3D8 solid elements, composite mesh, or through-thickness element layout.

Composite Through-Thickness Mesh

This skill generates the through-thickness mesh for the composite (P8) part in curing simulation. It covers element type selection, through-thickness discretization, in-plane mesh layout, surface element set identification, and mesh quality considerations.

Element Type

The composite part uses C3D8 elements: 8-node linear brick elements with full integration.

*Element, type=C3D8
1, <n1>, <n2>, <n3>, <n4>, <n5>, <n6>, <n7>, <n8>
Why C3D8 (Not C3D8R)
PropertyC3D8 (Full Integration)C3D8R (Reduced Integration)
Integration pts8 (2x2x2)1 (centroid)
HourglassingNoYes (needs control)
AccuracyHigher for bendingLower for bending
Use caseComposite plies (this model)Tool/mold (this model)

Full integration (C3D8) is preferred for the composite because:

  • Each ply is a single element layer through the thickness, so bending accuracy matters
  • No hourglass control is needed
  • Stress recovery is more accurate at the integration points

The tool/mold part uses C3D8R (reduced integration) because it is a bulk body where hourglassing is less of a concern and computational efficiency matters more.

Through-Thickness Direction

The through-thickness direction is along the X-axis, spanning from X = -1 to X = 0. This means the composite thickness is 1 unit (1 mm in model units) in the X direction.

X = -1.0  +-----------------------------------+
         |  Ply-1 (element layer 1)           |
X = -0.75+-----------------------------------+   (4-ply: 0.25 mm each)
         |  Ply-2 (element layer 2)           |
X = -0.5 +-----------------------------------+
         |  Ply-3 (element layer 3)           |
X = -0.25+-----------------------------------+
         |  Ply-4 (element layer 4)           |
X = 0.0  +-----------------------------------+

The stack direction in *Solid Section, composite is 3, which corresponds to this X-axis through-thickness direction via the orientation definition.

4-Ply Mesh

The 4-ply mesh has 4 elements through the thickness, each 0.25 mm thick (total 1 mm).

Mesh Statistics
PropertyValue
Through-thickness elements4
Ply thickness0.25 mm
Total thickness1.0 mm
In-plane nodes per layer605
Total elements2160
Total nodes3025
Node Layout
  • Through-thickness nodes: 5 (4 elements + 1)
  • In-plane nodes per layer: 605
  • Total nodes: 605 x 5 = 3025
Element Layout
  • In-plane elements per layer: 540 (2160 total / 4 layers)
  • Through-thickness layers: 4
  • Total elements: 540 x 4 = 2160

8-Ply Mesh

The 8-ply mesh has 8 elements through the thickness, each 0.125 mm thick (total 1 mm).

Mesh Statistics
PropertyValue
Through-thickness elements8
Ply thickness0.125 mm
Total thickness1.0 mm
In-plane nodes per layer605
Total elements4320
Total nodes5445
Node Layout
  • Through-thickness nodes: 9 (8 elements + 1)
  • In-plane nodes per layer: 605
  • Total nodes: 605 x 9 = 5445
Element Layout
  • In-plane elements per layer: 540 (4320 total / 8 layers)
  • Through-thickness layers: 8
  • Total elements: 540 x 8 = 4320

In-Plane Mesh

The in-plane mesh is shared between the 4-ply and 8-ply models. Both have 605 nodes per through-thickness layer and 540 elements per through-thickness layer.

In-Plane Layout
PropertyValue
Nodes per layer605
Elements per layer540
ShapeL-bracket
In-plane dimensions100 mm

The in-plane mesh defines the L-bracket shape. The through-thickness discretization (4 or 8 layers) is applied on top of this in-plane mesh by extruding nodes and elements in the X direction.

Element Connectivity Pattern

Each C3D8 element has 8 nodes. The connectivity follows the standard Abaqus brick element node ordering:

        8-------7
       /|      /|
      5-------6 |
      | |     | |
      | 4-----|-3
      |/      |/
      1-------2
Node Ordering Convention
NodePosition
1Bottom face, corner 1
2Bottom face, corner 2
3Bottom face, corner 3
4Bottom face, corner 4
5Top face, corner 1
6Top face, corner 2
7Top face, corner 3
8Top face, corner 4
Through-Thickness Element Assignment

Element N in the through-thickness direction has nodes at two consecutive X-coordinate layers. For the 4-ply mesh:

  • Element layer 1 (Ply-1): nodes at X = -1.0 and X = -0.75
  • Element layer 2 (Ply-2): nodes at X = -0.75 and X = -0.5
  • Element layer 3 (Ply-3): nodes at X = -0.5 and X = -0.25
  • Element layer 4 (Ply-4): nodes at X = -0.25 and X = 0.0

For element N (where N is the global element number), the through-thickness layer is:

python
layer = (N - 1) // in_plane_element_count
# in_plane_element_count = 540 for both 4-ply and 8-ply models
Connectivity Example

For a 4-ply model with 540 in-plane elements per layer:

  • Elements 1-540: layer 0 (Ply-1, X from -1.0 to -0.75)
  • Elements 541-1080: layer 1 (Ply-2, X from -0.75 to -0.5)
  • Elements 1081-1620: layer 2 (Ply-3, X from -0.5 to -0.25)
  • Elements 1621-2160: layer 3 (Ply-4, X from -0.25 to 0.0)

Each element's 8 nodes consist of 4 nodes from the lower X layer and 4 nodes from the upper X layer, with matching in-plane positions.

Surface Element Sets

Two surface element sets are defined for the composite part. These sets identify the elements on the outer and inner surfaces of the L-bracket, which are used for contact and pressure application.

_com-surface_S1 (Outer Surface)
*Elset, elset=_com-surface_S1, internal
<element_numbers>
  • Surface face: S1
  • Location: Outer surface of the composite (facing the mold)
  • Purpose: Contact surface (slave) with the tool's tool-surface
  • Selection rule: Every Nth element in the through-thickness direction at the outer surface face
__PickedSurf337_S2 (Inner Surface)
*Elset, elset=__PickedSurf337_S2, internal
<element_numbers>
  • Surface face: S2
  • Location: Inner surface of the composite (away from the mold)
  • Purpose: Pressure application surface (*Dsload _PickedSurf337, P, 0.6)
  • Selection rule: Every Nth element in the through-thickness direction at the inner surface face
Surface Selection Pattern

For the surface element sets, elements are selected from specific through-thickness positions. The S1 face corresponds to one side of the through-thickness stack, and the S2 face corresponds to the other side.

python
# For a 4-ply model (4 through-thickness layers, 540 elements per layer)
# S1 (outer) elements: layer 0, specific in-plane elements
# S2 (inner) elements: layer 3, specific in-plane elements

# The surface elements are every Nth element where N depends on the
# in-plane mesh pattern at the surface face

How to Identify Surface Elements from Connectivity

To identify which elements belong to the S1 or S2 surface, examine the element connectivity and node coordinates.

Step-by-Step Method
  1. Parse all elements: Read the *Element, type=C3D8 block to get all element connectivities.

  2. Parse all nodes: Read the *Node block to get all node coordinates.

  3. Identify surface nodes: Find nodes that lie on the outer surface (S1) or inner surface (S2) by checking their in-plane coordinates against the bracket boundary.

  4. Identify surface elements: For each element, check if it has a face (4 nodes) that lies entirely on the target surface. The face is identified by the S1 or S2 face label in the C3D8 element convention.

  5. Build element set: Collect all element IDs that have a face on the target surface.

Show full SKILL.md (569 more words)Show less
Python Example
python
def identify_surface_elements(elements, nodes, surface_face='S1'):
    """
    Identify elements on a given surface face.

    Args:
        elements: Dict of {element_id: [node1, ..., node8]}
        nodes: Dict of {node_id: (x, y, z)}
        surface_face: 'S1' (outer) or 'S2' (inner)

    Returns:
        List of element IDs on the surface.
    """
    # C3D8 face definitions: face -> node indices (0-based)
    face_nodes = {
        'S1': [0, 1, 2, 3],  # Bottom face (nodes 1,2,3,4)
        'S2': [4, 5, 6, 7],  # Top face (nodes 5,6,7,8)
    }

    # Determine target X coordinate for the surface
    if surface_face == 'S1':
        target_x = -1.0  # Outer surface (X = -1)
    else:
        target_x = 0.0   # Inner surface (X = 0)

    surface_elements = []
    for elem_id, node_list in elements.items():
        face_idx = face_nodes[surface_face]
        face_node_ids = [node_list[i] for i in face_idx]
        # Check if all face nodes are at the target X coordinate
        all_on_surface = all(
            abs(nodes[nid][0] - target_x) < 1e-6
            for nid in face_node_ids
        )
        if all_on_surface:
            surface_elements.append(elem_id)

    return sorted(surface_elements)
Face Label Reference
FaceNode Indices (0-based)Node Numbers (1-based)Description
S10, 1, 2, 31, 2, 3, 4Bottom face (X = -1)
S24, 5, 6, 75, 6, 7, 8Top face (X = 0)
S30, 1, 5, 41, 2, 6, 5Side face
S41, 2, 6, 52, 3, 7, 6Side face
S52, 3, 7, 63, 4, 8, 7Side face
S63, 0, 4, 74, 1, 5, 8Side face

Note: The exact face-to-node mapping depends on the element node ordering in the INP file. Always verify by checking node coordinates against the expected surface position.

Mesh Quality Considerations for Curing Simulation

Aspect Ratio
  • Through-thickness element size: 0.25 mm (4-ply) or 0.125 mm (8-ply)
  • In-plane element size: Should be comparable to avoid high aspect ratios
  • Maximum aspect ratio: Keep below 10:1 for accurate stress recovery
Through-Thickness Resolution
  • 4 plies: Minimum resolution for capturing ply-level behavior. Each ply is a single element layer, so stress is constant through the ply thickness.
  • 8 plies: Better resolution for capturing through-thickness stress gradients. Each ply is still a single element layer, but the ply thickness is halved.
Contact Surface Quality
  • The S1 surface (outer/contact surface) must have a smooth, continuous element layout with no gaps or overlaps.
  • Element faces on the contact surface should be as uniform as possible to ensure accurate contact pressure distribution.
  • Avoid highly distorted elements on the contact surface, as they can cause contact convergence issues.
Temperature Gradient Resolution
  • During curing, temperature changes from 25C to 180C and back. The through-thickness mesh must be fine enough to capture temperature gradients if they exist.
  • For thin composites (1 mm total thickness), the temperature is approximately uniform through the thickness, so 4 plies may be sufficient.
  • For thicker composites, more through-thickness elements may be needed.
Mesh Regeneration When Changing Ply Count

When changing from 4 plies to 8 plies (or vice versa), the entire through-thickness mesh must be regenerated. This is because:

  1. The number of through-thickness nodes changes (5 for 4-ply, 9 for 8-ply)
  2. The element connectivity changes (different node pairings)
  3. The total node and element counts change (3025/2160 for 4-ply, 5445/4320 for 8-ply)
  4. All assembly-level sets referencing P8 nodes or elements must be updated

Use the merge strategy described in modeling/composite-layup to swap the P8 Part from a pre-built model with the correct mesh.

Common Pitfalls

  1. Element type mismatch: The composite uses C3D8 (full integration), while the tool uses C3D8R (reduced integration). Do not swap these.

  2. Through-thickness direction: The thickness is along the X-axis (from -1 to 0), not the Z-axis. This is set by the orientation and stack direction, not by the mesh alone.

  3. Surface face labels: S1 is the outer/contact surface (X = -1), and S2 is the inner/pressure surface (X = 0). Do not confuse these when defining surface element sets.

  4. Node count verification: After mesh generation, verify the total node count matches the expected value (3025 for 4-ply, 5445 for 8-ply). A mismatch indicates a mesh error.

  5. In-plane mesh sharing: The in-plane mesh (605 nodes per layer, 540 elements per layer) is the same for both 4-ply and 8-ply models. Only the through-thickness discretization differs.

  6. Element numbering continuity: Elements are numbered sequentially through the through-thickness layers. Element layer boundaries occur at multiples of the in-plane element count (540). Use this to assign ply labels correctly.

© Cai-aa, 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 Skill/abaqus/composite-curing-simulation/modeling/composite-mesh of Cai-aa/CAE-Agent-Hub.

Open the folder on GitHubat commit 194ef49

Compare with similar skills

Composite Mesh 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.

Composite Mesh compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Composite Mesh this skillCai-aa/CAE-Agent-Hub998—~3.5kAutomated safety check: PassMIT
Agent Mesh Coordinatorruvnet/ruflo74k3 repos~3.2kAutomated safety check: PassMIT
Composition Patternssickn33/agentic-awesome-skills47k1 repos~742Automated safety check: PassMIT
Eas Simulatorsickn33/agentic-awesome-skills47k1 repos~6kAutomated safety check: NotesMIT
Service Meshsickn33/agentic-awesome-skills47k2 repos~2.7kAutomated safety check: PassMIT
Vercel Composition Patternssupabase/supabase111k59 repos~726Automated safety check: PassMIT

Similar skills

  • Agent skill for mesh-coordinator - invoke with $agent-mesh-coordinator

    74k GitHub starsUsed in 3 repos~3.2k tokens
    Agent WorkflowsAuto-check passed
  • Composition Patterns

    sickn33/agentic-awesome-skills

    A skill your agent uses when working with composition-patterns tasks or workflows

    47k GitHub starsUsed in 1 repo~742 tokens
    DevelopmentAuto-check passed
  • Eas Simulator

    sickn33/agentic-awesome-skills

    Curated upstream guidance for Eas Simulator; use when the workflow matches the user goal.

    47k GitHub starsUsed in 1 repo~6k tokens
    MobileAuto-check: notes
  • Service Mesh

    sickn33/agentic-awesome-skills

    Implement Istio and Linkerd service meshes. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~2.7k tokens
    Backend & APIsAuto-check passed
  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 59 repos~726 tokens
    DevelopmentAuto-check passed
  • Design optimal agent team compositions with sizing heuristics, preset configurations, and agent type selection.

    40k GitHub stars~2k tokensUpdated 3 days ago
    DevelopmentAuto-check passed

More from Cai-aa/CAE-Agent-Hub

All 57 skills in this repo
  • Ansys Structural Workbench

    Cai-aa/CAE-Agent-Hub

    Operate or inspect live ANSYS Workbench Mechanical structural simulations through the configured MCP, including model setup, materials, connections, loads, mesh, solve, convergence, validation, and…

    998 GitHub stars~2.2k tokensUpdated 8 days ago
    Auto-check passed
  • Cylinder O Grid

    Cai-aa/CAE-Agent-Hub

    Plan, create, adapt, and quality-audit coin-style five-block O-grid hexahedral meshes for cylindrical CAE models.

    998 GitHub stars~1.6k tokensUpdated 8 days ago
    Auto-check passed
  • Comsol Motor Nvh Evidence

    Cai-aa/CAE-Agent-Hub

    Evidence-first COMSOL Java API and batch workflow for permanent-magnet motor NVH.

    998 GitHub stars~1.3k tokensUpdated 8 days ago
    Auto-check passed
  • Aedt Evidence Electromagnetics

    Cai-aa/CAE-Agent-Hub

    Evidence-first Ansys Electronics Desktop and PyAEDT automation for Maxwell, HFSS, Q3D, Icepak, and related electromagnetic workflows.

    998 GitHub stars~591 tokensUpdated 8 days ago
    Auto-check passed
  • Evidence-first Ansys Mechanical structural automation through Workbench RunWB2 journals, Mechanical Scripting/ACT ExtAPI, or PyMechanical gRPC.

    998 GitHub stars~554 tokensUpdated 8 days ago
    Auto-check passed
  • Run Fluent Autoclave

    Cai-aa/CAE-Agent-Hub

    Run, diagnose, reproduce, and validate ANSYS Fluent CFD simulations of forced-convection autoclaves using Fluent MCP or PyFluent.

    998 GitHub stars~984 tokensUpdated 8 days ago
    Auto-check passed

Questions about Composite Mesh

What does Composite Mesh do?

Generate through-thickness mesh for composite curing simulation. Composite Mesh is an agent skill from Cai-aa/CAE-Agent-Hub. Generate through-thickness mesh for composite curing simulation.

When should I use Composite Mesh?

Composite Mesh fits situations like: needs C3D8 solid elements; through-thickness element layout.

How do I install Composite Mesh in Claude Code?

Run `npx skills add Cai-aa/CAE-Agent-Hub --skill composite-mesh -a claude-code`. Or copy the skill folder (Skill/abaqus/composite-curing-simulation/modeling/composite-mesh in Cai-aa/CAE-Agent-Hub) into .claude/skills/composite-mesh in your project. Claude Code loads it when a task matches its description.

How do I install Composite Mesh in Codex?

Run `npx skills add Cai-aa/CAE-Agent-Hub --skill composite-mesh -a codex`. Or copy the skill folder (Skill/abaqus/composite-curing-simulation/modeling/composite-mesh in Cai-aa/CAE-Agent-Hub) into .agents/skills/composite-mesh in your project. Codex loads it when a task matches its description.

Can I use Composite Mesh 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 Cai-aa/CAE-Agent-Hub --skill composite-mesh -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/composite-mesh, .gemini/skills/composite-mesh, .github/skills/composite-mesh and .opencode/skills/composite-mesh in your project.

What does Composite Mesh need to run?

SKILL.md names no scripts, command-line tools or credentials: Composite Mesh is instructions for the agent only. Our summary lists: Python 3.

Does Composite Mesh 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 Composite Mesh 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 Composite Mesh use?

Composite Mesh is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Composite Mesh use?

About 3.5k tokens (SKILL.md is roughly 14k 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 Composite Mesh?

Skills that share tags, products or a category with Composite Mesh: Agent Mesh Coordinator (ruvnet/ruflo, 74k stars), Composition Patterns (sickn33/agentic-awesome-skills, 47k stars), Eas Simulator (sickn33/agentic-awesome-skills, 47k stars) and Service Mesh (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Composite Mesh?

Cai-aa (a GitHub user) maintains it in Cai-aa/CAE-Agent-Hub, which has 998 GitHub stars. The repository holds 57 skills in this directory. The repository was last updated on September 30, 2026.

Source: Cai-aa/CAE-Agent-Hub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.