Codebase Management
giancarloerra/SocratiCode
Set up, index, and manage SocratiCode codebase indexing. An agent skill from giancarloerra/SocratiCode.
A skill your agent uses when a task is non-trivial and could benefit from human involvement — delegating work to a human expert (research, review, labeling, content, design, data work) and driving…
$ npx skills add Toloka/tendem-mcp --skill tendem-tasks -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Toloka/tendem-mcp tendem-tasks --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Toloka/tendem-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/codex/tendem/skills/tendem-tasks .claude/skills/tendem-tasks && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "tendem-tasks" agent skill from https://github.com/Toloka/tendem-mcp/tree/main/codex/tendem/skills/tendem-tasks into .claude/skills/tendem-tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tendem-tasks", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Toloka/tendem-mcp/tree/main/codex/tendem/skills/tendem-tasksType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Toloka/tendem-mcp --skill tendem-tasks -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Toloka/tendem-mcp tendem-tasks --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Toloka/tendem-mcp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/codex/tendem/skills/tendem-tasks .agents/skills/tendem-tasks && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tendem-tasks" agent skill from https://github.com/Toloka/tendem-mcp/tree/main/codex/tendem/skills/tendem-tasks into .agents/skills/tendem-tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tendem-tasks", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Toloka/tendem-mcp --skill tendem-tasks -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Toloka/tendem-mcp tendem-tasks --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Toloka/tendem-mcp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/codex/tendem/skills/tendem-tasks .cursor/skills/tendem-tasks && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "tendem-tasks" agent skill from https://github.com/Toloka/tendem-mcp/tree/main/codex/tendem/skills/tendem-tasks into .cursor/skills/tendem-tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tendem-tasks", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Toloka/tendem-mcp.git --path codex/tendem/skills/tendem-tasks--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Toloka/tendem-mcp --skill tendem-tasks -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Toloka/tendem-mcp tendem-tasks --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Toloka/tendem-mcp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/codex/tendem/skills/tendem-tasks .gemini/skills/tendem-tasks && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "tendem-tasks" agent skill from https://github.com/Toloka/tendem-mcp/tree/main/codex/tendem/skills/tendem-tasks into .gemini/skills/tendem-tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tendem-tasks", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Toloka/tendem-mcp tendem-tasksInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Toloka/tendem-mcp --skill tendem-tasks -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Toloka/tendem-mcp.git skills-src && mkdir -p .github/skills && cp -r skills-src/codex/tendem/skills/tendem-tasks .github/skills/tendem-tasks && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "tendem-tasks" agent skill from https://github.com/Toloka/tendem-mcp/tree/main/codex/tendem/skills/tendem-tasks into .github/skills/tendem-tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tendem-tasks", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Toloka/tendem-mcp --skill tendem-tasks -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Toloka/tendem-mcp tendem-tasks --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Toloka/tendem-mcp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/codex/tendem/skills/tendem-tasks .opencode/skills/tendem-tasks && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "tendem-tasks" agent skill from https://github.com/Toloka/tendem-mcp/tree/main/codex/tendem/skills/tendem-tasks into .opencode/skills/tendem-tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tendem-tasks", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tendem-tasksA skill your agent uses when a task is non-trivial and could benefit from human involvement — delegating work to a human expert (research, review, labeling, content, design, data work) and driving…
Tendem Tasks is an agent skill from Toloka/tendem-mcp. Use when a task is non-trivial and could benefit from human involvement — delegating work to a human expert (research, review, labeling, content, design, data work) and driving it end to end. Also use whenever Tendem is mentioned or its tools are in play.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/files.md`, `scripts/tendem-download.sh` and `scripts/tendem-upload.sh`).
It works with Model Context Protocol and OpenAI. The repository describes itself as: Home for Human In The Loop Tendem plugin for your agent. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 683885a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tendem Tasks loads about 2.3k tokens when it runs, and up to ~3.3k if it reads all its reference files. Until then it costs about 67 tokens; SKILL.md has 1,169 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from Toloka/tendem-mcp at commit 683885a, republished under its MIT licence (© Toloka). 1,169 words, ~2,321 tokens.
.claude/skills/tendem-tasks/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Tendem is a task service backed by human experts. You (the agent) submit a task on the user's behalf; Tendem scopes it in a chat, returns a price quote, and once the user approves, a human expert executes it. Results come back as markdown plus downloadable files.
Offer, don't hijack. If the user explicitly asked for Tendem or a human expert, proceed. If this skill loaded because the task merely could benefit from human involvement, surface Tendem as an option — "this could go to a human expert via Tendem; want a quote?" — and only create a task after the user says yes.
The tools are named mcp__tendem__* (the exact namespace may vary with how
the plugin's MCP server is mounted). If absent, the connector isn't
connected — tell the user to enable the tendem plugin's MCP server and
complete its OAuth login.
The process is two loops with an approval gate between them:
create_task ──► SCOPING LOOP ──► quote ──► user approves ──► approve_task
(+ uploads) poll ⇄ answer ▲ │
▲ │ too expensive /
└──────────────┴─◄─ ask for a scope cut
(old quote is void; wait for a new one)
approve_task ──► EXECUTION LOOP (long: expert search → work → QA)
poll a few ⇄ end turn ⇄ answer if asked
│
▼ next_action=fetch_result
get_task_result ──► present + save filescreate_task(name, description, conversation_id) — description is the
user's own formulation, passed as faithfully as possible (see rules
below). Reuse one stable conversation_id per conversation. Returns the
task_id everything else needs.scripts/tendem-upload.sh or raw curl
from your side will fail or be blocked. Tendem's upload mechanism itself
works fine — it just has to run outside the sandbox. Instead: call
get_file_upload_url(task_id), then give the user ready-to-run
commands for their host machine's terminal — one curl per file with
the URL fully substituted (dfs→blob host swap and filename already
applied; see references/files.md). When handing
the commands over, tell the user plainly that this manual step exists
because of OpenAI's sandbox policy, not a Tendem shortcoming. Wait for
the user to confirm the uploads succeeded, then send_message naming
each uploaded file. The naming message is required — Tendem doesn't
auto-detect uploads.get_task(task_id, wait_for_change_seconds=30) — silent
poll until Tendem speaks (next_action=await_input); then
read_chat(task_id, from_offset=<last_seen_offset>) and
send_message(task_id, text, last_seen_offset) — answer from
conversation context yourself; escalate to the user only when (a) the
answer isn't in context, (b) scope/deliverables/deadline change, or (c)
approval or payment is needed. Repeat per question round until
next_action=await_user_approval.get_contract(task_id) to pull
the full scope — title, task_description, acceptance/quality criteria,
and price — so you can surface price + scope to the user and get an
explicit decision; this is a spend. (get_task deliberately omits these
details; get_contract is the read-only companion that carries them.) Two
exits:approve_task(task_id, name, price) → step 5.send_message proposing a concrete
scope cut. The old quote is void from that moment; you're back in the
scoping loop (step 3) until a fresh quote arrives. This cycle can repeat.get_task(task_id, wait_for_change_seconds=30) a
few times, then end the turn, telling the user the work is in progress
and they can ask for a progress check anytime (or invoke $tendem-status).
The plugin's notification hook pings them the moment the task needs them.
If Tendem asks something mid-execution (await_input), answer as in the
scoping loop. Repeat — across turns and sessions if needed — until
next_action=fetch_result.get_task_result(task_id) — present the content markdown; save
files[] with scripts/tendem-download.sh into ./tendem/<task_id>/.Every tool returns next_action, poll_after_seconds, poll_timeout_seconds
and guidance — act on those, not on the raw status. The one idiom that
matters:
get_task(task_id, wait_for_change_seconds=30)The server holds the call open until something changes or ~30s passes. Poll
silently — no narration per poll — and never re-call in a tight loop with
wait_for_change_seconds=0. But don't poll forever either: after a handful of
unchanged rounds (and always for the long post-approval stretch), end the
turn and tell the user the work is in progress — they can ask "how's the
Tendem task doing?" anytime, or invoke $tendem-status. The task lives on
Tendem's side; nothing is lost between sessions, and the plugin's desktop
notification hook fires when the task starts needing them.
next_action | Your move |
|---|---|
awaiting_tendem_work | A few silent 30s long-polls, then end the turn |
await_input | read_chat from your offset, answer via send_message (or escalate) |
await_user_approval | get_contract for the full scope + price; surface it; approve_task only with user's go-ahead |
await_user_topup | Give the user the topup_url |
resolve_race | Your message crossed new content — read it, re-send with the new last_seen_offset |
fetch_result | get_task_result |
done | Stop |
For the long-form lifecycle, invoke the server's tendem-quickstart prompt.
create_task nearly verbatim, plus only context
the user actually stated (file names, a given deadline). Don't expand it
into a synthesized "complete" brief, and don't pre-interrogate the user —
Tendem asks better scoping questions than you can anticipate. Your value is
answering them from context.conversation_id).approve_task with
reason: "insufficient_balance" returns a task-bound topup_url —
paying it auto-approves this task. Give the user that URL (or propose a
scope cut). Never loop on approve_task.A Tendem task outlives your session. To recover after a context reset or in a
new session: list_tasks to find the task_id, read_chat(task_id, from_offset=0) for full history, then get_task and follow next_action.
cancel_task only mints a UI cancel URL for the user — it does not cancel
server-side.
Answer scoping from context. User: "Have Tendem write a competitive
teardown of Acme's pricing page." You create_task with that sentence, then
poll. Tendem asks "any specific competitors?" — the user mentioned Beta and
Gamma earlier, so you answer via send_message yourself. It asks about a
budget you don't know → escalate. Quote at $90 → show the user, they approve,
you approve_task.
Waiting well. Task is awaiting_tendem_work after approval. Wrong:
re-calling get_task back-to-back for an hour, or narrating every poll.
Right: a handful of silent 30s long-polls; if nothing moves, end the turn and
tell the user the work is in progress — the notification hook pings them when
the task needs them, and they can re-ask later or invoke $tendem-status
whenever they want an update.
© Toloka, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts, references) in codex/tendem/skills/tendem-tasks of Toloka/tendem-mcp.
Open the folder on GitHubat commit 683885a
Tendem Tasks next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Tendem Tasks this skillToloka/tendem-mcp | 102 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Codebase Managementgiancarloerra/SocratiCode | 3.3k | 1 repos | ~1.8k | Automated safety check: Pass | AGPL-3.0 | |
| Codex with ChatGPT Planning LoopXiaoDuoYa/codex-with-chatgpt | 7.2k | — | ~11k | Automated safety check: Notes | MIT | |
| Agent Squad Python Guide2FastLabs/agent-squad | 7.8k | — | ~4.7k | Automated safety check: Pass | Apache-2.0 | |
| Codebase Explorationgiancarloerra/SocratiCode | 3.3k | 1 repos | ~1.5k | Automated safety check: Pass | AGPL-3.0 | |
| Annotate Paper54yyyu/zotero-mcp | 5.3k | — | ~1.5k | Automated safety check: Pass | MIT |
giancarloerra/SocratiCode
Set up, index, and manage SocratiCode codebase indexing. An agent skill from giancarloerra/SocratiCode.
XiaoDuoYa/codex-with-chatgpt
Uses ChatGPT in the browser as the planning and review brain for a Codex session, with Codex keeping all execution and ChatGPT reading the workspace through a bridge.
2FastLabs/agent-squad
Map of the agent-squad Python framework for async multi-agent orchestration: which agent, classifier, storage and tool provider to pick, and the pitfalls to avoid.
giancarloerra/SocratiCode
Explore and understand codebases using SocratiCode semantic search, dependency graphs, and context artifacts.
54yyyu/zotero-mcp
Read the open paper and write study annotations into its PDF with zotero-cli - a context box on the title, a four-part summary on the abstract, role-coded abstract highlights, one box per figure…
DenisSergeevitch/agents-best-practices
A skill your agent uses when designing, generating an MVP blueprint for, auditing, troubleshooting, refactoring, or explaining an agentic harness for any domain.
Toloka/tendem-mcp
Explicitly submit a new task to Tendem (hybrid AI + human experts) and drive it through scoping.
Toloka/tendem-mcp
Explicitly fetch and present a completed Tendem task's result (markdown + files).
Toloka/tendem-mcp
Explicitly check on a Tendem task and advance it (poll cleanly, don't busy-loop).
Works with
A skill your agent uses when a task is non-trivial and could benefit from human involvement — delegating work to a human expert (research, review, labeling, content, design, data work) and driving…. Tendem Tasks is an agent skill from Toloka/tendem-mcp. Use when a task is non-trivial and could benefit from human involvement — delegating work to a human expert (research, review, labeling, content, design, data work) and driving it end to end.
Tendem Tasks fits situations like: A task is non-trivial and could benefit from human involvement — delegating work to a human expert (research; data work) and driving it end to end; tendem is mentioned; its tools are in play.
Run `npx skills add Toloka/tendem-mcp --skill tendem-tasks -a claude-code`. Or copy the skill folder (codex/tendem/skills/tendem-tasks in Toloka/tendem-mcp) into .claude/skills/tendem-tasks in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Toloka/tendem-mcp --skill tendem-tasks -a codex`. Or copy the skill folder (codex/tendem/skills/tendem-tasks in Toloka/tendem-mcp) into .agents/skills/tendem-tasks in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Toloka/tendem-mcp --skill tendem-tasks -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tendem-tasks, .gemini/skills/tendem-tasks, .github/skills/tendem-tasks and .opencode/skills/tendem-tasks in your project.
Going by SKILL.md and its folder, Tendem Tasks needs a shell for the scripts in its folder. Our summary lists: A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Tendem Tasks is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 976 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Tendem Tasks: Codebase Management (giancarloerra/SocratiCode, 3.3k stars), Codex with ChatGPT Planning Loop (XiaoDuoYa/codex-with-chatgpt, 7.2k stars), Agent Squad Python Guide (2FastLabs/agent-squad, 7.8k stars) and Codebase Exploration (giancarloerra/SocratiCode, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Toloka (a GitHub organization) maintains it in Toloka/tendem-mcp, which has 102 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on September 8, 2026.
Source: Toloka/tendem-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.