Comprehensive GAP best practices skill for Claude Code.
It teaches the model how to write real GAP code: declaring operations and methods correctly, structuring packages, documenting APIs with GAPDoc and LaTeX mathematics, testing packages, and building CI/CD workflows with gap-actions.
- Operations versus global functions decision guidance.
- Categories, attributes, properties, and representations.
- Declaration versus implementation file layout.
- Object creation via
NewType,Objectify, andObjectifyWithAttributes.
.tsttranscript testsTest,TestDirectory, andTestPackage- package loading tests with
OnlyNeededandLoadAllPackages - CI matrix testing across operating systems and GAP versions
- GAPDoc and AutoDoc patterns
- method documentation templates
- MathJax and PDF-friendly LaTeX guidance
- package manual structure and build workflow
gap-actions/setup-gapgap-actions/build-pkggap-actions/run-pkg-testsgap-actions/build-pkg-docsgap-actions/release-pkggap-actions/update-gh-pages
This plugin is distributed via Claude Code marketplace using .claude-plugin/marketplace.json.
/plugin marketplace add limakzi/gap-skill
/plugin install gap-skill@limakzigit clone https://github.com/limakzi/gap-skill ~/.claude/skills/gap-skillCreate a GAP package:
Create a GAP package skeleton with
PackageInfo.g,init.g,read.g,lib/,doc/, andtst/
Write a new operation and methods:
Implement a GAP operation for finitely presented groups and document it with GAPDoc
Choose tests:
Help me choose between
Test,TestDirectory, and GitHub Actions for my GAP package
Generate CI:
Create a GitHub Actions workflow for a GAP package using
gap-actionsand LaTeX manual builds
Decision matrices for:
- when to use
.tsttranscript tests - when to use
TestDirectoryorTestPackage - when to add package-loading and compatibility checks
- how to structure CI matrices across OS and GAP versions
- standard GAP package layout
PackageInfo.grequirementsinit.gandread.gloading order.gdand.gisplit- naming and namespace hygiene
- GitHub Actions examples using the GAP ecosystem
- Windows support through
setup-cygwin - documentation builds with LaTeX
- release and GitHub Pages publication
- GAPDoc and AutoDoc conventions
- method documentation blocks close to declarations
- mathematical notation using LaTeX
- manual generation and publication
Based on GAP package conventions:
- GAP reference manual guidance for package structure and declarations
- GAP ecosystem testing and release practices
- gap-actions workflows used in real packages
- GAPDoc and AutoDoc documentation workflows
Decision frameworks, not just snippets:
This skill focuses on when to declare an operation, when to use a global function, how to split package files, what to test, and how to publish documentation and releases.
- Claude Code or another Claude environment supporting skills
- GAP 4.10+ recommended for package development work
- GitHub Actions for the CI/CD templates in this repository
pdflatexavailable when building package manuals as PDF
See CLAUDE.md and CONTRIBUTING.md for repository structure, testing methodology, and release conventions.
Releases are intended to be automated from conventional commits:
| Commit Type | Version Bump | Example |
|---|---|---|
feat!: or BREAKING CHANGE: |
Major | feat!: replace package layout guidance |
feat: |
Minor | feat: add GAPDoc LaTeX section |
fix: |
Patch | fix: correct run-pkg-tests version |
docs: or chore: |
Patch | docs: improve package test matrix examples |
- GAP System
- GAP Reference Manual
- Using and Developing GAP Packages
- Creating New Objects
- GAPDoc Manual
- gap-actions/setup-gap
- gap-actions/run-pkg-tests
- gap-actions/build-pkg-docs
- gap-actions/release-pkg
- gap-actions/update-gh-pages
License: Apache 2.0 - see LICENSE
This repository is analogous in structure to the Terraform skill by Anton Babenko, but the technical content here is rewritten for GAP, GAP packages, and the GAP CI ecosystem.