SkillStore Configuration Guide
SkillStore uses a JSON configuration file to control model selection, quality thresholds, strictness levels, hooks, and team settings.
Config File Location
The primary config file is:
.claude/config/skillstore.config.jsonThis file is typically placed at the project level. When a package is installed, the config is read from and written to this location relative to the target project directory.
Configuration Sections
Models
Controls which AI models are used for different tasks.
{
"models": {
"primary": "sonnet",
"lightweight": "haiku",
"fallback": "haiku",
"external": null
}
}| Key | Purpose | Default |
|---|---|---|
primary | Main model for complex tasks (code review, architecture, analysis) | "sonnet" |
lightweight | Used for fast, low-cost tasks (formatting, simple lookups) | "haiku" |
fallback | Used when the primary model is unavailable or times out | "haiku" |
external | Optional external model endpoint (set to null to disable) | null |
Thresholds
Numeric limits that control agent behavior and output quality.
{
"thresholds": {
"maxFileLines": 200,
"maxRetries": 3,
"agentTimeoutMs": 180000,
"commitMessageMaxChars": 72,
"maxAgentReportLines": 150
}
}| Key | Description | Default |
|---|---|---|
maxFileLines | Maximum lines per file before the agent suggests splitting | 200 |
maxRetries | Maximum retry attempts for failed operations | 3 |
agentTimeoutMs | Agent execution timeout in milliseconds (3 minutes) | 180000 |
commitMessageMaxChars | Maximum length for commit message subject lines | 72 |
maxAgentReportLines | Maximum lines in generated agent reports | 150 |
Strictness
A single string that controls the overall rigor of code quality checks, reviews, and verification.
{
"strictness": "balanced"
}Available levels:
| Level | Code Review | Verification | Testing | Best For |
|---|---|---|---|---|
strict | Deep review with line-by-line analysis. Flags style issues, potential bugs, and architectural concerns. | Requires explicit verification steps before proceeding. | Expects comprehensive tests for every change. | Enterprise projects, regulated environments, large teams. |
balanced | Standard review covering correctness, readability, and major issues. | Verifies critical paths; trusts developer judgment on minor changes. | Expects tests for new features and bug fixes. | Most teams and projects. This is the recommended default. |
relaxed | Light review focused on correctness only. Skips style and minor issues. | Minimal verification; proceeds quickly. | Tests encouraged but not enforced. | Solo developers, prototyping, hackathons. |
Team
Controls team mode and role awareness.
{
"team": {
"mode": "individual",
"roles": []
}
}| Key | Description | Values |
|---|---|---|
mode | Team mode | "individual" or "team" |
roles | List of active roles (used by agile skills) | Array of role strings, e.g., ["developer", "tech-lead"] |
When mode is set to "team", agents may produce more detailed handoff documentation and coordinate across roles.
Hooks
Controls Claude Code hooks that run automatically during agent interactions.
{
"hooks": {
"qualityGate": true,
"docsSync": true,
"notifications": {
"enabled": false,
"discord": null,
"telegram": null
}
}
}Available hooks:
| Hook | Trigger | Purpose | Config Key |
|---|---|---|---|
| scout-block | PreToolUse (Bash) | Validates Bash commands before execution to prevent destructive operations | Always active via settings.json |
| modularization | PostToolUse (Write/Edit) | Checks file size and complexity after edits; suggests splitting large files | Always active via settings.json |
| quality-gate | Agent stop | Runs final quality checks before the agent completes a task | qualityGate |
| docs-sync | Agent stop | Ensures documentation stays in sync with code changes | docsSync |
| discord-notify | Agent stop | Sends a Discord notification when the agent finishes | notifications.discord |
| telegram-notify | Agent stop | Sends a Telegram notification when the agent finishes | notifications.telegram |
To enable notifications, set notifications.enabled to true and provide a webhook URL:
{
"hooks": {
"notifications": {
"enabled": true,
"discord": "https://discord.com/api/webhooks/your-webhook-url",
"telegram": "your-bot-token:chat-id"
}
}
}Example Configurations
Solo Developer
Relaxed strictness, lightweight model usage, no team features:
{
"models": {
"primary": "sonnet",
"lightweight": "haiku",
"fallback": "haiku",
"external": null
},
"thresholds": {
"maxFileLines": 300,
"maxRetries": 2,
"agentTimeoutMs": 120000,
"commitMessageMaxChars": 72,
"maxAgentReportLines": 100
},
"strictness": "relaxed",
"team": { "mode": "individual", "roles": [] },
"hooks": {
"qualityGate": false,
"docsSync": false,
"notifications": { "enabled": false, "discord": null, "telegram": null }
}
}Small Team (3-8 people)
Balanced defaults with team mode and notifications:
{
"models": {
"primary": "sonnet",
"lightweight": "haiku",
"fallback": "haiku",
"external": null
},
"thresholds": {
"maxFileLines": 200,
"maxRetries": 3,
"agentTimeoutMs": 180000,
"commitMessageMaxChars": 72,
"maxAgentReportLines": 150
},
"strictness": "balanced",
"team": { "mode": "team", "roles": ["developer", "tech-lead", "qa-tester"] },
"hooks": {
"qualityGate": true,
"docsSync": true,
"notifications": {
"enabled": true,
"discord": "https://discord.com/api/webhooks/...",
"telegram": null
}
}
}Enterprise
Strict quality gates, full hook pipeline, team coordination:
{
"models": {
"primary": "sonnet",
"lightweight": "haiku",
"fallback": "sonnet",
"external": null
},
"thresholds": {
"maxFileLines": 150,
"maxRetries": 5,
"agentTimeoutMs": 300000,
"commitMessageMaxChars": 72,
"maxAgentReportLines": 200
},
"strictness": "strict",
"team": {
"mode": "team",
"roles": ["project-manager", "solution-architect", "tech-lead", "developer", "qa-tester", "devops-engineer"]
},
"hooks": {
"qualityGate": true,
"docsSync": true,
"notifications": {
"enabled": true,
"discord": "https://discord.com/api/webhooks/...",
"telegram": "bot-token:chat-id"
}
}
}