solicitation-seed-responses-qa
Pass/fail check of seeded synthetic responses against live labs reads. Static, no LLM.
Install / Use
npx skills add dimagi-internal/ace --skill solicitation-seed-responses-qaInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AI & Machine LearningSupported Platforms
Tags
Our assessment of solicitation-seed-responses-qa
solicitation-seed-responses-qa scores 62/100 on our quality scale, 918th of 966 AI & Machine Learning skills we index.
Its SKILL.md is 6.5 KB long, well organised into 10 sections with 1 code example: a thorough specification that gives an agent plenty to work with.
It has no GitHub stars yet, so there is no community track record; judge it on its content.
Maintenance, license and trust
- We could not determine when the repository was last updated.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
solicitation-seed-responses-qa compared with similar skills
All 4 of these similar skills score higher than solicitation-seed-responses-qa; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| solicitation-seed-responses-qa (this skill)by dimagi-internal | 62 | 0 | — | SKILL.md |
| claude-memby thedotmack | 100 | 101.6k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 86.9k | 6d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 75.9k | 1d ago | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.5k | today | CLAUDE.md |
Frequently asked questions
- How do I install solicitation-seed-responses-qa?
- Run
npx skills add dimagi-internal/ace --skill solicitation-seed-responses-qa. The install tabs above show the steps for each supported agent. - Which AI agents does solicitation-seed-responses-qa work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is solicitation-seed-responses-qa safe to use?
- It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is solicitation-seed-responses-qa still maintained?
- We could not determine when the repository was last updated.
Skill content
View source on GitHubname: solicitation-seed-responses-qa description: > Pass/fail check of seeded synthetic responses against live labs reads. Static, no LLM. disable-model-invocation: false
Solicitation Seed Responses QA
Structural checks on what solicitation-seed-responses left on labs. Binary verdict: pass / fail /
incomplete. 7 static checks, runnable through scripts/qa-run.ts against the importable
checks.ts. No LLM.
The checks read what labs actually holds, not what the roster claims. The artifact is one
evidence bundle this skill assembles from live reads (§ Process step 4), because the runner
passes the artifact text only. Quality of the ranking these responses feed is graded by
solicitation-review-eval; this skill only answers "is the seed what it should be".
Shared contract: skills/_qa-template.md.
Inputs
| Parameter | Used for | Resolver |
|---|---|---|
| solicitation_id | the seeded call | explicit arg; default: run_state phases.solicitation-management.products.solicitation.solicitation_id |
| roster | the planned respondents | explicit arg; default: 8-solicitation-management/solicitation-seed-responses_roster.md |
| expected_count | how many responses there should be | explicit arg; default: run_state optional_steps.seed_responses.count |
| llo_org + its Connect id | the winner binding to check | explicit arg; default: the preflight connect_orgs.llo_org, id from labs_context |
| deny_list, real_org_names | the confidentiality and impersonation rules | the same sources solicitation-seed-responses § Process steps 2 and 4 used (the roster lists the deny list in force) |
Products
8-solicitation-management/solicitation-seed-responses-qa_result.yaml: QA result perlib/qa-types.ts.
Checks
| # | id | type | description | auto-fix on fail |
|---|---|---|---|---|
| 1 | response_count_matches | static | The roster has expected_count rows and every response_id exists in list_responses. | re-run the producer; it skips existing respondents |
| 2 | required_answers_present | static | Every required question is answered, except by a persona flagged missing_answer, which must actually skip one. | fix the persona's answers and re-seed it |
| 3 | winner_bound_to_llo_org | static | Exactly one winner, whose live response has llo_entity_id = llo_org and org_id = its Connect id. | re-create the winner response with both fields |
| 4 | no_real_org_collision | static | Every fictional respondent ends with [Synthetic] and matches no real organisation. | rename and re-seed |
| 5 | no_deny_list_party | static | No response's org name, submitter name or answer names a deny-listed party. | remove the party and re-seed |
| 6 | solicitation_still_private | static | get_solicitation reads is_public: false. | unlist at once with solicitation-edit |
| 7 | synthetic_emails_only | static | Every submitter address is ACE's mailbox tagged +synthetic-<n>. | re-seed with syntheticEmail |
The functions live in skills/solicitation-seed-responses-qa/checks.ts. Each returns a
QACheckResult. An unreadable bundle fails every check rather than passing vacuously.
Adding a check: append to CHECKS, add a row above, add a test in
test/skills/solicitation-seed-responses-qa/checks.test.ts.
Process
-
Read the solicitation live:
get_solicitation(solicitation_id). Keepis_publicandquestions[]. -
Read the responses live:
list_responses(solicitation_id). Keep, per response,id,org_name,llo_entity_id,org_id,submitted_by_name,submitted_by_emailandresponses. -
Read the roster with
drive_read_file(defaulttext/plain), and take each row's key,response_id, org name, flags and winner mark. -
Assemble the evidence bundle as YAML in a local temp file:
solicitation: { id: <int>, is_public: <bool> } # step 1 expected_count: <int> mailbox: <config/agent.json email> winner: { llo_entity_id: <llo_org>, connect_org_id: <int> } questions: [{ id, required }] # step 1 real_org_names: [...] deny_list: [...] roster: [{ key, response_id, org_name, flags: [...], winner: true|false }] # step 3 responses: [...] # step 2 -
Run the checks:
ACE_ROOT="${CLAUDE_PLUGIN_ROOT:-$(python3 -c "import json,os; d=json.load(open(os.path.expanduser('~/.claude/plugins/installed_plugins.json'))); print(d['plugins']['ace@ace'][0]['installPath'])")}" node "$ACE_ROOT/node_modules/tsx/dist/cli.mjs" "$ACE_ROOT/scripts/qa-run.ts" \ --skill solicitation-seed-responses-qa \ --artifact "$BUNDLE" \ --target "<opp>/<run-id>" \ --capture-path "8-solicitation-management/solicitation-seed-responses_roster.md" -
Write the result through the shared writer (§ Writing the result) to
8-solicitation-management/solicitation-seed-responses-qa_result.yaml. -
Return the verdict.
pass: the review can run.fail: hand eachauto_fix_hintto the producer and re-run; never proceed tosolicitation-reviewon a failing seed. Check 6 failing is urgent: unlist first, then fix.incomplete: the solicitation or roster is missing; halt with the reason.
Writing the result (shared writer — every -qa skill)
Write the result file through the shared writer, never by hand:
node "$ACE_ROOT/node_modules/tsx/dist/cli.mjs" "$ACE_ROOT/scripts/qa-result.ts" write \
--skill solicitation-seed-responses-qa --target <opp>/<run-id> \
--capture-path 8-solicitation-management/solicitation-seed-responses_roster.md \
--outcomes <outcomes.json> --out <local result.yaml>
and upload that file. A result that evaluated nothing is a FAIL (aggregateQAResult,
lib/qa-types.ts), and ace-gdrive refuses any other shape (INVALID_QA_RESULT).
MCP Tools Used
- connect-labs:
get_solicitation,list_responses - ace-gdrive:
drive_read_file,drive_create_file - Bash:
scripts/qa-run.ts,scripts/qa-result.ts
Mode Behavior
- Auto / Review: identical. QA is binary; there is no pause inside it.
Dry-Run Behavior
Reads are unchanged, and the result is written (it is internal). With a dry-run producer there
are no live responses, so checks 1, 3 and 7 fail by construction. Report incomplete instead.
Change Log
| Date | Change | Author | |------|--------|--------| | 2026-10-18 | Initial skill (optional labs E2E PR4). Positive control built from the live probe captured on private call 1000003. | ACE team |
Related Skills
claude-mem
101.6kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Understand-Anything
86.9kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
75.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.5kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
