@arrieta1/skills 1.0.0
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/README.md +40 -0
- package/package.json +29 -0
- package/scripts/install-skills.js +36 -0
- package/skills/payload-debug.md +24 -0
- package/skills/transform-audit.md +24 -0
package/README.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Project Graphite Skills Package
|
|
2
|
+
|
|
3
|
+
Reusable skills that can be installed into local prompt or skill directories.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @dayanaarrieta-graphite/skills
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
For npmjs publishing/install, authenticate first:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm login
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Copy skills into a local folder
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx -y @dayanaarrieta-graphite/skills project-graphite-install-skills
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
By default, skills are copied to `.graphite-skills` in your current working directory.
|
|
24
|
+
|
|
25
|
+
Set `GRAPHITE_SKILLS_DIR` to install elsewhere:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
GRAPHITE_SKILLS_DIR="$HOME/.graphite-skills" npm run install:skills
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Included skills
|
|
32
|
+
|
|
33
|
+
- `transform-audit.md`
|
|
34
|
+
- `payload-debug.md`
|
|
35
|
+
|
|
36
|
+
## Publish (public)
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm publish --access public
|
|
40
|
+
```
|
package/package.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@arrieta1/skills",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Reusable skills for Project Graphite workflows",
|
|
5
|
+
"private": false,
|
|
6
|
+
"bin": {
|
|
7
|
+
"project-graphite-install-skills": "scripts/install-skills.js"
|
|
8
|
+
},
|
|
9
|
+
"publishConfig": {
|
|
10
|
+
"access": "public"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"skills",
|
|
14
|
+
"scripts",
|
|
15
|
+
"README.md"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"install:skills": "node scripts/install-skills.js"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"skills",
|
|
22
|
+
"prompts",
|
|
23
|
+
"graphite"
|
|
24
|
+
],
|
|
25
|
+
"license": "UNLICENSED",
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=18"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
|
|
6
|
+
const sourceDir = path.resolve(__dirname, "..", "skills");
|
|
7
|
+
const targetDir = process.env.GRAPHITE_SKILLS_DIR
|
|
8
|
+
? path.resolve(process.env.GRAPHITE_SKILLS_DIR)
|
|
9
|
+
: path.resolve(process.cwd(), ".graphite-skills");
|
|
10
|
+
|
|
11
|
+
function copyDirectory(source, target) {
|
|
12
|
+
if (!fs.existsSync(target)) {
|
|
13
|
+
fs.mkdirSync(target, {recursive: true});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const entries = fs.readdirSync(source, {withFileTypes: true});
|
|
17
|
+
for (const entry of entries) {
|
|
18
|
+
const sourcePath = path.join(source, entry.name);
|
|
19
|
+
const targetPath = path.join(target, entry.name);
|
|
20
|
+
|
|
21
|
+
if (entry.isDirectory()) {
|
|
22
|
+
copyDirectory(sourcePath, targetPath);
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
fs.copyFileSync(sourcePath, targetPath);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (!fs.existsSync(sourceDir)) {
|
|
31
|
+
throw new Error(`Skills source folder not found: ${sourceDir}`);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
copyDirectory(sourceDir, targetDir);
|
|
35
|
+
|
|
36
|
+
process.stdout.write(`Installed skills to ${targetDir}\n`);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Payload Debug Skill
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Diagnose mismatches between expected golden payload output and generated transformation payloads.
|
|
6
|
+
|
|
7
|
+
## Inputs
|
|
8
|
+
|
|
9
|
+
- `customerId`
|
|
10
|
+
- `erpType`
|
|
11
|
+
- `profilePath`
|
|
12
|
+
- `expectedPayloadPath`
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. Identify key structural diffs between expected and actual payloads.
|
|
17
|
+
2. Trace each mismatch back to source `build*()` methods.
|
|
18
|
+
3. Suggest minimum code changes required.
|
|
19
|
+
4. List tests to run for verification.
|
|
20
|
+
|
|
21
|
+
## Output
|
|
22
|
+
|
|
23
|
+
- Root-cause summary for each mismatch.
|
|
24
|
+
- Prioritized fix plan with file references.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Transform Audit Skill
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Audit a customer transformation implementation against repository standards and known reference transformer patterns.
|
|
6
|
+
|
|
7
|
+
## Inputs
|
|
8
|
+
|
|
9
|
+
- `customerId`
|
|
10
|
+
- `erpType`
|
|
11
|
+
- `changedFiles`
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Verify file naming convention for transformer and enum files.
|
|
16
|
+
2. Check for hardcoded string keys where enums should be used.
|
|
17
|
+
3. Confirm overrides call `super.build*()` where applicable.
|
|
18
|
+
4. Validate test coverage updates for customer changes.
|
|
19
|
+
5. Produce actionable fixes with exact file paths.
|
|
20
|
+
|
|
21
|
+
## Output
|
|
22
|
+
|
|
23
|
+
- A concise checklist of pass/fail findings.
|
|
24
|
+
- Recommended fixes in priority order.
|