attocode 0.1.2 → 0.1.4

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 (175) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/README.md +180 -0
  3. package/dist/src/agent.d.ts +78 -1
  4. package/dist/src/agent.d.ts.map +1 -1
  5. package/dist/src/agent.js +639 -36
  6. package/dist/src/agent.js.map +1 -1
  7. package/dist/src/analysis/feedback-loop.d.ts +115 -0
  8. package/dist/src/analysis/feedback-loop.d.ts.map +1 -0
  9. package/dist/src/analysis/feedback-loop.js +226 -0
  10. package/dist/src/analysis/feedback-loop.js.map +1 -0
  11. package/dist/src/analysis/index.d.ts +9 -0
  12. package/dist/src/analysis/index.d.ts.map +1 -0
  13. package/dist/src/analysis/index.js +9 -0
  14. package/dist/src/analysis/index.js.map +1 -0
  15. package/dist/src/analysis/prompt-templates.d.ts +36 -0
  16. package/dist/src/analysis/prompt-templates.d.ts.map +1 -0
  17. package/dist/src/analysis/prompt-templates.js +198 -0
  18. package/dist/src/analysis/prompt-templates.js.map +1 -0
  19. package/dist/src/analysis/trace-summary.d.ts +56 -0
  20. package/dist/src/analysis/trace-summary.d.ts.map +1 -0
  21. package/dist/src/analysis/trace-summary.js +261 -0
  22. package/dist/src/analysis/trace-summary.js.map +1 -0
  23. package/dist/src/commands/agents-commands.d.ts +24 -0
  24. package/dist/src/commands/agents-commands.d.ts.map +1 -0
  25. package/dist/src/commands/agents-commands.js +284 -0
  26. package/dist/src/commands/agents-commands.js.map +1 -0
  27. package/dist/src/commands/handler.d.ts.map +1 -1
  28. package/dist/src/commands/handler.js +329 -21
  29. package/dist/src/commands/handler.js.map +1 -1
  30. package/dist/src/commands/init-commands.d.ts +35 -0
  31. package/dist/src/commands/init-commands.d.ts.map +1 -0
  32. package/dist/src/commands/init-commands.js +187 -0
  33. package/dist/src/commands/init-commands.js.map +1 -0
  34. package/dist/src/commands/skills-commands.d.ts +26 -0
  35. package/dist/src/commands/skills-commands.d.ts.map +1 -0
  36. package/dist/src/commands/skills-commands.js +309 -0
  37. package/dist/src/commands/skills-commands.js.map +1 -0
  38. package/dist/src/commands/types.d.ts +13 -2
  39. package/dist/src/commands/types.d.ts.map +1 -1
  40. package/dist/src/config.d.ts +3 -0
  41. package/dist/src/config.d.ts.map +1 -1
  42. package/dist/src/config.js.map +1 -1
  43. package/dist/src/defaults.d.ts +31 -2
  44. package/dist/src/defaults.d.ts.map +1 -1
  45. package/dist/src/defaults.js +69 -2
  46. package/dist/src/defaults.js.map +1 -1
  47. package/dist/src/errors/index.d.ts +233 -0
  48. package/dist/src/errors/index.d.ts.map +1 -0
  49. package/dist/src/errors/index.js +427 -0
  50. package/dist/src/errors/index.js.map +1 -0
  51. package/dist/src/integrations/agent-registry.d.ts +68 -2
  52. package/dist/src/integrations/agent-registry.d.ts.map +1 -1
  53. package/dist/src/integrations/agent-registry.js +230 -23
  54. package/dist/src/integrations/agent-registry.js.map +1 -1
  55. package/dist/src/integrations/auto-compaction.d.ts +33 -0
  56. package/dist/src/integrations/auto-compaction.d.ts.map +1 -1
  57. package/dist/src/integrations/auto-compaction.js +47 -3
  58. package/dist/src/integrations/auto-compaction.js.map +1 -1
  59. package/dist/src/integrations/cancellation.d.ts +5 -0
  60. package/dist/src/integrations/cancellation.d.ts.map +1 -1
  61. package/dist/src/integrations/cancellation.js +7 -0
  62. package/dist/src/integrations/cancellation.js.map +1 -1
  63. package/dist/src/integrations/capabilities.d.ts +160 -0
  64. package/dist/src/integrations/capabilities.d.ts.map +1 -0
  65. package/dist/src/integrations/capabilities.js +426 -0
  66. package/dist/src/integrations/capabilities.js.map +1 -0
  67. package/dist/src/integrations/context-engineering.d.ts +6 -1
  68. package/dist/src/integrations/context-engineering.d.ts.map +1 -1
  69. package/dist/src/integrations/context-engineering.js +7 -0
  70. package/dist/src/integrations/context-engineering.js.map +1 -1
  71. package/dist/src/integrations/dead-letter-queue.d.ts +208 -0
  72. package/dist/src/integrations/dead-letter-queue.d.ts.map +1 -0
  73. package/dist/src/integrations/dead-letter-queue.js +458 -0
  74. package/dist/src/integrations/dead-letter-queue.js.map +1 -0
  75. package/dist/src/integrations/health-check.d.ts +218 -0
  76. package/dist/src/integrations/health-check.d.ts.map +1 -0
  77. package/dist/src/integrations/health-check.js +400 -0
  78. package/dist/src/integrations/health-check.js.map +1 -0
  79. package/dist/src/integrations/index.d.ts +11 -2
  80. package/dist/src/integrations/index.d.ts.map +1 -1
  81. package/dist/src/integrations/index.js +19 -2
  82. package/dist/src/integrations/index.js.map +1 -1
  83. package/dist/src/integrations/mcp-client.d.ts +9 -0
  84. package/dist/src/integrations/mcp-client.d.ts.map +1 -1
  85. package/dist/src/integrations/mcp-client.js +49 -7
  86. package/dist/src/integrations/mcp-client.js.map +1 -1
  87. package/dist/src/integrations/openrouter-pricing.d.ts +28 -3
  88. package/dist/src/integrations/openrouter-pricing.d.ts.map +1 -1
  89. package/dist/src/integrations/openrouter-pricing.js +57 -16
  90. package/dist/src/integrations/openrouter-pricing.js.map +1 -1
  91. package/dist/src/integrations/retry.d.ts +131 -0
  92. package/dist/src/integrations/retry.d.ts.map +1 -0
  93. package/dist/src/integrations/retry.js +233 -0
  94. package/dist/src/integrations/retry.js.map +1 -0
  95. package/dist/src/integrations/skill-executor.d.ts +113 -0
  96. package/dist/src/integrations/skill-executor.d.ts.map +1 -0
  97. package/dist/src/integrations/skill-executor.js +270 -0
  98. package/dist/src/integrations/skill-executor.js.map +1 -0
  99. package/dist/src/integrations/skills.d.ts +98 -7
  100. package/dist/src/integrations/skills.d.ts.map +1 -1
  101. package/dist/src/integrations/skills.js +210 -11
  102. package/dist/src/integrations/skills.js.map +1 -1
  103. package/dist/src/integrations/sqlite-store.d.ts +42 -0
  104. package/dist/src/integrations/sqlite-store.d.ts.map +1 -1
  105. package/dist/src/integrations/sqlite-store.js +111 -0
  106. package/dist/src/integrations/sqlite-store.js.map +1 -1
  107. package/dist/src/main.js +88 -7
  108. package/dist/src/main.js.map +1 -1
  109. package/dist/src/modes/repl.d.ts.map +1 -1
  110. package/dist/src/modes/repl.js +37 -1
  111. package/dist/src/modes/repl.js.map +1 -1
  112. package/dist/src/modes/tui.d.ts.map +1 -1
  113. package/dist/src/modes/tui.js +46 -5
  114. package/dist/src/modes/tui.js.map +1 -1
  115. package/dist/src/modes.d.ts.map +1 -1
  116. package/dist/src/modes.js +10 -3
  117. package/dist/src/modes.js.map +1 -1
  118. package/dist/src/persistence/schema.d.ts +4 -0
  119. package/dist/src/persistence/schema.d.ts.map +1 -1
  120. package/dist/src/persistence/schema.js +49 -0
  121. package/dist/src/persistence/schema.js.map +1 -1
  122. package/dist/src/providers/adapters/anthropic.d.ts +24 -2
  123. package/dist/src/providers/adapters/anthropic.d.ts.map +1 -1
  124. package/dist/src/providers/adapters/anthropic.js +184 -0
  125. package/dist/src/providers/adapters/anthropic.js.map +1 -1
  126. package/dist/src/tools/bash.d.ts.map +1 -1
  127. package/dist/src/tools/bash.js +7 -4
  128. package/dist/src/tools/bash.js.map +1 -1
  129. package/dist/src/tools/file.d.ts.map +1 -1
  130. package/dist/src/tools/file.js +31 -10
  131. package/dist/src/tools/file.js.map +1 -1
  132. package/dist/src/tools/permission.d.ts +12 -0
  133. package/dist/src/tools/permission.d.ts.map +1 -1
  134. package/dist/src/tools/permission.js +136 -0
  135. package/dist/src/tools/permission.js.map +1 -1
  136. package/dist/src/tools/registry.d.ts +23 -1
  137. package/dist/src/tools/registry.d.ts.map +1 -1
  138. package/dist/src/tools/registry.js +77 -17
  139. package/dist/src/tools/registry.js.map +1 -1
  140. package/dist/src/tools/standard.d.ts.map +1 -1
  141. package/dist/src/tools/standard.js +8 -0
  142. package/dist/src/tools/standard.js.map +1 -1
  143. package/dist/src/tools/types.d.ts +20 -1
  144. package/dist/src/tools/types.d.ts.map +1 -1
  145. package/dist/src/tools/types.js.map +1 -1
  146. package/dist/src/tracing/trace-collector.d.ts +198 -2
  147. package/dist/src/tracing/trace-collector.d.ts.map +1 -1
  148. package/dist/src/tracing/trace-collector.js +315 -3
  149. package/dist/src/tracing/trace-collector.js.map +1 -1
  150. package/dist/src/tracing/types.d.ts +470 -2
  151. package/dist/src/tracing/types.d.ts.map +1 -1
  152. package/dist/src/tracing/types.js +25 -0
  153. package/dist/src/tracing/types.js.map +1 -1
  154. package/dist/src/tui/app.d.ts.map +1 -1
  155. package/dist/src/tui/app.js +292 -18
  156. package/dist/src/tui/app.js.map +1 -1
  157. package/dist/src/tui/index.d.ts +1 -0
  158. package/dist/src/tui/index.d.ts.map +1 -1
  159. package/dist/src/tui/index.js +2 -0
  160. package/dist/src/tui/index.js.map +1 -1
  161. package/dist/src/tui/transparency-aggregator.d.ts +100 -0
  162. package/dist/src/tui/transparency-aggregator.d.ts.map +1 -0
  163. package/dist/src/tui/transparency-aggregator.js +234 -0
  164. package/dist/src/tui/transparency-aggregator.js.map +1 -0
  165. package/dist/src/types.d.ts +129 -0
  166. package/dist/src/types.d.ts.map +1 -1
  167. package/package.json +6 -3
  168. package/dist/src/hello.d.ts +0 -2
  169. package/dist/src/hello.d.ts.map +0 -1
  170. package/dist/src/hello.js +0 -4
  171. package/dist/src/hello.js.map +0 -1
  172. package/dist/src/test-sqlite.d.ts +0 -2
  173. package/dist/src/test-sqlite.d.ts.map +0 -1
  174. package/dist/src/test-sqlite.js +0 -114
  175. package/dist/src/test-sqlite.js.map +0 -1
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Skill Executor
3
+ *
4
+ * Handles invocation of skills with argument parsing and template substitution.
5
+ * Skills can be invoked like commands: /review --file src/main.ts --focus security
6
+ */
7
+ // =============================================================================
8
+ // SKILL EXECUTOR
9
+ // =============================================================================
10
+ /**
11
+ * Executes invokable skills with argument parsing and template substitution.
12
+ */
13
+ export class SkillExecutor {
14
+ skillManager;
15
+ eventListeners = new Set();
16
+ constructor(skillManager) {
17
+ this.skillManager = skillManager;
18
+ }
19
+ /**
20
+ * Check if an input string is a potential skill invocation.
21
+ * Returns the skill name if it matches, null otherwise.
22
+ */
23
+ isSkillInvocation(input) {
24
+ if (!input.startsWith('/'))
25
+ return null;
26
+ const parts = input.split(/\s+/);
27
+ const cmdName = parts[0].slice(1); // Remove leading /
28
+ const skill = this.skillManager.getSkill(cmdName);
29
+ if (skill && skill.invokable) {
30
+ return cmdName;
31
+ }
32
+ return null;
33
+ }
34
+ /**
35
+ * Parse command-line style arguments.
36
+ */
37
+ parseArguments(skill, rawArgs) {
38
+ const result = {
39
+ named: {},
40
+ positional: [],
41
+ errors: [],
42
+ };
43
+ const argDefs = skill.arguments || [];
44
+ // Build alias map
45
+ const aliasMap = new Map();
46
+ for (const arg of argDefs) {
47
+ aliasMap.set(`--${arg.name}`, arg);
48
+ if (arg.aliases) {
49
+ for (const alias of arg.aliases) {
50
+ aliasMap.set(alias, arg);
51
+ }
52
+ }
53
+ }
54
+ // Parse arguments
55
+ let i = 0;
56
+ while (i < rawArgs.length) {
57
+ const token = rawArgs[i];
58
+ if (token.startsWith('-')) {
59
+ // Check for --flag=value syntax
60
+ const eqIndex = token.indexOf('=');
61
+ let key;
62
+ let value;
63
+ if (eqIndex !== -1) {
64
+ key = token.slice(0, eqIndex);
65
+ value = token.slice(eqIndex + 1);
66
+ }
67
+ else {
68
+ key = token;
69
+ }
70
+ const argDef = aliasMap.get(key);
71
+ if (argDef) {
72
+ // Get value
73
+ if (argDef.type === 'boolean') {
74
+ result.named[argDef.name] = value !== undefined ? value === 'true' : true;
75
+ }
76
+ else {
77
+ if (value === undefined) {
78
+ i++;
79
+ if (i < rawArgs.length && !rawArgs[i].startsWith('-')) {
80
+ value = rawArgs[i];
81
+ }
82
+ else {
83
+ result.errors.push(`Missing value for argument: ${key}`);
84
+ continue;
85
+ }
86
+ }
87
+ // Type conversion
88
+ if (argDef.type === 'number') {
89
+ const num = parseFloat(value);
90
+ if (isNaN(num)) {
91
+ result.errors.push(`Invalid number for ${argDef.name}: ${value}`);
92
+ }
93
+ else {
94
+ result.named[argDef.name] = num;
95
+ }
96
+ }
97
+ else {
98
+ result.named[argDef.name] = value;
99
+ }
100
+ }
101
+ }
102
+ else {
103
+ // Unknown argument - treat as positional? Or error?
104
+ result.errors.push(`Unknown argument: ${key}`);
105
+ }
106
+ }
107
+ else {
108
+ result.positional.push(token);
109
+ }
110
+ i++;
111
+ }
112
+ // Apply defaults
113
+ for (const arg of argDefs) {
114
+ if (result.named[arg.name] === undefined && arg.default !== undefined) {
115
+ result.named[arg.name] = arg.default;
116
+ }
117
+ }
118
+ // Check required arguments
119
+ for (const arg of argDefs) {
120
+ if (arg.required && result.named[arg.name] === undefined) {
121
+ result.errors.push(`Missing required argument: --${arg.name}`);
122
+ }
123
+ }
124
+ return result;
125
+ }
126
+ /**
127
+ * Substitute template variables in skill content.
128
+ * Variables are in the form {{name}} or {{name|default}}.
129
+ */
130
+ substituteTemplate(content, args) {
131
+ return content.replace(/\{\{(\w+)(?:\|([^}]*))?\}\}/g, (match, name, defaultVal) => {
132
+ if (args.named[name] !== undefined) {
133
+ return String(args.named[name]);
134
+ }
135
+ if (defaultVal !== undefined) {
136
+ return defaultVal;
137
+ }
138
+ return match; // Keep original if no value
139
+ });
140
+ }
141
+ /**
142
+ * Execute a skill by name with arguments.
143
+ */
144
+ async executeSkill(skillName, rawArgs, ctx) {
145
+ this.emit({ type: 'skill.invoke.start', skillName, args: rawArgs });
146
+ const skill = this.skillManager.getSkill(skillName);
147
+ if (!skill) {
148
+ const error = `Skill not found: ${skillName}`;
149
+ this.emit({ type: 'skill.invoke.error', skillName, error });
150
+ return { success: false, output: '', error };
151
+ }
152
+ if (!skill.invokable) {
153
+ const error = `Skill "${skillName}" is not invokable. It can only be activated passively.`;
154
+ this.emit({ type: 'skill.invoke.error', skillName, error });
155
+ return { success: false, output: '', error };
156
+ }
157
+ // Parse arguments
158
+ const parsed = this.parseArguments(skill, rawArgs);
159
+ this.emit({ type: 'skill.invoke.parsed', skillName, parsed });
160
+ if (parsed.errors.length > 0) {
161
+ const error = `Argument errors:\n${parsed.errors.map(e => ` - ${e}`).join('\n')}\n\n${this.formatSkillHelp(skill)}`;
162
+ this.emit({ type: 'skill.invoke.error', skillName, error });
163
+ return { success: false, output: '', error };
164
+ }
165
+ // Add positional args as a special variable
166
+ if (parsed.positional.length > 0) {
167
+ parsed.named['_positional'] = parsed.positional.join(' ');
168
+ parsed.named['_args'] = parsed.positional;
169
+ }
170
+ // Add context variables
171
+ parsed.named['_cwd'] = ctx.cwd;
172
+ if (ctx.sessionId) {
173
+ parsed.named['_sessionId'] = ctx.sessionId;
174
+ }
175
+ // Substitute template variables in content
176
+ const processedContent = this.substituteTemplate(skill.content, parsed);
177
+ // For prompt-injection mode, create the injected prompt
178
+ if (skill.executionMode === 'prompt-injection' || !skill.executionMode) {
179
+ const injectedPrompt = this.buildInjectedPrompt(skill, processedContent, parsed);
180
+ const result = {
181
+ success: true,
182
+ output: `Skill "${skillName}" activated with injected prompt.`,
183
+ injectedPrompt,
184
+ };
185
+ this.emit({ type: 'skill.invoke.complete', skillName, result });
186
+ return result;
187
+ }
188
+ // Workflow mode would require running multiple steps
189
+ // For now, treat it like prompt-injection
190
+ const injectedPrompt = this.buildInjectedPrompt(skill, processedContent, parsed);
191
+ const result = {
192
+ success: true,
193
+ output: `Skill "${skillName}" activated in workflow mode.`,
194
+ injectedPrompt,
195
+ };
196
+ this.emit({ type: 'skill.invoke.complete', skillName, result });
197
+ return result;
198
+ }
199
+ /**
200
+ * Build the prompt to inject based on skill content and arguments.
201
+ */
202
+ buildInjectedPrompt(skill, content, args) {
203
+ const parts = [];
204
+ parts.push(`<skill name="${skill.name}">`);
205
+ parts.push(content);
206
+ // Add argument context if any were provided
207
+ const namedArgs = Object.entries(args.named)
208
+ .filter(([k]) => !k.startsWith('_'))
209
+ .map(([k, v]) => ` ${k}: ${JSON.stringify(v)}`)
210
+ .join('\n');
211
+ if (namedArgs) {
212
+ parts.push(`\n<arguments>\n${namedArgs}\n</arguments>`);
213
+ }
214
+ parts.push('</skill>');
215
+ return parts.join('\n');
216
+ }
217
+ /**
218
+ * Format help text for a skill.
219
+ */
220
+ formatSkillHelp(skill) {
221
+ const lines = [
222
+ `Usage: /${skill.name} [options]`,
223
+ '',
224
+ skill.description,
225
+ ];
226
+ if (skill.arguments && skill.arguments.length > 0) {
227
+ lines.push('', 'Options:');
228
+ for (const arg of skill.arguments) {
229
+ const aliases = arg.aliases ? arg.aliases.join(', ') + ', ' : '';
230
+ const required = arg.required ? ' (required)' : '';
231
+ const defaultVal = arg.default !== undefined ? ` [default: ${arg.default}]` : '';
232
+ lines.push(` ${aliases}--${arg.name} ${arg.description}${required}${defaultVal}`);
233
+ }
234
+ }
235
+ return lines.join('\n');
236
+ }
237
+ /**
238
+ * Get all invokable skills.
239
+ */
240
+ getInvokableSkills() {
241
+ return this.skillManager.getAllSkills().filter(s => s.invokable);
242
+ }
243
+ /**
244
+ * Subscribe to executor events.
245
+ */
246
+ subscribe(listener) {
247
+ this.eventListeners.add(listener);
248
+ return () => this.eventListeners.delete(listener);
249
+ }
250
+ emit(event) {
251
+ for (const listener of this.eventListeners) {
252
+ try {
253
+ listener(event);
254
+ }
255
+ catch {
256
+ // Ignore listener errors
257
+ }
258
+ }
259
+ }
260
+ }
261
+ // =============================================================================
262
+ // FACTORY FUNCTIONS
263
+ // =============================================================================
264
+ /**
265
+ * Create a skill executor.
266
+ */
267
+ export function createSkillExecutor(skillManager) {
268
+ return new SkillExecutor(skillManager);
269
+ }
270
+ //# sourceMappingURL=skill-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-executor.js","sourceRoot":"","sources":["../../../src/integrations/skill-executor.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,38 @@
5
5
  * Skills are defined as markdown files with YAML frontmatter containing
