copenhagen-monocle-search

monocle.com/copenhagen-monocle-search-blusxu · updated May 21, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$browse install monocle.com/copenhagen-monocle-search-blusxu
0 commentsdiscussion
summary

Search monocle.com's editorial archive by free-text query (e.g. a city name like Copenhagen), with optional topic and format filters. Returns title, canonical URL, author, publication date, topic + tags, excerpt, and featured-image URL for each matching article. Read-only.

skill.md
name
copenhagen-monocle-search
title
Monocle Editorial Search
description
>- Search monocle.com's editorial archive by free-text query (e.g. a city name like Copenhagen), with optional topic and format filters. Returns title, canonical URL, author, publication date, topic + tags, excerpt, and featured-image URL for each matching article. Read-only.
website
monocle.com
category
media
tags
- media - editorial - search - wordpress - rss - monocle
source
'browserbase: agent-runtime 2026-05-19'
updated
'2026-05-19'
recommended_method
api
alternative_methods
- method: api rationale: >- Per-query RSS feed at /feed/?s={q}&search_format=post returns 10 items per page with title, link, dc:creator (author), pubDate, multiple <category> tags, excerpt, and full content:encoded — richer than the HTML article-cards (which lack author bylines). No auth, no anti-bot, plain HTTP fetch. 404 on past-end page is a clean termination signal. - method: browser rationale: >- HTML search page at /?s={q}&search_format=post is needed when you want the total-results count or featured-image URLs (both absent from RSS). Also works without stealth or proxies. Use as a complement to RSS rather than a replacement. - method: api rationale: >- Don't probe the WP REST API — every /wp-json/wp/v2/* route returns 404 rest_no_route despite the site advertising it via the Link header. Confirmed disabled at the WordPress level.
verified
false
proxies
false

Monocle Editorial Search

Purpose

Search the Monocle editorial archive (monocle.com) for articles matching a query — title, canonical URL, author byline, publication date, primary topic, category tags, excerpt, and (optionally) full article body. Optionally filter by topic (Affairs, Design, Travel, ...) and exclude non-editorial formats (radio episodes, city guides, events, partnered content). Read-only — never logs in, never modifies state. Copenhagen is the canonical example query; the skill generalises to any city, place, person, or keyword Monocle has written about.

When to Use

  • "What has Monocle written about Copenhagen?" / "Find Monocle's design coverage of Tokyo." / "List recent Monocle articles tagged urbanism."
  • Building a research dossier of Monocle's editorial coverage of a city or topic.
  • Periodic monitoring of new Monocle editorials on a watch-term (combine with pubDate from RSS to detect new items since last poll).
  • Bulk extraction across many query terms — RSS path is cheap (~150KB per page, 10 items, plain HTTP fetch, no auth, no anti-bot).

Workflow

