Skills no longer come from the user's ~/.agents library - most users have none, and the CEO branch that compiled the entire catalogue into its prompt overflowed the model context (1.1MB) and failed every CEO run. - Bundle "built-in skills/" with the app (extraResources) and stage it at startup into <profile>/builtin-skills as one dir-per-skill copy - both bundle shapes (SKILL.md dirs and flat category .md files) normalize into the same importable layout - Import the staged catalogue per org at startup and inside onboarding, so the CEO's first run already carries it - Forced house style: resolveRuntimeSnapshot unions the humanizer skill into every agent's runtime (CEO included) as a resolution rule - no binding row to forget, delete, or bypass; revoke_skill refuses it - CEO staffs hires with skills: hire_agent accepts a skills array, grant_skill/revoke_skill adjust later, list_skills now shows descriptions from skill frontmatter - Kill the c_suite compile-all branch; everyone resolves bindings-only, capped at 200k chars with omissions named in the prompt - Remove the Skills settings page and its import/sync/test IPC surface; drop ~/.agents discovery and the AGENTCOMPANY_NEW_SKILLS_ROOT seam in favor of AGENTCOMPANY_NEW_BUILTIN_SKILLS_DIR - Tests: staging/import/forced-resolution/cap units, real-bundle CI check, e2e asserts the tab is gone and the catalogue self-imports
25 lines
1014 B
TypeScript
25 lines
1014 B
TypeScript
import { mkdirSync, writeFileSync } from "node:fs";
|
|
import { join } from "node:path";
|
|
|
|
/**
|
|
* A miniature of the real bundled catalogue: the forced humanizer skill plus
|
|
* one category of flat skills. E2E launches point
|
|
* AGENTCOMPANY_NEW_BUILTIN_SKILLS_DIR here so startup imports stay small and
|
|
* hermetic instead of reading the full repo bundle.
|
|
*/
|
|
export function seedBuiltinSkillsFixture(root: string): string {
|
|
mkdirSync(join(root, "humanizer"), { recursive: true });
|
|
writeFileSync(
|
|
join(root, "humanizer", "SKILL.md"),
|
|
"---\nname: humanizer\nversion: 2.1.1\ndescription: |\n Remove signs of AI-generated writing from text.\n---\n\nWrite like a person.\n",
|
|
"utf8",
|
|
);
|
|
mkdirSync(join(root, "engineering"), { recursive: true });
|
|
writeFileSync(
|
|
join(root, "engineering", "engineering-backend-architect.md"),
|
|
"---\nname: Backend Architect\ndescription: Scalable system design specialist.\n---\n\nDesign the systems that hold everything up.\n",
|
|
"utf8",
|
|
);
|
|
return root;
|
|
}
|