Agent skill

App

by adam-s in adam-s/intercept

Build a complete application from a short description. An agent skill from adam-s/intercept.

MITAuto-check passedWriting & Content

Install App

skills CLI
$ npx skills add adam-s/intercept --skill app -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install adam-s/intercept app --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/adam-s/intercept.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/app .claude/skills/app && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
app
GitHub stars
189
Token cost
~2.2k tokens
SKILL.md length
998 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Build a complete application from a short description. An agent skill from adam-s/intercept.

  • Works in 6 steps: Classify → Understand (interactive) → Explore & Confirm → …
  • The developer describes what they want to build in plain language — compare tickets
  • SKILL.md covers ⚠️💣 MANDATORY CONSENT CHECK…, Phase 0: Classify, Phase 1: Understand… and Phase 2: Explore & Confirm, plus 5 more sections
  • Calls curl and git

What it does

App is an agent skill from adam-s/intercept. Build a complete application from a short description. Asks the developer clarifying questions, generates data requirements, launches discovery agents, and builds a dashboard. Use when the developer describes what they want to build in plain language — "compare tickets", "track prices", "search jobs across sites".

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Writing & Content, covering Plain language and style rules and Requirements gathering. The repository describes itself as: Turn any website into a typed JSON API using self improving agents. The licence is MIT.

When your agent uses it

  • The developer describes what they want to build in plain language — compare tickets
  • Search jobs across sites

Example prompts

  • “compare tickets”
  • “track prices”
  • “search jobs across sites”
  • “/app”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Classify
  2. Understand (interactive)
  3. Explore & Confirm
  4. Build API
  5. Dashboard (full app only)
  6. Verify (full app only)

What it can do on your machine

Read from SKILL.md and the folder at commit 6451b89. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

App loads about 2.2k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 998 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from adam-s/intercept at commit 6451b89, republished under its MIT licence (© adam-s). 998 words, ~2,171 tokens.

