Skip to content

skill: add prospect-sequence (governed account research → outreach sequence → gated send proposal)#140

Open
epistemedeus wants to merge 2 commits into
runxhq:mainfrom
epistemedeus:add-prospect-sequence-skill
Open

skill: add prospect-sequence (governed account research → outreach sequence → gated send proposal)#140
epistemedeus wants to merge 2 commits into
runxhq:mainfrom
epistemedeus:add-prospect-sequence-skill

Conversation

@epistemedeus

Copy link
Copy Markdown

prospect-sequence

A standalone runx skill that turns an account + ICP into a sourced outreach plan.

  • Reads only allowlisted public sources through a governed HTTP front; every request and redirect hop is checked against the allowlist and an SSRF guard (refuses loopback / private / link-local / ULA / CGNAT / cloud-metadata, e.g. 169.254.169.254).
  • Extracts verifiable facts (title / meta / OG / h1) recorded with a content_digest and source_url.
  • Synthesizes an angle that cites every source it read; refuses to fabricate an account fact it did not read.
  • Drafts a multi-touch sequence (3 touches), each citing its source.
  • Emits a gated send_proposal (decision: proposed, requires_approval: true, performed_by: send-as) — this skill never sends; the actual send is the send-as catalog skill's gated Effect.

Package

skills/prospect-sequence/SKILL.md, X.yaml (cli-tool runner, typed inputs prospect{company,contact}/icp/source_allowlist; typed output research{sources[],angle}/sequence[]/send_proposal), dependency-free run.mjs, and fixtures/.

Harness

runx harness ./skills/prospect-sequence2/2 sealed:

  • prospect-with-public-source-yields-sourced-sequence — reads https://example.com/, cites it, drafts 3 touches, proposes (not sends) the first.
  • off-allowlist-private-target-is-refused — SSRF guard refuses 169.254.169.254; decision: refused, no fabricated facts.

Standalone source + provenance: https://github.com/epistemedeus/prospect-sequence

epistemedeus added 2 commits June 23, 2026 19:35
…quence + gated send proposal)

Reads allowlisted public sources through a governed, SSRF-guarded HTTP front,
synthesizes an angle that cites every source it read, drafts a multi-touch
outreach sequence, and emits a gated send_proposal performed by send-as.
Harness: one sealed sourced-sequence case + one refused off-allowlist/SSRF case.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant