CCPM Project Management
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
Design a delivery team's communication system — channel routing, meeting-load reduction, status structure, escalation SLAs, timezone norms.
$ npx skills add borghei/Claude-Skills --skill team-communications -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install borghei/Claude-Skills team-communications --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/project-management/team-communications .claude/skills/team-communications && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "team-communications" agent skill from https://github.com/borghei/Claude-Skills/tree/main/project-management/team-communications into .claude/skills/team-communications/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-communications", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/borghei/Claude-Skills/tree/main/project-management/team-communicationsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add borghei/Claude-Skills --skill team-communications -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install borghei/Claude-Skills team-communications --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/project-management/team-communications .agents/skills/team-communications && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "team-communications" agent skill from https://github.com/borghei/Claude-Skills/tree/main/project-management/team-communications into .agents/skills/team-communications/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-communications", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borghei/Claude-Skills --skill team-communications -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install borghei/Claude-Skills team-communications --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/project-management/team-communications .cursor/skills/team-communications && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "team-communications" agent skill from https://github.com/borghei/Claude-Skills/tree/main/project-management/team-communications into .cursor/skills/team-communications/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-communications", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/borghei/Claude-Skills.git --path project-management/team-communications--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add borghei/Claude-Skills --skill team-communications -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install borghei/Claude-Skills team-communications --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/project-management/team-communications .gemini/skills/team-communications && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "team-communications" agent skill from https://github.com/borghei/Claude-Skills/tree/main/project-management/team-communications into .gemini/skills/team-communications/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-communications", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install borghei/Claude-Skills team-communicationsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add borghei/Claude-Skills --skill team-communications -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/project-management/team-communications .github/skills/team-communications && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "team-communications" agent skill from https://github.com/borghei/Claude-Skills/tree/main/project-management/team-communications into .github/skills/team-communications/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-communications", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borghei/Claude-Skills --skill team-communications -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install borghei/Claude-Skills team-communications --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/project-management/team-communications .opencode/skills/team-communications && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "team-communications" agent skill from https://github.com/borghei/Claude-Skills/tree/main/project-management/team-communications into .opencode/skills/team-communications/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "team-communications", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
team-communicationsDesign a delivery team's communication system — channel routing, meeting-load reduction, status structure, escalation SLAs, timezone norms.
Team Communications is an agent skill from borghei/Claude-Skills. Design a delivery team's communication system — channel routing, meeting-load reduction, status structure, escalation SLAs, timezone norms. Use when the calendar is full, updates go unread, or blockers surface late.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts, reference files and assets (for example `assets/communication_charter_template.md`, `assets/sample_calendar.json` and `assets/sample_messages.json`).
The repository describes itself as: 385 AI skills, 77 expert agents, and 900 stdlib Python tools for every team: engineering, PM, marketing, C-level, compliance, business ops, research, and a LinkedIn toolkit… The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4a698e8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Team Communications loads about 3.2k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 59 tokens; SKILL.md has 1,679 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from borghei/Claude-Skills at commit 4a698e8, republished under its MIT licence (© borghei). 1,679 words, ~3,222 tokens.
.claude/skills/team-communications/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.The operating system a delivery team runs its information on: which channel a given message belongs in, how much the recurring calendar actually costs, how a status update survives a 20-second executive skim, and what happens when someone is blocked. Most teams never design this — it accretes, one well-intentioned meeting at a time, until 30% of the week is gone and blockers still surface three days late.
Before generating, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
assets/sample_calendar.json): people with hourly cost and timezone,
meetings with duration, cadence, attendees, day, start time.KILL outright, convert every ASYNC to a written update with
a comment window, then merge the 60%+ audience overlaps.python3 project-management/team-communications/scripts/meeting_load_auditor.py \
--input project-management/team-communications/assets/sample_calendar.json \
--maker-hours-target 24 --format textassets/sample_messages.json shape.one_way /
two_way), stakeholder count, shared context (low / medium / high),
and hours until it is needed.python3 project-management/team-communications/scripts/channel_router.py \
--input project-management/team-communications/assets/sample_messages.json \
--core-overlap-hours 3 --format textassets/status_update_template.md.python3 project-management/team-communications/scripts/status_update_scorer.py \
--input project-management/team-communications/assets/sample_status_update.json \
--format text| Rank | Condition | Channel |
|---|---|---|
| 1 | Emotional load: performance, pay, conflict, standing | Live 1:1 |
| 2 | Irreversible (one-way door) + a decision needed | Written decision record with a named approver |
| 3 | 8+ people and no decision to make | Broadcast |
| 4 | Low shared context + a decision needed | Live meeting with agenda and pre-read |
| 5 | Decision needed within 8 hours | Live meeting — faster than one async round trip |
| 6 | Everything else | Async thread |
Seniority of the requester never appears in this table. A VP wanting a meeting is not a reason; a VP lacking context is (rank 4).
| Verdict | Trigger | Action |
|---|---|---|
| KEEP | Produces decisions, has agenda and notes | Leave it alone |
| TRIM | Produces decisions but leaks structure | Fix the agenda or notes, or cut duration 25% |
| ASYNC | Under 1 decision/month, or 8+ people in a "working session" | Written update + comment window |
| KILL | Under 1 decision/month and no agenda | Cancel; announce the replacement channel |
Decisions per month is the best available proxy for value: countable, hard to game without actually deciding things, and it correctly kills status meetings, which produce zero decisions by design.
| Metric | Healthy | Danger |
|---|---|---|
| IC meeting hours per week | under 6h (15%) | over 10h (25%) |
| Uninterrupted maker hours per week | 24h+ | under 20h |
| Sync share of routed traffic | under 34% | over 50% |
| Status update length | under 400 words | over 600 words |
| Average sentence length | 18-22 words | over 28 words |
| Quantified claims per update | 3+ | 0 |
Acknowledgement is not resolution — "seen it, answer Thursday" fully satisfies an acknowledge SLA and stops the requester re-pinging. Escalation is a process failure signal, not an interpersonal act; say so in the charter, or the team develops silent blockers, which cost far more than the discomfort they avoid.
The full SLA ladder by urgency band and the three-strike escalation rule are in
references/channel-selection-and-meeting-load.md; the charter template ships
them ready to fill in.
Mistake: Reporting green week after week, then going red two weeks before the deadline. Why it happens: Each individual week genuinely feels recoverable, and a yellow invites questions the author does not yet have answers to. Optimism compounds silently. Instead: Go yellow the week a risk becomes plausible, not the week it becomes certain, and attach an owner and a mitigation date. One defensible red buys more credibility than a quarter of unearned greens — and the scorer's risk element exists precisely to force the disclosure.
Mistake: Cancelling the status meeting and the alignment sync in the same week the audit lands, with nothing replacing them. Why it happens: The audit makes the waste vivid and the cuts feel like the whole intervention. The written replacement is unglamorous and gets deferred. Instead: Install the weekly written status first, run both for one cycle, then cancel. The meetings were carrying real information badly; removing the carrier before building a new one converts a load problem into a late-blocker problem, which is more expensive.
Mistake: A team where going to a manager about a blocker is read as tattling, so people wait and hint instead. Why it happens: Nobody wrote down what escalation is for, so everyone infers it from the one time it went badly. Instead: Write in the charter that escalation is a process failure signal, not an interpersonal act, and specify the three strikes by role. Making the ladder public converts strike 3 into a paperwork step rather than a confrontation, because the record already exists.
Mistake: Declaring the team async-first, then watching decisions take two weeks and quietly reinstating the meetings. Why it happens: Async is treated as a channel choice rather than a skill. High Slack volume is mistaken for async maturity, when it is often level-1 verbal culture conducted in writing. Instead: Standardise the decision record shape — decision, approver, options with costs, consequences, comment deadline — before removing sync time. Escalate to a 20-minute call after two unresolved comment rounds, and post the outcome back into the doc.
Mistake: A meeting created for a launch three years ago that still runs weekly with six attendees. Why it happens: Nobody has standing to cancel someone else's meeting, and the original owner has left, so it has no one to defend or kill it. Instead: Give every recurring meeting an expiry date 3-6 months out at creation, plus a named owner. At expiry it is re-justified or it dies by default. Where one already exists with no owner, trial-cancel it for four weeks and ask what broke — roughly two-thirds never come back.
| File | Purpose |
|---|---|
scripts/meeting_load_auditor.py | Person-hours, annual cost, KEEP/TRIM/ASYNC/KILL verdicts, double bookings, consolidation proposal |
scripts/channel_router.py | Routes each message to sync / async / written decision / 1:1 / broadcast with reasons and an SLA |
scripts/status_update_scorer.py | Scores a draft 0-100 on completeness, executive readability and skimmability |
references/channel-selection-and-meeting-load.md | Routing model, cost arithmetic, verdict rubric, consolidation, timezone regimes, escalation ladder, status thresholds, instrumentation |
references/operating-rhythm-and-charter.md | Six-ritual minimum rhythm, ritual design rules, async writing standards, channel taxonomy, maturity model, rollout sequence, failure modes |
assets/communication_charter_template.md | One-page charter: core hours, channel and meeting rules, SLAs, escalation, decision protocol, timezone norms |
assets/status_update_template.md | Update skeleton built for a 20-second executive skim |
assets/sample_calendar.json | Runnable 8-person, 8-meeting calendar export |
assets/sample_messages.json | Runnable set of 7 pending communications |
assets/sample_status_update.json | Runnable mid-quality draft (scores 50 — REVISE) |
© borghei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (scripts, references, assets) in project-management/team-communications of borghei/Claude-Skills.
Open the folder on GitHubat commit 4a698e8
Team Communications next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Team Communications this skillborghei/Claude-Skills | 881 | — | ~3.2k | Automated safety check: Pass | MIT | |
| CCPM Project Managementautomazeio/ccpm | 8.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| LoopX PR Program Managerloopx-project/loopx | 6.2k | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Uvastral-sh/claude-code-plugins | 313 | 2 repos | ~980 | Automated safety check: Pass | Apache-2.0 | |
| Project Managementkunchenguid/firstmate | 7.7k | — | ~2.1k | Automated safety check: Pass | MIT | |
| Team Taskswin4r/team-tasks | 446 | — | ~2.9k | Automated safety check: Pass | None |
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
loopx-project/loopx
Tracks a group of pull or merge requests across repositories as durable LoopX state: inventory, reconcile changes, keep priorities and a roadmap, and monitor over time.
astral-sh/claude-code-plugins
Guide for using uv, the Python package and project manager. An agent skill from astral-sh/claude-code-plugins.
kunchenguid/firstmate
Agent-only procedure for Firstmate project management. An agent skill from kunchenguid/firstmate.
win4r/team-tasks
Coordinate multi-agent development pipelines using shared JSON task files.
croffasia/itsaplan
A skill your agent uses when reviewing code — a diff, a merge request, a file, a directory, or a feature.
borghei/Claude-Skills
Run delivery when AI coding and ops agents take tickets. An agent skill from borghei/Claude-Skills.
borghei/Claude-Skills
Check AI-generated marketing content and reviews for required disclosures under the EU AI Act, FTC rules and platform AI-label policies.
borghei/Claude-Skills
Idea to AI-generated prototype to customer validation to engineering handoff.
borghei/Claude-Skills
Analytics engineering across data modeling, dbt, transformation, and semantic layers.
borghei/Claude-Skills
Ansoff Matrix — 4-quadrant framework for growth options: market penetration, market/product development, and diversification.
borghei/Claude-Skills
OKR brainstorming and validation using the Radical Focus framework — outcome objectives, measurable key results, counter-metrics.
Design a delivery team's communication system — channel routing, meeting-load reduction, status structure, escalation SLAs, timezone norms. Team Communications is an agent skill from borghei/Claude-Skills. Design a delivery team's communication system — channel routing, meeting-load reduction, status structure, escalation SLAs, timezone norms.
Team Communications fits situations like: the calendar is full; updates go unread; blockers surface late.
Run `npx skills add borghei/Claude-Skills --skill team-communications -a claude-code`. Or copy the skill folder (project-management/team-communications in borghei/Claude-Skills) into .claude/skills/team-communications in your project. Claude Code loads it when a task matches its description.
Run `npx skills add borghei/Claude-Skills --skill team-communications -a codex`. Or copy the skill folder (project-management/team-communications in borghei/Claude-Skills) into .agents/skills/team-communications in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add borghei/Claude-Skills --skill team-communications -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/team-communications, .gemini/skills/team-communications, .github/skills/team-communications and .opencode/skills/team-communications in your project.
Going by SKILL.md and its folder, Team Communications needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Team Communications is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 8.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Team Communications: CCPM Project Management (automazeio/ccpm, 8.4k stars), LoopX PR Program Manager (loopx-project/loopx, 6.2k stars), Uv (astral-sh/claude-code-plugins, 313 stars) and Project Management (kunchenguid/firstmate, 7.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
borghei (a GitHub user) maintains it in borghei/Claude-Skills, which has 881 GitHub stars. The repository holds 349 skills in this directory. The repository was last updated on October 7, 2026.
Source: borghei/Claude-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.