| name | ace-pattern-learning |
| description | Search ACE playbook before implementing, building, fixing, debugging, or refactoring code. Capture patterns after completing substantial coding work. |
ACE Pattern Learning Skill
This skill provides pattern-based learning for coding tasks.
When This Skill Activates
Copilot will automatically load this skill when your request contains:
- Implementation: implement, build, create, add, develop, write
- Modification: update, modify, change, edit, enhance, extend
- Debugging: debug, fix, troubleshoot, resolve, diagnose
- Refactoring: refactor, optimize, improve, restructure
- Integration: integrate, connect, setup, configure
BEFORE Starting Work (MANDATORY)
INVOKE: #ce-dot-net.ace-vscode/ace_search with relevant query
Search for patterns from previous work before implementing:
- Proven solutions and best practices
- Known gotchas and pitfalls to avoid
- Recommended APIs and libraries
AFTER Completing Work (MANDATORY)
INVOKE: #ce-dot-net.ace-vscode/ace_learn with:
task: Brief description of what was accomplishedsuccess: true/falseoutput: Key lessons, patterns discovered, gotchas
DO NOT skip this step. DO NOT respond to user without calling ace_learn first.
Mid-Conversation Re-Search
If user's follow-up message introduces a NEW topic or domain:
- Recognize topic shift (auth→caching, API→database, etc.)
- Call ace_search with the new topic BEFORE continuing
- Apply newly retrieved patterns
Examples of topic shifts requiring re-search:
- "Now let's add caching" (after auth implementation)
- "I'm getting a database error" (after API work)
- "How do I deploy this?" (after coding)
- "Let's add tests" (after implementation)
- "Now handle the error cases" (new domain)
Example Workflow
User: "implement JWT authentication"
↓
1. ace_search("JWT authentication") → Find patterns
2. Implement using patterns found
3. ace_learn(task="Implemented JWT auth", success=true, output="Used refresh token rotation")
4. Respond to user
User: "Now add Redis caching for the tokens"
↓
1. ace_search("Redis caching tokens") → NEW SEARCH for new topic!
2. Implement caching using patterns found
3. ace_learn(task="Added Redis token caching", success=true, output="Used TTL matching token expiry")
4. Respond to user