locus-product-planning 1.1.0 → 1.2.1

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.
Files changed (74) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/LICENSE +21 -21
  4. package/README.md +11 -7
  5. package/agents/engineering/architect-reviewer.md +122 -122
  6. package/agents/engineering/engineering-manager.md +101 -101
  7. package/agents/engineering/principal-engineer.md +98 -98
  8. package/agents/engineering/staff-engineer.md +86 -86
  9. package/agents/engineering/tech-lead.md +114 -114
  10. package/agents/executive/ceo-strategist.md +81 -81
  11. package/agents/executive/cfo-analyst.md +97 -97
  12. package/agents/executive/coo-operations.md +100 -100
  13. package/agents/executive/cpo-product.md +104 -104
  14. package/agents/executive/cto-architect.md +90 -90
  15. package/agents/product/product-manager.md +70 -70
  16. package/agents/product/project-manager.md +95 -95
  17. package/agents/product/qa-strategist.md +132 -132
  18. package/agents/product/scrum-master.md +70 -70
  19. package/dist/index.cjs +13012 -0
  20. package/dist/index.cjs.map +1 -0
  21. package/dist/{lib/skills-core.d.ts → index.d.cts} +46 -12
  22. package/dist/index.d.ts +113 -5
  23. package/dist/index.js +12963 -237
  24. package/dist/index.js.map +1 -0
  25. package/package.json +88 -82
  26. package/skills/01-executive-suite/ceo-strategist/SKILL.md +132 -132
  27. package/skills/01-executive-suite/cfo-analyst/SKILL.md +187 -187
  28. package/skills/01-executive-suite/coo-operations/SKILL.md +211 -211
  29. package/skills/01-executive-suite/cpo-product/SKILL.md +231 -231
  30. package/skills/01-executive-suite/cto-architect/SKILL.md +173 -173
  31. package/skills/02-product-management/estimation-expert/SKILL.md +139 -139
  32. package/skills/02-product-management/product-manager/SKILL.md +265 -265
  33. package/skills/02-product-management/program-manager/SKILL.md +178 -178
  34. package/skills/02-product-management/project-manager/SKILL.md +221 -221
  35. package/skills/02-product-management/roadmap-strategist/SKILL.md +186 -186
  36. package/skills/02-product-management/scrum-master/SKILL.md +212 -212
  37. package/skills/03-engineering-leadership/architect-reviewer/SKILL.md +249 -249
  38. package/skills/03-engineering-leadership/engineering-manager/SKILL.md +207 -207
  39. package/skills/03-engineering-leadership/principal-engineer/SKILL.md +206 -206
  40. package/skills/03-engineering-leadership/staff-engineer/SKILL.md +237 -237
  41. package/skills/03-engineering-leadership/tech-lead/SKILL.md +296 -296
  42. package/skills/04-developer-specializations/core/api-designer/SKILL.md +579 -0
  43. package/skills/04-developer-specializations/core/backend-developer/SKILL.md +205 -205
  44. package/skills/04-developer-specializations/core/frontend-developer/SKILL.md +233 -233
  45. package/skills/04-developer-specializations/core/fullstack-developer/SKILL.md +202 -202
  46. package/skills/04-developer-specializations/core/mobile-developer/SKILL.md +220 -220
  47. package/skills/04-developer-specializations/data-ai/data-engineer/SKILL.md +316 -316
  48. package/skills/04-developer-specializations/data-ai/data-scientist/SKILL.md +338 -338
  49. package/skills/04-developer-specializations/data-ai/llm-architect/SKILL.md +390 -390
  50. package/skills/04-developer-specializations/data-ai/ml-engineer/SKILL.md +349 -349
  51. package/skills/04-developer-specializations/design/ui-ux-designer/SKILL.md +337 -0
  52. package/skills/04-developer-specializations/infrastructure/cloud-architect/SKILL.md +354 -354
  53. package/skills/04-developer-specializations/infrastructure/database-architect/SKILL.md +430 -0
  54. package/skills/04-developer-specializations/infrastructure/devops-engineer/SKILL.md +306 -306
  55. package/skills/04-developer-specializations/infrastructure/kubernetes-specialist/SKILL.md +419 -419
  56. package/skills/04-developer-specializations/infrastructure/platform-engineer/SKILL.md +289 -289
  57. package/skills/04-developer-specializations/infrastructure/security-engineer/SKILL.md +336 -336
  58. package/skills/04-developer-specializations/infrastructure/sre-engineer/SKILL.md +425 -425
  59. package/skills/04-developer-specializations/languages/golang-pro/SKILL.md +366 -366
  60. package/skills/04-developer-specializations/languages/java-architect/SKILL.md +296 -296
  61. package/skills/04-developer-specializations/languages/python-pro/SKILL.md +317 -317
  62. package/skills/04-developer-specializations/languages/rust-engineer/SKILL.md +309 -309
  63. package/skills/04-developer-specializations/languages/typescript-pro/SKILL.md +251 -251
  64. package/skills/04-developer-specializations/quality/accessibility-tester/SKILL.md +338 -338
  65. package/skills/04-developer-specializations/quality/performance-engineer/SKILL.md +384 -384
  66. package/skills/04-developer-specializations/quality/qa-expert/SKILL.md +413 -413
  67. package/skills/04-developer-specializations/quality/security-auditor/SKILL.md +359 -359
  68. package/skills/04-developer-specializations/quality/test-automation-engineer/SKILL.md +711 -0
  69. package/skills/05-specialists/compliance-specialist/SKILL.md +171 -171
  70. package/skills/05-specialists/technical-writer/SKILL.md +576 -0
  71. package/skills/using-locus/SKILL.md +5 -3
  72. package/dist/index.d.ts.map +0 -1
  73. package/dist/lib/skills-core.d.ts.map +0 -1
  74. package/dist/lib/skills-core.js +0 -361
