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 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 + Notion PRD + bidirectional links.
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 two issues. (related, similar)
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
- ### block
57
- Set blocking relationship. (ENG-10 must complete before ENG-11)
79
+ ### push-doc
80
+ Upload markdown to Notion. Optionally link to a Linear issue.
58
81
  ```bash
59
- npx pm-skill block ENG-10 ENG-11
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. Type is validated against config.
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 add-task ENG-10 "Tests"
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
- ## Config
98
-
99
- | Section | Description |
100
- |---------|-------------|
101
- | `labels` | Available labels (description required) |
102
- | `templates` | Command → label/priority/Notion template mappings |
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(", ");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-skill",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
4
4
  "description": "Structured project management CLI — Linear + Notion integration for AI coding assistants (Claude Code, Codex)",
5
5
  "type": "module",
6
6
  "bin": {