ai-developer-skill-os 3.1.4 → 5.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 +15 -19
- package/_template/SKILL.md +37 -133
- package/framework/KERNEL.md +58 -0
- package/framework/bias-library/cosmetic-refactor.md +21 -0
- package/framework/bias-library/enterprise-crud.md +21 -0
- package/framework/bias-library/fake-ui-slop.md +20 -0
- package/framework/bias-library/hallucinated-tools.md +20 -0
- package/framework/bias-library/missing-ui-states.md +19 -0
- package/framework/bias-library/over-indexing.md +20 -0
- package/framework/bias-library/swallow-errors.md +19 -0
- package/framework/bias-library/ui-only-security.md +17 -0
- package/framework/dial-library/complexity-budget.md +13 -0
- package/framework/dial-library/granularity.md +13 -0
- package/framework/dial-library/optimization-strategy.md +13 -0
- package/framework/dial-library/strictness.md +13 -0
- package/framework/rule-library/delegation-only.md +9 -0
- package/framework/rule-library/minimal-diff.md +9 -0
- package/package.json +1 -1
- package/skills/qk-access-policy/SKILL.md +41 -31
- package/skills/qk-ai-builder/SKILL.md +40 -31
- package/skills/qk-api-lifecycle/SKILL.md +40 -53
- package/skills/qk-bug-resolution/SKILL.md +40 -57
- package/skills/qk-context-loader/SKILL.md +37 -36
- package/skills/qk-data-lifecycle/SKILL.md +38 -50
- package/skills/qk-db-optimizer/SKILL.md +56 -0
- package/skills/qk-design-to-code/SKILL.md +41 -36
- package/skills/qk-docs/SKILL.md +38 -42
- package/skills/qk-engineering-standard/SKILL.md +40 -52
- package/skills/qk-feature-delivery/SKILL.md +40 -56
- package/skills/qk-help/SKILL.md +37 -29
- package/skills/qk-orchestrator/SKILL.md +41 -43
- package/skills/qk-policy-engine/SKILL.md +37 -42
- package/skills/qk-production-release/SKILL.md +41 -37
- package/skills/qk-project-bootstrap/SKILL.md +40 -33
- package/skills/qk-project-health/SKILL.md +37 -45
- package/skills/qk-project-memory/SKILL.md +39 -25
- package/skills/qk-system-evolution/SKILL.md +37 -52
- package/skills/qk-ui-audit/SKILL.md +38 -47
- package/skills/qk-ui-system-builder/SKILL.md +39 -30
- package/skills/qk-validation-gate/SKILL.md +35 -48
- package/skills.json +313 -86
- package/taste-skill/.claude-plugin/marketplace.json +20 -0
- package/taste-skill/.claude-plugin/plugin.json +19 -0
- package/taste-skill/.github/FUNDING.yml +1 -0
- package/taste-skill/.github/copilot-instructions.md +11 -0
- package/taste-skill/CHANGELOG.md +111 -0
- package/taste-skill/LICENSE +21 -0
- package/taste-skill/README.md +212 -0
- package/taste-skill/assets/.gitkeep +0 -0
- package/taste-skill/assets/readme-banner.webp +0 -0
- package/taste-skill/assets/readme-buttons/btn-agent-skills.webp +0 -0
- package/taste-skill/assets/readme-buttons/btn-changelog.webp +0 -0
- package/taste-skill/assets/readme-buttons/btn-mit.webp +0 -0
- package/taste-skill/assets/readme-buttons/btn-site.webp +0 -0
- package/taste-skill/assets/readme-buttons/btn-tools.webp +0 -0
- package/taste-skill/assets/readme-cta-tasteskill.svg +5 -0
- package/taste-skill/assets/sponsors/animations-dev.webp +0 -0
- package/taste-skill/assets/sponsors/emil-animations-dev.webp +0 -0
- package/taste-skill/assets/taste-skill-logo.png +0 -0
- package/taste-skill/assets/taste-skill-logo.webp +0 -0
- package/taste-skill/assets/vercel-oss-program-badge.svg +44 -0
- package/taste-skill/examples/floria-bottom.webp +0 -0
- package/taste-skill/examples/floria-full.webp +0 -0
- package/taste-skill/examples/floria-top.webp +0 -0
- package/taste-skill/research/README.md +8 -0
- package/taste-skill/research/laziness/README.md +25 -0
- package/taste-skill/research/laziness/findings/empirical-results.md +58 -0
- package/taste-skill/research/laziness/findings/references.md +20 -0
- package/taste-skill/research/laziness/remediation/architectural-patterns.md +55 -0
- package/taste-skill/research/laziness/remediation/parameter-tuning.md +44 -0
- package/taste-skill/research/laziness/remediation/prompt-engineering.md +52 -0
- package/taste-skill/research/laziness/remediation/reference-prompts.md +79 -0
- package/taste-skill/research/laziness/root-causes/cognitive-shortcuts.md +23 -0
- package/taste-skill/research/laziness/root-causes/output-limits.md +39 -0
- package/taste-skill/research/laziness/root-causes/rlhf-and-compute.md +27 -0
- package/taste-skill/research/laziness/root-causes/training-data-bias.md +28 -0
- package/taste-skill/scripts/build-emil-sponsor-row.mjs +41 -0
- package/taste-skill/scripts/convert-readme-assets-webp.mjs +142 -0
- package/taste-skill/scripts/process-readme-buttons.mjs +108 -0
- package/taste-skill/scripts/process-sponsor-badge.mjs +83 -0
- package/taste-skill/skill.sh +25 -0
- package/taste-skill/skills/brandkit/SKILL.md +798 -0
- package/taste-skill/skills/brutalist-skill/SKILL.md +92 -0
- package/taste-skill/skills/gpt-tasteskill/SKILL.md +74 -0
- package/taste-skill/skills/image-to-code-skill/SKILL.md +1228 -0
- package/taste-skill/skills/imagegen-frontend-mobile/SKILL.md +1465 -0
- package/taste-skill/skills/imagegen-frontend-web/SKILL.md +987 -0
- package/taste-skill/skills/llms.txt +13 -0
- package/taste-skill/skills/minimalist-skill/SKILL.md +85 -0
- package/taste-skill/skills/output-skill/SKILL.md +49 -0
- package/taste-skill/skills/redesign-skill/SKILL.md +178 -0
- package/taste-skill/skills/soft-skill/SKILL.md +98 -0
- package/taste-skill/skills/stitch-skill/DESIGN.md +121 -0
- package/taste-skill/skills/stitch-skill/SKILL.md +184 -0
- package/taste-skill/skills/taste-skill/SKILL.md +1206 -0
- package/taste-skill/skills/taste-skill-v1/SKILL.md +226 -0
- package/skills/qk-documentation-system/SKILL.md +0 -45
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import sharp from "sharp";
|
|
4
|
+
|
|
5
|
+
const src =
|
|
6
|
+
"C:/Users/User/Downloads/c4f8c4a7-2566-4644-b752-b652e0c103f5.png";
|
|
7
|
+
const out = path.join(process.cwd(), "assets/sponsors/emil-animations-dev.png");
|
|
8
|
+
|
|
9
|
+
function isBackground(r, g, b, a, threshold = 22) {
|
|
10
|
+
if (a < 8) return true;
|
|
11
|
+
return r <= threshold && g <= threshold && b <= threshold;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function removeOuterBackground(rgba, width, height) {
|
|
15
|
+
const visited = new Uint8Array(width * height);
|
|
16
|
+
const queue = [];
|
|
17
|
+
|
|
18
|
+
for (let x = 0; x < width; x++) {
|
|
19
|
+
queue.push(x, 0, x, height - 1);
|
|
20
|
+
}
|
|
21
|
+
for (let y = 1; y < height - 1; y++) {
|
|
22
|
+
queue.push(0, y, width - 1, y);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
while (queue.length) {
|
|
26
|
+
const y = queue.pop();
|
|
27
|
+
const x = queue.pop();
|
|
28
|
+
const idx = y * width + x;
|
|
29
|
+
if (x < 0 || y < 0 || x >= width || y >= height || visited[idx]) continue;
|
|
30
|
+
|
|
31
|
+
const i = idx * 4;
|
|
32
|
+
if (!isBackground(rgba[i], rgba[i + 1], rgba[i + 2], rgba[i + 3])) continue;
|
|
33
|
+
|
|
34
|
+
visited[idx] = 1;
|
|
35
|
+
rgba[i + 3] = 0;
|
|
36
|
+
queue.push(x + 1, y, x - 1, y, x, y + 1, x, y - 1);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return rgba;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function getBounds(rgba, width, height) {
|
|
43
|
+
let minX = width;
|
|
44
|
+
let minY = height;
|
|
45
|
+
let maxX = 0;
|
|
46
|
+
let maxY = 0;
|
|
47
|
+
|
|
48
|
+
for (let y = 0; y < height; y++) {
|
|
49
|
+
for (let x = 0; x < width; x++) {
|
|
50
|
+
const a = rgba[(y * width + x) * 4 + 3];
|
|
51
|
+
if (a > 8) {
|
|
52
|
+
minX = Math.min(minX, x);
|
|
53
|
+
minY = Math.min(minY, y);
|
|
54
|
+
maxX = Math.max(maxX, x);
|
|
55
|
+
maxY = Math.max(maxY, y);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const pad = 2;
|
|
61
|
+
return {
|
|
62
|
+
left: Math.max(0, minX - pad),
|
|
63
|
+
top: Math.max(0, minY - pad),
|
|
64
|
+
width: Math.min(width, maxX - minX + 1 + pad * 2),
|
|
65
|
+
height: Math.min(height, maxY - minY + 1 + pad * 2),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const { data, info } = await sharp(src).ensureAlpha().raw().toBuffer({ resolveWithObject: true });
|
|
70
|
+
const rgba = Buffer.from(data);
|
|
71
|
+
removeOuterBackground(rgba, info.width, info.height);
|
|
72
|
+
const bounds = getBounds(rgba, info.width, info.height);
|
|
73
|
+
|
|
74
|
+
const tmp = `${out}.tmp.png`;
|
|
75
|
+
await sharp(rgba, { raw: { width: info.width, height: info.height, channels: 4 } })
|
|
76
|
+
.extract(bounds)
|
|
77
|
+
.resize({ height: 36, withoutEnlargement: true })
|
|
78
|
+
.png({ compressionLevel: 9, palette: true, quality: 80, effort: 10 })
|
|
79
|
+
.toFile(tmp);
|
|
80
|
+
|
|
81
|
+
fs.renameSync(tmp, out);
|
|
82
|
+
const meta = await sharp(out).metadata();
|
|
83
|
+
console.log(`${path.basename(out)} -> ${meta.width}x${meta.height}, ${fs.statSync(out).size} bytes`);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Local skill registry
|
|
4
|
+
declare -A SKILLS=(
|
|
5
|
+
[taste-skill]="skills/taste-skill/SKILL.md"
|
|
6
|
+
[taste-skill-v1]="skills/taste-skill-v1/SKILL.md"
|
|
7
|
+
[gpt-taste]="skills/gpt-tasteskill/SKILL.md"
|
|
8
|
+
[image-to-code-skill]="skills/image-to-code-skill/SKILL.md"
|
|
9
|
+
[imagegen-frontend-web]="skills/imagegen-frontend-web/SKILL.md"
|
|
10
|
+
[imagegen-frontend-mobile]="skills/imagegen-frontend-mobile/SKILL.md"
|
|
11
|
+
[brandkit]="skills/brandkit/SKILL.md"
|
|
12
|
+
[redesign-skill]="skills/redesign-skill/SKILL.md"
|
|
13
|
+
[soft-skill]="skills/soft-skill/SKILL.md"
|
|
14
|
+
[output-skill]="skills/output-skill/SKILL.md"
|
|
15
|
+
[minimalist-skill]="skills/minimalist-skill/SKILL.md"
|
|
16
|
+
[brutalist-skill]="skills/brutalist-skill/SKILL.md"
|
|
17
|
+
[stitch-skill]="skills/stitch-skill/SKILL.md"
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
if [[ $# -eq 0 ]]; then
|
|
21
|
+
echo "Usage: source ./skill.sh <skill-name>"
|
|
22
|
+
echo "Available skills: ${!SKILLS[@]}"
|
|
23
|
+
else
|
|
24
|
+
echo "${SKILLS[$1]}"
|
|
25
|
+
fi
|