spy — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited spy (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The ad library (adkit_library) lets you search advertisers and browse their ads across platforms.
Requires AdKit to be connected — run /ads:setup first if needed.
Use a projectId from adkit_projects. Pass it at the top level of library calls to choose whose watchlist to read or change.
Search by name:
adkit_library entity: "advertisers" action: "search" projectId: "<projectId>" params: { query: "Notion" }Or browse by industry:
adkit_library entity: "advertisers" action: "list" params: { industry: "SaaS", sort: "spend" }| Action | Key params |
|---|---|
list | scope (library/watchlist), industry, category, platform, sort (name/newest/spend; default: newest), limit, page |
search | query (required), plus any list filters |
get | Top-level id — full advertiser details and stats |
similar | advertiserId — find similar advertisers |
add | website or a platform library URL required; name optional — find or create an advertiser and save it to the project watchlist |
track | Top-level id — save an existing advertiser to the project watchlist |
untrack | Top-level id — remove it from this project only |
Omitted scope (or library) includes all advertisers. Use watchlist to match the selected project's My Watchlist in the dashboard. Filters, pagination, and totals apply inside that scope.
adkit_library entity: "advertisers" action: "list" projectId: "<projectId>" params: { scope: "watchlist" }
adkit_library entity: "advertisers" action: "track" projectId: "<projectId>" id: "<advertiserId>"
adkit_library entity: "advertisers" action: "untrack" projectId: "<projectId>" id: "<advertiserId>"Track/untrack return advertiserId and tracked: true/false. Repeating either is safe. Tracking requires an existing advertiser; untracking also removes stale membership for deleted advertisers. Untracking keeps the shared advertiser and other projects' watchlists. With only a name, search first and track the returned ID.
CLI equivalents:
adkit library advertisers list --scope watchlist --project <projectId>
adkit library advertisers search Notion --scope watchlist --project <projectId>
adkit library advertisers add --website notion.so --project <projectId>
adkit library advertisers track <advertiserId> --project <projectId>
adkit library advertisers untrack <advertiserId> --project <projectId>Add --json for automation.
adkit_library entity: "ads" action: "search" params: { advertiser: "<advertiserId>", sort: "score" }| Param | Description |
|---|---|
advertiser | Advertiser ID filter |
query | Free text search across ad copy |
platform | meta, google, or linkedin |
format | image, video, or carousel |
sort | random, newest, oldest, score, most-used, longest, spend |
Advanced filters (min-days, min-spend, min-score, language) available via adkit_help path: "library ads search".
Get full details: adkit_library entity: "ads" action: "get" id: "<adId>" — returns creative content, copy, metadata, and landing page.
Found an ad worth replicating? Clone it via the studio skill:
adkit_studio entity: "ads" action: "generate" params: { mode: "clone", aspectRatio: "1:1", references: [{ type: "library-ad", id: "<adId>" }] }~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.