Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add synaptiai/synapti-marketplace/plugin install dossierWrote 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.
[](https://agentmods.dev/commands/synaptiai/synapti-marketplace/setup)<a href="https://agentmods.dev/commands/synaptiai/synapti-marketplace/setup"><img src="https://agentmods.dev/badge/commands/synaptiai/synapti-marketplace/setup/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/synaptiai/synapti-marketplace/setup"><img src="https://agentmods.dev/badge/commands/synaptiai/synapti-marketplace/setup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00041 | $0.03920 |
| Opus 5 | $0.00020 | $0.01960 |
| Sonnet 5 | $0.00008 | $0.00784 |
| Haiku 4.5 | $0.00004 | $0.00392 |
Grade B, and why
setup scanned grade B with 1 finding 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 6d ago.
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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
| `.claude/settings.dossier.json` | write/merge | Reads `$HOME/.claude/settings.dossier.json` first and **skips any key the user already set there** — project-shared beats user-global, and silently overriding a global pr How it starts
The opening of the file, as written. The whole thing — 236 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Set Up Documentation Automation: $ARGUMENTS
Scaffolds the job that regenerates the documentation package after a pull request merges and opens a documentation PR against this same repository.
Required Skills
engagement-scoping— resolve the output root and confirm the package exists before wiring automation to it
References
Phase 0 — Preflight
Read-only, run with the user's own gh credentials — which carry the admin scope CI does not have. Emits KEY=value and exits 0 on failure rather than degrading silently.
_RAW="$ARGUMENTS"
echo "### Setup Arguments"
echo "ARGS=$_RAW"
__dr="${CLAUDE_PLUGIN_ROOT:-}"
[ -x "$__dr/bin/dossier-managed-file.sh" ] || __dr=$({ echo plugins/dossier; ls -d "$HOME"/.claude/plugins/cache/synapti-marketplace/dossier/*/ 2>/dev/null | sort -Vr; echo "$HOME/.claude/plugins/marketplaces/synapti-marketplace/plugins/dossier"; } | while read -r __p; do [ -x "${__p%/}/bin/dossier-managed-file.sh" ] && { echo "${__p%/}"; break; }; done)
echo "### Plugin"
if [ ! -x "$__dr/bin/dossier-managed-file.sh" ]; then
echo "SETUP_STATE=blocked"
echo "SETUP_ERROR=dossier plugin scripts not found — reinstall or upgrade the plugin"
true; exit 0
fi
echo "DOSSIER_ROOT=$__dr"
echo "PLUGIN_VERSION=$(jq -r '.version // "unknown"' "$__dr/.claude-plugin/plugin.json" 2>/dev/null)"
echo "### Repo"
REPO=$(gh repo view --json nameWithOwner --jq .nameWithOwner 2>/dev/null) || {
echo "SETUP_STATE=blocked"
echo "SETUP_ERROR=gh not authenticated — run 'gh auth login'"
true; exit 0
}
echo "REPO=$REPO"
DB=$(gh repo view --json defaultBranchRef --jq .defaultBranchRef.name 2>/dev/null)
echo "DEFAULT_BRANCH=$DB"
echo "PRIVATE=$(gh repo view --json isPrivate --jq .isPrivate 2>/dev/null)"
echo "HAS_GITHUB_DIR=$([ -d .github ] && echo true || echo false)"
echo "HAS_GITLAB_CI=$([ -f .gitlab-ci.yml ] && echo true || echo false)"
echo "### The gotcha checks"
# GITHUB_TOKEN cannot open a PR unless this is enabled. Without it the branch
# pushes cleanly and `gh pr create` refuses — a successful push and no PR.
CAN_PR=$(gh api "repos/$REPO/actions/permissions/workflow" --jq '.can_approve_pull_request_reviews' 2>/dev/null) || CAN_PR="unknown"
echo "ACTIONS_CAN_CREATE_PRS=$CAN_PR"
echo "DEFAULT_WORKFLOW_PERMISSIONS=$(gh api "repos/$REPO/actions/permissions/workflow" --jq '.default_workflow_permissions' 2>/dev/null || echo unknown)"
ORG="${REPO%%/*}"
if gh api "orgs/$ORG" >/dev/null 2>&1; then
echo "ORG_ACTIONS_CAN_CREATE_PRS=$(gh api "orgs/$ORG/actions/permissions/workflow" --jq '.can_approve_pull_request_reviews' 2>/dev/null || echo unknown)"
else
echo "ORG_ACTIONS_CAN_CREATE_PRS=n/a"
fi
# Required checks make a GITHUB_TOKEN-created docs PR permanently unmergeable.
CHECKS=$(gh api "repos/$REPO/branches/$DB/protection" --jq '.required_status_checks.contexts | join(",")' 2>/dev/null) || CHECKS=""
echo "REQUIRED_CHECKS=${CHECKS:-none}"
echo "### Existing state"
echo "SECRETS=$(gh secret list --repo "$REPO" --json name --jq '[.[].name] | join(",")' 2>/dev/null || echo unreadable)"
echo "EXISTING_WORKFLOW=$([ -f .github/workflows/dossier-docs-refresh.yml ] && echo true || echo false)"
if [ -f .github/workflows/dossier-docs-refresh.yml ]; then
"$__dr/bin/dossier-managed-file.sh" --verify .github/workflows/dossier-docs-refresh.yml 2>/dev/null || echo "MANAGED=unknown"
fi
OUTPUT_ROOT=$("$__dr/bin/dossier-resolve-config.sh" --default "docs/dossier" dossier.project.outputRoot 2>/dev/null)
echo "OUTPUT_ROOT=$OUTPUT_ROOT"
echo "PACKAGE_EXISTS=$([ -d "$OUTPUT_ROOT/00-control" ] && echo true || echo false)"
echo "FLOW_INSTALLED=$([ -f .claude/settings.flow.json ] && echo true || echo false)"
echo "MARKETPLACE_REF=$(gh api repos/synaptiai/synapti-marketplace/releases/latest --jq .tag_name 2>/dev/null || echo main)"
echo "### Merge cadence (for the cost conversation)"
echo "MERGES_LAST_4W=$(git log --merges --since='4 weeks ago' --oneline 2>/dev/null | wc -l | tr -d ' ')"
true
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.
- 6d ago First seen · 236 lines · 0 tokens per session scan B 1518c22d69b2
setup is a command published in the GitHub repository synaptiai/synapti-marketplace (6 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 41 tokens to every session and 3,920 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other commands, from other repositories
paper-trail-ingest-all
Batch INGEST across the entire vault. Scans all SOTAs, identifies those with bibliographic sections containing free-text citations, then runs /paper-trail:ingest on each one sequentially. Reports per-SOTA summary at the end. The single batch entry point to make a legacy vault fully conform to the paper-trail pipeline.
paper-trail-inject-url
Injecte une URL OA connue (HAL, dépôt uni, NIME, page perso) pour une ref dont la cascade automatique a échoué, puis relance l'acquisition + validation page 1.
paper-trail-acquire
Troisième passe du pipeline cible refondu. Lance la cascade PDF (10 sources : Crossref OA + arXiv + OpenAlex + Unpaywall + HAL + CORE + éditeur par DOI + archive.org + WebSearch ; jusqu'à 17 avec les voies par navigateur et les sources étendues opt-in) ciblée sur les refs d'un SOTA donné. Différent de pipeline run qui…
paper-trail-cascade
Acquire PDFs via the 8-source cascade (11 with opt-in extended sources) for a single ref by slug, or a batch filtered by state. Validates page 1 anti-homonymy on each download.
create-worktree
Follow these steps to create a git worktree.
output
Generate output artifacts from active wiki content — summaries, reports, study guides, slide outlines, timelines, glossaries, comparisons. Outputs are filed back into the wiki.