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.
Files changed (97) hide show
  1. package/README.md +259 -0
  2. package/dist/cli/commands/clean.d.ts +3 -0
  3. package/dist/cli/commands/clean.d.ts.map +1 -0
  4. package/dist/cli/commands/clean.js +100 -0
  5. package/dist/cli/commands/clean.js.map +1 -0
  6. package/dist/cli/commands/disable.d.ts +3 -0
  7. package/dist/cli/commands/disable.d.ts.map +1 -0
  8. package/dist/cli/commands/disable.js +44 -0
  9. package/dist/cli/commands/disable.js.map +1 -0
  10. package/dist/cli/commands/doctor.d.ts +3 -0
  11. package/dist/cli/commands/doctor.d.ts.map +1 -0
  12. package/dist/cli/commands/doctor.js +151 -0
  13. package/dist/cli/commands/doctor.js.map +1 -0
  14. package/dist/cli/commands/enable.d.ts +3 -0
  15. package/dist/cli/commands/enable.d.ts.map +1 -0
  16. package/dist/cli/commands/enable.js +48 -0
  17. package/dist/cli/commands/enable.js.map +1 -0
  18. package/dist/cli/commands/init.d.ts +3 -0
  19. package/dist/cli/commands/init.d.ts.map +1 -0
  20. package/dist/cli/commands/init.js +94 -0
  21. package/dist/cli/commands/init.js.map +1 -0
  22. package/dist/cli/commands/install.d.ts +3 -0
  23. package/dist/cli/commands/install.d.ts.map +1 -0
  24. package/dist/cli/commands/install.js +40 -0
  25. package/dist/cli/commands/install.js.map +1 -0
  26. package/dist/cli/commands/list.d.ts +3 -0
  27. package/dist/cli/commands/list.d.ts.map +1 -0
  28. package/dist/cli/commands/list.js +60 -0
  29. package/dist/cli/commands/list.js.map +1 -0
  30. package/dist/cli/commands/update.d.ts +3 -0
  31. package/dist/cli/commands/update.d.ts.map +1 -0
  32. package/dist/cli/commands/update.js +58 -0
  33. package/dist/cli/commands/update.js.map +1 -0
  34. package/dist/cli/index.d.ts +8 -0
  35. package/dist/cli/index.d.ts.map +1 -0
  36. package/dist/cli/index.js +33 -0
  37. package/dist/cli/index.js.map +1 -0
  38. package/dist/cli/utils/config-loader.d.ts +37 -0
  39. package/dist/cli/utils/config-loader.d.ts.map +1 -0
  40. package/dist/cli/utils/config-loader.js +129 -0
  41. package/dist/cli/utils/config-loader.js.map +1 -0
  42. package/dist/cli/utils/copy.d.ts +26 -0
  43. package/dist/cli/utils/copy.d.ts.map +1 -0
  44. package/dist/cli/utils/copy.js +182 -0
  45. package/dist/cli/utils/copy.js.map +1 -0
  46. package/dist/cli/utils/dependency-resolver.d.ts +26 -0
  47. package/dist/cli/utils/dependency-resolver.d.ts.map +1 -0
  48. package/dist/cli/utils/dependency-resolver.js +181 -0
  49. package/dist/cli/utils/dependency-resolver.js.map +1 -0
  50. package/dist/cli/utils/hooks.d.ts +22 -0
  51. package/dist/cli/utils/hooks.d.ts.map +1 -0
  52. package/dist/cli/utils/hooks.js +124 -0
  53. package/dist/cli/utils/hooks.js.map +1 -0
  54. package/dist/cli/utils/logger.d.ts +13 -0
  55. package/dist/cli/utils/logger.d.ts.map +1 -0
  56. package/dist/cli/utils/logger.js +57 -0
  57. package/dist/cli/utils/logger.js.map +1 -0
  58. package/dist/cli/utils/manifest.d.ts +29 -0
  59. package/dist/cli/utils/manifest.d.ts.map +1 -0
  60. package/dist/cli/utils/manifest.js +110 -0
  61. package/dist/cli/utils/manifest.js.map +1 -0
  62. package/dist/cli/utils/paths.d.ts +46 -0
  63. package/dist/cli/utils/paths.d.ts.map +1 -0
  64. package/dist/cli/utils/paths.js +150 -0
  65. package/dist/cli/utils/paths.js.map +1 -0
  66. package/dist/index.d.ts +12 -0
  67. package/dist/index.d.ts.map +1 -0
  68. package/dist/index.js +30 -0
  69. package/dist/index.js.map +1 -0
  70. package/dist/postinstall.d.ts +9 -0
  71. package/dist/postinstall.d.ts.map +1 -0
  72. package/dist/postinstall.js +58 -0
  73. package/dist/postinstall.js.map +1 -0
  74. package/package.json +52 -0
  75. package/plugin.json +60 -0
  76. package/schemas/genskills-config.schema.json +91 -0
  77. package/skills/code-quality/code-review/SKILL.md +65 -0
  78. package/skills/code-quality/lint-fix/SKILL.md +44 -0
  79. package/skills/code-quality/refactor/SKILL.md +43 -0
  80. package/skills/code-quality/security-audit/SKILL.md +71 -0
  81. package/skills/code-quality/test-generator/SKILL.md +51 -0
  82. package/skills/code-quality/type-check/SKILL.md +41 -0
  83. package/skills/development/debug/SKILL.md +53 -0
  84. package/skills/development/migrate/SKILL.md +50 -0
  85. package/skills/development/perf-optimize/SKILL.md +64 -0
  86. package/skills/development/scaffold/SKILL.md +52 -0
  87. package/skills/documentation/api-docs/SKILL.md +51 -0
  88. package/skills/documentation/doc-gen/SKILL.md +49 -0
  89. package/skills/documentation/readme-gen/SKILL.md +68 -0
  90. package/skills/project-management/changelog-gen/SKILL.md +61 -0
  91. package/skills/project-management/release-notes/SKILL.md +62 -0
  92. package/skills/project-management/task-tracker/SKILL.md +42 -0
  93. package/skills/workflow/branch-manager/SKILL.md +50 -0
  94. package/skills/workflow/ci-fix/SKILL.md +44 -0
  95. package/skills/workflow/deploy/SKILL.md +53 -0
  96. package/skills/workflow/git-commit/SKILL.md +58 -0
  97. 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