Role Source Ingest
Use this skill when the user asks to make, import, package, wrap, or convert an external repository, plugin, skill collection, prompt set, workflow system, or local source tree into an Agent Role.
Inputs
- Source URL or local path, plus ref, commit, tag, or access date when known.
- Intended Role id, aliases, host adapters, and publication target.
- User preference: one Role, multiple Roles, or ask
motherto recommend. - User preference for copy treatment: synthesize, vendor intact, vendor with
modifications, reference only, or ask
motherto recommend. - Whether web research is allowed for host-specific skill behavior.
- Candidate scorecard or research evidence when multiple sources were considered.
Workflow
- Establish source authority.
- Record URL/path, ref, license, maintainer, package names, and access date.
- If multiple candidate sources exist, run
role-candidate-scorebefore selecting a source for ingestion. - Do not fetch private data, read secrets, install plugins, or mutate provider homes.
- Inventory before writing.
Prefer the local helper:
python roles/mother/scripts/inventory_external_source.py <source-path> --prettyIf the source is remote, inspect a local clone or checkout; do not write into
roles/<id>/during inventory.
- Classify content.
- Role memory: durable identity, boundaries, and operating instructions.
- Role skills: focused reusable workflows with trigger metadata.
- Role references: long domain rules, schemas, examples, and contracts.
- Tool/runtime support: scripts, libraries, validators, runbooks, templates.
- Plugin content: host-native manifests or plugin source carried as Role source.
- Adapter notes: host-specific projection, unsupported behavior, cleanup, and Project Binding details.
- Excluded content: secrets, sessions, task progress, runtime state, provider homes, generated projection output, build caches, vendored dependency trees, and hidden installed-state records.
- Decide copy treatment.
- Use
vendored_intactwhen a public/open-source skill should be carried without modification, its license is known and compatible, required notices can be preserved, and inventory found no forbidden state. - Use
vendored_modifiedwhen upstream content is copied but adjusted for Agent Roles paths, trigger metadata, adapter boundaries, or validation; document the modifications. - Use
synthesizedwhen the Role should only borrow concepts or when copying would add too much stack-specific, stale, or noisy content. - Use
referenced_onlywhen the source should remain an external link or install-time dependency. - Use
excludedfor secrets, provider state, generated projection output, build caches, hidden installers, incompatible licenses, or unrelated files.
- Use
- Decide packaging shape.
- Use one Role when one specialist identity owns the workflow.
- Recommend multiple Roles only when duties require different memory, permissions, providers, or independent lifecycle contracts.
- Recommend a future team/topology recipe when the desired behavior is an agent network rather than one Role identity.
- If the user requires one Role, document surfaces and degraded partial mounts instead of pretending every host can project everything.
- Produce the blueprint gate before edits.
- Prefer
templates/role-blueprint.md; useschemas/role-blueprint.schema.jsonwhen the blueprint should be machine-checkable. - Role id, aliases, catalog level, version posture, and publication target.
- Contents map from source paths to Role paths.
- Permission posture and network/write/secrets rationale.
- Adapter surface map and unsupported-content behavior.
- Provenance, license, source refs, copy treatment, required notices, modification notes, and excluded material.
- Validation plan for TOML, contents paths, aliases, list/install/resolve, source-boundary scan, and tool smoke tests where useful.
- Risks and user confirmation points.
- Prefer
- Write only after the blueprint is accepted or the user explicitly instructs implementation with that blueprint.
Write Gate
Do not create or modify roles/<id>/ before the blueprint exists. If writing
starts, finish in one of these states:
complete: required metadata, README, memory, contents inventory, tests, and validation are present.draft: the source is explicitly incomplete and remaining gaps are listed.rollback: partial files were removed with user consent.blocked: the blocker and dirty paths are listed.
Output
Return:
- inventory summary and notable risks;
- source classification table;
- copy-treatment decision for each carried source;
- single-role/multi-role/topology decision;
- blueprint gate;
- proposed patch plan;
- verification commands.