Loading...
Loading...
Use when writing a mission report to the gateway DB from any operator mission.
npx skill4agent add fellowship-dev/dogfooded-skills write-reportcrew/*/reports/# Standard mission report
/write-report --group crew-runner --id "fellowship-dev-navvi-42" --type crew-runner
# Rollcall team report
/write-report --group rollcall --id lexgo --type rollcall
# Fan-out manifest (written at dispatch time by supervisor)
/write-report --manifest --group rollcall --jobs "lexgo:pending,tooling:pending,navvi:pending"crew/*/REPORT_DIR="$(git rev-parse --show-toplevel)/reports"git rev-parsecdTIMESTAMP=$(date -u +"%Y%m%d-%H%M")| Report type | Filename |
|---|---|
| Standard (speckit, deps, review, crew-runner) | |
| Rollcall team | |
| Rollcall assembly | |
| Fan-out manifest | |
20260413-1100_rollcall_lexgo.md
20260413-1115_crew-runner_fellowship-dev-navvi-42.md
20260413-1100_rollcall_manifest.jsonREPORT_PATH="${REPORT_DIR}/${TIMESTAMP}_${GROUP}_${ID}.md"allowed-toolscat > "$REPORT_PATH" << 'REPORT_EOF'
[report content here]
REPORT_EOF--manifestMANIFEST_PATH="${REPORT_DIR}/${TIMESTAMP}_${GROUP}_manifest.json"{
"group_id": "{group}-{YYYYMMDD}-{HHMM}",
"origin_job": "~/.local/share/pylot/missions/done/{job-file}.job",
"jobs": {
"job-id-1": "pending",
"job-id-2": "pending"
},
"created_at": "2026-04-13T11:00:00Z"
}--jobs"id1:state1,id2:state2,..."python3 -c "
import json, sys
jobs_str = sys.argv[1]
jobs = {}
for pair in jobs_str.split(','):
job_id, state = pair.strip().split(':')
jobs[job_id.strip()] = state.strip()
manifest = {
'group_id': sys.argv[2],
'origin_job': sys.argv[3] if len(sys.argv) > 3 else 'unknown',
'jobs': jobs,
'created_at': sys.argv[4]
}
print(json.dumps(manifest, indent=2))
" "$JOBS_ARG" "${GROUP}-${YYYYMMDD}-${HHMM}" "${ORIGIN_JOB:-unknown}" "$(date -u +%Y-%m-%dT%H:%M:%SZ)" > "$MANIFEST_PATH"pendingdonefailed.mdQUEST_TOKEN=$(grep '^QUEST_TOKEN=' /home/ubuntu/projects/fellowship-dev/claude-buddy/.env | cut -d= -f2)
curl -s -X POST "http://127.0.0.1:4242/api/event" \
-H "Authorization: Bearer $QUEST_TOKEN" \
-H "Content-Type: application/json" \
-d "$(python3 -c "
import json
content = open('$REPORT_PATH').read()
print(json.dumps({
'source': 'commander',
'type': 'commander.report',
'title': '$REPORT_TITLE',
'meta': {'content': content, 'report_type': '$GROUP'}
}))
")" 2>/dev/null || truecd "$(git rev-parse --show-toplevel)"
git add reports/
git commit -m "report: ${GROUP} ${ID}"
git pushgit rev-parsecd|| true--jobs"id1:state1,id2:state2":IDcrew/*/git rev-parse --show-topleveldate -u.md|| true