📦 deps(thirdparty): update snapshots

This commit is contained in:
ci[bot]
2026-06-02 16:01:55 +00:00
parent 8696cd9e52
commit ac7fffe532
834 changed files with 153251 additions and 1426 deletions
@@ -65,11 +65,11 @@ assert.ok(
);
assert.ok(
antigravityMessages.some((message) => message.includes("--agy")),
"Antigravity installs should point agy CLI users to the flat CLI layout",
"Antigravity installs should point agy CLI users to the dedicated CLI layout",
);
const agyMessages = installer.getPostInstallMessages([
{ name: "Antigravity CLI", path: "/tmp/.gemini/antigravity-cli/skills", layout: "flat-markdown" },
{ name: "Antigravity CLI", path: "/tmp/.gemini/antigravity-cli/skills" },
]);
assert.ok(
@@ -95,34 +95,36 @@ try {
const nestedDir = path.join(tempDir, "skills", "security", "audit");
fs.mkdirSync(alphaDir, { recursive: true });
fs.mkdirSync(nestedDir, { recursive: true });
fs.mkdirSync(path.join(tempDir, "docs"), { recursive: true });
fs.mkdirSync(targetDir, { recursive: true });
fs.writeFileSync(path.join(alphaDir, "SKILL.md"), "---\nname: alpha\n---\n\n# Alpha\n", "utf8");
fs.writeFileSync(path.join(nestedDir, "SKILL.md"), "---\nname: audit\n---\n\n# Audit\n", "utf8");
fs.writeFileSync(path.join(tempDir, "docs", "README.md"), "# Docs\n", "utf8");
assert.deepStrictEqual(
installer.getManagedEntries(["alpha", "security/audit", "docs"], { layout: "flat-markdown" }),
["alpha.md", "audit.md"],
"agy CLI flat installs should track markdown skill files instead of skill directories",
installer.getManagedEntries(["alpha", "security/audit", "docs"], {}),
["alpha", "security/audit", "docs"],
"agy CLI installs should track skill directories with nested SKILL.md files",
);
installer.installSkillsIntoFlatMarkdownTarget(tempDir, targetDir, [
installer.installSkillsIntoTarget(tempDir, targetDir, [
"alpha",
"security/audit",
"docs",
]);
assert.strictEqual(
fs.readFileSync(path.join(targetDir, "alpha.md"), "utf8"),
fs.readFileSync(path.join(targetDir, "alpha", "SKILL.md"), "utf8"),
"---\nname: alpha\n---\n\n# Alpha\n",
);
assert.strictEqual(
fs.readFileSync(path.join(targetDir, "audit.md"), "utf8"),
fs.readFileSync(path.join(targetDir, "security", "audit", "SKILL.md"), "utf8"),
"---\nname: audit\n---\n\n# Audit\n",
);
assert.strictEqual(
fs.existsSync(path.join(targetDir, "docs")),
false,
"agy CLI flat installs should not copy docs as a slash-command entry",
true,
"agy CLI installs should preserve the standard skills-only layout, including docs",
);
} finally {
fs.rmSync(fixtureRoot, { recursive: true, force: true });
@@ -16,6 +16,7 @@ const LOCAL_TEST_COMMANDS = [
[path.join(TOOL_TESTS, "build_catalog_bundles.test.js")],
[path.join(TOOL_TESTS, "claude_plugin_marketplace.test.js")],
[path.join(TOOL_TESTS, "codex_plugin_marketplace.test.js")],
[path.join(TOOL_TESTS, "specialized_plugin_candidates.test.js")],
[path.join(TOOL_TESTS, "plugin_directories.test.js")],
[path.join(TOOL_SCRIPTS, "run-python.js"), path.join(TOOL_TESTS, "test_editorial_bundles.py")],
[path.join(TOOL_SCRIPTS, "run-python.js"), path.join(TOOL_TESTS, "test_plugin_compatibility.py")],
@@ -0,0 +1,75 @@
const assert = require("assert");
const fs = require("fs");
const path = require("path");
const { findProjectRoot } = require("../../lib/project-root");
const projectRoot = findProjectRoot(__dirname);
const candidatesPath = path.join(projectRoot, "data", "specialized-plugin-candidates.json");
const bundlesPath = path.join(projectRoot, "data", "editorial-bundles.json");
const skillsIndexPath = path.join(projectRoot, "data", "skills_index.json");
const codexMarketplacePath = path.join(projectRoot, ".agents", "plugins", "marketplace.json");
const claudeMarketplacePath = path.join(projectRoot, ".claude-plugin", "marketplace.json");
const candidates = JSON.parse(fs.readFileSync(candidatesPath, "utf8")).candidates || [];
const bundles = JSON.parse(fs.readFileSync(bundlesPath, "utf8")).bundles || [];
const skills = JSON.parse(fs.readFileSync(skillsIndexPath, "utf8"));
const codexMarketplace = JSON.parse(fs.readFileSync(codexMarketplacePath, "utf8"));
const claudeMarketplace = JSON.parse(fs.readFileSync(claudeMarketplacePath, "utf8"));
const bundlesById = new Map(bundles.map((bundle) => [bundle.id, bundle]));
const skillsById = new Map(skills.map((skill) => [skill.id, skill]));
const codexPluginNames = new Set(codexMarketplace.plugins.map((plugin) => plugin.name));
const claudePluginNames = new Set(claudeMarketplace.plugins.map((plugin) => plugin.name));
assert.ok(candidates.length >= 10, "specialized plugin candidates should include a meaningful shortlist");
for (const candidate of candidates) {
assert.match(candidate.id, /^[a-z0-9]+(?:-[a-z0-9]+)*$/, `candidate ${candidate.id} should use a host-neutral id convention`);
assert.ok(!candidate.id.startsWith("codex-"), `candidate ${candidate.id} should not brand the plugin name around Codex`);
assert.ok(!/^Codex\b/.test(candidate.name), `candidate ${candidate.id} display name should not start with Codex`);
assert.ok(
candidate.skills.length >= 5 && candidate.skills.length <= 10,
`candidate ${candidate.id} should stay within the focused 5-10 skill range`,
);
const bundle = bundlesById.get(candidate.id);
assert.ok(bundle, `candidate ${candidate.id} must be enabled in data/editorial-bundles.json`);
assert.strictEqual(bundle.name, candidate.name, `candidate ${candidate.id} bundle name should match`);
assert.deepStrictEqual(
bundle.skills.map((skill) => skill.id),
candidate.skills,
`candidate ${candidate.id} bundle skills should match the candidate manifest`,
);
const pluginRoot = path.join(projectRoot, "plugins", `antigravity-bundle-${candidate.id}`);
assert.ok(fs.existsSync(pluginRoot), `candidate ${candidate.id} plugin directory should exist`);
assert.ok(
fs.existsSync(path.join(pluginRoot, ".codex-plugin", "plugin.json")),
`candidate ${candidate.id} should have a Codex plugin manifest`,
);
assert.ok(
fs.existsSync(path.join(pluginRoot, ".claude-plugin", "plugin.json")),
`candidate ${candidate.id} should have a Claude plugin manifest`,
);
assert.ok(
codexPluginNames.has(`agyb-${candidate.id}`),
`candidate ${candidate.id} should be listed in the Codex marketplace`,
);
assert.ok(
claudePluginNames.has(`antigravity-bundle-${candidate.id}`),
`candidate ${candidate.id} should be listed in the Claude marketplace`,
);
for (const skillId of candidate.skills) {
const skill = skillsById.get(skillId);
assert.ok(skill, `candidate ${candidate.id} references missing skill ${skillId}`);
assert.strictEqual(skill.plugin?.targets?.codex, "supported", `${skillId} should be Codex plugin-safe`);
assert.strictEqual(skill.plugin?.targets?.claude, "supported", `${skillId} should be Claude plugin-safe`);
assert.ok(
fs.existsSync(path.join(pluginRoot, "skills", ...skillId.split("/"), "SKILL.md")),
`candidate ${candidate.id} should materialize skill ${skillId}`,
);
}
}
console.log("ok");
@@ -78,7 +78,7 @@ class AuditConsistencyTests(unittest.TestCase):
- **Broad coverage with real utility**: {count_label} skills across development, testing, security, infrastructure, product, and marketing.
If you want a faster answer than "browse all {count_label} skills", start with a tool-specific guide:
**Start here:** [Install in 1 minute](#installation) · [Recommended plugins](#recommended-specialized-plugins) · [Choose your tool](#choose-your-tool) · [📚 Browse {count_label} Skills](#browse-{total_skills}-skills) · [Bundles & workflows](#bundles--workflows) · [Support the project](#support-the-project)
""",
encoding="utf-8",
)
@@ -62,10 +62,10 @@ We officially thank the following contributors for their help in making this rep
["alice", "github-actions[bot]", "Copilot", "new-user"],
)
self.assertIn("- [@alice](https://github.com/alice)", updated)
self.assertIn("- [@github-actions[bot]](https://github.com/apps/github-actions)", updated)
self.assertIn("- [@Copilot](https://github.com/apps/copilot-swe-agent)", updated)
self.assertIn("- [@new-user](https://github.com/new-user)", updated)
self.assertIn("https://contrib.rocks/image?repo=sickn33/antigravity-awesome-skills&max=500", updated)
self.assertIn("https://github.com/sickn33/antigravity-awesome-skills/graphs/contributors", updated)
self.assertNotIn("- [@alice]", updated)
self.assertNotIn("- [@new-user]", updated)
self.assertEqual(updated.count("## Repo Contributors"), 1)
self.assertEqual(updated.count("## License"), 1)
@@ -80,7 +80,7 @@ We officially thank the following contributors for their help in making this rep
["alice", "github-actions[bot]", "bob", "new-a", "new-z"],
)
def test_update_repo_contributors_section_avoids_reordering_existing_entries(self):
def test_update_repo_contributors_section_removes_manual_list(self):
content = """## Repo Contributors
<a href="https://github.com/sickn33/antigravity-awesome-skills/graphs/contributors">
@@ -108,15 +108,7 @@ We officially thank the following contributors for their help in making this rep
1,
)[1].split("\n## License", 1)[0]
self.assertEqual(
contributor_block.strip().splitlines(),
[
"- [@alice](https://github.com/alice)",
"- [@github-actions[bot]](https://github.com/apps/github-actions)",
"- [@bob](https://github.com/bob)",
"- [@new-user](https://github.com/new-user)",
],
)
self.assertNotIn("- [@", contributor_block)
def test_parse_contributors_response_dedupes_and_sorts_order(self):
payload = [
@@ -48,11 +48,11 @@ class SyncRepoMetadataTests(unittest.TestCase):
- **Broad coverage with real utility**: 1,273+ skills across development, testing, security, infrastructure, product, and marketing.
**Start here:** [Install in 1 minute](#installation) · [Recommended plugins](#recommended-specialized-plugins) · [Choose your tool](#choose-your-tool) · [📚 Browse 1,273+ Skills](#browse-1273-skills) · [Bundles & workflows](#bundles--workflows) · [Support the project](#support-the-project)
- [Browse 1,273+ Skills](#browse-1273-skills)
**Antigravity Awesome Skills** (Release 8.3.0) is a large, installable skill library for AI coding assistants. It includes onboarding docs, bundles, workflows, generated catalogs, and a CLI installer so you can move from discovery to actual usage without manually stitching together dozens of repos.
If you want a faster answer than "browse all 1,273+ skills", start with a tool-specific guide:
**Antigravity Awesome Skills** (Release 8.3.0) is a large, installable skill library for AI coding assistants. It packages 1,273+ reusable `SKILL.md` playbooks, specialized plugins, bundles, workflows, generated catalogs, and a CLI installer so Claude Code, Codex CLI, Cursor, Gemini CLI, Antigravity, and similar tools can reuse proven operating instructions instead of one-off prompts.
""",
encoding="utf-8",
)
@@ -110,7 +110,9 @@ If you want a faster answer than "browse all 1,273+ skills", start with a tool-s
self.assertGreaterEqual(updated_files, 10)
readme = (root / "README.md").read_text(encoding="utf-8")
self.assertIn("1,304+ agentic skills", readme)
self.assertIn("[📚 Browse 1,304+ Skills](#browse-1304-skills)", readme)
self.assertIn("[Browse 1,304+ Skills](#browse-1304-skills)", readme)
self.assertIn("1,304+ reusable `SKILL.md` playbooks", readme)
self.assertIn("V8.4.0", (root / "docs" / "users" / "getting-started.md").read_text(encoding="utf-8"))
self.assertIn("1,304+ files", (root / "docs" / "users" / "gemini-cli-skills.md").read_text(encoding="utf-8"))
self.assertIn("1,304+ specialized areas", (root / "docs" / "users" / "kiro-integration.md").read_text(encoding="utf-8"))