用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/pty819/nooa-coding --skill use-tools命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | use-tools |
| description | Reference guide for the agent's built-in capabilities and how to call them correctly. |
| trigger | Agent needs to discover available tools, user asks "what can you do", "how do I use", or references self.shell/self.repo/self.todo APIs |
| route | use-tools |
| output-contract | Correct tool invocation using policy-controlled self.* methods; no direct filesystem or subprocess access |
You have policy-controlled capabilities installed on self. Always call them
instead of raw filesystem/subprocess access.
self.shellresult = await self.shell.run("uv run pytest tests/ -x -q", timeout=120)
print(result.stdout, result.returncode)
timeout= (seconds).await self.shell.run("cat", stdin="hello")self.shell.readmatch = await self.shell.read("src/main.py", lines=(1, 50))
print(match.text)
self.shell.replace / self.shell.write_file# Targeted replacement (preferred for edits):
result = await self.shell.replace("src/main.py", "old_text", "new_text")
# Full file creation:
result = await self.shell.write_file("src/new_module.py", content)
replace returns a FileWrite with .path and diff info.self.repostatus = await self.repo.status()
log = await self.repo.log(n=10)
diff = await self.repo.diff()
self.todoself.todo.add("Implement the parser")
self.todo.complete("Implement the parser")
print(self.todo.status())
Keep the todo list current during multi-step changes.
self.skillsprint(self.skills.status()) # list active skills
self.recall / self.remember# Retrieve relevant knowledge before starting work:
memories = await self.recall("authentication flow")
# Store verified, durable knowledge:
await self.remember("The auth module uses JWT with 15-min expiry")
self.eventsprint(self.events.keys()) # active event tags
print(self.events["tag_name"]) # read one event
await self.notify(...)await self.notify("Found 3 matching files, starting refactor")
Send concise progress updates only for meaningful milestones.
open(), os, subprocess, pathlib, or socket directly._ — they are host internals.await async methods.doc(self) at runtime to inspect the exact current API.