Agent skill · Audited from source
pr-calendar
skill · elvisun/newsjackMIT licenceAudited 31 Oct 2026 · source 384ad36be393
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 384ad36be393 and found no filesystem, network or shell access and no hard-coded secrets. What it does: Turn the Medialyst PR calendar feed into a brand-specific, lead-time-aware plan. Pull source-backed upcoming moments, keep only the few a brand has real standing to own, schedule backward from the event date, screen out…
Cite
Cite this page
ModelsAtlas. “pr-calendar (elvisun/newsjack)”. Retrieved 31 Oct 2026. https://modelsatlas.com/skills/elvisun/pr-calendar
Trust audit
Audit 0.4.1 · source read 31 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 16,667 of 17,602 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (0)
No findings at any severity. We re-audit when the source changes.
Audit 0.4.1 · source sha 384ad36be393 · 31 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisherelvisun GitHub userOwner of the repository this skill is read from
- Source folderelvisun/newsjack/skills/pr-calendarThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdict384ad36be393A new audit runs when the source changes
- Repository statusNot archivedLast push 5 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Turn the Medialyst PR calendar feed into a brand-specific, lead-time-aware plan. Pull source-backed upcoming moments, keep only the few a brand has real standing to own, schedule backward from the event date, screen out…
---
name: pr-calendar
description: "Turn the Medialyst PR calendar feed into a brand-specific, lead-time-aware plan. Pull source-backed upcoming moments, keep only the few a brand has real standing to own, schedule backward from the event date, screen out tone-deaf hooks, and hand selected moments to angle and journalist prep ahead of time. The planned twin of newsjack-detector's reactive monitoring."
when_to_use: "User wants a PR calendar, editorial calendar, PR plan, or upcoming moments to pitch around; asks what to plan for next quarter or the next six months; asks what awareness days, holidays, seasonal hooks, industry events, conferences, anniversaries, or cultural moments are coming up; or wants to pre-build angles and media lists for a known future date. Use newsjack-detector instead when the trigger is news breaking right now."
metadata:
category: Strategize
---
# PR Calendar
A PR calendar is the planned half of PR. `newsjack-detector` watches news breaking right now; this skill looks at known upcoming moments and decides which ones this brand should plan around, when pitching should start, and what proof the brand needs before anyone contacts journalists.
The calendar feed is source-backed, but the value is still judgment. Do not dump a list of dates. Most moments should disappear because the brand has no standing, the hook is too generic, or the moment is unsafe to commercialize.
This is a MOLECULE. It reads the brand's monitor profile, queries the calendar API through the CLI, cuts the feed to real candidates, checks what kinds of stories landed around last year's version of those moments, and returns a readable plan. It does not write angles or pitches itself, and it persists nothing.
## What this skill will not do
- It will not promise a magical best day or best time to send a pitch. Use windows, not fake precision.
- It will not list every observance. A weak or generic hook is not a media plan.
- It will not invent dates. Every moment in **Act this week**, **Six-month plan**, **Watch list**, and **Avoid** must come from the calendar feed or from a date the user explicitly supplied. If an obvious anchor is missing from the feed, mention it only under **Gaps & clusters** as "missing from the feed; verify separately before planning."
- It will not run the detector pipeline, coarse relevance filter, story-origin check, or freshness gate. This is a smaller context problem. One careful LLM pass over the calendar results is enough.
## Inputs
1. **The brand profile.** Reuse the existing monitor profile from `newsjack-setup` or fixture profile JSON. Read company description, topics, search terms, competitors, standing, spokespeople, proof assets, and market. Do not run a new questionnaire unless no profile exists.
2. **The planning window.** Default to the next six months from today. Long-lead opportunities can already be opening, so do not use a shorter default.
3. **The calendar feed.** Dated opportunities come from `newsjack pr-calendar query`, which wraps Medialyst's PR calendar API.
If no profile exists, ask only for the four things needed for judgment: what the brand does, what topics it can credibly speak to, what proof or data it can attach, and which market it pitches into.
## Get The Calendar
Newsjack reaches the PR calendar two ways. Try them in this order and stop at the first one that works:
1. **CLI mode (preferred).** Use `newsjack pr-calendar query` when the CLI is installed and authenticated.
2. **MCP mode (fallback).** If the `newsjack` CLI is not installed or not on PATH but the `medialyst` MCP server is connected, use the MCP PR calendar query tool. It mirrors `POST /api/v1/pr-calendar/query`, so the request fields and response shape are the same as the CLI — only the transport differs.
The PR calendar endpoint is free to use. It requires Medialyst login only to prevent abuse. If the live path is unauthenticated, connect Medialyst and retry; do not build a fallback calendar from memory.
### CLI mode
Use the repo shim in a source checkout and the installed binary otherwise:
```bash
bin/newsjack --version
newsjack --version
```
If the command is unauthenticated and you have shell access, run:
```bash
newsjack login
```
Tell the user to open the printed Medialyst link and approve `newsjack CLI`, then retry the calendar query.
Then query one broad six-month window per profile:
```bash
newsjack pr-calendar query --from <YYYY-MM-DD> --to <YYYY-MM-DD> \
--industry <tech|fin|health|retail|media|food> \
--limit 100
```
Use `--query` only when it helps without over-narrowing. Keep it short and broad, usually one or two words. For a developer-tools or AI-software profile, `--industry tech` is often better than packing the whole topic list into `--query`. Over-specific queries can hide useful conferences and seasonal hooks.
Do not use `--country-code` by default. Add it only when the user explicitly wants a local calendar, because many global events do not carry a country code.
For exact API-shaped requests, use:
```bash
newsjack pr-calendar query --json '{"industries":["tech"],"start_date":"2026-06-30","end_date":"2026-12-30","limit":100}'
```
The response returns `calendar` metadata plus `opportunities`. Important opportunity fields include `title`, `type`, `industry`, `start_date`, `end_date`, `pitch_start_at`, `pitch_deadline_at`, `lead_time_summary`, `description`, `pitch_angles`, `audiences`, `coverage`, `source_urls`, `tags`, and `confidence`.
### MCP mode
Use this path only when the `newsjack` CLI is unavailable and the `medialyst` MCP server is connected. The MCP tool takes the API request body directly. In most runtimes the tool is named `mcp__medialyst__query_pr_calendar` or similar; if the runtime exposes a different PR calendar tool name, use the one whose description maps to `POST /api/v1/pr-calendar/query`.
MCP request body:
```json
{
"industries": ["tech"],
"start_date": "2026-06-30",
"end_date": "2026-12-30",
"limiExcerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 384ad36
git clone https://github.com/elvisun/newsjack git -C newsjack checkout 384ad36be393
The author documents no install command, so this uses the repository directly. Our verdict covers commit 384ad36be393 only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Cursor | Mentioned in its text, not tested | Skills for Cursor · About Cursor |
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
384ad36be393
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/elvisun/pr-calendar/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
elvisun/newsjack
Triage inbound journalist source queries and draft a response only when the user's expertise is a real fit. Runs each query through proven source-request lenses (4-gate fit triage, credential-standing test, deadline…
elvisun/newsjack
Cheap, high-recall first-pass filter that removes obvious junk from a detector candidate pool before expensive story-origin research and PR judgment. Decides keep, monitor_only, or reject — never ranks, writes angles,…
elvisun/newsjack
Score whether a news event is worth newsjacking, or whether a user's pitch idea is actually newsworthy to journalists. Uses calibrated anchors, hard anti-inflation rules, standing checks, timing windows, and…
elvisun/newsjack
Opinionated startup-PR strategist that helps founders figure out audience, positioning, news pegs, and drumbeat before any tactical PR. Refuses outlet-naming-before-audience, mass blasts, vanity metrics, and premature…
elvisun/newsjack
Turn a live article URL into a press clip that looks like the real coverage — the publication's own logo, fonts, photos and layout kept intact, the ads and clutter removed, and (for a roundup) just the client's section.…
elvisun/newsjack
Consolidate freshness-gated newsjack signals and route them by client standing before angle generation. Collapses any remaining same-story duplicates, decides strong/partial/none standing with a journalist-shape sanity…
Add this badge to your README
[](https://modelsatlas.com/skills/elvisun/pr-calendar/)
<a href="https://modelsatlas.com/skills/elvisun/pr-calendar/"><img src="https://modelsatlas.com/skills/elvisun/pr-calendar/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about pr-calendar
What does the pr-calendar skill do?
Is pr-calendar safe to install?
What can pr-calendar access on my machine?
Which assistants does pr-calendar work with?
How current is this page?
Sources
- github.com/elvisun/newsjack/tree/main/skills/pr-calendar — the audited source at commit 384ad36be393 and every finding aboveObserved · 31 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the pr-calendar skill do?
- Is pr-calendar safe to install?
- What can pr-calendar access on my machine?