How To

Managing Profiles

Create and configure Agent Profiles to define agent work styles and capabilities

Overview

A Profile defines an Agent’s “work personality.” It contains a system prompt, associated runtime, capabilities (Skills and MCP Servers), and default configuration.

By creating multiple Profiles, you can define different Agent roles for different scenarios, such as “Code Reviewer” and “DevOps Engineer.”

File location

Profile files are stored in:

~/.sink/profiles/

Each Profile is a separate Markdown file:

~/.sink/profiles/
  ├── code-reviewer.md
  ├── devops-engineer.md
  └── research-assistant.md

Create a Profile

File format

A Profile consists of YAML frontmatter + Markdown body:

---
name: 'code-reviewer'
description: 'Code quality analysis and review'
runtime: claude-code
skills:
  - web-search
  - code-analysis
mcpServers:
  - filesystem
  - api-client
configDefaults:
  model: claude-opus-4
  mode: code
  temperature: '0.7'
metadata:
  disabled: false
---

You are an experienced code reviewer with deep expertise in software quality and best practices...

Frontmatter fields

Required fields

FieldTypeDescription
namestringDisplay name of the Profile
descriptionstringDescription of the Profile
runtimestringRuntime ID to use (e.g., claude-code)

Optional fields

FieldTypeDescription
skillsarray / objectList of Skills available for this Profile
mcpServersarray / objectList of MCP Servers available for this Profile
configDefaultsobjectDefault configuration for agent sessions
executionModesarray / objectAllowed execution modes (e.g., individual or team)
subtaskProfilesarray / objectProfile restrictions for subtasks
overridesobjectAdditional parameters for specific MCP Servers or commands
metadata.disabledbooleanWhether to disable this Profile

Markdown body

The Markdown body following the frontmatter is the system prompt for this Profile. The agent will follow this prompt to understand its role and work approach.

A good system prompt should include:

  • The agent’s role and background
  • Work principles and constraints
  • Thinking approach and output format
  • Security and ethical guidelines

Example:

You are an experienced code reviewer with deep expertise in software quality and best practices.

Your responsibilities:

1. Identify bugs, code smells, and maintainability issues
2. Assess severity and impact of findings
3. Provide actionable improvement suggestions

Work principles:

- Always prioritize correctness and readability
- Document all findings with clear explanations
- Report critical issues with highest priority
- Suggest concrete fixes, not just problems

Use Profiles in the Web UI

Select a Profile when creating a task

  1. Open the Sink Web UI
  2. Click the “New Task” button
  3. Select a Profile from the “Profile” dropdown menu
  4. Enter the task title and description
  5. (Optional) If this Profile’s configDefaults has entries with candidates, you can override them here
  6. Click “Create”

View Profile details

In the Web UI’s “Profile” menu:

  1. Select a Profile
  2. You can view:
    • Frontmatter information (name, description, runtime, etc.)
    • Available Skills and MCP Servers
    • Full system prompt body

Common scenarios

Scenario 1: Create a Code Reviewer Profile

---
name: 'code-reviewer'
description: 'Code quality analysis and best practices review'
runtime: claude-code
skills:
  - code-analysis
  - test-runner
  - dependency-check
mcpServers:
  - filesystem
configDefaults:
  model: claude-opus-4
  mode: code
metadata:
  disabled: false
---

You are an expert code reviewer specializing in software quality.

Your tasks:

1. Analyze source code for correctness and maintainability issues
2. Check dependencies for outdated or problematic versions
3. Review configuration files for misconfigurations
4. Generate a detailed review report with severity ratings

Standards:

- Follow language-specific best practices and style guides
- Check for common anti-patterns
- Suggest concrete fixes with code examples

Scenario 2: Create a DevOps Engineer Profile

---
name: 'devops-engineer'
description: 'Infrastructure and deployment workflow automation'
runtime: claude-code
skills:
  - docker-ops
  - ci-cd
  - infra-check
mcpServers:
  - filesystem
  - shell-execution
configDefaults:
  model: claude-opus-4
  temperature: '0.3'
executionModes:
  - individual
metadata:
  disabled: false
---

You are an experienced DevOps engineer.

Your approach:

1. Inspection: Examine infrastructure configs, CI/CD pipelines, and deployment manifests
2. Analysis: Identify misconfigurations, missing safeguards, and optimization opportunities
3. Verification: Confirm findings with reproducible checks
4. Reporting: Document issues and remediation steps

Safety constraints:

- Only modify systems when explicitly authorized
- Never delete resources without explicit approval
- Document all changes for auditability

Scenario 3: Override a Profile in a workspace

In a specific workspace, create <workspace>/.sink/profiles/code-reviewer.md:

---
name: 'code-reviewer-internal'
description: 'Internal code review with stricter controls'
runtime: claude-code
skills:
  - code-analysis
  - internal-tools
mcpServers:
  - filesystem
  - internal-api
configDefaults:
  model: claude-opus-4
  temperature: '0.1'
metadata:
  disabled: false
---

[Internal system prompt...]

When creating tasks in this workspace, the local Profile will be used instead of the global user layer Profile.

Best practices

  1. Clear naming: Profile names should clearly express the agent’s role (e.g., “Code Reviewer” rather than “Assistant 1”)
  2. Specific description: In the description field, explain what scenarios this Profile is suitable for
  3. Manage Skills: Only expose Skills that this Profile actually needs; avoid unnecessary capability spread
  4. Safety constraints: Clearly declare operational boundaries and ethical constraints in the system prompt
  5. Complete documentation: In the Markdown body, detail the agent’s thinking approach and output format to help the agent understand expectations
  6. Reasonable configuration: Choose appropriate models and parameters based on scenarios (e.g., temperature affects creativity)
  7. Test verification: After creating a new Profile, test it with real tasks to verify it achieves the desired effect

View and edit Profiles

Via text editor

Directly edit ~/.sink/profiles/*.md files. Changes take effect the next time you create a task.

Via Web UI

You can view Profile details in the Web UI’s “Profile” menu. Editing requires directly modifying the files.

Disable a Profile

Temporary disable

Set in the Profile’s frontmatter:

metadata:
  disabled: true

The Profile will be hidden and won’t appear in the task creation dropdown menu.

Delete a Profile

Directly delete the corresponding file:

rm ~/.sink/profiles/profile-id.md

Next steps