Agent Skill
2/7/2026unison-development
Write, test, and update Unison code using the Unison MCP tool. Use when working with Unison language files (.u extension), UCM operations, or Unison projects. An extension to the XP skill.
C
channingwalton
3GitHub Stars
1Views
npx skills add channingwalton/dotfiles
SKILL.md
| Name | unison-development |
| Description | Write, test, and update Unison code using the Unison MCP tool. Use when working with Unison language files (.u extension), UCM operations, or Unison projects. An extension to the XP skill. |
name: unison-development description: Write, test, and update Unison code using the Unison MCP tool. Use when working with Unison language files (.u extension), UCM operations, or Unison projects. An extension to the XP skill.
Unison Development
- Uses
xpskill. - Use the Unison MCP server commands for all operations.
Core Principles
- ALWAYS work in branches - create one with an appropriate name
- NEVER run UCM commands on the command line — use MCP tools only (exception: branch creation)
- NEVER use scratch.u files — use MCP tools directly
- Code is stored by the UCM, NOT Git — NEVER suggest git commits for code changes
- NEVER use commit-helper agent — Unison code is managed by UCM
- Always use fully qualified names when writing code
- Use the MCP tools to explore the codebase before writing code
Branch Creation (MANDATORY FIRST STEP)
Before making any code changes, create a branch with the MCP server tool.
Use descriptive branch names like extract-domain-service or fix-login-bug.
Workflow
- Explore: Use
view-definitions,search-definitions-by-name,list-project-definitionsto understand existing code - Typecheck: Use
mcp__unison__typecheck-codeto validate code before updating - Update: Use
mcp__unison__update-definitionsto apply changes directly to the codebase - Test: Use
mcp__unison__run-teststo verify changes
Handling Typecheck Errors During Update
When update-definitions returns affected definitions that no longer typecheck:
-- The definitions below no longer typecheck with the changes above.
-- Please fix the errors and try `update` again.
CRITICAL:
- The MCP server creates a temporary branch with affected code in
sourceCodeUpdates - Fix ALL affected definitions and include them in the next
update-definitionscall - DO NOT omit functions — they will be removed from codebase
- Include all fixes in a single
update-definitionscall
Modifying Abilities
When modifying abilities, include all affected dependents in the same update:
- View the ability and its
defaulthandler - Use
list-definition-dependentsto find all callers - Update the ability AND all dependents together in one
update-definitionscall
Success Criteria
- All code typechecks successfully via MCP tools
- Tests pass via
mcp__unison__run-tests - Fully qualified names used throughout
Skills Info
Original Name:unison-developmentAuthor:channingwalton
Download