setup
Setup — Prerequisites & MCP Configuration
Install CLI tools, authenticate to GitHub/GitLab, and configure the mcp-atlassian Jira integration for OpenCode.
Prerequisites
- Linux with
aptpackage manager bashandcurlavailable- Internet access (for apt packages and uv installer)
Trigger
User says: "setup", "install prerequisites", "configure jira", or similar.
Important — interactive skill only. This skill requires user interaction (auth prompts, Jira credentials). It must not be called as a sub-step from autonomous skill pipelines (fast-meeting, issue-review, etc.) — doing so will stall the pipeline waiting for input that will never arrive.
Workflow
Phase 1 — Install CLI tools
Run the bundled script to install missing tools (idempotent — skips already-installed ones):
bash "$(dirname "$0")/reference/setup.sh"
The script installs (via apt if not already present):
gh— GitHub CLIglab— GitLab CLIjq— JSON processoruvx— via the officialuvinstaller (curl -LsSf https://astral.sh/uv/install.sh | sh)
After running, inform the user of what was installed vs. already present.
Phase 2 — CLI Authentication
Check and authenticate each CLI:
gh auth status 2>&1
- Show the full output to the user (current logged-in account, token scopes, etc.)
- If not authenticated → tell the user: "Run
gh auth loginand follow the prompts." - Do NOT run
gh auth loginautomatically (requires interactive input).
glab auth status 2>&1
- Show the full output to the user (GitLab instance, current user, token validity, etc.)
- If not authenticated → tell the user: "Run
glab auth loginand follow the prompts." - Do NOT run
glab auth loginautomatically.
Phase 3 — Configure mcp-atlassian for Jira
Step 3.1 — Check if uvx is available:
uvx --version 2>&1 || ~/.local/bin/uvx --version 2>&1
If not found, remind the user to restart their shell or source ~/.bashrc / ~/.profile after the Phase 1 script ran.
Step 3.2 — Read existing OpenCode config:
Use the Read tool to read ~/.config/opencode/opencode.json.
- If the file does not exist, treat it as
{}. - If
mcp.mcp-atlassianis already present → confirm to the user and skip the rest of Phase 3.
Step 3.3 — Gather credentials (if not already configured):
Ask the user these two questions in a single message:
- Jira URL — default
https://jira.dedalus.com/(Server/Data Center). Press Enter to accept. - Jira Personal Access Token (PAT) — steps to generate one:
- Log in to your Jira instance
- Go to Profile → Personal Access Tokens
- Click Create token, give it a name, set an expiry
- Copy the token and paste it here
For Jira Cloud users: use
JIRA_USERNAME(your email) +JIRA_API_TOKEN(from https://id.atlassian.com/manage-profile/security/api-tokens) instead of a PAT.
Step 3.4 — Write the config:
Merge the mcp-atlassian block into ~/.config/opencode/opencode.json, preserving any existing content. Use the Write tool to write the final JSON.
For Server/Data Center (default):
{
"mcp": {
"mcp-atlassian": {
"type": "local",
"command": ["uvx", "mcp-atlassian"],
"environment": {
"JIRA_URL": "<jira-url>",
"JIRA_PERSONAL_TOKEN": "<pat>"
},
"enabled": true
}
}
}
For Cloud (if user specifies):
{
"mcp": {
"mcp-atlassian": {
"type": "local",
"command": ["uvx", "mcp-atlassian"],
"environment": {
"JIRA_URL": "<jira-url>",
"JIRA_USERNAME": "<email>",
"JIRA_API_TOKEN": "<api-token>"
},
"enabled": true
}
}
}
Step 3.5 — Secure the config file:
chmod 600 ~/.config/opencode/opencode.json
Phase 4 — Summary
Print a clear summary table:
| Component | Status |
|---|---|
| gh | installed / already ok |
| glab | installed / already ok |
| jq | installed / already ok |
| uvx | installed / already ok |
| gh auth | authenticated / action needed |
| glab auth | authenticated / action needed |
| mcp-atlassian | configured / already ok / skipped |
End with: "Restart OpenCode to load the new MCP configuration."
More from dedalus-erp-pas/hexagone-foundation-skills
vue-best-practices
Guide des bonnes pratiques Vue.js 3 couvrant la Composition API, la conception de composants, les patrons de réactivité, le styling utility-first avec Tailwind CSS, l'intégration native de la bibliothèque de composants PrimeVue et l'organisation du code. À utiliser lors de l'écriture, la revue ou le refactoring de code Vue.js pour garantir des patrons idiomatiques et un code maintenable.
23ubiquitous-language
Extrait un glossaire de langage ubiquitaire style DDD de la conversation en cours, signale les ambiguïtés et propose des termes canoniques. Sauvegarde dans UBIQUITOUS_LANGUAGE.md. À utiliser quand l'utilisateur veut définir des termes métier, construire un glossaire, durcir la terminologie, créer un langage ubiquitaire ou mentionne « domain model », « DDD », « glossaire » ou « langage ubiquitaire ».
23grill-me
Interroge l'utilisateur sans relâche sur un plan ou un design jusqu'à atteindre une compréhension partagée, en résolvant chaque branche de l'arbre de décision. À utiliser quand l'utilisateur veut stress-tester un plan, se faire challenger sur son design, ou mentionne « grill me » / « interroge-moi » / « challenge-moi » / « questionne-moi ».
22meeting
Lance une réunion simulée avec plusieurs personas experts pour analyser un sujet sous des perspectives diverses, prendre une décision et proposer une solution avant implémentation. Peut optionnellement publier l'analyse de la réunion sur une issue GitLab ou GitHub liée.
22changelog-generator
Crée automatiquement des changelogs orientés utilisateur à partir des commits git en analysant l'historique, catégorisant les changements et transformant les commits techniques en notes de version claires et compréhensibles. Transforme des heures de rédaction manuelle en minutes de génération automatisée.
22github-issues
Crée, récupère, met à jour et gère les issues GitHub avec collecte complète du contexte. À utiliser quand l'utilisateur veut créer une nouvelle issue, voir les détails d'une issue, mettre à jour des issues existantes, lister les issues du projet, ajouter des commentaires ou gérer les workflows d'issues dans GitHub.
22