一键导入
ghpm-init
Initialize GitHub Project Management config. Auto-discovers project schema (fields, views, repos) and generates .ghpm/config.json + .ghpm/cache.json.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Initialize GitHub Project Management config. Auto-discovers project schema (fields, views, repos) and generates .ghpm/config.json + .ghpm/cache.json.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
File a GitHub issue and add it to the project board. Works mid-session or standalone. Reads .ghpm/config.json for repo list and project.
Shared reference for all ghpm skills — prerequisites, config format, startup sequence, and error handling.
GitHub Project health dashboard. Shows workflow distribution, component health, team workload, items needing attention, and available views.
Suggest what to work on next based on project state and session context. Considers proximity, momentum, status, and constraints.
Query GitHub Project items by named view or ad-hoc filter. Shows items in board, table, or roadmap format.
End-to-end work session on a GitHub Project item. Setup → Clarify → Plan → Implement → PR, with decisions captured throughout. Use when starting work on an issue, picking up a task, or resuming an interrupted session.
| name | ghpm-init |
| description | Initialize GitHub Project Management config. Auto-discovers project schema (fields, views, repos) and generates .ghpm/config.json + .ghpm/cache.json. |
| argument-hint | <project-url> |
| allowed-tools | Bash(gh:*), Bash(mkdir:*), Read, Write, Grep |
| compatibility | Requires gh CLI authenticated with read:project and project scopes |
| metadata | {"author":"jackchuka","scope":"generic","confirms":["save to filesystem","modify settings files"]} |
PREREQUISITE: Read
../ghpm-shared/SKILL.mdfor prerequisites and error handling.
Initialize a GitHub Projects v2 project for use with ghpm skills. Auto-discovers schema and generates config files.
https://github.com/orgs/<org>/projects/<number>)gh auth status to verify authentication. If this fails, tell the user to run gh auth login and stop.gh project view <number> --owner <owner> --format json to verify access and get project metadata (id, title). If this fails with 403/404, tell the user to check token scopes (read:project, project) and project access.organization(login: "<owner>") for org-owned projects or user(login: "<owner>") for user-owned projects.gh project field-list <number> --owner <owner> --format json to get all fields with IDs, types, and options.ProjectV2SingleSelectField named "Status". If multiple candidates or none found, ask the user which field drives the kanban workflow.gh api graphql -f query='
{
organization(login: "<owner>") {
projectV2(number: <number>) {
views(first: 50) {
nodes {
id
name
number
layout
filter
groupByFields(first: 5) {
nodes {
... on ProjectV2Field { name }
... on ProjectV2SingleSelectField { name }
... on ProjectV2IterationField { name }
}
}
sortByFields(first: 5) {
nodes {
field {
... on ProjectV2Field { name }
... on ProjectV2SingleSelectField { name }
... on ProjectV2IterationField { name }
}
direction
}
}
}
}
}
}
}'
gh project item-list <number> --owner <owner> --format json --limit 1000 to fetch all items. The --limit flag controls the total count returned (no cursor pagination available), so use a high value. Note: items beyond the limit are silently truncated — see cache reference for details..ghpm/config.json with this structure:{
"version": 1,
"project": {
"owner": "<owner>",
"number": "<number>",
"id": "<project_node_id>",
"title": "<project_title>"
},
"workflow": {
"field": "<status_field_name>",
"field_id": "<status_field_id>",
"columns": [{ "id": "<option_id>", "name": "<option_name>" }]
},
"fields": [
{
"name": "<field_name>",
"id": "<field_id>",
"type": "<field_type>",
"options": [{ "id": "<option_id>", "name": "<option_name>" }]
}
],
"views": [
{
"name": "<view_name>",
"number": "<view_number>",
"id": "<view_id>",
"layout": "<table|board|roadmap>",
"filter": "<filter_string>",
"sort": [{ "field": "<field_name>", "direction": "<ASC|DESC>" }],
"group_by": ["<field_name>"]
}
],
"cache": {
"ttl_minutes": 30
},
"conventions": {
"branch": "{type}/{issue-number}/{slug}. Detect type from issue labels and title: bug→fix, enhancement/feature→feat, documentation→docs, test→test, refactor→refactor, default→chore",
"status_sync": "On start, set to InProgress if currently Planned or ReadyForDev. On session end with merged PR, set to Done.",
"decisions": "When a design decision is detected, nudge before recording. Post as issue comment."
},
"repos": ["<owner>/<repo>"]
}
sort key on views that have sort fields.group_by key on views that have groupBy fields.options on fields that are single_select or iteration type.owner/repo.Write .ghpm/cache.json per ../ghpm-shared/references/cache.md.
Run mkdir -p .ghpm/sessions. Check if .gitignore exists. If it does, check if .ghpm/ is already listed. If not, ensure the file ends with a newline before appending .ghpm/ on its own line. If .gitignore doesn't exist, create it with .ghpm/\n.
Detect the current agent environment and offer to install hooks/rules for enhanced ghpm-work sessions. See ../ghpm-shared/references/integrations.md for available integrations.
Claude Code detection: Check if .claude/ directory exists or if the current process is running inside Claude Code.
If detected, ask the user:
Detected Claude Code. Install session hooks for ghpm-work? (y/n)
Hooks add: auto session context injection, stale session detection.
Without hooks, ghpm-work still works via explicit commands.
If confirmed:
../ghpm-shared/references/integrations.md into .claude/settings.local.json under the "hooks" key..claude/settings.local.json already exists, merge the "hooks" key into the existing structure (preserve existing settings and hooks, add new ones).If declined or agent not detected, skip.
ghpm initialized for <title> (<owner>/projects/<number>)
Fields: <count> (<list of field names>)
Views: <count> (<list of view names>)
Repos: <count>
Items: <count> cached
Config: .ghpm/config.json (gitignored)
Cache: .ghpm/cache.json (gitignored)
Hooks: <installed|skipped>
Run /ghpm-status for project overview.