Agent skill
power
Search products on the Power webshop (power.fi). This skill uses the Power.fi REST API directly, requiring no browser. Use when the user asks to "search Power", "find products on power.fi", "power product search", "check Power prices", or mentions searching the Power store.
Install this agent skill to your Project
npx add-skill https://github.com/akaihola/skills-akaihola/tree/main/power
SKILL.md
Power.fi Product Search & Store Stock
Search the Power.fi product catalog and check per-store stock using their internal REST API. No browser or authentication required.
Quick Start
Search for products:
./scripts/search.py "kahvinkeitin"
./scripts/search.py "televisio" --limit 20
./scripts/search.py "kuulokkeet" --json
./scripts/search.py "pölynimuri" --sort lth
Check store stock for a product:
./scripts/store_stock.py 3060434
./scripts/store_stock.py 3060434 --postal-code 33100
./scripts/store_stock.py 3060434 --store "Itis"
./scripts/store_stock.py 3060434 --in-stock --json
How It Works
The Power webshop at power.fi has a JSON REST API for product listings. The
search script calls this API directly over HTTPS, bypassing the need for a
browser.
The API requires no authentication.
Using the Search Script
Basic search
./scripts/search.py "search term"
Prints a formatted list of up to 10 products with name, brand, price, stock, rating, category, barcode, and product URL.
JSON output
./scripts/search.py "search term" --json
Outputs the raw API response as JSON for programmatic use.
Pagination
./scripts/search.py "search term" --limit 20 --offset 10
--limit N— Number of results (default: 10)--offset N— Starting position, 0-based (default: 0)
Sorting
./scripts/search.py "search term" --sort lth
rel— Relevance (default)lth— Price low to highhtl— Price high to lowaz— Name A–Zza— Name Z–A
Programmatic Use
Import the search functions in Python:
from scripts.search import search_products, extract_products
raw = search_products("kahvinkeitin", limit=5)
products = extract_products(raw)
for p in products:
print(p["title"], p.get("price", "N/A"))
Key Product Fields
| Field | Description |
|---|---|
title |
Product name |
manufacturerName |
Brand / manufacturer |
price |
Current price (EUR, incl. VAT) |
previousPrice |
Previous price before discount |
vatlessPrice |
Price excluding VAT |
categoryName |
Product category |
stockCount |
Online stock count |
storesStockCount |
Total physical store stock |
barcode |
EAN / GTIN barcode |
url |
Relative product URL (prefix https://www.power.fi) |
productReview |
Object with overallAverageRating and overallTotalReviewCount |
productImage |
Object with basePath and variants[] |
Image URLs
Images use the pattern:
https://www.power.fi{basePath}/{filename}
where basePath and filename come from the productImage field.
Store Stock Lookup
Check per-store availability for a specific product using its product ID (found in search results or product URLs).
Basic usage
./scripts/store_stock.py PRODUCT_ID
Shows all stores sorted by distance from Helsinki (postal code 00100).
Options
--postal-code CODE— Sort by distance from a postal code (default: 00100)--store NAME— Filter by store name (case-insensitive substring)--in-stock— Show only stores with stock > 0--json— Output raw JSON
Programmatic use
from scripts.store_stock import get_store_stock
stores = get_store_stock(3060434, postal_code="33100")
for s in stores:
print(s["name"], s["storeStockCount"])
Key Store Fields
| Field | Description |
|---|---|
storeId |
Unique store identifier |
name |
Store name (e.g. "POWER Itis Helsinki") |
address |
Street address |
city |
City |
storeStockCount |
Number of units in stock at this store |
storeDisplayStock |
Display stock count |
storeAvailability |
0 = not available, 1 = low stock, 2 = in stock |
clickNCollect |
Whether click & collect is available |
distance |
Distance in km from the given postal code |
workingSchedule |
Array of opening hours per day |
API Reference
See references/api.md for full API documentation including endpoint details,
all parameters, and response structure.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
youtube-to-markdown
Convert a YouTube video into clean, readable Markdown using its free auto-generated captions (no paid API needed). Use when the user asks to "convert YouTube video to markdown", "get transcript from YouTube URL", "summarise this video", or wants to turn YouTube subtitles/captions into readable text. Prefer this over youtube-transcription when the video already has auto-generated subtitles — it's free and faster. Accepts YouTube URLs.
brave-search
Search the web using Brave Search API. Use when the user asks to "search the web", "look up current information", "find news about", "research a topic online", "check prices online", or needs up-to-date facts that may not be in the model's training data. Requires BRAVE_SEARCH_API_KEY. Supports structured web results (pages, FAQs, news, videos) and an optional AI summarizer.
verkkokauppa
Search products on the Verkkokauppa.com Finnish webshop. This skill uses the Verkkokauppa search API directly, requiring no browser. Use when the user asks to "search Verkkokauppa", "find products on verkkokauppa.com", "verkkokauppa product search", "check Verkkokauppa prices", or mentions searching the Verkkokauppa store.
clasohlson
Search products on the Clas Ohlson Finland webshop (clasohlson.com/fi/). This skill uses the Voyado Elevate (Apptus eSales) search API directly, requiring no browser. Use when the user asks to "search Clas Ohlson", "find products on clasohlson.com", "clas ohlson product search", "check Clas Ohlson prices", or mentions searching the Finnish Clas Ohlson store.
bauhaus
Search products on the Bauhaus webshop (bauhaus.fi). This skill uses the Algolia search API with automatic key refresh. Use when the user asks to "search Bauhaus", "find products on bauhaus.fi", "bauhaus product search", "check Bauhaus prices", or mentions searching the Bauhaus store.
library
Didn't find tool you were looking for?