mother-brain 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/skills/child-brain/SKILL.md +430 -0
- package/.github/skills/mother-brain/SKILL.md +3069 -0
- package/.github/skills/mother-brain/examples/input-01.md +51 -0
- package/.github/skills/mother-brain/examples/menu-examples.md +119 -0
- package/.github/skills/mother-brain/examples/output-01.md +185 -0
- package/.github/skills/mother-brain/references/resources.md +147 -0
- package/.github/skills/mother-brain/references/tech-stack-guide.md +161 -0
- package/.github/skills/mother-brain/scripts/vision-template.md +48 -0
- package/.github/skills/skill-creator/SKILL.md +615 -0
- package/.github/skills/skill-creator/references/resources.md +97 -0
- package/.github/skills/skill-creator/scripts/validate-skill-name.ps1 +60 -0
- package/CODE_OF_CONDUCT.md +119 -0
- package/CONTRIBUTING.md +352 -0
- package/README.md +162 -0
- package/docs/learning-log.md +514 -0
- package/package.json +22 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Skill Creator Resources
|
|
2
|
+
|
|
3
|
+
## Skill Development Best Practices
|
|
4
|
+
|
|
5
|
+
### GitHub Copilot Skills Documentation
|
|
6
|
+
- **Official Docs**: https://docs.github.com/en/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat
|
|
7
|
+
- **Skills Architecture**: https://github.com/github/copilot-skills-docs
|
|
8
|
+
- **Agent Best Practices**: Design patterns for autonomous AI agents
|
|
9
|
+
|
|
10
|
+
### YAML Frontmatter Standards
|
|
11
|
+
- **Schema Validation**: Ensure all metadata fields are present and properly formatted
|
|
12
|
+
- **Required Fields**: name, description, allowed-tools
|
|
13
|
+
- **Optional Fields**: license, compatibility, metadata (domain, stage)
|
|
14
|
+
- **Naming Convention**: lowercase-hyphenated (e.g., "api-tester", "code-formatter")
|
|
15
|
+
|
|
16
|
+
### Wizard Pattern Design
|
|
17
|
+
- **User-Centered Design**: Nielsen Norman Group - https://www.nngroup.com/articles/wizard-design-pattern/
|
|
18
|
+
- **Progressive Disclosure**: Don't overwhelm users with all options at once
|
|
19
|
+
- **Multiple Choice UI**: Provide 2-3 diverse options + freeform for flexibility
|
|
20
|
+
- **Context Gathering**: Ask WHY before HOW - understand user intent first
|
|
21
|
+
|
|
22
|
+
### Research-Driven Development
|
|
23
|
+
- **Web Search Integration**: Use web_search to find current best practices during skill creation
|
|
24
|
+
- **Documentation First**: Always search for official docs before implementing
|
|
25
|
+
- **Reference Storage**: Save all research findings to skill's references/ folder for consistency
|
|
26
|
+
|
|
27
|
+
### Automation Principles
|
|
28
|
+
- **Do, Don't Delegate**: Skills should execute tasks, not ask users to run commands
|
|
29
|
+
- **Prerequisite Checking**: Verify external tools exist before using them
|
|
30
|
+
- **Error Handling**: Provide clear, actionable error messages
|
|
31
|
+
- **Output Testing**: Build it, run it, test it - prove it works before delivering
|
|
32
|
+
|
|
33
|
+
## Skill Composition Patterns
|
|
34
|
+
|
|
35
|
+
### Cross-Skill Collaboration
|
|
36
|
+
- **Detection**: Identify when another skill's expertise would improve results
|
|
37
|
+
- **Invocation**: Use `skill` tool to invoke other skills mid-execution
|
|
38
|
+
- **Integration**: Collect output and apply to current task
|
|
39
|
+
- **Example**: windows-app-builder invokes brand-guidelines-builder for UI design
|
|
40
|
+
|
|
41
|
+
### Common Collaboration Patterns
|
|
42
|
+
| Primary Skill | Invokes | For |
|
|
43
|
+
|---------------|---------|-----|
|
|
44
|
+
| Application builders | Design/branding skills | UI/UX guidance |
|
|
45
|
+
| API creators | Documentation skills | API reference docs |
|
|
46
|
+
| Database designers | Validation skills | Schema validation |
|
|
47
|
+
| Code generators | Testing skills | Test coverage |
|
|
48
|
+
|
|
49
|
+
## Folder Structure Requirements
|
|
50
|
+
|
|
51
|
+
### Mandatory Folders (as of 2025-01-12)
|
|
52
|
+
- **references/**: Research findings, documentation links, best practices
|
|
53
|
+
- Minimum 2 files with substantive content
|
|
54
|
+
- Must include resources.md with external links
|
|
55
|
+
- **scripts/**: Helper scripts, templates, validation utilities
|
|
56
|
+
- Minimum 1 useful script or template
|
|
57
|
+
- Alternative: templates.md with code snippets if no scripts needed
|
|
58
|
+
|
|
59
|
+
### Examples Structure
|
|
60
|
+
- **input-01.md**: Shows wizard interaction flow
|
|
61
|
+
- **output-01.md**: Demonstrates end-user accessible result
|
|
62
|
+
- Multiple examples for complex skills showing different scenarios
|
|
63
|
+
|
|
64
|
+
## Meta-Learning System
|
|
65
|
+
|
|
66
|
+
### Self-Improvement Loop
|
|
67
|
+
1. **Heal Phase**: User reports skill execution issue
|
|
68
|
+
2. **Analysis**: Identify root cause category
|
|
69
|
+
3. **Fix**: Apply specific correction to broken skill
|
|
70
|
+
4. **Learn**: Extract general lesson from specific issue
|
|
71
|
+
5. **Update**: Modify skill-creator to prevent similar flaws in future skills
|
|
72
|
+
6. **Document**: Record what was learned for transparency
|
|
73
|
+
|
|
74
|
+
### Root Cause Categories
|
|
75
|
+
- Missing automation (skill delegated work to user)
|
|
76
|
+
- Missing prerequisite checks (failed due to missing tools)
|
|
77
|
+
- Poor error handling (silent failures, unclear errors)
|
|
78
|
+
- Documentation mismatch (instructions don't match behavior)
|
|
79
|
+
- Inadequate testing (didn't verify output actually works)
|
|
80
|
+
|
|
81
|
+
## Validation Checklist
|
|
82
|
+
|
|
83
|
+
When creating or updating skills, verify:
|
|
84
|
+
- ✅ YAML frontmatter parses correctly
|
|
85
|
+
- ✅ Name follows lowercase-hyphenated convention
|
|
86
|
+
- ✅ Step 1 is a wizard that gathers context via ask_user
|
|
87
|
+
- ✅ Instructions are actionable and specific
|
|
88
|
+
- ✅ Examples demonstrate wizard flow and output
|
|
89
|
+
- ✅ references/ has ≥2 files with content
|
|
90
|
+
- ✅ scripts/ has ≥1 useful file
|
|
91
|
+
- ✅ ask_user in allowed-tools
|
|
92
|
+
- ✅ All required tools listed
|
|
93
|
+
- ✅ Includes automation (doesn't delegate to user)
|
|
94
|
+
- ✅ Checks prerequisites before executing
|
|
95
|
+
- ✅ Has error handling with actionable messages
|
|
96
|
+
- ✅ Tests output to verify it works
|
|
97
|
+
- ✅ Considers skill composition opportunities
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Skill Naming Convention Validator
|
|
2
|
+
# Validates that skill names follow lowercase-hyphenated format
|
|
3
|
+
|
|
4
|
+
param(
|
|
5
|
+
[Parameter(Mandatory=$false)]
|
|
6
|
+
[string]$SkillName
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
$NamePattern = '^[a-z][a-z0-9]*(-[a-z0-9]+)*$'
|
|
10
|
+
|
|
11
|
+
function Test-SkillName {
|
|
12
|
+
param([string]$Name)
|
|
13
|
+
|
|
14
|
+
if ($Name -match $NamePattern) {
|
|
15
|
+
Write-Host "✓ Valid skill name: $Name" -ForegroundColor Green
|
|
16
|
+
return $true
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
Write-Host "✗ Invalid skill name: $Name" -ForegroundColor Red
|
|
20
|
+
Write-Host " Skill names must:" -ForegroundColor Yellow
|
|
21
|
+
Write-Host " - Start with lowercase letter" -ForegroundColor Yellow
|
|
22
|
+
Write-Host " - Use only lowercase letters, numbers, and hyphens" -ForegroundColor Yellow
|
|
23
|
+
Write-Host " - Not start or end with hyphen" -ForegroundColor Yellow
|
|
24
|
+
Write-Host " - Not have consecutive hyphens" -ForegroundColor Yellow
|
|
25
|
+
Write-Host "`n Examples:" -ForegroundColor Cyan
|
|
26
|
+
Write-Host " ✓ api-tester" -ForegroundColor Green
|
|
27
|
+
Write-Host " ✓ code-formatter" -ForegroundColor Green
|
|
28
|
+
Write-Host " ✓ skill-creator" -ForegroundColor Green
|
|
29
|
+
Write-Host " ✗ API-Tester (uppercase)" -ForegroundColor Red
|
|
30
|
+
Write-Host " ✗ code_formatter (underscore)" -ForegroundColor Red
|
|
31
|
+
Write-Host " ✗ -api-tester (starts with hyphen)" -ForegroundColor Red
|
|
32
|
+
return $false
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
# If skill name provided, validate it
|
|
37
|
+
if ($SkillName) {
|
|
38
|
+
Test-SkillName $SkillName
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
# Validate all skills in repository
|
|
42
|
+
Write-Host "Validating all skills in .github/skills/`n" -ForegroundColor Cyan
|
|
43
|
+
|
|
44
|
+
$skills = Get-ChildItem -Path ".github/skills" -Directory -ErrorAction SilentlyContinue
|
|
45
|
+
$allValid = $true
|
|
46
|
+
|
|
47
|
+
foreach ($skill in $skills) {
|
|
48
|
+
if (-not (Test-SkillName $skill.Name)) {
|
|
49
|
+
$allValid = $false
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
Write-Host "`n" -NoNewline
|
|
54
|
+
if ($allValid) {
|
|
55
|
+
Write-Host "All skill names are valid!" -ForegroundColor Green
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
Write-Host "Some skill names need correction." -ForegroundColor Red
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Contributor Covenant Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our Pledge
|
|
4
|
+
|
|
5
|
+
We as members, contributors, and leaders pledge to make participation in our
|
|
6
|
+
community a harassment-free experience for everyone, regardless of age, body
|
|
7
|
+
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
8
|
+
identity and expression, level of experience, education, socio-economic status,
|
|
9
|
+
nationality, personal appearance, race, religion, or sexual identity
|
|
10
|
+
and orientation.
|
|
11
|
+
|
|
12
|
+
We pledge to act and interact in ways that contribute to an open, welcoming,
|
|
13
|
+
diverse, inclusive, and healthy community.
|
|
14
|
+
|
|
15
|
+
## Our Standards
|
|
16
|
+
|
|
17
|
+
Examples of behavior that contributes to a positive environment include:
|
|
18
|
+
|
|
19
|
+
- Demonstrating empathy and kindness toward other people
|
|
20
|
+
- Being respectful of differing opinions, viewpoints, and experiences
|
|
21
|
+
- Giving and gracefully accepting constructive feedback
|
|
22
|
+
- Accepting responsibility and apologizing to those affected by our mistakes
|
|
23
|
+
- Focusing on what is best not just for us as individuals, but for the overall community
|
|
24
|
+
|
|
25
|
+
Examples of unacceptable behavior include:
|
|
26
|
+
|
|
27
|
+
- The use of sexualized language or imagery, and sexual attention or advances of any kind
|
|
28
|
+
- Trolling, insulting or derogatory comments, and personal or political attacks
|
|
29
|
+
- Public or private harassment
|
|
30
|
+
- Publishing others' private information, such as a physical or email address, without their explicit permission
|
|
31
|
+
- Other conduct which could reasonably be considered inappropriate in a professional setting
|
|
32
|
+
|
|
33
|
+
## Enforcement Responsibilities
|
|
34
|
+
|
|
35
|
+
Community leaders are responsible for clarifying and enforcing our standards of
|
|
36
|
+
acceptable behavior and will take appropriate and fair corrective action in
|
|
37
|
+
response to any behavior that they deem inappropriate, threatening, offensive,
|
|
38
|
+
or harmful.
|
|
39
|
+
|
|
40
|
+
Community leaders have the right and responsibility to remove, edit, or reject
|
|
41
|
+
comments, commits, code, wiki edits, issues, and other contributions that are
|
|
42
|
+
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
|
43
|
+
decisions when appropriate.
|
|
44
|
+
|
|
45
|
+
## Scope
|
|
46
|
+
|
|
47
|
+
This Code of Conduct applies within all community spaces, and also applies when
|
|
48
|
+
an individual is officially representing the community in public spaces.
|
|
49
|
+
Examples of representing our community include using an official e-mail address,
|
|
50
|
+
posting via an official social media account, or acting as an appointed
|
|
51
|
+
representative at an online or offline event.
|
|
52
|
+
|
|
53
|
+
## Enforcement
|
|
54
|
+
|
|
55
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
56
|
+
reported to the community leaders responsible for enforcement through GitHub:
|
|
57
|
+
|
|
58
|
+
- Open an issue (if the report is not sensitive)
|
|
59
|
+
- For sensitive reports, contact the maintainers via their GitHub profiles
|
|
60
|
+
|
|
61
|
+
All complaints will be reviewed and investigated promptly and fairly.
|
|
62
|
+
|
|
63
|
+
Community leaders are obligated to respect the privacy and security of the
|
|
64
|
+
reporter of any incident.
|
|
65
|
+
|
|
66
|
+
## Enforcement Guidelines
|
|
67
|
+
|
|
68
|
+
Community leaders will follow these Community Impact Guidelines in determining
|
|
69
|
+
the consequences for any action they deem in violation of this Code of Conduct:
|
|
70
|
+
|
|
71
|
+
### 1. Correction
|
|
72
|
+
|
|
73
|
+
**Community Impact**: Use of inappropriate language or other behavior deemed
|
|
74
|
+
unprofessional or unwelcome in the community.
|
|
75
|
+
|
|
76
|
+
**Consequence**: A private, written warning from community leaders, providing
|
|
77
|
+
clarity around the nature of the violation and an explanation of why the
|
|
78
|
+
behavior was inappropriate. A public apology may be requested.
|
|
79
|
+
|
|
80
|
+
### 2. Warning
|
|
81
|
+
|
|
82
|
+
**Community Impact**: A violation through a single incident or series
|
|
83
|
+
of actions.
|
|
84
|
+
|
|
85
|
+
**Consequence**: A warning with consequences for continued behavior. No
|
|
86
|
+
interaction with the people involved, including unsolicited interaction with
|
|
87
|
+
those enforcing the Code of Conduct, for a specified period of time. This
|
|
88
|
+
includes avoiding interactions in community spaces as well as external channels
|
|
89
|
+
like social media. Violating these terms may lead to a temporary or permanent
|
|
90
|
+
ban.
|
|
91
|
+
|
|
92
|
+
### 3. Temporary Ban
|
|
93
|
+
|
|
94
|
+
**Community Impact**: A serious violation of community standards, including
|
|
95
|
+
sustained inappropriate behavior.
|
|
96
|
+
|
|
97
|
+
**Consequence**: A temporary ban from any sort of interaction or public
|
|
98
|
+
communication with the community for a specified period of time. No public or
|
|
99
|
+
private interaction with the people involved, including unsolicited interaction
|
|
100
|
+
with those enforcing the Code of Conduct, is allowed during this period.
|
|
101
|
+
Violating these terms may lead to a permanent ban.
|
|
102
|
+
|
|
103
|
+
### 4. Permanent Ban
|
|
104
|
+
|
|
105
|
+
**Community Impact**: Demonstrating a pattern of violation of community
|
|
106
|
+
standards, including sustained inappropriate behavior, harassment of an
|
|
107
|
+
individual, or aggression toward or disparagement of classes of individuals.
|
|
108
|
+
|
|
109
|
+
**Consequence**: A permanent ban from any sort of public interaction within the
|
|
110
|
+
community.
|
|
111
|
+
|
|
112
|
+
## Attribution
|
|
113
|
+
|
|
114
|
+
This Code of Conduct is adapted from the
|
|
115
|
+
[Contributor Covenant](https://www.contributor-covenant.org/), version 2.1,
|
|
116
|
+
available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
|
|
117
|
+
|
|
118
|
+
Community Impact Guidelines were inspired by
|
|
119
|
+
[Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/inclusion).
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
# Contributing to Mother Brain
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing to Mother Brain! 🧠 We're building the future of AI-driven project management together, and your help makes that possible.
|
|
4
|
+
|
|
5
|
+
This document provides guidelines for contributing to Mother Brain. Whether you're fixing a typo, reporting a bug, or proposing a major feature, we appreciate your efforts!
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
- [Code of Conduct](#code-of-conduct)
|
|
9
|
+
- [How Can I Contribute?](#how-can-i-contribute)
|
|
10
|
+
- [Reporting Bugs](#reporting-bugs)
|
|
11
|
+
- [Suggesting Features](#suggesting-features)
|
|
12
|
+
- [Contributing to Mother Brain Core](#contributing-to-mother-brain-core)
|
|
13
|
+
- [Creating New Skills](#creating-new-skills)
|
|
14
|
+
- [Improving Documentation](#improving-documentation)
|
|
15
|
+
- [Development Setup](#development-setup)
|
|
16
|
+
- [Pull Request Process](#pull-request-process)
|
|
17
|
+
- [Community](#community)
|
|
18
|
+
|
|
19
|
+
## Code of Conduct
|
|
20
|
+
|
|
21
|
+
This project adheres to a Code of Conduct (see [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)). By participating, you're expected to uphold this code. Please report unacceptable behavior to the project maintainers.
|
|
22
|
+
|
|
23
|
+
## How Can I Contribute?
|
|
24
|
+
|
|
25
|
+
There are many ways to contribute to Mother Brain:
|
|
26
|
+
|
|
27
|
+
- 🐛 **Report bugs** - Help us identify and fix issues
|
|
28
|
+
- 💡 **Suggest features** - Share ideas for improvements
|
|
29
|
+
- 🧠 **Improve Mother Brain** - Enhance the core framework
|
|
30
|
+
- 🛠️ **Create skills** - Build new specialized agents for common patterns
|
|
31
|
+
- 📝 **Improve docs** - Make Mother Brain easier to understand
|
|
32
|
+
- 🍴 **Share your projects** - Show what you've built with Mother Brain
|
|
33
|
+
|
|
34
|
+
## Reporting Bugs
|
|
35
|
+
|
|
36
|
+
Found a bug? Help us fix it!
|
|
37
|
+
|
|
38
|
+
**Before submitting a bug report:**
|
|
39
|
+
- Check the [existing issues](https://github.com/super-state/mother-brain/issues) to avoid duplicates
|
|
40
|
+
- Try to isolate the problem (which step/skill causes it?)
|
|
41
|
+
|
|
42
|
+
**When submitting a bug report, include:**
|
|
43
|
+
1. **Clear description** - What happened vs what you expected
|
|
44
|
+
2. **Steps to reproduce** - Exact steps that trigger the bug
|
|
45
|
+
3. **Environment**:
|
|
46
|
+
- Operating system (Windows/Mac/Linux)
|
|
47
|
+
- GitHub Copilot CLI version
|
|
48
|
+
- Mother Brain version (commit SHA if using latest)
|
|
49
|
+
4. **Error messages** - Copy the full error output
|
|
50
|
+
5. **Screenshots** - If relevant (especially for visual issues)
|
|
51
|
+
|
|
52
|
+
**Example Bug Report:**
|
|
53
|
+
```markdown
|
|
54
|
+
## Bug: Vision Discovery Wizard Crashes on Question 5
|
|
55
|
+
|
|
56
|
+
**Expected**: Wizard should continue to question 6
|
|
57
|
+
**Actual**: Session ends with "undefined is not a function" error
|
|
58
|
+
|
|
59
|
+
**Steps to Reproduce**:
|
|
60
|
+
1. Invoke mother-brain skill
|
|
61
|
+
2. Start vision discovery
|
|
62
|
+
3. Answer questions 1-4 normally
|
|
63
|
+
4. On question 5, type freeform answer > 200 characters
|
|
64
|
+
5. Error occurs
|
|
65
|
+
|
|
66
|
+
**Environment**:
|
|
67
|
+
- OS: Windows 11
|
|
68
|
+
- Copilot CLI: v1.2.0
|
|
69
|
+
- Mother Brain: commit abc123f
|
|
70
|
+
|
|
71
|
+
**Error Output**:
|
|
72
|
+
```
|
|
73
|
+
TypeError: undefined is not a function at step 3.5...
|
|
74
|
+
```
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Suggesting Features
|
|
78
|
+
|
|
79
|
+
Have an idea to make Mother Brain better?
|
|
80
|
+
|
|
81
|
+
**Before suggesting a feature:**
|
|
82
|
+
- Check [existing issues](https://github.com/super-state/mother-brain/issues) for similar requests
|
|
83
|
+
- Review the [project vision](docs/quick-start.md) to ensure alignment
|
|
84
|
+
|
|
85
|
+
**When suggesting a feature, include:**
|
|
86
|
+
1. **Problem statement** - What pain point does this solve?
|
|
87
|
+
2. **Proposed solution** - How would this feature work?
|
|
88
|
+
3. **Alternatives considered** - Other approaches you thought about
|
|
89
|
+
4. **Use case** - Real-world scenario where this helps
|
|
90
|
+
5. **Impact** - Who benefits? How much value does it add?
|
|
91
|
+
|
|
92
|
+
**Feature Request Template:**
|
|
93
|
+
```markdown
|
|
94
|
+
## Feature: Auto-detect Project Type from Existing Files
|
|
95
|
+
|
|
96
|
+
**Problem**: Users with existing projects have to manually describe their project type during vision discovery.
|
|
97
|
+
|
|
98
|
+
**Solution**: Scan existing files (package.json, requirements.txt, etc.) and auto-suggest project type.
|
|
99
|
+
|
|
100
|
+
**Alternatives**:
|
|
101
|
+
- Ask user to specify type manually (current approach)
|
|
102
|
+
- Skip project type entirely (less accurate recommendations)
|
|
103
|
+
|
|
104
|
+
**Use Case**: Developer with existing React app wants Mother Brain to help plan next phase. Auto-detection saves time and improves accuracy.
|
|
105
|
+
|
|
106
|
+
**Impact**: All users with existing codebases (estimated 30-40% of users)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Contributing to Mother Brain Core
|
|
110
|
+
|
|
111
|
+
Want to improve the framework itself? Here's how:
|
|
112
|
+
|
|
113
|
+
### Types of Core Contributions
|
|
114
|
+
|
|
115
|
+
1. **Bug Fixes** - Fix issues in existing Mother Brain logic
|
|
116
|
+
2. **Performance Improvements** - Optimize execution speed or token usage
|
|
117
|
+
3. **New Steps** - Add new phases to the Mother Brain workflow
|
|
118
|
+
4. **Operating Principles** - Suggest improvements to framework design
|
|
119
|
+
|
|
120
|
+
### Mother Brain Self-Improvement Flow
|
|
121
|
+
|
|
122
|
+
Mother Brain has a **self-improvement feature** that allows it to update its own SKILL.md:
|
|
123
|
+
|
|
124
|
+
1. Use Mother Brain's "Update Mother Brain" menu option
|
|
125
|
+
2. Describe the issue or improvement
|
|
126
|
+
3. Mother Brain will propose changes to its SKILL.md
|
|
127
|
+
4. Review and approve changes
|
|
128
|
+
5. Submit a PR with the updated SKILL.md
|
|
129
|
+
|
|
130
|
+
**This is the preferred way to contribute core improvements!**
|
|
131
|
+
|
|
132
|
+
### Manual Core Contributions
|
|
133
|
+
|
|
134
|
+
If you prefer to edit directly:
|
|
135
|
+
|
|
136
|
+
1. Read `.github/skills/mother-brain/SKILL.md` thoroughly
|
|
137
|
+
2. Identify which step or principle to modify
|
|
138
|
+
3. Make surgical changes (minimal modifications)
|
|
139
|
+
4. Test with a real project to validate
|
|
140
|
+
5. Submit a PR with:
|
|
141
|
+
- Description of what changed and why
|
|
142
|
+
- Before/after comparison
|
|
143
|
+
- Test results showing improvement
|
|
144
|
+
|
|
145
|
+
## Creating New Skills
|
|
146
|
+
|
|
147
|
+
Skills are specialized agents that automate repetitive patterns. Creating skills is one of the most valuable contributions!
|
|
148
|
+
|
|
149
|
+
### When to Create a Skill
|
|
150
|
+
|
|
151
|
+
Create a skill when you notice:
|
|
152
|
+
- A pattern you've done 3+ times across different projects
|
|
153
|
+
- Complex wizard-style interactions that require multiple questions
|
|
154
|
+
- Domain-specific knowledge that can be reused (e.g., "database-schema-generator")
|
|
155
|
+
|
|
156
|
+
### How to Create a Skill
|
|
157
|
+
|
|
158
|
+
**Option 1: Use skill-creator (Recommended)**
|
|
159
|
+
1. Invoke mother-brain
|
|
160
|
+
2. Select "Create new skill" from menu
|
|
161
|
+
3. Use skill-creator's wizard to generate SKILL.md
|
|
162
|
+
4. Test the skill on a real project
|
|
163
|
+
5. Submit a PR with your new skill
|
|
164
|
+
|
|
165
|
+
**Option 2: Manual Creation**
|
|
166
|
+
1. Copy `.github/skills/skill-creator/SKILL.md` as a template
|
|
167
|
+
2. Fill in skill-specific sections
|
|
168
|
+
3. Add examples in `examples/` directory
|
|
169
|
+
4. Add references in `references/` directory
|
|
170
|
+
5. Test thoroughly
|
|
171
|
+
6. Submit a PR
|
|
172
|
+
|
|
173
|
+
### Skill Quality Checklist
|
|
174
|
+
|
|
175
|
+
Before submitting a skill PR, ensure:
|
|
176
|
+
- [ ] SKILL.md has all required sections
|
|
177
|
+
- [ ] At least 2 examples provided
|
|
178
|
+
- [ ] References section includes external sources
|
|
179
|
+
- [ ] Skill has been tested on a real project
|
|
180
|
+
- [ ] Skill follows Mother Brain operating principles
|
|
181
|
+
- [ ] Skill uses `ask_user` for decisions (wizard pattern)
|
|
182
|
+
- [ ] README in skill directory explains what it does
|
|
183
|
+
|
|
184
|
+
## Improving Documentation
|
|
185
|
+
|
|
186
|
+
Documentation improvements are always welcome!
|
|
187
|
+
|
|
188
|
+
### Types of Documentation Contributions
|
|
189
|
+
|
|
190
|
+
- Fix typos or grammatical errors
|
|
191
|
+
- Clarify confusing explanations
|
|
192
|
+
- Add examples or use cases
|
|
193
|
+
- Update outdated information
|
|
194
|
+
- Translate to other languages (future)
|
|
195
|
+
|
|
196
|
+
### Where Documentation Lives
|
|
197
|
+
|
|
198
|
+
- `README.md` - Project overview (you are here)
|
|
199
|
+
- `.github/skills/mother-brain/SKILL.md` - Core framework logic
|
|
200
|
+
- `.github/skills/[skill-name]/SKILL.md` - Individual skill docs
|
|
201
|
+
- `docs/` - Project documentation
|
|
202
|
+
|
|
203
|
+
### Documentation Style Guide
|
|
204
|
+
|
|
205
|
+
- **Be concise** - Respect readers' time
|
|
206
|
+
- **Be clear** - Avoid jargon or explain it
|
|
207
|
+
- **Be helpful** - Focus on solving problems
|
|
208
|
+
- **Use examples** - Show, don't just tell
|
|
209
|
+
- **Test your changes** - Make sure examples actually work
|
|
210
|
+
|
|
211
|
+
## Development Setup
|
|
212
|
+
|
|
213
|
+
Mother Brain runs within GitHub Copilot CLI, so development is unique:
|
|
214
|
+
|
|
215
|
+
### Prerequisites
|
|
216
|
+
|
|
217
|
+
- [GitHub Copilot CLI](https://docs.github.com/en/copilot/github-copilot-in-the-cli) installed and configured
|
|
218
|
+
- Git for version control
|
|
219
|
+
- Basic understanding of:
|
|
220
|
+
- Markdown (for SKILL.md files)
|
|
221
|
+
- GitHub Copilot skill system
|
|
222
|
+
|
|
223
|
+
### Local Setup
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
# 1. Fork the repository on GitHub
|
|
227
|
+
|
|
228
|
+
# 2. Clone your fork
|
|
229
|
+
git clone https://github.com/super-state/mother-brain.git
|
|
230
|
+
cd mother-brain
|
|
231
|
+
|
|
232
|
+
# 3. Add upstream remote
|
|
233
|
+
git remote add upstream https://github.com/super-state/mother-brain.git
|
|
234
|
+
|
|
235
|
+
# 4. Test Mother Brain works
|
|
236
|
+
gh copilot explain "Use the mother-brain skill"
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Testing Changes
|
|
240
|
+
|
|
241
|
+
Mother Brain is **self-testing**:
|
|
242
|
+
1. Make your changes to SKILL.md or skill files
|
|
243
|
+
2. Invoke mother-brain on a test project
|
|
244
|
+
3. Verify your changes work as expected
|
|
245
|
+
4. Use Mother Brain's self-learning feature to validate improvements
|
|
246
|
+
|
|
247
|
+
**Example Test Flow:**
|
|
248
|
+
```bash
|
|
249
|
+
# Create a test directory
|
|
250
|
+
mkdir test-project
|
|
251
|
+
cd test-project
|
|
252
|
+
|
|
253
|
+
# Invoke Mother Brain with your changes
|
|
254
|
+
gh copilot explain "Use the mother-brain skill to start a test project"
|
|
255
|
+
|
|
256
|
+
# Go through the flow and verify your changes work
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
## Pull Request Process
|
|
260
|
+
|
|
261
|
+
Ready to submit your contribution?
|
|
262
|
+
|
|
263
|
+
### Before Submitting
|
|
264
|
+
|
|
265
|
+
- [ ] Test your changes on a real project
|
|
266
|
+
- [ ] Update relevant documentation
|
|
267
|
+
- [ ] Follow the style guide (minimal, surgical changes)
|
|
268
|
+
- [ ] Commit messages are clear and descriptive
|
|
269
|
+
|
|
270
|
+
### Commit Message Format
|
|
271
|
+
|
|
272
|
+
Use clear, descriptive commit messages:
|
|
273
|
+
|
|
274
|
+
**Good:**
|
|
275
|
+
```
|
|
276
|
+
Fix vision discovery crash on long freeform answers
|
|
277
|
+
Add skill: database-schema-generator
|
|
278
|
+
Update CONTRIBUTING.md with skill creation guide
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**Bad:**
|
|
282
|
+
```
|
|
283
|
+
fix bug
|
|
284
|
+
update stuff
|
|
285
|
+
changes
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Creating a Pull Request
|
|
289
|
+
|
|
290
|
+
1. **Create a branch** - Use descriptive names
|
|
291
|
+
```bash
|
|
292
|
+
git checkout -b fix/vision-discovery-crash
|
|
293
|
+
# or
|
|
294
|
+
git checkout -b feature/database-skill
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
2. **Make your changes** - Keep commits atomic and logical
|
|
298
|
+
|
|
299
|
+
3. **Push to your fork**
|
|
300
|
+
```bash
|
|
301
|
+
git push origin fix/vision-discovery-crash
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
4. **Open a PR** on GitHub with:
|
|
305
|
+
- **Title**: Clear, concise description
|
|
306
|
+
- **Description**:
|
|
307
|
+
- What problem does this solve?
|
|
308
|
+
- How does it solve it?
|
|
309
|
+
- How did you test it?
|
|
310
|
+
- Screenshots (if relevant)
|
|
311
|
+
- **Link related issues** (e.g., "Fixes #123")
|
|
312
|
+
|
|
313
|
+
### PR Review Process
|
|
314
|
+
|
|
315
|
+
1. **Automated checks** - CI may run basic validation (future)
|
|
316
|
+
2. **Maintainer review** - We'll review your PR within 7 days
|
|
317
|
+
3. **Feedback** - We may request changes or ask questions
|
|
318
|
+
4. **Merge** - Once approved, we'll merge your PR!
|
|
319
|
+
|
|
320
|
+
### After Your PR is Merged
|
|
321
|
+
|
|
322
|
+
- Your contribution will be included in the next release
|
|
323
|
+
- You'll be credited as a contributor
|
|
324
|
+
- Consider sharing your experience!
|
|
325
|
+
|
|
326
|
+
## Community
|
|
327
|
+
|
|
328
|
+
### Getting Help
|
|
329
|
+
|
|
330
|
+
- **Issues** - Ask questions in [GitHub Issues](https://github.com/super-state/mother-brain/issues)
|
|
331
|
+
- **Discussions** - Join conversations (future: Discord/Slack)
|
|
332
|
+
|
|
333
|
+
### Communication Channels
|
|
334
|
+
|
|
335
|
+
- **GitHub Issues** - Bug reports, feature requests
|
|
336
|
+
- **Pull Requests** - Code contributions, documentation
|
|
337
|
+
- **Discussions** - General questions, ideas (future)
|
|
338
|
+
|
|
339
|
+
### Recognition
|
|
340
|
+
|
|
341
|
+
We recognize contributors in:
|
|
342
|
+
- Contributor list in README
|
|
343
|
+
- Release notes when features ship
|
|
344
|
+
- Special thanks in community updates
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Questions?
|
|
349
|
+
|
|
350
|
+
If you have questions about contributing, please [open an issue](https://github.com/super-state/mother-brain/issues/new) with the `question` label.
|
|
351
|
+
|
|
352
|
+
Thank you for contributing to Mother Brain! 🧠❤️
|