Skillshub appfolio-upgrade-migration
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/jeremylongshore/claude-code-plugins-plus-skills/appfolio-upgrade-migration" ~/.claude/skills/comeonoliver-skillshub-appfolio-upgrade-migration && rm -rf "$T"
manifest:
skills/jeremylongshore/claude-code-plugins-plus-skills/appfolio-upgrade-migration/SKILL.mdsource content
appfolio upgrade migration | sed 's/\b(.)/\u\1/g'
API Version Migration
// Adapter pattern for API version changes class AppFolioVersionAdapter { private version: "v1" | "v2"; private client: any; constructor(version: "v1" | "v2" = "v1") { this.version = version; } async getProperties(): Promise<any[]> { if (this.version === "v2") { // v2 may return paginated results return this.paginatedGet("/properties"); } return (await this.client.get("/properties")).data; } private async paginatedGet(path: string): Promise<any[]> { const results: any[] = []; let cursor: string | null = null; do { const { data } = await this.client.get(path, { params: { cursor } }); results.push(...data.results); cursor = data.next_cursor; } while (cursor); return results; } }