Affiliate ASP Status Reconciliation

VerifiedCaution

Read-only reconciliation of A8, もしも, and afb affiliate statuses against the catalog, reporting drift while distinguishing “not affiliated” from “unknown”.

Sby Skills Guide Bot
ProductivityAdvanced
10/21/2026
Claude Code
#affiliate-tracking#drift-detection#browser-automation#read-only-audit#local-only

Recommended for

Automated summary

Reconciles affiliate partnership status across three Japanese ASPs (A8, もしも, afb) against a local catalog and reports drift, read-only by default.

Strengths

  • Explicitly separates "not affiliated" (none) from "could not verify" (unknown), preventing false negative reports
  • Asserts site and account attribution (SID / account ID) before reading and halts on any mismatch
  • Read-only by default; the catalog is only updated with the explicit --write flag
  • Also surfaces internal wiring gaps through a dedicated wiring-check command

Limitations

  • Local execution only: requires a pre-authenticated browser profile and will not run in CI
  • Login stays manual (afb cannot carry a session across processes, cannot run headless, and may take 1–1.5 minutes per page)
  • Covers only three ASPs and neither submits applications nor changes settings on the ASP side
When to use it

Use it when you need to know which programs are approved or pending across the three ASPs and whether the catalog still matches reality.

When not to use it

Do not use it to apply for new programs or change settings (that is /affiliate-apply), or for unattended automated runs without a human login.

Security analysis

Caution
Quality score82/100

The skill is read-only by default and explicitly avoids handling credentials, delegating login to the human and stopping on site-attribution mismatch. Its risk surface is ordinary local shell execution plus browser automation against affiliate back offices, with an opt-in write path that edits a local catalog file. No destructive, exfiltrating, or obfuscated behavior is present, but the shell/browser execution and the write flag justify a caution rather than safe rating.

Findings
  • •Skill directs the agent to execute local npm scripts (`npm run affiliate:status`, `npm run check-affiliate-wiring`) which invoke browser automation against logged-in ASP accounts; no allowed-tools declared, so shell/browser execution is not explicitly scoped.
  • •`--write` flag mutates `data/affiliate/catalog.json` (catalog update), which is a state-changing action though gated behind an explicit opt-in flag and documented as default-off.
  • •Handles affiliate account/site identifiers (SID, 口座 ID, site IDs) in output; no credential handling is delegated to the script, and login is left to the human, which limits exposure.
  • •Site-attribution assertion is treated as a hard stop with instructions not to bypass it — a positive safety control, not a finding.
  • •Delegates the actual work to unseen npm scripts (`npm run affiliate:status`, `npm run check-affiliate-wiring`) whose behavior cannot be verified from this file; a reviewer should confirm those scripts are also read-only/local-only as described.
  • •`--write` mode mutates the catalog and the workflow instructs a git commit, but changes are limited to a local JSON catalog — no destructive or outbound actions.
  • •Requires a logged-in local browser profile; the skill explicitly states credentials are entered by a human, so no secret handling occurs in the instructions themselves.
How this analysis is made

Examples

Cross-ASP status check
アフィリ提携状況を ASP 横断で確認して、SID と口座 ID を添えてドリフトを報告して
Single-ASP recheck
affiliate-status --asp moshimo で もしも だけ提携状態を照合して、差分があれば教えて
Apply confirmed approvals
提携状態を確認して、実機で承認済みになっているものだけ --write でカタログに反映して

name: affiliate-status description: > A8 / もしも / afb の 3 ASP の提携状態を実機と突合し、カタログとのドリフトを報告する(read-only)。 申請も設定変更もしない(申請は /affiliate-apply)。 3 ASP すべてで doboku-note と stats47 が同一口座に同居し既定は stats47 側のため、 サイト帰属 assert(不一致は例外で停止)を通してから読む。 Use when user says "アフィリ提携状況", "提携状態を確認", "ASP 横断で確認", "affiliate-status". 取得できなかった ASP を「提携なし」と報告しないこと(unknown として区別する)。 disable-model-invocation: true argument-hint: "[--asp a8|moshimo|afb] [--write]" domain: affiliate

[!important] 「提携なし」と「確認できなかった」は別 ログイン失敗・回線タイムアウト・サイト帰属 NG で取得できなかった ASP は 判定不能として報告する。status: none(未提携と確認した)と unknown(調べていない)は カタログの語彙として分かれているので、埋めるときにこの区別を潰さない。

何をするか

data/affiliate/catalog.json(自社がどの案件をどの ASP で運用するか)を 各 ASP の提携中/申請中一覧と突合し、ドリフトを出す。

npm run affiliate:status

| オプション | 意味 | |---|---| | -- --asp moshimo | 1 ASP だけ照合(afb は毎回ログインが要るので分けたいとき) | | -- --write | 実機の値でカタログを更新(既定は read-only で報告のみ) |

前提

  • ローカル実行のみ(ログイン済みプロファイルが要る)。CI では動かない
  • ログインは人間。スクリプトは待つだけで認証情報を扱わない
  • afb はセッションを別プロセスに持ち越せないため毎回ログインが要る。かつ headless 不可・ 1 ページ 1〜1.5 分かかることがある(timeoutMs 90 秒)

手順

  1. npm run affiliate:status を実行し、ブラウザが開いたらユーザーにログインを依頼する
  2. 出力の SID / 口座 ID を確認する。報告には必ずこれを添える (「どのサイトのデータか」を示さない報告は信用できない)
  3. ドリフトが出たら、カタログが古いのか実機が変わったのかを判断する
    • 実機が正(申請が承認された等)→ -- --write で反映
    • カタログの意図が正(誤って stats47 で提携した等)→ 実機を直す提案をする
  4. npm run check-affiliate-wiring で配線の穴(placement=active なのに mat が無い等)も見る
  5. 変更したらカタログを commit する

出力の読み方

取得できなかった ASP(判定不能・「提携なし」ではない):
  - afb: サイト帰属 NG: サイト ID 不一致: 期待 984453 / 実際 959426
ドリフト 1 件:
  - kensetsu-career-plus / moshimo: カタログ "applying" ↔ 実機 "approved"(id=5665)

サイト帰属 NG が出たらそれは成功の一種(stats47 のデータを読む前に止まった)。 迂回せず、切替が効かない原因を調べる。

関連

  • 運用 SSOT: .claude/knowledge/reference/affiliate-operations.md
  • 申請: /affiliate-apply
  • A8 の成果取込: /a8-report / A8 の案件開拓: /scout-asp(守備範囲が直交)

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/affiliate-asp-status-reconciliation-mvhm5lh1/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/affiliate-asp-status-reconciliation-mvhm5lh1' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/affiliate-asp-status-reconciliation-mvhm5lh1/download' --output '.skill-downloads/affiliate-asp-status-reconciliation-mvhm5lh1/SKILL.md.part' && mv '.skill-downloads/affiliate-asp-status-reconciliation-mvhm5lh1/SKILL.md.part' '.skill-downloads/affiliate-asp-status-reconciliation-mvhm5lh1/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/affiliate-asp-status-reconciliation-mvhm5lh1/SKILL.md' && test -s '.skill-downloads/affiliate-asp-status-reconciliation-mvhm5lh1/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/affiliate-status' && cp -R '.skill-downloads/affiliate-asp-status-reconciliation-mvhm5lh1' '.claude/skills/affiliate-status'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/affiliate-asp-status-reconciliation-mvhm5lh1'

openskills read 'affiliate-asp-status-reconciliation-mvhm5lh1'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/affiliate-asp-status-reconciliation-mvhm5lh1/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills