Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/jackchuka/ghpmnpx agentmods add skills/jackchuka/ghpm/ghpm-initWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jackchuka/ghpm/ghpm-init)<a href="https://agentmods.dev/skills/jackchuka/ghpm/ghpm-init"><img src="https://agentmods.dev/badge/skills/jackchuka/ghpm/ghpm-init/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jackchuka/ghpm/ghpm-init"><img src="https://agentmods.dev/badge/skills/jackchuka/ghpm/ghpm-init.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00037 | $0.01761 |
| Opus 5.5 | $0.00015 | $0.00704 |
| Sonnet 5.5 | $0.00007 | $0.00352 |
| Haiku 4.5 | $0.00004 | $0.00176 |
Grade A, and why
ghpm-init scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 189 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ghpm-init
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.
Arguments
- Project URL (e.g.,
https://github.com/orgs/<org>/projects/<number>) - If no arguments, ask the user for the project URL or owner + number.
Workflow
Phase 1: Validate Access
- Parse arguments to extract owner and project number from URL or positional args.
- Run
gh auth statusto verify authentication. If this fails, tell the user to rungh auth loginand stop. - Run
gh project view <number> --owner <owner> --format jsonto 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. - Determine the owner type from the project view output. This matters for Phase 3: use
organization(login: "<owner>")for org-owned projects oruser(login: "<owner>")for user-owned projects.
Phase 2: Discover Schema
- Run
gh project field-list <number> --owner <owner> --format jsonto get all fields with IDs, types, and options. - Identify the workflow field: find the
ProjectV2SingleSelectFieldnamed "Status". If multiple candidates or none found, ask the user which field drives the kanban workflow. - Separate the workflow field from other fields.
Phase 3: Discover Views
- Run GraphQL query to fetch all views. Use the owner type determined in Phase 1 to choose the correct root field:
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
}
}
}
}
}
}
}'
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 189 lines · 37 tokens per session scan A 44c3e9772fe5
ghpm-init is a skill published in the GitHub repository jackchuka/ghpm (20 stars, last pushed 10d ago), licensed MIT. It adds 37 tokens to every session and 1,761 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
git-issue-triage
Groom an open GitHub backlog with gh - one read-only sweep, every open issue bucketed into exactly one category (unlabeled, unprioritized, stale, likely duplicate, closeable, blocked, healthy), a per-issue report, per-category confirmation, then batched label / state / comment edits. Use when the user says "triage…
git-issue-create
Open one standalone GitHub issue with gh - duplicate-checked first, conventional title, repo-template-aware body, auto-resolved labels. Use for every issue-filing request however casual: "open an issue", "file a bug", "make a ticket", "/git-issue-create", "track this", "note this down", "we should fix X later", or…
git-issue-start
Take a GitHub issue from open to a checked-out branch - assign it to you, mark it in progress if the repo has such a label, derive a conventional branch name from its type: label, branch off the detected base. Use for "start issue 42", "work on #42", "/git-issue-start 42", "let's do 42", "pick up that issue", "take…
airtable-automation
Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views. Always search tools first for current schemas.
360-feedback-system
360 feedback register: reviewer, subject, review cycle, visibility, due date and score, as CSV, SQL, JSON Schema or Notion on request. Use for 360 reviews or peer feedback cycles.
alumni-re-hire-tracker
Alumni and re-hire register: former role, last working day, re-hire eligibility, current employer and re-engagement date, as CSV, SQL, JSON Schema or Notion on request. Use for alumni outreach.