agentic-code 0.6.0 → 0.6.2
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/skills/ai-development-guide/SKILL.md +3 -3
- package/.agents/skills/coding-rules/SKILL.md +3 -3
- package/.agents/skills/documentation-criteria/SKILL.md +3 -3
- package/.agents/skills/implementation-approach/SKILL.md +3 -3
- package/.agents/skills/integration-e2e-testing/SKILL.md +3 -3
- package/.agents/skills/metacognition/SKILL.md +3 -3
- package/.agents/skills/testing/SKILL.md +3 -3
- package/.agents/skills/testing-strategy/SKILL.md +3 -3
- package/AGENTS.md +6 -1
- package/README.md +11 -2
- package/bin/install-codex-skills.js +79 -16
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ai-development-guide
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
Use when:
|
|
3
|
+
description: >
|
|
4
|
+
Detects code smells, anti-patterns, and debugging issues. Guides fail-fast design and implementation completeness.
|
|
5
|
+
Use when: fixing bugs, reviewing code quality, refactoring, or detecting code smells.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# AI Developer Guide
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: coding-rules
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
Use when:
|
|
3
|
+
description: >
|
|
4
|
+
Applies coding standards for clean, maintainable code. Covers functions, error handling, and refactoring techniques.
|
|
5
|
+
Use when: writing functions, handling errors, refactoring, or reviewing code style.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Development Rules
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: documentation-criteria
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
Use when:
|
|
3
|
+
description: >
|
|
4
|
+
Guides PRD, ADR, Design Doc, and Work Plan creation with templates and decision matrix.
|
|
5
|
+
Use when: planning features, writing specs, creating technical documents, or deciding which docs are needed.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Documentation Creation Criteria
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: implementation-approach
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
Use when: planning
|
|
3
|
+
description: >
|
|
4
|
+
Selects implementation strategy (vertical slice, horizontal slice, or hybrid) with risk assessment.
|
|
5
|
+
Use when: planning how to build a feature, deciding development approach, or defining verification levels.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Implementation Strategy Selection Framework (Meta-cognitive Approach)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: integration-e2e-testing
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
Use when:
|
|
3
|
+
description: >
|
|
4
|
+
Designs integration and E2E tests with mock boundaries and behavior verification rules.
|
|
5
|
+
Use when: writing E2E tests, integration tests, test skeletons, or reviewing test quality.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Integration Test & E2E Test Design/Implementation Rules
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: metacognition
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
Use when:
|
|
3
|
+
description: >
|
|
4
|
+
Validates approach and checks assumptions before and after tasks. Provides self-assessment protocol.
|
|
5
|
+
Use when: starting new work, encountering errors, completing tasks, or switching between phases.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Metacognition Protocol
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: testing
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
Use when: writing tests,
|
|
3
|
+
description: >
|
|
4
|
+
Applies TDD process, test quality criteria, and mock usage guidelines. Covers unit, integration, and E2E tests.
|
|
5
|
+
Use when: writing unit tests, using mocks, reviewing test quality, or ensuring test coverage.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Testing Rules
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: testing-strategy
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
Use when:
|
|
3
|
+
description: >
|
|
4
|
+
Prioritizes which tests to write based on ROI calculation and critical user journeys.
|
|
5
|
+
Use when: deciding test coverage, selecting test types, or budgeting test effort.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Test Strategy: ROI-Based Selection
|
package/AGENTS.md
CHANGED
|
@@ -20,7 +20,12 @@
|
|
|
20
20
|
|
|
21
21
|
## Task Analysis - Required First Step
|
|
22
22
|
|
|
23
|
-
**
|
|
23
|
+
**Early Exit Check (BEFORE loading task-analysis.md):**
|
|
24
|
+
Does this task require reading code files to decide HOW to execute it?
|
|
25
|
+
- **NO** → Execute directly, skip task-analysis.md
|
|
26
|
+
- **YES** → Load and follow task-analysis.md
|
|
27
|
+
|
|
28
|
+
**If not early exit, start here for any user request:**
|
|
24
29
|
1. Apply `.agents/tasks/task-analysis.md`
|
|
25
30
|
2. Follow its output to select the appropriate path:
|
|
26
31
|
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Your AI (LLM), guided by built-in workflows. Describe what you want, and it foll
|
|
|
4
4
|
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
[](https://agents.md)
|
|
7
|
-
[](package.json)
|
|
8
8
|
|
|
9
9
|

|
|
10
10
|
|
|
@@ -110,11 +110,20 @@ cp -r path/to/agentic-code/.agents .
|
|
|
110
110
|
|
|
111
111
|
`.agents/skills/` contains reusable skill files in the [Codex Skills format](https://github.com/openai/codex/blob/main/docs/skills.md). Each skill has a `SKILL.md` with instructions that AI agents can discover and apply.
|
|
112
112
|
|
|
113
|
-
**Codex**:
|
|
113
|
+
**Codex**: Install skills for Codex CLI:
|
|
114
114
|
|
|
115
115
|
```bash
|
|
116
|
+
# User scope (all projects)
|
|
116
117
|
npx agentic-code-install-skills --codex
|
|
117
118
|
# Installs to ~/.codex/skills/agentic-code/
|
|
119
|
+
|
|
120
|
+
# Project scope (current project only)
|
|
121
|
+
npx agentic-code-install-skills --codex --project
|
|
122
|
+
# Installs to ./.codex/skills/agentic-code/
|
|
123
|
+
|
|
124
|
+
# Custom path
|
|
125
|
+
npx agentic-code-install-skills --path ./custom/skills
|
|
126
|
+
# Installs to ./custom/skills/agentic-code/
|
|
118
127
|
```
|
|
119
128
|
|
|
120
129
|
## Common Questions
|
|
@@ -7,10 +7,28 @@ const os = require('os');
|
|
|
7
7
|
// Parse command line arguments
|
|
8
8
|
const args = process.argv.slice(2);
|
|
9
9
|
|
|
10
|
+
// Scope types
|
|
11
|
+
const SCOPES = {
|
|
12
|
+
user: 'user',
|
|
13
|
+
project: 'project'
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// Get target directory based on target and scope
|
|
17
|
+
function getTargetDir(targetKey, scope) {
|
|
18
|
+
if (targetKey === 'codex') {
|
|
19
|
+
if (scope === SCOPES.project) {
|
|
20
|
+
return path.join(process.cwd(), '.codex', 'skills');
|
|
21
|
+
}
|
|
22
|
+
// User scope: respect CODEX_HOME environment variable
|
|
23
|
+
const codexHome = process.env.CODEX_HOME || path.join(os.homedir(), '.codex');
|
|
24
|
+
return path.join(codexHome, 'skills');
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
|
|
10
29
|
// Target configurations
|
|
11
30
|
const TARGETS = {
|
|
12
31
|
codex: {
|
|
13
|
-
dir: path.join(os.homedir(), '.codex', 'skills'),
|
|
14
32
|
name: 'agentic-code',
|
|
15
33
|
description: 'OpenAI Codex CLI',
|
|
16
34
|
postInstall: 'Restart Codex to load the skills.\nNote: Enable skills with --enable skills flag or in config.toml'
|
|
@@ -24,26 +42,70 @@ if (args.includes('--help') || args.includes('-h')) {
|
|
|
24
42
|
Usage: agentic-code-install-skills [options]
|
|
25
43
|
|
|
26
44
|
Options:
|
|
27
|
-
--codex
|
|
28
|
-
--
|
|
45
|
+
--codex Install skills to Codex CLI (default)
|
|
46
|
+
--project Install to project scope instead of user scope
|
|
47
|
+
--path <path> Install to custom path
|
|
48
|
+
--help Show this help message
|
|
49
|
+
|
|
50
|
+
Scopes:
|
|
51
|
+
user (default) Install to user directory (~/.codex/skills/ or $CODEX_HOME/skills/)
|
|
52
|
+
project Install to current project (./.codex/skills/)
|
|
29
53
|
|
|
30
54
|
Examples:
|
|
31
|
-
agentic-code-install-skills
|
|
32
|
-
agentic-code-install-skills --codex
|
|
55
|
+
agentic-code-install-skills # Install to ~/.codex/skills/ (user scope)
|
|
56
|
+
agentic-code-install-skills --codex # Same as above (explicit)
|
|
57
|
+
agentic-code-install-skills --codex --project # Install to ./.codex/skills/ (project scope)
|
|
58
|
+
agentic-code-install-skills --path ./my-skills # Install to ./my-skills/agentic-code
|
|
33
59
|
`);
|
|
34
60
|
process.exit(0);
|
|
35
61
|
}
|
|
36
62
|
|
|
63
|
+
// Parse --path option
|
|
64
|
+
function getCustomPath() {
|
|
65
|
+
const pathIndex = args.indexOf('--path');
|
|
66
|
+
if (pathIndex === -1) return null;
|
|
67
|
+
|
|
68
|
+
const customPath = args[pathIndex + 1];
|
|
69
|
+
if (!customPath || customPath.startsWith('-')) {
|
|
70
|
+
console.error('Error: --path requires a path argument');
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
return path.resolve(customPath);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const customPath = getCustomPath();
|
|
77
|
+
|
|
37
78
|
// Determine target (default: codex)
|
|
38
|
-
let targetKey = 'codex';
|
|
79
|
+
let targetKey = customPath ? 'custom' : 'codex';
|
|
39
80
|
if (args.includes('--codex')) {
|
|
40
|
-
targetKey = 'codex';
|
|
81
|
+
targetKey = customPath ? 'custom' : 'codex';
|
|
41
82
|
}
|
|
42
83
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
84
|
+
// Determine scope (default: user)
|
|
85
|
+
const scope = args.includes('--project') ? SCOPES.project : SCOPES.user;
|
|
86
|
+
|
|
87
|
+
// Get skills directory
|
|
88
|
+
let skillsDir;
|
|
89
|
+
let target;
|
|
90
|
+
|
|
91
|
+
if (customPath) {
|
|
92
|
+
skillsDir = customPath;
|
|
93
|
+
target = {
|
|
94
|
+
name: 'agentic-code',
|
|
95
|
+
description: 'custom path',
|
|
96
|
+
postInstall: null
|
|
97
|
+
};
|
|
98
|
+
} else {
|
|
99
|
+
target = TARGETS[targetKey];
|
|
100
|
+
if (!target) {
|
|
101
|
+
console.error(`Error: Unknown target '${targetKey}'`);
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
skillsDir = getTargetDir(targetKey, scope);
|
|
105
|
+
if (!skillsDir) {
|
|
106
|
+
console.error(`Error: Cannot determine target directory for '${targetKey}'`);
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
47
109
|
}
|
|
48
110
|
|
|
49
111
|
// Get source directory (from installed package or local)
|
|
@@ -89,16 +151,17 @@ function main() {
|
|
|
89
151
|
process.exit(1);
|
|
90
152
|
}
|
|
91
153
|
|
|
92
|
-
const targetDir = path.join(
|
|
154
|
+
const targetDir = path.join(skillsDir, target.name);
|
|
155
|
+
const scopeLabel = customPath ? 'custom' : (scope === SCOPES.project ? 'project' : 'user');
|
|
93
156
|
|
|
94
|
-
console.log(`Installing Agentic Code skills to ${target.description}...\n`);
|
|
157
|
+
console.log(`Installing Agentic Code skills to ${target.description} (${scopeLabel})...\n`);
|
|
95
158
|
console.log(`Source: ${sourceDir}`);
|
|
96
159
|
console.log(`Target: ${targetDir}\n`);
|
|
97
160
|
|
|
98
161
|
// Create target parent directory if not exists
|
|
99
|
-
if (!fs.existsSync(
|
|
100
|
-
fs.mkdirSync(
|
|
101
|
-
console.log(`Created: ${
|
|
162
|
+
if (!fs.existsSync(skillsDir)) {
|
|
163
|
+
fs.mkdirSync(skillsDir, { recursive: true });
|
|
164
|
+
console.log(`Created: ${skillsDir}`);
|
|
102
165
|
}
|
|
103
166
|
|
|
104
167
|
// Remove existing target directory
|