Download SKILL.mdSave it as .claude/skills/app/SKILL.md (or your agent's skills folder).
name
app
description
Build a complete application from a short description. Asks the developer clarifying questions, generates data requirements, launches discovery agents, and builds a dashboard. Use when the developer describes what they want to build in plain language — "compare tickets", "track prices", "search jobs across sites".

App Builder

Check if .claude/user-consent.md exists with ACCEPTED: true. If yes, display: ✅ Prior consent on file (DATE). Proceeding. and skip to "Phase 0: Classify."

If not, present the 3 warnings from .claude/skills/instruction-tuning/SKILL.md (ToS, autonomous agents, resource consumption). All 3 must be accepted. Write .claude/user-consent.md on acceptance. This file is shared across all skills that access external websites.


Turn a plain-language description into a working application with domain plugins and dashboard UI.

The developer says WHAT. This skill figures out HOW — interactively.

Phase 0: Classify

Before anything else, determine what the developer needs:

Ask: Is this a full app (API + dashboard), or API only (domain plugin with routes, no frontend)?

  • API only: Phases 1-3 only. Deliver working proxy routes.
  • Full app: All 5 phases. API first, then dashboard.

Phase 1: Understand (interactive)

Have a conversation with the developer. Ask these questions — skip any already answered:

Type

App with dashboard, or API only?

Sites

Which website(s)? Can you give me a specific URL with the data you want? Example: "example.com — here's a page with 400+ listings: [url]"

A specific URL is 10x more valuable than a site name. It tells us the page structure, item count, and exactly where to look.

Data

What data do you need? Be specific about fields. Example: "ticket listings with section, row, seat, price" / "job postings with title, company, salary, location"

Completeness

All results (full pagination) or just the first page?

Matching (multi-site only)

How should I match the same entity across sites? Example: "by venue + date" / "by job title + company"

View (full app only)

What should the dashboard show? Example: "side-by-side price comparison" / "timeline" / "search with filters"

Route (full app only)

Dashboard URL path? (default: based on the domain name)

Do not proceed until the developer answers.

Phase 2: Explore & Confirm

For each site, explore it together with the developer before launching any build work.

2a. Connect browser and explore.

bash
./scripts/connect-browser.sh --profile <domain> --url <homepage> --port 3001

Navigate to the URLs the developer provided. Check traffic, count items, identify APIs.

2b. Report findings to the developer:

Here's what I found on [site]:

  • [N] traffic entries: [list key endpoints]
  • Page has [N] items with [pagination type]
  • Embedded data: [yes/no, what framework]
  • API endpoints: [list with response shapes]

Does this match what you expect? Anything I should look at more closely?

2c. Developer confirms or redirects. They might say "no, the ticket data loads when you click 'View Listings'" or "try searching for X instead." This saves the agent from guessing.

2d. Write the spec at prompts/.app-spec.md with everything learned:

markdown
# App Spec: [name]

## Type: [app / api-only]

## Sites
### site1.com
- Target URL: [specific URL developer provided]
- Transport: [what we found — embedded JSON, XHR, GraphQL, etc.]
- Key endpoints: [URLs with methods and response shapes]
- Auth: [public / needs cookies / needs API key]
- Pagination: [type and params]
- Fields needed: [from developer's answer]

## Matching (if multi-site)
[compound key and normalization]

## Dashboard (if full app)
Path: /[route]
Layout: [description]

Phase 3: Build API

Create a branch first:

bash
git checkout -b app/<name>

All app work happens on this branch. Main stays clean.

Follow .claude/rules/discovery.md for the full protocol, but with the advantage of knowing exactly what to look for from Phase 2.

3a. Build the domain plugin — routes, config, interceptor, index. Use the spec from 2d.

3b. Register and test every route through the API proxy:

bash
curl -s http://localhost:3001/api/<domain>/<route> | head -50

3c. Cache real data for dashboard development. Hit every route with representative inputs and save responses:

bash
mkdir -p tmp/cache/<domain>
# Search/list results
curl -s "http://localhost:3001/api/<domain>/search?q=example" > tmp/cache/<domain>/search.json
# Detail page
curl -s "http://localhost:3001/api/<domain>/detail/123" > tmp/cache/<domain>/detail-123.json
# Pagination page 2
curl -s "http://localhost:3001/api/<domain>/search?q=example&page=2" > tmp/cache/<domain>/search-page2.json
# Edge cases: empty results, single result, max results

Cache enough data to build every view in the dashboard without hitting the live API: list views, detail views, empty states, pagination, cross-site matching samples.

3d. Commit checkpoint. The working domain plugin + cached data is a safe checkpoint. If dashboard iterations go sideways, we never lose the API work.

bash
git add domains/<name>/ apps/api/src/register-domains.ts apps/api/package.json
git commit -m "feat: add <domain> domain plugin with <N> routes"

If API only: Done. Show the developer the route list and sample responses.

Show full SKILL.md (440 more words)Show less

Phase 4: Dashboard (full app only)

Build the dashboard UI against cached data. This decouples UI iteration from API reliability — no browser sessions, no rate limits, no WAF while tweaking CSS.

4a. Scaffold the page at apps/web/app/<route>/page.tsx.

4b. Wire up data fetching. Start with cached data to verify layout, then switch to live API calls.

4c. Iterate with the developer. Use visual-dev skill — screenshot after each change, show the developer, get feedback, fix, re-screenshot. Don't build blind.

4d. Use debug-logs skill when data isn't flowing: add targeted DEBUG logs at each layer (route handler → API fetch → response parse → component render), read output, fix, clean up.

4e. Handle multi-source merging if applicable — match entities across sites using the key from the spec, show source badges, highlight differences.

Phase 5: Verify (full app only)

Bottom-up validation using systematic-testing skill:

  1. Curl every API route — confirm real data
  2. Screenshot the dashboard: empty, loading, populated, error, mobile (375px)
  3. Walk the full user journey: search → results → detail → compare
  4. Test with 3 different inputs
  5. Show the developer screenshots and sample data

Only hand off when verified working on localhost:3000.

Python Bridge

The project includes a Python worker at services/python/ that can be called from route handlers or dashboard API routes. Use it for anything that's better in Python than TypeScript:

NLP & Text Analysis:

  • Sentiment analysis on reviews, news headlines, social posts (NLTK, TextBlob, transformers)
  • Named entity recognition — extract people, companies, locations from text
  • Text summarization — condense long descriptions or reviews
  • Keyword extraction — pull topics from listings or job postings

Data Science:

  • Fuzzy entity matching across sites (fuzzywuzzy, rapidfuzz, scikit-learn cosine similarity)
  • Statistical outlier detection — flag unusually priced listings
  • Clustering — group similar items (KMeans, DBSCAN on feature vectors)
  • Trend analysis — price changes over time, moving averages

Machine Learning:

  • Classification — categorize items, detect spam/duplicates
  • Regression — predict prices, estimate value scores
  • Feature engineering — normalize and compare across different site schemas

When to use the Python bridge:

  • The developer's spec mentions sentiment, scoring, matching, analysis, or ML
  • Cross-site entity deduplication (Python fuzzy matching >> JS string comparison)
  • Any computation where numpy/pandas/scikit-learn is the natural tool

How: Route handlers call the Python bridge via IPC. The bridge runs as a sidecar service. See services/python/ for the interface.

Rules

  • The developer's domain knowledge is the most valuable input. Ask for it. Don't guess.
  • Commit after Phase 3. The API is the foundation — protect it.
  • Cache real data. Dashboard iterations should never depend on a live browser session.
  • If a site requires browser session for some routes, say so in the spec. Don't hide limitations.
  • The spec file is temporary. The domain plugin, cached data, and dashboard are the product.

© adam-s, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/app of adam-s/intercept.

Open the folder on GitHubat commit 6451b89

Compare with similar skills

App next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

App compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
App this skilladam-s/intercept189—~2.2kAutomated safety check: PassMIT
Asd Ste100danyuchn/asd-ste100-skill4.2k—~4.1kAutomated safety check: PassMIT
Simple Issue Descriptionevery-app/open-seo23k1 repos~1.2kAutomated safety check: PassMIT
Ponytail AuditDietrichGebert/ponytail159k—~1.4kAutomated safety check: PassMIT
Technical Writing Standardcursor/plugins10k10 repos~2.4kAutomated safety check: PassNone
Natural Japanese Business Writingcoji/natural-japanese1.9k—~2.1kAutomated safety check: PassMIT

Similar skills

  • Asd Ste100

    danyuchn/asd-ste100-skill

    A skill your agent uses when English text must be parsed without a human to resolve ambiguity — tool descriptions, error messages, inter-agent instructions, system prompts, status reports — and…

    4.2k GitHub stars~4.1k tokensUpdated 5 days ago
    Writing & ContentAuto-check passed
  • Simple Issue Description

    every-app/open-seo

    Turn a rough bug report, feature request, support note, or pull request into a short, plain-language issue focused on the problem and desired behavior.

    23k GitHub starsUsed in 1 repo~1.2k tokens
    Writing & ContentAuto-check passed
  • Ponytail Audit

    DietrichGebert/ponytail

    Quality audit of a whole repo: bugs, security holes, what breaks under real load, risky code without tests, slow paths, and what to delete, merge or split.

    159k GitHub stars~1.4k tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Official

    Applies four layers of technical-writing rules to docs, RFCs, readmes, PR descriptions and commit messages so a tired engineer follows them on the first read.

    10k GitHub starsUsed in 10 repos~2.4k tokens
    Writing & ContentAuto-check passed
  • Writes and edits Japanese business documents so they read clearly and naturally, removes AI-sounding phrasing and can score how AI-like a text reads.

    1.9k GitHub stars~2.1k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Pgjev

    realZachi/pg-jev

    Install, configure, query and explain pgjev (the jev PostgreSQL extension that filters, ranks and classifies rows with plain-language conditions via TypeSafe's Jev model).

    1.1k GitHub stars~2.9k tokensUpdated 3 days ago
    Writing & ContentAuto-check passed

More from adam-s/intercept

All 10 skills in this repo
  • API Discovery

    adam-s/intercept

    Discover any website's API and create domain plugins with proxy routes.

    189 GitHub stars~621 tokensUpdated 2 mo ago
    Auto-check passed
  • Debug Logs

    adam-s/intercept

    Iterative debugging with targeted logs. An agent skill from adam-s/intercept.

    189 GitHub stars~1.1k tokensUpdated 2 mo ago
    Auto-check passed
  • Use sub-agents to iteratively improve dashboard-building instructions.

    189 GitHub stars~4.3k tokensUpdated 2 mo ago
    Auto-check passed
  • Instruction Tuning

    adam-s/intercept

    Use sub-agents as test subjects to iteratively improve .claude/ instruction files.

    189 GitHub stars~4.6k tokensUpdated 2 mo ago
    Auto-check passed
  • Systematic Testing

    adam-s/intercept

    Bottom-up systematic validation for multi-layer architectures.

    189 GitHub stars~1.4k tokensUpdated 2 mo ago
    Auto-check passed
  • Ec2 Deploy

    adam-s/intercept

    Deploy to EC2 production server. An agent skill from adam-s/intercept.

    189 GitHub stars~1.9k tokensUpdated 2 mo ago
    Auto-check: warnings

Questions about App

What does App do?

Build a complete application from a short description. An agent skill from adam-s/intercept. App is an agent skill from adam-s/intercept. Build a complete application from a short description.

When should I use App?

App fits situations like: the developer describes what they want to build in plain language — compare tickets; search jobs across sites.

How do I install App in Claude Code?

Run `npx skills add adam-s/intercept --skill app -a claude-code`. Or copy the skill folder (.claude/skills/app in adam-s/intercept) into .claude/skills/app in your project. Claude Code loads it when a task matches its description.

How do I install App in Codex?

Run `npx skills add adam-s/intercept --skill app -a codex`. Or copy the skill folder (.claude/skills/app in adam-s/intercept) into .agents/skills/app in your project. Codex loads it when a task matches its description.

Can I use App in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add adam-s/intercept --skill app -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/app, .gemini/skills/app, .github/skills/app and .opencode/skills/app in your project.

What does App need to run?

Going by SKILL.md and its folder, App needs the command-line tools its instructions call (curl and git). Our summary lists: Python 3.

Does App access the network?

SKILL.md contains no URLs. Its commands use curl and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is App safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does App use?

App is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does App use?

About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to App?

Skills that share tags, products or a category with App: Asd Ste100 (danyuchn/asd-ste100-skill, 4.2k stars), Simple Issue Description (every-app/open-seo, 23k stars), Ponytail Audit (DietrichGebert/ponytail, 159k stars) and Technical Writing Standard (cursor/plugins, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains App?

adam-s (a GitHub user) maintains it in adam-s/intercept, which has 189 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on July 31, 2026.

Source: adam-s/intercept on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.