Skip to content

limakzi/gap-skill

Repository files navigation

gap-skill

Claude Skill GAP License

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.

What this skill provides?

GAP Code Design

  • Operations versus global functions decision guidance.
  • Categories, attributes, properties, and representations.
  • Declaration versus implementation file layout.
  • Object creation via NewType, Objectify, and ObjectifyWithAttributes.

Testing frameworks

  • .tst transcript tests
  • Test, TestDirectory, and TestPackage
  • package loading tests with OnlyNeeded and LoadAllPackages
  • CI matrix testing across operating systems and GAP versions

Documentation and LaTeX

  • GAPDoc and AutoDoc patterns
  • method documentation templates
  • MathJax and PDF-friendly LaTeX guidance
  • package manual structure and build workflow

GAP CI/CD integration

  • gap-actions/setup-gap
  • gap-actions/build-pkg
  • gap-actions/run-pkg-tests
  • gap-actions/build-pkg-docs
  • gap-actions/release-pkg
  • gap-actions/update-gh-pages

Installation

This plugin is distributed via Claude Code marketplace using .claude-plugin/marketplace.json.

Claude Code

/plugin marketplace add limakzi/gap-skill
/plugin install gap-skill@limakzi

Manual installation

git clone https://github.com/limakzi/gap-skill ~/.claude/skills/gap-skill

Quick Start Examples

Create a GAP package:

Create a GAP package skeleton with PackageInfo.g, init.g, read.g, lib/, doc/, and tst/

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-actions and LaTeX manual builds

What It Covers

Testing strategy framework

Decision matrices for:

  • when to use .tst transcript tests
  • when to use TestDirectory or TestPackage
  • when to add package-loading and compatibility checks
  • how to structure CI matrices across OS and GAP versions

Package development patterns

  • standard GAP package layout
  • PackageInfo.g requirements
  • init.g and read.g loading order
  • .gd and .gi split
  • naming and namespace hygiene

CI/CD workflows

  • GitHub Actions examples using the GAP ecosystem
  • Windows support through setup-cygwin
  • documentation builds with LaTeX
  • release and GitHub Pages publication

Documentation standards

  • GAPDoc and AutoDoc conventions
  • method documentation blocks close to declarations
  • mathematical notation using LaTeX
  • manual generation and publication

Why This Skill?

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.

Requirements

  • 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
  • pdflatex available when building package manuals as PDF

Contributing

See CLAUDE.md and CONTRIBUTING.md for repository structure, testing methodology, and release conventions.

Releases

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

Related Resources

Official documentation

GAP CI ecosystem

License & Attribution

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors