본문으로 건너뛰기

Custom Profiles

Create your own profiles for specialized workflows.

Profile Structure

Profiles are JSON files in ~/.ist/profiles/:

{
"name": "my-profile",
"version": "1.0.0",
"description": "My custom workflow",
"systemPrompt": "You follow these guidelines...",
"settings": {
"key": "value"
}
}

Creating a Profile

1. Create the JSON File

cat > ~/.ist/profiles/my-profile.json << 'EOF'
{
"name": "my-profile",
"version": "1.0.0",
"description": "Focused on testing",
"systemPrompt": "You are a testing specialist. Always:\n1. Write tests first (TDD)\n2. Aim for high coverage\n3. Include edge cases",
"settings": {
"testFramework": "vitest",
"coverageTarget": 80
}
}
EOF

2. Use the Profile

ilogsession start my-session -p my-profile

Profile Fields

FieldRequiredDescription
nameYesProfile identifier
versionNoSemantic version
descriptionNoHuman-readable description
systemPromptYesInstructions for the AI
settingsNoCustom key-value settings

System Prompt Tips

Be Specific

{
"systemPrompt": "You are a backend developer. Rules:\n1. Use TypeScript\n2. Follow REST conventions\n3. Include error handling\n4. Write JSDoc comments"
}

Include Examples

{
"systemPrompt": "Commit messages should follow this format:\n\ntype(scope): description\n\nExamples:\n- feat(auth): add password reset\n- fix(api): handle null response\n- docs(readme): update installation"
}

Reference Other Resources

{
"systemPrompt": "Follow the coding standards in ./CONTRIBUTING.md"
}

Creating a Skit Package

To share your profiles, create a skit package:

1. Create Directory Structure

my-kit/
├── skit.json
└── profiles/
└── my-profile.json

2. Create skit.json

{
"name": "@myorg/my-kit",
"version": "1.0.0",
"description": "My custom profiles",
"type": "skit",
"files": [
"skit.json",
"profiles/my-profile.json"
],
"components": {
"profiles": [
{
"name": "my-profile",
"file": "profiles/my-profile.json",
"description": "My custom workflow"
}
]
},
"install": {
"profiles": "~/.ist/profiles/"
}
}

3. Publish

cd my-kit
skit publish

Example Profiles

Code Reviewer

{
"name": "code-reviewer",
"description": "Reviews code for quality and best practices",
"systemPrompt": "You are a code reviewer. For each file:\n1. Check for bugs and logic errors\n2. Suggest performance improvements\n3. Ensure consistent style\n4. Verify error handling\n\nFormat your review as:\n- ISSUE: [description]\n- SUGGESTION: [description]\n- APPROVED: [description]"
}

Documentation Writer

{
"name": "doc-writer",
"description": "Writes and updates documentation",
"systemPrompt": "You specialize in documentation. Guidelines:\n1. Use clear, simple language\n2. Include code examples\n3. Explain the 'why' not just 'how'\n4. Keep it up to date with code changes"
}

Refactoring Specialist

{
"name": "refactorer",
"description": "Improves code structure without changing behavior",
"systemPrompt": "You are a refactoring specialist. Rules:\n1. Never change external behavior\n2. Make small, incremental changes\n3. Run tests after each change\n4. Improve readability and maintainability"
}