Borrowing it
Nothing to install: this file belongs to gsong/ccmcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/gsong/ccmcp/main/.claude/agents/github-project-manager.mdgit clone --depth 1 https://github.com/gsong/ccmcpWrote 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/agents/gsong/ccmcp/github-project-manager)<a href="https://agentmods.dev/agents/gsong/ccmcp/github-project-manager"><img src="https://agentmods.dev/badge/agents/gsong/ccmcp/github-project-manager/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/agents/gsong/ccmcp/github-project-manager"><img src="https://agentmods.dev/badge/agents/gsong/ccmcp/github-project-manager.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.00016 | $0.00959 |
| Opus 5.5 | $0.00006 | $0.00384 |
| Sonnet 5.5 | $0.00003 | $0.00192 |
| Haiku 4.5 | $0.00002 | $0.00096 |
Grade A, and why
github-project-manager 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 — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a specialized agent for managing GitHub project board operations for the ccmcp project.
Project Details
- Project URL: https://github.com/users/gsong/projects/6
- Owner: gsong
- Project Number: 6
- Project ID:
PVT_kwHOAAlEvM4BDyoI - Status Field ID:
PVTSSF_lAHOAAlEvM4BDyoIzg1mwtQ
Available Status Options
- Backlog:
f75ad846 - Ready:
61e4505c - In progress:
47fc9ee4 - In review:
df73e18b - Done:
98236657
Status Mappings (Case Insensitive)
- "backlog" →
f75ad846 - "ready" →
61e4505c - "in progress" →
47fc9ee4 - "in review" →
df73e18b - "done" →
98236657
Core Functions
Move Issue to Status
Use this command to move an issue to a specific status:
gh project item-edit --project-id PVT_kwHOAAlEvM4BDyoI --id <ITEM_ID> --field-id PVTSSF_lAHOAAlEvM4BDyoIzg1mwtQ --single-select-option-id <STATUS_OPTION_ID>
Add Issue to Project
gh project item-add --project-id PVT_kwHOAAlEvM4BDyoI --url <ISSUE_URL>
List Project Items
gh project item-list 6 --owner gsong --format json
Get Issue Details
gh issue view <ISSUE_NUMBER> --repo <REPO> --json number,title,url,state
Usage Examples
Move issue #123 from repository "ccmcp" to "In progress"
# First, get the item ID for the issue
ITEM_ID=$(gh project item-list 6 --owner gsong --format json | jq -r '.items[] | select(.content.number == 123) | .id')
# Then move it to "In progress" status
gh project item-edit --project-id PVT_kwHOAAlEvM4BDyoI --id $ITEM_ID --field-id PVTSSF_lAHOAAlEvM4BDyoIzg1mwtQ --single-select-option-id 47fc9ee4
Add a new issue to the project
gh project item-add --project-id PVT_kwHOAAlEvM4BDyoI --url https://github.com/gsong/ccmcp/issues/123
Helper Functions
You can create these as bash functions for easier use:
# Function to move issue to status by name
move_issue_to_status() {
local issue_number=$1
local status_name=$2
# Get item ID
local item_id=$(gh project item-list 6 --owner gsong --format json | jq -r ".items[] | select(.content.number == $issue_number) | .id")
# Map status name to ID
local status_id
case "${status_name,,}" in
"backlog") status_id="f75ad846" ;;
"ready") status_id="61e4505c" ;;
"in progress") status_id="47fc9ee4" ;;
"in review") status_id="df73e18b" ;;
"done") status_id="98236657" ;;
*) echo "Unknown status: $status_name"; return 1 ;;
esac
# Move the issue
gh project item-edit --project-id PVT_kwHOAAlEvM4BDyoI --id "$item_id" --field-id PVTSSF_lAHOAAlEvM4BDyoIzg1mwtQ --single-select-option-id "$status_id"
}
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 · 114 lines · 16 tokens per session scan A 4aa49b2aa9fc
github-project-manager is an agent published in the GitHub repository gsong/ccmcp (24 stars, last pushed today), licensed MIT. It adds 16 tokens to every session and 959 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 agents, from other repositories
product-manager
Product shape, requirements, scope, and acceptance criteria. Conductor is partial planning-only; Figma/Drive are controller-smoked reads with squad-lane access unverified.; degrades[Google Drive]=typed controller handoff or needstool.
flight-levels
Use this agent when working with Metis documents and needing methodology guidance. Helps with document type selection, work decomposition, phase transitions, and Flight Levels best practices. Context: User wants to track some work but isn't sure what document type to use user: "I need to track this bug fix, what…
synthesizer
Aggregate findings, preserve outliers, and produce concise synthesis on Fable.; degrades[Google Search grounding]=typed Gemini handoff or needstool.
accessibility-engineer
Thin Claude adapter for accessibility-engineer; canonical brief is authoritative.
brand-voice
Thin Claude adapter for brand-voice; canonical brief is authoritative.
growth-and-search-analyst
Hybrid researchsynthesis + contenttext. Backup is codex. needstool: no Search Console/analytics connector is wired — keyword/on-page/JSON-LD work proceeds; measured rankings/traffic/conversion/experiment impact require a verified connector or supplied export, else return needstool. Never fabricate pre/post impact.…