Test a managed instance
SkillWeb & browsingRun a real turn against a local managed agent instance with its team and tuning. Use to reproduce a conversation outside the browser, inspect native Deep task delegation, or verify that a runtime change reaches an instance.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Test a managed instance skill
What this skill tells your AI
The instructions your AI receives, as published by thalesgroup/fred in .claude/skills/test-agent-instance/SKILL.md and read by ahel’s review.
Use scripts/run_agent_turn.py from this skill directory. It reuses Fred CLI auth and
AgentPodClient, sending only agent_instance_id with the owning team. A bare template
execution does not reproduce instance tuning. Both .agents/skills and .claude/skills
resolve this same shared skill; do not install a second copy.
1. Resolve identity and instance
Use the sibling psql skill to query the local fred database:
SELECT agent_instance_id, team_id, template_id, display_name, enabled
FROM agent_instance WHERE display_name ILIKE '%name%';
SELECT session_id, team_id, agent_instance_id, user_id, title
FROM session_metadata WHERE session_id = '<uuid>';
Confirm the selected authenticated user has access to that team. Reuse the cached
fred-agents-cli --login session, or set FRED_USERNAME and FRED_PASSWORD privately
from the developer's existing local fixture/config. Keep passwords out of command
arguments, transcripts and reports. Never invent authorization or copy another user's token.
Inspect the instance's tuning when diagnosing prompt/capability behavior. Resolve its
runtime binding from the configured runtime catalog; --pod-url must target that runtime,
not whichever pod happens to listen on the default port.
2. Check running code
Inspect the running backend command and startup/reload logs. Development reload works only when enabled and when the edited path is watched; production launchers do not reload. If the process is stale, coordinate a restart with the developer rather than restarting their backend silently. Record the running revision/config separately from the checkout being reviewed.
3. Execute one turn
From apps/fred-agents, using its installed environment:
./.venv/bin/python ../../.agents/skills/test-agent-instance/scripts/run_agent_turn.py \
--instance <instance-id> --team <team-id> \
--out-dir /tmp/agent-turn-unique --message 'Reply with a short greeting; do not use tools.'
Run --help for endpoint overrides and idle read timeout. Prefer a fresh session and a
harmless prompt: execution can spend model tokens and enabled tools can modify real data.
Pass longer prompts on stdin. --session continues a known session after checking its
instance through control-plane; continuation inherits previous history. Fresh runs register
session metadata before execution and abort if registration fails.
The output directory must not exist. It contains private events.jsonl (decoded SSE
payloads, in arrival order), final.md (complete final-event content), run.json (identity
of the run), and summary.json (observations). Known login password/access tokens are
redacted; arbitrary tool/user secrets cannot be identified reliably, so review payloads
before sharing. The console prints counts only.
4. Interpret evidence
Exit 0 means a final event arrived without execution/node errors or human approval being requested. Exit 1 indicates incomplete/error/HITL execution; exit 2 indicates setup failure. A successful process exit alone does not prove the agent answered correctly.
final.mduses the authoritativefinal.content, not concatenated deltas. An interrupted stream retains its received events but has no claimed complete answer. Empty final content may accompany UI parts: inspect the final event.taskis the default delegation tool;--fanout-toolselects another observed tool. Peak outstanding calls measures overlapping SSE call/result intervals, not actual concurrency. Missing events are not evidence that no child ran.- Match tool results to
call_id. Parent SSE may omit native child internals; do not assign interleaved deltas to children using time windows. Use the siblinginspect-conversationskill for trace IDs and parent observation links. - Token usage and finish reason are provider/runtime reports, not proof of semantic completeness. Check requested coverage and final text explicitly.
- Human approval is a pause: this helper never approves or resumes automatically.
Report observed identifiers, counts, final status and limitations separately from hypotheses. Keep private raw artifacts local, and include only reviewed excerpts in a shared report.
Signals
- GitHub stars
- 63
- Forks
- 32
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
test-agent-instance- Source
- github.com/thalesgroup/fred