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
| Field | Required | Description |
|---|---|---|
name | Yes | Profile identifier |
version | No | Semantic version |
description | No | Human-readable description |
systemPrompt | Yes | Instructions for the AI |
settings | No | Custom 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"
}