一键导入
kestral-scan-folder
Use when kestral-setup or the user asks to select and inspect local files or folders as evidence for Kestral project setup.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when kestral-setup or the user asks to select and inspect local files or folders as evidence for Kestral project setup.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Sync session progress to Kestral via the MCP sync_session_workflow operation. Use after push, phase completion, PR creation, or review conclusion. Ambient hooks call this for you when enabled.
Use when the user explicitly runs Kestral setup, asks to onboard, organize, or import work into Kestral, or wants to create a Kestral project with a Project Brain from connected tools, goals, repos, documents, or optional local files.
Use when the user asks for an end-of-day review, what got done or not done today, Kestral project updates, tomorrow priorities, or invokes /kestral:end-day-review or $kestral-end-day-review.
Use when the user explicitly asks to search Kestral workspace context, pull Kestral documents, projects, or tasks into chat, or invokes /kestral:context or $kestral-context.
Use when the user asks to plan today, start the workday, prioritize from a Kestral brief, use a morning or daily brief, or invokes /kestral:plan-day or $kestral-plan-day.
Use when the user explicitly asks to list, inspect, update, assign, or comment on Kestral tasks, or invokes /kestral:tasks or $kestral-tasks.
| name | kestral-scan-folder |
| description | Use when kestral-setup or the user asks to select and inspect local files or folders as evidence for Kestral project setup. |
Building-block skill used by kestral-setup when the user provides local files or folder paths. Inventories documents,
images, media, and context files, samples representative content, and returns evidence signals for workstream inference.
Selection numbers are curated preview defaults; expand when the user asks for more.
The caller provides either:
Prefer explicit file paths when the user names specific files. Use folder inventory when the user points at a directory.
If explicit files were given, validate each path exists and is readable.
If a folder path was given, use Glob with common local context patterns such as
**/*.{pdf,docx,txt,md,markdown,csv,jpg,jpeg,png,webp,heic,heif,mp3,m4a,mp4} rooted at that folder. These patterns are
candidate discovery filters, not the source of truth for upload support; MCP/server behavior owns exact support and hard
limits. Present results as a selection for the user, not an assumed-complete upload list.
Always exclude:
/. segments).DS_Storenode_modules/, dist/, build/, .git/, lockfiles, generated artifactsUse judgment to drop obvious non-content files. Show the user what was dropped and why (brief list).
For each retained eligible file, record byteSize (via stat in Bash or Glob metadata).
Read or extract lightweight content from the top ~5 text/document candidates (prefer README*, docs/, architecture,
overview). For binary documents, images, audio, and video, use file path, name, size, and metadata as evidence unless a
local extraction/transcription tool is already available. Do not load raw media bytes into model context. A file can be a
valid upload candidate even when it cannot be inspected deeply.
From paths, filenames, and sampled contents, identify lightweight evidence signals such as:
overview, architecture, api, runbook, planning, requirements, migration, launch.high, medium, low) based on evidence volume, recency hints, and specificity.Do not force one title or description. Return evidence that can support one or more projects in the setup manifest.
For a curated preview, select the local documents you would read first when onboarding to the likely workstreams. Prefer README, architecture/design docs, API references, runbooks, requirements, and top-level overviews. Deprioritize deeply nested files, stubs (< 200 bytes), changelogs, and generated artifacts.
For large folders, keep the preview compact enough for a manifest checkpoint and include totalEligible,
notableOmissions, and dropped-file reasons so the caller can explain what else is available. If the user asks for more
or all matching files, expand selection metadata instead of treating the preview size as a limit.
byteSize is on-disk size; for binary documents and media, extracted text or transcript size may differ — budget is
approximate.
Track notable omissions (3–5 near-miss files) when selection applies.
For each selected file only, record:
filename — basenamerelativePath — path relative to the scanned folder rootbyteSize — from scan stepfilePath — absolute path, for later upload (via upload_request_urls + PUT, or create_document for text files)signals — compact labels explaining why this document was selectedThis skill has no Kestral entities yet. Use filenames and relative paths as the readable handles; do not introduce Kestral IDs.
Return a JSON object with this shape:
{
"documents": [
{
"filename": "README.md",
"relativePath": "README.md",
"byteSize": 4300,
"filePath": "/absolute/path/README.md",
"signals": ["overview", "architecture"]
}
],
"candidateSignals": [
{
"label": "Authentication migration",
"evidencePaths": ["README.md", "docs/auth.md"],
"confidence": "medium"
}
],
"notableOmissions": [{ "relativePath": "CHANGELOG.md", "byteSize": 45000 }],
"totalEligible": 342,
"dropped": [{ "path": "node_modules/foo/index.js", "reason": "dependency directory" }]
}
kestral-setup (step 3) via the conversation's loaded MCP tools.local-folder (stored server-side in metadata).kestral-setup decide whether
to skip, ask for conversion, or retry.