Offer & Claims Registry
Keep marketing claims and offers tied to exact wording, evidence, disclosures, terms, and review dates.
The skill explicitly requires write permission, proposal versus owner-capability separation, append-only events, optimistic revisions, retained history, and leaving unsupported proposals pending. The security material also states that credentials should remain outside agent visibility and that runtime memory is not encrypted. Because the runtime implementation is not supplied, these controls cannot be fully verified, and sensitive-data protection still depends on the host, so 5 points are deducted.
The contract, schemas, lifecycle states, expiry handling, and failure behavior are comparatively clear, and the skill requires validating the runtime, event schema, and catalog. However, this is a static review: the key query, proposal, owner-write, projection, and verification paths were not reproduced, and no skill-specific tests were provided. One further point is deducted within the static ceiling.
Triggers, unit of work, data sources, writes, non-fit cases, and handoff targets are clearly stated, and the core workflow is local event registration rather than an overseas-service dependency. Still, host-capability differences, standalone-install limits, Chinese-language behavior, and false-trigger boundaries are only partly specified, so 5 points are deducted.
Frontmatter is substantial, and the documentation includes quick start, contract, data sources, save rules, references, and a version number; the Apache-2.0 license is clear. Maintenance ownership, update path, and changelog detail are not established in the supplied material, and the skill declares 18.0.0 while SECURITY.md still identifies 17.x as current, so 4 points are deducted.
The skill defines a directly useful registry workflow for exact claim or offer wording, evidence, disclosures, terms, dates, and usage pointers, while preventing unsupported assertions from becoming approved records. No representative output or execution evidence for this selected skill is supplied, so direct usability still requires review and 1 point is deducted.
The supplied material includes a field contract, an event example, repository-level tests, and security design documentation, providing limited auditability. The tests do not cover this skill's key event paths, and there is no independent third-party corroboration; 1 point is deducted within the static ceiling.
- The actual registry-events.py implementation and referenced protocols were not supplied, so capability signing, path checks, locking, and projection rebuild behavior cannot be confirmed for this revision.
- Governance is inconsistent: the skill declares version 18.0.0 while the security policy identifies 17.x as the current supported line. Verify support and upgrade policy before adoption.
- Runtime memory is not encrypted and may contain commercially sensitive claims, user-attested facts, or evidence references; the host should provide a private or encrypted storage boundary.
- Owner capability security depends on host-side injection; if the agent can read the capability key or execute arbitrary code around it, the authority boundary may fail.
What does this skill do, and when should you use it?
This skill maintains the shared record for marketing claims and live offers. It captures exact wording, provenance, disclosures, applicable terms, usage locations, review dates, and expiry status. Records are preserved through an append-only event stream and rendered into human-readable ledger views. It does not score claim vetoes or write advertising copy.
Reads the claims event stream and projection, source evidence, and rendered uses; queries claims or offers by aggregate ID; registers, updates, expires, withdraws, or queries records; reviews pending proposals; records exact wording, evidence provenance, disclosures, terms, usage pointers, review dates, and expiry dates; writes proposal events or host-authorized canonical events through registry-events.py; regenerates claims-ledger.md and offers.md from accepted projection state; and runs claims verification.
- A marketing team needs to register a quantified advertising claim with its source, date, scope, and disclosure.
- A promotion owner needs to document an offer's pricing, eligibility, availability, destination, and expiry.
- An operations or compliance reviewer needs to process pending claims without treating unsupported assertions as approval.
- A team reusing one claim across ads, email, social, and launch materials needs a canonical wording and usage trail.
- An authorized owner needs to withdraw or expire an offer while retaining its append-only history.
What are this skill's strengths and limitations?
- Centralizes exact wording, substantiation, disclosures, terms, dates, and usage pointers.
- Separates proposal state from approved wording and preserves missing evidence as unresolved.
- Supports updates, queries, expiry, withdrawal, and append-only history.
- Provides a shared claims record for downstream channel builders and auditors.
- It does not invent substantiation, make legal conclusions, or approve performance claims on its own.
- Canonical decisions require a host-capability principal; without one, proposals remain pending.
- It depends on repository references, the event script, projections, and a runtime filesystem.
- The supplied material provides no independent test-suite or platform-validation evidence for this skill.
How do you install this skill?
Install the collection from aaron-he-zhu/aaron-marketing-skills. In Claude Code, run /plugin marketplace add aaron-he-zhu/aaron-marketing-skills, then /plugin install aaron-marketing@aaron. On an Agent Skills-compatible host, run npx skills add aaron-he-zhu/aaron-marketing-skills; alternatively, clone it with git clone https://github.com/aaron-he-zhu/aaron-marketing-skills. The source gives single-skill installation examples for other skills but does not document a dedicated command for this skill.
How do you use this skill?
Provide a claim or offer aggregate ID, or use a prompt such as “Register claim clm-014 with exact wording, evidence source/date, disclosure, and review date.” If no aggregate ID, pending proposal, or exact wording is supplied, the skill performs only a read-only empty-projection check and asks for one verbatim claim or offer statement. Explicit write permission is required. Ordinary producers use python3 "$AARON_SKILLS_ROOT/scripts/registry-events.py" append claims <proposal.json>; canonical acceptance or mutation uses owner-append through a host-capability principal.
How does this skill compare with similar options?
Unlike ad-creative-builder, this skill does not write ad copy. Unlike the relevant auditor skills, it curates canonical claim and offer records rather than scoring or vetoing a concrete use.