diff --git a/.github/workflows/api-misskey-js.yml b/.github/workflows/api-misskey-js.yml
index 5cffbd81bc38654dac407eedcbc8c38e9637b461..e52cbc33e4ed14a599d1d85e2480b991a78d2f40 100644
--- a/.github/workflows/api-misskey-js.yml
+++ b/.github/workflows/api-misskey-js.yml
@@ -1,6 +1,12 @@
 name: API report (misskey.js)
 
-on: [push, pull_request]
+on:
+  push:
+    paths:
+      - packages/misskey-js/**
+  pull_request:
+    paths:
+      - packages/misskey-js/**
 
 jobs:
   report:
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index f3074ab0a4ccb3e13a025df5b80c578954b0330d..23cea7d565724e314bed78918605d29dd4702596 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -5,7 +5,19 @@ on:
     branches:
       - master
       - develop
+    paths:
+      - packages/backend/**
+      - packages/frontend/**
+      - packages/sw/**
+      - packages/misskey-js/**
+      - packages/shared/.eslintrc.js
   pull_request:
+    paths:
+      - packages/backend/**
+      - packages/frontend/**
+      - packages/sw/**
+      - packages/misskey-js/**
+      - packages/shared/.eslintrc.js
 
 jobs:
   pnpm_install:
diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml
index 3b49173f45eea0a080d74fa1ca3902c6573c5653..a6c12e282450baedbb63d5ea52e3068d4fa8029c 100644
--- a/.github/workflows/test-backend.yml
+++ b/.github/workflows/test-backend.yml
@@ -5,7 +5,15 @@ on:
     branches:
       - master
       - develop
+    paths:
+      - packages/backend/**
+      # for permissions
+      - packages/misskey-js/**
   pull_request:
+    paths:
+      - packages/backend/**
+      # for permissions
+      - packages/misskey-js/**
 
 jobs:
   unit:
diff --git a/.github/workflows/test-frontend.yml b/.github/workflows/test-frontend.yml
index 83740bf15617a911e3d588ec61cb78afc219b4f3..3fb880fac2b26a4aa42e53a8e23a1dbc686e7090 100644
--- a/.github/workflows/test-frontend.yml
+++ b/.github/workflows/test-frontend.yml
@@ -5,7 +5,20 @@ on:
     branches:
       - master
       - develop
+    paths:
+      - packages/frontend/**
+      # for permissions
+      - packages/misskey-js/**
+      # for e2e
+      - packages/backend/**
+
   pull_request:
+    paths:
+      - packages/frontend/**
+      # for permissions
+      - packages/misskey-js/**
+      # for e2e
+      - packages/backend/**
 
 jobs:
   vitest:
diff --git a/.github/workflows/test-misskey-js.yml b/.github/workflows/test-misskey-js.yml
index 055152f3215a170b0d1f3a22beb14870009e86b8..10c7ccf4d3862f78f31d20d356c8e38cc6e0e8ea 100644
--- a/.github/workflows/test-misskey-js.yml
+++ b/.github/workflows/test-misskey-js.yml
@@ -6,8 +6,12 @@ name: Test (misskey.js)
 on:
   push:
     branches: [ develop ]
+    paths:
+      - packages/misskey-js/**
   pull_request:
     branches: [ develop ]
+    paths:
+      - packages/misskey-js/**
 
 jobs:
   test: