GPTCode Skills
Skills are the secret sauce behind gtβs ability to generate production-quality code. When you run any gt command, it automatically detects your projectβs language and injects the relevant skill into the AIβs system prompt.
π‘ The result: Instead of generic code that βworksβ, you get idiomatic code that follows community best practices, proper error handling, and language-specific patterns.
Why Skills Matter
Without skills, AI models produce generic code:
- No language idioms
- Inconsistent error handling
- Poor naming conventions
- Missing documentation patterns
With skills, gt produces production-ready code:
- Idiomatic patterns (e.g., Goβs explicit error handling, Elixirβs pattern matching)
- Consistent style following community guidelines
- Proper documentation and testing patterns
- Framework-specific best practices (Rails, Phoenix, React)
How Skills Work
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β You run: gt do "add user authentication" β
β β β
β gt detects: Ruby on Rails project (Gemfile, config/) β
β β β
β gt injects: Rails skill + Ruby skill into prompt β
β β β
β AI generates: Service objects, proper migrations, β
β RSpec tests, Devise patterns β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Available Skills
Language-Specific
| Skill | Language | Description |
|---|---|---|
| Go | Go | Error handling, naming, interfaces, concurrency |
| Elixir | Elixir | Pattern matching, OTP, Phoenix, Ecto |
| Ruby | Ruby | Method design, error handling, testing |
| Rails | Ruby | Active Record, controllers, services, RSpec |
| Python | Python | PEP 8, type hints, pytest, comprehensions |
| TypeScript | TypeScript | Types, generics, async patterns, React |
| JavaScript | JavaScript | ES6+, async/await, modules, array methods |
| Rust | Rust | Ownership, error handling, iterators, traits |
General
| Skill | Description |
|---|---|
| TDD Bug Fix | Write failing tests before fixing bugs |
| Code Review | Structured code review with priorities |
| Git Commit | Conventional commit messages |
Design & Product
| Skill | Category | Description |
|---|---|---|
| Design System | Design | Atomic Design, tokens, Storybook, accessibility |
| Product Metrics | Product | GA4, UTM, funnels, tracking pixels |
| Production Ready | Product | Error handling, feature flags, health checks |
| QA Automation | Product | E2E, visual regression, a11y, performance |
Ops
| Skill | Category | Description |
|---|---|---|
| Security | Security | OWASP, input validation, auth, XSS/CSRF prevention |
| DevOps | DevOps | Docker, Kubernetes, Terraform, CI/CD pipelines |
| SysOps | SysOps | Shell scripting, systemd, Linux administration |
| SecOps | SecOps | Vulnerability scanning, incident response, WAF |
| MLOps | MLOps | Model serving, experiment tracking, feature stores |
Installing Skills
# List available skills
gt skills list
# Install a specific skill
gt skills install ruby
# Install all built-in skills
gt skills install-all
# View skill content
gt skills show ruby
Creating Custom Skills
You can create custom skills for your team or Stack:
- Create a markdown file in
~/.gptcode/skills/ - Add frontmatter with
name,language, anddescription - The skill will be automatically loaded when working with that language
Example Custom Skill
---
name: my-company-style
language: typescript
description: Our company's TypeScript conventions
---
# Company TypeScript Style
## Always use strict mode
...
Contributing Skills
Want to add a skill for your favorite language? Open a PR with your skill markdown file.
Using Skills in Other Tools
The skills that power gt can also be used in other AI coding tools. Hereβs how to apply them in your favorite environment:
Cursor
Cursor has the strongest support for project rules via .cursorrules:
# Export skills directly to Cursor format
gt skills show go > .cursorrules
# Or combine multiple skills
gt skills show go >> .cursorrules
gt skills show tdd-bug-fix >> .cursorrules
Cursor reads .cursorrules automatically and applies them to every interactionβno need to ask.
VS Code (GitHub Copilot)
GitHub Copilot supports custom instructions via files in your project:
Project-wide instructions:
# Export a gt skill to Copilot format
gt skills show ruby > .github/copilot-instructions.md
The file .github/copilot-instructions.md is automatically read by Copilot before every interaction.
Reusable prompts:
# Create a prompt for TDD workflow
gt skills show tdd-bug-fix > .github/prompts/tdd.prompt.md
Use in Copilot Chat by referencing the prompt.
Antigravity (Gemini in IDE)
If youβre using Googleβs Antigravity (Gemini IDE integration):
- Create
.gemini/settings.jsonin your project:{ "customInstructions": "See .gemini/skills/ for coding guidelines" } - Export skills to
.gemini/skills/:mkdir -p .gemini/skills gt skills show python > .gemini/skills/python.md gt skills show tdd-bug-fix > .gemini/skills/tdd.md
Google Gemini (AI Studio / API)
For Gemini, use skills as system instructions:
# Show skill content to copy
gt skills show typescript
Paste the content into:
- AI Studio: System Instructions field
- API:
system_instructionparameter in your request
# Example with Gemini API
import google.generativeai as genai
model = genai.GenerativeModel(
'gemini-pro',
system_instruction=open('typescript-skill.md').read()
)
Claude (Anthropic Console / API)
Claude supports system prompts where you can inject skills:
# Export for Claude
gt skills show elixir > claude-system.md
Use in:
- claude.ai: Start conversation with βFollow these guidelines:β + paste skill
- API: Set as
systemparameter
# Example with Claude API
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-3-opus-20240229",
system=open('elixir-skill.md').read(),
messages=[{"role": "user", "content": "Create a GenServer"}]
)
Replit (Agent / Ghostwriter)
Replit doesnβt auto-load rule files yet, but you can use a convention:
# Export to a RULES file
gt skills show python > RULES.md
Tips for Replit:
- Keep
RULES.mdopen in an editor tabβGhostwriter prioritizes open files - When using Replit Agent, start with: βRead RULES.md and follow strictlyβ
Quick Reference
| Tool | Config Location | Auto-loaded? |
|---|---|---|
| gt | Built-in | β Yes |
| Cursor | .cursorrules |
β Yes (strong) |
| VS Code Copilot | .github/copilot-instructions.md |
β Yes |
| Antigravity | .gemini/skills/ |
β‘ Partial |
| Gemini | System instruction | β Manual |
| Claude | System prompt | β Manual |
| Replit | RULES.md (convention) |
β Manual |
π‘ Pro tip: Commit your skills files to git so your whole team benefits from consistent AI-generated code!