Skip to content
Foo GuardDocs
DOCUMENTATION

Add files and run scans

Add files and run scans with step-by-step instructions and recovery guidance.

Page text and source link for your AI assistant. Nothing is sent automatically.

All Library guides

What Library is for

Library is your team's catalog of reviewed agent configurations. Repositories hold source files; Scans assess them; Library records reusable versions and their declared dependencies. Gateway separately checks routed runtime requests. Publishing a configuration does not install it into an agent or start any tool server.

Add and review

An owner or admin can paste a JSON or YAML configuration in the Add config dialog, or import a file from a connected GitHub repository. Reuse the exact name and kind of a manual item to add a revision. Identical content reuses existing evidence. GitHub imports pin the commit and path.

Open Review versions to inspect the immutable score, grade and findings. Markdown skills can be saved and scanned separately using Run scan. Single-file checks inspect retained Markdown text. Folder packages also check supplied supported scripts for explicit text patterns, not runtime behavior; they are not a comprehensive malware or prompt-injection detector. Skills still cannot be published through the configuration publication workflow. A completed scan is not a guarantee that a configuration is safe in every environment.

Personal and Team navigation

Open Library → Agents, Configs, or Skills. Agents records ownership and declared relationships. Configs holds reusable files; Scans holds results of individual runs. Personal files stay private to their owner. Team files stay in that team's existing versioned catalog; owners and admins manage them.

Use Add config or Add skill at the top of the Library page to open a dialog. Upload a file to prefill its editable filename, or paste content and enter a name. Cancel closes the dialog and keeps your draft until you leave the page. Personal saving validates and redacts configurations without running a scan or creating a Scans entry. Team versions retain their existing assessment and publication policy checks.

On New scan, select Save to Library. Uploading prefills the editable File name field; for pasted content, enter a .json, .yaml, or .yml name in the same field. Choose the destination workspace. The file is saved after analysis succeeds; saving the initial scan result remains a separate action. If storage fails, the completed analysis stays visible and the error explains that the file was not saved.

From Configs, choose Run scan to create a new Scans entry. This evaluates the retained, normalized JSON copy, with detected secrets redacted. Original secret findings may therefore differ; upload the original file for a full reassessment. Prior assessments are unchanged. Personal files can be archived and restored. Team version availability and publication rules remain in force. Saving Markdown skills does not run a scan. Choose Run scan separately to assess the retained text and create a new Scans entry.

Find scans for a config

Configs and Skills use tables with a three-dot actions menu on each row. On a Personal config, choose Run scan to create a saved result or View scans to open its filtered history. Team configs offer View scans for each recorded version; review a version to run a new scan.

Scans includes a Config / Skill column and Library file filter. The association comes from scanning the retained Library file, not from matching its filename. Older or manually saved scans without a recorded association show —. Filters apply before pagination and stay active as you browse older results. Choose All configs and skills to clear the filter. Team filters identify an exact version, so results from different revisions remain distinguishable.

Skill security scans

In Personal or Team Library → Skills, open the row's actions and choose Run scan, then View new scan. Team owners and admins can run scans; existing workspace membership controls who can view results. View scans opens history filtered to that exact saved copy or Team version. Saving alone does not create a skill scan, and rescanning keeps earlier results.

The version 2 skill scanner inspects only the retained Markdown. It checks explicit patterns for remote content piped to a shell (SKILL-001), recursive forced deletion (SKILL-002), bypassing safety controls (SKILL-003), reading sensitive local files (SKILL-004), HTTP file uploads (SKILL-005), explicit instruction overrides (SKILL-006), concealed activity (SKILL-007), and encoded execution patterns (SKILL-008). Download-and-execute checks include PowerShell pipelines and explicit shell line continuations. Encoded payloads are not decoded or executed. Potential credentials are redacted (SKILL-SECRET). References to code outside the supplied file receive an informational coverage finding (SKILL-COVERAGE).

Findings include line references and remediation. Repeated matches are grouped; blockquotes and explicitly cautionary contexts are informational and contribute no score. Generic “Examples” headings do not suppress scoring. Nested caution sections end at a peer heading, and shell comments inside fenced code are not headings. This context classification is heuristic and can be misleading, including when a malicious skill disguises instructions as examples. Always review the evidence. New scans record skill-static-v2 coverage; prior saved scans keep their original results and version. Rescan a saved skill to use the expanded checks. The score uses Foo Guard's deterministic severity weights. AI never decides findings or scores. AI configuration rewriting is not available for Markdown skills.

