Not in the top 1,000 by GitHub stars
glebis/humane-agentic-design
Humane Agentic Design — a human-centric design method cycle for people and agents
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
humane/skills/before-after/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/brand-illustrate/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/brandkit/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/design-frameworks/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/design-tokens/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/jtbd/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/layout-rules/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/narrative-scrollytelling/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/nielsen-heuristics/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/persona-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/prototype/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/respondent-panel/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/semantic-micro-interactions/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/setup/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/sound-effects/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/type-specimen/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/typography/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/using-humane/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/ux-writing/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
humane/skills/walkthrough/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
e7d867ddcc8c → e7d867ddcc8c
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → e7d867ddcc8c
No earlier version was observed for comparison.
Verified commit e7d867ddcc8cb5a34ecf5eaacaee8fc5aa117c93
git clone --filter=blob:none --no-checkout https://github.com/glebis/humane-agentic-design.git .hotskills/glebis-humane-agentic-design && git -C .hotskills/glebis-humane-agentic-design checkout --detach e7d867ddcc8cb5a34ecf5eaacaee8fc5aa117c93
# Copy each selected skill directory from .hotskills/glebis-humane-agentic-design into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/glebis/humane-agentic-design.git .hotskills/glebis-humane-agentic-design && git -C .hotskills/glebis-humane-agentic-design checkout --detach e7d867ddcc8cb5a34ecf5eaacaee8fc5aa117c93
# Copy each selected skill directory from .hotskills/glebis-humane-agentic-design into .agents/skills/<skill-name>/Heat
1.0- 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
- before-after
humane/skills/before-after - brand-illustrate
humane/skills/brand-illustrate - brandkit
humane/skills/brandkit - design-frameworks
humane/skills/design-frameworks - design-tokens
humane/skills/design-tokens - jtbd
humane/skills/jtbd - layout-rules
humane/skills/layout-rules - narrative-scrollytelling
humane/skills/narrative-scrollytelling - nielsen-heuristics
humane/skills/nielsen-heuristics - persona-review
humane/skills/persona-review - prototype
humane/skills/prototype - respondent-panel
humane/skills/respondent-panel - review
humane/skills/review - semantic-micro-interactions
humane/skills/semantic-micro-interactions - setup
humane/skills/setup - sound-effects
humane/skills/sound-effects - type-specimen
humane/skills/type-specimen - typography
humane/skills/typography - using-humane
humane/skills/using-humane - ux-writing
humane/skills/ux-writing - walkthrough
humane/skills/walkthrough
How it works
before-after
When your agent uses it
Generate emotional Before/After transformation grids for products, lectures, and offers. Chainable from humane:jtbd output. Uses empathy mapping, first-person voice, somatic markers, and valence scoring to produce grids ready for landing pages, slides, and messaging. This skill should be used when the user wants to articulate the transformation their product/service creates, build a before/after grid, or chain from a JTBD interview into emotional copywriting. Triggers on before/after grid, transformation grid, "what's the transformation", landing page transformation section, emotional copywriting, chain from JTBD.
What it loads into context
Frontmatter
162 tokensAlways available to the agent
SKILL.md
2,525 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to invoke
- Mode selection
- Chained Mode: JTBD → Grid
- Standalone Mode
- Output format
- Visual generation
- Downstream use
- Anti-patterns to avoid
- Tone
Files
../../../.claude-plugin/marketplace.jsonasset1,130 bytes../../.claude-plugin/plugin.jsonasset463 bytesSKILL.mdcore11,771 bytesagents/openai.yamlasset121 bytes
Read SKILL.md
# Before/After Transformation Grid
**Announce at start:** "I'm using the humane:before-after skill to capture the felt transformation as a before/after grid."
Generate emotionally precise Before/After grids that capture the felt transformation a product, lecture, or service creates. Not feature lists — lived experience shifts.
## When to invoke
- "Build a before/after grid"
- "What's the transformation?"
- "Chain this JTBD into a before/after"
- "I need a landing page transformation section"
- After completing a `humane:jtbd` interview, as a natural next step
View the complete source on GitHubbrand-illustrate
When your agent uses it
Turn design tokens into a coherent, on-brand illustration set through a short step-by-step questionnaire, then generate with whichever image backend is installed (gpt-image-2 / nano-banana). Assembles the prompt scaffold from the token palette + brand block, merges layout-rules de-slop negatives, requests platform preset sizes, saves a reusable recipe, and hands the batch to review. Use when a project already has a token set and needs images that match it, or when an earlier batch should be re-run from its saved recipe. Triggers on brand illustrations, on-brand images, illustration set, generate images matching my brand, illustrate this section on-brand, contact sheet.
What it loads into context
Frontmatter
176 tokensAlways available to the agent
SKILL.md
2,790 tokensWhen the skill is activated
Reference documents
344 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Where output goes
- What you need first
- The questionnaire
- Fast path (guardrail)
- Quick reference
- Running it
- What a batch produces
- Review handoff
- Coherence, honestly
- Guardrails (do not violate)
- Tests
Scripts executed separately
scripts/illustrate.pytests/test_illustrate.py
Files
SKILL.mdcore11,410 bytesSKILL.mdcore11,410 bytesagents/openai.yamlasset127 bytesreferences/run-catalog.mddoc1,303 bytesscripts/illustrate.pyruns47,680 bytestests/fixtures/brand.tokens.jsonasset1,189 bytestests/test_illustrate.pyruns24,748 bytes
Read SKILL.md
# brand-illustrate
**Announce at start:** "I'm using the humane:brand-illustrate skill to generate an on-brand illustration set from existing tokens."
Ring-2 humane skill. It reads the on-brand contract a `design-tokens` set already
carries (palette with roles, fonts, shape, and the `$extensions` brand block) and
walks the user through a short questionnaire — JTBD-style, one step at a time — to
scaffold prompts that stay on-brand and generate a *set that reads as one family*.
Generators live **outside** the plugin. This skill is a thin adapter: it composes
the prompt and shells out to whichever backend is installed. It never bundles a
generator, an API client, or your keys.
**No backend is not a dead end.** The prompts are what this skill actuallyView the complete source on GitHubbrandkit
When your agent uses it
This skill should be used when EXPLORING a brand identity that does not exist yet. Generates premium brand-guidelines boards for competing directions, and hands the WINNING direction off into the design-tokens brand block (confirm-then-write). Upstream of tokens; for producing assets under an EXISTING token contract use brand-illustrate instead. Carries reference direction for minimalist, cinematic, editorial, dark-tech, luxury, cultural, security, gaming, developer-tool, and consumer-app brand systems. Triggers on brand kit, brand board, brand directions, identity candidates, identity direction, logo system, brand guidelines deck, visual identity exploration, визуальные направления бренда.
What it loads into context
Frontmatter
169 tokensAlways available to the agent
SKILL.md
1,558 tokensWhen the skill is activated
Reference documents
3,031 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Where output goes
- Where this sits in the cycle
- Core principle
- Quick Reference
- Step 1 — Strategy before pixels
- Step 2 — Compose the board
- Anti-generic rules
- Step 3 — Explore directions, then hand off
- Tests
Scripts executed separately
scripts/brandkit.pytests/test_brandkit.py
Files
SKILL.mdcore6,802 bytesSKILL.mdcore6,802 bytesSKILL.mdcore6,802 bytesagents/openai.yamlasset123 bytesreferences/art-direction.mddoc3,437 bytesreferences/board-composition.mddoc2,482 bytesreferences/logo-concepts.mddoc2,390 bytesreferences/prompt-template.mddoc1,742 bytesreferences/visual-modes.mddoc3,289 bytesscripts/brandkit.pyruns11,186 bytestests/fixtures/set.tokens.jsonasset270 bytestests/test_brandkit.pyruns6,128 bytes
Read SKILL.md
# Brandkit
**Announce at start:** "I'm using the humane:brandkit skill to explore competing brand identity directions."
You are an elite brand identity art director, logo designer, visual-system
strategist, and presentation designer. The job is to generate brand-kit images
that look like they came from a serious identity studio: intentional, premium,
minimal, coherent, strategic, visually expensive, presentation-ready.
Create a complete brand world in one image. Do not generate generic logos,
random mockups, or messy AI moodboards.
## Where output goes
View the complete source on GitHubdesign-frameworks
When your agent uses it
Fit an already-decided interface to an existing design system or UI toolchain through a capability-probed preset, using the system's own CLI, registry, MCP server, manifests, tokens, and checks instead of inventing parallel conventions. Use after the product job, evidence, concept, and prototype are settled enough to implement, or when bringing an existing build back into framework compliance. Not for choosing the product concept, visual brand, or research method. Triggers on design frameworks, design system adapter, use Astryx, use shadcn, use Storybook, fit this to our component library, existing design system, component registry, framework compliance, agent-ready design system, "implement with our design system".
What it loads into context
Frontmatter
187 tokensAlways available to the agent
SKILL.md
1,769 tokensWhen the skill is activated
Reference documents
2,909 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Reference
- 1. Establish the implementation brief
- 2. Select, then verify, a preset
- 3. Discover before composing
- 4. Produce a fit plan before a patch
- 5. Apply only an approved preview
- 6. Validate in two lanes
- Never override
- Output
Scripts executed separately
scripts/validate_fixtures.pytests/test_contract.py
Files
SKILL.mdcore8,803 bytesSKILL.mdcore8,803 bytesSKILL.mdcore8,803 bytesagents/openai.yamlasset293 bytesreferences/adapter-contract.schema.jsonasset11,004 bytesreferences/astryx.mddoc3,603 bytesreferences/contract.mddoc3,370 bytesreferences/presets.mddoc2,782 bytesreferences/shadcn.mddoc2,052 bytesreferences/storybook.mddoc1,741 bytesscripts/validate_fixtures.pyruns12,033 bytestests/fixtures/astryx.discovery.jsonasset4,809 bytestests/fixtures/shadcn.discovery.jsonasset4,488 bytestests/fixtures/storybook.discovery.jsonasset4,943 bytestests/test_contract.pyruns3,944 bytes
Read SKILL.md
# Design Frameworks
**Announce at start:** "I'm using the humane:design-frameworks skill to fit this implementation to the project's existing design system without changing the product decision above it."
This skill is an implementation adapter. It translates a settled-enough design
decision into the components, patterns, tokens, themes, templates, and checks an
existing system actually provides. It does not decide what the product should
be.
The Humane method stays above every preset:
`job → evidence → concept → prototype → review → learning`
A preset may report that the system cannot express the accepted concept. It mayView the complete source on GitHubdesign-tokens
When your agent uses it
Sets up, validates, resolves, and exports design tokens per the DTCG (Design Tokens Community Group) Format Module 2025.10 standard, and owns all colour contrast measurement and remediation — every text/background pair on both APCA Lc and the WCAG ratio via `tokens contrast`, with a fix that moves OKLCH lightness only. Use when the user wants to define a design token set globally or per project, compile tokens to CSS variables, layer a project's tokens over a global brand base, check whether a palette is readable, or produce an on-brand context file for other generation skills. Triggers on "set up design tokens", "create a token set", "compile tokens to CSS", "design system variables", "brand tokens", "check contrast", "WCAG", "APCA", "is this text readable", "contrast audit", "проверь контраст".
What it loads into context
Frontmatter
308 tokensAlways available to the agent
SKILL.md
4,551 tokensWhen the skill is activated
Reference documents
24,241 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Standard vs convention
- v1 scope
- Quick reference
- Commands
- Contrast
- Brand-style extensions ($extensions)
- Serving previews (default)
- Extracting tokens from a live site
- Prompt door (tokens → generation)
- DESIGN.md output
- Storage convention
- Tests
Scripts executed separately
conftest.pyscripts/dtokens/__init__.pyscripts/dtokens/annotate.pyscripts/dtokens/brand_summary.pyscripts/dtokens/cli.pyscripts/dtokens/contrast.pyscripts/dtokens/export_css.pyscripts/dtokens/export_design_md.pyscripts/dtokens/export_preview_html.pyscripts/dtokens/export_prompt.pyscripts/dtokens/generate.pyscripts/dtokens/import_css.pyscripts/dtokens/merge.pyscripts/dtokens/model.pyscripts/dtokens/resolve.pyscripts/dtokens/serve.pyscripts/dtokens/validate.pyscripts/tokenstests/__init__.pytests/test_annotate.pytests/test_brand_summary.pytests/test_cli.pytests/test_cli_import.pytests/test_contrast.pytests/test_export_css.pytests/test_export_design_md.pytests/test_export_preview_html.pytests/test_export_prompt.pytests/test_generate.pytests/test_import_css.pytests/test_merge.pytests/test_model.pytests/test_resolve.pytests/test_serve.pytests/test_templates.pytests/test_validate.py
Files
SKILL.mdcore18,111 bytesSKILL.mdcore18,111 bytesSKILL.mdcore18,111 bytesSKILL.mdcore18,111 bytesSPEC-imagegen.mddoc3,607 bytesagents/openai.yamlasset127 bytesconftest.pyruns165 bytesexamples/dali-museum/DESIGN.mddoc2,722 bytesexamples/dali-museum/dali-museum.tokens.jsonasset2,670 bytesexamples/dali-museum/image-prompts.mddoc4,176 bytesexamples/dali-museum/landing/index.htmlasset25,489 bytesexamples/dali-museum/preview-full.htmlasset8,655 bytesexamples/dali-museum/preview.htmlasset7,325 bytesexamples/dali-museum/tokens.cssasset1,486 bytesexamples/dali-museum/tufte-theme.cssasset1,105 bytesexamples/gsap/DESIGN.mddoc11,788 bytesexamples/halcyon/halcyon.tokens.jsonasset1,422 bytesexamples/halcyon/images/halcyon-bauhaus.jsonasset577 bytesexamples/halcyon/images/halcyon-bauhaus.pngasset1,695,518 bytesexamples/halcyon/images/halcyon-editorial.jsonasset581 bytesexamples/halcyon/images/halcyon-editorial.pngasset766,408 bytesexamples/halcyon/images/halcyon-isometric.jsonasset581 bytesexamples/halcyon/images/halcyon-isometric.pngasset1,509,833 bytesexamples/halcyon/images/halcyon-poster.jsonasset575 bytesexamples/halcyon/images/halcyon-poster.pngasset1,036,375 bytesexamples/halcyon/images/icon-book.jsonasset721 bytesexamples/halcyon/images/icon-book.pngasset1,439,079 bytesexamples/halcyon/images/icon-compass.jsonasset745 bytesexamples/halcyon/images/icon-compass.pngasset1,461,174 bytesexamples/halcyon/images/icon-hourglass.jsonasset736 bytesexamples/halcyon/images/icon-hourglass.pngasset1,425,827 bytesexamples/halcyon/images/icon-lighthouse.jsonasset749 bytesexamples/halcyon/images/icon-lighthouse.pngasset1,473,397 bytesexamples/halcyon/images/icon-mountain.jsonasset747 bytesexamples/halcyon/images/icon-mountain.pngasset1,456,900 bytesexamples/halcyon/images/icon-sprout.jsonasset746 bytesexamples/halcyon/images/icon-sprout.pngasset1,659,278 bytesexamples/halcyon/resolved/DESIGN.mddoc1,278 bytesexamples/halcyon/resolved/image-prompts.mddoc3,401 bytesexamples/halcyon/resolved/preview.htmlasset4,336 bytesexamples/halcyon/resolved/tokens.cssasset761 bytesexamples/halcyon/resolved/tufte-theme.cssasset1,042 bytesexamples/halcyon/style-explore.htmlasset52,447 bytesexamples/monaspace/block-prompts.mddoc19,122 bytesexamples/monaspace/monaspace.htmlasset27,320 bytesexamples/monaspace/resolved/DESIGN.mddoc2,000 bytesexamples/monaspace/resolved/image-prompts.mddoc3,671 bytesexamples/monaspace/resolved/preview-full.htmlasset8,192 bytesexamples/monaspace/resolved/preview.htmlasset6,143 bytesexamples/monaspace/resolved/tokens.cssasset1,428 bytesexamples/monaspace/resolved/tufte-theme.cssasset1,157 bytesexamples/monaspace/showcase-blocks.htmlasset29,310 bytesexamples/monaspace/showcase.DESIGN.mddoc5,363 bytesexamples/monaspace/showcase.tokens.cssasset2,673 bytesexamples/monaspace/showcase.tokens.jsonasset6,191 bytesexamples/universal/DESIGN.mddoc4,121 bytesexamples/universal/PRODUCT.mddoc3,974 bytesexamples/universal/README.mddoc2,998 bytesexamples/universal/base.tokens.jsonasset5,497 bytesexamples/universal/blocks.htmlasset17,183 bytesexamples/universal/ink-art/a1-brackets-grid.jsonasset382 bytesexamples/universal/ink-art/a1-brackets-grid.pngasset235,572 bytesexamples/universal/ink-art/a2-layer-stack.jsonasset389 bytesexamples/universal/ink-art/a2-layer-stack.pngasset832,173 bytesexamples/universal/ink-art/a3-glyph-nodes.jsonasset379 bytesexamples/universal/ink-art/a3-glyph-nodes.pngasset929,799 bytesexamples/universal/ink-art/a4-prism-fan.jsonasset379 bytesexamples/universal/ink-art/a4-prism-fan.pngasset295,136 bytesexamples/universal/ink-art/b1-geometry-bauhaus.jsonasset581 bytesexamples/universal/ink-art/b1-geometry-bauhaus.pngasset673,686 bytesexamples/universal/ink-art/b2-semicircle.jsonasset522 bytesexamples/universal/ink-art/b2-semicircle.pngasset661,333 bytesexamples/universal/ink-art/b3-rings.jsonasset435 bytesexamples/universal/ink-art/b3-rings.pngasset742,400 bytesexamples/universal/ink-art/c1-desk.jsonasset892 bytesexamples/universal/ink-art/c1-desk.pngasset564,337 bytesexamples/universal/ink-art/c2-stack.jsonasset882 bytesexamples/universal/ink-art/c2-stack.pngasset434,706 bytesexamples/universal/ink-art/c3-present.jsonasset887 bytesexamples/universal/ink-art/c3-present.pngasset473,199 bytesexamples/universal/ink-art/c4-book.jsonasset887 bytesexamples/universal/ink-art/c4-book.pngasset514,839 bytesexamples/universal/ink-art/c5-swatch.jsonasset887 bytesexamples/universal/ink-art/c5-swatch.pngasset554,855 bytesexamples/universal/ink.cssasset2,017 bytesexamples/universal/paper.cssasset1,976 bytesexamples/universal/theme-ink.tokens.jsonasset1,298 bytesreferences/commands.mddoc5,779 bytesreferences/prompt-fidelity-notes.mddoc2,139 bytesreferences/providers.mddoc5,669 bytesscripts/dtokens/__init__.pyruns191 bytesscripts/dtokens/annotate.pyruns13,721 bytesscripts/dtokens/brand_summary.pyruns5,512 bytesscripts/dtokens/cli.pyruns22,150 bytesscripts/dtokens/contrast.pyruns32,059 bytesscripts/dtokens/export_css.pyruns2,675 bytesscripts/dtokens/export_design_md.pyruns15,320 bytesscripts/dtokens/export_preview_html.pyruns14,455 bytesscripts/dtokens/export_prompt.pyruns9,482 bytesscripts/dtokens/generate.pyruns4,909 bytesscripts/dtokens/import_css.pyruns2,689 bytesscripts/dtokens/merge.pyruns982 bytesscripts/dtokens/model.pyruns2,359 bytesscripts/dtokens/resolve.pyruns1,571 bytesscripts/dtokens/serve.pyruns2,605 bytesscripts/dtokens/validate.pyruns6,098 bytesscripts/tokensruns297 bytestemplates/base.tokens.jsonasset565 bytestemplates/brand-extensions.example.jsonasset998 bytestemplates/gsap.tokens.jsonasset11,479 bytestemplates/monaspace.tokens.jsonasset2,488 bytestests/__init__.pyruns0 bytestests/fixtures/design-md-source.tokens.jsonasset905 bytestests/fixtures/expected.DESIGN.mddoc1,340 bytestests/fixtures/expected.tokens.cssasset93 bytestests/fixtures/global.base.tokens.jsonasset243 bytestests/fixtures/import-source.cssasset336 bytestests/fixtures/project.override.tokens.jsonasset79 bytestests/test_annotate.pyruns2,772 bytestests/test_brand_summary.pyruns2,322 bytestests/test_cli.pyruns7,471 bytestests/test_cli_import.pyruns1,005 bytestests/test_contrast.pyruns25,287 bytestests/test_export_css.pyruns3,378 bytestests/test_export_design_md.pyruns7,759 bytestests/test_export_preview_html.pyruns3,596 bytestests/test_export_prompt.pyruns4,129 bytestests/test_generate.pyruns3,043 bytestests/test_import_css.pyruns1,972 bytestests/test_merge.pyruns1,211 bytestests/test_model.pyruns1,910 bytestests/test_resolve.pyruns1,011 bytestests/test_serve.pyruns944 bytestests/test_templates.pyruns1,262 bytestests/test_validate.pyruns3,822 bytes
Read SKILL.md
# Design Tokens
**Announce at start:** "I'm using the humane:design-tokens skill to set up, resolve, and export this token set."
Manage [DTCG 2025.10](https://www.designtokens.org/tr/drafts/format/) design tokens
with a dependency-free Python core. v1 covers the deterministic spine: scaffold,
validate, merge (global base + project override), resolve aliases, and export CSS.
## Standard vs convention
- **Standard (DTCG):** `*.tokens.json`, `$value`/`$type`, whole-value `{alias}` references.
- **Skill convention (NOT DTCG):** global-base / project-override layering via `merge`,
and theme-as-override-file. These are labelled in code; do not present them as standard.
View the complete source on GitHubjtbd
When your agent uses it
Terminal-first JTBD engine for founders and product people. Interview fast, kill jargon, capture real switching forces (Push/Pull/Habit/Anxiety), score opportunities, and export structured artifacts (JSON + one-pager + messaging angles + GTM brief). Use when the user says "help me figure out what to build", "analyze these customer reviews", "what are people actually hiring this for", "I need messaging for my product", "turn this interview into insights", "what should I prioritize", or any variation of articulating what a project does, why it matters, who it's for, or converting interview/review/transcript signal into a decision-grade brief. Triggers on "describe my project", "JTBD", "jobs to be done", "switching forces", or "mine these reviews".
What it loads into context
Frontmatter
313 tokensAlways available to the agent
SKILL.md
4,209 tokensWhen the skill is activated
Reference documents
8,642 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Purpose
- When to invoke
- Mode selection
- Scope discipline
- Interview flow
- Granularity Gate (pre-save validator)
- Jargon Kill Switch
- Output schema
- Transcript Ingest Mode
- Review-Mining Intake
- Update Mode
- ODI Scoring Mode (optional)
- Graph Mode (visual review)
- Reports (executive summary)
- After the interview — Output Bundle
- Downstream pipeline (superpowers integration)
- Naming convention
- Tone
Scripts executed separately
scripts/graph.pyscripts/ingest_transcript.pyscripts/mine_reviews.pyscripts/odi_score.pyscripts/report.pyscripts/validate_granularity.pyscripts/validate_outcome.pytests/test_graph.pytests/test_ingest_transcript.pytests/test_mine_reviews.pytests/test_odi_score.pytests/test_report.pytests/test_validate_granularity.pytests/test_validate_outcome.py
Files
.gitignoreasset34 bytesSKILL.mdcore17,638 bytesSKILL.mdcore17,638 bytesSKILL.mdcore17,638 bytesSKILL.mdcore17,638 bytesSKILL.mdcore17,638 bytesSKILL.mdcore17,638 bytesagents/openai.yamlasset118 bytesreferences/granularity_fixes.mddoc3,013 bytesreferences/jargon_blacklist.mddoc3,708 bytesreferences/job_map.mddoc2,754 bytesreferences/odi.mddoc3,423 bytesreferences/output-schema.mddoc1,748 bytesreferences/review_taxonomy.mddoc5,055 bytesreferences/superpowers_handoff.mddoc3,485 bytesreferences/switch_forces.mddoc5,753 bytesscripts/graph.pyruns15,425 bytesscripts/ingest_transcript.pyruns9,646 bytesscripts/mine_reviews.pyruns15,865 bytesscripts/odi_score.pyruns322 bytesscripts/report.pyruns18,092 bytesscripts/validate_granularity.pyruns4,145 bytesscripts/validate_outcome.pyruns2,375 bytestemplates/data.jsonasset121,960 bytestemplates/example_bad_then_fixed.jsonasset4,486 bytestemplates/example_good.jsonasset2,269 bytestemplates/graph.htmlasset126,955 bytestemplates/gtm-brief.mddoc1,993 bytestemplates/messaging-angles.mddoc2,050 bytestemplates/one-pager.mddoc1,157 bytestemplates/review-brief.mddoc1,424 bytestests/test_graph.pyruns9,987 bytestests/test_ingest_transcript.pyruns13,413 bytestests/test_mine_reviews.pyruns11,131 bytestests/test_odi_score.pyruns667 bytestests/test_report.pyruns8,024 bytestests/test_validate_granularity.pyruns3,570 bytestests/test_validate_outcome.pyruns1,727 bytes
Read SKILL.md
# JTBD Project Describer
**Announce at start:** "I'm using the humane:jtbd skill to capture the job and its switching forces."
## Purpose
Conduct a focused Jobs-to-Be-Done interview for one project and emit a decision-grade artifact bundle. The bundle contains a machine-readable `jtbd.json`, a shareable `one-pager.md`, and a `messaging-angles.md` derived from Switch forces. Ingest voice transcripts or review exports when available.
## When to invoke
- "Describe my project in JTBD."
- "Turn this interview transcript into a JTBD brief."
- "Mine these reviews for jobs."
- "I need messaging from this product idea."View the complete source on GitHublayout-rules
When your agent uses it
A battle-tested avoid-list of 39 structural and interaction defect classes for tool/dashboard UIs (structure, footers/metrics, tables, color/contrast, URL state, JS traps, accessibility/touch, i18n/theming, de-slop), distilled from a real build/audit cycle. Use when designing, building, or reviewing any layout, dashboard, data-dense tool UI, viewer, or admin interface. Triggers on "design a layout", "build a dashboard", "make a viewer/tool UI", "review this UI", "какие правила дизайна", or before writing any HTML/CSS for a tool-like interface.
What it loads into context
Frontmatter
212 tokensAlways available to the agent
SKILL.md
1,323 tokensWhen the skill is activated
Reference documents
2,067 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Usage
- Post-build checklist (the ones most often violated)
- Conflict precedence
- What this skill does not own
- Review Output Format
Files
SKILL.mdcore5,477 bytesSKILL.mdcore5,477 bytesSKILL.mdcore5,477 bytesagents/openai.yamlasset118 byteslayout-design-rules.mddoc8,849 bytes
Read SKILL.md
# Layout Rules
**Announce at start:** "I'm using the humane:layout-rules skill to check this layout against the defect avoid-list."
A defect-class avoid-list for tool/dashboard UIs. Every rule is a bug or design smell actually caught in a real build-and-audit cycle — treat them as hard constraints, not suggestions.
## Usage
1. Read the full ruleset: `layout-design-rules.md`, bundled next to this file (single source of truth — do not duplicate it here).
2. **Before designing**: apply sections «Structure & hierarchy», «Color & contrast», «De-slop» as constraints in the design plan. Say explicitly which rules shaped the plan.
3. **While building**: enforce «Footers, metrics, copy», «Tables & lists», «State & navigation», «Interaction correctness», «Accessibility & touch», «i18n & theming».
4. **After building**: run the post-build checklist below; screenshot-test in a real browser (rule 29) on both themes and on an empty/minimal dataset (rule 30).
## Post-build checklist (the ones most often violated)View the complete source on GitHubnarrative-scrollytelling
When your agent uses it
Turn an ordered sequence of ideas into a readable scroll-based story with canonical document order, deliberate step or progress transitions, native scrolling, and static, reduced-motion, keyboard, touch, and no-JavaScript fallbacks. Use when a method, argument, timeline, process, or visual explanation should unfold as the reader scrolls rather than behave like a slide deck. Triggers on scrollytelling, scroll story, narrative scroll, sticky story, scroll-driven narrative, scroll animation, step story, chapter reveal, pinned visual, interactive article.
What it loads into context
Frontmatter
180 tokensAlways available to the agent
SKILL.md
1,197 tokensWhen the skill is activated
Reference documents
1,120 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick reference
- Build the story map
- Hard boundaries
- Embedded interactions and sound
- Verification and handoff
- What this skill does not own
Scripts executed separately
scripts/validate_map.py
Files
SKILL.mdcore5,843 bytesSKILL.mdcore5,843 bytesSKILL.mdcore5,843 bytesagents/openai.yamlasset281 bytesreferences/contract.mddoc2,908 bytesreferences/patterns.mddoc2,211 bytesscripts/validate_map.pyruns3,692 bytestemplates/story-map.jsonasset1,099 bytes
Read SKILL.md
# Narrative Scrollytelling
**Announce at start:** "I'm using the humane:narrative-scrollytelling skill to turn this sequence into a scroll story that remains a readable document."
Scrollytelling is a document before it is choreography. The ordered ideas,
headings, prose and media alternatives form a complete canonical reading order;
scroll position may change their presentation, never their existence or meaning.
## Quick reference
| Need | Read |
| --- | --- |
| Story shapes, drivers, sticky stages and pacing | `references/patterns.md` |
| The story-map fields and fallback invariants | `references/contract.md` |View the complete source on GitHubnielsen-heuristics
When your agent uses it
Run a formal heuristic evaluation of a design artifact against Jakob Nielsen's 10 usability heuristics, producing an evidence-backed, severity-scored report with honesty guards. Accepts a screenshot, live URL, codebase/HTML, interface description, or JTBD/spec doc, and adapts its rigor to what is actually observable. Renders as markdown or a Tufte-style HTML report, and can export findings as Linear or Beads tasks after confirmation. Triggers on heuristic evaluation, usability review, Nielsen heuristics check, UX heuristic audit, usability inspection.
What it loads into context
Frontmatter
146 tokensAlways available to the agent
SKILL.md
2,270 tokensWhen the skill is activated
Reference documents
5,187 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Scope guard (read first)
- Step 1 — Detect artifact type and select a mode
- Step 2 — Inventory (mandatory, before judging)
- Step 3 — Walk all 10 heuristics
- Step 3b — Restraint, caps, and what you could not check
- Step 4 — Emit the report (choose an output format)
- Verdict (scoped — never "ready to ship")
- Step 5 — Export findings as tasks (optional)
Files
SKILL.mdcore10,003 bytesagents/openai.yamlasset126 bytesassets/jakob-nielsen.pngasset1,240,543 bytesreferences/artifact-guide.mddoc4,234 bytesreferences/heuristics.mddoc7,851 bytesreferences/report-template.mddoc3,321 bytesreferences/task-export.mddoc4,242 bytesreferences/tufte-preset.mddoc2,579 bytes
Read SKILL.md
# Nielsen Heuristics Validator
> Mascot: `assets/jakob-nielsen.png` — a line-art portrait of Jakob Nielsen. Surface it (embed or attach) when producing a rendered/HTML report or a shareable summary, as the evaluation's signature. It is an output asset, not context to read while evaluating.
**Announce at start:** "I'm using the humane:nielsen-heuristics skill to evaluate this against Nielsen's 10 usability heuristics."
Run a rigorous, evidence-disciplined heuristic evaluation against Jakob Nielsen's 10 usability heuristics (Nielsen & Molich 1990, refined 1994). The value over an ad-hoc "critique this UI" prompt is a **consistent rubric plus honesty guards**: sharp per-heuristic probes, a per-finding severity scale, a mandatory evidence-locator requirement, and correct handling of artifacts that have no observable interface.
## Scope guard (read first)
This skill does ONE thing: a formal heuristic inspection. It does NOT run a parallel accessibility (WCAG) audit, performance audit, or general design critique. Flag an accessibility issue **only when it is also a heuristic violation** (e.g., an invisible focus state violates H1: visibility of system status). If the user wants comprehensive multi-dimension auditing, defer to `humane:review`, which orchestrates this skill alongside `layout-rules`, `ux-writing`, `walkthrough`, and `design-tokens` contrast — and marks the domains it cannot cover rather than improvising them. For post-build polish specifically, `impeccable:audit` is the right tool if installed.
## Step 1 — Detect artifact type and select a mode
View the complete source on GitHubpersona-review
When your agent uses it
Review a document from multiple stakeholder perspectives (personas), collect structured feedback, and optionally update the document. Use when a document should be stress-tested from different viewpoints before sharing — e.g., "review this PRD from an engineer's perspective", "what would a skeptical investor say about this pitch?" Triggers on persona review, review from a stakeholder perspective, what would an engineer say, stress-test this PRD, review this pitch, skeptical investor.
What it loads into context
Frontmatter
98 tokensAlways available to the agent
SKILL.md
923 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Usage
- Workflow
- Guidelines
Files
SKILL.mdcore4,238 bytesagents/openai.yamlasset128 bytes
Read SKILL.md
# Persona Review
**Announce at start:** "I'm using the humane:persona-review skill to stress-test this document from stakeholder perspectives."
## Overview
Takes a document and reviews it from N configurable personas. Each persona reads the document independently, provides structured feedback, then optionally the document is updated to address the feedback.
## Usage
```
/persona-review [file-path] [personas]
```
View the complete source on GitHubprototype
When your agent uses it
Make an idea lookable and clickable at the cheapest fidelity that answers its one open question — an ASCII sketch, a hand-drawn storyboard of moves, an SVG click-dummy with hotspots linking screens, or a self-contained HTML file. Use when the user wants to see or try an idea before committing to structure, tokens, or copy. Triggers on prototype, wireframe, mockup, click-dummy, sketch the screens, storyboard, hand-drawn sketch, sketchy wireframe, "draw the flow", "what would this look like", "mock this up", "show me the flow", "прототип", "макет".
What it loads into context
Frontmatter
273 tokensAlways available to the agent
SKILL.md
2,454 tokensWhen the skill is activated
Reference documents
3,757 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Reference
- The one question
- Where it sits
- The fidelity ladder
- The editable exit: a design file
- Copy in a prototype
- Output
- Smoke test before handoff
- What this skill does not own
- Conflict precedence
Scripts executed separately
scripts/storyboard.py
Files
SKILL.mdcore10,658 bytesSKILL.mdcore10,658 bytesSKILL.mdcore10,658 bytesassets/Caveat-OFL.txtdoc4,385 bytesassets/caveat-latin-cyr.woff2asset130,192 bytesexamples/storyboard-map-workflows.htmlasset190,136 bytesreferences/design-file.mddoc5,060 bytesreferences/formats.mddoc5,042 bytesreferences/storyboard.mddoc5,244 bytesscripts/storyboard.pyruns2,862 bytestemplates/storyboard.htmlasset6,170 bytes
Read SKILL.md
# Prototype
**Announce at start:** "I'm using the humane:prototype skill to make this idea lookable and clickable at the cheapest fidelity that answers the question."
A prototype exists to answer exactly one open question — is this the right
structure, does the navigation make sense, does the screen read at a glance —
before anything expensive is committed. This skill produces the cheapest
artifact that answers that question and stops.
## Quick Reference
| Need | Where |
| --- | --- |
| Format contracts per rung: file layout, hotspot markup, self-containment, the SVG text traps | `references/formats.md` |View the complete source on GitHubrespondent-panel
When your agent uses it
Run a panel of independent synthetic respondents against copy, a slogan, brand values, a landing page, or any user-facing text — each in an isolated context, each a different specific person — then read the panel for convergence and divergence. Use when the user asks "how does this land", "what would people think of this", "test this tagline", "get reactions to this copy", "run a panel", or wants gut-level audience reaction rather than expert critique. Complements persona-review, which is expert stakeholder critique of a document. Triggers on respondent panel, how does this land, what would people think, test this tagline, reactions to this copy, gut reaction, audience reaction.
What it loads into context
Frontmatter
194 tokensAlways available to the agent
SKILL.md
1,752 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to invoke
- When NOT to invoke
- The one rule
- Workflow
- Output
Files
SKILL.mdcore7,905 bytesagents/openai.yamlasset130 bytes
Read SKILL.md
# Respondent Panel
**Announce at start:** "I'm using the humane:respondent-panel skill to collect gut reactions from isolated synthetic respondents."
Gut-level audience reaction to something user-facing, from several people at once,
each of whom has seen **only the thing itself**.
One reaction is an anecdote. Five reactions that all stumble on the same word is a
finding. This skill is about getting the second one.
## When to invoke
- "How does this tagline land?"
- "What would actual people think of this?"View the complete source on GitHubreview
When your agent uses it
User-invoked review that coordinates the humane review skills — layout-rules, ux-writing, typography, nielsen-heuristics, walkthrough, design-tokens contrast — into one prioritized verdict, and marks the domains it cannot cover instead of improvising them. Supports quick and full modes. Identifies the artifact first and runs a reduced document pipeline for a README, PRD, or docs page rather than stretching a UI pipeline over it. Use when explicitly asked for a holistic review of a screen, flow, feature, product, or document. Triggers on humane review, full review, review the whole thing, holistic UI audit, cross-skill design review, "review this properly", "полный ревью".
What it loads into context
Frontmatter
206 tokensAlways available to the agent
SKILL.md
3,150 tokensWhen the skill is activated
Reference documents
3,931 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Identify the artifact before anything else
- 2. Resolve scope and mode
- 3. Recon before judgment
- 4. Run the domains in this order
- 5. Mark what you did not cover
- 6. Require evidence
- 7. Rank by user impact
- 8. Consolidate
- 9. Verify, and say what you could not
- 10. Do not mutate
- Output
Files
../../AGENTS.mddoc15,542 bytesSKILL.mdcore13,622 bytesSKILL.mdcore13,622 bytesSKILL.mdcore13,622 bytesagents/openai.yamlasset115 bytesreferences/fanout-eval.mddoc1,458 bytes
Read SKILL.md
# Review the whole thing, once
**Announce at start:** "I'm using the humane:review skill to run the review cycle and consolidate one verdict."
Six separate audits stapled together is not a review — it is six reports the
reader has to reconcile. This skill runs the domains, lets each owning skill
apply its own rules, and consolidates the evidence into one ranked verdict.
**This skill owns orchestration only.** It never restates or overrides a domain
rule. Structure and defect classes belong to `layout-rules`; wording to
`ux-writing`; usability principles to `nielsen-heuristics`; task completion to
`walkthrough`; color measurement to `design-tokens`; mechanical English and
Russian text polish to `typography`. If you find yourself
writing a rule here, it belongs in the skill that owns it.View the complete source on GitHubsemantic-micro-interactions
When your agent uses it
Define bounded interface feedback from a real state transition, including accessible visual motion, reduced-motion and input-equivalent behavior, and an optional semantic sound hook without owning audio playback. Use when a control, gesture, validation, progress state, or completion needs meaningful feedback rather than decorative animation. Triggers on micro-interaction, interaction motion, button feedback, state transition, drag settle, satisfying interaction, reduced motion, hover feedback, completion animation, semantic motion.
What it loads into context
Frontmatter
177 tokensAlways available to the agent
SKILL.md
1,149 tokensWhen the skill is activated
Reference documents
1,180 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick reference
- Map the transition
- Hard boundaries
- Sound is a hook, not a layer
- Verification and handoff
- What this skill does not own
Scripts executed separately
scripts/validate_map.py
Files
SKILL.mdcore5,472 bytesagents/openai.yamlasset286 bytesreferences/contract.mddoc2,762 bytesreferences/patterns.mddoc2,599 bytesscripts/validate_map.pyruns4,063 bytestemplates/interaction-map.jsonasset1,083 bytes
Read SKILL.md
# Semantic Micro-interactions
**Announce at start:** "I'm using the humane:semantic-micro-interactions skill to make state changes feel clear without making motion carry the meaning."
A micro-interaction is a bounded response to a meaningful state transition. Start
with what changed and what the person needs to understand; motion, highlight,
status text, haptics, and sound are possible channels after that decision. An
effect with no state change or orientation job is decoration and does not belong
in the interaction map.
## Quick reference
| Need | Read |
| --- | --- |View the complete source on GitHubsetup
When your agent uses it
Get humane working on this machine — check what the cycle needs, configure the corpus root, token base, image backend, task-export target, language and browser tool, and install the companions and generators that are missing. Diagnoses read-only first, then installs only what the user confirms. Use on a fresh machine, when a skill complains something is missing, or to see how humane is currently configured. Triggers on humane setup, set up humane, configure humane, humane doctor, "what do I need to install", "why can't it find my tokens", "check my humane install", "настрой humane".
What it loads into context
Frontmatter
152 tokensAlways available to the agent
SKILL.md
2,310 tokensWhen the skill is activated
Reference documents
2,156 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick reference
- Configuration
- Step 1 — Run the doctor and read it aloud
- Step 2 — Ask before configuring
- Step 3 — Install what they confirm
- Step 4 — Re-run the doctor
- Guardrails
- Tests
Scripts executed separately
scripts/humane_setup.pytests/test_artifact_paths.pytests/test_install.pytests/test_setup.py
Files
SKILL.mdcore9,936 bytesSKILL.mdcore9,936 bytesagents/openai.yamlasset106 bytesreferences/commands.mddoc1,869 bytesreferences/paths.mddoc6,254 bytesreferences/secrets.mddoc662 bytesscripts/humane_setup.pyruns34,637 bytestests/test_artifact_paths.pyruns6,226 bytestests/test_install.pyruns3,728 bytestests/test_setup.pyruns25,859 bytes
Read SKILL.md
# Setup
**Announce at start:** "I'm using the humane:setup skill to diagnose this machine before changing anything."
Two jobs, in this order: **find out what is actually wrong**, then **fix only
what the user agrees to fix**. Never the other way round — a setup flow that
installs first and reports afterwards is one that installs things nobody wanted.
See `references/commands.md` for the command catalog and expected install flow.
`doctor` writes nothing, installs nothing, and never asks for a key. It exits 1
only on a genuinely blocking gap; missing optional pieces exit 0, because most
of the cycle works without them.View the complete source on GitHubsound-effects
When your agent uses it
Generate a small, coherent sound palette for interface moments through interchangeable provider adapters, beginning with ElevenLabs Sound Effects, then hand it to a walkthrough to check that the cues clarify rather than distract. Use when a product needs interaction sounds, feedback cues, micro-sound design, or a retro-futuristic audio layer. Triggers on sound effects, UI sounds, interaction audio, micro sounds, click sound, swipe sound, drag sound, ElevenLabs sound effects, audio feedback, retro-futuristic sound.
What it loads into context
Frontmatter
157 tokensAlways available to the agent
SKILL.md
1,094 tokensWhen the skill is activated
Reference documents
182 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before generating
- Generate a palette, not isolated noises
- Provider adapters
- Wire and check
- Boundaries
Scripts executed separately
scripts/generate_sound.pyscripts/providers/__init__.pyscripts/providers/elevenlabs.pytests/test_generate_sound.py
Files
SKILL.mdcore4,946 bytesSKILL.mdcore4,946 bytesSKILL.mdcore4,946 bytesagents/openai.yamlasset239 bytesreferences/provider-adapters.mddoc905 bytesscripts/generate_sound.pyruns1,906 bytesscripts/providers/__init__.pyruns81 bytesscripts/providers/elevenlabs.pyruns1,328 bytestests/test_generate_sound.pyruns4,622 bytes
Read SKILL.md
# Sound Effects
**Announce at start:** "I'm using the humane:sound-effects skill to make a small, coherent sound palette for this interface."
Sound is feedback, not wallpaper. Generate a short cue only when it acknowledges
a change that the interface needs to make felt: a panel catching after a drag,
a confirmed action, a changed mode, or a boundary reached. It is never added
merely because something moves.
## Before generating
1. Name the moment and the change it confirms. If the interface already makes it obvious, do not add a sound.
2. Read the project's token set or `DESIGN.md` when it exists. It supplies the material vocabulary; do not invent a second brand in audio.
3. Ask whether sound is opt-in, and identify motion-reduction and system sound settings. Effects must never autoplay, convey the only meaning, or prevent a task from being completed silently.View the complete source on GitHubtype-specimen
When your agent uses it
Build a browsable type specimen that sets candidate typefaces in the product's own words, so a font is chosen against real copy rather than "Hamburgefonstiv". Loads families from Google Fonts, shows a weight ladder, prose, a data table, list rows, small caps, glyph coverage and variable axes per family, measures WCAG and APCA for the chosen background/text pair, and lets any specimen text be edited in place — one edit, every family. Use when picking a typeface, comparing shortlisted fonts, checking a font's Cyrillic or symbol coverage, or proving a font works for a specific interface before it enters the token set. Triggers on choose a font, pick a typeface, compare fonts, type specimen, font shortlist, does this font have Cyrillic, font pairing, which font for this dashboard, шрифтовой стенд, выбрать шрифт.
What it loads into context
Frontmatter
248 tokensAlways available to the agent
SKILL.md
2,098 tokensWhen the skill is activated
Reference documents
966 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Where output goes
- Quick reference
- The flow
- Honesty guards
- Conflicts
- Tests
Scripts executed separately
conftest.pyscripts/specimenscripts/tspec/__init__.pyscripts/tspec/build.pyscripts/tspec/cli.pyscripts/tspec/config.pyscripts/tspec/serve.pytests/__init__.pytests/helpers.pytests/test_build.pytests/test_cli.pytests/test_config.py
Files
SKILL.mdcore8,686 bytesSKILL.mdcore8,686 bytesSKILL.mdcore8,686 bytesconftest.pyruns163 bytesreferences/config.mddoc3,622 bytesscripts/specimenruns297 bytesscripts/tspec/__init__.pyruns271 bytesscripts/tspec/build.pyruns1,996 bytesscripts/tspec/cli.pyruns7,507 bytesscripts/tspec/config.pyruns10,614 bytesscripts/tspec/serve.pyruns1,540 bytestemplates/specimen.htmlasset48,864 bytestests/__init__.pyruns0 bytestests/helpers.pyruns495 bytestests/test_build.pyruns3,255 bytestests/test_cli.pyruns3,895 bytestests/test_config.pyruns6,013 bytes
Read SKILL.md
# type-specimen
**Announce at start:** "I'm using the humane:type-specimen skill to pick a typeface against the product's own copy."
Choosing a typeface from a foundry's own specimen tells you the font can be
made to look good. It does not tell you whether *your* numbers align in *your*
table at *your* size. This skill builds a single self-contained HTML page that
sets every shortlisted family in the copy the product actually ships — the same
headline, the same price column, the same empty-state sentence — so the
comparison is between candidates doing the real job.
The page is standalone: one HTML file, no build step, no dependencies. Families
load from the Google Fonts CSS API at view time.
View the complete source on GitHubtypography
When your agent uses it
Review or mechanically format English and Russian text for microtypography, protected word pairs, punctuation and symbol artifacts, and spelling while keeping editorial choices separate from safe corrections. Use when polishing prose or UI copy after the wording is settled, or when an agent-generated draft contains suspicious dashes, symbols, spacing, or Markdown residue. Triggers on typography, microtypography, typographic cleanup, nonbreaking spaces, protected pairs, punctuation cleanup, spelling pass, editorial pass, LLM artifacts, smart quotes, Russian typography, английская типографика, русская типографика, неразрывные пробелы, редактура текста.
What it loads into context
Frontmatter
134 tokensAlways available to the agent
SKILL.md
1,706 tokensWhen the skill is activated
Reference documents
1,696 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Boundary
- Establish the contract
- Quick reference
- Pass 1 — Mechanical corrections
- Pass 2 — Editorial and spelling review
- Output contract
- Safety and honesty
Scripts executed separately
scripts/typography.pytests/test_typography.py
Files
SKILL.mdcore8,233 bytesSKILL.mdcore8,233 bytesSKILL.mdcore8,233 bytesSKILL.mdcore8,233 bytesagents/openai.yamlasset245 bytesreferences/editorial-pass.mddoc3,236 bytesreferences/english.mddoc1,947 bytesreferences/russian.mddoc2,062 bytesscripts/typography.pyruns14,508 bytestests/fixtures/en_expected.txtdoc121 bytestests/fixtures/en_input.txtdoc120 bytestests/fixtures/ru_expected.txtdoc215 bytestests/fixtures/ru_input.txtdoc209 bytestests/test_typography.pyruns7,279 bytes
Read SKILL.md
# Typography
**Announce at start:** "I'm using the humane:typography skill to separate safe typographic corrections from editorial choices."
Polish text without taking authorship away from its author. This skill owns
mechanical microtypography and an editorial/spelling review. It may apply only
corrections whose meaning, voice, and cadence do not change; everything else is
a proposal.
## Boundary
| Concern | Owner |
| --- | --- |
| What a string says, its vocabulary, voice, and purpose | `ux-writing` |View the complete source on GitHubusing-humane
When your agent uses it
Route a design task to the right humane skill, and after any humane skill finishes, name the next one from the declared handoff graph instead of guessing. Reads the `handoffs:` / `accepts:` / `orchestrates:` keys in each skill's frontmatter, so the route is data, not recollection. Use at the start of design work when it is not obvious which skill owns the task, and at the end of any humane skill to find what it hands to. Not for non-design work. Triggers on where do I start, which humane skill, what comes next, what should I run after, humane cycle, design cycle order, "I finished the jtbd interview now what", "какой скилл дальше".
What it loads into context
Frontmatter
161 tokensAlways available to the agent
SKILL.md
1,717 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Scope
- The two questions it answers
- Entry points
- What the graph keys mean
- Honesty guards
Scripts executed separately
scripts/graph.py
Files
SKILL.mdcore6,716 bytesSKILL.mdcore6,716 bytesscripts/graph.pyruns6,442 bytes
Read SKILL.md
# Using humane
**Announce at start:** "I'm using the humane:using-humane skill to route this to the skill that owns it."
## Scope
This skill routes design work. It does **not** claim authority over unrelated
tasks — a bug fix, a deploy, or a shell question has no humane owner, and
routing one here is a false positive. If nothing below matches, say so and move
on rather than stretching a design skill over a non-design task.
## The two questions it answers
**"Where do I start?"** — match the intent to an entry point (table below).View the complete source on GitHubux-writing
When your agent uses it
Write and review the words inside a product — button labels, error messages, empty states, confirmations, settings labels, placeholders, notifications — and the documentation prose around it, including READMEs, docs pages and release notes. Grounds the wording in the JTBD corpus (the anxiety force tells you what a confirmation must defuse) and hands the result to respondent-panel to find out whether strangers read it the way you meant. Use when writing or reviewing any user-facing string. Triggers on UX writing, microcopy, interface copy, button labels, error messages, empty states, placeholder text, settings labels, confirmation dialog, notification copy, README wording, rewrite these docs, release notes copy, "what should this button say", "rewrite this error", "перепиши текст кнопки".
What it loads into context
Frontmatter
221 tokensAlways available to the agent
SKILL.md
3,349 tokensWhen the skill is activated
Reference documents
1,200 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this skill owns, and what it doesn't
- Quick Reference
- Step 0 — Read the evidence before writing a word
- Step 1 — Recon the voice you already have
- Core Principles
- Common Mistakes
- Step 2 — Test it on someone who has read none of this
- Review Output Format
Files
SKILL.mdcore14,603 bytesSKILL.mdcore14,603 bytesagents/openai.yamlasset106 bytesreferences/patterns.mddoc5,127 bytes
Read SKILL.md
# UX Writing
**Announce at start:** "I'm using the humane:ux-writing skill to write and review the words inside this product."
The words are part of the interface, not a layer applied to it. A control that
names its exact action needs no tooltip; an error that says what to do next
needs no support ticket. Clear beats clever, consistent beats varied, and the
best error message is the interaction redesigned so the error cannot happen.
## What this skill owns, and what it doesn't
Owns: the **source wording** of every user-facing string, and the decision about
what a string must accomplish.
View the complete source on GitHubwalkthrough
When your agent uses it
Task-based evaluation of a real interface — take one job from the JTBD corpus, attempt it step by step as the person who has it, and record where the attempt breaks. Answers "can someone actually complete this?", which inspection and reaction methods do not. Runs a cognitive walkthrough (four questions per step) against a live URL, a prototype, screenshots, or the code, and reports task success against the outcome it was derived from. Use when you have a task and something operable to attempt it on. Triggers on walkthrough, cognitive walkthrough, task analysis, "can a user actually do this", "test this task", "where do people get stuck", "walk through the signup flow", "test this on mobile", "drive it in the browser", "пройди сценарий".
What it loads into context
Frontmatter
264 tokensAlways available to the agent
SKILL.md
2,718 tokensWhen the skill is activated
Reference documents
1,168 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to invoke — and when not
- Step 1 — Derive the task from the corpus, not from the interface
- Step 2 — Pick the mode honestly
- Step 3 — Walk it, one step at a time
- Step 4 — Walk the unhappy paths too
- Step 5 — Report
- What this method is and is not
- Handoff
Files
SKILL.mdcore11,474 bytesagents/openai.yamlasset117 bytesreferences/driven.mddoc4,917 bytes
Read SKILL.md
# Walkthrough
**Announce at start:** "I'm using the humane:walkthrough skill to attempt this task as the person who has it."
Inspection asks whether an interface obeys principles. Reaction asks how words
land. Neither asks the question that decides whether the product works: **can
this person, with this goal, get through?**
A walkthrough answers that by attempting the task — one concrete task, one
concrete person, one step at a time — and recording exactly where the attempt
would break.
## When to invoke — and when not
View the complete source on GitHubSkills included
- before-after
- brand-illustrate
- brandkit
- design-frameworks
- design-tokens
- jtbd
- layout-rules
- narrative-scrollytelling
- nielsen-heuristics
- persona-review
- prototype
- respondent-panel
- review
- semantic-micro-interactions
- setup
- sound-effects
- type-specimen
- typography
- using-humane
- ux-writing
- walkthrough
Repository facts
- License
- MIT
- Created
- Jul 29, 2026
- Last pushed
- Oct 15, 2026
- Forks
- 3
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 37 notes
humane/skills/brand-illustrate/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/brandkit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/brandkit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/design-frameworks/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/design-frameworks/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/design-tokens/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/design-tokens/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/design-tokens/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/design-tokens/examples/dali-museum/preview.html:22Analysis incomplete: physical or joined line exceeds character limithumane/skills/design-tokens/examples/dali-museum/preview.html:23Analysis incomplete: physical or joined line exceeds character limithumane/skills/design-tokens/examples/monaspace/resolved/preview.html:23Analysis incomplete: physical or joined line exceeds character limithumane/skills/jtbd/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/jtbd/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/jtbd/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/jtbd/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/jtbd/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/layout-rules/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/layout-rules/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/narrative-scrollytelling/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedhumane/skills/narrative-scrollytelling/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 233 network referencesin 39 files: design-tokens/examples/dali-museum/landing/index.html:5 design-tokens/scripts/dtokens/annotate.py:9 design-tokens/examples/halcyon/style-explore.html:12 and 36 more
- 1 obfuscation signalin 1 file: design-tokens/SKILL.md:160
- No instruction overrides
- 82 executable scriptsin 82 files: brand-illustrate/scripts/illustrate.py:1 brand-illustrate/tests/test_illustrate.py:1 brandkit/scripts/brandkit.py:1 and 79 more
- 56 references to secretsin 17 files: brand-illustrate/tests/test_illustrate.py:193 design-tokens/scripts/dtokens/annotate.py:11 setup/tests/test_setup.py:15 and 14 more
- No requests to vote in Hot
Show all 372 signals by file
.claude-plugin/marketplace.json
- Network accessline 1
{ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json", - Network accessline 2
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json", - Network accessline 7
"owner": { "name": "Gleb Kalinin", "url": "https://github.com/glebis" - Network accessline 8
"name": "Gleb Kalinin", "url": "https://github.com/glebis" }, - Network accessline 9
"url": "https://github.com/glebis" - Network accessline 16
"author": { "name": "Gleb Kalinin", "url": "https://github.com/glebis" - Network accessline 17
"name": "Gleb Kalinin", "url": "https://github.com/glebis" }, - Network accessline 18
"url": "https://github.com/glebis"
humane/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Gleb Kalinin", "url": "https://github.com/glebis" - Network accessline 6
"name": "Gleb Kalinin", "url": "https://github.com/glebis" }, - Network accessline 7
"url": "https://github.com/glebis" - Network accessline 8
}, "homepage": "https://github.com/glebis/humane-agentic-design", "repository": "https://github.com/glebis/humane-agentic-design" - Network accessline 9
"homepage": "https://github.com/glebis/humane-agentic-design", - Network accessline 10
"repository": "https://github.com/glebis/humane-agentic-design"
humane/skills/brand-illustrate/SKILL.md
humane/skills/brand-illustrate/scripts/illustrate.py
humane/skills/brand-illustrate/tests/test_illustrate.py
- Executable scriptline 1
Executable file - Access to secretsline 193
[Credential-related source omitted] - Access to secretsline 203
[Credential-related source omitted] - Access to secretsline 213
[Credential-related source omitted] - Access to secretsline 223
[Credential-related source omitted] - Access to secretsline 255
[Credential-related source omitted] - Access to secretsline 278
[Credential-related source omitted] - Access to secretsline 285
[Credential-related source omitted] - Access to secretsline 316
[Credential-related source omitted]
humane/skills/brandkit/scripts/brandkit.py
- Executable scriptline 1
#!/usr/bin/env python3
humane/skills/brandkit/tests/test_brandkit.py
- Executable scriptline 1
Executable file
humane/skills/design-frameworks/references/adapter-contract.schema.json
humane/skills/design-frameworks/references/astryx.md
humane/skills/design-frameworks/references/shadcn.md
humane/skills/design-frameworks/references/storybook.md
humane/skills/design-frameworks/scripts/validate_fixtures.py
humane/skills/design-frameworks/tests/fixtures/astryx.discovery.json
- Network accessline 4
"capturedAt": "2026-08-21", "evidence": [ "https://astryx.atmeta.com/docs/cli", - Network accessline 5
"evidence": [ "https://astryx.atmeta.com/docs/cli", "https://github.com/facebook/astryx/blob/main/packages/cli/README.md" - Network accessline 6
"https://astryx.atmeta.com/docs/cli", - Network accessline 7
"https://github.com/facebook/astryx/blob/main/packages/cli/README.md"
humane/skills/design-frameworks/tests/fixtures/shadcn.discovery.json
- Network accessline 4
"capturedAt": "2026-08-21", "evidence": [ "https://ui.shadcn.com/docs/registry/registry-json", - Network accessline 5
"evidence": [ "https://ui.shadcn.com/docs/registry/registry-json", "https://ui.shadcn.com/docs/registry/api-reference" - Network accessline 6
"https://ui.shadcn.com/docs/registry/registry-json", - Network accessline 7
"https://ui.shadcn.com/docs/registry/api-reference" - Network accessline 16
"projectRoot": ".", "surfaces": [ { "id": "shadcn-registry", "kind": "registry", "authority": "remote", "locator": "https://ui.shadcn.com/schema/registry-item.json", "version": "current", "status": "stable" }, - Network accessline 17
"surfaces": [ { "id": "shadcn-registry", "kind": "registry", "authority": "remote", "locator": "https://ui.shadcn.com/schema/registry-item.json", "version": "current", "status": "stable" }, { "id": "shadcn-cli", "kind": "cli", " - Network accessline 18
{ "id": "shadcn-registry", "kind": "registry", "authority": "remote", "locator": "https://ui.shadcn.com/schema/registry-item.json", "version": "current", "status": "stable" }, - Network accessline 29
], "checks": [ { "id": "shadcn-registry-schema", "name": "Registry item schema", "surfaceId": "shadcn-registry", "mode": "schema", "locator": "https://ui.shadcn.com/schema/registry-item.json" } - Network accessline 30
"checks": [ { "id": "shadcn-registry-schema", "name": "Registry item schema", "surfaceId": "shadcn-registry", "mode": "schema", "locator": "https://ui.shadcn.com/schema/registry-item.json" } ], - Network accessline 31
{ "id": "shadcn-registry-schema", "name": "Registry item schema", "surfaceId": "shadcn-registry", "mode": "schema", "locator": "https://ui.shadcn.com/schema/registry-item.json" }
humane/skills/design-frameworks/tests/fixtures/storybook.discovery.json
- Network accessline 4
"capturedAt": "2026-08-21", "evidence": [ "https://storybook.js.org/docs/ai/manifests", - Network accessline 5
"evidence": [ "https://storybook.js.org/docs/ai/manifests", "https://storybook.js.org/docs/ai/mcp/overview" - Network accessline 6
"https://storybook.js.org/docs/ai/manifests", - Network accessline 7
"https://storybook.js.org/docs/ai/mcp/overview" - Network accessline 17
"surfaces": [ { "id": "storybook-manifest", "kind": "manifest", "authority": "project", "locator": "components.json", "version": "preview", "status": "experimental" }, { "id": "storybook-mcp", "kind": "mcp", "authority": "projec - Network accessline 18
{ "id": "storybook-manifest", "kind": "manifest", "authority": "project", "locator": "components.json", "version": "preview", "status": "experimental" }, { "id": "storybook-mcp", "kind": "mcp", "authority": "project", "locator": "http - Network accessline 19
{ "id": "storybook-mcp", "kind": "mcp", "authority": "project", "locator": "http://localhost:6006/mcp", "version": "negotiated", "status": "experimental" }
humane/skills/design-frameworks/tests/test_contract.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/SKILL.md
- Network accessline 23
Manage [DTCG 2025.10](https://www.designtokens.org/tr/drafts/format/) design tokens - Possible obfuscationline 160
After scaffolding a set (`setup-edit`), or when editing a set whose validate/<U+200B>use output warns that the block is missing, walk the user through these questions **one at a time**. Use a structured multiple-choice question tool when the agent - Network accessline 182
loads, `fetch`, and many extensions (`Unsafe attempt to load URL … 'file:' URLs are treated as unique security origins`). So `use` (and `preview` when it writes a file) start a tiny stdlib HTTP server on `http://127.0.0.1` and open the resu - Network accessline 183
are treated as unique security origins`). So `use` (and `preview` when it writes a file) start a tiny stdlib HTTP server on `http://127.0.0.1` and open the result — **by default when run interactively** (a TTY). In scripts / CI (non-TTY) se - Network accessline 184
file) start a tiny stdlib HTTP server on `http://127.0.0.1` and open the result — - Network accessline 209
`templates/monaspace.tokens.json` is the worked result for [monaspace.githubnext.com](https://monaspace.githubnext.com/) — its five-font - Network accessline 210
[monaspace.githubnext.com](https://monaspace.githubnext.com/) — its five-font
humane/skills/design-tokens/conftest.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/examples/dali-museum/landing/index.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1"> <title>REVERIE — where reality burns away</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 6
<title>REVERIE — where reality burns away</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 7
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 8
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 9
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Oswald:wght@300;400;500;600;700&family=Outfit:wght@200;300;400;500;600;700&display=swap" rel="stylesheet"> - Network accessline 11
<script src="https://cdn.tailwindcss.com"></script> - Network accessline 29
<script src="https://unpkg.com/react@18/umd/react.production.min.js" crossorigin></script> - Network accessline 30
<script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js" crossorigin></script> - Network accessline 31
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script> - Network accessline 32
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js"></script> - Network accessline 33
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script> - Network accessline 43
// anime.js v4 is ESM-only; bridge it onto window so the classic Babel script // below can use it. Fire an event so React effects that mount first can wait. import { animate, stagger, createTimeline, eases } from "https://esm.sh/animejs - Network accessline 44
// below can use it. Fire an event so React effects that mount first can wait. import { animate, stagger, createTimeline, eases } from "https://esm.sh/animejs@4"; window.Anime = { animate, stagger, createTimeline, eases }; - Network accessline 45
import { animate, stagger, createTimeline, eases } from "https://esm.sh/animejs@4"; - Network accessline 57
.grain::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:60; opacity:.05; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3C - Network accessline 58
content:""; position:fixed; inset:0; pointer-events:none; z-index:60; opacity:.05; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fr - Network accessline 59
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' - Network accessline 88
// ---- treated imagery helper (picsum + brand color wash) ---- const pic = (seed, w=1600, h=1000) => `https://picsum.photos/seed/${seed}/${w}/${h}`; - Network accessline 89
const pic = (seed, w=1600, h=1000) => `https://picsum.photos/seed/${seed}/${w}/${h}`;
humane/skills/design-tokens/examples/dali-museum/preview-full.html
- Network accessline 4
<title>The Dalí Museum — Giraffes on Horseback Salad — full preview</title> <style> @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=Oswald:wght@700&family=Playfair+Display:wght@500&display=swap'); - Network accessline 5
<style> @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=Oswald:wght@700&family=Playfair+Display:wght@500&display=swap'); :root { - Network accessline 6
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=Oswald:wght@700&family=Playfair+Display:wght@500&display=swap');
humane/skills/design-tokens/examples/dali-museum/preview.html
- Network accessline 4
<title>The Dalí Museum — Giraffes on Horseback Salad — token preview</title> <style> @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=Oswald:wght@700&family=Playfair+Display:wght@500&display=swap'); - Network accessline 5
<style> @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=Oswald:wght@700&family=Playfair+Display:wght@500&display=swap'); :root { color-scheme: light dark; } - Network accessline 6
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=Oswald:wght@700&family=Playfair+Display:wght@500&display=swap');
humane/skills/design-tokens/examples/halcyon/style-explore.html
- Network accessline 12
<meta name="viewport" content="width=device-width, initial-scale=1"> <title>Halcyon — style exploration</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 13
<title>Halcyon — style exploration</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 14
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 15
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 16
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500&family=Inter:wght@400;500;600&family=Spline+Sans+Mono:wght@400;500&display=swap" rel= - Network accessline 17
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css" crossorigin="anonymous"> - Network accessline 18
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/styles/atom-one-dark.min.css"> - Network accessline 19
<script defer src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/highlight.min.js"></script> - Network accessline 20
<script defer src="https://cdn.jsdelivr.net/npm/chart.js@4/dist/chart.umd.min.js"></script> - Network accessline 21
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5/dist/reveal.css"> - Network accessline 22
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5/dist/reveal.js"></script> - Network accessline 698
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js" crossorigin="anonymous"></script>
humane/skills/design-tokens/examples/monaspace/block-prompts.md
humane/skills/design-tokens/examples/monaspace/monaspace.html
- Network accessline 12
<title>Monaspace — token template</title> <style> @font-face{font-family:"Monaspace Neon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Regular.woff2") format("woff2");font-weight:400;font-d - Network accessline 13
<style> @font-face{font-family:"Monaspace Neon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Regular.woff2") format("woff2");font-weight:400;font-display:swap} @font-face{font-family:"Mon - Network accessline 14
@font-face{font-family:"Monaspace Neon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Regular.woff2") format("woff2");font-weight:400;font-display:swap} - Network accessline 15
@font-face{font-family:"Monaspace Neon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Bold.woff2") format("woff2");font-weight:700;font-display:swap} - Network accessline 16
@font-face{font-family:"Monaspace Argon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceArgon-Regular.woff2") format("woff2");font-weight:400;font-display:swap} - Network accessline 17
@font-face{font-family:"Monaspace Xenon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceXenon-Regular.woff2") format("woff2");font-weight:400;font-display:swap} - Network accessline 18
@font-face{font-family:"Monaspace Xenon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceXenon-Bold.woff2") format("woff2");font-weight:700;font-display:swap} - Network accessline 19
@font-face{font-family:"Monaspace Radon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceRadon-Regular.woff2") format("woff2");font-weight:400;font-display:swap} - Network accessline 20
@font-face{font-family:"Monaspace Krypton";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceKrypton-Regular.woff2") format("woff2");font-weight:400;font-display:swap} - Network accessline 357
<footer> design-tokens · template extracted from <a href="https://monaspace.githubnext.com/">monaspace.githubnext.com</a> · faces © GitHub Next (SIL OFL) · values are the source of truth - Network accessline 358
design-tokens · template extracted from <a href="https://monaspace.githubnext.com/">monaspace.githubnext.com</a> · faces © GitHub Next (SIL OFL) · values are the source of truth
humane/skills/design-tokens/examples/monaspace/resolved/preview-full.html
- Network accessline 4
<title>Monaspace — full preview</title> <style> @import url('https://fonts.googleapis.com/css2?family=Monaspace+Argon:wght@400&family=Monaspace+Neon:wght@300&family=Monaspace+Xenon:wght@700&display=swap'); - Network accessline 5
<style> @import url('https://fonts.googleapis.com/css2?family=Monaspace+Argon:wght@400&family=Monaspace+Neon:wght@300&family=Monaspace+Xenon:wght@700&display=swap'); :root { - Network accessline 6
@import url('https://fonts.googleapis.com/css2?family=Monaspace+Argon:wght@400&family=Monaspace+Neon:wght@300&family=Monaspace+Xenon:wght@700&display=swap');
humane/skills/design-tokens/examples/monaspace/resolved/preview.html
- Network accessline 4
<title>Monaspace — token preview</title> <style> @import url('https://fonts.googleapis.com/css2?family=Monaspace+Argon:wght@400&family=Monaspace+Neon:wght@300&family=Monaspace+Xenon:wght@700&display=swap'); - Network accessline 5
<style> @import url('https://fonts.googleapis.com/css2?family=Monaspace+Argon:wght@400&family=Monaspace+Neon:wght@300&family=Monaspace+Xenon:wght@700&display=swap'); :root { color-scheme: light dark; } - Network accessline 6
@import url('https://fonts.googleapis.com/css2?family=Monaspace+Argon:wght@400&family=Monaspace+Neon:wght@300&family=Monaspace+Xenon:wght@700&display=swap');
humane/skills/design-tokens/examples/monaspace/showcase-blocks.html
- Network accessline 15
<link rel="stylesheet" href="showcase.tokens.css"> <style> @font-face{font-family:"Monaspace Neon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Regular.woff2") format("woff2");font-weight:2 - Network accessline 16
<style> @font-face{font-family:"Monaspace Neon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Regular.woff2") format("woff2");font-weight:200 800;font-display:swap} @font-face{font-family: - Network accessline 17
@font-face{font-family:"Monaspace Neon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Regular.woff2") format("woff2");font-weight:200 800;font-display:swap} - Network accessline 18
@font-face{font-family:"Monaspace Argon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceArgon-Regular.woff2") format("woff2");font-weight:200 800;font-display:swap} - Network accessline 19
@font-face{font-family:"Monaspace Xenon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceXenon-Regular.woff2") format("woff2");font-weight:200 800;font-display:swap} - Network accessline 20
@font-face{font-family:"Monaspace Radon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceRadon-Regular.woff2") format("woff2");font-weight:200 800;font-display:swap} - Network accessline 21
@font-face{font-family:"Monaspace Krypton";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceKrypton-Regular.woff2") format("woff2");font-weight:200 800;font-display:swap} - Network accessline 23
@font-face{font-family:"Mono VF";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeonVarVF%5Bwght,wdth,slnt%5D.woff2") format("woff2");font-weight:200 800;font-stretch:100% 125%;font-style:oblique 0d - Network accessline 313
<section class="block" id="footer"> <h3>Made with ♥ — Contributors</h3> <p style="max-width:62ch">Monaspace was made to improve all code, for all developers. GitHub Next partnered with the type foundry Lettermatic — a marriage of form a - Network accessline 314
<h3>Made with ♥ — Contributors</h3> <p style="max-width:62ch">Monaspace was made to improve all code, for all developers. GitHub Next partnered with the type foundry Lettermatic — a marriage of form and function. For the full list and the - Network accessline 315
<p style="max-width:62ch">Monaspace was made to improve all code, for all developers. GitHub Next partnered with the type foundry Lettermatic — a marriage of form and function. For the full list and the fonts themselves, visit the <a href="
humane/skills/design-tokens/examples/universal/blocks.html
- Network accessline 17
<style> /* paper faces */ @import url("https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,600;1,400;1,600&family=IBM+Plex+Mono:wght@400;500&display=swap"); - Network accessline 18
/* paper faces */ @import url("https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,600;1,400;1,600&family=IBM+Plex+Mono:wght@400;500&display=swap"); /* ink faces */ - Network accessline 19
@import url("https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,600;1,400;1,600&family=IBM+Plex+Mono:wght@400;500&display=swap"); - Network accessline 20
/* ink faces */ @font-face{font-family:"Monaspace Neon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Regular.woff2") format("woff2");font-weight:200 800;font-display:swap} @font-face{font - Network accessline 21
@font-face{font-family:"Monaspace Neon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceNeon-Regular.woff2") format("woff2");font-weight:200 800;font-display:swap} - Network accessline 22
@font-face{font-family:"Monaspace Argon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceArgon-Regular.woff2") format("woff2");font-weight:200 800;font-display:swap} - Network accessline 23
@font-face{font-family:"Monaspace Xenon";src:url("https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.101/fonts/webfonts/MonaspaceXenon-Regular.woff2") format("woff2");font-weight:200 800;font-display:swap} - Network accessline 178
<h3>Why size is a token but placement is not</h3> <p>How large a heading runs is a value, so it lives in <code>type.h1</code> through <code>type.caption</code>. Where an illustration sits relative to its text is a pattern, so it lives i - Network accessline 179
<p>How large a heading runs is a value, so it lives in <code>type.h1</code> through <code>type.caption</code>. Where an illustration sits relative to its text is a pattern, so it lives in prose, not the token file. The line between the two - Network accessline 180
<p>Switch the theme and this paragraph re-sets in Monaspace Neon on the dark canvas, same markup. The reference is the <a href="https://www.designtokens.org/tr/drafts/format/">DTCG draft format</a>.</p>
humane/skills/design-tokens/references/commands.md
- Network accessline 12
| `resolve <file> [-o OUT]` | Flatten aliases to concrete values (JSON map). | | `export-css <file> [--selector SEL] [-o OUT]` | Emit CSS custom properties. | | `design-md <file> [--name N] [--description D] [--rich] [--yes] [-o OUT]` | Emi - Network accessline 13
| `export-css <file> [--selector SEL] [-o OUT]` | Emit CSS custom properties. | | `design-md <file> [--name N] [--description D] [--rich] [--yes] [-o OUT]` | Emit a Google-Labs [DESIGN.md](https://github.com/google-labs-code/design.md) (alp - Network accessline 14
| `design-md <file> [--name N] [--description D] [--rich] [--yes] [-o OUT]` | Emit a Google-Labs [DESIGN.md](https://github.com/google-labs-code/design.md) (alpha) — YAML token frontmatter + a table-based body (colors carry their `$descript - Network accessline 18
| `generate <file> [--target gpt-image-2\|nano-banana\|all] [--subject S] [--refs DIR] [--out-dir D] [--final] [--dry-run]` | **Actually generate** on-brand images: composes the winning art-direction-prose prompt (fidelity-tested) from toke - Access to secretsline 19
[Credential-related source omitted] - Network accessline 20
| `serve <path> [--port N] [--no-open]` | Serve a generated `.html` (or an output dir) over `http://127.0.0.1` and open it. Use this to view previews — `file://` URLs are unique origins and break web-font loads, `fetch`, and extensions. |
humane/skills/design-tokens/references/providers.md
- Network accessline 26
[Credential-related source omitted] - Network accessline 27
[Credential-related source omitted] - Network accessline 28
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Network accessline 55
[Credential-related source omitted] - Access to secretsline 55
[Credential-related source omitted]
humane/skills/design-tokens/scripts/dtokens/__init__.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/dtokens/annotate.py
- Executable scriptline 1
Executable file - Network accessline 9
`annotate <dir>` serves a single-page HTML interface over http://127.0.0.1 - Access to secretsline 11
[Credential-related source omitted] - Network accessline 37
GROQ_URL = "https://api.groq.com/openai/v1/audio/transcriptions" - Access to secretsline 86
[Credential-related source omitted] - Access to secretsline 88
[Credential-related source omitted] - Access to secretsline 89
[Credential-related source omitted] - Access to secretsline 90
[Credential-related source omitted] - Network accessline 98
f"\r\n--{boundary}--\r\n".encode(), ]) req = urllib.request.Request( - Network accessline 99
]) req = urllib.request.Request( GROQ_URL, data=body, method="POST", - Network accessline 100
req = urllib.request.Request( - Access to secretsline 102
[Credential-related source omitted] - Network accessline 103
"Content-Type": f"multipart/form-data; boundary={boundary}"}, ) with urllib.request.urlopen(req, timeout=60) as resp: - Network accessline 104
) with urllib.request.urlopen(req, timeout=60) as resp: return json.loads(resp.read().decode("utf-8")).get("text", "").strip() - Network accessline 105
with urllib.request.urlopen(req, timeout=60) as resp: - Network accessline 214
const blob = new Blob(chunks, {type: rec.mimeType || 'audio/webm'}); try { const resp = await fetch('/transcribe', {method:'POST', - Network accessline 215
try { const resp = await fetch('/transcribe', {method:'POST', headers:{'Content-Type': blob.type}, body: blob}); - Network accessline 216
const resp = await fetch('/transcribe', {method:'POST', - Network accessline 230
function status(msg) { document.getElementById('status').textContent = msg; } document.getElementById('save').addEventListener('click', async () => { const resp = await fetch('/save', {method:'POST', - Network accessline 231
document.getElementById('save').addEventListener('click', async () => { const resp = await fetch('/save', {method:'POST', headers:{'Content-Type':'application/json'}, - Network accessline 232
const resp = await fetch('/save', {method:'POST', - Access to secretsline 253
[Credential-related source omitted] - Network accessline 299
socketserver.ThreadingTCPServer.allow_reuse_address = True httpd = socketserver.ThreadingTCPServer((host, port), handler) url = f"http://{host}:{port}/" - Network accessline 300
httpd = socketserver.ThreadingTCPServer((host, port), handler) url = f"http://{host}:{port}/" voice = "voice+text (Groq Whisper)" if os.environ.get("GROQ_API_KEY") else "text only (set GROQ_API_KEY for voice)" - Network accessline 301
url = f"http://{host}:{port}/" - Access to secretsline 302
[Credential-related source omitted]
humane/skills/design-tokens/scripts/dtokens/brand_summary.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/dtokens/cli.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/dtokens/contrast.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/dtokens/export_css.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/dtokens/export_design_md.py
humane/skills/design-tokens/scripts/dtokens/export_preview_html.py
- Executable scriptline 1
Executable file - Network accessline 58
weights = sorted(fams[fam], key=lambda x: (not x.isdigit(), x.zfill(3))) specs.append(f"family={name}:wght@{';'.join(weights)}" if weights else f"family={name}") url = "https://fonts.googleapis.com/css2?" + "&".join(specs) + "&d - Network accessline 59
specs.append(f"family={name}:wght@{';'.join(weights)}" if weights else f"family={name}") url = "https://fonts.googleapis.com/css2?" + "&".join(specs) + "&display=swap" return f" @import url('{url}');\n" - Network accessline 60
url = "https://fonts.googleapis.com/css2?" + "&".join(specs) + "&display=swap"
humane/skills/design-tokens/scripts/dtokens/export_prompt.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/dtokens/generate.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/dtokens/import_css.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/dtokens/merge.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/dtokens/model.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/dtokens/resolve.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/dtokens/serve.py
- Executable scriptline 1
Executable file - Network accessline 4
cross-origin font loads, `fetch`, and many extensions (you get "Unsafe attempt to load URL ... 'file:' URLs are treated as unique security origins"). Serving the output directory over `http://127.0.0.1` gives every preview a normal origin. - Network accessline 6
output directory over `http://127.0.0.1` gives every preview a normal origin. - Network accessline 23
port = start for _ in range(500): with contextlib.closing(socket.socket()) as s: - Network accessline 24
for _ in range(500): with contextlib.closing(socket.socket()) as s: try: - Network accessline 25
with contextlib.closing(socket.socket()) as s: - Network accessline 36
base = f"http://{host}:{port}/"
humane/skills/design-tokens/scripts/dtokens/validate.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/scripts/tokens
- Executable scriptline 1
#!/usr/bin/env python3
humane/skills/design-tokens/tests/__init__.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_annotate.py
- Executable scriptline 1
Executable file - Access to secretsline 54
[Credential-related source omitted] - Network accessline 55
httpd, url = annotate.annotate(imgdir, open_browser=False, _block=False) try: page = urllib.request.urlopen(url).read().decode() - Network accessline 56
try: page = urllib.request.urlopen(url).read().decode() assert "Reference annotator" in page and '"voice": false' in page - Network accessline 57
page = urllib.request.urlopen(url).read().decode() - Network accessline 58
assert "Reference annotator" in page and '"voice": false' in page body = json.dumps({"images": [{"file": "b.png", "take": ["composition"], "note": "layout"}]}).encode() req = urllib.request.Request(url + "save", data=body, m - Network accessline 59
body = json.dumps({"images": [{"file": "b.png", "take": ["composition"], "note": "layout"}]}).encode() req = urllib.request.Request(url + "save", data=body, method="POST", headers={"Content-Type" - Network accessline 60
req = urllib.request.Request(url + "save", data=body, method="POST", - Network accessline 61
headers={"Content-Type": "application/json"}) resp = json.loads(urllib.request.urlopen(req).read()) assert resp["saved"].endswith("refs.json") - Network accessline 62
resp = json.loads(urllib.request.urlopen(req).read())
humane/skills/design-tokens/tests/test_brand_summary.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_cli.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_cli_import.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_contrast.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_export_css.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_export_design_md.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_export_preview_html.py
- Executable scriptline 1
Executable file - Network accessline 21
assert "<img" not in out for url in [u for u in out.split("'") if u.startswith(("http://", "https://"))]: assert url.startswith("https://fonts.googleapis.com/css2?"), url - Network accessline 23
assert url.startswith("https://fonts.googleapis.com/css2?"), url - Network accessline 29
assert "@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400&display=swap')" in out - Network accessline 45
assert "<img" not in out and "<script src" not in out for url in [u for u in out.split("'") if u.startswith(("http://", "https://"))]: assert url.startswith("https://fonts.googleapis.com/css2?"), url - Network accessline 47
assert url.startswith("https://fonts.googleapis.com/css2?"), url
humane/skills/design-tokens/tests/test_export_prompt.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_generate.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_import_css.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_merge.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_model.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_resolve.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_serve.py
- Executable scriptline 1
Executable file - Network accessline 8
f = tmp_path / "sub" / "x.html" f.write_text("hi") assert serve.url_for(tmp_path, f, 9999, "127.0.0.1") == "http://127.0.0.1:9999/sub/x.html" - Network accessline 9
f.write_text("hi") assert serve.url_for(tmp_path, f, 9999, "127.0.0.1") == "http://127.0.0.1:9999/sub/x.html" assert serve.url_for(tmp_path, None, 9999) == "http://127.0.0.1:9999" - Network accessline 10
assert serve.url_for(tmp_path, f, 9999, "127.0.0.1") == "http://127.0.0.1:9999/sub/x.html" - Network accessline 11
assert serve.url_for(tmp_path, None, 9999) == "http://127.0.0.1:9999" - Network accessline 23
open_browser=False, _block=False) try: body = urllib.request.urlopen(url, timeout=3).read().decode() - Network accessline 24
try: body = urllib.request.urlopen(url, timeout=3).read().decode() assert "served ok" in body - Network accessline 25
body = urllib.request.urlopen(url, timeout=3).read().decode()
humane/skills/design-tokens/tests/test_templates.py
- Executable scriptline 1
Executable file
humane/skills/design-tokens/tests/test_validate.py
- Executable scriptline 1
Executable file
humane/skills/jtbd/scripts/graph.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 72
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted] - Network accessline 325
socketserver.TCPServer.allow_reuse_address = True with socketserver.TCPServer(("127.0.0.1", port), Handler) as httpd: url = f"http://localhost:{port}/" - Network accessline 326
with socketserver.TCPServer(("127.0.0.1", port), Handler) as httpd: url = f"http://localhost:{port}/" print(f"\n JTBD graph → {url} (ctrl-c to stop)") - Network accessline 327
url = f"http://localhost:{port}/"
humane/skills/jtbd/scripts/ingest_transcript.py
- Executable scriptline 1
Executable file
humane/skills/jtbd/scripts/mine_reviews.py
- Executable scriptline 1
Executable file
humane/skills/jtbd/scripts/odi_score.py
- Executable scriptline 1
Executable file
humane/skills/jtbd/scripts/report.py
- Executable scriptline 1
#!/usr/bin/env python3
humane/skills/jtbd/scripts/validate_granularity.py
- Executable scriptline 1
Executable file
humane/skills/jtbd/scripts/validate_outcome.py
- Executable scriptline 1
Executable file
humane/skills/jtbd/templates/data.json
- Network accessline 551
} ], "evidence_source": "website copy (frame.io homepage, 2026-07-23) + Capterra reviews page https://www.capterra.com/p/148214/Frame-io/reviews/ (80 отзывов заявлено, вручную прочитано ~15 верхних 'most helpful', срез 2026-07-24)", - Network accessline 552
], "evidence_source": "website copy (frame.io homepage, 2026-07-23) + Capterra reviews page https://www.capterra.com/p/148214/Frame-io/reviews/ (80 отзывов заявлено, вручную прочитано ~15 верхних 'most helpful', срез 2026-07-24)", "ev - Network accessline 553
"evidence_source": "website copy (frame.io homepage, 2026-07-23) + Capterra reviews page https://www.capterra.com/p/148214/Frame-io/reviews/ (80 отзывов заявлено, вручную прочитано ~15 верхних 'most helpful', срез 2026-07-24)", - Network accessline 2338
"evidence_limitation": "", "pages_read": [ "https://www.vers1.io/", - Network accessline 2339
"pages_read": [ "https://www.vers1.io/", "https://www.vers1.io/compare/vs-telegram-disk.html", - Network accessline 2340
"https://www.vers1.io/", - Network accessline 2341
"https://www.vers1.io/compare/vs-telegram-disk.html", - Network accessline 2342
"https://www.vers1.io/compare/frame-io-alternative.html", - Network accessline 2343
"https://www.vers1.io/compare/vs-kinescope.html", - Network accessline 2344
"https://www.vers1.io/trust", - Network accessline 2345
"https://www.vers1.io/developers"
humane/skills/jtbd/templates/graph.html
humane/skills/jtbd/tests/test_graph.py
- Executable scriptline 1
Executable file - Access to secretsline 183
[Credential-related source omitted] - Access to secretsline 200
[Credential-related source omitted] - Access to secretsline 205
[Credential-related source omitted] - Access to secretsline 218
[Credential-related source omitted] - Access to secretsline 223
[Credential-related source omitted]
humane/skills/jtbd/tests/test_ingest_transcript.py
- Executable scriptline 1
Executable file
humane/skills/jtbd/tests/test_mine_reviews.py
- Executable scriptline 1
Executable file
humane/skills/jtbd/tests/test_odi_score.py
- Executable scriptline 1
Executable file
humane/skills/jtbd/tests/test_report.py
- Executable scriptline 1
Executable file
humane/skills/jtbd/tests/test_validate_granularity.py
- Executable scriptline 1
Executable file
humane/skills/jtbd/tests/test_validate_outcome.py
- Executable scriptline 1
Executable file
humane/skills/narrative-scrollytelling/scripts/validate_map.py
- Executable scriptline 1
#!/usr/bin/env python3
humane/skills/prototype/assets/Caveat-OFL.txt
- Network accessline 1
Copyright 2014 The Caveat Project Authors (https://github.com/googlefonts/caveat) - Network accessline 3
This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL - Network accessline 5
http://scripts.sil.org/OFL
humane/skills/prototype/scripts/storyboard.py
- Executable scriptline 1
#!/usr/bin/env python3
humane/skills/semantic-micro-interactions/scripts/validate_map.py
- Executable scriptline 1
#!/usr/bin/env python3
humane/skills/setup/SKILL.md
humane/skills/setup/references/commands.md
- Access to secretsline 28
[Credential-related source omitted]
humane/skills/setup/references/secrets.md
humane/skills/setup/scripts/humane_setup.py
humane/skills/setup/tests/test_artifact_paths.py
- Executable scriptline 1
Executable file
humane/skills/setup/tests/test_install.py
- Executable scriptline 1
Executable file
humane/skills/setup/tests/test_setup.py
- Executable scriptline 1
Executable file - Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 30
[Credential-related source omitted] - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 46
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 369
[Credential-related source omitted] - Access to secretsline 370
[Credential-related source omitted]
humane/skills/sound-effects/SKILL.md
- Access to secretsline 51
[Credential-related source omitted]
humane/skills/sound-effects/scripts/generate_sound.py
- Executable scriptline 1
#!/usr/bin/env python3
humane/skills/sound-effects/scripts/providers/__init__.py
- Executable scriptline 1
Executable file
humane/skills/sound-effects/scripts/providers/elevenlabs.py
- Executable scriptline 1
[Credential-related source omitted] - Access to secretsline 1
[Credential-related source omitted] - Network accessline 2
from __future__ import annotations import json, os, urllib.error, urllib.request ENDPOINT = "https://api.elevenlabs.io/v1/sound-generation" - Network accessline 4
ENDPOINT = "https://api.elevenlabs.io/v1/sound-generation" - Access to secretsline 7
[Credential-related source omitted] - Access to secretsline 8
[Credential-related source omitted] - Network accessline 10
[Credential-related source omitted] - Network accessline 11
[Credential-related source omitted] - Network accessline 12
[Credential-related source omitted] - Network accessline 13
try: with urllib.request.urlopen(api_request, timeout=90) as response: return response.read(), {"endpoint": ENDPOINT, "request": payload, "character_cost": response.headers.get("character-cost")} except urllib.error.HTTPError as - Network accessline 14
with urllib.request.urlopen(api_request, timeout=90) as response: return response.read(), {"endpoint": ENDPOINT, "request": payload, "character_cost": response.headers.get("character-cost")}
humane/skills/sound-effects/tests/test_generate_sound.py
humane/skills/type-specimen/conftest.py
- Executable scriptline 1
Executable file
humane/skills/type-specimen/scripts/specimen
- Executable scriptline 1
#!/usr/bin/env python3
humane/skills/type-specimen/scripts/tspec/__init__.py
- Executable scriptline 1
Executable file
humane/skills/type-specimen/scripts/tspec/build.py
- Executable scriptline 1
Executable file
humane/skills/type-specimen/scripts/tspec/cli.py
- Executable scriptline 1
Executable file
humane/skills/type-specimen/scripts/tspec/config.py
- Executable scriptline 1
Executable file
humane/skills/type-specimen/scripts/tspec/serve.py
humane/skills/type-specimen/templates/specimen.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1"> <title>__TITLE__</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 6
<title>__TITLE__</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 7
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 8
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 491
} const gfUrl = (name, axes) => "https://fonts.googleapis.com/css2?family=" + encodeURIComponent(name).replace(/%20/g,"+") - Network accessline 492
const gfUrl = (name, axes) => "https://fonts.googleapis.com/css2?family=" + encodeURIComponent(name).replace(/%20/g,"+") + (axes ? ":"+axes : "") + "&display=swap"; - Network accessline 493
"https://fonts.googleapis.com/css2?family=" + encodeURIComponent(name).replace(/%20/g,"+") - Network accessline 504
for(const axes of tries){ try{ const r = await fetch(gfUrl(name, axes)); - Network accessline 505
try{ const r = await fetch(gfUrl(name, axes)); if(r.ok){ const css = await r.text(); if(css.includes("@font-face")) return {css, axes}; } - Network accessline 506
const r = await fetch(gfUrl(name, axes));
humane/skills/type-specimen/tests/__init__.py
- Executable scriptline 1
Executable file
humane/skills/type-specimen/tests/helpers.py
- Executable scriptline 1
Executable file
humane/skills/type-specimen/tests/test_build.py
- Executable scriptline 1
Executable file
humane/skills/type-specimen/tests/test_cli.py
- Executable scriptline 1
Executable file
humane/skills/type-specimen/tests/test_config.py
- Executable scriptline 1
Executable file - Network accessline 55
def test_blank_lines_do_not_count_as_rows(): cfg = filled() cfg["texts"]["rows"] = "a :: b\n\n\nc :: d\n" - Network accessline 56
cfg = filled() cfg["texts"]["rows"] = "a :: b\n\n\nc :: d\n" assert config.validate(cfg) == [] - Network accessline 57
cfg["texts"]["rows"] = "a :: b\n\n\nc :: d\n"
humane/skills/typography/scripts/typography.py
- Executable scriptline 1
#!/usr/bin/env python3
humane/skills/typography/tests/test_typography.py
- Executable scriptline 1
Executable file - Network accessline 52
"Use 2 kg outside and `2 kg teh —` inside.\n" "```text\nDr. Smith has 3 kg \n```\n" "Visit https://example.test/5 kg or [label](path/4 kg). {{ 6 kg }}\n" - Network accessline 53
"```text\nDr. Smith has 3 kg \n```\n" "Visit https://example.test/5 kg or [label](path/4 kg). {{ 6 kg }}\n" ) - Network accessline 54
"Visit https://example.test/5 kg or [label](path/4 kg). {{ 6 kg }}\n" - Network accessline 58
self.assertIn("`2 kg teh —`", actual) self.assertIn("Dr. Smith has 3 kg ", actual) self.assertIn("https://example.test/5 kg", actual) - Network accessline 59
self.assertIn("Dr. Smith has 3 kg ", actual) self.assertIn("https://example.test/5 kg", actual) self.assertIn("[label](path/4 kg)", actual) - Network accessline 60
self.assertIn("https://example.test/5 kg", actual)
humane/skills/using-humane/scripts/graph.py
- Executable scriptline 1
#!/usr/bin/env python3
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.
Declared and executed: 4 facts
- Contacts json-schema.org, which SKILL.md, the README and the plugin manifest do not mentiondesign-frameworks/scripts/validate_fixtures.py:63High confidence
- Contacts api.groq.com, which SKILL.md, the README and the plugin manifest do not mentiondesign-tokens/scripts/dtokens/annotate.py:37High confidence
- Contacts fonts.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentiondesign-tokens/scripts/dtokens/export_preview_html.py:60High confidence
- Contacts api.elevenlabs.io, which SKILL.md, the README and the plugin manifest do not mentionsound-effects/scripts/providers/elevenlabs.py:4High confidence
Signal confidence: 236 facts
- Access to secrets in prose of the SKILL.mdbrand-illustrate/SKILL.md:67Low confidence
- Access to secrets in prose of the SKILL.mdbrand-illustrate/SKILL.md:68Low confidence
- Executable script in code of a file that runsbrand-illustrate/scripts/illustrate.py:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuebrand-illustrate/scripts/illustrate.py:139Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuebrand-illustrate/scripts/illustrate.py:160Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuebrand-illustrate/scripts/illustrate.py:572Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuebrand-illustrate/scripts/illustrate.py:573Low confidence
- Executable script in prose of a testbrand-illustrate/tests/test_illustrate.py:1Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuebrand-illustrate/tests/test_illustrate.py:193Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuebrand-illustrate/tests/test_illustrate.py:203Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuebrand-illustrate/tests/test_illustrate.py:213Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuebrand-illustrate/tests/test_illustrate.py:223Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuebrand-illustrate/tests/test_illustrate.py:255Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuebrand-illustrate/tests/test_illustrate.py:278Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuebrand-illustrate/tests/test_illustrate.py:285Low confidence
- Access to secrets in code of a test: a variable, placeholder or call, not a stored valuebrand-illustrate/tests/test_illustrate.py:316Low confidence
- Executable script in code of a file that runsbrandkit/scripts/brandkit.py:1High confidence
- Executable script in prose of a testbrandkit/tests/test_brandkit.py:1Low confidence
- Network access in prose of documentationdesign-frameworks/references/astryx.md:83Low confidence
- Network access in prose of documentationdesign-frameworks/references/astryx.md:84Low confidence
- Network access in prose of documentationdesign-frameworks/references/shadcn.md:48Low confidence
- Network access in prose of documentationdesign-frameworks/references/shadcn.md:49Low confidence
- Network access in prose of documentationdesign-frameworks/references/shadcn.md:50Low confidence
- Network access in prose of documentationdesign-frameworks/references/storybook.md:38Low confidence
- Network access in prose of documentationdesign-frameworks/references/storybook.md:39Low confidence
- Executable script in code of a file that runsdesign-frameworks/scripts/validate_fixtures.py:1High confidence
- Network access in code of a file that runsdesign-frameworks/scripts/validate_fixtures.py:62High confidence
- Network access in code of a file that runsdesign-frameworks/scripts/validate_fixtures.py:63High confidence
- Executable script in prose of a testdesign-frameworks/tests/test_contract.py:1Low confidence
- Network access in prose of the SKILL.mddesign-tokens/SKILL.md:23Low confidence
- Possible obfuscation in prose of the SKILL.mddesign-tokens/SKILL.md:160Low confidence
- Network access in prose of the SKILL.mddesign-tokens/SKILL.md:182Low confidence
- Network access in prose of the SKILL.mddesign-tokens/SKILL.md:183Low confidence
- Network access in prose of the SKILL.mddesign-tokens/SKILL.md:184Low confidence
- Network access in prose of the SKILL.mddesign-tokens/SKILL.md:209Low confidence
- Network access in prose of the SKILL.mddesign-tokens/SKILL.md:210Low confidence
- Executable script in a comment of a file that runsdesign-tokens/conftest.py:1Low confidence
- Network access in prose of documentationdesign-tokens/examples/monaspace/block-prompts.md:3Low confidence
- Network access in prose of documentationdesign-tokens/examples/monaspace/block-prompts.md:4Low confidence
- Network access in prose of documentationdesign-tokens/references/commands.md:12Low confidence
- Network access in prose of documentationdesign-tokens/references/commands.md:13Low confidence
- Network access in prose of documentationdesign-tokens/references/commands.md:14Low confidence
- Network access in prose of documentationdesign-tokens/references/commands.md:18Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valuedesign-tokens/references/commands.md:19Low confidence
- Network access in prose of documentationdesign-tokens/references/commands.md:20Low confidence
- Network access in prose of documentationdesign-tokens/references/providers.md:26Low confidence
- Network access in prose of documentationdesign-tokens/references/providers.md:27Low confidence
- Network access in prose of documentationdesign-tokens/references/providers.md:28Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valuedesign-tokens/references/providers.md:28Low confidence
- Network access in code of documentationdesign-tokens/references/providers.md:55Low confidence
and 186 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md humane/skills/before-after/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md humane/skills/before-after/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md humane/skills/before-after/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md humane/skills/before-after/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.