mise-config
Generates mise.toml project configuration. Use when setting up project tools, environment variables, or task automation with mise.
Best use case
mise-config is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Generates mise.toml project configuration. Use when setting up project tools, environment variables, or task automation with mise.
Teams using mise-config should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/mise-config/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How mise-config Compares
| Feature / Agent | mise-config | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Generates mise.toml project configuration. Use when setting up project tools, environment variables, or task automation with mise.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Mise Configuration Generator
Generates mise.toml configuration files for project-level tool management, environment variables, and task automation.
## When to Use This Skill
- Setting up mise for a new project
- Adding tools (Node, Python, Ruby, etc.) to mise.toml
- Configuring environment variables
- Creating tasks/scripts for build automation
- Configuring mise settings (auto_install, python_venv, etc.)
## File Naming Conventions
mise supports multiple configuration file locations with the following priority order:
1. `mise.local.toml` - Local overrides (gitignored)
2. `mise.toml` - Project configuration (committed)
3. `mise/<env>.toml` - Environment-specific (e.g., mise/production.toml)
4. `mise/config.toml` - Alternative location
5. `.mise/config.toml` - Hidden directory variant
**Recommendation**: Use `mise.toml` for project defaults, `mise.local.toml` for local overrides.
## Keyword-Based Resource Loading
When users mention specific keywords, load the corresponding resource file:
| Keywords | Resource | Section |
|----------|----------|---------|
| tools, version | resources/01-tools.md | [tools] |
| env, environment | resources/02-env.md | [env] |
| tasks, script, task | resources/03-tasks.md | [tasks.*] |
| settings, config | resources/04-settings.md | [settings] |
**Multiple keywords**: Load all matching resources.
## Basic Template
Minimal `mise.toml` for a new project:
```toml
[tools]
node = "20"
[env]
NODE_ENV = "development"
[tasks.dev]
run = "npm run dev"
[tasks.build]
description = "Build the project"
run = "npm run build"
```
## Quick Start
### Node.js 프로젝트
1. `mise.toml` 생성:
```toml
[tools]
node = "20"
```
2. 설치: `mise install`
3. 확인: `node --version`
### Build 자동화
1. `mise.toml`에 추가:
```toml
[tasks.build]
run = "npm run build"
```
2. 실행: `mise run build`
### 환경별 설정
1. `mise.toml` (개발 기본값)
2. `mise.production.toml` (프로덕션 오버라이드)
3. 활성화: `MISE_ENV=production mise install`
## Common Use Cases
### 1. JavaScript/TypeScript Project
```toml
[tools]
node = "20"
pnpm = "latest"
[env]
NODE_ENV = "development"
[tasks.dev]
description = "Start dev server"
run = "pnpm dev"
[tasks.build]
description = "Build for production"
run = "pnpm build"
depends = ["lint", "test"]
[tasks.lint]
run = "pnpm lint"
[tasks.test]
run = "pnpm test"
```
### 2. Python Project
```toml
[tools]
python = "3.11"
[env]
_.python.venv = { path = ".venv", create = true }
[settings]
python_venv_auto_create = true
[tasks.install]
description = "Install dependencies"
run = "pip install -r requirements.txt"
[tasks.test]
run = "pytest"
```
### 3. Multi-Language Project
```toml
[tools]
node = "20"
python = "3.11"
go = "1.21"
[tasks.build]
description = "Build all components"
depends = ["build-frontend", "build-backend"]
[tasks.build-frontend]
run = "npm run build"
dir = "frontend"
[tasks.build-backend]
run = "go build -o bin/server ./cmd/server"
dir = "backend"
```
## Configuration Workflow
1. **Identify requirements**: What tools, environment variables, and tasks are needed?
2. **Load relevant resources**: Based on keywords mentioned
3. **Generate configuration**: Combine sections into mise.toml
4. **Add file-based tasks** (optional): For complex scripts, use separate task files
## Task Files vs TOML Tasks
**TOML tasks** (recommended for simple commands):
- Good for: single commands, command lists, simple dependencies
- Inline in mise.toml
**File-based tasks** (for complex scripts):
- Good for: multi-line scripts, Ruby/Python logic, reusable functions
- Stored in `.mise/tasks/` or `mise/tasks/`
- Example: `.mise/tasks/deploy` (executable file with `#MISE` metadata)
## User's Existing Setup
The user has a global mise configuration at `~/dots/config/mise/config.toml` with:
- Many CLI tools (fzf, ripgrep, bat, jq, etc.)
- Ruby setup tasks
- DevOps tools setup tasks
- Custom task files in Ruby (common.rb provides shared helpers)
When generating project configurations, assume the user already has common tools globally and focus on project-specific needs.
## Output Format
Always provide:
1. **File path**: Where to save the configuration (e.g., `mise.toml`)
2. **Complete configuration**: Ready to copy-paste
3. **Next steps**: How to activate the configuration
Example output:
```
Save as `mise.toml`:
[Generated configuration here]
To activate:
mise install # Install tools
mise trust # Trust the config (first time)
mise run build # Run tasks
```
## Advanced Features
### Incremental Builds
Tasks can detect changes and skip unnecessary work:
```toml
[tasks.build]
run = "npm run build"
sources = ["src/**/*.ts", "package.json"]
outputs = ["dist/**/*.js"]
```
### Template Variables
Environment variables support templates:
```toml
[env]
PROJECT_ROOT = "{{config_root}}"
HOME_DIR = "{{env.HOME}}"
```
### Task Arguments
Tasks can accept runtime arguments:
```toml
[tasks.deploy]
run = "kubectl apply -f manifests/$1"
# Usage: mise run deploy production
```
## Error Handling
Common issues:
- **"tool not found"**: Tool not in mise registry → use `ubi:`, `npm:`, `cargo:` prefix
- **"task failed"**: Check `depends` order, ensure prerequisite tasks succeed
- **"permission denied"**: File-based tasks need executable bit (`chmod +x`)
## Related Commands
- `mise use <tool>[@version]` - Add tool to mise.toml
- `mise set <key>=<value>` - Add environment variable
- `mise tasks` - List available tasks
- `mise run <task>` - Execute a task
- `mise watch -t <task>` - Watch for changes and re-run taskRelated Skills
tree-sitter
AST parsing, S-expression queries, tag extraction via tree-sitter CLI. Use when parsing code into AST, extracting tags, visualizing syntax trees, or performing structural analysis beyond ast-grep.
tidy
Performs small structural code cleanups (tidyings). Use when preparing code changes, removing dead code, reducing nesting, or cleaning up before feature work.
task-naming
CLI command naming convention for Justfile and Makefile. Enforces GAT (group-action-target) word order, grouped listing, mandatory descriptions. Use when creating Justfile recipes, Makefile targets, or reviewing task runner configs for naming consistency. Also use when asking "what should I name this command?" for task runners. Do NOT use for npm scripts, mise tasks, or Claude Code skill naming.
strategic-thinking
체계적 의사결정 프레임워크. First Principles, Trade-off 분석, Cognitive Bias 점검
security
Security expert hub. Code security review (OWASP Top 10, injection, XSS, credentials), vulnerability assessment (KISA 292 items, Unix/Windows server, web pentest, network, DBMS, cloud), ISMS-P certification (101 items, checklist, implementation plan), EFSR financial regulation compliance (전자금융감독규정, 12 articles). 보안 리뷰, 취약점 점검, 인증 준비, 금융규정 준수.
reflect
방향 수정 신호 감지 및 세션 전체 회고. Use when detecting course correction signals ("아니/잠깐/근데"), session retrospective, or reviewing overall progress. /reflect 또는 "회고해줘"로 수동 호출.
refactoring
기존 코드의 안전한 리팩토링. Characterization Test로 동작 보존하며 구조 개선
recall
Load context from Obsidian vault (journals, session pages) and JSONL session history. Vault 위치/구조는 `documentation` skill 참조. Temporal queries scan JSONL by date, topic queries use ir BM25. Use when "recall", "어제 뭐 했지", "what did we work on", "이전 작업", "session history".
qmd
Searches local markdown notes and documents using ir CLI. Use when searching notes, querying documents, managing collections, or retrieving document content.
qa
기능별 QA 체크리스트 생성, 수동 테스트 실행, 결과 기록. Use when QA 테스트, 체크리스트 만들기, 수동 검증, 기능 확인, qa 진행, checklist. Do NOT use for automated test code (use plan-review tdd / code-review instead) or BDD spec (use plan-review bdd instead).
principles
소프트웨어 공학 원칙 바스켓. 원칙 카탈로그 열람, 코드/설계/프로세스/테스트의 원칙 준수도 평가, 위반 식별 및 개선 가이드. Use when 원칙 평가, 원칙 점검, 원칙 검증, principles check, 코드 품질 근본 진단, 설계 원칙 리뷰, 아키텍처 원칙 점검, 프로세스 원칙 점검, 테스트 원칙 점검, 테스트 설계, or when other review skills need a principled foundation. Do NOT use for specific code review (use code-review), security audit (use security), or strategic decisions (use strategic-thinking).
ppt
Generates PowerPoint architecture diagrams with auto-layout and orthogonal routing using PPTXGenJS. Use when creating AWS architecture diagrams, infrastructure layouts, system design slides, IDC 구성도, or any diagram that needs boxes with right-angle connectors in .pptx format. Also use when 아키텍처 다이어그램, 인프라 구성도, PPT 생성, 구성도 만들기, 슬라이드 자동 생성. Do NOT use for simple text-only presentations (use PowerPoint directly), data charts (use data-investigation), or ASCII/Mermaid diagrams (use diagram skill).