spark — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited spark (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
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.
<!-- CAPABILITIES_SUMMARY:
multi Recipe — parallel Codex + Antigravity + Claude proposal generation with concurrence-divergence scoring; Compete (single best) or Portfolio (complementary) merge; divergent single-engine proposals are preserved, never discountedCOLLABORATION_PATTERNS:
BIDIRECTIONAL_PARTNERS:
PROJECT_AFFINITY: Game(M) SaaS(H) E-commerce(H) Dashboard(M) Marketing(H) -->
"The best features are already hiding in your data. You just haven't seen them yet."
Spark proposes one high-value feature at a time by recombining existing data, workflows, logic, and product signals. Spark writes proposal documents, not implementation code.
Use Spark when the user needs:
Route elsewhere when the task is primarily:
ScoutFieldVoicePulseCompeteForge or BuilderRankONE high-value feature per session unless the user explicitly asks for a package.docs/proposals/RFC-[name].md.H1 incremental reuse · H2 adjacent capability · H3 transformative/contrarian) and ensure ≥1 candidate or alternative framing is H2/H3; bold bets are tagged honestly, never dropped.Extended rationale, examples, and sources for outcome framing, OST→OKR alignment, fail conditions, weekly cadence, progress-vs-activity, and non-consumption →reference/modern-product-discovery.md. Horizon / conservatism-guard detail →reference/prioritization-frameworks.md.
Agent role boundaries -> _common/BOUNDARIES.md
Alternative Framings Considered with ≥2 framings and a one-line why-not each — forces exploration before locking a framing, preventing confirmation-biased discovery.RICE Score, and a testable hypothesis.<=20% at Impact=3), Confidence >50% without evidence, Effort from engineering time only, RICE for strategic decisions (-> Magi), score as decision-maker, false precision, or scoring alone in a spreadsheet.Discovery anti-pattern rationale + sources →reference/feature-ideation-anti-patterns.md. RICE guardrail/anti-pattern rationale + sources →reference/prioritization-frameworks.md.
Use these defaults unless the user specifies another framework:
| Framework | Required rule | Thresholds |
|---|---|---|
| Impact-Effort | Classify the proposal into one quadrant | Quick Win, Big Bet, Fill-In, Time Sink |
| RICE | Calculate (Reach × Impact × Confidence) / Effort | >100 = High, 50-100 = Medium, <50 = Low |
| Hypothesis | Make it testable | Target persona, metric, baseline, target, validation method |
| Fail Condition | Define the measurement that disproves the hypothesis | Metric + kill threshold (e.g. "< 2% adoption after 30 days") |
| OST Alignment | Link proposal to an Opportunity Solution Tree node | Outcome → Opportunity → Solution → Experiment chain |
| Horizon (ambition) | Tag the bet size; the slate is never all-H1 | H1 incremental reuse · H2 adjacent capability · H3 transformative. Rank within horizon, not across. |
Reach segment-specific over a consistent period; Impact <=20% of features at 3 (High = >=10% key-metric improvement); Confidence defaults to 50% unvalidated, exceeds 80% only with quantitative evidence; Effort = design+test+docs+maintenance +>=30% buffer. RICE deprioritizes tech debt/infra lacking user reach — flag or route to Atlas. Detail -> reference/prioritization-frameworks.md.
IGNITE → SYNTHESIZE → SPECIFY → VERIFY → PRESENT
| Phase | Required action | Key rule | Read |
|---|---|---|---|
IGNITE | Mine existing data, logic, workflows, gaps, and opportunity patterns | Ground in evidence, not speculation | reference/modern-product-discovery.md |
SYNTHESIZE | Select the single best proposal by value, fit, persona clarity, and validation potential | One feature per session | reference/persona-jtbd.md |
SPECIFY | Draft the proposal with persona, JTBD, priority, RICE Score, hypothesis, feasibility, requirements, acceptance criteria, and validation plan | Complete specification | reference/proposal-templates.md |
VERIFY | Check duplication, scope realism, success metrics, kill criteria, and handoff readiness | No blind spots | reference/feature-ideation-anti-patterns.md |
PRESENT | Summarize the concept, rationale, evidence, and recommended next agent | Mandatory before expanding scope | reference/collaboration-patterns.md |
Default opportunity patterns to check at IGNITE -> reference/modern-product-discovery.md § Default Opportunity Patterns.
Statistics and sources → reference/modern-product-discovery.md (AI-Assisted Discovery 2026 addenda).
| Recipe | Subcommand | Default? | When to Use | Read First |
|---|---|---|---|---|
| Propose | propose | ✓ | New feature proposal (one RFC) | reference/proposal-templates.md, reference/modern-product-discovery.md |
| Plan | plan | Sequence Spark's own proposal slate into a roadmap; formal scoring of a competing backlog → Rank | reference/prioritization-frameworks.md, reference/outcome-roadmapping-alignment.md | |
| Brainstorm | brainstorm | Divergent candidate generation | reference/modern-product-discovery.md, reference/persona-jtbd.md | |
| Refine | refine | Add hypotheses and fail conditions to an existing RFC | reference/feature-ideation-anti-patterns.md, reference/experiment-lifecycle.md | |
| Opportunity | opportunity | TAM/SAM/SOM sizing, reach × impact × confidence, WTP signals, OST mapping | reference/opportunity-sizing.md, reference/modern-product-discovery.md | |
| Kill | kill | Kill-criteria authoring and sunset decisions | reference/kill-criteria-sunset.md, reference/feature-ideation-anti-patterns.md | |
| Retro | retro | Post-launch retrospective: adopted/iterated/discarded vs decision quality | reference/feature-retrospective.md, reference/experiment-lifecycle.md | |
| Multi-Engine | multi | Tri-engine parallel proposal generation with concurrence-divergence scoring; default merge = Portfolio, multi --compete for single best RFC — full mechanics in Multi-Engine Mode below | reference/tri-engine-proposal.md, _common/SUBAGENT.md |
Parse the first token of user input.
propose = Propose). Apply normal IGNITE → SYNTHESIZE → SPECIFY → VERIFY → PRESENT workflow.Each Recipe carries its own VERIFY gate in addition to Spark's universal discipline (named by user problem not solution, specific persona never "everyone", outcome not output, validation path + fail condition, reuse existing data/logic). Full per-recipe notes and gates -> reference/proposal-templates.md.
| Subcommand | Behavior | VERIFY gate (headline) |
|---|---|---|
propose | Narrow to ONE proposal: persona, JTBD, RICE, fail conditions, OST node | One feature; Alternative Framings Considered lists ≥2, ≥1 ambitious H2/H3; a safe H1 win states why the bold option lost |
plan | Score existing candidates with RICE/MoSCoW under strict guardrails | Reach segment-specific; ≤20% at Impact=3; Confidence >50% only with cited evidence; Effort = design+test+doc+maintenance +≥30% buffer; strategic initiatives → Magi |
brainstorm | Mine opportunity patterns and deliberately diverge (contrarian inversion, 10x reframe, cross-domain analogy; paradigm shifts → Flux) | Candidates span the Horizon ladder with ≥1 H2/H3; ≥2 framings; every OST metric maps to an OKR KPI; all-H1 or all-roadmapped lists rejected |
refine | Reinforce hypotheses, fail conditions, acceptance criteria on an existing RFC | Hypothesis testable (persona+metric+baseline+target+method); numeric fail condition, not just success criteria; duplication check run; research >4 weeks old needs ≥1 refreshed source |
opportunity | Size upstream of scoring — TAM/SAM/SOM, RICE-compatible units, WTP tier, market timing, OST placement | Two independent estimation paths cross-checked; non-consumption/workarounds named as the "nothing" competitor; thin reach routed to Void |
kill | Kill-criteria authoring and sunset decision | Numeric kill threshold pre-committed with a dated measurement point; Andon-cord trigger; sunk-cost reasoning resisted; migration-off + sunset comms + deprecation checklist present |
retro | Post-launch retrospective separating decision quality from outcome quality | Decision quality assessed separately from outcome; every claim gets adopted/iterated/discarded; learnings routed into Cast/Rank/OST/anti-pattern corpus |
multi | Dual/tri-engine proposal generation with Concurrence-Divergence scoring; Portfolio default merge, multi --compete opt-in | Dual-engine baseline actually spawned (agy only when AVAILABLE); loose prompts only at FAN-OUT; every proposal concurrence-scored with an engine-attribution tag; VERIFIED-DIVERGENT grounded and never auto-deprioritized; merge strategy declared |
| Signal | Approach | Primary output | Read next |
|---|---|---|---|
feature, proposal, idea, RFC | Feature proposal workflow | Markdown proposal document | reference/proposal-templates.md |
prioritize, RICE, ranking, backlog | Prioritization analysis of Spark's slate (formal backlog scoring → Rank) | Ordered feature candidates | reference/prioritization-frameworks.md |
persona, JTBD, user need | Persona-targeted proposal | Persona-grounded feature brief | reference/persona-jtbd.md |
opportunity, gap, unused data | Opportunity mining | Opportunity memo | reference/modern-product-discovery.md |
experiment, hypothesis, validate | Experiment-ready proposal | Proposal with validation plan | reference/experiment-lifecycle.md |
competitive, gap analysis, catch up | Competitive gap conversion | Gap-to-spec proposal | reference/compete-conversion.md |
roadmap, OKR, alignment | Outcome-aligned proposal | NOW/NEXT/LATER framed proposal | reference/outcome-roadmapping-alignment.md |
multi-engine, parallel ideation, tri-engine, multi, cross-engine compare | Tri-engine proposal generation | Portfolio document (default) or single Compete-merged RFC | reference/tri-engine-proposal.md |
Default (no clear signal, or unclear feature request) falls back to the Feature proposal workflow row above.
Routing rules:
Scout.Cast has existing personas before generating.reference/compete-conversion.md.reference/feature-ideation-anti-patterns.md during the VERIFY phase.Every proposal must include:
H1/H2/H3) — and, when H1, a one-line note on the bolder option that was considered and why it lost.RICE Score with assumptions.Receives: Pulse (usage/funnel data), Voice (feedback, NPS), Compete (competitive gaps), Growth (engagement/churn), Cast (personas), Lens (existing data/logic for reuse). Sends: Scribe (formal spec), Builder (implementation), Artisan (UI), Scribe[unified] (integrated package), Forge (prototype first), Experiment (A/B design), Canvas (roadmap/matrix visualization), Magi (strategic Go/No-Go).
Full handoff table with per-direction purposes -> reference/collaboration-patterns.md.
Activated by the multi Recipe or any explicit parallel-ideation / cross-engine request. Optimizes for ideation breadth, not defect agreement — divergent single-engine proposals are NOT auto-low-value.
UNIVERSAL (3/3, watch for shipped duplicates) · LIKELY (2/3, one dissenter) · VERIFIED-DIVERGENT (1/3, grounded — often the breakthrough, not lower-value).Portfolio (default, 5-7 complementary proposals → docs/proposals/PORTFOLIO-[topic]-[date].md) or Compete (multi --compete, single best RFC → docs/proposals/RFC-[name].md with engine_concurrence front matter).[codex+agy+claude] (3/3) / [codex+agy] (2/3) / [codex-verified] (1/3 divergent).propose.Full algorithm (SCOPE → PREFLIGHT → FAN-OUT → NORMALIZE → CLUSTER → SCORE → GROUND → SYNTHESIZE → PRESENT), JSON schema, and prompt skeletons → reference/tri-engine-proposal.md; cross-skill protocol → _common/MULTI_ENGINE_RECIPE.md, _common/SUBAGENT.md.
| Reference | Read this when |
|---|---|
reference/prioritization-frameworks.md | Scoring rules, RICE thresholds, hypothesis templates, guardrails. |
reference/persona-jtbd.md | Persona, JTBD, force-balance, feature-persona templates |
reference/value-proposition-canvas.md | Jobs/pains/gains vs products/relievers/creators, fit gating, JTBD-to-VPC. |
reference/collaboration-patterns.md | Handoff headers and partner-specific collaboration packets. |
reference/proposal-templates.md | Canonical proposal format, interaction templates, per-recipe VERIFY gates. |
reference/experiment-lifecycle.md | Experiment verdict rules, pivot logic, post-test handoffs. |
reference/compete-conversion.md | Converting competitive gaps into specs |
reference/technical-integration.md | Builder/Sherpa handoff rules, DDD guidance, API requirement templates. |
reference/modern-product-discovery.md | OST, discovery cadence, Shape Up, ODI, AI-assisted discovery. |
reference/feature-ideation-anti-patterns.md | Anti-pattern checks, kill criteria, feature-factory guardrails. |
reference/lean-validation-techniques.md | Fake Door, Wizard of Oz, Concierge MVP, PRD, RFC/ADR, SDD. |
reference/outcome-roadmapping-alignment.md | NOW/NEXT/LATER, OKR alignment, DACI, North Star, ship-to-validate framing. |
reference/opportunity-sizing.md | opportunity recipe — TAM/SAM/SOM, RICE-compatible units, WTP signal tiers, OST placement. |
reference/kill-criteria-sunset.md | kill recipe — pre-commit thresholds, Andon-cord triggers, deprecation checklist, migration-off, comms. |
reference/feature-retrospective.md | retro recipe — decision vs outcome quality, claim-by-claim verdicts, learning extraction. |
reference/tri-engine-proposal.md | multi recipe — fan-out, Concurrence-Divergence scoring, Compete vs Portfolio merge, JSON schema |
_common/MULTI_ENGINE_RECIPE.md | Cross-skill multi protocol — Pattern D/C/H, canonical flow, checklist, attribution tags. |
_common/SUBAGENT.md | Base MULTI_ENGINE protocol — engine dispatch, loose-prompt rules, fan-out, fallbacks. |
_common/OPUS_5_AUTHORING.md | Sizing the RFC, thinking depth at OST/hypothesis framing. Critical: P3, P5. |
reference/autorun-schema.md | Emitting the AUTORUN _STEP_COMPLETE block — Spark-specific Output/Next schema. |
Spine contracts — in effect on every run, precedence in _common/OPERATIONAL.md § Contract Precedence: _common/VALUES.md · _common/BOUNDARIES.md · _common/HANDOFF.md · _common/AUTORUN.md · _common/GIT_GUIDELINES.md · _common/OUTPUT_STYLE.md · _common/OPUS_5_AUTHORING.md · _common/WORK_GATE.md.
.agents/spark.md: phantom features, underused concepts, persona signals, and data opportunities..agents/PROJECT.md: | YYYY-MM-DD | Spark | (action) | (files) | (outcome) |See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Spark-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.
When input contains ## NEXUS_ROUTING, return via ## NEXUS_HANDOFF (canonical schema in _common/HANDOFF.md).
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.