Monocle is a public WordPress site (Automattic VIP — X-Hacker header) with ElasticPress-backed search (X-Elasticpress-Query: true on responses). The official WP REST API is disabled (/wp-json/wp/v2/posts?search=... → 404 rest_no_route, despite the Link: <https://monocle.com/wp-json/>; rel="https://api.w.org/" header advertising it). However, the per-query RSS feed is enabled and returns richer data than the HTML search page — most notably it includes the <dc:creator> author byline and <content:encoded> full-body HTML, both of which are absent from the HTML article-card markup. Lead with the RSS path; HTML browse is a fallback when you also need featured-image URLs or the total result count.

There is no anti-bot wall: bare browse cloud fetch (no --proxies, no --verified) returns 200 OK from both the HTML and RSS endpoints. Cookie consent is JS-only and never blocks the underlying HTML/XML body.

Recommended: RSS feed (per-query)

  1. Build the query URL. Two interchangeable shapes both work:

    • Query string: https://monocle.com/feed/?s={URL-enc query}&search_format=post[&search_topic={slug}][&paged={N}]

    • Path style: https://monocle.com/search/{URL-enc query}/feed/?search_format=post[&search_topic={slug}][&paged={N}]

    • s (or path segment): the search term.

    • search_format=post: the editorial filter — restricts to WordPress posts (i.e. magazine articles), excluding event, travel_guide, radio_episode, partnered_content. Omit this param to return all formats.

    • search_topic={slug}: optional single-topic facet (e.g. design, affairs, urbanism, travel-and-restaurants). See the topic-slug list in "Site-Specific Gotchas".

    • paged=N: 1-indexed page. Each page returns 10 <item> blocks. Walking past the last page returns HTTP 404 — a clean termination signal.

  2. Fetch:

    browse cloud fetch "https://monocle.com/feed/?s=copenhagen&search_format=post&paged=1"
    

    No --proxies, no session, no cookies needed. Response is application/rss+xml; charset=UTF-8, ~120-150 KB per page for 10 items including full bodies.

  3. Parse each <item>:

    • <title> — article title (HTML-entity decode required: e.g. &#8217;').
    • <link> — canonical article URL (https://monocle.com/{topic}/{slug}/).
    • <dc:creator> — author byline (CDATA-wrapped; RSS-only, not in HTML cards).
    • <pubDate> — RFC-2822 timestamp (e.g. Fri, 20 Jun 2025 18:29:50 +0000).
    • <category> (repeated 1-N times) — primary topic comes first, followed by tag slugs. First category is the same value rendered as the topic badge in the HTML.
    • <description> — CDATA-wrapped HTML excerpt (1-2 sentences). Strip the trailing The post <a>...</a> appeared first on... boilerplate.
    • <content:encoded> — CDATA-wrapped full article body HTML. Use only if you need the body; otherwise skip — it's ~10-15 KB per item.
  4. Paginate until HTTP 404 is returned by paged=N. Result count is not exposed in RSS — if you need the total up-front, hit the HTML page once (step below) and parse the count selector before walking RSS.

Browser fallback: HTML search page

Use when you need featured-image URLs (not in RSS) or the up-front total-results count, or when the RSS feed is unreachable.

  1. Build the URL (same param surface as RSS, no /feed/ segment):

    https://monocle.com/?s={URL-enc query}&search_format=post[&search_topic={slug}][&paged={N}]
    

    Or path style: https://monocle.com/search/{query}[/page/{N}/][?search_format=post].

  2. Fetch with browse cloud fetch <url> — no stealth needed. Or drive interactively with browse open <url> if you want screenshots/snapshots for debugging.

  3. Parse the HTML:

    • Total count: <div class="o-search-results__actions"> <p>{N} stories about "{query}"</p> → regex (\d+)\s+stories about\s+["“]([^"”]+)["”].
    • Each result card: <article id="{POST_ID}" class="c-article-card ...">. The id attribute is the stable WordPress post ID — use it for deduping.
    • Within each card:
      • Category badge: span.c-article-card__category ahref is the topic URL, text is the topic name.
      • Title + URL: h3.c-article-card__title ahref is the canonical article URL, text is the title.
      • Excerpt: p.c-article-card__description.
      • Meta items: ul.c-article-card__meta li — each <li> may begin with an inline SVG decoration; strip inner tags before reading text (e.g. Issue #185, 3 min read). Naive <li>([^<]+)</li> regex skips Issue-# items because of the leading SVG.
      • Featured image: figure.c-article-card__image imgsrc and srcset (1x / 2x).
    • Pagination: nav block with class posts-pagination; next page is https://monocle.com/search/{query}/page/{N+1}/ (preserves any ?search_format / ?search_topic query params).

Site-Specific Gotchas

  • WP REST API is disabled despite advertising itself. Every /wp-json/wp/v2/* route returns {"code":"rest_no_route","status":404}, even though the response headers include X-WP-Total, X-WP-TotalPages, Access-Control-Allow-Headers: X-WP-Nonce, and a Link header pointing to /wp-json/. Don't waste cycles probing alternate REST routes — the site has stripped them at the WordPress level. Use the RSS feed instead.
  • search_topic[] array notation is silently ignored. ?s=copenhagen&search_topic[]=design&search_topic[]=culture returns the unfiltered set (171 results), not the union (the design-only subset is 49). Only single-value search_topic=<slug> filtering works through the URL layer. To collect across multiple topics, issue separate requests per topic and dedupe by post ID (<article id="...").
  • The Apply-Filters button in the UI drops the search query. Clicking the FILTER button on a search-results page, selecting a format, and pressing APPLY FILTERS navigates to https://monocle.com/?search_format=post — the s={query} param is discarded. Always build URLs directly with both params rather than relying on the in-page filter UI.
  • "Editorials" = search_format=post. Monocle's UI calls them "Article" but the underlying WP post-type slug is post. The other four format slugs (event, travel_guide, radio_episode, partnered_content) are not editorial content and should be excluded for an editorials-only query. Omitting search_format returns the union of all five.
  • Author bylines are in RSS only. The HTML article-card markup (.c-article-card) has no author element. If you need the byline, you must hit the RSS feed (or click through to the individual article page).
  • Featured image URLs are in HTML only. The RSS feed has no <media:content> or <enclosure> elements. If you need thumbnails, scrape figure.c-article-card__image img from the HTML page.
  • Per-page size is fixed at 10. Both HTML pagination (/page/N/) and RSS pagination (?paged=N) return 10 items per page. There is no per-page override (per_page=, posts_per_page=, etc.).
  • Pagination past the last page returns HTTP 404 for RSS and a rendered "no results" HTML page for the search route. Use 404 (RSS) or the absence of .c-article-card blocks (HTML) as the loop-termination signal.
  • Issue-# meta items contain a leading inline SVG. Inside ul.c-article-card__meta, items like <li><svg>...</svg> Issue #185 </li> will be missed by a <li>([^<]+)</li> regex. Either parse as DOM and read textContent, or use a regex that strips inner <svg>…</svg> first. Read-time items (3 min read) have no leading SVG and parse cleanly.
  • HTML entities in titles. RSS-feed titles are entity-encoded (Copenhagen&#8217;s for Copenhagen's). Decode before emitting.
  • description carries boilerplate. The RSS <description> ends with <p>The post <a>...</a> appeared first on <a href="https://monocle.com">Monocle</a>.</p> — strip this paragraph for a clean excerpt.
  • content:encoded is large. Each item's full-body HTML is ~10-15 KB. If you only need title + URL + date, parse only the elements you need rather than the full item. For bulk runs, prefer reading the RSS feed once and persisting parsed items rather than re-fetching.
  • Format slugs (search_format): post (Article — editorial), event, travel_guide (City Guide), radio_episode, partnered_content.
  • Topic slugs (search_topic, observed from the filter modal's data-value attributes): affairs, architecture, art, arts, aviation, books, business, craft, culture, defence, design, diplomacy, economics, economy, education, entertaining, entertainment, entrepreneurialism, environment, fashion, film, food-drink, furniture, government, health, hospitality, industry, konfekt, manufacturing, media, monocle-films, monocle-radio, music, photography, politics, product-design, property, recipe, residences, retail, shoots, society, soft-power, sport, technology, the-faster-lane, the-monocle-concierge, the-monocle-minute, the-weekend-opener, transport, travel-and-restaurants, urbanism, wine. (The label shown in the filter UI is the title-cased slug with hyphens replaced by spaces.)
  • ?s= vs /search/{query} are equivalent. Both forms hit the same handler and produce identical results. Path-style URLs are slightly cleaner for direct linking; query-style is easier to build programmatically.
  • No geo-redirect, no IP scoping, no rate-limit observed in test. Run from anywhere; keep ≤ 1 req/s sustained as a courtesy.

Expected Output

{
  "query": "copenhagen",
  "format": "post",
  "topic": null,
  "total_results": 171,
  "page": 1,
  "items": [
    {
      "post_id": 195123,
      "title": "Why Copenhagen's 3 Days of Design leaves such a lasting impression",
      "url": "https://monocle.com/design/3-days-of-design-copenhagen-comment/",
      "author": "Kate Lucey",
      "published_at": "2025-06-20T18:29:50Z",
      "primary_topic": "Design",
      "categories": ["Design", "3 days of design", "design fairs"],
      "excerpt": "Designers from Tokyo to Porto headed to Copenhagen to rethink what a design fair can be, with thoughtful collaborations and intimate, idea-led showcases.",
      "issue": null,
      "read_time_minutes": null,
      "image_url": "https://monocle.com/wp-content/uploads/2025/06/EIS_20250617_1313_CROP.jpg?w=745"
    },
    {
      "post_id": 189311,
      "title": "Copenhagen's latest park demonstrates the virtues of having no kids on the block",
      "url": "https://monocle.com/affairs/urbanism/copenhagens-adult-only-opera-park/",
      "author": "Carlota Rebelo",
      "published_at": "2025-06-15T09:00:00Z",
      "primary_topic": "Urbanism",
      "categories": ["Urbanism", "parks", "denmark"],
      "excerpt": "Inside the sanctuary of Opera Park, a child-free green space designed strictly for grown-ups.",
      "issue": "185",
      "read_time_minutes": 3,
      "image_url": "https://monocle.com/wp-content/uploads/2025/06/Monocle_Skip_Final_LargerBG_thumb.jpg?w=745"
    }
  ],
  "next_page": "https://monocle.com/feed/?s=copenhagen&search_format=post&paged=2"
}

Outcome shapes:

// No results for the query
{ "query": "asdfqwerzxcv", "format": "post", "total_results": 0, "items": [] }

// Past last page (RSS 404)
{ "query": "copenhagen", "format": "post", "page": 99, "items": [], "end_of_results": true }

// Topic filter applied
{ "query": "copenhagen", "format": "post", "topic": "design", "total_results": 49, "items": [...] }

// All formats (omit search_format)
{ "query": "copenhagen", "format": null, "total_results": 352, "items": [...] }

Notes on the JSON above: issue and read_time_minutes come from the HTML ul.c-article-card__meta block and are null on items not tied to a print issue (e.g. web-only comment pieces — id=195123 above is one). image_url is HTML-only; pure-RSS callers will see image_url: null. author is RSS-only; pure-HTML callers will see author: null. For a complete record, run the RSS feed and HTML page once each and merge on post_id (the <article id> attribute on HTML matches the WP post ID; RSS items don't expose the ID directly — match by canonical URL slug).

how to use copenhagen-monocle-search

How to use copenhagen-monocle-search on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add copenhagen-monocle-search
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$browse install monocle.com/copenhagen-monocle-search-blusxu

The skills CLI fetches copenhagen-monocle-search from GitHub repository monocle.com/copenhagen-monocle-search-blusxu and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/copenhagen-monocle-search

Reload or restart Cursor to activate copenhagen-monocle-search. Access the skill through slash commands (e.g., /copenhagen-monocle-search) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

Task Automation & Efficiency

Automate repetitive workflows and reduce manual effort

Example

Generate reports, summarize documents, draft communications

Save 3-5 hours per week on routine tasks

Knowledge Enhancement

Learn new skills, understand complex topics, get expert guidance

Example

Explain concepts, provide examples, suggest learning resources

Accelerate learning and skill development by 2x

Quality Improvement

Enhance output quality through reviews, suggestions, and refinements

Example

Review drafts, suggest improvements, catch errors

Improve work quality by 30-40% with less effort

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client with skill support
  • Clear understanding of task or problem to solve
  • Willingness to iterate and refine outputs

Time Estimate

15-45 minutes depending on use case complexity

Installation Steps

  1. 1.Install skill using provided installation command
  2. 2.Test with simple use case relevant to your work
  3. 3.Evaluate output quality and relevance
  4. 4.Iterate on prompts to improve results
  5. 5.Integrate into regular workflow if valuable

Common Pitfalls

  • Expecting perfect results without iteration
  • Not providing enough context in prompts
  • Using skill for tasks outside its intended scope
  • Accepting outputs without review and validation

Best Practices

✓ Do

  • +Start with clear, specific prompts
  • +Provide relevant context and constraints
  • +Review and refine all outputs before using
  • +Iterate to improve output quality
  • +Document successful prompt patterns

✗ Don't

  • Don't use without understanding skill limitations
  • Don't skip validation of outputs
  • Don't share sensitive information in prompts
  • Don't expect skill to replace human judgment

💡 Pro Tips

  • Be specific about desired format and style
  • Ask for multiple options to choose from
  • Request explanations to understand reasoning
  • Combine AI efficiency with human expertise

When to Use This

✓ Use When

Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.

✗ Avoid When

Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.

Learning Path

  1. 1Familiarize yourself with skill capabilities and limitations
  2. 2Start with low-risk, non-critical tasks
  3. 3Progress to more complex and valuable use cases
  4. 4Build expertise through regular use and experimentation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.668 reviews
  • Omar Kapoor· Dec 28, 2024

    Keeps context tight: copenhagen-monocle-search is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Ama Srinivasan· Dec 24, 2024

    Solid pick for teams standardizing on skills: copenhagen-monocle-search is focused, and the summary matches what you get after install.

  • Chaitanya Patil· Dec 20, 2024

    Solid pick for teams standardizing on skills: copenhagen-monocle-search is focused, and the summary matches what you get after install.

  • Noah Ghosh· Dec 16, 2024

    I recommend copenhagen-monocle-search for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Ava Rahman· Dec 12, 2024

    copenhagen-monocle-search has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • William Perez· Dec 12, 2024

    copenhagen-monocle-search is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Ren Dixit· Nov 19, 2024

    Registry listing for copenhagen-monocle-search matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Soo Sanchez· Nov 15, 2024

    We added copenhagen-monocle-search from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Piyush G· Nov 11, 2024

    We added copenhagen-monocle-search from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • William Desai· Nov 3, 2024

    copenhagen-monocle-search fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

showing 1-10 of 68

1 / 7