-
Notifications
You must be signed in to change notification settings - Fork 26
Add aidd-fix skill for structured bug fixing workflow #103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
45 commits
Select commit
Hold shift + click to select a range
855cb0b
feat(aidd-fix): add /aidd-fix skill and command
claude 5f8744e
fix(aidd-fix): standardize command references in SKILL.md
claude 889fe73
fix(aidd-fix): remove duplicated constraints and self-referential Comβ¦
claude 47c3021
fix(aidd-fix): restore Commands block as canonical skill command defiβ¦
claude b3535be
fix(aidd-fix): carve out e2e exception for planning and documentationβ¦
claude 55758c7
fix(aidd-fix): clarify pre-commit test constraint with lint/unit/e2e β¦
claude aa8ba01
fix(aidd-fix): use /execute (not /task) for TDD step β /task is for pβ¦
claude d333c52
fix(aidd-fix): decouple e2e test run from /review in Step 5
claude cade027
fix(aidd-fix): make /review mandatory in Step 5
claude 8f179ab
chore(index): regenerate ai/**/index.md to include skills
claude 36f02e7
Merge remote-tracking branch 'origin/main' into claude/aidd-fix-pr-97β¦
claude cd81d46
chore(index): regenerate indexes after merge from main
claude 85aafa1
feat(installer): add aidd-custom/config.yml with e2eBeforeCommit
claude 5d84fd1
feat(aidd-custom): add project customization layer
claude 70b8725
chore(index): add aidd-custom/index.md
claude 614fc49
test(aidd-custom): add missing coverage from review
claude b69a637
style: apply linter fixes
claude 1096e8d
fix(aidd-custom): preserve config.yml on --force reinstall
claude eda5cfa
fix(test): update AGENTS.md fixture to include aidd-custom directive
claude 41b8261
docs(aidd-custom): clarify e2eBeforeCommit is a deliberate repo override
claude a1e9c42
fix(agents-md): only append missing directive sections on upgrade
cursoragent 9f6c68e
chore: apply lint formatting fixes
cursoragent 0f1492b
fix(aidd-fix): reorder Step 5 so tests run after review resolution
cursoragent 7a89e01
Merge cursor/aidd-custom-upgrade-issue-e8ea: fix upgrade duplication bug
cursoragent ab8e0cd
fix(please): correct aidd-fix command description grammar
cursoragent 10ac463
fix(skill): allow any conventional commit type in Step 6
cursoragent ad69254
fix(skill): rename skills/fix/ to skills/aidd-fix/ to match name field
cursoragent b96953f
fix(agents): explicitly direct agents to read aidd-custom/config.yml
cursoragent 1c613ab
chore: regenerate index files
cursoragent 08fa4c9
fix(cli): show accurate config.yml status in dry-run output
cursoragent 5053b8f
fix(cli): generate aidd-custom/index.md during install
cursoragent 1664166
fix(cli): remove force option from createAiddCustomConfig to prevent β¦
cursoragent b5394b9
fix(types): update appendDirectives signature and export DIRECTIVE_APβ¦
cursoragent cb8bb71
fix(agents-md): prevent duplicate wrapper heading on repeated appendDβ¦
cursoragent dc9e92e
docs(tasks): add code review epic for aidd-fix PR
cursor[bot] c0f3fc7
refactor: rename non-env-var constants to camelCase per JS style guide
cursoragent 53e9763
feat(types): add lib/cli-core.d.ts type declarations
cursoragent 3d945d0
fix(types): normalize generateAllIndexes error shape and fix generateβ¦
cursoragent 5704070
docs(epic): revise requirement descriptions to express expected behavior
cursoragent 8c5a50b
docs(tasks): update epic β add agentsMdContent rename and pre-commit β¦
cursor[bot] d598850
refactor(agents-md): rename AGENTS_MD_CONTENT to agentsMdContent per β¦
cursoragent bd191a4
feat(types): enable type-checking on test files as consumers of .d.tsβ¦
cursoragent fb81221
feat(types): enable checkJs: true globally
cursoragent 111ae94
fix(types): resolve all checkJs errors in src/server
cursoragent eebf4ed
feat(skill): add preamble and competencies to aidd-fix skill
cursoragent File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # π /aidd-fix | ||
|
|
||
| Load and execute the skill at `ai/skills/aidd-fix/SKILL.md`. | ||
|
|
||
| Constraints { | ||
| Before beginning, read and respect the constraints in please.mdc. | ||
| } | ||
|
ericelliott marked this conversation as resolved.
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| # aidd-ecs | ||
|
|
||
| This index provides an overview of the contents in this directory. | ||
|
|
||
| ## Files | ||
|
|
||
| ### Database.Plugin authoring | ||
|
|
||
| **File:** `SKILL.md` | ||
|
|
||
| Enforces @adobe/data/ecs best practices. Use this whenever @adobe/data/ecs is imported, when creating or modifying Database.Plugin definitions, or when working with ECS components, resources, transactions, actions, systems, or services. | ||
|
|
||
| ### Data modeling: components, resources, archetypes | ||
|
|
||
| **File:** `data-modeling.md` | ||
|
|
||
| *No description available* | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,113 @@ | ||
| --- | ||
| name: aidd-fix | ||
| description: > | ||
| Fix a bug or implement review feedback following the AIDD fix process. | ||
| Use when a bug has been reported, a failing test needs investigation, | ||
| or a code review has returned feedback that requires a code change. | ||
| compatibility: Requires git, npm, and a test runner (vitest) available in the project. | ||
| --- | ||
|
ericelliott marked this conversation as resolved.
cursor[bot] marked this conversation as resolved.
|
||
|
|
||
| Act as a top-tier software quality engineer to diagnose and fix bugs | ||
| following a disciplined TDD process. | ||
|
|
||
| Competencies { | ||
| root cause analysis | ||
| test-driven development (failing test before implementation) | ||
| minimal targeted fixes (no scope creep) | ||
| regression prevention | ||
| conventional commit discipline | ||
| } | ||
|
|
||
| # π aidd-fix | ||
|
|
||
| Fix a bug or implement review feedback following the structured AIDD fix process. | ||
|
|
||
| Constraints { | ||
| Do ONE step at a time. Do not skip steps or reorder them. | ||
| Run lint and unit tests prior to committing code. Planning and documentation (epics, /plan files, /docs, etc) are exempt. | ||
| Run e2e tests prior to committing only if `aidd-custom/config.yml` sets `e2eBeforeCommit: true`. | ||
| Never implement before writing a failing test. | ||
| Never write a test after implementing β that is not TDD. | ||
| } | ||
|
|
||
| ## Step 1 β Gain context and validate | ||
|
|
||
| Given a bug report or review feedback: | ||
|
|
||
| 1. Read the relevant source file(s) and colocated test file(s) | ||
| 2. Read the task epic in `$projectRoot/tasks/` that covers this area | ||
| 3. Reason through or reproduce the issue to confirm it exists | ||
|
ericelliott marked this conversation as resolved.
|
||
| 4. If **no change is needed**: summarize findings and stop β do not modify any files | ||
|
|
||
| ## Step 2 β Document the requirement in the epic | ||
|
|
||
| If a fix is required: | ||
|
|
||
| 1. Locate the existing task epic that covers this area of the codebase | ||
| 2. If no matching epic exists, create one at `$projectRoot/tasks/<name>-epic.md` using `/task` | ||
| 3. Add a requirement bullet in **"Given X, should Y"** format that precisely describes the correct behavior | ||
| 4. The epic update is its own discrete step β commit it separately or include it in the fix commit with a clear message | ||
|
ericelliott marked this conversation as resolved.
|
||
|
|
||
| epicConstraints { | ||
| Requirements must follow "Given X, should Y" format exactly. | ||
| No implementation detail in the requirement β describe observable behavior only. | ||
| } | ||
|
|
||
| ## Step 3 β TDD: write a failing test first | ||
|
|
||
| Using `/execute`: | ||
|
|
||
| 1. Write a test that captures the new requirement | ||
| 2. Run the unit test runner and confirm the test **fails** | ||
|
|
||
|
ericelliott marked this conversation as resolved.
|
||
| ```sh | ||
| npm run test:unit | ||
| ``` | ||
|
|
||
| 3. If the test passes without any implementation change: the bug may already be fixed or the test is wrong β stop and reassess before proceeding | ||
|
|
||
| ## Step 4 β Implement the fix | ||
|
|
||
| 1. Write the minimum code needed to make the failing test pass | ||
| 2. Run the unit test runner β **fail β fix bug β repeat; pass β continue** | ||
|
|
||
| ```sh | ||
| npm run test:unit | ||
| ``` | ||
|
|
||
| 3. Implement ONLY what makes the test pass β do not over-engineer or clean up unrelated code | ||
|
|
||
| ## Step 5 β Self-review and run all tests | ||
|
|
||
| 1. Run `/review` to self-review all changes | ||
| 2. Resolve any issues found before moving to the next step | ||
| 3. Run lint and unit tests to confirm all changes pass: | ||
|
|
||
| ```sh | ||
| npm run test:unit | ||
| ``` | ||
|
|
||
| 4. Check `aidd-custom/config.yml` for the `e2eBeforeCommit` setting: | ||
| - `e2eBeforeCommit: true` β run the full e2e suite before continuing: | ||
|
|
||
| ```sh | ||
| npm run test:e2e | ||
| ``` | ||
|
|
||
| - `e2eBeforeCommit: false` (the default) β skip local e2e β CI will run the full suite | ||
|
|
||
| ## Step 6 β Commit and push | ||
|
|
||
| Using `/commit`: | ||
|
|
||
| 1. Stage only the files changed by this fix | ||
| 2. Write a conventional commit message following `/commit` (e.g. `type(optional-scope): description`) | ||
| 3. Push to the PR branch | ||
|
|
||
| ```sh | ||
| git push -u origin <branch-name> | ||
| ``` | ||
|
|
||
| Commands { | ||
| π /aidd-fix - fix a bug or review feedback following the full AIDD fix process | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # aidd-fix | ||
|
|
||
| This index provides an overview of the contents in this directory. | ||
|
|
||
| ## Files | ||
|
|
||
| ### π aidd-fix | ||
|
|
||
| **File:** `SKILL.md` | ||
|
|
||
| Fix a bug or implement review feedback following the AIDD fix process. Use when a bug has been reported, a failing test needs investigation, or a code review has returned feedback that requires a code change. | ||
|
|
||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| # aidd-layout | ||
|
|
||
| This index provides an overview of the contents in this directory. | ||
|
|
||
| ## Subdirectories | ||
|
|
||
| ### π references/ | ||
|
|
||
| See [`references/index.md`](./references/index.md) for contents. | ||
|
|
||
| ## Files | ||
|
|
||
| ### Layout and component types | ||
|
|
||
| **File:** `SKILL.md` | ||
|
|
||
| Enforces UI component layout and composition patterns. Use when designing layouts, creating UI components, spacing, gaps, or when the user asks about component hierarchy, terminal vs layout components, or re-render efficiency. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # references | ||
|
|
||
| This index provides an overview of the contents in this directory. | ||
|
|
||
| ## Files | ||
|
|
||
| ### Layout design tokens | ||
|
|
||
| **File:** `design-tokens.md` | ||
|
|
||
| *No description available* | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # aidd-lit | ||
|
|
||
| This index provides an overview of the contents in this directory. | ||
|
|
||
| ## Files | ||
|
|
||
| ### Lit element authoring | ||
|
|
||
| **File:** `SKILL.md` | ||
|
|
||
| Enforces Lit element authoring best practices. Use when creating Lit elements, binding elements, presentations, DatabaseElement, useObservableValues, or when the user asks about Lit UI patterns, reactive binding, or action callbacks. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| # aidd-namespace | ||
|
|
||
| This index provides an overview of the contents in this directory. | ||
|
|
||
| ## Files | ||
|
|
||
| ### Namespace Example. | ||
|
|
||
| **File:** `README.md` | ||
|
|
||
| *No description available* | ||
|
|
||
| ### Type namespace pattern | ||
|
|
||
| **File:** `SKILL.md` | ||
|
|
||
| Ensures types and related functions are authored and consumed in a modular, discoverable, tree-shakeable pattern. Use when creating types, refactoring type folders, defining schemas, importing types, or when the user mentions type namespaces, constants, or Schema.ToType. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # aidd-observe | ||
|
|
||
| This index provides an overview of the contents in this directory. | ||
|
|
||
| ## Files | ||
|
|
||
| ### Observe pattern | ||
|
|
||
| **File:** `SKILL.md` | ||
|
|
||
| Enforces Observe pattern best practices from @adobe/data/observe. Use when working with Observe, observables, reactive data flow, service Observe properties, or when the user asks about Observe.withMap, Observe.withFilter, Observe.fromConstant, Observe.fromProperties, or similar. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # aidd-react | ||
|
|
||
| This index provides an overview of the contents in this directory. | ||
|
|
||
| ## Files | ||
|
|
||
| ### React component authoring | ||
|
|
||
| **File:** `SKILL.md` | ||
|
|
||
| Enforces React component authoring best practices. Use when creating React components, binding components, presentations, useObservableValues, or when the user asks about React UI patterns, reactive binding, or action callbacks. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # aidd-service | ||
|
|
||
| This index provides an overview of the contents in this directory. | ||
|
|
||
| ## Files | ||
|
|
||
| ### Service authoring | ||
|
|
||
| **File:** `SKILL.md` | ||
|
|
||
| Enforces asynchronous data service authoring best practices. Use when creating front-end or back-end services, service interfaces, Observe patterns, AsyncDataService, or when the user asks about service layer, data flow, unidirectional UI, or action/observable design. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # aidd-structure | ||
|
|
||
| This index provides an overview of the contents in this directory. | ||
|
|
||
| ## Files | ||
|
|
||
| ### Standard folder structure | ||
|
|
||
| **File:** `SKILL.md` | ||
|
|
||
| Enforces source code structuring and interdependency best practices. Use when creating folders, moving files, adding imports, or when the user asks about architecture, layering, or module dependencies. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| # skills | ||
|
|
||
| This index provides an overview of the contents in this directory. | ||
|
|
||
| ## Subdirectories | ||
|
|
||
| ### π aidd-ecs/ | ||
|
|
||
| See [`aidd-ecs/index.md`](./aidd-ecs/index.md) for contents. | ||
|
|
||
| ### π aidd-fix/ | ||
|
|
||
| See [`aidd-fix/index.md`](./aidd-fix/index.md) for contents. | ||
|
|
||
| ### π aidd-layout/ | ||
|
|
||
| See [`aidd-layout/index.md`](./aidd-layout/index.md) for contents. | ||
|
|
||
| ### π aidd-lit/ | ||
|
|
||
| See [`aidd-lit/index.md`](./aidd-lit/index.md) for contents. | ||
|
|
||
| ### π aidd-namespace/ | ||
|
|
||
| See [`aidd-namespace/index.md`](./aidd-namespace/index.md) for contents. | ||
|
|
||
| ### π aidd-observe/ | ||
|
|
||
| See [`aidd-observe/index.md`](./aidd-observe/index.md) for contents. | ||
|
|
||
| ### π aidd-react/ | ||
|
|
||
| See [`aidd-react/index.md`](./aidd-react/index.md) for contents. | ||
|
|
||
| ### π aidd-service/ | ||
|
|
||
| See [`aidd-service/index.md`](./aidd-service/index.md) for contents. | ||
|
|
||
| ### π aidd-structure/ | ||
|
|
||
| See [`aidd-structure/index.md`](./aidd-structure/index.md) for contents. | ||
|
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.