원클릭으로
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 직업 분류 기준
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.
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 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.