Skip to content

Add Claude Skills#6338

Draft
dangell7 wants to merge 3 commits intodevelopfrom
dangell7/add-claude
Draft

Add Claude Skills#6338
dangell7 wants to merge 3 commits intodevelopfrom
dangell7/add-claude

Conversation

@dangell7
Copy link
Collaborator

@dangell7 dangell7 commented Feb 6, 2026

High Level Overview of Change

Context of Change

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Performance (increase or change in throughput and/or latency)
  • Tests (you added tests for code that already exists, or your new feature included in this PR)
  • Documentation update
  • Chore (no impact to binary, e.g. .gitignore, formatting, dropping support for older tooling)
  • Release

API Impact

  • Public API: New feature (new methods and/or new fields)
  • Public API: Breaking change (in general, breaking changes should only impact the next api_version)
  • libxrpl change (any change that may affect libxrpl or dependents of libxrpl)
  • Peer protocol change (must be backward compatible or bump the peer protocol version)

@a1q123456
Copy link
Collaborator

Would be nice if we could avoid adding CLAUDE.md. Without a "standard" system prompt, every one is able customise it themselves.

- [ ] Use `VoteBehavior::DefaultNo` (validators must explicitly vote for it)

#### 3. Code Implementation
- [ ] Implement new functionality (transaction type, ledger entry, etc.)
Copy link
Collaborator

@pratikmankawde pratikmankawde Feb 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At the moment AI agents are not amazing at performing long implementation jobs without step-by-step plans. So Implement new functionality is a bit vague for the AI Agent's checklist. Maybe we should add more fine grained list. Example:

  • Breakdown the changes to be made into tasks and sub-tasks.
  • Create a task list of changes to be made for the feature/fix in featureNameTasks.json file. Include Title, Description, Files to touch and Dependencies on other tasks, for each task and sub-task.
  • Add a field called 'Status' to each task and sub-task. This field will be set to Incomplete at the beginning.
  • Update the field with In progress, when working on the item and then to Complete when finished.
  • Go through the task list, one item at a time, and in the order of dependencies (least to most), and implement the task. Update status.
  • Add comments for each change
  • Add proper error handling.
  • Once the task-list is complete:
    • Make sure the code builds successfully.
    • Reset the status of all the tasks and subtasks (to Incomplete) and make another pass at the task list. Confirming if the changes have been implemented correctly and completely.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A Build skill would be very useful addition.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed that the # Task Management principal covers this to some extent.

} else {
// Legacy behavior
}
break;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A default case is expected by the compiler. Skipping it here might force AI agent to skip it as well.

- Never mark a task complete without proving it works
- Diff behavior between main and your changes when relevant
- Ask yourself: "Would a staff engineer approve this?"
- Run tests, check logs, demonstrate correctness
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be a good addition.

  • Confirm before adding a new external dependency.
  • Check if an exiting module can be reused.
  • Make sure the new code is modular, extensible and testable.

Comment on lines +42 to +48
- [ ] Add feature gate check in preflight:
```cpp
if (!env.current()->rules().enabled(feature{Name}))
{
return temDISABLED;
}
```
Copy link
Collaborator

@ximinez ximinez Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you're adding a new transaction gated on an amendment, you only need to define specify the amendment in transactions.macro. If you're adding a new feature to an existing transaction, use checkExtraFeatures if possible.

- The `develop` branch has removed copyright/license comment blocks from source files. If a conflict is just about the copyright header, take `develop`'s version (no header).

### File Moves
- Many files have been moved from `src/xrpld/` to `src/libxrpl/` or from `src/xrpld/` headers to `include/xrpl/`. If git shows a file as "deleted in develop" but it exists at a new path, delete the old-path file (`git rm`) and keep the new-path version.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Except that if that causes a conflict, it's possible that something changed in the develop version that needs to be replicated in the feature branch.


**Resolution strategy:**
1. Keep all of `develop`'s transactions.
2. Add your feature's transactions at the bottom with the next available number.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of the next available, leave a 2-5 item gap, ensuring there are no collisions. This allows transaction "groups" to be expanded, but stay together.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants