Agent skill
faion-pm-tools
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/faion-pm-tools
SKILL.md
PM Tools Mastery
Comprehensive guide to project management platforms and workflows
Quick Reference
| Tool | Best For | Key Strength |
|---|---|---|
| Jira | Enterprise, scaled agile | JQL, customization, integrations |
| ClickUp | All-in-one workspace | Flexibility, views, automation |
| Linear | Engineering teams | Speed, keyboard shortcuts, cycles |
| GitHub Projects | Open source, developers | Code integration, issue linking |
| GitLab Boards | DevOps teams | CI/CD integration, milestones |
| Azure DevOps | Microsoft ecosystem | Enterprise, pipelines, repos |
| Notion | Knowledge + PM hybrid | Databases, relations, docs |
| Trello | Simple kanban | Simplicity, Butler automation |
M-PMT-001: Jira Workflow Management
Overview
Jira is the industry standard for agile project management, supporting Scrum, Kanban, and hybrid workflows.
Project Structure
Organization
├── Site (e.g., yourcompany.atlassian.net)
│ ├── Project A (Scrum)
│ │ ├── Board
│ │ ├── Backlog
│ │ ├── Sprints
│ │ └── Releases
│ ├── Project B (Kanban)
│ │ ├── Board
│ │ └── Backlog
│ └── Project C (Team-managed)
Issue Types
| Type | Use Case | Typical Fields |
|---|---|---|
| Epic | Large feature, spans sprints | Summary, Description, Priority |
| Story | User-facing feature | Story Points, Acceptance Criteria |
| Task | Technical work | Estimate, Assignee |
| Bug | Defect | Steps to Reproduce, Severity |
| Sub-task | Breakdown of parent issue | Parent link |
JQL (Jira Query Language)
Basic Queries:
# Find my open issues
assignee = currentUser() AND status != Done
# Sprint backlog
project = "PROJ" AND sprint in openSprints()
# Bugs created this week
project = "PROJ" AND issuetype = Bug AND created >= -7d
# Epics without stories
issuetype = Epic AND "Epic Link" is EMPTY
# High priority overdue
priority in (Critical, High) AND duedate < now() AND status != Done
Advanced Queries:
# Issues changed status this week
status changed during (startOfWeek(), now())
# Issues in review for > 2 days
status = "In Review" AND status changed before -2d
# Unassigned issues in active sprint
assignee is EMPTY AND sprint in openSprints()
# Issues with no comments
issueFunction in commented("after -30d by any") ORDER BY created DESC
Workflow Best Practices
Standard Kanban Flow:
Backlog → To Do → In Progress → In Review → Done
Scrum Flow:
Backlog → Sprint Backlog → In Progress → Code Review → QA → Done
Rules:
- Define clear "Definition of Done" for each status
- Limit WIP (Work in Progress) per column
- Use automation rules for status transitions
- Set required fields before transitions
Board Configuration
| Setting | Recommendation |
|---|---|
| Columns | 4-6 maximum (avoid 10+ columns) |
| Swimlanes | By Epic, Assignee, or Priority |
| Quick Filters | "Only My Issues", "Bugs Only", "Blocked" |
| Card Colors | By Priority or Issue Type |
| WIP Limits | In Progress: 3-5 per person |
Automation Examples
Auto-assign to reporter:
When: Issue created
If: Assignee is empty
Then: Assign issue to reporter
Move to Done when merged:
When: Pull request merged
If: Issue linked to PR
Then: Transition issue to Done
Notify on blocked:
When: Issue flagged
Then: Send Slack notification to #dev-alerts
Integrations
| Integration | Use Case |
|---|---|
| Confluence | Link documentation to issues |
| Bitbucket/GitHub | Smart commits, PR linking |
| Slack | Notifications, issue creation |
| Tempo | Time tracking, timesheets |
| Zephyr | Test management |
Tips
- Use components for team/area ownership
- Use labels for cross-cutting concerns
- Create dashboards for stakeholder reporting
- Archive old sprints quarterly
- Review and clean custom fields regularly
M-PMT-002: ClickUp Setup
Overview
ClickUp is an all-in-one productivity platform combining project management, docs, and collaboration.
Hierarchy
Workspace
├── Space (e.g., Engineering)
│ ├── Folder (e.g., Product Development)
│ │ ├── List (e.g., Sprint 24.1)
│ │ │ ├── Task
│ │ │ │ └── Subtask
│ │ │ └── Task
│ │ └── List (e.g., Sprint 24.2)
│ └── Folder (e.g., Infrastructure)
└── Space (e.g., Marketing)
Space Configuration
| Setting | Recommendation |
|---|---|
| Statuses | Match your workflow (To Do, In Progress, Review, Done) |
| Custom Fields | Story Points, Priority, Sprint, Team |
| Templates | Create for recurring task types |
| Automations | Enable per-space rules |
| Integrations | GitHub, Slack, Figma, Google Drive |
Views
| View | Best For |
|---|---|
| List | Detailed task management, bulk editing |
| Board | Kanban workflow, visual status |
| Calendar | Deadline management, scheduling |
| Timeline | Gantt-style planning, dependencies |
| Table | Spreadsheet-like editing |
| Workload | Capacity planning, team balance |
| Mind Map | Brainstorming, task breakdown |
Custom Fields
# Sprint field (Dropdown)
Sprint:
- Backlog
- Sprint 24.1
- Sprint 24.2
- Sprint 24.3
# Story Points (Number)
Story Points: 0, 1, 2, 3, 5, 8, 13, 21
# Priority (Dropdown with colors)
Priority:
- Critical (Red)
- High (Orange)
- Medium (Yellow)
- Low (Blue)
Automations
When status changes:
Trigger: Status changes to "Done"
Action:
- Set due date to today
- Notify watcher via comment
When task created:
Trigger: Task created in "Bugs" list
Action:
- Set priority to High
- Assign to QA Lead
- Add tag "needs-triage"
Recurring tasks:
Trigger: Every Monday at 9 AM
Action: Create task "Weekly standup summary"
- List: Team Rituals
- Assignee: Team Lead
- Due: Same day
Templates
Bug Report Template:
## Description
[Describe the bug]
## Steps to Reproduce
1. Step 1
2. Step 2
3. Step 3
## Expected Behavior
[What should happen]
## Actual Behavior
[What actually happens]
## Environment
- OS:
- Browser:
- Version:
## Screenshots
[Attach if applicable]
ClickUp vs Jira
| Feature | ClickUp | Jira |
|---|---|---|
| Setup complexity | Low | Medium-High |
| Customization | High | Very High |
| Price | Lower | Higher |
| Best for | Startups, SMBs | Enterprise |
| Docs integration | Native | Confluence |
| Learning curve | Low | Medium |
M-PMT-003: Linear Issue Tracking
Overview
Linear is designed for high-velocity engineering teams, emphasizing speed, keyboard shortcuts, and beautiful design.
Core Concepts
Workspace
├── Team (e.g., Platform)
│ ├── Projects (time-boxed initiatives)
│ ├── Cycles (sprints)
│ └── Issues
│ ├── Sub-issues
│ └── Comments
└── Team (e.g., Mobile)
Cycle Planning
| Concept | Description |
|---|---|
| Cycle | Time-boxed sprint (usually 1-2 weeks) |
| Cooldown | Gap between cycles for unplanned work |
| Auto-archive | Incomplete issues move to backlog |
Cycle Configuration:
- Duration: 1 or 2 weeks
- Cooldown: 1-3 days recommended
- Start day: Monday or Wednesday
- Auto-scheduling: Enable for predictable velocity
Projects vs Cycles
| Concept | Purpose | Duration |
|---|---|---|
| Project | Feature/initiative grouping | Weeks to months |
| Cycle | Sprint iteration | 1-2 weeks |
| Roadmap | High-level planning | Quarters |
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
C |
Create new issue |
I |
Open issue details |
P |
Set project |
L |
Set label |
A |
Assign |
S |
Set status |
E |
Estimate |
Cmd+K |
Command palette |
G I |
Go to Inbox |
G M |
Go to My Issues |
G B |
Go to Board |
Status Workflow
Default Statuses:
Triage → Backlog → Todo → In Progress → In Review → Done
↓
Cancelled
Custom Statuses:
- Add "Blocked" after In Progress
- Add "QA" before Done
- Add "Deployed" after Done
Labels & Filters
Recommended Labels:
Type:
- bug
- feature
- improvement
- chore
- documentation
Area:
- frontend
- backend
- infrastructure
- design
Priority:
- urgent
- high
- medium
- low
Saved Filters:
# My team's active work
team = "Platform" AND status in (Todo, "In Progress", "In Review")
# Bugs to triage
label = "bug" AND status = Triage
# Blocked issues
status = Blocked
Integrations
| Integration | Features |
|---|---|
| GitHub | Link PRs, auto-close issues |
| GitLab | Same as GitHub |
| Slack | Notifications, issue creation |
| Figma | Link designs to issues |
| Sentry | Auto-create issues from errors |
| Zendesk | Link support tickets |
GitHub Integration
Setup:
- Connect GitHub organization
- Enable "Link PRs to issues"
- Enable "Auto-close issues on merge"
Branch naming convention:
# Linear auto-detects these patterns
TEAM-123-feature-description
team-123/feature-description
Roadmaps
Roadmap View:
├── Q1 2026
│ ├── Project: User Authentication
│ ├── Project: Payment System
│ └── Project: Mobile App
├── Q2 2026
│ └── Project: Analytics Dashboard
└── Backlog
└── Project: AI Features
M-PMT-004: GitHub Projects
Overview
GitHub Projects (v2) provides native project management integrated with GitHub issues and pull requests.
Project Types
| Type | Best For |
|---|---|
| Board | Kanban workflow |
| Table | Spreadsheet-like view |
| Roadmap | Timeline planning |
Setup
Organization
└── Project (e.g., Product Roadmap)
├── Views
│ ├── Board (Status)
│ ├── Table (All Fields)
│ └── Roadmap (Timeline)
├── Fields
│ ├── Status (Single select)
│ ├── Priority (Single select)
│ ├── Sprint (Iteration)
│ └── Estimate (Number)
└── Items (Issues, PRs, Draft issues)
Custom Fields
# Status (Single select)
Status:
- Backlog
- Ready
- In Progress
- In Review
- Done
# Priority (Single select)
Priority:
- P0 - Critical
- P1 - High
- P2 - Medium
- P3 - Low
# Sprint (Iteration)
Sprint:
Duration: 2 weeks
Start: Monday
# Estimate (Number)
# Use for story points: 1, 2, 3, 5, 8, 13
Automations
Built-in Automations:
| Trigger | Action |
|---|---|
| Item added to project | Set status to Backlog |
| Item reopened | Set status to Ready |
| Item closed | Set status to Done |
| PR merged | Set status to Done |
| Code review requested | Set status to In Review |
GraphQL Custom Automations:
mutation {
updateProjectV2ItemFieldValue(
input: {
projectId: "PROJECT_ID"
itemId: "ITEM_ID"
fieldId: "STATUS_FIELD_ID"
value: {singleSelectOptionId: "DONE_OPTION_ID"}
}
) {
projectV2Item {
id
}
}
}
Workflows with GitHub Actions
Auto-add issues to project:
name: Add issue to project
on:
issues:
types: [opened]
jobs:
add-to-project:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
project-url: https://github.com/orgs/ORG/projects/1
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
Auto-set fields:
name: Set priority on bug
on:
issues:
types: [labeled]
jobs:
set-priority:
if: github.event.label.name == 'bug'
runs-on: ubuntu-latest
steps:
- uses: titoportas/[email protected]
with:
project-url: https://github.com/orgs/ORG/projects/1
github-token: ${{ secrets.GITHUB_TOKEN }}
item-id: ${{ github.event.issue.node_id }}
field-keys: Priority
field-values: P1 - High
Views Configuration
Board View:
View: Kanban Board
Group by: Status
Sort by: Priority (descending)
Filter: is:open assignee:@me
Table View:
View: Sprint Planning
Columns: Title, Status, Priority, Estimate, Sprint, Assignee
Sort by: Priority
Filter: sprint:current
Roadmap View:
View: Q1 Roadmap
Date field: Sprint (start/end)
Group by: Milestone
Zoom: Months
Issue Templates
.github/ISSUE_TEMPLATE/bug_report.yml:
name: Bug Report
description: ""
labels: [bug, triage]
body:
- type: textarea
id: description
attributes:
label: Bug Description
description: Clear description of the bug
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
value: |
1. Go to '...'
2. Click on '...'
3. See error
- type: dropdown
id: priority
attributes:
label: Priority
options:
- Critical
- High
- Medium
- Low
M-PMT-005: GitLab Boards
Overview
GitLab provides integrated issue boards with native CI/CD integration and DevOps workflows.
Board Types
| Type | Scope | Best For |
|---|---|---|
| Project Board | Single repository | Small teams |
| Group Board | Multiple projects | Cross-team work |
| Iteration Board | Time-boxed sprints | Scrum teams |
Structure
Group
├── Project A
│ ├── Issues
│ ├── Board (Project scope)
│ ├── Milestones
│ └── Labels
├── Project B
│ └── ...
└── Group Board (Cross-project)
Labels Strategy
Scoped Labels (mutually exclusive):
workflow::backlog
workflow::ready
workflow::in-progress
workflow::review
workflow::done
priority::critical
priority::high
priority::medium
priority::low
type::feature
type::bug
type::chore
Milestones
Milestone: v2.0.0
Due date: 2026-03-01
Issues:
- Feature: User authentication
- Feature: Payment integration
- Bug: Login timeout issue
Milestone: Sprint 24.1
Start: 2026-01-13
Due: 2026-01-27
Iteration cadence: Bi-weekly
Board Configuration
Columns (based on labels):
Open → workflow::ready → workflow::in-progress → workflow::review → Closed
Filters:
# Show only my issues
assignee_username = @me
# Current milestone
milestone = "Sprint 24.1"
# High priority bugs
label = priority::high AND label = type::bug
Merge Request Integration
Auto-close issues:
# In MR description
Closes #123
Fixes #456
Resolves #789
Link without closing:
Related to #123
See #456
CI/CD Integration
.gitlab-ci.yml with issue tracking:
deploy:
stage: deploy
script:
- deploy.sh
environment:
name: production
url: https://app.example.com
deployment_tier: production
# Auto-create issue on failure
on_failure:
stage: notify
script:
- |
curl --request POST \
--header "PRIVATE-TOKEN: $GITLAB_TOKEN" \
--data "title=Pipeline failed: $CI_PIPELINE_ID" \
--data "labels=bug,pipeline-failure" \
"$CI_API_V4_URL/projects/$CI_PROJECT_ID/issues"
when: on_failure
Quick Actions
| Command | Action |
|---|---|
/assign @user |
Assign issue |
/label ~bug ~urgent |
Add labels |
/milestone %"Sprint 24.1" |
Set milestone |
/estimate 2h |
Set time estimate |
/spend 1h |
Log time spent |
/due 2026-01-31 |
Set due date |
/close |
Close issue |
/relate #123 |
Link to issue |
Epics (Premium)
Epic: User Authentication System
├── Feature: Login page
├── Feature: OAuth integration
├── Feature: Password reset
└── Feature: 2FA support
M-PMT-006: Azure DevOps Boards
Overview
Azure DevOps provides enterprise-grade project management with deep Microsoft integration.
Work Item Types
| Type | Agile | Scrum | CMMI |
|---|---|---|---|
| Top Level | Epic | Epic | Epic |
| Feature | Feature | Feature | Feature |
| Backlog | User Story | PBI | Requirement |
| Task | Task | Task | Task |
| Bug | Bug | Bug | Bug |
Process Templates
Agile: Epic → Feature → User Story → Task
Scrum: Epic → Feature → PBI → Task
CMMI: Epic → Feature → Requirement → Task
Basic: Epic → Issue → Task
Board Configuration
Columns:
New → Active → Resolved → Closed
→ Approved → Committed → Done (Scrum)
Swimlanes:
- By Team Member
- By Area Path
- By Parent Item
- Expedite Lane (for urgent items)
Queries
Flat Query:
Work Item Type = Bug
AND State <> Closed
AND Assigned To = @Me
AND Area Path Under "Project\TeamA"
Tree Query:
# Parent items
Work Item Type In (Epic, Feature)
AND State <> Done
# Child items (linked)
Work Item Type = User Story
Direct Links Query:
# Find orphan stories (no parent)
Work Item Type = User Story
AND Link Type <> Parent
Sprints/Iterations
Setup:
Project Settings → Boards → Project Configuration
└── Iterations
├── Sprint 1 (Jan 1-14)
├── Sprint 2 (Jan 15-28)
└── Sprint 3 (Jan 29 - Feb 11)
Capacity Planning:
Team Member: John
Activity: Development
Capacity: 6 hours/day
Days off: Jan 10
Team Member: Jane
Activity: Development
Capacity: 8 hours/day
Activity: Testing
Capacity: 2 hours/day
Dashboards
Widgets:
| Widget | Purpose |
|---|---|
| Burndown | Sprint progress |
| Velocity | Team capacity trend |
| Cumulative Flow | Work item flow |
| Query Results | Custom queries |
| Build History | Pipeline status |
| Test Results | Test pass rate |
Pipelines Integration
# azure-pipelines.yml
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UpdateWorkItem@1
inputs:
workItemId: '$(System.PullRequest.WorkItemId)'
state: 'Active'
condition: eq(variables['Build.Reason'], 'PullRequest')
Wiki & Documentation
Wiki
├── Home
├── Architecture
│ ├── System Overview
│ └── API Documentation
├── Development
│ ├── Getting Started
│ └── Coding Standards
└── Operations
└── Runbooks
M-PMT-007: Notion PM
Overview
Notion combines project management with documentation, using flexible databases and relations.
Database Structure
Workspace
├── Projects (Database)
│ └── Properties: Status, Owner, Timeline, Team
├── Tasks (Database)
│ └── Properties: Status, Project (Relation), Assignee, Due
├── Sprints (Database)
│ └── Properties: Start, End, Goal, Tasks (Relation)
└── Team (Database)
└── Properties: Name, Role, Tasks (Relation)
Database Properties
Projects Database:
Properties:
- Name (Title)
- Status (Select): Planning, Active, Complete, On Hold
- Owner (Person)
- Team (Multi-select)
- Timeline (Date range)
- Priority (Select): P0, P1, P2, P3
- Tasks (Relation → Tasks)
- Progress (Formula): Tasks complete / Total tasks
Tasks Database:
Properties:
- Task (Title)
- Status (Select): Backlog, Todo, In Progress, Review, Done
- Project (Relation → Projects)
- Sprint (Relation → Sprints)
- Assignee (Person)
- Due Date (Date)
- Estimate (Number): Story points
- Priority (Select)
- Type (Select): Feature, Bug, Chore
Views
| View Type | Use Case |
|---|---|
| Table | Full data, filtering, sorting |
| Board | Kanban by status |
| Calendar | Due date planning |
| Timeline | Gantt-style view |
| List | Compact view |
| Gallery | Visual cards |
Formulas
Progress calculation:
# In Projects database
round(prop("Tasks Complete") / prop("Total Tasks") * 100)
Days until due:
dateBetween(prop("Due Date"), now(), "days")
Priority score:
if(prop("Priority") == "P0", 4,
if(prop("Priority") == "P1", 3,
if(prop("Priority") == "P2", 2, 1)))
Templates
Meeting Notes Template:
# Meeting: [Title]
Date: [Date]
Attendees: [People]
## Agenda
- [ ] Item 1
- [ ] Item 2
## Notes
## Action Items
- [ ] @person: Task by [date]
## Decisions Made
Sprint Planning Template:
# Sprint [Number]
Duration: [Start] - [End]
## Sprint Goal
[One sentence goal]
## Committed Items
[Linked tasks view filtered by Sprint = current]
## Capacity
| Team Member | Available Days | Capacity |
|-------------|----------------|----------|
| @person1 | 10 | 80 pts |
## Risks
- Risk 1
Automations (with Buttons)
Button: Create Sprint Tasks:
Action: Create pages in Tasks database
Template: Task template
Properties:
Sprint: Current sprint
Status: Backlog
Button: Complete Sprint:
Action:
1. Move incomplete tasks to next sprint
2. Archive current sprint
3. Create retrospective page
Integrations
| Integration | Features |
|---|---|
| Slack | Page updates, notifications |
| GitHub | Link PRs, sync issues |
| Figma | Embed designs |
| Loom | Embed videos |
| Google Drive | Embed docs |
M-PMT-008: Trello Kanban
Overview
Trello provides simple, visual kanban boards with powerful automation through Butler.
Board Structure
Board: Product Development
├── Lists
│ ├── Backlog
│ ├── To Do (This Sprint)
│ ├── In Progress
│ ├── Review
│ └── Done
├── Labels
│ ├── Bug (Red)
│ ├── Feature (Green)
│ ├── Improvement (Yellow)
│ └── Urgent (Orange)
└── Cards
└── Card content, checklists, attachments
Card Best Practices
Card Structure:
# Card Title
[Verb] + [Object] + [Context]
Example: "Implement user login with OAuth"
# Description
## Problem
What problem does this solve?
## Solution
High-level approach
## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2
## Notes
Additional context
Checklists:
[ ] Design approved
[ ] Implementation complete
[ ] Tests written
[ ] Code reviewed
[ ] Documentation updated
Labels Strategy
| Label | Color | Use |
|---|---|---|
| Bug | Red | Defects |
| Feature | Green | New functionality |
| Improvement | Yellow | Enhancements |
| Tech Debt | Purple | Refactoring |
| Blocked | Orange | Waiting on something |
| Quick Win | Blue | < 2 hours |
Butler Automation
When card moved to Done:
Trigger: When a card is moved to list "Done"
Actions:
- Mark due date complete
- Remove all members
- Add comment "@board Done!"
Daily cleanup:
Trigger: Every day at 9:00 AM
Actions:
- Move cards with due date in the past from "To Do" to "Overdue"
- Sort "Backlog" by due date
Card button - Start Working:
Button: Start Working
Actions:
- Move card to "In Progress"
- Add me to card
- Set due date to 3 days from now
Board button - Create Sprint:
Button: Create Sprint
Actions:
- Create list "Sprint [date]"
- Move top 10 cards from "Backlog" to new list
Power-Ups
| Power-Up | Purpose |
|---|---|
| Calendar | View cards by due date |
| Custom Fields | Add estimates, priorities |
| Card Aging | Visualize stale cards |
| Voting | Prioritization |
| GitHub | Link PRs and commits |
| Slack | Notifications |
Custom Fields
Fields:
- Story Points (Number): 1, 2, 3, 5, 8, 13
- Priority (Dropdown): Critical, High, Medium, Low
- Sprint (Dropdown): Sprint 1, Sprint 2, Sprint 3
- Assignee (Dropdown): Team members
Views
| View | Purpose |
|---|---|
| Board | Default kanban |
| Timeline | Gantt-style (Premium) |
| Calendar | Due date view |
| Table | Spreadsheet view |
| Dashboard | Metrics (Premium) |
M-PMT-009: Cross-Tool Migration
Overview
Migrate data between PM tools while preserving history, relationships, and workflows.
Migration Planning
1. Audit Source Data
├── Issue count
├── Custom fields
├── Attachments
├── Comments
└── Links/relations
2. Map Data Model
├── Issue types → Work item types
├── Statuses → Statuses
├── Fields → Fields
└── Users → Users
3. Test Migration
└── Small subset first
4. Execute Migration
└── Full data transfer
5. Validate
├── Data integrity
├── Link preservation
└── User mapping
Common Migrations
Jira to Linear:
Mapping:
Issue Types:
Story → Issue
Bug → Issue (label: bug)
Epic → Project
Task → Issue
Statuses:
To Do → Todo
In Progress → In Progress
In Review → In Review
Done → Done
Fields:
Story Points → Estimate
Sprint → Cycle
Priority → Priority
Labels → Labels
Trello to ClickUp:
Mapping:
Board → Space
List → Status
Card → Task
Checklist → Subtasks
Labels → Tags
Due Date → Due Date
Members → Assignees
Asana to Notion:
Mapping:
Project → Database
Section → Status (property)
Task → Page
Subtask → Sub-page or Checkbox
Tags → Multi-select
Custom Fields → Properties
Export Formats
| Tool | Export Format | Method |
|---|---|---|
| Jira | JSON, CSV | Project settings → Export |
| Trello | JSON | Board menu → Export |
| Asana | CSV, JSON (API) | Project → Export |
| Linear | JSON (API) | GraphQL API |
| GitHub | JSON (API) | REST/GraphQL API |
| ClickUp | CSV | Space → Export |
Jira Export Script
import requests
from requests.auth import HTTPBasicAuth
JIRA_URL = "https://your-domain.atlassian.net"
EMAIL = "[email protected]"
API_TOKEN = "your-api-token"
auth = HTTPBasicAuth(EMAIL, API_TOKEN)
# Export all issues
response = requests.get(
f"{JIRA_URL}/rest/api/3/search",
auth=auth,
params={
"jql": "project = PROJ",
"maxResults": 100,
"expand": "changelog,comments"
}
)
issues = response.json()["issues"]
Import Strategies
Batch Import:
# Create issues in batches
BATCH_SIZE = 50
for i in range(0, len(issues), BATCH_SIZE):
batch = issues[i:i + BATCH_SIZE]
create_issues(batch)
time.sleep(1) # Rate limiting
Maintain References:
# Create mapping table
old_to_new_ids = {}
for old_issue in old_issues:
new_issue = create_issue(transform(old_issue))
old_to_new_ids[old_issue.id] = new_issue.id
# Update links
for old_id, new_id in old_to_new_ids.items():
update_links(new_id, old_to_new_ids)
Migration Checklist
- Export all data from source
- Map all fields and statuses
- Map users (handle inactive)
- Test with subset (10-20 items)
- Validate test migration
- Schedule full migration
- Notify team of downtime
- Execute full migration
- Validate data integrity
- Fix any issues
- Train team on new tool
- Deprecate old tool access
M-PMT-010: PM Tool Selection
Overview
Framework for choosing the right PM tool based on team needs, scale, and workflows.
Selection Criteria
| Criterion | Weight | Questions |
|---|---|---|
| Team Size | High | 5? 50? 500+ users? |
| Methodology | High | Scrum, Kanban, or hybrid? |
| Integration | High | What tools must it connect with? |
| Budget | Medium | Per user cost acceptable? |
| Complexity | Medium | Simple or highly customizable? |
| Learning Curve | Medium | Time to onboard? |
| Security | High | Compliance requirements? |
Decision Matrix
Simple ←───────────────────→ Complex
│ │
Trello ───────┤ │
│ │
ClickUp ──────┼───────────────────┐ │
│ │ │
Linear ───────┼───────────────────┤ │
│ │ │
GitHub ───────┼───────────────────┤ │
│ │ │
Notion ───────┼───────────────────┼──────────┤
│ │ │
GitLab ───────┼───────────────────┼──────────┤
│ │ │
Jira ─────────┼───────────────────┴──────────┤
│ │
Azure DevOps ─┼──────────────────────────────┤
│ │
Small Team │ Enterprise │
Tool Comparison
| Tool | Best For | Avoid If |
|---|---|---|
| Trello | Simple projects, small teams | Complex workflows, reporting |
| ClickUp | All-in-one needs, flexibility | Need Jira integrations |
| Linear | Engineering teams, speed | Non-technical users |
| GitHub Projects | Open source, developers | Non-GitHub workflows |
| GitLab | DevOps focus, self-hosted | No CI/CD needs |
| Jira | Enterprise, scaled agile | Budget-constrained |
| Azure DevOps | Microsoft shops | Non-Microsoft stack |
| Notion | Docs + PM hybrid | Pure PM focus |
Team Size Recommendations
| Size | Recommended | Notes |
|---|---|---|
| 1-5 | Trello, Linear, Notion | Keep it simple |
| 5-20 | ClickUp, Linear, GitHub | Balance features/simplicity |
| 20-100 | Jira, ClickUp, GitLab | Need customization |
| 100+ | Jira, Azure DevOps | Enterprise features |
Questions Checklist
Workflow:
- Scrum with sprints?
- Kanban continuous flow?
- Hybrid approach?
- Multiple teams/projects?
Integration:
- Git platform (GitHub/GitLab/Bitbucket)?
- Communication (Slack/Teams)?
- Documentation (Confluence/Notion)?
- CI/CD (Jenkins/GitHub Actions)?
Features:
- Time tracking needed?
- Roadmap planning?
- Resource management?
- Custom workflows?
- Reporting/dashboards?
Constraints:
- Budget per user?
- Self-hosted requirement?
- Compliance (SOC2, HIPAA)?
- SSO/SAML requirement?
Migration Considerations
| From | To | Difficulty |
|---|---|---|
| Trello → ClickUp | Easy | Native import |
| Jira → Linear | Medium | API migration |
| Asana → Notion | Medium | Manual/API |
| Any → Jira | Medium | Good importers |
| Jira → Any | Hard | Complex data model |
M-PMT-011: Agile Ceremonies Setup
Overview
Configure and run effective agile ceremonies across any PM tool.
Ceremony Overview
| Ceremony | Frequency | Duration | Purpose |
|---|---|---|---|
| Sprint Planning | Start of sprint | 2-4 hours | Plan sprint work |
| Daily Standup | Daily | 15 min | Sync, blockers |
| Sprint Review | End of sprint | 1-2 hours | Demo to stakeholders |
| Retrospective | End of sprint | 1-1.5 hours | Improve process |
| Backlog Refinement | Weekly | 1 hour | Prepare future work |
Sprint Planning
Before Meeting:
Preparation:
- Backlog is prioritized (PO)
- Stories have acceptance criteria
- Stories are estimated
- Team capacity calculated
Meeting Structure:
1. Review sprint goal (5 min)
2. Team capacity check (10 min)
3. Select items from backlog (30 min)
4. Break down into tasks (60 min)
5. Confirm commitment (15 min)
Tool Setup (Example: Jira):
Sprint Planning View:
- Filter: project = PROJ AND sprint is EMPTY
- Sort: Rank ascending
- Visible fields: Key, Summary, Story Points, Priority
Sprint Board:
- Quick filters: "Only My Issues", "Unassigned"
- Swimlanes: By Assignee
Daily Standup
Format (15 min max):
Each team member:
1. What I completed yesterday
2. What I'm working on today
3. Any blockers
Walk the board (alternative):
1. Review "In Review" column
2. Review "In Progress" column
3. Review "To Do" for priorities
Tool Setup:
Standup Dashboard:
Widgets:
- Sprint Burndown
- Active Sprint Items (by status)
- Blocked Items
- Items without estimates
Async Standup (Remote Teams):
Slack Bot Schedule: 9:00 AM daily
Questions:
1. What did you accomplish yesterday?
2. What will you work on today?
3. Any blockers?
Post to: #team-standup
Sprint Review
Agenda:
1. Sprint goal achievement (5 min)
2. Demo completed features (30-45 min)
3. Metrics review (10 min)
4. Stakeholder feedback (15 min)
5. Next sprint preview (10 min)
Demo Checklist:
For each completed story:
- [ ] Feature name and user value
- [ ] Live demonstration
- [ ] Edge cases handled
- [ ] Questions from stakeholders
Retrospective
Formats:
Start/Stop/Continue:
Start doing:
- [Team suggestions]
Stop doing:
- [Team suggestions]
Continue doing:
- [Team suggestions]
4Ls (Liked/Learned/Lacked/Longed For):
Liked:
- What went well
Learned:
- New insights
Lacked:
- Missing resources/support
Longed For:
- Wished we had
Mad/Sad/Glad:
Mad (frustrated):
- [Issues]
Sad (disappointed):
- [Issues]
Glad (happy):
- [Positives]
Tool Setup (Example: Notion):
Retrospective Database:
Properties:
- Sprint (Relation)
- Category (Select): Start, Stop, Continue
- Item (Title)
- Action Owner (Person)
- Status (Select): Open, Done
Template:
- Section for each category
- Voting enabled
- Timer for timeboxing
Backlog Refinement
Agenda (1 hour):
1. Review upcoming priorities (10 min)
2. Discuss unclear stories (20 min)
3. Estimate stories (20 min)
4. Update acceptance criteria (10 min)
Definition of Ready:
Story is ready when:
- [ ] Has clear acceptance criteria
- [ ] Is estimated
- [ ] Dependencies identified
- [ ] No open questions
- [ ] Small enough for one sprint
Ceremony Calendar
Monday: Sprint Planning (Week 1)
Backlog Refinement (Week 2)
Tuesday: Standup
Wednesday: Standup
Thursday: Standup
Friday: Standup
Sprint Review + Retro (Week 2)
M-PMT-012: Reporting & Dashboards
Overview
Build effective dashboards for tracking progress, velocity, and team health.
Key Metrics
| Metric | Description | Target |
|---|---|---|
| Velocity | Story points per sprint | Stable +/- 10% |
| Burndown | Work remaining over time | Linear decline |
| Cycle Time | Start to done duration | Decreasing |
| Lead Time | Created to done duration | Depends on type |
| Throughput | Items completed per period | Stable/increasing |
| WIP | Items in progress | Within limits |
| Escaped Defects | Bugs found in production | Decreasing |
Burndown Chart
Reading the Chart:
Points
│
30├──●
│ ●─Ideal line
20├──────●
│ ●
10├──────────●──Actual line
│ ●
0├──────────────●
└─────────────────
Day 1 5 10 14
Interpretation:
- Above ideal: Behind schedule
- Below ideal: Ahead of schedule
- Flat line: No work completed (blocked?)
- Steep drop: Large item completed
Velocity Chart
Points
│
40├ ▓▓▓▓▓
│ ▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓
30├───▓▓▓▓▓▓▓▓▓▓─────▓▓▓▓▓─── Average
│ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
20├ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
│ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
10├
│
└──────────────────────────
S1 S2 S3 S4 S5 S6
Use for:
- Sprint capacity planning
- Forecasting release dates
- Identifying trend changes
Cumulative Flow Diagram
Items
│ Done ████████████████
50├ ██████████████████████
│ Review ██████████████████
40├ ████████████████████████
│ Progress ██████████████████
30├ ██████████████████████████
│ To Do ████████████████████
20├ ██████████████████████████
│ Backlog ██████████████████
10├
│
└──────────────────────────────
Week 1 Week 2 Week 3
Interpretation:
- Band width = WIP in that state
- Vertical slice = All work at that time
- Narrowing bands = Items moving through
Dashboard Templates
Sprint Dashboard:
Layout: 2x3 grid
Row 1:
- Sprint Burndown (50%)
- Sprint Goal + Days Remaining (50%)
Row 2:
- Sprint Backlog by Status (33%)
- Blocked Items (33%)
- Team Capacity (33%)
Row 3:
- Items by Assignee (50%)
- Story Points by Type (50%)
Release Dashboard:
Layout: 2x2 grid
Row 1:
- Release Burnup (50%)
- Velocity Trend (50%)
Row 2:
- Features by Status (50%)
- Bug Trend (50%)
Team Health Dashboard:
Layout: 3x2 grid
Row 1:
- Velocity (last 6 sprints)
- Escaped Defects
Row 2:
- Cycle Time Distribution
- PR Review Time
Row 3:
- Team Availability
- Action Items from Retros
Tool-Specific Dashboards
Jira Dashboard:
Gadgets:
- Sprint Burndown Chart
- Sprint Health Gadget
- Pie Chart (Issues by Status)
- Filter Results (My Open Issues)
- Two Dimensional Filter (Type vs Priority)
Linear Insights:
Metrics:
- Completed issues trend
- Cycle time by team
- SLA compliance
- Issue age distribution
ClickUp Dashboard:
Widgets:
- Sprint progress bar
- Time tracked vs estimated
- Workload by member
- Custom charts
Report Templates
Weekly Status Report:
# Week [N] Status Report
## Sprint Progress
- Sprint: [Name]
- Days remaining: [N]
- Velocity (target/actual): [X]/[Y] points
## Completed This Week
- [Item 1]
- [Item 2]
## In Progress
- [Item 1] - 80% complete
- [Item 2] - 50% complete
## Blockers
- [Blocker 1] - Owner: [Name], ETA: [Date]
## Risks
- [Risk 1] - Mitigation: [Plan]
## Next Week
- [Priority 1]
- [Priority 2]
Monthly Metrics Report:
# [Month] Metrics Report
## Velocity Trend
| Sprint | Committed | Completed | % |
|--------|-----------|-----------|---|
| S1 | 40 | 38 | 95% |
| S2 | 42 | 40 | 95% |
| S3 | 45 | 42 | 93% |
## Quality Metrics
- Bugs created: [N]
- Bugs resolved: [N]
- Escaped defects: [N]
## Cycle Time
- Average: [N] days
- P90: [N] days
## Team Highlights
- [Achievement 1]
- [Achievement 2]
## Areas for Improvement
- [Area 1]
- [Area 2]
References
- Atlassian Agile Coach
- Linear Method
- ClickUp University
- GitHub Projects Docs
- Azure DevOps Docs
- Notion Templates
- Agile Alliance
Methodologies
| ID | Name | File |
|---|---|---|
| M-PMT-001 | Jira Workflow Management | methodologies/M-PMT-001_jira_workflow_management.md |
| M-PMT-002 | Clickup Setup | methodologies/M-PMT-002_clickup_setup.md |
| M-PMT-003 | Linear Issue Tracking | methodologies/M-PMT-003_linear_issue_tracking.md |
| M-PMT-004 | Github Projects | methodologies/M-PMT-004_github_projects.md |
| M-PMT-005 | Gitlab Boards | methodologies/M-PMT-005_gitlab_boards.md |
| M-PMT-006 | Azure Devops Boards | methodologies/M-PMT-006_azure_devops_boards.md |
| M-PMT-007 | Notion Pm | methodologies/M-PMT-007_notion_pm.md |
| M-PMT-008 | Trello Kanban | methodologies/M-PMT-008_trello_kanban.md |
| M-PMT-009 | Cross Tool Migration | methodologies/M-PMT-009_cross_tool_migration.md |
| M-PMT-010 | Pm Tool Selection | methodologies/M-PMT-010_pm_tool_selection.md |
| M-PMT-011 | Agile Ceremonies Setup | methodologies/M-PMT-011_agile_ceremonies_setup.md |
| M-PMT-012 | Reporting Dashboards | methodologies/M-PMT-012_reporting_dashboards.md |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?