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
Use it when you need to know which programs are approved or pending across the three ASPs and whether the catalog still matches reality.
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
CautionThe 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.
- •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.
Examples
アフィリ提携状況を ASP 横断で確認して、SID と口座 ID を添えてドリフトを報告してaffiliate-status --asp moshimo で もしも だけ提携状態を照合して、差分があれば教えて提携状態を確認して、実機で承認済みになっているものだけ --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 分かかることがある(
timeoutMs90 秒)
手順
npm run affiliate:statusを実行し、ブラウザが開いたらユーザーにログインを依頼する- 出力の SID / 口座 ID を確認する。報告には必ずこれを添える (「どのサイトのデータか」を示さない報告は信用できない)
- ドリフトが出たら、カタログが古いのか実機が変わったのかを判断する
- 実機が正(申請が承認された等)→
-- --writeで反映 - カタログの意図が正(誤って stats47 で提携した等)→ 実機を直す提案をする
- 実機が正(申請が承認された等)→
npm run check-affiliate-wiringで配線の穴(placement=activeなのに mat が無い等)も見る- 変更したらカタログを 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 filesThis 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.mdFrom 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 installationopenskills 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 syncManual 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.
PDF Reader
Productivity
Read and extract text from PDF files, including documents, reports, contracts, and spreadsheets. Works with local files, URLs, and WhatsApp attachments. Use whenever PDF content is needed, even if not explicitly requested.
Discord Messaging Workflows
Productivity
Use the message tool to send, edit, and moderate Discord messages with interactive components.
Interactive Verdict Preview
Productivity
Generate an interactive HTML preview of keep/drop verdicts for maintainer review, then process the pasted feedback JSON.