pm-skill 1.1.5 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +6 -0
- package/SKILL.md +64 -19
- package/config.yml +0 -9
- package/dist/workflows.js +13 -0
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -6,6 +6,12 @@ This file provides instructions for AI coding assistants (Codex, Claude Code, et
|
|
|
6
6
|
|
|
7
7
|
A structured project management CLI that integrates Linear (issue tracking) and Notion (documentation). It enforces a config-driven workflow where only pre-defined labels, templates, and severity levels are allowed.
|
|
8
8
|
|
|
9
|
+
## Rules
|
|
10
|
+
|
|
11
|
+
- If the user writes `/pm-skill <args>`, execute `npx pm-skill <args>` from the project root.
|
|
12
|
+
- When the user mentions pm-skill, Linear issues, or Notion documents, prefer using pm-skill commands.
|
|
13
|
+
- This tool requires shell execution and network access (Linear/Notion APIs).
|
|
14
|
+
|
|
9
15
|
## Prerequisites
|
|
10
16
|
|
|
11
17
|
- Node.js 18 or higher (`node --version` to check)
|
package/SKILL.md
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pm-skill
|
|
3
|
+
description: Structured project management CLI — Linear + Notion integration. Trigger on: pm-skill, Linear issue, Notion doc, start-feature, report-bug, push-doc, backlog
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# PM Skill — Structured Project Management
|
|
2
7
|
|
|
3
8
|
Linear + Notion integration for structured project management.
|
|
4
9
|
"Design freedom, usage discipline" — only labels/templates/severity defined in `config.yml` are allowed.
|
|
5
10
|
|
|
11
|
+
## Rules
|
|
12
|
+
|
|
13
|
+
- When the user mentions **pm-skill**, **Linear issue**, **Notion document**, **start-feature**, **report-bug**, **backlog**, or **push-doc**, use this skill.
|
|
14
|
+
- If the user writes `/pm-skill <args>`, execute `npx pm-skill <args>` from the project root.
|
|
15
|
+
- This skill requires **shell execution** and **network access** (Linear/Notion APIs).
|
|
16
|
+
- If `.env` does not exist, run `npx pm-skill init` first.
|
|
17
|
+
|
|
6
18
|
## Prerequisites
|
|
7
19
|
|
|
8
20
|
Requires Node.js 18+. If `.env` does not exist in the project, run `init` first.
|
|
@@ -18,6 +30,9 @@ npx pm-skill setup
|
|
|
18
30
|
|
|
19
31
|
# Create missing labels in Linear
|
|
20
32
|
npx pm-skill setup --sync
|
|
33
|
+
|
|
34
|
+
# Install as Codex global skill (optional)
|
|
35
|
+
npx pm-skill install-codex-skill
|
|
21
36
|
```
|
|
22
37
|
|
|
23
38
|
## Commands
|
|
@@ -28,8 +43,15 @@ Verify Linear/Notion connection + label matching. `--sync` creates missing label
|
|
|
28
43
|
npx pm-skill setup
|
|
29
44
|
```
|
|
30
45
|
|
|
46
|
+
### select-project / select-page
|
|
47
|
+
Switch active Linear project or Notion root page.
|
|
48
|
+
```bash
|
|
49
|
+
npx pm-skill select-project "Project Name"
|
|
50
|
+
npx pm-skill select-page "Page Name"
|
|
51
|
+
```
|
|
52
|
+
|
|
31
53
|
### start-feature
|
|
32
|
-
Start feature development. Creates Linear issue
|
|
54
|
+
Start feature development. Creates Linear issue with task checklist.
|
|
33
55
|
```bash
|
|
34
56
|
npx pm-skill start-feature "Feature title"
|
|
35
57
|
```
|
|
@@ -47,20 +69,41 @@ Add sub-task to an issue.
|
|
|
47
69
|
npx pm-skill add-task ENG-10 "Write unit tests"
|
|
48
70
|
```
|
|
49
71
|
|
|
50
|
-
### relate
|
|
51
|
-
Link
|
|
72
|
+
### relate / block
|
|
73
|
+
Link or set blocking relationship between issues.
|
|
52
74
|
```bash
|
|
53
75
|
npx pm-skill relate ENG-10 ENG-11 --type related
|
|
76
|
+
npx pm-skill block ENG-10 ENG-11
|
|
54
77
|
```
|
|
55
78
|
|
|
56
|
-
###
|
|
57
|
-
|
|
79
|
+
### push-doc
|
|
80
|
+
Upload markdown to Notion. Optionally link to a Linear issue.
|
|
58
81
|
```bash
|
|
59
|
-
|
|
82
|
+
# From file
|
|
83
|
+
npx pm-skill push-doc ./design.md --title "Design Doc" --issue ENG-10
|
|
84
|
+
|
|
85
|
+
# From content (AI agent use case)
|
|
86
|
+
npx pm-skill push-doc --title "Report" --content "# Results..." --issue ENG-10
|
|
87
|
+
|
|
88
|
+
# Under a specific parent page
|
|
89
|
+
npx pm-skill push-doc ./schema.md --parent <page-id>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### update-doc
|
|
93
|
+
Replace existing Notion page content with new markdown.
|
|
94
|
+
```bash
|
|
95
|
+
npx pm-skill update-doc <page-id> ./updated.md
|
|
96
|
+
npx pm-skill update-doc <page-id> --content "# Updated..."
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### create-folder
|
|
100
|
+
Create Notion page as a category/folder.
|
|
101
|
+
```bash
|
|
102
|
+
npx pm-skill create-folder "Schema Docs" --parent <page-id>
|
|
60
103
|
```
|
|
61
104
|
|
|
62
105
|
### attach-doc
|
|
63
|
-
Attach document URL to issue
|
|
106
|
+
Attach a document URL to an issue with type validation.
|
|
64
107
|
```bash
|
|
65
108
|
npx pm-skill attach-doc ENG-10 \
|
|
66
109
|
--url "https://notion.so/..." \
|
|
@@ -75,6 +118,13 @@ Show issue details including sub-issues, relations, and attachments.
|
|
|
75
118
|
npx pm-skill get ENG-10
|
|
76
119
|
```
|
|
77
120
|
|
|
121
|
+
### delete
|
|
122
|
+
Delete issue(s) and linked Notion pages.
|
|
123
|
+
```bash
|
|
124
|
+
npx pm-skill delete ENG-10
|
|
125
|
+
npx pm-skill delete ENG-10 --recursive # also delete sub-issues
|
|
126
|
+
```
|
|
127
|
+
|
|
78
128
|
## Workflow Examples
|
|
79
129
|
|
|
80
130
|
### Feature Development
|
|
@@ -82,9 +132,8 @@ npx pm-skill get ENG-10
|
|
|
82
132
|
npx pm-skill start-feature "Booking cancellation"
|
|
83
133
|
npx pm-skill add-task ENG-10 "API endpoint"
|
|
84
134
|
npx pm-skill add-task ENG-10 "Frontend UI"
|
|
85
|
-
npx pm-skill
|
|
135
|
+
npx pm-skill push-doc ./design.md --issue ENG-10
|
|
86
136
|
npx pm-skill relate ENG-10 ENG-8 --type related
|
|
87
|
-
npx pm-skill block ENG-10 ENG-15
|
|
88
137
|
```
|
|
89
138
|
|
|
90
139
|
### Bug Fix
|
|
@@ -94,13 +143,9 @@ npx pm-skill add-task ENG-20 "Root cause analysis"
|
|
|
94
143
|
npx pm-skill add-task ENG-20 "Fix and test"
|
|
95
144
|
```
|
|
96
145
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
| `priorities` | p0-p3 → Linear priority mapping |
|
|
104
|
-
| `severity_mapping` | severity name → priority key |
|
|
105
|
-
| `doc_types` | Document types for attach-doc |
|
|
106
|
-
| `epics` | Epic definitions |
|
|
146
|
+
### Document Management
|
|
147
|
+
```bash
|
|
148
|
+
npx pm-skill create-folder "Schema Docs"
|
|
149
|
+
npx pm-skill push-doc ./schema.md --parent <folder-id>
|
|
150
|
+
npx pm-skill update-doc <page-id> ./schema-v2.md
|
|
151
|
+
```
|
package/config.yml
CHANGED
|
@@ -19,15 +19,6 @@ labels:
|
|
|
19
19
|
name: Refactor
|
|
20
20
|
description: "기존 코드 리팩토링 (기능 변경 없음)"
|
|
21
21
|
color: "#888888"
|
|
22
|
-
- id: admin
|
|
23
|
-
name: Admin
|
|
24
|
-
description: "인프라, 배포, 환경 설정 등 관리 작업"
|
|
25
|
-
color: "#ffaa00"
|
|
26
|
-
- id: guest
|
|
27
|
-
name: Guest
|
|
28
|
-
description: "외부 의존성, 서드파티 연동 관련"
|
|
29
|
-
color: "#aa88ff"
|
|
30
|
-
|
|
31
22
|
templates:
|
|
32
23
|
- id: feature
|
|
33
24
|
name: Feature
|
package/dist/workflows.js
CHANGED
|
@@ -613,6 +613,14 @@ async function selectPage(args) {
|
|
|
613
613
|
console.log(`\nUsage: npx pm-skill select-page "<name or id>"`);
|
|
614
614
|
}
|
|
615
615
|
}
|
|
616
|
+
async function installCodexSkill() {
|
|
617
|
+
const { homedir } = await import("os");
|
|
618
|
+
const targetDir = resolve(homedir(), ".codex", "skills", "pm-skill");
|
|
619
|
+
const targetPath = resolve(targetDir, "SKILL.md");
|
|
620
|
+
copyBundledFile("SKILL.md", targetPath);
|
|
621
|
+
console.log(`\n✅ Codex skill installed: ${targetPath}`);
|
|
622
|
+
console.log(` Restart Codex to pick up the new skill.`);
|
|
623
|
+
}
|
|
616
624
|
// ── Command Registry ──
|
|
617
625
|
const COMMANDS = {
|
|
618
626
|
setup: (ctx, args) => setup(ctx, args),
|
|
@@ -654,6 +662,7 @@ Commands:
|
|
|
654
662
|
setup [--sync] Verify config & label matching (--sync creates missing labels)
|
|
655
663
|
select-project [name-or-id] List or switch Linear project
|
|
656
664
|
select-page [name-or-id] List or switch Notion root page
|
|
665
|
+
install-codex-skill Install skill to ~/.codex/skills/ for Codex
|
|
657
666
|
start-feature <title> Start feature (Linear issue with task checklist)
|
|
658
667
|
report-bug <title> [--severity S] File bug report (severity: urgent/high/medium/low)
|
|
659
668
|
add-task <parent> <title> Add sub-task to an issue
|
|
@@ -691,6 +700,10 @@ All config is per-project (CWD). Run 'npx pm-skill init' in each project.`);
|
|
|
691
700
|
await selectPage(args);
|
|
692
701
|
return;
|
|
693
702
|
}
|
|
703
|
+
if (command === "install-codex-skill") {
|
|
704
|
+
await installCodexSkill();
|
|
705
|
+
return;
|
|
706
|
+
}
|
|
694
707
|
const cmdFn = COMMANDS[command];
|
|
695
708
|
if (!cmdFn) {
|
|
696
709
|
const available = ["init", ...Object.keys(COMMANDS)].join(", ");
|