Cómo usar
- Copia el comando y revisa el paquete antes de instalarlo en tu entorno de agente.
- Consulta las herramientas, credenciales y entornos necesarios en el documento original.
- Describe las entradas y el resultado deseado; contrasta la salida con las fuentes.
npx skills add https://github.com/tikalk/adlc-team-skills --skill team-skillsAntes de empezar
- La instalación no incluye suscripción al modelo, cuota API ni permisos sobre tus archivos.
- Las estrellas e instalaciones reflejan actividad, no una prueba independiente de calidad o seguridad.
Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.
team-skills
Overview
Browse available skills from the team AI directives and install selected ones to the current agent's skills directory. Use --all to install every default and external skill in one pass. Skills are installed under their original names (no prefix) so they stay in sync with the manifest.
When to Use
- When the user asks to browse, list, or install team skills.
- When the input names a specific skill to install.
- When extending the agent's capabilities with team-shared skills.
- When
team-setupdelegates/team-skills --allafter initial configuration.
$ARGUMENTSCore Process
Setup
Read the file .adlc/init-options.json directly. Do NOT use glob, find, or any file-search tool to locate it — search tools may silently skip dotfile-prefixed path segments. Read the file at the exact relative path .adlc/init-options.json from the current working directory.
If that read fails (file not found), walk up parent directories by reading ../.adlc/init-options.json, then ../../.adlc/init-options.json, and so on — up to 4 levels. Stop at the first successful read.
From the JSON, extract the team_ai_directives field:
{
"team_ai_directives": "/path/to/team-ai-directives"
}If team_ai_directives is not set, STOP:
Team AI directives not configured.
Run: /team-setupHelper scripts (canonical in team-setup, referenced relative to skill directory):
$(dirname "$0")/../team-setup/team-helpers.sh --json$(Split-Path $PSCommandPath -Parent)/../team-setup/team-helpers.ps1 -Json
Step 1: Read Skills Manifest
Read {REPO_ROOT}/.skills.json (where {REPO_ROOT} denotes the project root — the directory where .adlc/ lives) and {TEAM_AI_DIRECTIVES}/.skills.json (team directives manifest). Merge both, with project-root entries taking precedence. Parse the manifest sections (schema v2.0.0):
| Section | Description | Installed by --all? |
|---|---|---|
default | Local skills (in skills/{name}/) auto-installed during setup | Yes |
external | Remote skills fetched by URL, installed on demand | Yes |
blocked | Rejected — must never be installed | Never |
Step 2: Show Available Skills
Present skills grouped by section. For each skill show:
- Name (the key, e.g.
github-actionsfor local,react-best-practicesfor external) - Description
- Whether it's already installed (check agent skills directory)
Format:
Team Skills from {TEAM_AI_DIRECTIVES}
Default (local, installed by --all):
[installed] dbt-template - DBT project templates and best practices
[available] github-actions - GitHub Actions CI/CD pipeline patterns
[available] helm-charts - Helm chart patterns for Kubernetes
[available] crossplane - Crossplane Composition and XRD patterns
[available] external-secrets - External Secrets Operator patterns
[available] gke-workload-identity - GKE Workload Identity patterns
External (remote, installed by --all):
[available] react-best-practices - React performance optimization
[available] web-design-guidelines - Web interface best practicesStep 3: Install Selected Skills
Determine the install target from the arguments:
- `--all`: Install every
defaultskill and everyexternalskill,
skipping anything in blocked and anything already installed.
- A skill name: Install that one skill directly.
- No input: Ask the user which skills to install.
Determine the agent's skills directory:
- Read
.adlc/integration.jsonto get the current agent - Use
{agent_folder}/skills/as the destination
Install under the original name (no prefix), frontmatter name unchanged:
For local skills (default list — names map to skills/{name}/):
- Locate
{TEAM_AI_DIRECTIVES}/skills/{name}/SKILL.md - Copy
SKILL.mdto{skills_dir}/{name}/SKILL.md
For external skills (external map — entries have a url):
- Check the name against
blockedfirst — refuse immediately if listed. - Verify the entry's
urlstarts withhttps://— refuse any other
scheme (http://, file://, bare paths) and report it.
- Show the user the URL and destination, and ask for confirmation
before downloading (preview first, no silent network fetch).
- Download
SKILL.mdfrom the entry'surlfield. - Save to
{skills_dir}/{name}/SKILL.md. - Never execute downloaded content — install means copy the file only.
Never install any skill listed in blocked. Skip skills already present at the destination (report them as [installed]).
Step 4: Confirm
Installed: github-actions
Location: .opencode/skills/github-actions/SKILL.md
Source: default (local:./skills/github-actions)Notes
- Default skills are installed via
--all, typically invoked byteam-setup
after initial configuration or run manually at any time.
- Skills are installed under their original names — no
team-prefix — so the
on-disk name matches the manifest key.
- Skills from the
blockedlist are never installed. - External skills are fetched over HTTPS from the URL in the manifest.
Common Rationalizations
| Rationalization | Why it's wrong | Do this instead |
|---|---|---|
"I'll add a team- prefix to installed skills" | Diverges the on-disk name from the manifest key, breaking lookups | Install under the original name; frontmatter name stays unchanged |
"Search tools will find .adlc/init-options.json" | Glob/find silently skip dotfile-prefixed path segments | Read the exact relative path directly |
| "Blocked skills are just strong recommendations" | blocked means explicitly rejected on install | Never install blocked skills |
| "Default skills already auto-installed elsewhere" | Only --all (via team-setup or manual) installs them | Run /team-skills --all to onboard the default set |
| "I'll skip merging the project-root manifest" | Project entries are meant to override team defaults | Merge both manifests; project-root wins conflicts |
Red Flags
- Using glob, find, or grep to locate
.adlc/init-options.jsoninstead of reading the exact path. - Renaming a skill or adding a
team-prefix on install — install under the original name so it matches the manifest. - Installing a skill listed under the
blockedsection. - Writing skills to any directory other than the agent's configured skills folder.
- Proceeding past an unset
team_ai_directivesfield instead of stopping with the config message. - Fetching an external skill over a non-HTTPS URL.
Verification
.adlc/init-options.jsonwas read directly (no search tool) andteam_ai_directivesresolved to a path.- Both
{REPO_ROOT}/.skills.jsonand{TEAM_AI_DIRECTIVES}/.skills.jsonwere merged; project-root entries won any conflicts. - Each installed skill lives at
{skills_dir}/{name}/SKILL.mdwith its originalnamein frontmatter (no prefix). - No skill from the
blockedsection was installed. --allinstalled everydefaultandexternalskill (skippingblockedand already-installed).- A confirmation block was emitted showing the installed name, on-disk location, and source.
Configuration
TEAM_AI_DIRECTIVES— Path to the team AI directives (overrides.adlc/init-options.json)..adlc/init-options.json— Project-level config file withteam_ai_directivesfield.- Default fallback:
team-ai-directives/relative to project root. ../team-setup/team-helpers.sh/../team-setup/team-helpers.ps1— Shared scripts (canonical inteam-setup) used for path resolution.
12-Factor Alignment
Factor XII (Team Capability) — manages team skill catalog and installation.




