Compare commits

..
12 Commits
Author SHA1 Message Date
Matt Pocock 9e4a16180f feat: Add implement skill documentation for PRD-based work 2026-06-10 14:20:52 +01:00
Matt Pocock 9b789d9194 Added prefactoring 2026-06-10 14:20:52 +01:00
Matt Pocock 9ab83c1198 refine: Add skill documentation for resolving merge conflicts 2026-06-10 14:20:52 +01:00
Matt Pocock a67ab3dfca The fewer seams, the better 2026-06-10 14:20:52 +01:00
Matt Pocock 2aab3306ab Improved /grill-with-docs commit message 2026-06-10 14:20:52 +01:00
Matt Pocock 024f97b7a8 refine: Update description for grilling skill to enhance clarity and focus 2026-06-10 14:20:52 +01:00
Matt Pocock c63ada9635 refine: Remove caveman skill documentation to streamline productivity skills 2026-06-10 14:20:52 +01:00
Matt Pocock c15909335e refine: Remove caveman skill documentation to streamline productivity skills 2026-06-10 14:20:52 +01:00
Matt Pocock 526bc9b218 refine: Add disable-model-invocation flag to edit-article skill for improved functionality 2026-06-10 14:20:52 +01:00
Matt Pocock 661641ded3 refine: Update description for grill-me skill and adjust session instruction for clarity 2026-06-10 14:20:52 +01:00
Matt Pocock 675863c8b3 refine: Simplify instructions for running grilling and domain modeling skills 2026-06-10 14:20:52 +01:00
Matt Pocock b7724047bc feat: Add new skills and templates for domain modeling, bug diagnosis, and architectural improvement
- Introduced a human-in-the-loop script for bug diagnosis to capture user feedback.
- Created ADR and CONTEXT formats to standardize architectural decision records and domain context documentation.
- Developed a domain modeling skill to refine terminology and maintain a shared language.
- Enhanced the improve-codebase-architecture skill to provide visual reports and deepening opportunities.
- Consolidated grilling and handoff skills for better user interaction and documentation.
- Updated existing skills to improve clarity and consistency in descriptions and functionality.
2026-06-10 14:20:52 +01:00
+12 -28
View File
@@ -30,35 +30,20 @@ Before the `RESOURCES.md` is well-populated, your focus should be to find high-q
Some topics may require more skills than knowledge. Learning more about theoretical physics might be more knowledge-based. For yoga, more skills-based. Some topics may require more skills than knowledge. Learning more about theoretical physics might be more knowledge-based. For yoga, more skills-based.
### Fluency vs Storage Strength
You should be careful to split between two types of learning:
- **Fluency strength**: in-the-moment retrieval of knowledge
- **Storage strength**: long-term retention of knowledge
Fluency can give the user an illusory sense of mastery, but storage strength is the real goal. Try to design lessons which build long-term retention by desirable difficulty:
- Using retrieval practice (recall from memory)
- Spacing (distributing practice over time)
- Interleaving (mixing up different but related topics in practice - for skills practice only)
## Lessons ## Lessons
A lesson is the main thing you produce — the unit in which knowledge and skills reach the user. Each lesson is one self-contained HTML file, saved to `./lessons/` and titled `0001-<dash-case-name>.html` where the number increments each time. A lesson is the main thing you produce — the unit in which knowledge and skills reach the user. Each lesson is one self-contained HTML file, saved to `./lessons/` and titled `0001-<dash-case-name>.html` where the number increments each time.
A lesson should be **beautiful** — clean, readable typography and layout — since the user will return to these later to review. Think Tufte. A lesson should be **beautiful** — clean, readable typography and layout — since the user will return to these later to review.
The lesson should be short, and completable very quickly. Learners' working memory is very small, and we need to stay within it. But each lesson should give the user a single tangible win that they can build on. It should be directly tied to the mission, and should be in the user's zone of proximal development. The lesson should teach ONE THING only. It should be completable very quickly - but give the user a tangible win that they can build on. It should be directly tied to the mission, and should be in the user's zone of proximal development.
If possible, open the lesson file for the user by running a CLI command. Make opening a lesson as easy as possible — ideally a single CLI command the user can run to open the HTML file in their browser.
Each lesson should link via HTML anchors to other lessons and reference documents. Each lesson should link via HTML anchors to other lessons and reference documents.
Each lesson should recommend a primary source for the user to read or watch. This should be the most high-quality, high-trust resource you found on the topic. Each lesson should recommend a primary source for the user to read or watch. This should be the most high-quality, high-trust resource you found on the topic.
Each lesson should contain a reminder to ask followup questions to the agent. The agent is their teacher, and can assist with anything that's unclear.
## The Mission ## The Mission
Every lesson should be tied into the mission - the reason that the user is interested in learning about the topic. Every lesson should be tied into the mission - the reason that the user is interested in learning about the topic.
@@ -71,7 +56,7 @@ Missions may change as the user develops more skills and knowledge. This is norm
## Zone Of Proximal Development ## Zone Of Proximal Development
Each lesson, the user should always feel as if they are being challenged 'just enough'. Each lesson, the learner should always feel as if they are being challenged 'just enough'.
The user may specify an exact thing they want to learn. If they don't, figure out their zone of proximal development by: The user may specify an exact thing they want to learn. If they don't, figure out their zone of proximal development by:
@@ -79,27 +64,26 @@ The user may specify an exact thing they want to learn. If they don't, figure ou
- Figuring out the right thing to teach them based on their mission - Figuring out the right thing to teach them based on their mission
- Teach the most relevant thing that fits in their zone of proximal development - Teach the most relevant thing that fits in their zone of proximal development
## Knowledge A user may tell you that they already know about that topic. If so, record it in their `learning-records`.
## Acquiring Knowledge & Skills
Lessons should be designed around a skill the user is going to learn. The knowledge in the lesson should be only what's required to acquire that skill. You teach the knowledge first, then get the user to practice the skills via an interactive feedback loop. Lessons should be designed around a skill the user is going to learn. The knowledge in the lesson should be only what's required to acquire that skill. You teach the knowledge first, then get the user to practice the skills via an interactive feedback loop.
Knowledge should first be gathered from trusted resources. Use `RESOURCES.md` to keep track of them. Lessons should be littered with citations - links to external resources to back up any claim made. This increases the trustworthiness of the lesson. Knowledge should first be gathered from trusted resources. Use `RESOURCES.md` to keep track of them. Lessons should be littered with citations - links to external resources to back up any claim made. This increases the trustworthiness of the lesson, and gives the user a path to acquire more knowledge if they want to go deeper.
For acquiring knowledge, difficulty is the enemy. It eats working memory you need for understanding. Each lesson should contain a reminder to ask followup questions to the agent. The agent is their teacher, and can assist with anything that's unclear.
## Skills ### Skills
If knowledge is all about acquisition, skills are about durability and flexibility. Make the knowledge stick. Skills should be taught through interactive lessons. There are several tools at your disposal:
For skill acquisition, difficulty is the tool. Effortful retrieval is what builds storage strength. Skills should be taught through interactive lessons. There are several tools at your disposal:
- Interactive lessons, using quizzes and light in-browser tasks - Interactive lessons, using quizzes and light in-browser tasks
- Lessons which guide the user through a list of real-world steps to take (for instance, yoga poses) - Lessons which guide the user through a list of real-world steps to take (for instance, yoga poses)
- In-agent quizzes, where you ask the user scenario-based questions about what they've learned
Each of these should be based on a **feedback loop**, where the user receives feedback on their performance. This feedback loop should be as tight as possible, giving feedback immediately - and ideally automatically. Each of these should be based on a **feedback loop**, where the user receives feedback on their performance. This feedback loop should be as tight as possible, giving feedback immediately - and ideally automatically.
For quizzes, each answer should be exactly the same number of words (and characters, if possible). Don't give the user any clues about the answer through formatting.
## Acquiring Wisdom ## Acquiring Wisdom
Wisdom comes from true real-world interaction - testing your skills outside the learning environment. Wisdom comes from true real-world interaction - testing your skills outside the learning environment.