Enforces confirmation workflow for EXTERNAL system writes (Jira, Confluence, BitBucket, Slack) ONLY. NEVER activates for Linear operations (Linear is internal tracking). Auto-activates when detecting potential writes to external PM systems (status updates, page creation, PR posts, notifications). Blocks execution and displays exact content that will be written. Requires explicit "yes" confirmation (rejects "ok", "sure", ambiguous responses). All Linear operations execute automatically without confirmation. Works alongside ccpm-code-review to ensure quality before external broadcasts. Provides audit trail of all confirmed operations. Allows batch operations with granular per-item confirmation when needed.
View on GitHubduongdev/ccpm
ccpm
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/duongdev/ccpm/blob/main/skills/external-system-safety/SKILL.md -a claude-code --skill external-system-safetyInstallation paths:
.claude/skills/external-system-safety/# External System Safety Guardrails This skill provides automatic safety enforcement for all operations involving external project management systems. ## ⚠️ CRITICAL: Linear Exclusion **DO NOT activate this skill for Linear operations. Linear is CCPM's internal tracking system.** **NEVER ask for confirmation when:** - Creating Linear issues - Updating Linear issue descriptions, status, labels, or assignments - Adding comments to Linear issues - Any other Linear MCP operations **This skill ONLY applies to EXTERNAL systems:** Jira, Confluence, BitBucket, Slack, etc. --- ## Instructions ### ⛔ ABSOLUTE RULES - NEVER VIOLATED Before ANY write operation to EXTERNAL systems (NOT Linear), you MUST follow this confirmation workflow. ### 1. Detect External System Write Operations **Jira**: - Creating new issues or epics - Updating issue status or fields - Posting comments - Changing assignees or labels - Transitioning workflow states **Confluence**: - Creating new pages - Editing existing pages - Adding comments - Updating page properties - Deleting content **BitBucket**: - Creating pull requests - Posting PR comments - Approving or declining PRs - Updating PR metadata - Merging PRs **Slack**: - Sending messages to channels - Posting notifications - Updating channel topics - Creating new channels - Direct messages ### 2. STOP and Display Intent When you detect a potential write operation: ``` ⚠️ EXTERNAL SYSTEM WRITE DETECTED System: [Jira/Confluence/BitBucket/Slack] Operation: [Create/Update/Delete/Post] Target: [Specific item/location] Details: --- [Exact content that will be written/posted] --- This will modify external systems. Proceed? (yes/no) ``` ### 3. Wait for Explicit Confirmation **Acceptable confirmations**: - "yes" - "confirm" - "proceed" - "go ahead" - "do it" **NOT acceptable** (require re-confirmation): - Silence - "ok" (too ambiguous) - "sure" (too casual) - Any other response ### 4. Only Then Execute After receiving explicit "yes" or