# SkillTrustScreen

> **Class** in `deepagents_code`

📖 [View in docs](https://reference.langchain.com/python/deepagents-code/tui/widgets/skill_trust/SkillTrustScreen)

Approval overlay for a skill resolving outside trusted directories.

Dismisses with `True` when the user allows the resolved target and `False`
when the user declines. Esc is treated as deny so the user is never forced
into reading from an untrusted location they did not explicitly choose.

Typed `bool | None` rather than `bool`: a programmatic pop, or the app's
priority Esc binding falling through to `dismiss(None)` (see
`action_cancel`), can yield `None`. The caller collapses `None` and `False`
to deny (`if not allowed`), so both dismiss values fail closed.

## Signature

```python
SkillTrustScreen(
    self,
    skill_name: str,
    target_dir: str,
)
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `skill_name` | `str` | Yes | Name of the skill being invoked. |
| `target_dir` | `str` | Yes | Resolved directory the skill's `SKILL.md` lives in. |

## Extends

- `ModalScreen[bool | None]`

## Constructors

```python
__init__(
    self,
    skill_name: str,
    target_dir: str,
) -> None
```

| Name | Type |
|------|------|
| `skill_name` | `str` |
| `target_dir` | `str` |


## Properties

- `BINDINGS`
- `CSS`

## Methods

- [`compose()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/skill_trust/SkillTrustScreen/compose)
- [`action_confirm()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/skill_trust/SkillTrustScreen/action_confirm)
- [`action_cancel()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/skill_trust/SkillTrustScreen/action_cancel)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/e14e0adcbe78565ed3650e7f24b2a775d5437d25/libs/code/deepagents_code/tui/widgets/skill_trust.py#L24)