These are limited static pattern checks, not a comprehensive prompt-injection or malware detector. Other obfuscation, indirect instructions, remote content, referenced scripts and runtime behavior are outside coverage. A low score does not establish safety. Existing secret-containing files that could not be safely retained cannot be rescanned; remove credentials and save a new copy first.

Restore archived files before scanning. Failed or interrupted requests retain their retry receipt: check Scans before starting a new run. Team skill publication remains disabled; these scans do not change the catalog's publication assessment or authorize distribution. No code from the skill is executed during inspection.

Scan a skill folder

In Personal or Team Library → Skills → Add skill, choose Upload skill folder. The folder must contain a nonempty SKILL.md at its root. Review the file list and coverage labels before saving. Saving does not create a scan. Choose Run scan from the saved row; View scans shows history for that exact stored copy/version. Team saves and scans require an owner or admin. Existing workspace access and SSO requirements still apply.

A package accepts up to 32 UTF-8 text files and 256 KiB including the manifest. Remove hidden files, credentials, binary files, and unnecessary dependencies before uploading. Invalid packages are rejected; no files are silently omitted. The browser reads the selected folder locally, and submits the package only when you save. Use a .fgskill filename for the stored package; you can override its suggested name. To revise it, upload the updated folder. Team users reuse the item name to create a new version. Prior scans are unchanged.

Markdown receives the existing context-aware checks. .sh, .bash, .py, .js, .mjs, .cjs, .ts, and .ps1 files receive explicit text-pattern checks. These are not full language parsers, data-flow analysis, or comprehensive malware checks. Other supplied files receive credential checks only. Script comments with a leading # or // are informational; Markdown caution headings do not downgrade findings in scripts. No code is run, dependencies resolved, or remote content fetched. Coverage and file/line evidence appear with the scan. A score of 100 is not proof of safety, and package scores are versioned separately from Markdown-only scores.

A .fgskill file is a portable JSON manifest with format set to fooguard-skill-package-v1 and a files array of {path, content} entries. Personal Download and Copy install command retrieve this manifest, not an installed agent skill. Review individual files before placing them in your agent's skill folder. Team skill publication remains unavailable; authorized remote MCP Library retrieval can return the retained package for review. Retrieval never executes it. Archive/restore and scan retry behavior are unchanged.

Reviewing skill findings

Findings are grouped by severity and category, with a count of items to review and informational matches. Informational matches do not reduce your security score. Open a finding to inspect its recorded file locations, source evidence, and remediation guidance. Repeated occurrences of a skill rule share one finding; distinct rules remain separate. Skill evidence is limited to 20 recorded locations per finding, so a 20+ count may not show every occurrence.

Skill scans distinguish complete literal display statements and explicit cautions from operational patterns, and check bounded multiline commands and credential assignments. This is static pattern inspection, not full program analysis or proof that a skill is safe. Review the surrounding code before using it. New scans may use a newer scanner version; older saved results remain unchanged.

Import a public GitHub skill folder

In Personal or Team Library → Skills → Add skill, expand Import skill folder from GitHub. Enter owner/repository, a branch, tag or commit, and the folder containing SKILL.md (leave the folder blank for the repository root). Choose Preview GitHub package.

The preview resolves the revision to a full commit and retrieves the folder from that pinned tree. Review the source commit and complete included-file list before saving. Then choose Run scan from the saved skill's row menu; the scan creates a Scans entry tied to that copy. Importing does not run a scan, publish, install or execute the skill.

Packages support at most 32 UTF-8 text files and 256 KiB including the manifest. Symlinks, submodules, binary files, hidden/unsafe paths and incomplete repository trees are rejected instead of silently omitted. Dependencies and linked remote files are not fetched. Source metadata is retained in the portable .fgskill file, but does not certify authorship or safety. Manually supplied package metadata can be edited by its author.

Public GitHub only: private repositories use Upload skill folder. If GitHub rate-limits a preview, retry later or use a local folder. Team saving and scanning still require an owner or admin and the workspace's normal sign-in and storage permissions. Repeated identical saves use the existing content-identity behavior; importing a changed revision requires a new preview and explicit save.

Related pages

Build confidently. Keep your agents accountable.Get help ↗
Search Foo Guard Docs