testgen-flow-data-collection

testgen-flow-data-collection is a command for coding agents from griddynamics/rosetta. It costs 16 tokens per session (2,422 once invoked), scanned A, original, Apache-2.0.

Phase 1 Data Collection of testgen-flow.

Command

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 commands/griddynamics/rosetta/testgen-flow-data-collection
Clone the repo
git clone --depth 1 https://github.com/griddynamics/rosetta

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for testgen-flow-data-collection

README.md
[![agentmods](https://agentmods.dev/badge/commands/griddynamics/rosetta/testgen-flow-data-collection.svg)](https://agentmods.dev/commands/griddynamics/rosetta/testgen-flow-data-collection)
Your own site
<a href="https://agentmods.dev/commands/griddynamics/rosetta/testgen-flow-data-collection"><img src="https://agentmods.dev/badge/commands/griddynamics/rosetta/testgen-flow-data-collection.svg" alt="Measured on agentmods" height="20"></a>
Per session 16 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,422 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin unknown 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.00016 $0.02422
Opus 5 $0.00008 $0.01211
Sonnet 5 $0.00003 $0.00484
Haiku 4.5 $0.00002 $0.00242

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

Security

Grade A, and why

testgen-flow-data-collection 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 today.

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.

plugins/core-copilot-light/commands/testgen-flow-data-collection.md · 217 lines

How it starts

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

<testgen_flow_data_collection>

<description_and_purpose> Extract all relevant data from the Issue Tracker ticket and related Wiki / documentation sources to establish baseline for gap analysis and requirements generation. </description_and_purpose>

<workflow_context>

  • Phase 1 of 7 in testgen-flow
  • Input: initial user request + initial-data.md
  • Output: raw-data.md with extracted Issue Tracker and Wiki data
  • Prerequisite: Phase 0 complete
  • Collection skill: data-collection (single canonical collector). This phase resolves each in-scope provider and passes its role + provider to the skill; the skill loads the role-named binding.
  • Provider resolution (merge evidence; providers are NOT hardcoded):
    1. Providers were resolved in Phase 0 (testgen-project-config.md data sources, prefilled from gain.json sdlc.issue_tracker(_project) / sdlc.wiki(_project)).
    2. Reconcile with explicit user names/handles (which win for this run) and recognizable provider URLs in initial-data.md (valid evidence when unambiguous).
    3. Evidence conflicting or ambiguous → ask only about the unresolved provider/input; never silently choose between conflicting systems.
    4. Wiki scope clearly absent → SKIPPED_NO_CONFIG (record the gap + skip that source, do not fabricate a provider). The Issue Tracker source is required.
  • Integrations: Issue Tracker + Wiki per the parent Terminology (Jira and Confluence are the canonical examples throughout this phase). </workflow_context>

<phase_steps>

  1. Extract Issue Tracker ticket data
  2. Get Wiki documentation
  3. Create raw data document
  4. Update state file </phase_steps>

<extract_ticket step="1.1">

  1. Read plans/testgen-{TICKET-KEY}/initial-data.md (contributes the original user prompt and a pointer to the project config) and the original user request.
  2. Resolve the Issue Tracker provider per <workflow_context>. If unresolvable with scope active, re-read config; still absent → record the gap and stop Phase 1.
  3. Extract ticket key from user input (parse from URL if needed). Ticket-key extraction failure path: if no key can be parsed (no URL, malformed input, ambiguous candidates): stop Phase 1, ask the user once for the exact ticket key (PROJ-NNN form), do not proceed until the user provides it. After 2 unsuccessful re-asks, record Phase 1 blocked: ticket key unresolvable in testgen-state.md and stop.
  4. USE SKILL data-collection with role Issue Tracker, the resolved provider, the resolved ticket key, and the ticket section of <create_raw_data>'s minimum-output contract; the skill loads its issue binding and adapts the canonical Jira examples to the target system. Retrieve fields: summary, description, status, issuetype, priority, labels, components, assignee, reporter, comments (up to 10). Redaction runs inside data-collection via sensitive-data before write.

</extract_ticket>

<get_wiki step="1.2">

  1. Resolve the Wiki provider per <workflow_context>. If no Wiki is in scope, apply SKIPPED_NO_CONFIG: record Wiki Source: Skipped — no Wiki configured and proceed ticket-only.
  2. USE SKILL data-collection with role Wiki, the resolved provider, the Wiki input handle(s), and the Wiki section of <create_raw_data>'s contract. The skill's documentation binding owns URL parsing, direct-URL-vs-search precedence, child-page traversal, truncation, deduplication, permission fallbacks, AND the authenticated reads/searches in one binding — no second skill to reconcile against; its canonical Confluence examples adapt to the target system. Redaction runs inside data-collection via sensitive-data before write.
  3. Search-term seed (passed to data-collection when no URLs supplied): project key (from ticket key), labels, component names, key terms from summary/description.
  4. Fallback: when the binding reports zero pages after URL + search + its ask-once user fallback, record Wiki Source: not available — proceeded ticket-only in the data collection summary and continue. Do NOT fabricate documentation content. </get_wiki>

Read the full file on GitHub · 217 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. today First seen · 217 lines · 16 tokens per session scan A ccdd91455769

Subscribe to this mod's changes

testgen-flow-data-collection is a command published in the GitHub repository griddynamics/rosetta (342 stars, last pushed today), licensed Apache-2.0. It adds 16 tokens to every session and 2,422 once invoked, about $0.0001 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-09-03.