6
6
  * metadata like name, description, and required tools.
7
7
  *
8
- * Directory structure:
9
- * - Built-in skills: 25-production-agent/skills/
10
- * - User skills: .agent/skills/
11
- * - Global skills: ~/.agent/skills/
8
+ * Directory structure (priority: later overrides earlier):
9
+ * - Built-in skills: attocode/skills/
10
+ * - User skills: ~/.attocode/skills/
11
+ * - Project skills: .attocode/skills/
12
+ * - Legacy paths (.agent/) supported for backward compatibility
12
13
  *
13
14
  * Usage:
14
- * const skills = createSkillManager({ directories: ['.agent/skills'] });
15
+ * const skills = createSkillManager({ directories: getDefaultSkillDirectories() });
15
16
  * await skills.loadSkills();
16
17
  * await skills.activateSkill('code-review', context);
17
18
  */
19
+ /**
20
+ * Skill argument definition for invokable skills.
21
+ */
22
+ export interface SkillArgument {
23
+ /** Argument name (used in templates as {{name}}) */
24
+ name: string;
25
+ /** Human-readable description shown in help */
26
+ description: string;
27
+ /** Argument type for validation */
28
+ type: 'string' | 'boolean' | 'file' | 'number';
29
+ /** Whether this argument is required */
30
+ required?: boolean;
31
+ /** Default value if not provided */
32
+ default?: unknown;
33
+ /** CLI aliases (e.g., ['-f', '--file']) */
34
+ aliases?: string[];
35
+ }
36
+ /**
37
+ * Skill source type for display and management.
38
+ */
39
+ export type SkillSourceType = 'builtin' | 'user' | 'project' | 'legacy';
18
40
  /**
19
41
  * Skill definition from SKILL.md or skill.md file.
20
42
  */
