Loading...
Loading...
This skill should be used when the user asks to "review a script template", "audit a template", "check template implementation", "validate ts-templates code", or mentions reviewing BitCom templates like AIP, MAP, SIGMA, BAP. Validates ScriptTemplate implementations against best practices.
npx skill4agent add b-open-io/bsv-skills review-script-templatesrc/template/ScriptTemplatedatapublic readonlybitcomIndex?: numbervalid?: boolean| Method | Purpose | Requirements |
|---|---|---|
| Static. Parse from BitComDecoded | Return array of instances |
| Generate LockingScript | Use BitCom for OP_RETURN protocols |
| Generate UnlockingScript | Throw if not applicable |
| Check signature validity | Return boolean |
script.chunksconst script = Script.fromBinary(protocol.script)
const chunks = script.chunks
const field = Utils.toUTF8(chunks[0].data ?? [])// BAD: String splitting
const parts = script.toASM().split(' ')
// BAD: Buffer usage
const field = Buffer.from(chunks[0].data).toString()
// BAD: TextEncoder
new TextEncoder().encode(field)| Operation | Correct | Incorrect |
|---|---|---|
| String → bytes | | |
| Bytes → string | | |
| Bytes → hex | | |
| Bytes → base64 | | |
valid// BAD: Can throw on missing data
const field = Utils.toUTF8(chunks[0].data)
// GOOD: Handle missing data
const field = Utils.toUTF8(chunks[0].data ?? [])// BAD: Crashes on parse error
static decode(bitcom: BitComDecoded): Protocol[] {
const script = Script.fromBinary(protocol.script) // Can throw!
}
// GOOD: Handle parse errors
static decode(bitcom: BitComDecoded): Protocol[] {
try {
const script = Script.fromBinary(protocol.script)
} catch {
continue // Skip invalid protocols
}
}export { default as Protocol, PREFIX } from './src/template/...'
export type { ProtocolData, ProtocolOptions } from './src/template/...'## Template Review: [TemplateName]
### Structure: ✅ PASS / ❌ FAIL
- [Details]
### Methods: ✅ PASS / ❌ FAIL
- [Details]
### Code Quality: ✅ PASS / ❌ FAIL
- [Details]
### Issues Found
1. [Issue description and fix]
2. [Issue description and fix]
### Recommendations
- [Optional improvements]references/checklist-detailed.mdreferences/common-bugs.md