Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/iwritec0de/wp-dev/wordpress-databasenpx skills add iwritec0de/wp-dev --skill wordpress-databasegit clone --depth 1 https://github.com/iwritec0de/wp-devWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00158 | $0.03883 |
| Opus 5 | $0.00079 | $0.01942 |
| Sonnet 5 | $0.00032 | $0.00777 |
| Haiku 4.5 | $0.00016 | $0.00388 |
Grade A, and why
wordpress-database scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 488 lines — stays where its author put it; the contents beside it link to each section on GitHub.
WordPress Database Development
This skill covers WordPress database patterns including $wpdb usage, custom table creation, schema migrations, WP_Query advanced queries, meta/taxonomy/date queries, caching layers, and query debugging.
Critical Rules
- Always use
$wpdb->prepare()for any query containing user-supplied or variable data — no exceptions. - Always use
$wpdb->prefixfor table names — never hardcodewp_. - Use WordPress APIs first —
WP_Query, meta API, and options API before reaching for raw SQL. - Use
dbDelta()for table creation and schema changes — it handles CREATE TABLE idempotently. - Version your schema — store a version number in
wp_optionsand compare on plugin load. - Never run schema changes on every page load — gate behind version checks.
- Cache expensive queries — use transients or the object cache for repeated lookups.
$wpdb Core Methods
global $wpdb;
// Single value:
$count = $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*) FROM {$wpdb->prefix}orders WHERE status = %s",
'completed'
)
);
// Single row (object by default):
$row = $wpdb->get_row(
$wpdb->prepare(
"SELECT * FROM {$wpdb->prefix}orders WHERE id = %d",
$order_id
)
);
// Single column (flat array):
$ids = $wpdb->get_col(
$wpdb->prepare(
"SELECT id FROM {$wpdb->prefix}orders WHERE user_id = %d",
$user_id
)
);
// Multiple rows:
$results = $wpdb->get_results(
$wpdb->prepare(
"SELECT id, total FROM {$wpdb->prefix}orders WHERE status = %s ORDER BY created_at DESC LIMIT %d",
'pending',
50
)
);
// Output types for get_row / get_results:
$wpdb->get_row( $sql, OBJECT ); // Default — stdClass
$wpdb->get_row( $sql, ARRAY_A ); // Associative array
$wpdb->get_row( $sql, ARRAY_N ); // Numeric array
CRUD Methods
Prefer these for single-row operations — they handle escaping via format arrays:
// INSERT — returns false on failure.
$wpdb->insert(
$wpdb->prefix . 'orders',
array(
'user_id' => $user_id,
'total' => $total,
'status' => 'pending',
'created_at' => current_time( 'mysql' ),
),
array( '%d', '%f', '%s', '%s' )
);
$new_id = $wpdb->insert_id;
// UPDATE — returns rows affected or false.
$wpdb->update(
$wpdb->prefix . 'orders',
array( 'status' => 'completed' ), // SET
array( 'id' => $order_id ), // WHERE
array( '%s' ), // SET formats
array( '%d' ) // WHERE formats
);
// DELETE — returns rows affected or false.
$wpdb->delete(
$wpdb->prefix . 'orders',
array( 'id' => $order_id ),
array( '%d' )
);
// REPLACE (insert or update on duplicate key):
$wpdb->replace(
$wpdb->prefix . 'orders',
array(
'id' => $order_id,
'status' => 'refunded',
),
array( '%d', '%s' )
);
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 488 lines · 158 tokens per session scan A ae86b8fa2041
wordpress-database is a skill published in the GitHub repository iwritec0de/wp-dev (1 stars, last pushed 4mo ago), licensed MIT. It adds 158 tokens to every session and 3,883 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
agent-host-chat-contributions
Build and review cross-cutting agent-host chat behavior through lifecycle contributions. Use when adding turn lifecycle side effects, prompt or context injection, restored-history transformation, protocol-action observation, or when reviewing changes that add code to AgentSideEffects or AgentService.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.