@@ -29,6 +51,8 @@ export interface Skill {
29
51
  content: string;
30
52
  /** Source file path */
31
53
  sourcePath: string;
54
+ /** Source type (builtin, user, project, legacy) */
55
+ sourceType?: SkillSourceType;
32
56
  /** Optional version */
33
57
  version?: string;
34
58
  /** Optional author */
@@ -39,6 +63,12 @@ export interface Skill {
39
63
  active?: boolean;
40
64
  /** When to auto-activate this skill */
41
65
  triggers?: SkillTrigger[];
66
+ /** Whether this skill can be invoked via /skillname command */
67
+ invokable?: boolean;
68
+ /** Arguments for invokable skills */
69
+ arguments?: SkillArgument[];
70
+ /** Execution mode: prompt-injection (default) or workflow (multi-step) */
71
+ executionMode?: 'prompt-injection' | 'workflow';
42
72
  }
43
73
  /**
44
74
  * Skill trigger definition.
@@ -82,9 +112,29 @@ export type SkillEvent = {
82
112
  };
83
113
  export type SkillEventListener = (event: SkillEvent) => void;
84
114
  /**
85
- * Default skill directories.
115
+ * Default skill directories with priority hierarchy:
116
+ * built-in < ~/.attocode/ < .attocode/ (later entries override earlier)
117
+ *
118
+ * Legacy paths (.agent/) are included for backward compatibility.
86
119
  */
87
120
  export declare function getDefaultSkillDirectories(): string[];
121
+ /**
122
+ * Get the directory where new skills should be created.
123
+ * Prefers .attocode/skills/ in the project root.
124
+ */
125
+ export declare function getSkillCreationDirectory(): string;
126
+ /**
127
+ * Get the user-level skill directory.
128
+ */
129
+ export declare function getUserSkillDirectory(): string;
130
+ /**
131
+ * Determine the source type of a skill based on its path.
132
+ */
133
+ export declare function getSkillSourceType(skillPath: string): SkillSourceType;
134
+ /**
135
+ * Get a human-readable location string for a skill.
136
+ */
137
+ export declare function getSkillLocationDisplay(skill: Skill): string;
88
138
  /**
89
139
  * Manages skill discovery, loading, and activation.
90
140
  */
@@ -165,7 +215,48 @@ export declare function createSkillManager(config?: SkillsConfig): SkillManager;
165
215
  */
166
216
  export declare function formatSkillList(skills: Skill[]): string;
167
217
  /**
168
- * Create a sample skill file content.
218
+ * Create a sample skill file content (basic).
169
219
  */
170
220
  export declare function getSampleSkillContent(name: string, description: string): string;
221
+ /**
222
+ * Get a skill scaffold template with all options.
223
+ */
224
+ export declare function getSkillScaffold(name: string, options?: {
225
+ invokable?: boolean;
226
+ description?: string;
227
+ args?: Array<{
228
+ name: string;
229
+ description: string;
230
+ type?: string;
231
+ required?: boolean;
232
+ }>;
233
+ triggers?: string[];
234
+ }): string;
235
+ /**
236
+ * Result of creating a skill scaffold.
237
+ */
238
+ export interface SkillScaffoldResult {
239
+ success: boolean;
240
+ path?: string;
241
+ error?: string;
242
+ }
243
+ /**
244
+ * Create a skill scaffold in the .attocode/skills/ directory.
245
+ */
246
+ export declare function createSkillScaffold(name: string, options?: {
247
+ invokable?: boolean;
248
+ description?: string;
249
+ args?: Array<{
250
+ name: string;
251
+ description: string;
252
+ type?: string;
253
+ required?: boolean;
254
+ }>;
255
+ triggers?: string[];
256
+ userLevel?: boolean;
257
+ }): Promise<SkillScaffoldResult>;
258
+ /**
259
+ * Get statistics about loaded skills by source.
260
+ */
261
+ export declare function getSkillStats(skills: Skill[]): Record<SkillSourceType, number>;
171
262
  //# sourceMappingURL=skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/integrations/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/integrations/skills.ts"],"names":[],"mappings":"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"}