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.
“Ticket management best practices for Linear or equivalent project tracker. Use when creating issues, updating ticket status, attaching evidence, parsing acceptance criteria, or…”
$ npx skills add bybren-llc/safe-agentic-workflow --skill linear-sop -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install bybren-llc/safe-agentic-workflow linear-sop --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/bybren-llc/safe-agentic-workflow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/linear-sop .claude/skills/linear-sop && 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 "linear-sop" agent skill from https://github.com/bybren-llc/safe-agentic-workflow/tree/main/.agents/skills/linear-sop into .claude/skills/linear-sop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linear-sop", 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/bybren-llc/safe-agentic-workflow/tree/main/.agents/skills/linear-sopType 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 bybren-llc/safe-agentic-workflow --skill linear-sop -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install bybren-llc/safe-agentic-workflow linear-sop --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bybren-llc/safe-agentic-workflow.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/linear-sop .agents/skills/linear-sop && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "linear-sop" agent skill from https://github.com/bybren-llc/safe-agentic-workflow/tree/main/.agents/skills/linear-sop into .agents/skills/linear-sop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linear-sop", 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 bybren-llc/safe-agentic-workflow --skill linear-sop -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install bybren-llc/safe-agentic-workflow linear-sop --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bybren-llc/safe-agentic-workflow.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/linear-sop .cursor/skills/linear-sop && 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 "linear-sop" agent skill from https://github.com/bybren-llc/safe-agentic-workflow/tree/main/.agents/skills/linear-sop into .cursor/skills/linear-sop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linear-sop", 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/bybren-llc/safe-agentic-workflow.git --path .agents/skills/linear-sop--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 bybren-llc/safe-agentic-workflow --skill linear-sop -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install bybren-llc/safe-agentic-workflow linear-sop --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bybren-llc/safe-agentic-workflow.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/linear-sop .gemini/skills/linear-sop && 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 "linear-sop" agent skill from https://github.com/bybren-llc/safe-agentic-workflow/tree/main/.agents/skills/linear-sop into .gemini/skills/linear-sop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linear-sop", 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 bybren-llc/safe-agentic-workflow linear-sopInstalls 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 bybren-llc/safe-agentic-workflow --skill linear-sop -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/bybren-llc/safe-agentic-workflow.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/linear-sop .github/skills/linear-sop && 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 "linear-sop" agent skill from https://github.com/bybren-llc/safe-agentic-workflow/tree/main/.agents/skills/linear-sop into .github/skills/linear-sop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linear-sop", 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 bybren-llc/safe-agentic-workflow --skill linear-sop -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install bybren-llc/safe-agentic-workflow linear-sop --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bybren-llc/safe-agentic-workflow.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/linear-sop .opencode/skills/linear-sop && 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 "linear-sop" agent skill from https://github.com/bybren-llc/safe-agentic-workflow/tree/main/.agents/skills/linear-sop into .opencode/skills/linear-sop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linear-sop", 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.
linear-sop“Ticket management best practices for Linear or equivalent project tracker. Use when creating issues, updating ticket status, attaching evidence, parsing acceptance criteria, or working with ticket UUIDs. Provides evidence templates for dev/staging/done phases.”
Linear Ticket SOP is a skill in bybren-llc/safe-agentic-workflow (423 stars). Its SKILL.md is about 1.8k tokens, with 3 other files in the folder (scripts, references, assets). Licence: MIT.
Read from SKILL.md and the folder at commit 26ca58b. 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 1 file in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom 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.
Linear Ticket SOP loads about 1.8k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 459 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 bybren-llc/safe-agentic-workflow at commit 26ca58b, republished under its MIT licence (© bybren-llc). 459 words, ~1,763 tokens.
.claude/skills/linear-sop/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.TEMPLATE: This skill uses
{{PLACEHOLDER}}tokens. Replace with your project values before use.
Guide consistent ticket management. Provides evidence templates for the mandatory dev/staging/UAT evidence policy.
# Get issue by identifier
get_issue({ id: "{{TICKET_PREFIX}}-459" })
# List issues with filters
list_issues({
team: "{{PROJECT_TEAM_NAME}}",
state: "In Progress",
assignee: "me",
})create_issue({
title: "feat(scope): description",
team: "{{PROJECT_TEAM_NAME}}",
description: "## Summary\n\n...",
labels: ["feature", "sprint-1"],
parentId: "parent-uuid", // Optional - for sub-issues
})update_issue({
id: "{{TICKET_PREFIX}}-459",
state: "Done",
})create_comment({
issueId: "{{TICKET_PREFIX}}-459",
body: "**Dev Evidence**\n\n...",
})For work that spans many issues, most trackers have objects above the issue. Use them; do not flatten a program into a flat list of tickets.
Initiative the program (one per program)
└── Project a Unit of Work — one coherent outcome
├── Milestone an AI-DLC phase: Inception, Construction, Operations
└── Issue a Story
└── Sub-issue a Mob Elaboration task (created during Inception, not before)Program build-out assumes these label namespaces are pre-created in the workspace. Create them before building the program, not during:
bolt:0 … bolt:N — which Bolt an issue belongs toagent:* — the lead role (must match an actual agent role defined for the project)Where the tracker scopes labels globally, do not create per-team duplicates.
Some trackers gate sub-initiatives behind a paid tier. Where sub-initiatives are available, model program streams as sub-initiatives under the initiative. Where they are not, encode the stream as project priority instead — highest-risk stream gets Urgent/High, follow-up stream gets Medium. Both are valid; pick based on what your tracker supports.
Build the dependency DAG with issue relations:
update_issue({
id: "{{TICKET_PREFIX}}-XXX",
blocks: ["{{TICKET_PREFIX}}-YYY"], // this issue must land first
blockedBy: ["{{TICKET_PREFIX}}-ZZZ"], // this issue waits on that one
})Use relatedTo for soft links that inform but do not block.
Wire so the enforcement lands before the thing it enforces — see the safe-ai-dlc skill for the
four dependency-wiring heuristics.
When a program absorbs tickets that already exist, update them into the project — never recreate them. Duplicates break traceability and split the evidence trail.
Every issue requires evidence at each phase:
| Phase | Required? | Content |
|---|---|---|
| Dev | MUST | Implementation proof |
| Staging | MUST | UAT validation (or N/A) |
| Done | MUST | Final verification |
**Dev Evidence**
**PR**: https://github.com/{{ORG_NAME}}/{{REPO_NAME}}/pull/XXX
**Commit**: [short-hash]
**Branch**: {{TICKET_PREFIX}}-XXX-description
**Implementation:**
- [x] Feature implemented
- [x] Tests passing
- [x] Lint passing
**Verification:**
{{CI_VALIDATE_COMMAND}}
# Output: All checks passed**Staging Evidence**
**Environment**: {{STAGING_ENV_NAME}}
**URL**: {{STAGING_URL}}
**Validation Steps:**
1. Deployed to staging: [timestamp]
2. Smoke test passed: [yes/no]
3. Feature verified: [description]
**UAT Status:** [Passed/Pending/N/A]
If N/A, reason: [e.g., "Dev tooling only - no user-facing changes"]**Done Evidence**
**PR Merged**: https://github.com/{{ORG_NAME}}/{{REPO_NAME}}/pull/XXX
**Merge Commit**: [hash]
**Final Checklist:**
- [x] All acceptance criteria met
- [x] Documentation updated (if applicable)
- [x] No regressions detectedWhen reading issue descriptions, extract ACs:
## Acceptance Criteria
- [ ] User can perform action X
- [ ] System responds with Y
- [ ] Error handling for ZConvert to testable checklist for verification.
Backlog -> Ready -> In Progress -> Testing -> Ready for Review -> DoneTickets referenced in commit messages (e.g., [{{TICKET_PREFIX}}-123]) automatically move to Done when the PR merges. Child stories not referenced in any commit message must be manually closed after merge.
Best practice: Reference Feature-level tickets in commit messages. After merge, manually close orphaned child stories that were not referenced.
| From | To | When |
|---|---|---|
| Backlog | Ready | Sprint planning |
| Ready | In Progress | Work starts |
| In Progress | Testing | PR created |
| Testing | Ready for Review | Tests pass, UAT complete |
| Ready for Review | Done | POPM approval or auto-sync via PR |
Most ticket systems use UUIDs internally. When working with APIs:
// Issue identifiers (human-readable)
const issueId = "{{TICKET_PREFIX}}-459";
// UUIDs (API operations)
const uuid = "ef6a5fa0-2b46-417f-8266-dea2d187b10a";
// Get UUID from identifier via API
// Returns issue object with .id property containing UUIDPRs are automatically linked when:
{{TICKET_PREFIX}}-XXX[{{TICKET_PREFIX}}-XXX]create_issue({
title: "Sub-task description",
team: "{{PROJECT_TEAM_NAME}}",
parentId: "parent-issue-uuid",
})list_issues({
label: "sprint-1",
team: "{{PROJECT_TEAM_NAME}}",
})docs/sop/AGENT_WORKFLOW_SOP.md© bybren-llc, 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 3 other files (scripts, references, assets) in .agents/skills/linear-sop of bybren-llc/safe-agentic-workflow.
Open the folder on GitHubat commit 26ca58b
Linear Ticket SOP 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 |
|---|---|---|---|---|---|---|
| Linear Ticket SOP this skillbybren-llc/safe-agentic-workflow | 423 | — | ~1.8k | Automated safety check: Pass | MIT | |
| CCPM Project Managementautomazeio/ccpm | 8.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Jira Natural Language Interfacejjmartres/opencode | 133 | 3 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Project Planneradrianpuiu/claude-skills-marketplace | 100 | 1 repos | ~6k | Automated safety check: Pass | None | |
| Milestone Project Managerfinna/project-manager-skill | 136 | — | ~4.3k | Automated safety check: Pass | None | |
| Active Plan Auditwithkynam/vibecode-pro-max-kit | 1.1k | — | ~757 | Automated safety check: Pass | MIT |
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.
jjmartres/opencode
Lets an agent view, create, update and transition Jira issues in natural language, automatically choosing between the jira CLI and Atlassian MCP tools.
adrianpuiu/claude-skills-marketplace
Comprehensive project planning and documentation generator for software projects.
finna/project-manager-skill
Drives an authorized software, app or game project to completion through small milestones, an existing implementation thread, independent testing of the exact build and retest loops.
withkynam/vibecode-pro-max-kit
Reviews a codebase's active plan files for staleness and completion, then archives only the ones confirmed done or obsolete against the real code.
SpillwaveSolutions/agent-brain
Capture a forward-looking idea with trigger conditions — surfaces automatically at the right milestone
bybren-llc/safe-agentic-workflow
Agent assignment matrix, blocker escalation, and TDM coordination patterns. Use when assigning work to specialist agents, managing blockers across agents…
bybren-llc/safe-agentic-workflow
API route implementation patterns with RLS, validation, and error handling. Use when creating API routes, implementing CRUD endpoints, adding server-side…
bybren-llc/safe-agentic-workflow
Documentation templates for ADRs, runbooks, architecture docs, and knowledge transfer documents. Use when creating Architecture Decision Records, writing…
bybren-llc/safe-agentic-workflow
Deployment workflows, pre-deploy validation, smoke testing, and rollback procedures. Use when deploying to staging or production, running smoke tests…
bybren-llc/safe-agentic-workflow
Frontend patterns for modern web frameworks, component libraries, auth flows, and analytics. Use when building UI components, creating pages, implementing…
bybren-llc/safe-agentic-workflow
Advanced git operations including rebase, bisect, cherry-pick, and conflict resolution. Use when rebasing feature branches, debugging with bisect…
Run `npx skills add bybren-llc/safe-agentic-workflow --skill linear-sop -a claude-code`. Or copy the skill folder (.agents/skills/linear-sop in bybren-llc/safe-agentic-workflow) into .claude/skills/linear-sop in your project. Claude Code loads it when a task matches its description.
Run `npx skills add bybren-llc/safe-agentic-workflow --skill linear-sop -a codex`. Or copy the skill folder (.agents/skills/linear-sop in bybren-llc/safe-agentic-workflow) into .agents/skills/linear-sop 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 bybren-llc/safe-agentic-workflow --skill linear-sop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/linear-sop, .gemini/skills/linear-sop, .github/skills/linear-sop and .opencode/skills/linear-sop in your project.
SKILL.md names no scripts, command-line tools or credentials: Linear Ticket SOP is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. 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.
Linear Ticket SOP is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.1k 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 Linear Ticket SOP: CCPM Project Management (automazeio/ccpm, 8.4k stars), Jira Natural Language Interface (jjmartres/opencode, 133 stars), Project Planner (adrianpuiu/claude-skills-marketplace, 100 stars) and Milestone Project Manager (finna/project-manager-skill, 136 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
bybren-llc (a GitHub organization) maintains it in bybren-llc/safe-agentic-workflow, which has 423 GitHub stars. The repository holds 42 skills in this directory. The repository was last updated on July 20, 2026.
Source: bybren-llc/safe-agentic-workflow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.