genskills 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +259 -0
- package/dist/cli/commands/clean.d.ts +3 -0
- package/dist/cli/commands/clean.d.ts.map +1 -0
- package/dist/cli/commands/clean.js +100 -0
- package/dist/cli/commands/clean.js.map +1 -0
- package/dist/cli/commands/disable.d.ts +3 -0
- package/dist/cli/commands/disable.d.ts.map +1 -0
- package/dist/cli/commands/disable.js +44 -0
- package/dist/cli/commands/disable.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +151 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/enable.d.ts +3 -0
- package/dist/cli/commands/enable.d.ts.map +1 -0
- package/dist/cli/commands/enable.js +48 -0
- package/dist/cli/commands/enable.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +94 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/install.d.ts +3 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +40 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/list.d.ts +3 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +60 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/update.d.ts +3 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +58 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +33 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/utils/config-loader.d.ts +37 -0
- package/dist/cli/utils/config-loader.d.ts.map +1 -0
- package/dist/cli/utils/config-loader.js +129 -0
- package/dist/cli/utils/config-loader.js.map +1 -0
- package/dist/cli/utils/copy.d.ts +26 -0
- package/dist/cli/utils/copy.d.ts.map +1 -0
- package/dist/cli/utils/copy.js +182 -0
- package/dist/cli/utils/copy.js.map +1 -0
- package/dist/cli/utils/dependency-resolver.d.ts +26 -0
- package/dist/cli/utils/dependency-resolver.d.ts.map +1 -0
- package/dist/cli/utils/dependency-resolver.js +181 -0
- package/dist/cli/utils/dependency-resolver.js.map +1 -0
- package/dist/cli/utils/hooks.d.ts +22 -0
- package/dist/cli/utils/hooks.d.ts.map +1 -0
- package/dist/cli/utils/hooks.js +124 -0
- package/dist/cli/utils/hooks.js.map +1 -0
- package/dist/cli/utils/logger.d.ts +13 -0
- package/dist/cli/utils/logger.d.ts.map +1 -0
- package/dist/cli/utils/logger.js +57 -0
- package/dist/cli/utils/logger.js.map +1 -0
- package/dist/cli/utils/manifest.d.ts +29 -0
- package/dist/cli/utils/manifest.d.ts.map +1 -0
- package/dist/cli/utils/manifest.js +110 -0
- package/dist/cli/utils/manifest.js.map +1 -0
- package/dist/cli/utils/paths.d.ts +46 -0
- package/dist/cli/utils/paths.d.ts.map +1 -0
- package/dist/cli/utils/paths.js +150 -0
- package/dist/cli/utils/paths.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/postinstall.d.ts +9 -0
- package/dist/postinstall.d.ts.map +1 -0
- package/dist/postinstall.js +58 -0
- package/dist/postinstall.js.map +1 -0
- package/package.json +52 -0
- package/plugin.json +60 -0
- package/schemas/genskills-config.schema.json +91 -0
- package/skills/code-quality/code-review/SKILL.md +65 -0
- package/skills/code-quality/lint-fix/SKILL.md +44 -0
- package/skills/code-quality/refactor/SKILL.md +43 -0
- package/skills/code-quality/security-audit/SKILL.md +71 -0
- package/skills/code-quality/test-generator/SKILL.md +51 -0
- package/skills/code-quality/type-check/SKILL.md +41 -0
- package/skills/development/debug/SKILL.md +53 -0
- package/skills/development/migrate/SKILL.md +50 -0
- package/skills/development/perf-optimize/SKILL.md +64 -0
- package/skills/development/scaffold/SKILL.md +52 -0
- package/skills/documentation/api-docs/SKILL.md +51 -0
- package/skills/documentation/doc-gen/SKILL.md +49 -0
- package/skills/documentation/readme-gen/SKILL.md +68 -0
- package/skills/project-management/changelog-gen/SKILL.md +61 -0
- package/skills/project-management/release-notes/SKILL.md +62 -0
- package/skills/project-management/task-tracker/SKILL.md +42 -0
- package/skills/workflow/branch-manager/SKILL.md +50 -0
- package/skills/workflow/ci-fix/SKILL.md +44 -0
- package/skills/workflow/deploy/SKILL.md +53 -0
- package/skills/workflow/git-commit/SKILL.md +58 -0
- package/skills/workflow/pr-create/SKILL.md +53 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genskills:doc-gen
|
|
3
|
+
description: >
|
|
4
|
+
Generate documentation for code — inline comments, JSDoc/docstrings, module docs.
|
|
5
|
+
Triggers on: "document this", "add docs", "generate documentation",
|
|
6
|
+
"add comments", "write docstrings".
|
|
7
|
+
user-invocable: true
|
|
8
|
+
argument-hint: "[file or directory to document]"
|
|
9
|
+
allowed-tools: "Read, Edit, Grep, Glob"
|
|
10
|
+
genskills-version: "1.0.0"
|
|
11
|
+
genskills-category: "documentation"
|
|
12
|
+
genskills-depends: []
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Documentation Generator
|
|
16
|
+
|
|
17
|
+
Generate inline documentation for code.
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### Step 1: Analyze Target
|
|
22
|
+
- Read the file(s) specified in `$ARGUMENTS`
|
|
23
|
+
- Detect the language and documentation convention:
|
|
24
|
+
- TypeScript/JavaScript → JSDoc (`/** */`)
|
|
25
|
+
- Python → Docstrings (Google, NumPy, or Sphinx style)
|
|
26
|
+
- Go → GoDoc comments
|
|
27
|
+
- Rust → `///` doc comments
|
|
28
|
+
- Java/Kotlin → Javadoc
|
|
29
|
+
|
|
30
|
+
### Step 2: Identify What Needs Documentation
|
|
31
|
+
- Exported/public functions and classes
|
|
32
|
+
- Complex private functions
|
|
33
|
+
- Type definitions and interfaces
|
|
34
|
+
- Module-level documentation
|
|
35
|
+
- Configuration constants
|
|
36
|
+
|
|
37
|
+
### Step 3: Generate Documentation
|
|
38
|
+
For each function/class/type:
|
|
39
|
+
- **Description**: What it does (not how)
|
|
40
|
+
- **Parameters**: Name, type, description, default values
|
|
41
|
+
- **Returns**: Type and description
|
|
42
|
+
- **Throws/Raises**: Error conditions
|
|
43
|
+
- **Examples**: Usage examples for complex APIs
|
|
44
|
+
- **Deprecation**: Notes if applicable
|
|
45
|
+
|
|
46
|
+
### Step 4: Apply
|
|
47
|
+
- Add documentation comments using the Edit tool
|
|
48
|
+
- Preserve existing documentation — only add where missing
|
|
49
|
+
- Follow the project's existing documentation style
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genskills:readme-gen
|
|
3
|
+
description: >
|
|
4
|
+
Generate or update a comprehensive README.md for the project.
|
|
5
|
+
Triggers on: "generate README", "create README", "update README",
|
|
6
|
+
"write README", "project README".
|
|
7
|
+
user-invocable: true
|
|
8
|
+
argument-hint: "[style: minimal|standard|detailed]"
|
|
9
|
+
allowed-tools: "Read, Write, Edit, Grep, Glob, Bash(git remote*)"
|
|
10
|
+
genskills-version: "1.0.0"
|
|
11
|
+
genskills-category: "documentation"
|
|
12
|
+
genskills-depends: []
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# README Generator
|
|
16
|
+
|
|
17
|
+
Generate a comprehensive project README.
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### Step 1: Analyze Project
|
|
22
|
+
- Read `package.json`, `pyproject.toml`, `Cargo.toml`, etc. for project metadata
|
|
23
|
+
- Identify the tech stack from files and dependencies
|
|
24
|
+
- Check for existing README.md to preserve user content
|
|
25
|
+
- Read the project structure for architecture overview
|
|
26
|
+
|
|
27
|
+
### Step 2: Determine Style
|
|
28
|
+
From `$ARGUMENTS` (default: "standard"):
|
|
29
|
+
- **minimal**: Name, description, install, usage
|
|
30
|
+
- **standard**: Full README with all sections
|
|
31
|
+
- **detailed**: Comprehensive with architecture, contributing guidelines
|
|
32
|
+
|
|
33
|
+
### Step 3: Generate README
|
|
34
|
+
```markdown
|
|
35
|
+
# Project Name
|
|
36
|
+
|
|
37
|
+
Brief description of what this project does.
|
|
38
|
+
|
|
39
|
+
## Features
|
|
40
|
+
- Key feature 1
|
|
41
|
+
- Key feature 2
|
|
42
|
+
|
|
43
|
+
## Prerequisites
|
|
44
|
+
- Required tools and versions
|
|
45
|
+
|
|
46
|
+
## Installation
|
|
47
|
+
Step-by-step installation instructions
|
|
48
|
+
|
|
49
|
+
## Usage
|
|
50
|
+
Code examples and CLI usage
|
|
51
|
+
|
|
52
|
+
## Configuration
|
|
53
|
+
Environment variables and config files
|
|
54
|
+
|
|
55
|
+
## Project Structure
|
|
56
|
+
Key directories and their purposes
|
|
57
|
+
|
|
58
|
+
## Contributing
|
|
59
|
+
How to contribute (if detailed style)
|
|
60
|
+
|
|
61
|
+
## License
|
|
62
|
+
License information
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Step 4: Write
|
|
66
|
+
- If README.md exists, show a diff of proposed changes
|
|
67
|
+
- If new, create the file
|
|
68
|
+
- Preserve any existing badges, custom sections, or user-written content
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genskills:changelog-gen
|
|
3
|
+
description: >
|
|
4
|
+
Generate and maintain a CHANGELOG.md from git history, following Keep a Changelog format.
|
|
5
|
+
Triggers on: "generate changelog", "update changelog", "what changed", "changelog".
|
|
6
|
+
user-invocable: true
|
|
7
|
+
argument-hint: "[version number or 'unreleased']"
|
|
8
|
+
allowed-tools: "Read, Write, Edit, Bash(git log*), Bash(git tag*)"
|
|
9
|
+
genskills-version: "1.0.0"
|
|
10
|
+
genskills-category: "project-management"
|
|
11
|
+
genskills-depends:
|
|
12
|
+
- genskills:git-commit
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Changelog Generator
|
|
16
|
+
|
|
17
|
+
Generate and maintain a changelog from git history.
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### Step 1: Analyze Git History
|
|
22
|
+
- Get the last tag: `git describe --tags --abbrev=0` (or use all history if no tags)
|
|
23
|
+
- Get commits since last tag: `git log <last-tag>..HEAD --oneline`
|
|
24
|
+
- Parse commit messages for conventional commit types
|
|
25
|
+
|
|
26
|
+
### Step 2: Categorize Changes
|
|
27
|
+
Group commits into Keep a Changelog categories:
|
|
28
|
+
- **Added**: New features (`feat:`)
|
|
29
|
+
- **Changed**: Changes to existing features
|
|
30
|
+
- **Deprecated**: Features marked for removal
|
|
31
|
+
- **Removed**: Removed features
|
|
32
|
+
- **Fixed**: Bug fixes (`fix:`)
|
|
33
|
+
- **Security**: Security-related changes
|
|
34
|
+
|
|
35
|
+
### Step 3: Generate/Update CHANGELOG.md
|
|
36
|
+
If `$ARGUMENTS` provides a version number, create a release entry.
|
|
37
|
+
Otherwise, update the `[Unreleased]` section.
|
|
38
|
+
|
|
39
|
+
Format:
|
|
40
|
+
```markdown
|
|
41
|
+
# Changelog
|
|
42
|
+
|
|
43
|
+
All notable changes to this project will be documented in this file.
|
|
44
|
+
|
|
45
|
+
## [Unreleased]
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
- Feature description (#PR)
|
|
49
|
+
|
|
50
|
+
### Fixed
|
|
51
|
+
- Bug fix description (#PR)
|
|
52
|
+
|
|
53
|
+
## [1.0.0] - 2026-03-23
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
- Initial release features
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Step 4: Verify
|
|
60
|
+
- Show the generated/updated changelog section
|
|
61
|
+
- Suggest committing the changelog update
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genskills:release-notes
|
|
3
|
+
description: >
|
|
4
|
+
Generate polished release notes for a version, suitable for GitHub Releases
|
|
5
|
+
or user-facing announcements. Triggers on: "release notes", "write release",
|
|
6
|
+
"create release", "publish release".
|
|
7
|
+
user-invocable: true
|
|
8
|
+
argument-hint: "[version tag, e.g. v1.2.0]"
|
|
9
|
+
allowed-tools: "Read, Grep, Bash(git log*), Bash(git tag*), Bash(gh release*)"
|
|
10
|
+
genskills-version: "1.0.0"
|
|
11
|
+
genskills-category: "project-management"
|
|
12
|
+
genskills-depends:
|
|
13
|
+
- genskills:changelog-gen
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Release Notes
|
|
17
|
+
|
|
18
|
+
Generate polished release notes for public consumption.
|
|
19
|
+
|
|
20
|
+
## Process
|
|
21
|
+
|
|
22
|
+
### Step 1: Determine Version
|
|
23
|
+
- Use `$ARGUMENTS` as the version tag
|
|
24
|
+
- If not provided, suggest based on changes (semver):
|
|
25
|
+
- Breaking changes → major bump
|
|
26
|
+
- New features → minor bump
|
|
27
|
+
- Bug fixes only → patch bump
|
|
28
|
+
|
|
29
|
+
### Step 2: Gather Changes
|
|
30
|
+
- Get commits between previous tag and HEAD
|
|
31
|
+
- Read CHANGELOG.md if it exists
|
|
32
|
+
- Check for PRs merged: `gh pr list --state merged --base main`
|
|
33
|
+
|
|
34
|
+
### Step 3: Write Release Notes
|
|
35
|
+
Create user-friendly release notes:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
# Release v1.2.0
|
|
39
|
+
|
|
40
|
+
## Highlights
|
|
41
|
+
<1-2 sentence summary of the most impactful changes>
|
|
42
|
+
|
|
43
|
+
## What's New
|
|
44
|
+
- Feature 1: brief description
|
|
45
|
+
- Feature 2: brief description
|
|
46
|
+
|
|
47
|
+
## Bug Fixes
|
|
48
|
+
- Fixed: issue description
|
|
49
|
+
|
|
50
|
+
## Breaking Changes
|
|
51
|
+
- Description of what changed and migration steps
|
|
52
|
+
|
|
53
|
+
## Contributors
|
|
54
|
+
- @username — contribution description
|
|
55
|
+
|
|
56
|
+
**Full Changelog**: v1.1.0...v1.2.0
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Step 4: Publish (optional)
|
|
60
|
+
- If user confirms, create a GitHub release:
|
|
61
|
+
`gh release create <tag> --title "..." --notes "..."`
|
|
62
|
+
- Attach build artifacts if available
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genskills:task-tracker
|
|
3
|
+
description: >
|
|
4
|
+
Track and manage project tasks, create TODO lists, and organize work items.
|
|
5
|
+
Triggers on: "track tasks", "create task", "list tasks", "what's left to do",
|
|
6
|
+
"project status", "task list".
|
|
7
|
+
user-invocable: true
|
|
8
|
+
argument-hint: "[action: list|add|done|status]"
|
|
9
|
+
allowed-tools: "Read, Write, Edit, Grep, Glob, Bash(git log*)"
|
|
10
|
+
genskills-version: "1.0.0"
|
|
11
|
+
genskills-category: "project-management"
|
|
12
|
+
genskills-depends: []
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Task Tracker
|
|
16
|
+
|
|
17
|
+
Manage project tasks and track progress.
|
|
18
|
+
|
|
19
|
+
## Actions
|
|
20
|
+
|
|
21
|
+
### List (`$0` = "list" or default)
|
|
22
|
+
- Search for TODO/FIXME/HACK/XXX comments across the codebase
|
|
23
|
+
- Check for existing task files: `TODO.md`, `TASKS.md`, issues
|
|
24
|
+
- Group by priority (critical, high, medium, low)
|
|
25
|
+
- Group by area (frontend, backend, infra, docs)
|
|
26
|
+
|
|
27
|
+
### Add (`$0` = "add")
|
|
28
|
+
- Add a task to the project's task tracking file
|
|
29
|
+
- If no task file exists, create `TODO.md` at project root
|
|
30
|
+
- Format: `- [ ] [priority] description (added: date)`
|
|
31
|
+
|
|
32
|
+
### Done (`$0` = "done")
|
|
33
|
+
- Mark a task as completed
|
|
34
|
+
- Update the task file with completion date
|
|
35
|
+
- Remove the corresponding TODO comment from code if applicable
|
|
36
|
+
|
|
37
|
+
### Status (`$0` = "status")
|
|
38
|
+
- Show overall project status:
|
|
39
|
+
- Total tasks: open vs completed
|
|
40
|
+
- Recent git activity: `git log --oneline -10`
|
|
41
|
+
- Open TODO/FIXME count by file
|
|
42
|
+
- Upcoming deadlines if any are noted in task files
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genskills:branch-manager
|
|
3
|
+
description: >
|
|
4
|
+
Manage git branches — create, switch, merge, rebase, clean up stale branches.
|
|
5
|
+
Triggers on: "manage branches", "clean branches", "create branch",
|
|
6
|
+
"merge branch", "rebase", "branch cleanup".
|
|
7
|
+
user-invocable: true
|
|
8
|
+
argument-hint: "[action: create|cleanup|merge|rebase] [branch name]"
|
|
9
|
+
allowed-tools: "Bash(git *), Read"
|
|
10
|
+
genskills-version: "1.0.0"
|
|
11
|
+
genskills-category: "workflow"
|
|
12
|
+
genskills-depends: []
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Branch Manager
|
|
16
|
+
|
|
17
|
+
Manage git branches efficiently.
|
|
18
|
+
|
|
19
|
+
## Actions
|
|
20
|
+
|
|
21
|
+
### Create (`$0` = "create")
|
|
22
|
+
- Create a new branch from the current or specified base
|
|
23
|
+
- Use naming convention: `<type>/<short-description>`
|
|
24
|
+
- Types: feature/, fix/, chore/, docs/, refactor/
|
|
25
|
+
- Example: `feature/add-user-auth`
|
|
26
|
+
- Switch to the new branch
|
|
27
|
+
|
|
28
|
+
### Cleanup (`$0` = "cleanup")
|
|
29
|
+
- List all local branches
|
|
30
|
+
- Identify merged branches: `git branch --merged main`
|
|
31
|
+
- Identify stale branches (no commits in 30+ days)
|
|
32
|
+
- Show branches with their last commit date
|
|
33
|
+
- Confirm before deleting — never force delete without asking
|
|
34
|
+
- Clean up remote tracking: `git remote prune origin`
|
|
35
|
+
|
|
36
|
+
### Merge (`$0` = "merge")
|
|
37
|
+
- Merge `$1` into the current branch
|
|
38
|
+
- If conflicts arise, show the conflicting files and help resolve
|
|
39
|
+
- Never use `--force` or destructive operations without explicit confirmation
|
|
40
|
+
|
|
41
|
+
### Rebase (`$0` = "rebase")
|
|
42
|
+
- Rebase current branch onto `$1` (defaults to main)
|
|
43
|
+
- If conflicts arise, help resolve them step by step
|
|
44
|
+
- Warn about rebase implications for shared branches
|
|
45
|
+
|
|
46
|
+
### Status (default if no action specified)
|
|
47
|
+
- Show current branch
|
|
48
|
+
- Show `git log --oneline -10`
|
|
49
|
+
- Show branches with tracking status
|
|
50
|
+
- Show uncommitted changes summary
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genskills:ci-fix
|
|
3
|
+
description: >
|
|
4
|
+
Diagnose and fix failing CI/CD pipeline issues. Analyzes build logs,
|
|
5
|
+
test failures, and configuration problems. Triggers on: "fix CI", "CI failing",
|
|
6
|
+
"pipeline broken", "build failed", "GitHub Actions failing".
|
|
7
|
+
user-invocable: true
|
|
8
|
+
argument-hint: "[CI run URL or 'latest']"
|
|
9
|
+
allowed-tools: "Read, Edit, Grep, Glob, Bash(gh *), Bash(git *)"
|
|
10
|
+
genskills-version: "1.0.0"
|
|
11
|
+
genskills-category: "workflow"
|
|
12
|
+
genskills-depends: []
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# CI Fix
|
|
16
|
+
|
|
17
|
+
Diagnose and fix CI/CD pipeline failures.
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### Step 1: Get CI Logs
|
|
22
|
+
- If `$ARGUMENTS` contains a URL, fetch that run's logs
|
|
23
|
+
- If `$ARGUMENTS` = "latest" or empty, get the latest run:
|
|
24
|
+
`gh run list --limit 5` then `gh run view <id> --log-failed`
|
|
25
|
+
- Identify the failing step and error messages
|
|
26
|
+
|
|
27
|
+
### Step 2: Diagnose
|
|
28
|
+
Common failure categories:
|
|
29
|
+
- **Test failures**: Read failing test, identify the root cause
|
|
30
|
+
- **Build errors**: TypeScript errors, missing dependencies, syntax issues
|
|
31
|
+
- **Lint failures**: Style violations, import errors
|
|
32
|
+
- **Dependency issues**: Lock file conflicts, missing packages, version incompatibilities
|
|
33
|
+
- **Environment issues**: Missing env vars, wrong Node/Python version
|
|
34
|
+
- **Timeout**: Slow tests, infinite loops, missing mocks
|
|
35
|
+
|
|
36
|
+
### Step 3: Fix
|
|
37
|
+
- Apply the fix to the relevant files
|
|
38
|
+
- If it's a flaky test, add retry logic or fix the underlying race condition
|
|
39
|
+
- If it's a config issue, update the workflow file
|
|
40
|
+
- If it's a dependency issue, update package.json / requirements.txt
|
|
41
|
+
|
|
42
|
+
### Step 4: Verify Locally
|
|
43
|
+
- Run the failing command locally to verify the fix
|
|
44
|
+
- Suggest pushing the fix and monitoring the CI run
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genskills:deploy
|
|
3
|
+
description: >
|
|
4
|
+
Guide deployment workflows with pre-deploy checks, build verification,
|
|
5
|
+
and post-deploy monitoring. Triggers on: "deploy", "release to production",
|
|
6
|
+
"ship it", "push to prod".
|
|
7
|
+
user-invocable: true
|
|
8
|
+
disable-model-invocation: true
|
|
9
|
+
argument-hint: "[environment: staging|production]"
|
|
10
|
+
allowed-tools: "Read, Grep, Glob, Bash"
|
|
11
|
+
genskills-version: "1.0.0"
|
|
12
|
+
genskills-category: "workflow"
|
|
13
|
+
genskills-depends: []
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Deploy
|
|
17
|
+
|
|
18
|
+
Guided deployment workflow with safety checks.
|
|
19
|
+
|
|
20
|
+
**Note**: This skill is user-invocable only (not auto-triggered) for safety.
|
|
21
|
+
|
|
22
|
+
## Process
|
|
23
|
+
|
|
24
|
+
### Step 1: Pre-deploy Checklist
|
|
25
|
+
- [ ] All tests passing
|
|
26
|
+
- [ ] No uncommitted changes (`git status`)
|
|
27
|
+
- [ ] On the correct branch
|
|
28
|
+
- [ ] Branch is up to date with remote
|
|
29
|
+
- [ ] No pending dependency vulnerabilities (`npm audit` / `pip audit`)
|
|
30
|
+
- [ ] Build succeeds locally
|
|
31
|
+
|
|
32
|
+
### Step 2: Identify Deploy Method
|
|
33
|
+
Check the project for:
|
|
34
|
+
- `Dockerfile` / `docker-compose.yml` → Docker-based
|
|
35
|
+
- `vercel.json` / `.vercel/` → Vercel
|
|
36
|
+
- `netlify.toml` → Netlify
|
|
37
|
+
- `.github/workflows/deploy*` → GitHub Actions
|
|
38
|
+
- `fly.toml` → Fly.io
|
|
39
|
+
- `Procfile` → Heroku
|
|
40
|
+
- Custom scripts in `package.json` (`deploy`, `release`)
|
|
41
|
+
|
|
42
|
+
### Step 3: Execute Deploy
|
|
43
|
+
Based on detected method, run the appropriate deploy command.
|
|
44
|
+
Always confirm with the user before executing deployment commands.
|
|
45
|
+
|
|
46
|
+
Environment from `$ARGUMENTS`:
|
|
47
|
+
- `staging` (default): Deploy to staging/preview
|
|
48
|
+
- `production`: Deploy to production (requires explicit confirmation)
|
|
49
|
+
|
|
50
|
+
### Step 4: Post-deploy
|
|
51
|
+
- Verify the deployment succeeded
|
|
52
|
+
- Show the deployed URL if available
|
|
53
|
+
- Suggest monitoring steps
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genskills:git-commit
|
|
3
|
+
description: >
|
|
4
|
+
Create well-structured git commits with conventional commit format,
|
|
5
|
+
smart staging, and AI-generated messages. Triggers on: "commit",
|
|
6
|
+
"save changes", "git commit", "stage and commit".
|
|
7
|
+
user-invocable: true
|
|
8
|
+
argument-hint: "[optional commit message]"
|
|
9
|
+
allowed-tools: "Read, Grep, Glob, Bash(git *)"
|
|
10
|
+
genskills-version: "1.0.0"
|
|
11
|
+
genskills-category: "workflow"
|
|
12
|
+
genskills-depends: []
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Git Commit
|
|
16
|
+
|
|
17
|
+
Create structured, well-described git commits.
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### Step 1: Analyze Changes
|
|
22
|
+
- Run `git status` to see all changed files
|
|
23
|
+
- Run `git diff` (unstaged) and `git diff --cached` (staged)
|
|
24
|
+
- If nothing is staged, analyze unstaged changes for smart staging
|
|
25
|
+
|
|
26
|
+
### Step 2: Smart Staging
|
|
27
|
+
If no files are staged:
|
|
28
|
+
- Group related changes logically
|
|
29
|
+
- Suggest which files should be committed together
|
|
30
|
+
- Stage the appropriate files using `git add <specific files>`
|
|
31
|
+
- Never use `git add -A` — always be explicit
|
|
32
|
+
|
|
33
|
+
### Step 3: Generate Commit Message
|
|
34
|
+
If `$ARGUMENTS` is provided, use it as the commit message.
|
|
35
|
+
Otherwise, generate one:
|
|
36
|
+
|
|
37
|
+
**Conventional Commit Format:**
|
|
38
|
+
```
|
|
39
|
+
<type>(<scope>): <description>
|
|
40
|
+
|
|
41
|
+
<body>
|
|
42
|
+
|
|
43
|
+
<footer>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Types**: feat, fix, docs, style, refactor, perf, test, build, ci, chore
|
|
47
|
+
**Scope**: The module/component affected
|
|
48
|
+
**Description**: Imperative mood, no period, max 72 chars
|
|
49
|
+
**Body**: What and why (not how)
|
|
50
|
+
|
|
51
|
+
### Step 4: Commit
|
|
52
|
+
- Create the commit with the generated message
|
|
53
|
+
- Show the commit hash and summary
|
|
54
|
+
- Never use `--no-verify` — if hooks fail, report the issue
|
|
55
|
+
|
|
56
|
+
### Step 5: Post-commit
|
|
57
|
+
- Show `git log --oneline -5` for context
|
|
58
|
+
- Suggest next steps (push, create PR, continue working)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genskills:pr-create
|
|
3
|
+
description: >
|
|
4
|
+
Create pull requests with AI-generated titles, descriptions, and test plans.
|
|
5
|
+
Triggers on: "create PR", "open PR", "pull request", "make PR", "submit PR".
|
|
6
|
+
user-invocable: true
|
|
7
|
+
argument-hint: "[base branch, defaults to main]"
|
|
8
|
+
allowed-tools: "Read, Grep, Glob, Bash(git *), Bash(gh *)"
|
|
9
|
+
genskills-version: "1.0.0"
|
|
10
|
+
genskills-category: "workflow"
|
|
11
|
+
genskills-depends:
|
|
12
|
+
- genskills:git-commit
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# PR Create
|
|
16
|
+
|
|
17
|
+
Create well-documented pull requests.
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### Step 1: Analyze Branch
|
|
22
|
+
- Determine the base branch (from `$ARGUMENTS` or default to main/master)
|
|
23
|
+
- Run `git log <base>..HEAD` to see all commits on this branch
|
|
24
|
+
- Run `git diff <base>...HEAD` to see the full diff
|
|
25
|
+
- Check if the branch is pushed to remote
|
|
26
|
+
|
|
27
|
+
### Step 2: Generate PR Content
|
|
28
|
+
**Title**: Short (under 70 chars), descriptive, imperative mood
|
|
29
|
+
**Description**:
|
|
30
|
+
```markdown
|
|
31
|
+
## Summary
|
|
32
|
+
<1-3 bullet points describing what this PR does and why>
|
|
33
|
+
|
|
34
|
+
## Changes
|
|
35
|
+
<Grouped list of significant changes>
|
|
36
|
+
|
|
37
|
+
## Test Plan
|
|
38
|
+
<How to verify this PR works>
|
|
39
|
+
- [ ] Unit tests pass
|
|
40
|
+
- [ ] Manual testing steps
|
|
41
|
+
|
|
42
|
+
## Screenshots
|
|
43
|
+
<If UI changes, suggest adding screenshots>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Step 3: Push and Create
|
|
47
|
+
- Push the branch if not already pushed: `git push -u origin <branch>`
|
|
48
|
+
- Create the PR using: `gh pr create --title "..." --body "..."`
|
|
49
|
+
- Add labels if applicable
|
|
50
|
+
|
|
51
|
+
### Step 4: Report
|
|
52
|
+
- Show the PR URL
|
|
53
|
+
- List reviewers to consider adding
|