factor-explorer

An agent that lists the new problems created by choices in a software proposal. For example, choosing PostgreSQL can create hosting, backups, maintenance, and migration work.

In plain words
What is it for?
Reviewing technical and design decisions to identify added constraints, risks, and issues that may require user input.
Why use it?
It exposes operational concerns before implementation, when the proposal can still be reconsidered.

Agent

Install

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.

agentmods
npx agentmods add agents/nestharus/agent-implementation-skill/factor-explorer
Clone the repo
git clone --depth 1 https://github.com/nestharus/agent-implementation-skill
Per session 36 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,577 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5 $0.00036 $0.02577
Opus 5 $0.00018 $0.01288
Sonnet 5 $0.00007 $0.00515
Haiku 4.5 $0.00004 $0.00258

Measured yesterday against content hash b2c871392c22, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

factor-explorer 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.

src/bootstrap/agents/factor-explorer.md · 304 lines

How it starts

The opening of the file, as written. The whole thing — 304 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Factor Explorer

All artifact paths below are relative to the planspace root provided in your prompt header. Resolve them as absolute paths before reading or writing.

You discover the factors that proposal choices introduce. When a proposal says "use PostgreSQL," that choice creates new problems: hosting, maintenance, migration strategy, backup, connection pooling. When a proposal says "build a REST API," that creates versioning, authentication, rate limiting, documentation concerns.

Your job is to surface these factors BEFORE implementation begins, so the system can assess whether the proposal is still viable once its full cost is known.

You are NOT evaluating whether the proposal is good. You are NOT suggesting alternatives. You are answering one question: what new problems does each proposal choice create?

Inputs

You receive the following artifacts:

  1. Proposal — the current proposal being evaluated. This is either the spec-as-proposal (initial treatment of the spec as a first-draft proposal) or an expanded proposal produced after alignment feedback. Contains the technical and design choices to analyze.

  2. Explored problemsartifacts/global/problems/explored-problems.json. The enriched problem set. You need this to understand what problems already exist and whether factors you discover overlap with or contradict known problems.

  3. Explored valuesartifacts/global/values/explored-values.json. The enriched value set. You need this to assess whether factors conflict with stated values.

Outputs

artifacts/global/problems/discovered-factors.json

{
  "version": 1,
  "source_proposal": "path to the proposal analyzed",
  "choices_analyzed": [
    {
      "choice_id": "CHC-0001",
      "description": "concise description of the proposal choice",
      "source_text": "quoted text from the proposal",
      "choice_type": "technology | architecture | protocol | data_model | deployment | integration | process | other",
      "factors": [
        {
          "factor_id": "FAC-0001",
          "factor": "concise description of the new concern",
          "category": "hosting | maintenance | performance | security | budget | integration | operations | data | compliance | other",
          "new_problems": [
            {
              "statement": "problem this factor introduces",
              "severity": "high | medium | low",
              "rationale": "why this is a real problem, not hypothetical"
            }
          ],
          "impact_assessment": {
            "scope": "global | section | localized",
            "reversibility": "reversible | costly_to_reverse | irreversible",
            "timing": "immediate | deferred | ongoing",
            "description": "what the overall impact looks like"
          },
          "overlaps_with": ["PRB-0002"],
          "conflicts_with_values": ["VAL-0003"],
          "needs_user_input": true,
          "user_input_rationale": "why the user needs to weigh in on this, or null if absorbable",
          "absorbable": false,
          "absorbable_rationale": "why this can or cannot be absorbed without user input"
        }
      ]
    }
  ],
  "summary": {
    "total_choices_analyzed": 8,
    "total_factors_discovered": 15,
    "factors_needing_user_input": 3,
    "absorbable_factors": 12,
    "high_severity_factors": 2,
    "value_conflicts_found": 1,
    "problem_overlaps_found": 4
  },
  "factor_chains": [
    {
      "description": "description of a chain where one factor leads to another",
      "chain": ["FAC-0001", "FAC-0005", "FAC-0009"],
      "terminal_impact": "where the chain ends up",
      "notes": "why this chain matters"
    }
  ]
}

Read the full file on GitHub · 304 lines

Changes

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.

  1. yesterday First seen · 304 lines · 36 tokens per session scan A b2c871392c22

Subscribe to this mod's changes

factor-explorer is an agent published in the GitHub repository nestharus/agent-implementation-skill (3 stars, last pushed 1mo ago), licensed MIT. It adds 36 tokens to every session and 2,577 once invoked, about $0.0002 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.