skills/symmetry-group-identifier/SKILL.md
Maps identified symmetries to mathematical groups (cyclic, dihedral, symmetric, SO(3), SE(3), E(3)) for equivariant neural network architecture design, using taxonomy and foundations from Visual Group Theory. Use when candidate symmetries have been identified and need formalization into group theory language, or when user mentions cyclic groups, dihedral groups, Lie groups, SO(3), SE(3), or permutation groups.
npx skillsauth add lyndonkl/claude symmetry-group-identifierInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Knowing your symmetry group tells you which equivariant architecture patterns to use. This skill formalizes identified transformations into the language of group theory.
Copy this checklist and track your progress:
Group Identification Progress:
- [ ] Step 1: List symmetries from discovery phase
- [ ] Step 2: Classify each as discrete or continuous
- [ ] Step 3: Match to specific groups using taxonomy
- [ ] Step 4: Determine how groups combine
- [ ] Step 5: Verify group properties
- [ ] Step 6: Document final group specification
Step 1: List symmetries from discovery phase
Gather the identified symmetries from the discovery phase. List each identified transformation and whether it requires invariance or equivariance. Note confidence levels. If symmetries haven't been discovered yet, work with user to identify them through domain analysis first.
Step 2: Classify each as discrete or continuous
For each symmetry, determine: Is the transformation set finite (discrete) or infinite (continuous)? Discrete examples: 90° rotations (4 elements), permutations of n items (n! elements). Continuous examples: rotation by any angle, translation by any distance. Use Group Taxonomy to guide classification. For mathematical foundations, see Group Theory Primer.
Step 3: Match to specific groups using taxonomy
Use the Discrete Groups and Continuous Groups reference sections. Identify the specific group name and notation for each symmetry. Common matches: n-fold rotation → Cₙ, rotation+reflection → Dₙ, permutation → Sₙ, 3D rotation → SO(3), rigid motion → SE(3), full Euclidean → E(3). For detailed Lie group information (SO(3), SE(3), E(3)), consult Lie Groups Reference.
Step 4: Determine how groups combine
If multiple symmetries are present, determine how they combine. Direct product (G × H): symmetries act independently. Semidirect product (G ⋊ H): one symmetry "twists" the other (e.g., SE(3) = SO(3) ⋊ ℝ³). Use Combining Groups reference.
Step 5: Verify group properties
Check that identified structure satisfies group axioms: closure, associativity, identity, inverses. Verify important properties: Is it compact? (affects representation theory). Is it abelian? (commutative or not). Is it connected? (affects implementation). Use Group Properties Checklist. For detailed verification methodology, see Methodology.
Step 6: Document final group specification
Create specification using Output Template. Include: group name/notation, dimension/size, key properties, invariance vs equivariance requirements, and recommended architecture family. This specification provides the foundation for architecture design. Quality criteria for this output are defined in Quality Rubric.
SYMMETRY GROUPS
│
┌───────────────┴───────────────┐
│ │
DISCRETE CONTINUOUS
│ (Lie Groups)
│ │
┌─────┼─────┐ ┌────────┼────────┐
│ │ │ │ │ │
Cyclic Dihedral Symmetric SO(n) SE(n) E(n)
Cₙ Dₙ Sₙ rotations rigid Euclidean
only motions (w/ reflect)
| Symmetry Type | Group | Notation | Elements | Common Use | |---------------|-------|----------|----------|------------| | n-fold rotation | Cyclic | Cₙ | n | Image rotation (90°, 60°) | | Rotation + reflection | Dihedral | Dₙ | 2n | Regular polygons | | Permutation | Symmetric | Sₙ | n! | Sets, graphs | | 2D rotation (continuous) | Special orthogonal | SO(2) | ∞ | Continuous rotation | | 3D rotation | Special orthogonal | SO(3) | ∞ | 3D orientation | | 3D rigid motion | Special Euclidean | SE(3) | ∞ | Robotics, molecules | | 3D with reflections | Euclidean | E(3) | ∞ | Chemistry, physics |
What they represent: Rotations by multiples of 360°/n
Elements: {e, r, r², ..., rⁿ⁻¹} where rⁿ = e (identity)
| Group | Rotations | Example | |-------|-----------|---------| | C₂ | 0°, 180° | Playing cards | | C₄ | 0°, 90°, 180°, 270° | Square images | | C₆ | 60° increments | Hexagonal patterns |
Use when: Rotation symmetry present but NOT reflection symmetry.
What they represent: Rotations + reflections of regular n-gon
Elements: n rotations + n reflections = 2n total
| Group | Elements | Example | |-------|----------|---------| | D₄ | 8 | Square with diagonals (p4m group) | | D₆ | 12 | Regular hexagon |
Use when: Both rotation AND reflection symmetry present.
What they represent: All permutations of n elements
Elements: n! permutations
Use when: Element ordering is arbitrary (sets, graphs, point clouds).
Elements: Rotation by any angle θ ∈ [0, 2π)
Matrix form: R(θ) = [[cos θ, -sin θ], [sin θ, cos θ]]
Use when: Continuous rotation symmetry in 2D.
Elements: All rotations in 3D (3 degrees of freedom)
Representations: Rotation matrices, quaternions, Euler angles, axis-angle
Use when: 3D orientation doesn't matter, but handedness does.
Elements: Rotations + Translations in 3D
Structure: SE(3) = SO(3) ⋊ ℝ³ (semidirect product)
Use when: Objects can be anywhere and in any orientation, handedness matters.
Elements: SE(3) + Reflections
Structure: E(3) = O(3) ⋊ ℝ³
Use when: SE(3) symmetry PLUS reflection symmetry (most molecules).
E(3) = O(3) ⋊ ℝ³
│ exclude reflections
▼
SE(3) = SO(3) ⋊ ℝ³
│ exclude translations
▼
SO(3)
│ 2D restriction
▼
SO(2)
When to use: Symmetries act independently (neither affects the other).
Example: Image with separate translation and color permutation → SE(2) × S₃
Property: (g₁, h₁) · (g₂, h₂) = (g₁g₂, h₁h₂)
When to use: One symmetry "twists" the other (don't commute).
Example: SE(3) = SO(3) ⋊ ℝ³ (rotating then translating ≠ translating then rotating)
Common cases: SE(n) = SO(n) ⋊ ℝⁿ, E(n) = O(n) ⋊ ℝⁿ, Dₙ = Cₙ ⋊ C₂
For your identified group, verify:
| Property | Question | Why It Matters | |----------|----------|----------------| | Compact | Is the group "bounded"? | Affects representation theory | | Abelian | Does order matter? (g₁g₂ = g₂g₁?) | Simplifies architecture | | Connected | Is group in one piece? | Affects irreducible representations | | Finite | Finite number of elements? | Discrete vs continuous architecture |
| Domain | Typical Group | Notes | |--------|--------------|-------| | 2D Image Classification | C₄ or D₄ | p4 or p4m groups | | 3D Molecular Energy | E(3) × Sₙ | Full Euclidean + atom permutation | | 3D Molecular Chirality | SE(3) × Sₙ | No reflections | | Point Cloud Classification | SO(3) × Sₙ | Rotation + permutation | | Graph Classification | Sₙ | Permutation invariant | | Robotics | SE(3) | Sometimes with gravity constraint |
SYMMETRY GROUP SPECIFICATION
============================
Identified Symmetries:
1. [Symmetry] → Group: [name] ([notation])
2. [Symmetry] → Group: [name] ([notation])
Combined Group Structure:
- Full group: [G₁ × G₂] or [G₁ ⋊ G₂]
- Size: [# elements] or [continuous]
Group Properties:
- Compact: [Yes/No]
- Abelian: [Yes/No]
- Connected: [Yes/No]
Symmetry Requirements:
- [Group]: [Invariant/Equivariant] for [task type]
Recommended Architecture Family:
- [Architecture] supporting [group]
NEXT STEPS:
- Empirically validate symmetry hypotheses if not yet confirmed
- Design equivariant architecture based on group specification
testing
--- name: advisory-edit description: A strict advisory-only editing discipline for a writer who dictates ("speaks out") essays and wants help WITHOUT having their voice changed. The editor directs structure, flags grammar, and suggests strategic language — but never modifies the writer's text unless the writer explicitly says "apply" / "make that change" / "rewrite this." Produces a line-referenced, suggestion-only critique where every item is marked the writer's call. Four passes: structural, l
testing
Provides the house style for analyst-grade strategist writing — third-person register with sparing first-person, no em dashes, no "not X, not Y, not Z" negation cascades, numbered footnote citations rather than inline source parentheticals, specific opinion-signaling phrases, and topic-forward paragraph structure modeled on voice patterns observed in Damodaran's Musings on Markets and Thompson's Stratechery. Use when consolidating working notes into a finished long-form strategist or analyst report that must read as written by a senior human analyst rather than an AI assistant.
testing
Renders a markdown report to a PDF using pandoc with xelatex (11pt serif body, 1-inch margins, numbered footnotes, formal heading hierarchy). Requires a one-time install of pandoc and a LaTeX engine on the user's machine — basictex on macOS or texlive-xetex on Linux. Does not attempt automatic install. Fails loudly with the exact install commands if pandoc or xelatex is missing on the user's PATH. Use when producing a finished strategist or analyst report PDF from a polished markdown source.
testing
Produces step-by-step computational walkthroughs of vector and matrix operations as a sequence of numbered "frames", showing the explicit state at each step. The text-equivalent of a 3Blue1Brown animation — each frame shows what changed and why, so the learner can re-trace the operation by hand. Use when the learner needs to *see* a computation unfold (eigenvalue computation, attention with 3 tokens, gradient descent step, SVD on a 2×2, layer norm on a 3-vector, softmax of a small input), when an explanation has been given but the learner needs to ground it in a worked example, or when introducing an operation that's intimidating in symbol form but trivial in pencil-and-paper form.