Not in the top 1,000 by GitHub stars
PyModel/niblet-skill-mcp
MCP server and design skill that grounds coding-agent UI work in real product screens. Two tools, npx-installable.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skill/niblet/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
cf81b1b8ca03 → cf81b1b8ca03
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → cf81b1b8ca03
No earlier version was observed for comparison.
Verified commit cf81b1b8ca03af367082fc7e781551bd79c94ad1
git clone --filter=blob:none --no-checkout https://github.com/PyModel/niblet-skill-mcp.git .hotskills/pymodel-niblet-skill-mcp && git -C .hotskills/pymodel-niblet-skill-mcp checkout --detach cf81b1b8ca03af367082fc7e781551bd79c94ad1
# Copy each selected skill directory from .hotskills/pymodel-niblet-skill-mcp into .agents/skills/<skill-name>/Heat
1.2- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- niblet
skill/niblet
How it works
niblet
When your agent uses it
Keep interface work anchored to the product it belongs to instead of a generic template. Sets a short design contract, builds from the components and tokens already in the codebase, covers the states a surface can actually reach, and closes by looking at the rendered result. Use when building, reworking, or assessing a web or native interface. Trigger with "niblet", "niblet skill", "niblet designer ui", or "niblet review". Skip backend, CLI, data, and infrastructure work, prose-only tasks, and questions the product's own design system already settles.
What it loads into context
Frontmatter
239 tokensAlways available to the agent
SKILL.md
2,230 tokensWhen the skill is activated
Reference documents
7,534 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Start here
- Four modes
- Design contract
- Slop checks
- Required state coverage
- Bounded rendered finish gate
- Optional connection and helpers
Files
LICENSEasset10,791 bytesNOTICEasset183 bytesSKILL.mdcore11,798 bytesSKILL.mdcore11,798 bytesSKILL.mdcore11,798 bytesagents/openai.yamlasset441 bytesreferences/commands.mddoc11,636 bytesreferences/connection.mddoc16,105 bytesreferences/evidence.mddoc7,969 bytesreferences/native.mddoc3,160 bytes
Read SKILL.md
# Niblet
Build an interface that belongs to this product, not a generic template. [Niblet](https://niblet.pymodel.com) is an optional reference catalogue; this skill also works entirely from local product evidence without an MCP connection, account, script, or browser automation.
## Start here
1. Identify the requested surface, action, and scope. Read the product brief, relevant current screens, components, tokens, content, and platform constraints. Inspect the repository directly; this skill has no setup script.
2. Select the surface mode below and write a compact design contract in the conversation or the existing surface brief. Ask only for a consequential decision that the available product evidence cannot answer. Mark other assumptions.
3. Read [the command playbook](references/commands.md) for the requested command. The local MCP adapter registers each entry as `niblet-<command>`; a standalone filesystem installation invokes the same work instructions in ordinary language. For native work, also read [native guidance](references/native.md).
4. Work within the contract. Use existing components and tokens before introducing new ones. If a concrete visual question remains unresolved, follow [the evidence policy](references/evidence.md); reference retrieval is optional, never a prerequisite to useful work.
5. Cover the applicable states and run the bounded finish gate. Report the delivered scope, evidence actually inspected, and any specific verification limitation.
**Routing:** with no target or command, present a short context-aware menu and wait for a choice rather than making changes. An explicit command loads its playbook entry. Otherwise treat the request as ordinary design work. For a new surface or replacement visual world without product context, run `init` first; narrow refinements can proceed from the incumbent implementation. `craft` aliases ordinary new work; `teach` aliases `init`.
View the complete source on GitHubSkills included
- niblet
Repository facts
- License
- Apache-2.0
- Created
- Sep 6, 2026
- Last pushed
- Oct 17, 2026
- Forks
- 4
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 4, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 2 notes
skill/niblet/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskill/niblet/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 26 network referencesin 6 files: niblet/references/connection.md:7 niblet/SKILL.md:7 niblet/LICENSE:1 and 3 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- No access to secrets
- No requests to vote in Hot
Show all 26 signals by file
skill/niblet/LICENSE
skill/niblet/NOTICE
- Network accessline 6
https://github.com/PyModel/niblet-skill-mcp
skill/niblet/SKILL.md
- Network accessline 7
author: 'Mohamed Elkholy (elkaix)' organization: 'PyModel' source: 'https://github.com/PyModel/niblet-skill-mcp' - Network accessline 8
organization: 'PyModel' source: 'https://github.com/PyModel/niblet-skill-mcp' compatibility: 'Claude Code, Codex, Cursor, and GitHub Copilot, or any agent that can open repository files and call an MCP tool.' - Network accessline 9
source: 'https://github.com/PyModel/niblet-skill-mcp' - Network accessline 16
Build an interface that belongs to this product, not a generic template. [Niblet](https://niblet.pymodel.com) is an optional reference catalogue; this skill also works entirely from local product evidence without an MCP connection, account,
skill/niblet/agents/openai.yaml
- Network accessline 5
author: "Mohamed Elkholy (elkaix)" organization: "PyModel" source: "https://github.com/PyModel/niblet-skill-mcp" - Network accessline 6
organization: "PyModel" source: "https://github.com/PyModel/niblet-skill-mcp" license: "Apache-2.0" - Network accessline 7
source: "https://github.com/PyModel/niblet-skill-mcp"
skill/niblet/references/connection.md
- Network accessline 7
The skill can work from the repository, product brief, and supplied screenshots without MCP. The catalogue site is [https://niblet.pymodel.com](https://niblet.pymodel.com); browsing it needs a signed-in account with access. Browser inspecti - Network accessline 14
| ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -------------------------------------------------- - Network accessline 15
| MCP `find_ui_references` / `find_ui_materials` / `get_design_reference` | Preferred agent evidence path | 1–3 results per call - Network accessline 16
[Credential-related source omitted] - Network accessline 22
GET https://niblet-api.pymodel.com/v1/search?q=<question>&limit=3 - Network accessline 26
To inspect a returned screen, call `GET https://niblet-api.pymodel.com/v1/screens/<id>` with the same header. Read only the JSON payload, choose at most three IDs, and stop. Do not paginate the catalogue or raise `limit` above 3 for agent w - Network accessline 28
Without a key there is no catalogue fallback: every catalogue route answers 401. Continue from local product evidence, and tell the user that references need a Niblet account and a key from [niblet.pymodel.com/account](https://niblet.pymode - Network accessline 32
Prerequisite: Node.js **24.15 or later**. The adapter's bundled documents, `niblet_help`, and `niblet_status` work without a token. Its three catalogue tools call REST `/v1`. A public `niblet_at_…` account key created at [niblet.pymodel.com - Network accessline 55
Niblet itself is a hosted service — there is nothing to self-host. For catalogue access, point this adapter at the hosted API: set `NIBLET_TOKEN` to an account key created at `https://niblet.pymodel.com/account` (one key works on the REST c - Network accessline 57
The package contacts `https://niblet-api.pymodel.com` by default, or the HTTP(S) origin in `NIBLET_API_ORIGIN`. It sends the token as bearer authentication for API requests, and never to the media origin. `NIBLET_TOKEN` configures this loca - Network accessline 61
If a catalogue tool fails, read the error: it tells you whether to relay a config change to the user (missing, unexpanded, or placeholder token; website origin instead of `niblet-api.pymodel.com`) or to continue from `niblet://skill` withou - Network accessline 101
Images arrive as MCP image content, fetched only from the configured media origin (`https://niblet.pymodel.com` by default, or `NIBLET_MEDIA_ORIGIN`) and the API origin, without the token, or from `https://niblet.pymodel.com/media/`, which - Network accessline 111
`https://niblet-api.pymodel.com/mcp` - Network accessline 115
[Credential-related source omitted]
skill/niblet/references/evidence.md
- Network accessline 9
Niblet's catalogue site at [niblet.pymodel.com](https://niblet.pymodel.com) is a human browsing surface for signed-in accounts. Agent retrieval goes through the tools and the keyed REST fallback in [the connection guide](connection.md). Use
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 19 facts
- Network access in the frontmatter of the SKILL.mdniblet/SKILL.md:7Low confidence
- Network access in the frontmatter of the SKILL.mdniblet/SKILL.md:8Low confidence
- Network access in the frontmatter of the SKILL.mdniblet/SKILL.md:9Low confidence
- Network access in prose of the SKILL.mdniblet/SKILL.md:16Low confidence
- Network access in prose of documentationniblet/references/connection.md:7Low confidence
- Network access in prose of documentationniblet/references/connection.md:14Low confidence
- Network access in prose of documentationniblet/references/connection.md:15Low confidence
- Network access in prose of documentationniblet/references/connection.md:16Low confidence
- Network access in code of documentationniblet/references/connection.md:22Low confidence
- Network access in prose of documentationniblet/references/connection.md:26Low confidence
- Network access in prose of documentationniblet/references/connection.md:28Low confidence
- Network access in prose of documentationniblet/references/connection.md:32Low confidence
- Network access in prose of documentationniblet/references/connection.md:55Low confidence
- Network access in prose of documentationniblet/references/connection.md:57Low confidence
- Network access in prose of documentationniblet/references/connection.md:61Low confidence
- Network access in prose of documentationniblet/references/connection.md:101Low confidence
- Network access in prose of documentationniblet/references/connection.md:111Low confidence
- Network access in prose of documentationniblet/references/connection.md:115Low confidence
- Network access in prose of documentationniblet/references/evidence.md:9Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skill/niblet/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skill/niblet/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skill/niblet/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skill/niblet/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skill/niblet/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.