Open-source design-system drift scanner — audit tokens, components, a11y & docs; score adoption; hand fixes to your coding agent. Local-first & deterministic.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 1558ef2 · analyzer v33 · 2w ago
skills & prompt files 22
- agent-rules lyse-labs-lyse-1558ef2/.claude/agents/label-a11y.md
- agent-rules lyse-labs-lyse-1558ef2/.claude/agents/label-adjudicator.md
- agent-rules lyse-labs-lyse-1558ef2/.claude/agents/label-ds-architect.md
- agent-rules lyse-labs-lyse-1558ef2/.claude/agents/label-framework-native.md
- agent-rules lyse-labs-lyse-1558ef2/.claude/agents/label-skeptic.md
- agent-rules lyse-labs-lyse-1558ef2/.claude/agents/lyse-investigator.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/brainstorming/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/dispatching-parallel-agents/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/executing-plans/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/finishing-a-development-branch/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/receiving-code-review/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/requesting-code-review/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/subagent-driven-development/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/systematic-debugging/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/test-driven-development/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/using-git-worktrees/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/using-superpowers/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/verification-before-completion/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/writing-plans/SKILL.md
- skill lyse-labs-lyse-1558ef2/.claude/skills/writing-skills/SKILL.md
- agent-rules lyse-labs-lyse-1558ef2/CLAUDE.md
- skill lyse-labs-lyse-1558ef2/packages/core/src/skills/lyse/SKILL.md
danger signals2
- committed secret GitHub token lyse-labs-lyse-1558ef2/packages/core/src/llm/__tests__/secret-scan.test.ts :9
ghp_01…(44 chars, redacted) - committed secret Slack token lyse-labs-lyse-1558ef2/packages/core/src/llm/__tests__/secret-scan.test.ts :10
xoxb-0…(24 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 860
filesystem 305
- fs (weak) lyse-labs-lyse-1558ef2/.claude/skills/brainstorming/scripts/server.cjs :3
const fs = require('fs'); - fs lyse-labs-lyse-1558ef2/.claude/skills/writing-skills/render-graphs.js :16
const fs = require('fs'); - fs (weak) lyse-labs-lyse-1558ef2/packages/core/scripts/copy-bench-assets.mjs :4
import { mkdir, copyFile } from "node:fs/promises"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/scripts/copy-root-docs.mjs :4
import { readFileSync, writeFileSync } from "node:fs"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/scripts/copy-templates.mjs :4
import { mkdir, copyFile, cp } from "node:fs/promises"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/scripts/generate-rules-manifest.mjs :3
import { writeFileSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/agent/handoff.ts :1
import { mkdirSync, writeFileSync } from "node:fs"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/src/agent/isolate.test.ts :2
import { existsSync, mkdirSync, mkdtempSync, writeFileSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/agent/isolate.ts :2
import { mkdtempSync, rmSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/agent/registry.ts :2
import { existsSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/agent/skill.ts :1
import { mkdirSync, readFileSync, writeFileSync } from "node:fs"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/src/agent/spawn-guarded.test.ts :1
import { mkdtempSync, readFileSync } from "node:fs";
show 28 more
- fs (weak) lyse-labs-lyse-1558ef2/packages/core/src/agent/transcript.test.ts :1
import { mkdtempSync, readFileSync, writeFileSync, existsSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/agent/transcript.ts :1
import { createWriteStream, mkdirSync, type WriteStream } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/bench/evidence-pack/histograms.ts :1
import { readFile } from "node:fs/promises"; - fs lyse-labs-lyse-1558ef2/packages/core/src/bench/evidence-pack/manifest-detector.ts :1
import { readFile, readdir } from "node:fs/promises"; - fs lyse-labs-lyse-1558ef2/packages/core/src/bench/evidence-pack/package-json-digest.ts :1
import { readFile } from "node:fs/promises"; - fs lyse-labs-lyse-1558ef2/packages/core/src/bench/evidence-pack/sampler.ts :1
import { readFile } from "node:fs/promises"; - fs lyse-labs-lyse-1558ef2/packages/core/src/cli.ts :3
import { mkdirSync, writeFileSync } from "node:fs"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/src/cli/__tests__/version-migration.test.ts :2
import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync, mkdirSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/cli/version-migration.ts :1
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/codemods/git-helpers.ts :3
import { readFile } from "node:fs/promises"; - fs lyse-labs-lyse-1558ef2/packages/core/src/codemods/migrate-tokens-dtcg.ts :1
import { readFileSync, statSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/codemods/scaffold.ts :1
import { existsSync, readFileSync } from "node:fs"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/src/commands/__tests__/add-ci-gate.test.ts :2
import { mkdtempSync, mkdirSync, readFileSync, writeFileSync, rmSync, existsSync } from "node:fs"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/src/commands/__tests__/add-git-hook.test.ts :11
} from "node:fs"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/src/commands/__tests__/audit-graph-wiring.test.ts :2
import { mkdtempSync, writeFileSync } from "node:fs"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/src/commands/__tests__/email-prompt.test.ts :2
import { mkdtempSync, rmSync, writeFileSync, mkdirSync, readFileSync, existsSync } from "node:fs"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/src/commands/__tests__/feedback.test.ts :2
import { mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/src/commands/__tests__/install.test.ts :3
import { mkdtempSync, rmSync, existsSync, realpathSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/commands/add-ci-gate.ts :11
import { existsSync, mkdirSync, writeFileSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/commands/add-git-hook.ts :13
import { existsSync, mkdirSync, readFileSync, writeFileSync, chmodSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/commands/audit-pipeline.ts :9
import { readFileSync, existsSync, readdirSync, statSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/commands/badge.ts :1
import { mkdirSync, writeFileSync, renameSync } from "node:fs"; - fs (weak) lyse-labs-lyse-1558ef2/packages/core/src/commands/baseline.test.ts :3
import { mkdtempSync, rmSync, mkdirSync, writeFileSync, existsSync, readFileSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/commands/bench-pack.ts :1
import { writeFile, mkdir, readFile } from "node:fs/promises"; - fs lyse-labs-lyse-1558ef2/packages/core/src/commands/email-prompt.ts :1
import { existsSync, readFileSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/commands/feedback.ts :1
import { readFile } from "node:fs/promises"; - fs lyse-labs-lyse-1558ef2/packages/core/src/commands/init-detect.ts :1
import { existsSync, readFileSync, readdirSync } from "node:fs"; - fs lyse-labs-lyse-1558ef2/packages/core/src/commands/init-write-agents-md.ts :1
import { existsSync, readFileSync, writeFileSync } from "node:fs";
265 more not shown — this panel samples each group; the count above is the real total.
shell / exec 63
- shell (weak) lyse-labs-lyse-1558ef2/.claude/skills/brainstorming/scripts/server.cjs :537
const cp = require('child_process'); - shell lyse-labs-lyse-1558ef2/.claude/skills/writing-skills/render-graphs.js :18
const { execSync } = require('child_process'); - shell (weak) lyse-labs-lyse-1558ef2/packages/core/src/agent/isolate.test.ts :1
import { execFileSync } from "node:child_process"; - shell lyse-labs-lyse-1558ef2/packages/core/src/agent/isolate.ts :1
import { execFileSync } from "node:child_process"; - shell lyse-labs-lyse-1558ef2/packages/core/src/agent/registry.ts :1
import { spawn } from "node:child_process"; - shell lyse-labs-lyse-1558ef2/packages/core/src/agent/spawn-guarded.ts :1
import { spawn } from "node:child_process"; - shell lyse-labs-lyse-1558ef2/packages/core/src/codemods/git-helpers.ts :2
import { execFile as execFileCb } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/src/commands/__tests__/add-git-hook.test.ts :2
import { execFileSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/src/commands/__tests__/install.test.ts :2
import { execFileSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/src/commands/baseline.test.ts :6
import { execFileSync } from "node:child_process"; - shell lyse-labs-lyse-1558ef2/packages/core/src/commands/bench-pack.ts :3
import { execFileSync } from "node:child_process"; - shell lyse-labs-lyse-1558ef2/packages/core/src/detection/from-git.ts :2
import { exec as execCb } from "node:child_process";
show 28 more
- shell lyse-labs-lyse-1558ef2/packages/core/src/identity/repo-bucket.ts :2
import { execSync } from "node:child_process"; - shell lyse-labs-lyse-1558ef2/packages/core/src/llm/connectors/agent-cli-adapter.ts :1
import { spawnSync } from "node:child_process"; - shell lyse-labs-lyse-1558ef2/packages/core/src/reliability/feedback/interactive.ts :1
import { execSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/src/reliability/gold/confirm.test.ts :5
import { execFileSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/src/reliability/gold/external-resolution.test.ts :5
import { execFileSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/src/reliability/gold/git.test.ts :5
import { execFileSync } from "node:child_process"; - shell lyse-labs-lyse-1558ef2/packages/core/src/reliability/gold/git.ts :1
import { execFile } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/src/reliability/gold/walk.test.ts :5
import { execFileSync } from "node:child_process"; - shell lyse-labs-lyse-1558ef2/packages/core/src/share/clipboard.ts :1
import { spawn } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/src/util/lyse-gitignore.test.ts :5
import { execFileSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/_helpers/cli.ts :14
import { spawnSync, type SpawnSyncReturns } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/_helpers/git.ts :1
import { execFileSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/agent/handoff.test.ts :3
import { execFileSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/agent/spawn-launcher.test.ts :3
import type { ChildProcess } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.agents-alias.test.ts :2
import { spawnSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.agents-md.test.ts :2
import { execSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.agents-output.test.ts :8
import { execSync, spawnSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.badge.test.ts :2
import { execFileSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.enum-flags.test.ts :2
import { spawnSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.explain-score-path.test.ts :13
import { spawnSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.explain.test.ts :2
import { spawnSync, execSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.global-flags.test.ts :7
import { execSync, spawnSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.handoff-review.test.ts :6
import { spawnSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.html-format.test.ts :2
import { execFileSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.integration.test.ts :2
import { execFileSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.limit-machine-formats.test.ts :2
import { spawnSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.llm-consent.test.ts :2
import { execFileSync } from "node:child_process"; - shell (weak) lyse-labs-lyse-1558ef2/packages/core/tests/cli.manifest.test.ts :2
import { execFileSync } from "node:child_process";
23 more not shown — this panel samples each group; the count above is the real total.
network 7
- net (weak) lyse-labs-lyse-1558ef2/.claude/skills/brainstorming/scripts/server.cjs :2
const http = require('http'); - net lyse-labs-lyse-1558ef2/packages/core/src/commands/email-prompt.ts :97
const res = await fetch(endpoint, { - net lyse-labs-lyse-1558ef2/packages/core/src/reliability/feedback/interactive.ts :45
const res = await fetch(url, { signal: AbortSignal.timeout(timeoutMs) }); - net lyse-labs-lyse-1558ef2/packages/core/src/reliability/feedback/sender.ts :26
const res = await fetch(args.endpoint, { - net lyse-labs-lyse-1558ef2/packages/core/src/render/storybook-source.ts :68
const res = await fetch(`${source.base}/index.json`); - net (weak) lyse-labs-lyse-1558ef2/packages/core/tests/rules/naming-component-pascalcase.test.ts :131
const source = `export function getData() { return fetch('/api'); }`; - net (weak) lyse-labs-lyse-1558ef2/packages/core/tests/security/_recorder.mjs :6
import http from "node:http";
secrets 4
- secrets (weak) lyse-labs-lyse-1558ef2/.claude/skills/brainstorming/scripts/server.cjs :133
if (process.env.BRAINSTORM_TOKEN) { - secrets lyse-labs-lyse-1558ef2/packages/core/src/entitlement/check.ts :29
const licenseKey = process.env["LYSE_LICENSE_KEY"]; - secrets lyse-labs-lyse-1558ef2/packages/core/src/llm/connectors/resolver.ts :170
const apiKey = process.env["OPENROUTER_API_KEY"] ?? ""; - secrets (weak) lyse-labs-lyse-1558ef2/packages/core/tests/entitlement/check.test.ts :6
const originalEnv = process.env["LYSE_LICENSE_KEY"];
declared dependencies 10
- @changesets/cli@^2.31.0
- @eslint/js@^9.13.0
- @types/node@22.19.19
- eslint@9.39.4
- prettier@3.8.3
- tsx@^4.22.4
- typescript@6.0.3
- typescript-eslint@^8.60.1
- vitest@4.1.8
- yaml@2.9.0
clipboard 2
- clipboard shell call lyse-labs-lyse-1558ef2/packages/core/src/share/clipboard.ts :10
{ cmd: "wl-copy", args: [] }, - clipboard shell call lyse-labs-lyse-1558ef2/packages/core/tests/share/clipboard.test.ts :46
it("LINUX_CLIPBOARD_CANDIDATES contains wl-copy, xclip, xsel in that order", () => {