Skip to content
Back to skills

Decomposition 2026 11 05

ASecurity

Граф (3 узла): - **Вложенность в 4 уровня** — что: три `if` друг в друге; почему: читатель держит 3 состояния в голове; якорь: строки 2–9; когда: при чтении. - **Ветка `else: return False` повторена трижды** — что: один и тот же выход в трёх местах; почему: правка условия требует правки в трёх местах; якорь: строки 6, 8, 9; когда: при изменении. - **Условия не названы** — что: `user`, `user.active`, `user.age >= 18` свалены в одну проверку; почему: непонятно, какое из них упало; якорь: строки...

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentspython

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add Siririn77/i-have-autism --skill decomposition-2026-11-05 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Decomposition 2026 11 05?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Decomposition 2026 11 05
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/siririn77-decomposition-2026-11-05-6ccd8e26/badge)](https://www.skillsdirectory.com/skills/siririn77-decomposition-2026-11-05-6ccd8e26)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
Граф (3 узла):

- **Вложенность в 4 уровня** — что: три `if` друг в друге; почему: читатель держит 3 состояния в голове; якорь: строки 2–9; когда: при чтении.
- **Ветка `else: return False` повторена трижды** — что: один и тот же выход в трёх местах; почему: правка условия требует правки в трёх местах; якорь: строки 6, 8, 9; когда: при изменении.
- **Условия не названы** — что: `user`, `user.active`, `user.age >= 18` свалены в одну проверку; почему: непонятно, какое из них упало; якорь: строки 2–4; когда: при отладке.

```python
def check(user):
    if not user:
        return False
    if not user.active:
        return False
    return user.age >= 18
```

Что теперь работает: один выход на каждое условие, вложенности нет, порядок проверок читается сверху вниз.

Проверить:

```python
assert check(None) is False
assert check(User(active=False, age=30)) is False
assert check(User(active=True, age=17)) is False
assert check(User(active=True, age=18)) is True
```

Одно отличие, которое я **не** менял: `if not user` — это проверка истинности, а не `is None`. Если `user` равен `0`, `""` или объекту с `__bool__ = False`, исходная функция вернула бы `False`, и новая тоже. Замена на `if user is None` изменила бы поведение — не делайте её.

Короче, если нужна одна строка, тот же результат:

```python
def check(user):
    return bool(user and user.active and user.age >= 18)
```

Но она возвращает `bool(...)` от `user`, а не строго `False`; на `None` это даёт `False`, на объекте с `__bool__ = False` — тоже `False`, поведение совпадает. Выбирайте её, только если тесты выше проходят.

Files in this skill

  • SCORE.md6.6 KB
  • answer-estimate_with-skill.md4 KB
  • answer-estimate_without-skill.md3 KB
  • answer-next-step_with-skill.md1.1 KB
  • answer-next-step_without-skill.md2.7 KB
  • answer-no-preamble_with-skill.md2.5 KB
  • answer-no-preamble_without-skill.md2.7 KB
  • cases.json14.4 KB
  • code-edge-negative_with-skill.md2 KB
  • code-edge-negative_without-skill.md2.2 KB
  • comment-says-why_with-skill.md2.8 KB
  • comment-says-why_without-skill.md1.2 KB
  • decomposition-huge_with-skill.md14.3 KB
  • decomposition-huge_without-skill.md9.8 KB
  • decomposition-small_with-skill.md1.4 KB
  • decomposition-small_without-skill.md242 B
  • destructive-needs-confirmation_with-skill.md3.5 KB
  • destructive-needs-confirmation_without-skill.md3.7 KB
  • disagree-first-line_with-skill.md1.9 KB
  • disagree-first-line_without-skill.md1.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.