Planning With Files
jarrodwatts/claude-code-config
Transforms workflow to use Manus-style persistent markdown files for planning, progress tracking, and knowledge storage.
Use programmatic tool calling to discover extra tools, compose multiple tool calls in ESM code, and return a compact JSON-compatible result.
$ npx skills add KonghaYao/peri --skill programmatic-tool-calling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install KonghaYao/peri programmatic-tool-calling --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/KonghaYao/peri.git skills-src && mkdir -p .claude/skills && cp -r skills-src/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling .claude/skills/programmatic-tool-calling && 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 "programmatic-tool-calling" agent skill from https://github.com/KonghaYao/peri/tree/main/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling into .claude/skills/programmatic-tool-calling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "programmatic-tool-calling", 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/KonghaYao/peri/tree/main/peri-middlewares/src/skills/builtin/skills/programmatic-tool-callingType 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 KonghaYao/peri --skill programmatic-tool-calling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install KonghaYao/peri programmatic-tool-calling --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/KonghaYao/peri.git skills-src && mkdir -p .agents/skills && cp -r skills-src/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling .agents/skills/programmatic-tool-calling && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "programmatic-tool-calling" agent skill from https://github.com/KonghaYao/peri/tree/main/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling into .agents/skills/programmatic-tool-calling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "programmatic-tool-calling", 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 KonghaYao/peri --skill programmatic-tool-calling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install KonghaYao/peri programmatic-tool-calling --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/KonghaYao/peri.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling .cursor/skills/programmatic-tool-calling && 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 "programmatic-tool-calling" agent skill from https://github.com/KonghaYao/peri/tree/main/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling into .cursor/skills/programmatic-tool-calling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "programmatic-tool-calling", 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/KonghaYao/peri.git --path peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling--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 KonghaYao/peri --skill programmatic-tool-calling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install KonghaYao/peri programmatic-tool-calling --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/KonghaYao/peri.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling .gemini/skills/programmatic-tool-calling && 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 "programmatic-tool-calling" agent skill from https://github.com/KonghaYao/peri/tree/main/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling into .gemini/skills/programmatic-tool-calling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "programmatic-tool-calling", 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 KonghaYao/peri programmatic-tool-callingInstalls 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 KonghaYao/peri --skill programmatic-tool-calling -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/KonghaYao/peri.git skills-src && mkdir -p .github/skills && cp -r skills-src/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling .github/skills/programmatic-tool-calling && 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 "programmatic-tool-calling" agent skill from https://github.com/KonghaYao/peri/tree/main/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling into .github/skills/programmatic-tool-calling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "programmatic-tool-calling", 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 KonghaYao/peri --skill programmatic-tool-calling -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install KonghaYao/peri programmatic-tool-calling --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/KonghaYao/peri.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling .opencode/skills/programmatic-tool-calling && 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 "programmatic-tool-calling" agent skill from https://github.com/KonghaYao/peri/tree/main/peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling into .opencode/skills/programmatic-tool-calling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "programmatic-tool-calling", 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.
programmatic-tool-callingUse programmatic tool calling to discover extra tools, compose multiple tool calls in ESM code, and return a compact JSON-compatible result.
Programmatic Tool Calling is an agent skill from KonghaYao/peri. Use programmatic tool calling to discover extra tools, compose multiple tool calls in ESM code, and return a compact JSON-compatible result.
Its SKILL.md is about 820 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in AI & LLM Engineering, covering Structured output and tool calling. The repository describes itself as: Lightweight Rust Agent only use 50MB RAM, but Claude Code Plugin compatible, Dynamic Workflow, Goal, Artifacts, Free Web Search, full feature and better support! The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d7ee444. 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.
No scripts in the folder and no shell commands in SKILL.md.
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.
Programmatic Tool Calling loads about 822 tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 433 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); files beside SKILL.md are not scanned.
The full file from KonghaYao/peri at commit d7ee444, republished under its Apache-2.0 licence (© KonghaYao). 433 words, ~822 tokens.
.claude/skills/programmatic-tool-calling/SKILL.md (or your agent's skills folder).This builtin skill is named programmatic-tool-calling and keeps the generic alias ptc, so users may invoke it as /ptc.
Use this skill when a task benefits from discovering extra tools and orchestrating several dependent or repetitive calls in one bounded program. It is especially useful for filtering, joining, or summarizing structured tool results without copying large intermediate payloads into the conversation.
Do not use it for a single ordinary tool call, when the required tool is already directly available, for interactive workflows that need user input between steps, or to bypass an approval or access-control boundary.
SearchExtraTools to locate RunPtcCode and every deferred tool the program needs, and inspect their schemas.RunPtcCode through ExecuteExtraTool with a small ESM program that invokes the discovered tools, checks results, and returns only the JSON-compatible data needed by the task.ExecuteExtraTool directly instead when no program is needed, or to validate another discovered tool before composing it.The PTC entry pattern is SearchExtraTools → ExecuteExtraTool(RunPtcCode). RunPtcCode is not a direct tool; existing direct tools remain unchanged. The old run_code name is only a search migration keyword, not an executable alias. Never guess an extra tool name or input schema.
await import("node:..."); static import statements and CommonJS require/module.exports are unavailable.null. Do not return functions, classes, cyclic values, streams, or binary handles.RunPtcCode does not expand authority. Every discovered tool remains subject to its own security policy, permissions, and approval boundary; policy, HITL, event, and tool-card projections use the effective target. Any assistant raw wrapper call is retained only for protocol pairing. Programmatic composition must not suppress, combine away, or work around approvals. Treat credentials and sensitive tool results as secrets: do not log them, serialize them into diagnostics, or include them in the final result unless the user explicitly needs that data and access is authorized.
Do not use PTC to perform destructive, irreversible, or high-impact actions without the same explicit user authorization required for calling those tools directly. If a tool requires approval or user confirmation, stop at that boundary and let the host request it.
© KonghaYao, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling of KonghaYao/peri.
Open the folder on GitHubat commit d7ee444
Programmatic Tool Calling 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 |
|---|---|---|---|---|---|---|
| Programmatic Tool Calling this skillKonghaYao/peri | 223 | — | ~822 | Automated safety check: Pass | Apache-2.0 | |
| Planning With Filesjarrodwatts/claude-code-config | 1.1k | 5 repos | ~967 | Automated safety check: Pass | None | |
| Tool Use Data Synthesissunny-glow/Auto-BenchMax | 1.3k | — | ~3.3k | Automated safety check: Pass | None | |
| Agent Harness ConstructionKartikLabhshetwar/mind-mentor | 147 | 7 repos | ~500 | Automated safety check: Pass | Apache-2.0 | |
| Prompt Engineering Patternswshobson/agents | 40k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Model Benchmarkstheopenco/llmgateway | 1.7k | — | ~1.1k | Automated safety check: Notes | Custom licence |
jarrodwatts/claude-code-config
Transforms workflow to use Manus-style persistent markdown files for planning, progress tracking, and knowledge storage.
sunny-glow/Auto-BenchMax
Synthesize training data for ANY tool-use / agentic benchmark, in ANY repo.
KartikLabhshetwar/mind-mentor
Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates.
wshobson/agents
Reference for designing and tuning production LLM prompts: few-shot examples, chain-of-thought, structured outputs, templates and system prompts.
theopenco/llmgateway
Run and report repository model or provider-mapping benchmarks.
mastra-ai/mastra
Universal quality bar and final audit rubric for any agent system prompt.
KonghaYao/peri
Queries Langfuse traces, prompts, datasets and sessions, and analyzes local LLM gateway logs for requests, context growth, token use and cache hits.
KonghaYao/peri
Audits recent agent conversation history and turns repeated failures and successes into testable harness improvement proposals that later audits can check.
KonghaYao/peri
Runs commands, reads and edits files, and copies data on remote machines through a single-file Node script that wraps the system ssh and scp, in Chinese.
KonghaYao/peri
Sends a compact, redacted decision packet to a tool-free Opus advisor subagent when a task has high-risk trade-offs or stalled investigations, then weighs the answer.
KonghaYao/peri
Registers, lists and removes recurring agent tasks with five-field cron expressions, and sets safety rules so a schedule is created only when the user clearly asks.
KonghaYao/peri
Verifies and repairs a feature by using the real Peri terminal UI as a user would, looping verify, decide, fix and review until a fresh round shows no blockers.
Categories
Use programmatic tool calling to discover extra tools, compose multiple tool calls in ESM code, and return a compact JSON-compatible result. Programmatic Tool Calling is an agent skill from KonghaYao/peri. Use programmatic tool calling to discover extra tools, compose multiple tool calls in ESM code, and return a compact JSON-compatible result.
Programmatic Tool Calling fits situations like: tasks that involve Structured output and tool calling.
Run `npx skills add KonghaYao/peri --skill programmatic-tool-calling -a claude-code`. Or copy the skill folder (peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling in KonghaYao/peri) into .claude/skills/programmatic-tool-calling in your project. Claude Code loads it when a task matches its description.
Run `npx skills add KonghaYao/peri --skill programmatic-tool-calling -a codex`. Or copy the skill folder (peri-middlewares/src/skills/builtin/skills/programmatic-tool-calling in KonghaYao/peri) into .agents/skills/programmatic-tool-calling 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 KonghaYao/peri --skill programmatic-tool-calling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/programmatic-tool-calling, .gemini/skills/programmatic-tool-calling, .github/skills/programmatic-tool-calling and .opencode/skills/programmatic-tool-calling in your project.
SKILL.md names no scripts, command-line tools or credentials: Programmatic Tool Calling is instructions for the agent only.
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. Review the folder before installing.
Programmatic Tool Calling is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 822 tokens (SKILL.md is roughly 3.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Programmatic Tool Calling: Planning With Files (jarrodwatts/claude-code-config, 1.1k stars), Tool Use Data Synthesis (sunny-glow/Auto-BenchMax, 1.3k stars), Agent Harness Construction (KartikLabhshetwar/mind-mentor, 147 stars) and Prompt Engineering Patterns (wshobson/agents, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
KonghaYao (a GitHub user) maintains it in KonghaYao/peri, which has 223 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 7, 2026.
Source: KonghaYao/peri on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.