@@ -1,8 +1,22 @@
1
+ import { Plugin } from '@opencode-ai/plugin';
2
+
1
3
  /**
2
4
  * Skills Core Library
3
5
  * Shared utilities for skill discovery, loading, and management
4
6
  */
5
- export interface SkillMetadata {
7
+ /**
8
+ * Get the package root directory (parent of dist/).
9
+ */
10
+ declare function getPackageRoot(): string;
11
+ /**
12
+ * Get the locus skills directory.
13
+ */
14
+ declare function getLocusSkillsDir(): string;
15
+ /**
16
+ * Get the locus agents directory.
17
+ */
18
+ declare function getLocusAgentsDir(): string;
19
+ interface SkillMetadata {
6
20
  name: string;
7
21
  description: string;
8
22
  license?: string;
@@ -21,7 +35,7 @@ export interface SkillMetadata {
21
35
  };
22
36
  [key: string]: string | Record<string, string | undefined> | undefined;
23
37
  }
24
- export interface SkillInfo {
38
+ interface SkillInfo {
25
39
  path: string;
26
40
  skillFile: string;
27
41
  name: string;
@@ -32,14 +46,14 @@ export interface SkillInfo {
32
46
  council?: string;
33
47
  version?: string;
34
48
  }
35
- export interface AgentInfo {
49
+ interface AgentInfo {
36
50
  path: string;
37
51
  name: string;
38
52
  description: string;
39
53
  model?: string;
40
54
  category: string;
41
55
  }
42
- export interface ResolvedSkill {
56
+ interface ResolvedSkill {
43
57
  skillFile: string;
44
58
  sourceType: 'project' | 'personal' | 'locus';
45
59
  skillPath: string;
@@ -61,19 +75,19 @@ export interface ResolvedSkill {
61
75
  * tier: developer
62
76
  * ---
63
77
  */
64
- export declare function extractFrontmatter(filePath: string): SkillMetadata;
78
+ declare function extractFrontmatter(filePath: string): SkillMetadata;
65
79
  /**
66
80
  * Strip YAML frontmatter from content, returning just the body.
67
81
  */
68
- export declare function stripFrontmatter(content: string): string;
82
+ declare function stripFrontmatter(content: string): string;
69
83
  /**
70
84
  * Find all SKILL.md files in a directory recursively.
71
85
  */
72
- export declare function findSkillsInDir(dir: string, sourceType: 'project' | 'personal' | 'locus', maxDepth?: number): SkillInfo[];
86
+ declare function findSkillsInDir(dir: string, sourceType: 'project' | 'personal' | 'locus', maxDepth?: number): SkillInfo[];
73
87
  /**
74
88
  * Find all agent definition files in a directory.
75
89
  */
76
- export declare function findAgentsInDir(dir: string, maxDepth?: number): AgentInfo[];
90
+ declare function findAgentsInDir(dir: string, maxDepth?: number): AgentInfo[];
77
91
  /**
78
92
  * Resolve a skill name to its file path, handling namespacing and shadowing.
79
93
  * Priority: project > personal > locus
@@ -83,13 +97,33 @@ export declare function findAgentsInDir(dir: string, maxDepth?: number): AgentIn
83
97
  * - "project:skill-name" - forces project skills only
84
98
  * - "locus:skill-name" - forces locus skills only
85
99
  */
86
- export declare function resolveSkillPath(skillName: string, locusSkillsDir: string, personalSkillsDir: string | null, projectSkillsDir: string | null): ResolvedSkill | null;
100
+ declare function resolveSkillPath(skillName: string, locusSkillsDir: string, personalSkillsDir: string | null, projectSkillsDir: string | null): ResolvedSkill | null;
87
101
  /**
88
102
  * Get the using-locus bootstrap skill content.
89
103
  */
90
- export declare function getBootstrapContent(locusSkillsDir: string, compact?: boolean): string | null;
104
+ declare function getBootstrapContent(locusSkillsDir: string, compact?: boolean): string | null;
91
105
  /**
92
106
  * Normalize a path: trim whitespace, expand ~, resolve to absolute.
93
107
  */
94
- export declare function normalizePath(p: string | undefined, homeDir: string): string | null;
95
- //# sourceMappingURL=skills-core.d.ts.map
108
+ declare function normalizePath(p: string | undefined, homeDir: string): string | null;
109
+
110
+ /**
111
+ * Locus - OpenCode Plugin
112
+ *
113
+ * AI-powered project planning with skills framework.
114
+ * Provides custom tools for loading and discovering skills,
115
+ * with automatic bootstrap on session start.
116
+ */
117
+
118
+ /**
119
+ * Locus Plugin for OpenCode
120
+ *
121
+ * Provides:
122
+ * - use_skill: Load and read a specific skill
123
+ * - find_skills: List all available skills
124
+ * - find_agents: List all available agents
125
+ * - Bootstrap injection on session start
126
+ */
127
+ declare const LocusPlugin: Plugin;
128
+
129
+ export { type AgentInfo, LocusPlugin, type ResolvedSkill, type SkillInfo, type SkillMetadata, LocusPlugin as default, extractFrontmatter, findAgentsInDir, findSkillsInDir, getBootstrapContent, getLocusAgentsDir, getLocusSkillsDir, getPackageRoot, normalizePath, resolveSkillPath, stripFrontmatter };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,112 @@
1
+ import { Plugin } from '@opencode-ai/plugin';
2
+
3
+ /**
4
+ * Skills Core Library
5
+ * Shared utilities for skill discovery, loading, and management
6
+ */
7
+ /**
8
+ * Get the package root directory (parent of dist/).
9
+ */
10
+ declare function getPackageRoot(): string;
11
+ /**
12
+ * Get the locus skills directory.
13
+ */
14
+ declare function getLocusSkillsDir(): string;
15
+ /**
16
+ * Get the locus agents directory.
17
+ */
18
+ declare function getLocusAgentsDir(): string;
19
+ interface SkillMetadata {
20
+ name: string;
21
+ description: string;
22
+ license?: string;
23
+ version?: string;
24
+ author?: string;
25
+ category?: string;
26
+ tier?: string;
27
+ council?: string;
28
+ tools?: string;
29
+ metadata?: {
30
+ version?: string;
31
+ tier?: string;
32
+ category?: string;
33
+ council?: string;
34
+ [key: string]: string | undefined;
35
+ };
36
+ [key: string]: string | Record<string, string | undefined> | undefined;
37
+ }
38
+ interface SkillInfo {
39
+ path: string;
40
+ skillFile: string;
41
+ name: string;
42
+ description: string;
43
+ sourceType: 'project' | 'personal' | 'locus';
44
+ tier?: string;
45
+ category?: string;
46
+ council?: string;
47
+ version?: string;
48
+ }
49
+ interface AgentInfo {
50
+ path: string;
51
+ name: string;
52
+ description: string;
53
+ model?: string;
54
+ category: string;
55
+ }
56
+ interface ResolvedSkill {
57
+ skillFile: string;
58
+ sourceType: 'project' | 'personal' | 'locus';
59
+ skillPath: string;
60
+ }
61
+ /**
62
+ * Extract YAML frontmatter from a skill or agent file.
63
+ *
64
+ * Supports:
65
+ * - Simple key: value pairs
66
+ * - Multiline values with |
67
+ * - Nested objects (one level deep, e.g., metadata:)
68
+ *
69
+ * Format:
70
+ * ---
71
+ * name: skill-name
72
+ * description: Use when [condition] - [what it does]
73
+ * metadata:
74
+ * version: "1.0.0"
75
+ * tier: developer
76
+ * ---
77
+ */
78
+ declare function extractFrontmatter(filePath: string): SkillMetadata;
79
+ /**
80
+ * Strip YAML frontmatter from content, returning just the body.
81
+ */
82
+ declare function stripFrontmatter(content: string): string;
83
+ /**
84
+ * Find all SKILL.md files in a directory recursively.
85
+ */
86
+ declare function findSkillsInDir(dir: string, sourceType: 'project' | 'personal' | 'locus', maxDepth?: number): SkillInfo[];
87
+ /**
88
+ * Find all agent definition files in a directory.
89
+ */
90
+ declare function findAgentsInDir(dir: string, maxDepth?: number): AgentInfo[];
91
+ /**
92
+ * Resolve a skill name to its file path, handling namespacing and shadowing.
93
+ * Priority: project > personal > locus
94
+ *
95
+ * Skill names can be:
96
+ * - "skill-name" - searches all locations
97
+ * - "project:skill-name" - forces project skills only
98
+ * - "locus:skill-name" - forces locus skills only
99
+ */
100
+ declare function resolveSkillPath(skillName: string, locusSkillsDir: string, personalSkillsDir: string | null, projectSkillsDir: string | null): ResolvedSkill | null;
101
+ /**
102
+ * Get the using-locus bootstrap skill content.
103
+ */
104
+ declare function getBootstrapContent(locusSkillsDir: string, compact?: boolean): string | null;
105
+ /**
106
+ * Normalize a path: trim whitespace, expand ~, resolve to absolute.
107
+ */
108
+ declare function normalizePath(p: string | undefined, homeDir: string): string | null;
109
+
1
110
  /**
2
111
  * Locus - OpenCode Plugin
3
112
  *
@@ -5,7 +114,7 @@
5
114
  * Provides custom tools for loading and discovering skills,
6
115
  * with automatic bootstrap on session start.
7
116
  */
8
- import type { Plugin } from "@opencode-ai/plugin";
117
+
9
118
  /**
10
119
  * Locus Plugin for OpenCode
11
120
  *
@@ -15,7 +124,6 @@ import type { Plugin } from "@opencode-ai/plugin";
15
124
  * - find_agents: List all available agents
16
125
  * - Bootstrap injection on session start
17
126
  */
18
- export declare const LocusPlugin: Plugin;
19
- export default LocusPlugin;
20
- export * from "./lib/skills-core.js";
21
- //# sourceMappingURL=index.d.ts.map
127
+ declare const LocusPlugin: Plugin;
128
+
129
+ export { type AgentInfo, LocusPlugin, type ResolvedSkill, type SkillInfo, type SkillMetadata, LocusPlugin as default, extractFrontmatter, findAgentsInDir, findSkillsInDir, getBootstrapContent, getLocusAgentsDir, getLocusSkillsDir, getPackageRoot, normalizePath, resolveSkillPath, stripFrontmatter };