.agents/skills/project-manager/SKILL.md
Manage GitHub issues and the GitHub Project board for the current repository, while keeping the local tracker in sync. Use when the user wants to capture freeform requirements as issues, flesh out issue descriptions from repo or upstream research, triage Priority/Size/Workflow/Status, add issues or PRs to the repo's configured project board, or reconcile GitHub state with `.local/work-items.yaml`.
npx skillsauth add pwrdrvr/ghcrawl project-managerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill for repo-local project management.
devDependencies and invoke them through pnpm or node..local/work-items.yaml as a derived repo-local cross-reference map that can be regenerated from the project board..local/issue-drafts/..agents/project-manager.config.json before taking action.Expected config shape:
{
"repo": "owner/repo",
"projectOwner": "owner",
"projectNumber": 7,
"projectUrl": "https://github.com/orgs/owner/projects/7",
"trackerPath": ".local/work-items.yaml",
"issueDraftDir": ".local/issue-drafts",
"localIdPrefix": "item-"
}
Refresh the derived tracker with:
pnpm project:sync
.local/issue-drafts/<nn>-<slug>.md.gh issue create, gh issue edit, and gh issue comment.Plugin:..agents/project-manager.config.json.gh project item-add <project-number> --owner <project-owner> --url <issue-or-pr-url>.Status, Priority, Size, and Workflow.Status and Workflow; Priority and Size are issue-planning fields unless there is a specific reason to set them on the PR item..local/work-items.yaml.pnpm project:sync after issue/project changes..local/issue-drafts/; the tracker should stay compact.gh issue list, gh project item-list, and gh project field-list to confirm GitHub matches the local tracker.Status: Inbox, Ready, In Progress, In Review, DoneWorkflow: Plan, Review, Threads, Worktrees, BranchesTriage heuristic for this repo:
P0: quick wins that shrink the board fast, plus high-visibility completeness or pizazz workP1: larger user-visible completeness workP2: infrastructure, refactors, planning spikes, and corner-case cleanup unless they are very quickSize heuristic:
XS or S: obvious quick winsM: bounded feature or bug fix with a few moving partsL: visible feature touching multiple flowsXL: large architectural or cross-cutting workStart by discovering current project field ids instead of assuming they never change:
gh repo view --json nameWithOwner,url
gh project view <project-number> --owner <project-owner> --format json
gh project field-list <project-number> --owner <project-owner> --format json
Typical flow:
gh issue create --repo <owner/repo> --title "<title>" --body-file .local/issue-drafts/<file>.md
gh project item-add <project-number> --owner <project-owner> --url <issue-or-pr-url> --format json
gh project item-edit --project-id <project-id> --id <item-id> --field-id <field-id> --single-select-option-id <option-id>
gh project item-list <project-number> --owner <project-owner> --format json
Refresh the local tracker:
pnpm project:sync
.agents/project-manager.config.json as canonical when it is present.gh project item-edit needs opaque ids for the project, item, field, and single-select option. Always discover them with gh project view ... and gh project field-list ... instead of assuming cached ids still match.gh or GraphQL mutations. Reading views works, but creating/editing/copying views is still better done in the web UI or browser automation. gh project copy does not carry over custom views..local/work-items.yaml is currently issue-only. Add PRs to the project board, but do not expect pnpm project:sync to mirror PR items into the local tracker..local/issue-drafts/<nn>-<slug>.md filenames are local scratch ids, not GitHub issue numbers. Keep them stable enough to reuse, but do not try to force them to match the eventual GitHub issue number.Each .local/work-items.yaml item should keep:
local_idtitlereposource_notegithub.issue_numbergithub.issue_urlgithub.project_numbergithub.project_urlgithub.project_item_idstate.issue_statestate.project_statusstate.workflowstate.prioritystate.sizenotesKeep notes factual and short. Store raw findings and writeups in the issue draft file or GitHub issue, not as sprawling tracker prose.
tools
Use the local ghcrawl CLI to inspect duplicate clusters and issue/PR summaries from the existing ghcrawl dataset, and refresh one repo only when the user explicitly asks. Use when a user wants to triage related issues or PRs, inspect semantic clusters, or run ghcrawl's staged refresh pipeline.
documentation
Plan and publish a GitHub Release in a tag-driven repository. Use when a user asks to cut, prepare, or publish a software release, propose the next vX.Y.Z tag, support prerelease tags like vX.Y.Z-beta.N, draft better release notes from PRs and direct commits since the last release, update CHANGELOG.md, create the tag pinned to an exact commit, and watch the publish workflow.
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
testing
Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).