@deimoscloud/coreai 0.1.9 → 0.1.10
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/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -1
- package/.prettierrc +0 -9
- package/AGENT_SPEC.md +0 -347
- package/ARCHITECTURE.md +0 -547
- package/DRAFT_PRD.md +0 -1440
- package/IMPLEMENTATION_PLAN.md +0 -256
- package/PRODUCT.md +0 -473
- package/WORKFLOWS.md +0 -295
- package/commands/core/check-inbox.md +0 -34
- package/commands/core/delegate.md +0 -30
- package/commands/core/git-commit.md +0 -144
- package/commands/core/pr-create.md +0 -193
- package/commands/core/review.md +0 -56
- package/commands/core/sprint-status.md +0 -65
- package/commands/optional/docs-update.md +0 -200
- package/commands/optional/jira-create.md +0 -200
- package/commands/optional/jira-transition.md +0 -184
- package/commands/optional/worktree-cleanup.md +0 -167
- package/commands/optional/worktree-setup.md +0 -110
- package/eslint.config.js +0 -29
- package/jest.config.js +0 -22
- package/knowledge-library/README.md +0 -118
- package/knowledge-library/android-engineer/context/current.txt +0 -42
- package/knowledge-library/android-engineer/control/decisions.txt +0 -9
- package/knowledge-library/android-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/android-engineer/control/objectives.txt +0 -26
- package/knowledge-library/android-engineer/history/.gitkeep +0 -0
- package/knowledge-library/android-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/android-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/android-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/architecture.txt +0 -61
- package/knowledge-library/backend-engineer/context/current.txt +0 -42
- package/knowledge-library/backend-engineer/control/decisions.txt +0 -9
- package/knowledge-library/backend-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/backend-engineer/control/objectives.txt +0 -26
- package/knowledge-library/backend-engineer/history/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/context.txt +0 -52
- package/knowledge-library/devops-engineer/context/current.txt +0 -42
- package/knowledge-library/devops-engineer/control/decisions.txt +0 -9
- package/knowledge-library/devops-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/devops-engineer/control/objectives.txt +0 -26
- package/knowledge-library/devops-engineer/history/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/context/current.txt +0 -40
- package/knowledge-library/engineering-manager/control/decisions.txt +0 -9
- package/knowledge-library/engineering-manager/control/objectives.txt +0 -27
- package/knowledge-library/engineering-manager/history/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/outbox/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/tech/.gitkeep +0 -0
- package/knowledge-library/prd.txt +0 -81
- package/knowledge-library/product-manager/context/current.txt +0 -42
- package/knowledge-library/product-manager/control/decisions.txt +0 -9
- package/knowledge-library/product-manager/control/dependencies.txt +0 -19
- package/knowledge-library/product-manager/control/objectives.txt +0 -26
- package/knowledge-library/product-manager/history/.gitkeep +0 -0
- package/knowledge-library/product-manager/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/product-manager/outbox/.gitkeep +0 -0
- package/knowledge-library/product-manager/tech/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/context/current.txt +0 -42
- package/knowledge-library/qa-engineer/control/decisions.txt +0 -9
- package/knowledge-library/qa-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/qa-engineer/control/objectives.txt +0 -26
- package/knowledge-library/qa-engineer/history/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/security-engineer/context/current.txt +0 -42
- package/knowledge-library/security-engineer/control/decisions.txt +0 -9
- package/knowledge-library/security-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/security-engineer/control/objectives.txt +0 -26
- package/knowledge-library/security-engineer/history/.gitkeep +0 -0
- package/knowledge-library/security-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/security-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/security-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/context/current.txt +0 -42
- package/knowledge-library/solutions-architect/control/decisions.txt +0 -9
- package/knowledge-library/solutions-architect/control/dependencies.txt +0 -19
- package/knowledge-library/solutions-architect/control/objectives.txt +0 -26
- package/knowledge-library/solutions-architect/history/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/outbox/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/tech/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/context/current.txt +0 -42
- package/knowledge-library/wearos-engineer/control/decisions.txt +0 -9
- package/knowledge-library/wearos-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/wearos-engineer/control/objectives.txt +0 -26
- package/knowledge-library/wearos-engineer/history/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/tech/.gitkeep +0 -0
- package/scripts/add-agent.sh +0 -323
- package/scripts/install.sh +0 -354
- package/src/adapters/factory.test.ts +0 -386
- package/src/adapters/factory.ts +0 -305
- package/src/adapters/index.ts +0 -113
- package/src/adapters/interfaces.ts +0 -268
- package/src/adapters/mcp/client.test.ts +0 -130
- package/src/adapters/mcp/client.ts +0 -451
- package/src/adapters/mcp/discovery.test.ts +0 -315
- package/src/adapters/mcp/discovery.ts +0 -340
- package/src/adapters/mcp/index.ts +0 -66
- package/src/adapters/mcp/mapper.test.ts +0 -218
- package/src/adapters/mcp/mapper.ts +0 -536
- package/src/adapters/mcp/registry.test.ts +0 -433
- package/src/adapters/mcp/registry.ts +0 -550
- package/src/adapters/mcp/types.ts +0 -258
- package/src/adapters/native/filesystem.test.ts +0 -350
- package/src/adapters/native/filesystem.ts +0 -393
- package/src/adapters/native/github.test.ts +0 -173
- package/src/adapters/native/github.ts +0 -627
- package/src/adapters/native/index.ts +0 -22
- package/src/adapters/native/selector.test.ts +0 -224
- package/src/adapters/native/selector.ts +0 -150
- package/src/adapters/types.ts +0 -270
- package/src/agents/compiler.test.ts +0 -410
- package/src/agents/compiler.ts +0 -424
- package/src/agents/index.ts +0 -37
- package/src/agents/loader.test.ts +0 -319
- package/src/agents/loader.ts +0 -143
- package/src/agents/resolver.test.ts +0 -282
- package/src/agents/resolver.ts +0 -262
- package/src/agents/types.ts +0 -97
- package/src/cache/index.ts +0 -38
- package/src/cache/interfaces.ts +0 -283
- package/src/cache/manager.test.ts +0 -266
- package/src/cache/manager.ts +0 -388
- package/src/cache/provider.test.ts +0 -485
- package/src/cache/provider.ts +0 -745
- package/src/cache/types.test.ts +0 -192
- package/src/cache/types.ts +0 -313
- package/src/cli/commands/build.test.ts +0 -248
- package/src/cli/commands/build.ts +0 -284
- package/src/cli/commands/cache.test.ts +0 -221
- package/src/cli/commands/cache.ts +0 -229
- package/src/cli/commands/index.ts +0 -63
- package/src/cli/commands/init.test.ts +0 -173
- package/src/cli/commands/init.ts +0 -296
- package/src/cli/commands/skills.test.ts +0 -272
- package/src/cli/commands/skills.ts +0 -348
- package/src/cli/commands/status.test.ts +0 -392
- package/src/cli/commands/status.ts +0 -332
- package/src/cli/commands/sync.test.ts +0 -213
- package/src/cli/commands/sync.ts +0 -251
- package/src/cli/commands/validate.test.ts +0 -216
- package/src/cli/commands/validate.ts +0 -340
- package/src/cli/index.test.ts +0 -190
- package/src/cli/index.ts +0 -493
- package/src/commands/context.test.ts +0 -163
- package/src/commands/context.ts +0 -111
- package/src/commands/index.ts +0 -56
- package/src/commands/loader.test.ts +0 -273
- package/src/commands/loader.ts +0 -355
- package/src/commands/registry.test.ts +0 -384
- package/src/commands/registry.ts +0 -248
- package/src/commands/runner.test.ts +0 -297
- package/src/commands/runner.ts +0 -222
- package/src/commands/types.ts +0 -361
- package/src/config/index.ts +0 -19
- package/src/config/loader.test.ts +0 -262
- package/src/config/loader.ts +0 -188
- package/src/config/types.ts +0 -154
- package/src/context/index.ts +0 -14
- package/src/context/loader.test.ts +0 -334
- package/src/context/loader.ts +0 -357
- package/src/index.test.ts +0 -13
- package/src/index.ts +0 -268
- package/src/knowledge-library/index.ts +0 -44
- package/src/knowledge-library/manager.test.ts +0 -536
- package/src/knowledge-library/manager.ts +0 -804
- package/src/knowledge-library/types.ts +0 -432
- package/src/skills/generator.test.ts +0 -602
- package/src/skills/generator.ts +0 -491
- package/src/skills/index.ts +0 -27
- package/src/skills/templates.ts +0 -520
- package/src/skills/types.ts +0 -251
- package/templates/completion-report.md +0 -72
- package/templates/feedback.md +0 -56
- package/templates/project-files/CLAUDE.md.template +0 -109
- package/templates/project-files/coreai.json.example +0 -47
- package/templates/project-files/mcp.json.template +0 -20
- package/templates/review-complete.md +0 -64
- package/templates/review-request.md +0 -67
- package/templates/task-assignment.md +0 -51
- package/tsconfig.build.json +0 -4
- package/tsconfig.json +0 -26
- package/tsup.config.ts +0 -23
package/src/skills/templates.ts
DELETED
|
@@ -1,520 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in Skill Templates
|
|
3
|
-
*
|
|
4
|
-
* Core skill templates that are included with CoreAI.
|
|
5
|
-
* These templates use {{VARIABLE}} placeholders for substitution.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import type { SkillTemplate } from './types.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Check inbox skill - process incoming messages
|
|
12
|
-
*/
|
|
13
|
-
export const checkInboxSkill: SkillTemplate = {
|
|
14
|
-
name: 'check-inbox',
|
|
15
|
-
description: 'Check your inbox for pending tasks and messages',
|
|
16
|
-
category: 'core',
|
|
17
|
-
content: `---
|
|
18
|
-
description: Check your inbox for pending tasks and messages
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
# Check Inbox
|
|
22
|
-
|
|
23
|
-
Check the inbox at \`KnowledgeLibrary/{{AGENT_NAME}}/inbox/\` for new messages.
|
|
24
|
-
|
|
25
|
-
## Instructions
|
|
26
|
-
|
|
27
|
-
1. Read all unprocessed messages in the inbox directory
|
|
28
|
-
2. For each message:
|
|
29
|
-
- Parse the frontmatter (type, from, date, priority)
|
|
30
|
-
- Understand the request or task
|
|
31
|
-
- Take appropriate action based on message type
|
|
32
|
-
3. After processing, move message to \`inbox/processed/\`
|
|
33
|
-
4. Update your context file at \`KnowledgeLibrary/{{AGENT_NAME}}/context/current.txt\`
|
|
34
|
-
|
|
35
|
-
## Message Types
|
|
36
|
-
|
|
37
|
-
- **task-assignment**: New work assigned to you
|
|
38
|
-
- **completion-report**: Another agent completed work
|
|
39
|
-
- **review-request**: Code review needed
|
|
40
|
-
- **feedback**: Response to your previous work
|
|
41
|
-
|
|
42
|
-
## Output Format
|
|
43
|
-
|
|
44
|
-
Report what messages were processed and actions taken.
|
|
45
|
-
`,
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Delegate skill - assign tasks to other agents
|
|
50
|
-
*/
|
|
51
|
-
export const delegateSkill: SkillTemplate = {
|
|
52
|
-
name: 'delegate',
|
|
53
|
-
description: 'Delegate a task to another agent via inbox messaging',
|
|
54
|
-
argumentHint: '<task-description> to <agent-name>',
|
|
55
|
-
category: 'core',
|
|
56
|
-
content: `---
|
|
57
|
-
description: Delegate a task to another agent via inbox messaging
|
|
58
|
-
argument-hint: <task-description> to <agent-name>
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
# Delegate Task
|
|
62
|
-
|
|
63
|
-
Delegate work to another agent using the inbox-based messaging system.
|
|
64
|
-
|
|
65
|
-
## CRITICAL: Do NOT use the Task tool
|
|
66
|
-
|
|
67
|
-
Agent-to-agent delegation MUST use file-based messaging, not the Task tool.
|
|
68
|
-
The Task tool spawns subagents that lose MCP access.
|
|
69
|
-
|
|
70
|
-
## Instructions
|
|
71
|
-
|
|
72
|
-
1. Parse the delegation request to identify:
|
|
73
|
-
- The task to delegate
|
|
74
|
-
- The target agent
|
|
75
|
-
|
|
76
|
-
2. Create a message file in the target agent's inbox:
|
|
77
|
-
- Path: \`KnowledgeLibrary/<target-agent>/inbox/\`
|
|
78
|
-
- Filename: \`YYYYMMDD_HHMM-{{AGENT_NAME}}-<subject>.md\`
|
|
79
|
-
|
|
80
|
-
3. Use this message format:
|
|
81
|
-
\`\`\`markdown
|
|
82
|
-
---
|
|
83
|
-
type: task-assignment
|
|
84
|
-
from: {{AGENT_NAME}}
|
|
85
|
-
to: <target-agent>
|
|
86
|
-
date: YYYY-MM-DD HH:MM
|
|
87
|
-
priority: P2
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Task Assignment
|
|
91
|
-
|
|
92
|
-
### Description
|
|
93
|
-
<Clear description of what needs to be done>
|
|
94
|
-
|
|
95
|
-
### Context
|
|
96
|
-
<Any relevant context or background>
|
|
97
|
-
|
|
98
|
-
### Expected Deliverables
|
|
99
|
-
1. <Deliverable 1>
|
|
100
|
-
2. <Deliverable 2>
|
|
101
|
-
|
|
102
|
-
### Success Criteria
|
|
103
|
-
- <Criterion 1>
|
|
104
|
-
- <Criterion 2>
|
|
105
|
-
\`\`\`
|
|
106
|
-
|
|
107
|
-
4. Tell the user to invoke the target agent:
|
|
108
|
-
"Please invoke @<target-agent> to process this task."
|
|
109
|
-
|
|
110
|
-
## Output
|
|
111
|
-
|
|
112
|
-
Confirm the delegation message was created and instruct user to invoke the agent.
|
|
113
|
-
`,
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Git commit skill - quality-gated commits
|
|
118
|
-
*/
|
|
119
|
-
export const gitCommitSkill: SkillTemplate = {
|
|
120
|
-
name: 'git-commit',
|
|
121
|
-
description: 'Create a quality-gated git commit',
|
|
122
|
-
argumentHint: '<commit-message>',
|
|
123
|
-
category: 'core',
|
|
124
|
-
dependencies: [{ type: 'git', required: false, description: 'For commit operations' }],
|
|
125
|
-
content: `---
|
|
126
|
-
description: Create a quality-gated git commit
|
|
127
|
-
argument-hint: <commit-message>
|
|
128
|
-
optional: [git]
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
# Git Commit
|
|
132
|
-
|
|
133
|
-
Create a git commit after passing all quality gates.
|
|
134
|
-
|
|
135
|
-
## Quality Gates
|
|
136
|
-
|
|
137
|
-
Run these checks before committing:
|
|
138
|
-
|
|
139
|
-
1. **Lint**: \`{{LINT_CMD}}\`
|
|
140
|
-
2. **Tests**: \`{{TEST_CMD}}\`
|
|
141
|
-
3. **Build**: \`{{BUILD_CMD}}\`
|
|
142
|
-
|
|
143
|
-
## Instructions
|
|
144
|
-
|
|
145
|
-
1. Stage the relevant files with \`git add\`
|
|
146
|
-
2. Run all quality gate commands
|
|
147
|
-
3. If any gate fails:
|
|
148
|
-
- Fix the issues
|
|
149
|
-
- Re-run the failed gate
|
|
150
|
-
- Continue only when all pass
|
|
151
|
-
4. Create the commit with the provided message
|
|
152
|
-
5. Format: Include ticket reference if applicable
|
|
153
|
-
|
|
154
|
-
## Commit Message Format
|
|
155
|
-
|
|
156
|
-
\`\`\`
|
|
157
|
-
<type>(<scope>): <description>
|
|
158
|
-
|
|
159
|
-
[optional body]
|
|
160
|
-
|
|
161
|
-
[optional footer]
|
|
162
|
-
\`\`\`
|
|
163
|
-
|
|
164
|
-
Types: feat, fix, docs, style, refactor, test, chore
|
|
165
|
-
|
|
166
|
-
## Fallbacks
|
|
167
|
-
|
|
168
|
-
If quality gate commands are not configured:
|
|
169
|
-
- Ask the user what commands to run
|
|
170
|
-
- Or skip gates with user confirmation
|
|
171
|
-
`,
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* PR create skill - create pull requests
|
|
176
|
-
*/
|
|
177
|
-
export const prCreateSkill: SkillTemplate = {
|
|
178
|
-
name: 'pr-create',
|
|
179
|
-
description: 'Create a pull request with proper format',
|
|
180
|
-
argumentHint: '[branch-name]',
|
|
181
|
-
category: 'core',
|
|
182
|
-
dependencies: [{ type: 'git', required: true, description: 'For PR creation' }],
|
|
183
|
-
content: `---
|
|
184
|
-
description: Create a pull request with proper format
|
|
185
|
-
argument-hint: [branch-name]
|
|
186
|
-
requires: [git]
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
# Create Pull Request
|
|
190
|
-
|
|
191
|
-
Create a well-formatted pull request for the current branch.
|
|
192
|
-
|
|
193
|
-
## Instructions
|
|
194
|
-
|
|
195
|
-
1. Ensure all changes are committed
|
|
196
|
-
2. Push the branch to remote
|
|
197
|
-
3. Create PR with proper format:
|
|
198
|
-
|
|
199
|
-
\`\`\`markdown
|
|
200
|
-
## Summary
|
|
201
|
-
<Brief description of changes>
|
|
202
|
-
|
|
203
|
-
## Changes
|
|
204
|
-
- <Change 1>
|
|
205
|
-
- <Change 2>
|
|
206
|
-
|
|
207
|
-
## Test Plan
|
|
208
|
-
- [ ] <Test case 1>
|
|
209
|
-
- [ ] <Test case 2>
|
|
210
|
-
|
|
211
|
-
## Related Issues
|
|
212
|
-
Closes {{JIRA_PROJECT}}-XXX
|
|
213
|
-
\`\`\`
|
|
214
|
-
|
|
215
|
-
4. Request reviewers if specified
|
|
216
|
-
|
|
217
|
-
## Using GitHub CLI
|
|
218
|
-
|
|
219
|
-
\`\`\`bash
|
|
220
|
-
gh pr create --title "<title>" --body "<body>"
|
|
221
|
-
\`\`\`
|
|
222
|
-
|
|
223
|
-
## Output
|
|
224
|
-
|
|
225
|
-
Provide the PR URL and summary of what was created.
|
|
226
|
-
`,
|
|
227
|
-
};
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* Review skill - code review delegation
|
|
231
|
-
*/
|
|
232
|
-
export const reviewSkill: SkillTemplate = {
|
|
233
|
-
name: 'review',
|
|
234
|
-
description: 'Request or perform a code review',
|
|
235
|
-
argumentHint: '<pr-number-or-url>',
|
|
236
|
-
category: 'core',
|
|
237
|
-
dependencies: [{ type: 'git', required: true, description: 'For PR review' }],
|
|
238
|
-
content: `---
|
|
239
|
-
description: Request or perform a code review
|
|
240
|
-
argument-hint: <pr-number-or-url>
|
|
241
|
-
requires: [git]
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
# Code Review
|
|
245
|
-
|
|
246
|
-
Review a pull request or delegate review to a specialist.
|
|
247
|
-
|
|
248
|
-
## Instructions
|
|
249
|
-
|
|
250
|
-
### If you are reviewing:
|
|
251
|
-
|
|
252
|
-
1. Fetch the PR details and diff
|
|
253
|
-
2. Review for:
|
|
254
|
-
- Code quality and style
|
|
255
|
-
- Logic errors or bugs
|
|
256
|
-
- Security concerns
|
|
257
|
-
- Test coverage
|
|
258
|
-
- Documentation
|
|
259
|
-
3. Provide feedback with specific line references
|
|
260
|
-
4. Approve, request changes, or comment
|
|
261
|
-
|
|
262
|
-
### If delegating to a reviewer:
|
|
263
|
-
|
|
264
|
-
1. Identify the appropriate reviewer based on the changes
|
|
265
|
-
2. Create a review request message in their inbox
|
|
266
|
-
3. Include PR link and context
|
|
267
|
-
|
|
268
|
-
## Review Checklist
|
|
269
|
-
|
|
270
|
-
- [ ] Code follows project conventions
|
|
271
|
-
- [ ] No obvious bugs or edge cases
|
|
272
|
-
- [ ] Tests cover the changes
|
|
273
|
-
- [ ] Documentation updated if needed
|
|
274
|
-
- [ ] No security vulnerabilities
|
|
275
|
-
|
|
276
|
-
## Output
|
|
277
|
-
|
|
278
|
-
Provide review summary with actionable feedback.
|
|
279
|
-
`,
|
|
280
|
-
};
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* Sprint status skill - check sprint progress
|
|
284
|
-
*/
|
|
285
|
-
export const sprintStatusSkill: SkillTemplate = {
|
|
286
|
-
name: 'sprint-status',
|
|
287
|
-
description: 'Get current sprint status and progress',
|
|
288
|
-
category: 'optional',
|
|
289
|
-
dependencies: [{ type: 'issue_tracker', required: true, description: 'For sprint data' }],
|
|
290
|
-
content: `---
|
|
291
|
-
description: Get current sprint status and progress
|
|
292
|
-
requires: [issue_tracker]
|
|
293
|
-
---
|
|
294
|
-
|
|
295
|
-
# Sprint Status
|
|
296
|
-
|
|
297
|
-
Get the current sprint status and team progress.
|
|
298
|
-
|
|
299
|
-
## Instructions
|
|
300
|
-
|
|
301
|
-
1. Query the active sprint for project {{JIRA_PROJECT}}
|
|
302
|
-
2. Gather metrics:
|
|
303
|
-
- Total story points committed
|
|
304
|
-
- Points completed
|
|
305
|
-
- Points in progress
|
|
306
|
-
- Points remaining
|
|
307
|
-
3. List tickets by status
|
|
308
|
-
4. Identify blockers or at-risk items
|
|
309
|
-
|
|
310
|
-
## Output Format
|
|
311
|
-
|
|
312
|
-
\`\`\`
|
|
313
|
-
Sprint: <sprint-name>
|
|
314
|
-
Progress: XX/YY points (ZZ%)
|
|
315
|
-
|
|
316
|
-
## Completed
|
|
317
|
-
- [{{JIRA_PROJECT}}-123] Task name (3 pts)
|
|
318
|
-
|
|
319
|
-
## In Progress
|
|
320
|
-
- [{{JIRA_PROJECT}}-124] Task name (5 pts) - @assignee
|
|
321
|
-
|
|
322
|
-
## To Do
|
|
323
|
-
- [{{JIRA_PROJECT}}-125] Task name (2 pts)
|
|
324
|
-
|
|
325
|
-
## Blocked
|
|
326
|
-
- [{{JIRA_PROJECT}}-126] Task name - Reason
|
|
327
|
-
\`\`\`
|
|
328
|
-
|
|
329
|
-
## Fallbacks
|
|
330
|
-
|
|
331
|
-
If issue tracker is unavailable:
|
|
332
|
-
- Report that sprint data cannot be fetched
|
|
333
|
-
- Suggest checking the issue tracker directly at {{JIRA_URL}}
|
|
334
|
-
`,
|
|
335
|
-
};
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* Jira create skill - create Jira tickets
|
|
339
|
-
*/
|
|
340
|
-
export const jiraCreateSkill: SkillTemplate = {
|
|
341
|
-
name: 'jira-create',
|
|
342
|
-
description: 'Create a new Jira ticket',
|
|
343
|
-
argumentHint: '<ticket-type> <summary>',
|
|
344
|
-
category: 'optional',
|
|
345
|
-
dependencies: [{ type: 'issue_tracker', required: true, description: 'For ticket creation' }],
|
|
346
|
-
content: `---
|
|
347
|
-
description: Create a new Jira ticket
|
|
348
|
-
argument-hint: <ticket-type> <summary>
|
|
349
|
-
requires: [issue_tracker]
|
|
350
|
-
---
|
|
351
|
-
|
|
352
|
-
# Create Jira Ticket
|
|
353
|
-
|
|
354
|
-
Create a new ticket in project {{JIRA_PROJECT}}.
|
|
355
|
-
|
|
356
|
-
## Instructions
|
|
357
|
-
|
|
358
|
-
1. Parse the ticket type and summary from arguments
|
|
359
|
-
2. Gather additional details:
|
|
360
|
-
- Description
|
|
361
|
-
- Priority
|
|
362
|
-
- Labels
|
|
363
|
-
- Components (if applicable)
|
|
364
|
-
3. Create the ticket via the issue tracker integration
|
|
365
|
-
4. Return the ticket key and URL
|
|
366
|
-
|
|
367
|
-
## Ticket Types
|
|
368
|
-
|
|
369
|
-
- **Story**: User-facing feature
|
|
370
|
-
- **Bug**: Defect to fix
|
|
371
|
-
- **Task**: Technical work
|
|
372
|
-
- **Spike**: Research/investigation
|
|
373
|
-
|
|
374
|
-
## Output
|
|
375
|
-
|
|
376
|
-
\`\`\`
|
|
377
|
-
Created: {{JIRA_PROJECT}}-XXX
|
|
378
|
-
URL: {{JIRA_URL}}/browse/{{JIRA_PROJECT}}-XXX
|
|
379
|
-
Summary: <summary>
|
|
380
|
-
Type: <type>
|
|
381
|
-
\`\`\`
|
|
382
|
-
|
|
383
|
-
## Fallbacks
|
|
384
|
-
|
|
385
|
-
If issue tracker is unavailable:
|
|
386
|
-
- Provide the user with manual creation instructions
|
|
387
|
-
- Include all details they should enter
|
|
388
|
-
`,
|
|
389
|
-
};
|
|
390
|
-
|
|
391
|
-
/**
|
|
392
|
-
* Jira transition skill - update ticket status
|
|
393
|
-
*/
|
|
394
|
-
export const jiraTransitionSkill: SkillTemplate = {
|
|
395
|
-
name: 'jira-transition',
|
|
396
|
-
description: 'Transition a Jira ticket to a new status',
|
|
397
|
-
argumentHint: '<ticket-key> to <status>',
|
|
398
|
-
category: 'optional',
|
|
399
|
-
dependencies: [{ type: 'issue_tracker', required: true, description: 'For ticket transitions' }],
|
|
400
|
-
content: `---
|
|
401
|
-
description: Transition a Jira ticket to a new status
|
|
402
|
-
argument-hint: <ticket-key> to <status>
|
|
403
|
-
requires: [issue_tracker]
|
|
404
|
-
---
|
|
405
|
-
|
|
406
|
-
# Transition Jira Ticket
|
|
407
|
-
|
|
408
|
-
Update the status of a ticket in {{JIRA_PROJECT}}.
|
|
409
|
-
|
|
410
|
-
## Status Mapping
|
|
411
|
-
|
|
412
|
-
| Workflow Status | Jira Status |
|
|
413
|
-
|-----------------|-------------|
|
|
414
|
-
| BACKLOG | Backlog |
|
|
415
|
-
| IN_PROGRESS | In Progress |
|
|
416
|
-
| PR_CREATED | In Review |
|
|
417
|
-
| IN_REVIEW | In Review |
|
|
418
|
-
| APPROVED | Ready to Merge |
|
|
419
|
-
| MERGED | Done |
|
|
420
|
-
| DONE | Done |
|
|
421
|
-
|
|
422
|
-
## Instructions
|
|
423
|
-
|
|
424
|
-
1. Parse ticket key and target status
|
|
425
|
-
2. Validate the transition is allowed
|
|
426
|
-
3. Add a comment explaining the transition
|
|
427
|
-
4. Execute the transition
|
|
428
|
-
|
|
429
|
-
## Transition Comment Format
|
|
430
|
-
|
|
431
|
-
\`\`\`
|
|
432
|
-
Status updated to <status>.
|
|
433
|
-
<optional context about why>
|
|
434
|
-
\`\`\`
|
|
435
|
-
|
|
436
|
-
## Fallbacks
|
|
437
|
-
|
|
438
|
-
If issue tracker is unavailable:
|
|
439
|
-
- Instruct user to manually transition at {{JIRA_URL}}
|
|
440
|
-
- Provide the target status name
|
|
441
|
-
`,
|
|
442
|
-
};
|
|
443
|
-
|
|
444
|
-
/**
|
|
445
|
-
* Docs update skill - update documentation
|
|
446
|
-
*/
|
|
447
|
-
export const docsUpdateSkill: SkillTemplate = {
|
|
448
|
-
name: 'docs-update',
|
|
449
|
-
description: 'Update project documentation',
|
|
450
|
-
argumentHint: '<doc-path-or-topic>',
|
|
451
|
-
category: 'optional',
|
|
452
|
-
dependencies: [{ type: 'documentation', required: false, description: 'For remote docs' }],
|
|
453
|
-
content: `---
|
|
454
|
-
description: Update project documentation
|
|
455
|
-
argument-hint: <doc-path-or-topic>
|
|
456
|
-
optional: [documentation]
|
|
457
|
-
---
|
|
458
|
-
|
|
459
|
-
# Update Documentation
|
|
460
|
-
|
|
461
|
-
Update project documentation for a specific topic or file.
|
|
462
|
-
|
|
463
|
-
## Instructions
|
|
464
|
-
|
|
465
|
-
1. Identify the documentation to update:
|
|
466
|
-
- Local: \`{{DOCS_PATH}}/\`
|
|
467
|
-
- Remote: {{CONFLUENCE_SPACE}} (if configured)
|
|
468
|
-
|
|
469
|
-
2. Make the necessary updates:
|
|
470
|
-
- Keep formatting consistent
|
|
471
|
-
- Update examples if code changed
|
|
472
|
-
- Add/update version information
|
|
473
|
-
|
|
474
|
-
3. For remote documentation:
|
|
475
|
-
- Use the documentation integration
|
|
476
|
-
- Or provide content for manual update
|
|
477
|
-
|
|
478
|
-
## Documentation Types
|
|
479
|
-
|
|
480
|
-
- **README**: Project overview and setup
|
|
481
|
-
- **API Docs**: Endpoint documentation
|
|
482
|
-
- **Architecture**: Design decisions
|
|
483
|
-
- **Runbooks**: Operational procedures
|
|
484
|
-
|
|
485
|
-
## Fallbacks
|
|
486
|
-
|
|
487
|
-
If documentation integration is unavailable:
|
|
488
|
-
- Create/update local markdown files
|
|
489
|
-
- Provide instructions for manual remote update
|
|
490
|
-
`,
|
|
491
|
-
};
|
|
492
|
-
|
|
493
|
-
/**
|
|
494
|
-
* All built-in skill templates
|
|
495
|
-
*/
|
|
496
|
-
export const builtInSkills: SkillTemplate[] = [
|
|
497
|
-
checkInboxSkill,
|
|
498
|
-
delegateSkill,
|
|
499
|
-
gitCommitSkill,
|
|
500
|
-
prCreateSkill,
|
|
501
|
-
reviewSkill,
|
|
502
|
-
sprintStatusSkill,
|
|
503
|
-
jiraCreateSkill,
|
|
504
|
-
jiraTransitionSkill,
|
|
505
|
-
docsUpdateSkill,
|
|
506
|
-
];
|
|
507
|
-
|
|
508
|
-
/**
|
|
509
|
-
* Get a skill template by name
|
|
510
|
-
*/
|
|
511
|
-
export function getSkillTemplate(name: string): SkillTemplate | undefined {
|
|
512
|
-
return builtInSkills.find((s) => s.name === name);
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
/**
|
|
516
|
-
* Get all skill templates of a category
|
|
517
|
-
*/
|
|
518
|
-
export function getSkillsByCategory(category: 'core' | 'optional'): SkillTemplate[] {
|
|
519
|
-
return builtInSkills.filter((s) => s.category === category);
|
|
520
|
-
}
|