Skip to main content

Open-source marketing skills that run on any model.

Project description

brand-loom

Open-source marketing skills that run on any model — with a hosted brand-memory engine. No coding agent required.

License PyPI CI

brand-loom is a small library of commodity marketing skills — hooks, captions, hashtags, content repurposing, SEO outlines, FAQs, schema.org markup, CTAs — that run on any LLM (OpenAI, Anthropic, Gemini, or a local model via Ollama). Bring your own key. No coding agent, no vendor lock-in.

Want it on-brand and multi-platform automatically — without writing prompts? That's the hosted engine at neoxra.com (auto voice extraction, multi-platform orchestration, Brand Kit). brand-loom is the open core; Neoxra hosts the rest.

Why brand-loom

  • Model-agnostic. One interface, four providers, BYOK. Swap models with one env var.
  • No coding agent required. Plain Python — not coupled to Claude Code / Cursor / OpenClaw.
  • Brand-aware seam. Every skill accepts an optional brand_context. Ship a basic default here; get automatic, extracted brand voice on hosted Neoxra.

Quickstart (60 seconds, no API key)

pip install brand-loom
from brand_loom.providers import use_provider
from brand_loom.skills.hook import HookSkill

use_provider("fake")              # runs with zero keys; swap for "openai"/"anthropic"/"gemini"/"ollama"
skill = HookSkill()
print(skill.run_topic("How we cut cloud costs 40%"))

Real provider (BYOK):

pip install "brand-loom[openai]"
export OPENAI_API_KEY=sk-...
export BRANDLOOM_PROVIDER=openai

Run it as an agent (no coding agent required):

brand-loom run hook --text "How we cut cloud costs 40%"
brand-loom chain hook,caption --text "How we cut cloud costs 40%" --brand brand.json

A thin, linear runner — one skill or a simple chain, on any model. Sophisticated multi-platform orchestration (voice-matched, Planner→Critic, auto fan-out) lives in hosted Neoxra.

Agent chain (Python API):

from brand_loom.agent import run_chain, run_skill
from brand_loom.providers import use_provider

use_provider("fake")  # or "openai", "anthropic", "gemini", "ollama"

# Single skill
result = run_skill("hook", "How we cut cloud costs 40%")
print(result.text)

# Chain: hook → caption
result = run_chain(["hook", "caption"], "How we cut cloud costs 40%")
print(result.text)

# With brand context
result = run_skill("hook", "AI marketing", brand_context={
    "tone": ["bold", "witty"],
    "audience": "startup founders",
})
print(result.text)

Skills (v0.1)

Skill What it does
hook Headline / hook options for a topic
caption Platform caption from a topic + brand_context
hashtags Relevant, deduped hashtag set
repurpose long→short, article→thread, article→carousel copy
seo_outline 4–8 section SEO article outline (locale-parametric)
faq 3–6 Q&A pairs from a body of text
schema_org FAQPage / Article / Breadcrumb JSON-LD (no LLM)
cta Call-to-action variants for a goal

Providers

Provider Extra Env
OpenAI brand-loom[openai] OPENAI_API_KEY
Anthropic brand-loom[anthropic] ANTHROPIC_API_KEY
Gemini brand-loom[gemini] GEMINI_API_KEY
Ollama (local) built-in (HTTP) OLLAMA_HOST
Fake (tests/demo) built-in

The brand_context seam

Skills accept an optional brand_context dict (tone, audience, do_phrases, avoid_phrases). brand-loom ships an empty/basic default. Automatic voice extraction from your existing content, multi-platform fan-out, and a no-code UI live in hosted Neoxra — see HOSTED.md.

Contributing

PRs welcome — read CONTRIBUTING.md, SCOPE.md, and sign the CLA. In scope: single-shot commodity skills. Out of scope: voice engine, orchestration, tuned scorers, analytics/publish integrations (these live in the hosted product).

License

Apache-2.0. Hosted by Neoxra · a Meridian Global product.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brand_loom-0.1.0.tar.gz (32.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brand_loom-0.1.0-py3-none-any.whl (30.3 kB view details)

Uploaded Python 3

File details

Details for the file brand_loom-0.1.0.tar.gz.

File metadata

  • Download URL: brand_loom-0.1.0.tar.gz
  • Upload date:
  • Size: 32.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for brand_loom-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3d7e6b7a8268cae87ab6755d5a3f7657f487c5f4b4c7a5adcfdf0bf19971610b
MD5 8aae81e75ae4c20ea7aedce07fb210dc
BLAKE2b-256 e2f9a6bce68174f414fbfed3da7489e4162124b5dc09d89e3575535fbbc2176a

See more details on using hashes here.

Provenance

The following attestation bundles were made for brand_loom-0.1.0.tar.gz:

Publisher: publish.yml on hogan-tech/brand-loom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file brand_loom-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: brand_loom-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 30.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for brand_loom-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 760d8292a43406cd4a27afd73c8eda2966493df04867537a499dcd79d7b1a708
MD5 5b10998c36827cfb594a7d63ca26dc45
BLAKE2b-256 d400142ae9699957f7f12d4551eaf95ca1f38c0b000db327e3c2cf2f87df4f48

See more details on using hashes here.

Provenance

The following attestation bundles were made for brand_loom-0.1.0-py3-none-any.whl:

Publisher: publish.yml on hogan-tech/brand-loom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page