role-creator
SKILL.md
role-creator
Generate a role skill package in a fixed contract:
<target>/SKILL.md<target>/references/role.yaml<target>/system.md
Target directory options:
skills/<role-name>/— for open-source publishing (default).agents/teams/<role-name>/— for team use with agent-team
Required Workflow
- Normalize Input — validate role name as kebab-case.
- Generate Role Fields — auto-generate fields, delegate to
/brainstormingon rejection. - Select Skills —
find-skillsrecommendations, user selection, manual additions. - Execute CLI — run
agent-team role createwith approved parameters. - Validate Output — verify three managed files match expected template structure.
Step 1: Normalize Input
role-namemust be kebab-case (default:frontend-devwhen not provided).- If the input is not kebab-case, suggest a normalized version and confirm with user.
Step 2: Generate Role Fields
- Auto-generate the following fields (do not ask user to draft them by default):
descriptionsystem goalin-scope(comma-separated)out-of-scope(comma-separated)
- Present generated fields for user approval.
- If user rejects, or AI confidence is low (ambiguous scope, conflicting boundaries, vague goals), delegate to
/brainstormingskill for structured refinement. - After fields are approved, ask user for target directory (
skillsor.agents/teams). - If target is
.agents/teamsand the role already exists in global~/.claude/skills/, ask if user wants to copy from there instead of generating.
Step 3: Select Skills
- Run
find-skillsto get recommendation candidates. - Show recommendation list and let user select desired skills.
- Ask for manual additions after selection.
- Merge selected + manual additions with de-duplication, then confirm final list.
- Final skills may be empty — will be persisted as
skills: []inreferences/role.yaml.
If find-skills is unavailable or returns empty, skip recommendations and ask for manual additions only.
Step 4: Execute CLI
CLI Reference
| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
<role-name> |
arg | yes | — | Role name (kebab-case) |
--description |
string | yes | — | Role description |
--system-goal |
string | yes | — | Primary objective for system.md |
--in-scope |
string[] | no | (from description) | In-scope items (repeatable, comma-separated) |
--out-of-scope |
string[] | no | fallback text | Out-of-scope items (repeatable, comma-separated) |
--skills |
string | no | "" |
Final selected skills (comma-separated) |
--recommended-skills |
string | no | "" |
Recommended skills from find-skills |
--add-skills |
string | no | "" |
Skills to add on top of selection |
--remove-skills |
string | no | "" |
Skills to remove from candidate list |
--manual-skills |
string | no | "" |
Manual fallback when recommendations unavailable |
--target-dir |
string | no | skills |
Target: skills, .agents/teams, or custom path |
--overwrite |
string | no | ask |
Overwrite mode: ask/yes/no |
--repo-root |
string | no | . |
Repository root path |
--force |
bool | no | false |
Skip global duplicate check |
Skills resolution priority: --skills > --recommended-skills > --manual-skills, then --add-skills appended, --remove-skills excluded.
Examples
For open-source publishing (default):
agent-team role create frontend-dev \
--description "Frontend role for UI implementation" \
--system-goal "Ship accessible and maintainable UI work" \
--in-scope "Build components,Improve accessibility" \
--out-of-scope "Database migrations,Backend API ownership" \
--skills "ui-ux-pro-max,better-icons"
For team use (agent-team integration):
agent-team role create frontend-dev \
--target-dir .agents/teams \
--description "Frontend role for UI implementation" \
--system-goal "Ship accessible and maintainable UI work" \
--in-scope "Build components,Improve accessibility" \
--out-of-scope "Database migrations,Backend API ownership" \
--skills "ui-ux-pro-max,better-icons"
Empty skills example:
agent-team role create product-manager \
--description "Product role for roadmap and PRD work" \
--system-goal "Define clear product requirements and priorities"
Step 5: Validate Output
Verify three files against actual template structure:
SKILL.md— contains role name, description, and trigger keywords derived from in-scope items.references/role.yaml— must contain:name— role namedescription— role descriptionsystem_prompt_file: system.mdscope.in_scope— list of in-scope itemsscope.out_of_scope— list of out-of-scope itemsconstraints.single_role_focus: trueskills— list of selected skills (may be empty[])
system.md— contains system goal and operating constraints.
If any file is missing or contains unexpected content, report the discrepancy and offer to regenerate.
Overwrite Behavior
- Controlled by
--overwriteflag (ask/yes/no). - On overwrite, backup is created at
<parent>/.backup/<role-name>-<timestamp>/. - Only managed files are overwritten (
SKILL.md,references/role.yaml,system.md).
Runtime Skill Discovery (Role Usage Guideline)
Generated roles should follow this behavior at runtime:
- When a role receives a task that requires a skill not listed in its
references/role.yaml, it should invokefind-skillsto search for a matching skill. - If a suitable skill is found, ask the user whether to install globally or project-level before installing.
- If the user does not specify, default to global installation.
- Install the selected skill and use it to complete the task.
- After successful use, suggest adding the skill to the role's
references/role.yamlfor future sessions. - If
find-skillsis unavailable or returns no match, the role should notify the user and proceed with best-effort execution.
Weekly Installs
24
Repository
jsonlee12138/agent-teamGitHub Stars
17
First Seen
Feb 26, 2026
Security Audits
Installed on
opencode23
gemini-cli21
github-copilot20
codex20
amp20
kimi-cli20