seanj1ang/design-award-search
Find and verify award-winning designs in the same or adjacent functional category through eight explicit relevance dimensions: problem and user, core function, sensing technology, intervention mechanism, physical form, use context and workflow, system architecture, and visual language. Use when a user asks for same-category winners, comparable precedents, design benchmarks, appearance-related award winners, or examples from iF Design, Red Dot, IDEA, or iF Design Student Award. Do not use this skill to score, judge, optimize, or match the user's design to an award.
npx skills add https://github.com/SeanJ1ang/design-judge-skills --skill design-award-search
Retrieve a small, high-precision set of verified award-winning designs. Keep the functional design category as a mandatory boundary, then search separately across eight relevance dimensions. Search public official sources at request time. Do not connect to, package, or depend on a private award database.
Accept a project description, image set, PDF, project page, or brief. Accept optional dimensions, award sources, years, and result count.
Require enough information to identify the object or service and its primary function. If the primary function remains ambiguous, ask exactly one short question: What is the design's primary function and who uses it? Otherwise state reasonable assumptions and continue.
When the user does not select dimensions, use balanced mode across every dimension supported by the supplied evidence. Use user images to infer physical-form and visual-language terms. If no image is supplied, do not activate visual-language relevance unless the user supplies explicit visual descriptors.
Offer this template when the user asks how to use the skill:
Project: {name or object}
Primary function: {problem solved or job performed}
Target user: {optional}
Use context: {optional}
Relevance dimensions: {all or selected dimensions}
Preferences: {optional award sources, years, and result count}
Read ../design-judge-shared/category-taxonomy.md and references/relevance-dimensions.md. Extract:
Classify by primary function before appearance. Keep physical form and visual language separate.
Use these eight dimension keys:
problem-usercore-functionsensing-technologyintervention-mechanismphysical-formuse-contextsystem-architecturevisual-languageSearch only user-selected dimensions. Otherwise activate every dimension supported by the input and use balanced mode.
Read ../design-judge-shared/source-registry.md. Use scripts/build_search_queries.py when a shell is available. Translate profile terms into concise English first.
Example:
python scripts/build_search_queries.py `
--category "Medical and Health" `
--function "detect stress and prevent relapse" `
--object "wearable health monitor" `
--problem "alcohol use disorder relapse" `
--user "people in addiction recovery" `
--sensing "ECG HRV stress detection" `
--intervention "haptic paced breathing biofeedback" `
--form "adhesive chest patch" `
--context "daily out-of-clinic high-risk moments" `
--system "wearable sensor app personalized feedback" `
--visual "discreet soft white blue medical wearable"
Execute dimension queries progressively. Stop searching a dimension after its target quota has enough verified candidates. Use official gallery search when available; otherwise use site-restricted discovery queries.
For visual-language retrieval, first build a visual-review pool of up to five same-category candidates found through every active dimension. Use visual-specific queries only when that pool is too small. Keep visual queries short: combine the designed object, physical form, and two or three unquoted visual descriptors. A domain-restricted image search may discover candidates, but only official project-page images can verify them. Do not use visual similarity outside the canonical or declared adjacent category.
Open every official project page. Use scripts/verify_official_urls.py to reject unsupported domains and paths.
Verify:
Treat search snippets as discovery evidence only. For visual-language matches, inspect accessible official images directly; never infer visual similarity from text alone.
Before opening a full browser page, probe the visual-review pool with scripts/verify_visual_evidence.py. The script validates the project URL, extracts hero, thumbnail, lazy-load, and srcset image URLs from the official page, restricts assets to allowlisted official hosts, and fetches each image with the project page as Referer. It never prints image payloads. Its default mode keeps pixels in memory; use --review-dir only when the available visual tool requires a local path.
Example:
python scripts/verify_visual_evidence.py `
--request-timeout 5 `
--candidate-timeout 12 `
--total-timeout 60 `
--max-images 3 `
--progress text `
"https://www.red-dot.org/project/example-123" `
"https://ifdesign.com/en/winner-ranking/project/example/456"
Treat Official image accessible as an acquisition result only. It remains Pending visual inspection until a visual-capable tool directly inspects the official pixels. Never turn accessibility, metadata, alt text, or official prose into Verified visual evidence.
When the visual tool accepts only local paths, create a new session-scoped handoff directory:
python scripts/verify_visual_evidence.py `
--review-dir "{new non-existent temporary directory}" `
--request-timeout 5 `
--candidate-timeout 12 `
--total-timeout 60 `
--max-images 3 `
"https://www.red-dot.org/project/example-123"
Call the local-image inspection tool on every returned visual_handoff.review_path needed for comparison. Inspect the user image pixels and official image pixels in the same task. Then clean the returned handoff directory, including after an inspection error:
python scripts/cleanup_visual_review.py "{review_handoff.directory}"
Do not create the handoff inside a repository-tracked directory. Do not reuse it in another task. If cleanup is refused, report the exact reason and resolve it before creating another handoff.
Verify visual candidates in this order:
--review-dir, inspect the returned visual_handoff.review_path, and clean the directory in the same task.DOMContentLoaded and inspect its visible hero or gallery image; do not wait for networkidle.Candidate - image inaccessible with the probe reason code. If acquisition succeeds but no visual tool observes the pixels, keep Pending visual inspection - visual_tool_unavailable; never call it image inaccessible.Emit progress when each visual candidate starts, when an asset attempt begins, and when the candidate completes. Use a five-second request timeout, a twelve-second candidate budget, and a sixty-second visual-stage budget unless the user asks otherwise. Do not let one inaccessible image block the remaining candidates or the other seven dimensions.
Compare only observable silhouette, proportion, color and material, surface treatment, and medical or low-stigma expression. Record at least two paired attributes that state what is visible in the user image and what is visible in the official image. A generic statement such as both look minimal does not qualify. Follow the states and comparison record in references/retrieval-policy.md.
Read references/retrieval-policy.md. Assign exactly one primary relation, no more than two secondary relations, and High, Medium, or Broad within the primary dimension.
Keep each project once even when it matches several dimensions. Prefer dimension coverage before source or year diversity, without weakening evidence quality.
Lead with the inferred category, active dimensions, and one-sentence search scope. Group results by primary relation. Use this table within each group:
| Award-winning project | Award / year | Official category | Secondary relations | Relation evidence | Match | Official source |
|---|---|---|---|---|---|---|
Link directly to official project pages. Keep relation evidence to one sentence.
After all result groups, include only:
Search coverage: sources, dimensions, filters, and verified counts per dimension.Limitations: unavailable evidence, empty dimensions, broadened categories, or visual comparisons that could not be verified.Broad.Limitations as unverified candidates; do not count them toward the result total or visual-language coverage.scripts/cleanup_visual_review.py.Use $design-award-search to find ten verified winners, balanced across all eight relevance dimensions, for this project PDF.使用 $design-award-search,分别从感知技术、干预机制、产品形态和视觉语言四个方面查找同类别获奖作品。Use $design-award-search to find six same-category winners related specifically to the physical form and visual language of this project image.Take seanj1ang/design-award-search from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.