一键导入
datum-macro
|-
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
|-
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Canonical b00t reviewer capability — adversarial multi-framework code/datum review. Shared across all harnesses (Claude Code, opencode, Hermes, b00t-cli). Loaded via: b00t learn reviewer, or by harness-specific role supplements.
Remove AI-generated artifacts from code. Three-phase certainty-graded cleanup. Use after any AI implementation session or before PR creation.
8-phase agile workflow — strategy→ideate→brainstorm→plan→work→review→compound→pulse. State machine with FOL-guarded transitions, gh-issues backlog, executable just harness. Inspired by everyinc/compound-engineering-plugin.
Australian crypto tax treatment per ATO guidance QC 53725. Crypto assets are CGT assets under ITAA 1997 s 108-5. Each disposal triggers CGT event A1. Covers personal-use exception, trading stock test, and the 50% CGT discount.
Australian R&D Tax Incentive (RDTI) — ITAA 1997 Division 355. Covers eligibility criteria for core and supporting R&D activities, registration with AusIndustry/IP Australia, expenditure categories, offset rates, and the company size threshold test.
Evidence graph construction for tax audit trails. Each Satisfies check emits EvidenceNode structs with Blake3 content hashes. Evidence chains are tamper-evident and link legislative citations to factual findings.
| name | datum-macro |
| description | |- |
The datum-macro skill covers three tiers of using Rust macros as dynamic datums, all operating at compile time. Tier 1 uses macro_rules! to create BootDatum literals at compile time with zero new dependencies — useful for core datums baked into the binary. Tier 2 uses the inventory crate for distributed static collection where any crate registers a datum at link time and inventory::iter::<BootDatum> collects all registered datums without file I/O — this enables offline/airgap binaries with core datums baked in. Tier 3 uses a proc_macro attribute (#[b00t_datum(type = "cli", hint = "...")]) which is the most ergonomic but requires a new crate.
The Chalk Interner pattern connects here: a DatumStore trait would unify all three tiers, with implementations for TomlFileStore, InventoryStore, SqliteStore, and QdrantStore. Macros register into InventoryStore; the TOML scanner registers into TomlFileStore; get_all_datums() merges both with operator-added datums overriding builtins by key.
Use Tier 1 (macro_rules!) when you need to define core datums inline without dependencies. Use Tier 2 (inventory) when building offline/airgap binaries with blessed tooling baked in. Use Tier 3 (proc_macro) when ergonomics matter more than dependency footprint.
macro_rules! datum { ... } that creates BootDatum literals. Use LazyLock since BootDatum uses String.inventory as an optional feature flag. Use inventory::submit! in any crate and inventory::iter::<BootDatum> in get_all_datums().#[b00t_datum(...)] attribute that generates BootDatum construction + inventory::submit!.