Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/paulieb89/property-shared/add-data-sourcenpx skills add paulieb89/property-shared --skill add-data-sourcegit clone --depth 1 https://github.com/paulieb89/property-sharedWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/paulieb89/property-shared/add-data-source)<a href="https://agentmods.dev/skills/paulieb89/property-shared/add-data-source"><img src="https://agentmods.dev/badge/skills/paulieb89/property-shared/add-data-source.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00038 | $0.00753 |
| Opus 5 | $0.00019 | $0.00377 |
| Sonnet 5 | $0.00008 | $0.00151 |
| Haiku 4.5 | $0.00004 | $0.00075 |
Grade A, and why
add-data-source scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Add a New Data Source
Follow these 6 steps in order. Each step must be completed before moving to the next.
Step 1: Create Transport Client
Create property_core/new_client.py. Choose the pattern that fits:
- Sync HTTP API (httpx): see
property_core/companies_house_client.pyis_configured()check for optional credentials- Basic auth or API key from
os.getenv()
- Async HTTP API (httpx): see
property_core/epc_client.py - HTML scraper (requests + BeautifulSoup): see
property_core/rightmove_scraper.py - SPARQL/RDF: see
property_core/ppd_client.py
Required in all clients:
from __future__ import annotations- Type hints on all methods
- Docstring on the class/module
- Rate limiting/retry logic where appropriate
Step 2: Create Pydantic Models
Create property_core/models/new_source.py.
Transport-parsed models get the raw field:
raw: dict | None = Field(default=None, exclude=True)
Use @classmethod factory methods for parsing:
@classmethod
def from_api_response(cls, data: dict) -> "NewModel":
return cls(field=data.get("key"), raw=data)
Step 3: Export from models/init.py
Open property_core/models/__init__.py:
- Add import:
from .new_source import NewModel - Add to
__all__list
Step 4: Export from property_core/init.py
Open property_core/__init__.py:
- Add client/service import
- Add model import
- Add both to
__all__list
Step 5: Create Domain Service (if needed)
If the data source needs orchestration (combining with other sources, stats computation, guardrails), create property_core/new_service.py.
- Class-based if stateful:
class NewService - Function-based if stateless:
def analyze_new() - Export from
property_core/__init__.py
Step 6: Add Consumer Endpoints
All three consumers must be updated:
API Router
Create app/api/v1/new_source.py, register in app/api/routes.py.
See /add-endpoint skill for details.
MCP Tool
Add @mcp.tool() function in mcp_server/server.py.
See /add-mcp-tool skill for details.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed 701dd2858156
- 4d ago First seen · 91 lines · 38 tokens per session scan A 671c06675591
add-data-source is a skill published in the GitHub repository paulieb89/property-shared (16 stars, last pushed yesterday), licensed MIT. It adds 38 tokens to every session and 753 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
pine-validate
Validates Pine Script v6 function calls against the official v6 allowlist via the pinescript MCP server. Use when the user pastes a Pine Script snippet and asks whether it compiles, asks whether a specific function like ta.adx, ta.sum, security(), study() or request.security() is a valid Pine v6 function, asks Claude…
pine
Writes Pine Script v6 indicators and strategies for TradingView from natural-language descriptions. Use when the user asks Claude to write or build a Pine Script indicator, strategy, oscillator, or TradingView script, asks for a Pine v6 script, asks to convert v4/v5 Pine code to v6, or describes a trading…
design-trends-2026
Apply 2026's top graphic design trends to any creative brief. Based on Kittl × Savee's 2026 Design Trends Report (10 trends + 2 honorable mentions), backed by Adobe, Figma, and Pinterest data. Use when: Designing a brand identity — pick the right aesthetic for your audience; Creating social media assets — use trending…
web-design-director
Skill "web-design-director" from guia-matthieu/clawfu-skills, covering web design director, when to use this skill, methodology foundation, what claude does vs what you decide and what this skill does.
website-finishing-director
Run a structured 5-pass finishing audit on any website before launch — scoring visual polish, technical foundation, UX completeness, content quality, and cross-device readiness on 100 points. Use when: Pre-launch - Final validation before going live; Post-redesign - Verify nothing broke during the overhaul; Client…
google-ads-expert
Build profitable Google Ads campaigns by applying Perry Marshall's 80/20 principles to paid search optimization Use when: Setting up a new Google Ads account from scratch; Optimizing existing campaigns that are underperforming; Structuring campaigns for maximum quality score and ROI; Applying 80/20 thinking to…