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.
Keeps a live Cursor canvas for a workstream (one agent's line of work) showing its goal, progress through the plan, what needs the owner (what each item unblocks, whether it blocks work, the command…
$ npx skills add pdcgomes/redlamp --skill workstream-canvas -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pdcgomes/redlamp workstream-canvas --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/pdcgomes/redlamp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/workstream-canvas .claude/skills/workstream-canvas && 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 "workstream-canvas" agent skill from https://github.com/pdcgomes/redlamp/tree/main/.cursor/skills/workstream-canvas into .claude/skills/workstream-canvas/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workstream-canvas", 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/pdcgomes/redlamp/tree/main/.cursor/skills/workstream-canvasType 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 pdcgomes/redlamp --skill workstream-canvas -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pdcgomes/redlamp workstream-canvas --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pdcgomes/redlamp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.cursor/skills/workstream-canvas .agents/skills/workstream-canvas && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "workstream-canvas" agent skill from https://github.com/pdcgomes/redlamp/tree/main/.cursor/skills/workstream-canvas into .agents/skills/workstream-canvas/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workstream-canvas", 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 pdcgomes/redlamp --skill workstream-canvas -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pdcgomes/redlamp workstream-canvas --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pdcgomes/redlamp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.cursor/skills/workstream-canvas .cursor/skills/workstream-canvas && 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 "workstream-canvas" agent skill from https://github.com/pdcgomes/redlamp/tree/main/.cursor/skills/workstream-canvas into .cursor/skills/workstream-canvas/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workstream-canvas", 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/pdcgomes/redlamp.git --path .cursor/skills/workstream-canvas--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 pdcgomes/redlamp --skill workstream-canvas -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pdcgomes/redlamp workstream-canvas --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pdcgomes/redlamp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.cursor/skills/workstream-canvas .gemini/skills/workstream-canvas && 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 "workstream-canvas" agent skill from https://github.com/pdcgomes/redlamp/tree/main/.cursor/skills/workstream-canvas into .gemini/skills/workstream-canvas/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workstream-canvas", 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 pdcgomes/redlamp workstream-canvasInstalls 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 pdcgomes/redlamp --skill workstream-canvas -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pdcgomes/redlamp.git skills-src && mkdir -p .github/skills && cp -r skills-src/.cursor/skills/workstream-canvas .github/skills/workstream-canvas && 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 "workstream-canvas" agent skill from https://github.com/pdcgomes/redlamp/tree/main/.cursor/skills/workstream-canvas into .github/skills/workstream-canvas/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workstream-canvas", 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 pdcgomes/redlamp --skill workstream-canvas -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pdcgomes/redlamp workstream-canvas --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pdcgomes/redlamp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.cursor/skills/workstream-canvas .opencode/skills/workstream-canvas && 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 "workstream-canvas" agent skill from https://github.com/pdcgomes/redlamp/tree/main/.cursor/skills/workstream-canvas into .opencode/skills/workstream-canvas/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "workstream-canvas", 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.
workstream-canvasKeeps a live Cursor canvas for a workstream (one agent's line of work) showing its goal, progress through the plan, what needs the owner (what each item unblocks, whether it blocks work, the command…
Workstream Canvas is an agent skill from pdcgomes/redlamp. Keeps a live Cursor canvas for a workstream (one agent's line of work) showing its goal, progress through the plan, what needs the owner (what each item unblocks, whether it blocks work, the command to run), what's ready or blocked, decisions and why, a timestamped log, and measurements. Use when starting a new workstream or agent task, after a step lands (a commit, a tracker row's status, a measurement), when something needs the owner or the owner does it, when the owner decides something or a choice is made…
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `capture.py`).
It sits in Product & Project Management, covering Project management. The repository describes itself as: A native, open-source RAW photo editor for Mac, iPad and iPhone that feels immediately familiar to Lightroom users. The licence is MPL-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d9e23d9. 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 script files (Python), which the agent can run.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
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.
Workstream Canvas loads about 2.1k tokens when it runs. Until then it costs about 157 tokens; SKILL.md has 1,222 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); files beside SKILL.md are not scanned.
The full file from pdcgomes/redlamp at commit d9e23d9, republished under its MPL-2.0 licence (© pdcgomes). 1,222 words, ~2,091 tokens.
.claude/skills/workstream-canvas/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Every workstream keeps one canvas the owner can open beside the chat to see where it stands, and what it needs from them, without reading the transcript. It is brought up to date as the work advances, not at the end.
~/.cursor/projects/<workspace>/canvases/ws-<slug>.canvas.tsx: <workspace> is the Cursor project folder for this repository (find it from absolute paths in the environment, or list ~/.cursor/projects/); <slug> is a short kebab-case name for the workstream (ws-copy-paste-sync).~/.cursor/skills-cursor/canvas/SKILL.md once per session before the first write: its rules apply (theme tokens only, no empty states, label every chart).workstream object, and delete the example rows that don't belong. Leave the rendering code alone; an empty list hides its section or tab.[Workstream title](/absolute/path/ws-slug.canvas.tsx).When the work is a feature with milestones, each made of tracker rows (the library, LIB-01 to LIB-35, is one), start from board-template.tsx instead. It shows overall progress and a bar for each milestone, a Now panel (what's being built, what waits on the owner, what's next), Needs you, every row with its state and issue, the measurements against their budgets, the agents with a button to open each conversation, and the plan's steps, log and decisions folded underneath.
BOARD, MILESTONES (each row with its tracker ID, issue and state), LATER, NOW, AGENTS, DOCS and workstream; leave the rendering alone.done (merged where it ships, its done-when met), built (merged and tested, with a check at scale or a small part left, which its note names), doing, you (waiting on the owner) or todo. Never call a row done that the tracker doesn't.When the work has a plan (plan mode's ~/.cursor/plans/<name>.plan.md, or one in docs/plans/), the canvas shows every todo:
id, a short step and detail from its content, and doneWhen from the plan. Link the plan under links.not started, in_progress is in progress, completed is done and cancelled is dropped. blocked is the canvas's own, with the step's note saying what it waits on. A todo added or split gets its step at once, so the two lists stay one to one.First, read the owner's marks. The canvas keeps them in ws-<slug>.canvas.data.json, beside it, under needsYou: { "<item id>": { "state": "done" | "skipped" | "asked", "at": "<ISO time>" } }. Never write that file; fold each mark into workstream instead:
done: set the item's done: true and its detail to "Done: …" with what came of it; check it where you can (a merge is in git log, a setting in the defaults), and say what you couldn't check.skipped: set done: true and detail to "Skipped: …", with what that leaves undone (a step now blocked or dropped, a log entry).asked: another agent was given the item in a new chat; leave it open until that agent, or the owner, marks it.Then update in the same turn as the event, by editing only the workstream object:
| Event | Update |
|---|---|
| A step starts or lands (commit) | Its plan status and ref; a log entry; status, updated, lastCommit |
| A todo changes status, or is added, split or cancelled | Its plan step, mapped as in A plan's todos are its steps |
| Something only the owner can do | A needsYou item: exactly what to do and where (settings, paths, the shell line in command), what it unblocks, and blocking: true when work waits on it |
| The owner did it | done: true, and detail starting "Done:" with what came of it. Keep the item |
| The owner decides, or you choose between approaches | Append to decisions: date, decision, why, and by (Owner, Measured, Default) |
| A finding or a measurement | A log entry; measurements (or a stat), with what it's measured against in the caption |
| Work is ready, or becomes blocked or unblocked | ready; blocked, with blockedBy naming the blocker (a DEC- row, an SDK, data, an owner item) |
| Before your final summary | status, updated, the lanes, and a log entry saying where things stand |
updated and each log entry's at are ISO times with the time zone (2026-10-04T07:40:00+01:00), so the canvas can say how long ago. After each edit the tool result shows a Canvas TypeScript check line: fix errors until it reports none.
git log, test counts you ran, tracker IDs and issue numbers as they are. Say plainly what isn't checked yet ("not tried in the app")..cursor/rules/tracker-issues.mdc): plan steps reference tracker IDs and issues; the canvas summarises them, it doesn't replace them.Canvases made before this template (one page with lanes and a commit timeline) keep their format: keep updating their own fields. Move one to this template only when its owner asks.
© pdcgomes, MPL-2.0. 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 3 other files in .cursor/skills/workstream-canvas of pdcgomes/redlamp.
Open the folder on GitHubat commit d9e23d9
Workstream Canvas 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 |
|---|---|---|---|---|---|---|
| Workstream Canvas this skillpdcgomes/redlamp | 192 | — | ~2.1k | Automated safety check: Pass | MPL-2.0 | |
| CCPM Project Managementautomazeio/ccpm | 8.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| 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 | |
| Hivemind Goalsactiveloopai/hivemind | 1.6k | — | ~1.7k | Automated safety check: Notes | Apache-2.0 | |
| Ichartjswanghetommy/ichartjs | 352 | — | ~4.2k | Automated safety check: Pass | Apache-2.0 |
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.
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.
activeloopai/hivemind
Create, track and update team goals via the Deeplake virtual filesystem at memory/goal/.
wanghetommy/ichartjs
Plan, validate, render, explain, and safely edit iChart.js visualizations from tabular, project, or diagram data.
activeloopai/hivemind
Create, track and update team goals in Hivemind via the hivemind CLI.
pdcgomes/redlamp
The Redlamp User Manual (docs/manual), a dense, book-style PDF for photographers, typeset from Markdown and a print style sheet by Chrome, with its ranges, defaults and shortcuts generated from the…
pdcgomes/redlamp
The promo studio, which makes Redlamp's short promotional videos for social feeds the way a small creative agency does - a brief, hooks and copy, a script on a music grid, visuals from the promo…
pdcgomes/redlamp
Map of redlamp.app, the Next.js website in web/: its stack and commands, its pages, the home page's sections with their anchors, components and content sources, the brand's Tailwind tokens and…
pdcgomes/redlamp
The blog room, where every redlamp.app blog post is tracked from idea to announcement in a canvas the owner marks as they post.
pdcgomes/redlamp
The release room, where every Redlamp release is prepared, checked, approved and shipped.
pdcgomes/redlamp
The reports room, where every report people file on GitHub (Report a Bug and Send Feedback from the app, and issues opened by hand) is followed from arrival to the release that ships its fix, in a…
Categories
Keeps a live Cursor canvas for a workstream (one agent's line of work) showing its goal, progress through the plan, what needs the owner (what each item unblocks, whether it blocks work, the command…. Workstream Canvas is an agent skill from pdcgomes/redlamp. Keeps a live Cursor canvas for a workstream (one agent's line of work) showing its goal, progress through the plan, what needs the owner (what each item unblocks, whether it blocks work, the command to run), what's ready or blocked, decisions and why, a timestamped log, and measurements.
Workstream Canvas fits situations like: starting a new workstream; after a step lands (a commit; A tracker rows status; something needs the owner.
Run `npx skills add pdcgomes/redlamp --skill workstream-canvas -a claude-code`. Or copy the skill folder (.cursor/skills/workstream-canvas in pdcgomes/redlamp) into .claude/skills/workstream-canvas in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pdcgomes/redlamp --skill workstream-canvas -a codex`. Or copy the skill folder (.cursor/skills/workstream-canvas in pdcgomes/redlamp) into .agents/skills/workstream-canvas 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 pdcgomes/redlamp --skill workstream-canvas -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/workstream-canvas, .gemini/skills/workstream-canvas, .github/skills/workstream-canvas and .opencode/skills/workstream-canvas in your project.
Going by SKILL.md and its folder, Workstream Canvas needs Python for the scripts in its folder and the command-line tools its instructions call (git). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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. Review the folder before installing.
Workstream Canvas is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Workstream Canvas: CCPM Project Management (automazeio/ccpm, 8.4k stars), Uv (astral-sh/claude-code-plugins, 313 stars), Project Management (kunchenguid/firstmate, 7.7k stars) and Hivemind Goals (activeloopai/hivemind, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pdcgomes (a GitHub user) maintains it in pdcgomes/redlamp, which has 192 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.
Source: pdcgomes/redlamp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.